magneto903

graph benchmark

Jan 23rd, 2021 (edited)
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 107.93 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title></title>
  5. </head>
  6. <body>
  7. <script type="text/javascript">
  8.     var graph = {
  9. 40: {41: 105.16330203209385, 49: 35.95854287280075, 91: 365.41610033805244},
  10. 41: {40: 105.16330203209385, 42: 52.89007014380016, 96: 284.90007530099},
  11. 42: {41: 52.89007014380016, 43: 49.86819899505683, 86: 357.4019834882249, 161: 291.8128348465009, 2551: 291.8207238893861, 8177: 125.51245953452907},
  12. 43: {42: 49.86819899505683, 44: 79.18079075547753, 69: 773.7300245357471, 137: 463.41237148188674, 168: 236.50394195087094, 184: 518.4807809544371, player: 424.2989071724448},
  13. 44: {43: 79.18079075547753, 45: 90.83360606053981, 90: 259.8407665207612, 95: 279.411144869276, 190: 246.32285632446946, 194: 224.5772017876507, 8177: 93.88798917266715},
  14. 45: {44: 90.83360606053981, 46: 40.2601818009928},
  15. 46: {45: 40.2601818009928, 47: 80.31837977090295, 160: 341.52947036128677, 167: 282.7221748698908},
  16. 47: {46: 80.31837977090295, 48: 45.378520844445866, 113: 84.10938294083888, 137: 513.6122449619479, 194: 309.30390726060676},
  17. 48: {47: 45.378520844445866, 49: 42.01982543140207},
  18. 49: {40: 35.95854287280075, 48: 42.01982543140207, 115: 80.73588919181459, 199: 382.4252940520127, 2551: 245.95308452576458, player: 356.16663709256125},
  19. 53: {54: 69.82905046610144},
  20. 54: {53: 69.82905046610144, 55: 36.89122723725341, 64: 672.2998601462713, db2: 445.06616939812926, db3: 1158.5442884850133},
  21. 55: {54: 36.89122723725341, 56: 25.28985792675144},
  22. 56: {55: 25.28985792675144},
  23. 60: {61: 35.416497801167246, 69: 33.91097748061123},
  24. 61: {60: 35.416497801167246, 79: 182.83357107127233},
  25. 64: {54: 672.2998601462713, db3: 486.7536481150631},
  26. 69: {43: 773.7300245357471, 60: 33.91097748061123, 134: 381.86594263303124, 138: 373.17392477929263, 168: 547.4030201239677, 184: 255.73717566383445, 8177: 729.9618210601787},
  27. 70: {79: 61.87457805450789},
  28. 73: {74: 27.53156245061905},
  29. 74: {73: 27.53156245061905, 75: 60.42930213144073, 214: 157.5379813237738},
  30. 75: {74: 60.42930213144073, 76: 23.04449141268447, 211: 130.4532561303535},
  31. 76: {75: 23.04449141268447, 77: 33.32706145836687, 145: 338.17803666210386},
  32. 77: {76: 33.32706145836687, 78: 44.436786980587094, 140: 369.8417462894574, 227: 370.64854634825195},
  33. 78: {77: 44.436786980587094, 79: 95.67987146765796},
  34. 79: {61: 182.83357107127233, 70: 61.87457805450789, 78: 95.67987146765796, 134: 458.3837359394246, 144: 164.08339248404633, 184: 285.80953218952124, 189: 378.9327568459244, 199: 522.8087714711911, 214: 247.458530942144, 219: 221.26599171060894, 222: 328.8566975982385},
  35. 80: {81: 31.99091133666505, 89: 47.37309491054031},
  36. 81: {80: 31.99091133666505, 82: 18.482125019131523, 92: 186.10076385620917},
  37. 82: {81: 18.482125019131523},
  38. 85: {86: 38.30910387902856, 160: 140.58712091180325, 8177: 277.7985746888594},
  39. 86: {42: 357.4019834882249, 85: 38.30910387902856, 87: 34.17590192185435, 98: 253.9010464199508},
  40. 87: {86: 34.17590192185435, 88: 31.717045454318647},
  41. 88: {87: 31.717045454318647, 89: 46.505807395662835},
  42. 89: {80: 47.37309491054031, 88: 46.505807395662835, 94: 11.77035161957156, 95: 38.52418784028625, 164: 238.16603610755064, 169: 246.42327116515582, 190: 548.4405778257062},
  43. 90: {44: 259.8407665207612, 91: 80.6040051899815, 99: 63.414851389705724},
  44. 91: {40: 365.41610033805244, 90: 80.6040051899815, 92: 129.31862590221718, 2551: 340.02623533449474, player: 350.04622145258276},
  45. 92: {81: 186.10076385620917, 91: 129.31862590221718, 93: 17.014794638367174},
  46. 93: {92: 17.014794638367174, 94: 107.81212095323181},
  47. 94: {89: 11.77035161957156, 93: 107.81212095323181, 95: 48.81440169056348, 169: 257.5421204372971, 190: 559.0816703975345},
  48. 95: {44: 279.411144869276, 89: 38.52418784028625, 94: 48.81440169056348, 96: 51.965228022387045, 8177: 188.1610655675721},
  49. 96: {41: 284.90007530099, 95: 51.965228022387045, 97: 42.493801157402245},
  50. 97: {96: 42.493801157402245, 98: 76.51874618264816},
  51. 98: {86: 253.9010464199508, 97: 76.51874618264816, 99: 50.256920854111094, 162: 254.03531208114921, 2551: 369.4527333309115, player: 430.38030020191263},
  52. 99: {90: 63.414851389705724, 98: 50.256920854111094, 168: 309.41194345952965, 184: 606.1752354860017, 194: 412.59609038621943, 8177: 128.39521986850684},
  53. 105: {106: 40.502652460422986, rb3: 596.3768944663615, rb4: 218.56615168137122},
  54. 106: {105: 40.502652460422986},
  55. 112: {113: 56.890826754690984},
  56. 113: {47: 84.10938294083888, 112: 56.890826754690984, 114: 44.971521845365736, 199: 377.72278954722674, 2551: 250.82487360351706},
  57. 114: {113: 44.971521845365736, 115: 30.39941919684934, player: 406.2603301787468},
  58. 115: {49: 80.73588919181459, 114: 30.39941919684934},
  59. 121: {122: 26.4764307012406, 180: 333.4919506962407, 197: 224.11574141326125},
  60. 122: {121: 26.4764307012406, 123: 85.09854045024798},
  61. 123: {122: 85.09854045024798, 124: 66.06615282686656, 188: 240.1895168095516, 222: 145.98976289724948},
  62. 124: {123: 66.06615282686656, 125: 68.9626658726196, 154: 285.63443323423286, 197: 81.28243262604742, 199: 120.03368992094568, 200: 521.1161335753012, 220: 132.9232424883914, 235: 502.7356682290173},
  63. 125: {124: 68.9626658726196, 126: 38.943242837290754},
  64. 126: {125: 38.943242837290754, 127: 33.163731118050336, 130: 488.36987469432336},
  65. 127: {126: 33.163731118050336, 128: 33.404198741679295, 189: 190.281661870841, 222: 179.82995490915707},
  66. 128: {127: 33.404198741679295},
  67. 130: {126: 488.36987469432336, 131: 39.32473302511219, 139: 61.03461545929612, 165: 81.30716116326501, 189: 331.8650824133968, 197: 301.74331187036734},
  68. 131: {130: 39.32473302511219, 132: 55.42370986351895},
  69. 132: {131: 55.42370986351895, 133: 79.69349323544078, 166: 67.3763049187362, 192: 318.54092414747043},
  70. 133: {132: 79.69349323544078, 134: 20.88052479596501},
  71. 134: {69: 381.86594263303124, 79: 458.3837359394246, 133: 20.88052479596501, 135: 35.59118973162082, 144: 610.3090410067813, 164: 180.61814056298095},
  72. 135: {134: 35.59118973162082, 136: 56.51867994261978, 185: 235.8916661215193},
  73. 136: {135: 56.51867994261978, 137: 63.301411556559216},
  74. 137: {43: 463.41237148188674, 47: 513.6122449619479, 136: 63.301411556559216, 138: 59.07343205194048, 180: 152.16660903789744, 193: 237.50078461204208},
  75. 138: {69: 373.17392477929263, 137: 59.07343205194048, 139: 36.593864364824086, 168: 174.26360890820277, 8177: 356.93660108485227},
  76. 139: {130: 61.03461545929612, 138: 36.593864364824086, 184: 163.52947726263545},
  77. 140: {77: 369.8417462894574, 141: 31.783831070674122, 149: 57.19080386036463, 157: 220.27163225083572},
  78. 141: {140: 31.783831070674122, 142: 43.52217897680467, 212: 355.7027373052974},
  79. 142: {141: 43.52217897680467, 143: 34.47915609273915, 153: 278.68421664307084, 219: 283.8179725289804},
  80. 143: {142: 34.47915609273915, 144: 63.30212258982895, 227: 121.85680795083613},
  81. 144: {79: 164.08339248404633, 134: 610.3090410067813, 143: 63.30212258982895, 145: 67.32562350561739, 185: 345.0079147553116, 223: 302.3593097992749},
  82. 145: {76: 338.17803666210386, 144: 67.32562350561739, 146: 40.002337310940405, 212: 308.5458007129418},
  83. 146: {145: 40.002337310940405, 147: 36.28002732885, 202: 114.02554819729143},
  84. 147: {146: 36.28002732885, 148: 38.80539895882165, 153: 272.4710445691966, 157: 236.17539343646496, 218: 360.2303518497902},
  85. 148: {147: 38.80539895882165, 149: 60.76422605278673},
  86. 149: {140: 57.19080386036463, 148: 60.76422605278673, 200: 219.7939434026094, 204: 201.55625431985254, 220: 185.04192904393753, 227: 77.76324371726739, 236: 258.1247404032064},
  87. 152: {153: 41.337936179115474, 227: 235.2074162235845},
  88. 153: {142: 278.68421664307084, 147: 272.4710445691966, 152: 41.337936179115474, 154: 77.56097298280768, 204: 368.14569546270917},
  89. 154: {124: 285.63443323423286, 153: 77.56097298280768, 155: 27.839694542272085, 209: 301.28170224107254, 221: 215.4335728798769, 235: 224.64469994242543},
  90. 155: {154: 27.839694542272085, 156: 18.982764068571615},
  91. 156: {155: 18.982764068571615, 157: 31.11961929802304},
  92. 157: {140: 220.27163225083572, 147: 236.17539343646496, 156: 31.11961929802304, 227: 228.18741588038438},
  93. 160: {46: 341.52947036128677, 85: 140.58712091180325, 161: 28.441599735803532, 169: 114.85066605391305, 8177: 140.33409704584713},
  94. 161: {42: 291.8128348465009, 160: 28.441599735803532, 162: 54.20012357975497},
  95. 162: {98: 254.03531208114921, 161: 54.20012357975497, 163: 41.3888146146421, 2551: 623.0399505311785},
  96. 163: {162: 41.3888146146421, 164: 40.25097587062904},
  97. 164: {89: 238.16603610755064, 134: 180.61814056298095, 163: 40.25097587062904, 165: 83.71679912082705},
  98. 165: {130: 81.30716116326501, 164: 83.71679912082705, 166: 47.13231992458931, 192: 301.51054155761403},
  99. 166: {132: 67.3763049187362, 165: 47.13231992458931, 167: 75.31708435243745},
  100. 167: {46: 282.7221748698908, 166: 75.31708435243745, 168: 22.06889237237542},
  101. 168: {43: 236.50394195087094, 69: 547.4030201239677, 99: 309.41194345952965, 138: 174.26360890820277, 167: 22.06889237237542, 169: 90.40807626927251, 8177: 182.71805709047803, player: 660.6320632458752},
  102. 169: {89: 246.42327116515582, 94: 257.5421204372971, 160: 114.85066605391305, 168: 90.40807626927251, 184: 387.60114332631235, 190: 304.43314188813645, 195: 246.22489560536593},
  103. 170: {},
  104. 171: {172: 39.00259005444423},
  105. 172: {171: 39.00259005444423, 173: 48.86649972594193},
  106. 173: {172: 48.86649972594193},
  107. 180: {121: 333.4919506962407, 137: 152.16660903789744, 181: 63.64776392942703, 189: 125.33020981473317, 197: 109.40475344201299},
  108. 181: {180: 63.64776392942703, 182: 24.718866358798138},
  109. 182: {181: 24.718866358798138, 183: 25.690918406222263},
  110. 183: {182: 25.690918406222263, 184: 38.751130184418095, 194: 197.83059642108458},
  111. 184: {43: 518.4807809544371, 69: 255.73717566383445, 79: 285.80953218952124, 99: 606.1752354860017, 139: 163.52947726263545, 169: 387.60114332631235, 183: 38.751130184418095, 185: 75.66100127301493, 8177: 478.2815951431},
  112. 185: {135: 235.8916661215193, 144: 345.0079147553116, 184: 75.66100127301493, 186: 49.6133887921204, 222: 218.04266558629692, 227: 305.5005550532781},
  113. 186: {185: 49.6133887921204, 187: 24.25053431206494},
  114. 187: {186: 24.25053431206494, 188: 42.8234357875276},
  115. 188: {123: 240.1895168095516, 187: 42.8234357875276, 189: 130.48152567212878},
  116. 189: {79: 378.9327568459244, 127: 190.281661870841, 130: 331.8650824133968, 180: 125.33020981473317, 188: 130.48152567212878, 195: 165.9262268374238, 199: 146.07459191521332, 219: 585.593015592556, 221: 105.54771303483847, 223: 128.16875394348722},
  117. 190: {44: 246.32285632446946, 89: 548.4405778257062, 94: 559.0816703975345, 169: 304.43314188813645, 191: 70.61802588549347, 199: 104.88079811045276, 8177: 337.2985237275377},
  118. 191: {190: 70.61802588549347, 192: 32.272029619118605},
  119. 192: {132: 318.54092414747043, 165: 301.51054155761403, 191: 32.272029619118605, 193: 41.35537604492597},
  120. 193: {137: 237.50078461204208, 192: 41.35537604492597, 194: 30.816119644011263},
  121. 194: {44: 224.5772017876507, 47: 309.30390726060676, 99: 412.59609038621943, 183: 197.83059642108458, 193: 30.816119644011263, 195: 31.40869971024647},
  122. 195: {169: 246.22489560536593, 189: 165.9262268374238, 194: 31.40869971024647, 196: 19.435562823007153, 8177: 318.945172309603},
  123. 196: {195: 19.435562823007153, 197: 107.1506698368598, 221: 251.92623057012156},
  124. 197: {121: 224.11574141326125, 124: 81.28243262604742, 130: 301.74331187036734, 180: 109.40475344201299, 196: 107.1506698368598, 198: 71.94959459518995},
  125. 198: {197: 71.94959459518995, 199: 53.21176924210634},
  126. 199: {49: 382.4252940520127, 79: 522.8087714711911, 113: 377.72278954722674, 124: 120.03368992094568, 189: 146.07459191521332, 190: 104.88079811045276, 198: 53.21176924210634, 222: 194.01671571159096},
  127. 200: {124: 521.1161335753012, 149: 219.7939434026094, 201: 51.59820366487804, 209: 57.03687052650553, 221: 446.669384670336},
  128. 201: {200: 51.59820366487804, 202: 82.8626939527005, 236: 90.37098960545049},
  129. 202: {146: 114.02554819729143, 201: 82.8626939527005, 203: 39.40638069110732, 218: 436.407907889379, 231: 137.42350047638314},
  130. 203: {202: 39.40638069110732, 204: 104.89480626042655},
  131. 204: {149: 201.55625431985254, 153: 368.14569546270917, 203: 104.89480626042655, 205: 63.30193294445094},
  132. 205: {204: 63.30193294445094},
  133. 209: {154: 301.28170224107254, 200: 57.03687052650553, 234: 116.05438254004737},
  134. 210: {211: 42.30165572597134, 219: 32.15172511880403},
  135. 211: {75: 130.4532561303535, 210: 42.30165572597134, 212: 60.0281194646555},
  136. 212: {141: 355.7027373052974, 145: 308.5458007129418, 211: 60.0281194646555, 213: 33.82825518940869, 227: 391.86061913738223},
  137. 213: {212: 33.82825518940869, 214: 42.54090537631494},
  138. 214: {74: 157.5379813237738, 79: 247.458530942144, 213: 42.54090537631494, 215: 49.888093699309934},
  139. 215: {214: 49.888093699309934, 216: 39.851515082343695},
  140. 216: {215: 39.851515082343695},
  141. 217: {218: 26.231546762251014},
  142. 218: {147: 360.2303518497902, 202: 436.407907889379, 217: 26.231546762251014, 219: 42.97667404536861},
  143. 219: {79: 221.26599171060894, 142: 283.8179725289804, 189: 585.593015592556, 210: 32.15172511880403, 218: 42.97667404536861, 222: 531.8522323663475, 227: 370.9990665742771},
  144. 220: {124: 132.9232424883914, 149: 185.04192904393753, 221: 57.38276622492863, 229: 24.18216024283879},
  145. 221: {154: 215.4335728798769, 189: 105.54771303483847, 196: 251.92623057012156, 200: 446.669384670336, 220: 57.38276622492863, 222: 81.23467948862621, 235: 428.52683452051633},
  146. 222: {79: 328.8566975982385, 123: 145.98976289724948, 127: 179.82995490915707, 185: 218.04266558629692, 199: 194.01671571159096, 219: 531.8522323663475, 221: 81.23467948862621, 223: 72.57090855008987},
  147. 223: {144: 302.3593097992749, 189: 128.16875394348722, 222: 72.57090855008987, 224: 61.0132077739784},
  148. 224: {223: 61.0132077739784, 225: 7.838317856740105},
  149. 225: {224: 7.838317856740105, 226: 30.448702787148285},
  150. 226: {225: 30.448702787148285, 227: 74.25253401337827},
  151. 227: {77: 370.64854634825195, 143: 121.85680795083613, 149: 77.76324371726739, 152: 235.2074162235845, 157: 228.18741588038438, 185: 305.5005550532781, 212: 391.86061913738223, 219: 370.9990665742771, 226: 74.25253401337827, 228: 59.677880235700854},
  152. 228: {227: 59.677880235700854, 229: 67.53231487179364},
  153. 229: {220: 24.18216024283879, 228: 67.53231487179364},
  154. 231: {202: 137.42350047638314, 232: 24.017731260242194},
  155. 232: {231: 24.017731260242194, 233: 14.363781980044742},
  156. 233: {232: 14.363781980044742, 234: 24.44948246300028},
  157. 234: {209: 116.05438254004737, 233: 24.44948246300028, 235: 39.324747502659484},
  158. 235: {124: 502.7356682290173, 154: 224.64469994242543, 221: 428.52683452051633, 234: 39.324747502659484, 236: 53.46540106587038},
  159. 236: {149: 258.1247404032064, 201: 90.37098960545049, 235: 53.46540106587038},
  160. 2551: {42: 291.8207238893861, 49: 245.95308452576458, 91: 340.02623533449474, 98: 369.4527333309115, 113: 250.82487360351706, 162: 623.0399505311785, 8177: 413.30376238306854},
  161. 8177: {42: 125.51245953452907, 44: 93.88798917266715, 69: 729.9618210601787, 85: 277.7985746888594, 95: 188.1610655675721, 99: 128.39521986850684, 138: 356.93660108485227, 160: 140.33409704584713, 168: 182.71805709047803, 184: 478.2815951431, 190: 337.2985237275377, 195: 318.945172309603, 2551: 413.30376238306854},
  162. db2: {54: 445.06616939812926, lb1: 70.71067811865476},
  163. db3: {54: 1158.5442884850133, 64: 486.7536481150631, rb3: 70.71067811865476},
  164. lb1: {db2: 70.71067811865476, lb4: 814},
  165. lb4: {lb1: 814, ub1: 70.71067811865476},
  166. player: {43: 424.2989071724448, 49: 356.16663709256125, 91: 350.04622145258276, 98: 430.38030020191263, 114: 406.2603301787468, 168: 660.6320632458752},
  167. rb3: {105: 596.3768944663615, db3: 70.71067811865476},
  168. rb4: {105: 218.56615168137122, ub4: 70.71067811865476},
  169. ub1: {lb4: 70.71067811865476, ub4: 1596},
  170. ub4: {ub1: 1596, rb4: 70.71067811865476},
  171. }
  172.  
  173. class Comparator {
  174.   /**
  175.    * @param {function(a: *, b: *)} [compareFunction] - It may be custom compare function that, let's
  176.    * say may compare custom objects together.
  177.    */
  178.   constructor(compareFunction) {
  179.     this.compare = compareFunction || Comparator.defaultCompareFunction;
  180.   }
  181.  
  182.   /**
  183.    * Default comparison function. It just assumes that "a" and "b" are strings or numbers.
  184.    * @param {(string|number)} a
  185.    * @param {(string|number)} b
  186.    * @returns {number}
  187.    */
  188.   static defaultCompareFunction(a, b) {
  189.     if (a === b) {
  190.       return 0;
  191.     }
  192.  
  193.     return a < b ? -1 : 1;
  194.  }
  195.  
  196.  /**
  197.   * Checks if two variables are equal.
  198.   * @param {*} a
  199.   * @param {*} b
  200.   * @return {boolean}
  201.   */
  202.  equal(a, b) {
  203.    return this.compare(a, b) === 0;
  204.  }
  205.  
  206.  /**
  207.   * Checks if variable "a" is less than "b".
  208.   * @param {*} a
  209.   * @param {*} b
  210.   * @return {boolean}
  211.   */
  212.  lessThan(a, b) {
  213.    return this.compare(a, b) < 0;
  214.  }
  215.  
  216.  /**
  217.   * Checks if variable "a" is greater than "b".
  218.   * @param {*} a
  219.   * @param {*} b
  220.   * @return {boolean}
  221.   */
  222.  greaterThan(a, b) {
  223.    return this.compare(a, b) > 0;
  224.   }
  225.  
  226.   /**
  227.    * Checks if variable "a" is less than or equal to "b".
  228.    * @param {*} a
  229.    * @param {*} b
  230.    * @return {boolean}
  231.    */
  232.   lessThanOrEqual(a, b) {
  233.     return this.lessThan(a, b) || this.equal(a, b);
  234.   }
  235.  
  236.   /**
  237.    * Checks if variable "a" is greater than or equal to "b".
  238.    * @param {*} a
  239.    * @param {*} b
  240.    * @return {boolean}
  241.    */
  242.   greaterThanOrEqual(a, b) {
  243.     return this.greaterThan(a, b) || this.equal(a, b);
  244.   }
  245.  
  246.   /**
  247.    * Reverses the comparison order.
  248.    */
  249.   reverse() {
  250.     const compareOriginal = this.compare;
  251.     this.compare = (a, b) => compareOriginal(b, a);
  252.   }
  253. }
  254.  
  255.  
  256.  
  257.  
  258. /**
  259.  * Parent class for Min and Max Heaps.
  260.  */
  261. class Heap {
  262.   /**
  263.    * @constructs Heap
  264.    * @param {Function} [comparatorFunction]
  265.    */
  266.   constructor(comparatorFunction) {
  267.     if (new.target === Heap) {
  268.       throw new TypeError('Cannot construct Heap instance directly');
  269.     }
  270.  
  271.     // Array representation of the heap.
  272.     this.heapContainer = [];
  273.     this.compare = new Comparator(comparatorFunction);
  274.     this.indexes = new Map();
  275.   }
  276.  
  277.   /**
  278.    * @param {number} parentIndex
  279.    * @return {number}
  280.    */
  281.   getLeftChildIndex(parentIndex) {
  282.     return (2 * parentIndex) + 1;
  283.   }
  284.  
  285.   /**
  286.    * @param {number} parentIndex
  287.    * @return {number}
  288.    */
  289.   getRightChildIndex(parentIndex) {
  290.     return (2 * parentIndex) + 2;
  291.   }
  292.  
  293.   /**
  294.    * @param {number} childIndex
  295.    * @return {number}
  296.    */
  297.   getParentIndex(childIndex) {
  298.     return Math.floor((childIndex - 1) / 2);
  299.   }
  300.  
  301.   /**
  302.    * @param {number} childIndex
  303.    * @return {boolean}
  304.    */
  305.   hasParent(childIndex) {
  306.     return this.getParentIndex(childIndex) >= 0;
  307.   }
  308.  
  309.   /**
  310.    * @param {number} parentIndex
  311.    * @return {boolean}
  312.    */
  313.   hasLeftChild(parentIndex) {
  314.     return this.getLeftChildIndex(parentIndex) < this.heapContainer.length;
  315.  }
  316.  
  317.  /**
  318.   * @param {number} parentIndex
  319.   * @return {boolean}
  320.   */
  321.  hasRightChild(parentIndex) {
  322.    return this.getRightChildIndex(parentIndex) < this.heapContainer.length;
  323.  }
  324.  
  325.  /**
  326.   * @param {number} parentIndex
  327.   * @return {*}
  328.   */
  329.  leftChild(parentIndex) {
  330.    return this.heapContainer[this.getLeftChildIndex(parentIndex)];
  331.  }
  332.  
  333.  /**
  334.   * @param {number} parentIndex
  335.   * @return {*}
  336.   */
  337.  rightChild(parentIndex) {
  338.    return this.heapContainer[this.getRightChildIndex(parentIndex)];
  339.  }
  340.  
  341.  /**
  342.   * @param {number} childIndex
  343.   * @return {*}
  344.   */
  345.  parent(childIndex) {
  346.    return this.heapContainer[this.getParentIndex(childIndex)];
  347.  }
  348.  
  349.  /**
  350.   * @param {number} indexOne
  351.   * @param {number} indexTwo
  352.   */
  353.  swap(indexOne, indexTwo) {
  354.    const tmp = this.heapContainer[indexTwo];
  355.    this.heapContainer[indexTwo] = this.heapContainer[indexOne];
  356.    this.indexes.set(this.heapContainer[indexOne], indexTwo)
  357.    this.heapContainer[indexOne] = tmp;
  358.    this.indexes.set(tmp, indexOne)
  359.  }
  360.  
  361.  /**
  362.   * @return {*}
  363.   */
  364.  peek() {
  365.    if (this.heapContainer.length === 0) {
  366.      return null;
  367.    }
  368.  
  369.    return this.heapContainer[0];
  370.  }
  371.  
  372.  /**
  373.   * @return {*}
  374.   */
  375.  poll() {
  376.    if (this.heapContainer.length === 0) {
  377.      return null;
  378.    }
  379.    
  380.  
  381.    if (this.heapContainer.length === 1) {
  382.       this.indexes.delete(this.heapContainer[0])
  383.      return this.heapContainer.pop();
  384.  
  385.    }
  386.  
  387.    const item = this.heapContainer[0];
  388.    this.indexes.delete(item)
  389.  
  390.    // Move the last element from the end to the head.
  391.    this.heapContainer[0] = this.heapContainer.pop();
  392.    this.indexes.set(this.heapContainer[0], 0);
  393.    this.heapifyDown();
  394.  
  395.    return item;
  396.  }
  397.  
  398.  /**
  399.   * @param {*} item
  400.   * @return {Heap}
  401.   */
  402.  add(item) {
  403.    
  404.    this.heapContainer.push(item);
  405.    this.indexes.set(item, this.heapContainer.length-1)
  406.    this.heapifyUp();
  407.    return this;
  408.  }
  409.  
  410.  /**
  411.   * @param {*} item
  412.   * @param {Comparator} [comparator]
  413.   * @return {Heap}
  414.   */
  415.  remove(item, comparator = this.compare) {
  416.    // Find number of items to remove.
  417.    const numberOfItemsToRemove = this.find(item, comparator).length;
  418.  
  419.    for (let iteration = 0; iteration < numberOfItemsToRemove; iteration += 1) {
  420.      // We need to find item index to remove each time after removal since
  421.      // indices are being changed after each heapify process.
  422.      const indexToRemove = this.find(item, comparator).pop();
  423.  
  424.      // If we need to remove last child in the heap then just remove it.
  425.      // There is no need to heapify the heap afterwards.
  426.      if (indexToRemove === (this.heapContainer.length - 1)) {
  427.        this.heapContainer.pop();
  428.  
  429.      } else {
  430.        // Move last element in heap to the vacant (removed) position.
  431.        this.heapContainer[indexToRemove] = this.heapContainer.pop();
  432.        this.indexes.set(this.heapContainer[indexToRemove], indexToRemove);
  433.        // Get parent.
  434.        const parentItem = this.parent(indexToRemove);
  435.  
  436.        // If there is no parent or parent is in correct order with the node
  437.        // we're going to delete then heapify down. Otherwise heapify up.
  438.        if (
  439.          this.hasLeftChild(indexToRemove)
  440.          && (
  441.            !parentItem
  442.            || this.pairIsInCorrectOrder(parentItem, this.heapContainer[indexToRemove])
  443.          )
  444.        ) {
  445.          this.heapifyDown(indexToRemove);
  446.        } else {
  447.          this.heapifyUp(indexToRemove);
  448.        }
  449.      }
  450.      this.indexes.delete(item)
  451.    }
  452.    return this;
  453.  }
  454.  /**
  455.   * @param {*} item
  456.   * @param {Comparator} [comparator]
  457.   * @return {Number[]}
  458.   */
  459.  find(item, comparator = this.compare) {
  460.    /*
  461.    const foundItemIndices = [];
  462.    for (let itemIndex = 0; itemIndex < this.heapContainer.length; itemIndex += 1) {
  463.      if (comparator.equal(item, this.heapContainer[itemIndex])) {
  464.        foundItemIndices.push(itemIndex);
  465.      }
  466.    }
  467.    return foundItemIndices;
  468.    */
  469.    var foundItemIndices = [];
  470.    var index = this.indexes.get(item)
  471.    if (index != undefined && index != null) {
  472.      foundItemIndices.push(index)
  473.    }
  474.    
  475.    return foundItemIndices
  476.  }
  477.  /**
  478.   * @return {boolean}
  479.   */
  480.  isEmpty() {
  481.    return !this.heapContainer.length;
  482.  }
  483.  /**
  484.   * @return {string}
  485.   */
  486.  toString() {
  487.    return this.heapContainer.toString();
  488.  }
  489.  /**
  490.   * @param {number} [customStartIndex]
  491.   */
  492.  heapifyUp(customStartIndex) {
  493.    // Take the last element (last in array or the bottom left in a tree)
  494.    // in the heap container and lift it up until it is in the correct
  495.    // order with respect to its parent element.
  496.    let currentIndex = customStartIndex || this.heapContainer.length - 1;
  497.    while (
  498.      this.hasParent(currentIndex)
  499.      && !this.pairIsInCorrectOrder(this.parent(currentIndex), this.heapContainer[currentIndex])
  500.    ) {
  501.      this.swap(currentIndex, this.getParentIndex(currentIndex));
  502.      currentIndex = this.getParentIndex(currentIndex);
  503.    }
  504.  }
  505.  /**
  506.   * @param {number} [customStartIndex]
  507.   */
  508.  heapifyDown(customStartIndex = 0) {
  509.    // Compare the parent element to its children and swap parent with the appropriate
  510.    // child (smallest child for MinHeap, largest child for MaxHeap).
  511.    // Do the same for next children after swap.
  512.    let currentIndex = customStartIndex;
  513.    let nextIndex = null;
  514.    while (this.hasLeftChild(currentIndex)) {
  515.      if (
  516.        this.hasRightChild(currentIndex)
  517.        && this.pairIsInCorrectOrder(this.rightChild(currentIndex), this.leftChild(currentIndex))
  518.      ) {
  519.        nextIndex = this.getRightChildIndex(currentIndex);
  520.      } else {
  521.        nextIndex = this.getLeftChildIndex(currentIndex);
  522.      }
  523.      if (this.pairIsInCorrectOrder(
  524.        this.heapContainer[currentIndex],
  525.        this.heapContainer[nextIndex],
  526.      )) {
  527.        break;
  528.      }
  529.      this.swap(currentIndex, nextIndex);
  530.      currentIndex = nextIndex;
  531.    }
  532.  }
  533.  /**
  534.   * Checks if pair of heap elements is in correct order.
  535.   * For MinHeap the first element must be always smaller or equal.
  536.   * For MaxHeap the first element must be always bigger or equal.
  537.   *
  538.   * @param {*} firstElement
  539.   * @param {*} secondElement
  540.   * @return {boolean}
  541.   */
  542.  /* istanbul ignore next */
  543.  pairIsInCorrectOrder(firstElement, secondElement) {
  544.    throw new Error(`
  545.      You have to implement heap pair comparision method
  546.      for ${firstElement} and ${secondElement} values.
  547.    `);
  548.  }
  549. }
  550. class MinHeap extends Heap {
  551.  /**
  552.   * Checks if pair of heap elements is in correct order.
  553.   * For MinHeap the first element must be always smaller or equal.
  554.   * For MaxHeap the first element must be always bigger or equal.
  555.   *
  556.   * @param {*} firstElement
  557.   * @param {*} secondElement
  558.   * @return {boolean}
  559.   */
  560.  pairIsInCorrectOrder(firstElement, secondElement) {
  561.    return this.compare.lessThanOrEqual(firstElement, secondElement);
  562.  }
  563. }
  564. // It is the same as min heap except that when comparing two elements
  565. // we take into account its priority instead of the element's value.
  566. class PriorityQueue extends MinHeap {
  567.  constructor() {
  568.    // Call MinHip constructor first.
  569.    super();
  570.  
  571.    // Setup priorities map.
  572.    this.priorities = new Map();
  573.  
  574.  
  575.    // Use custom comparator for heap elements that will take element priority
  576.    // instead of element value into account.
  577.    this.compare = new Comparator(this.comparePriority.bind(this));
  578.  }
  579.  
  580.  /**
  581.   * Add item to the priority queue.
  582.   * @param {*} item - item we're going to add to the queue.
  583.   * @param {number} [priority] - items priority.
  584.   * @return {PriorityQueue}
  585.   */
  586.  add(item, priority = 0) {
  587.    this.priorities.set(item, priority);
  588.    super.add(item);
  589.    return this;
  590.  }
  591.  /**
  592.   * Remove item from priority queue.
  593.   * @param {*} item - item we're going to remove.
  594.   * @param {Comparator} [customFindingComparator] - custom function for finding the item to remove
  595.   * @return {PriorityQueue}
  596.   */
  597.  remove(item, customFindingComparator) {
  598.    super.remove(item, customFindingComparator);
  599.    this.priorities.delete(item);
  600.    return this;
  601.  }
  602.  
  603.  /**
  604.   * Change priority of the item in a queue.
  605.   * @param {*} item - item we're going to re-prioritize.
  606.   * @param {number} priority - new item's priority.
  607.   * @return {PriorityQueue}
  608.   */
  609.  changePriority(item, priority) {
  610.    this.remove(item, new Comparator(this.compareValue));
  611.    this.add(item, priority);
  612.    return this;
  613.  }
  614.  
  615.  /**
  616.   * Find item by ite value.
  617.   * @param {*} item
  618.   * @return {Number[]}
  619.   */
  620.  findByValue(item) {
  621.    return this.find(item, new Comparator(this.compareValue));
  622.  }
  623.  
  624.  /**
  625.   * Check if item already exists in a queue.
  626.   * @param {*} item
  627.   * @return {boolean}
  628.   */
  629.  hasValue(item) {
  630.    //try {
  631.      return this.findByValue(item).length > 0;
  632.     //} catch (Error) {
  633.     //  console.log(item, this)
  634.     //  throw (Error)
  635.  
  636.     //}
  637.    
  638.   }
  639.  
  640.   /**
  641.    * Compares priorities of two items.
  642.    * @param {*} a
  643.    * @param {*} b
  644.    * @return {number}
  645.    */
  646.   comparePriority(a, b) {
  647.     if (this.priorities.get(a) === this.priorities.get(b)) {
  648.       return 0;
  649.     }
  650.     return this.priorities.get(a) < this.priorities.get(b) ? -1 : 1;
  651.  }
  652.  
  653.  /**
  654.   * Compares values of two items.
  655.   * @param {*} a
  656.   * @param {*} b
  657.   * @return {number}
  658.   */
  659.  compareValue(a, b) {
  660.    if (a === b) {
  661.      return 0;
  662.    }
  663.    return a < b ? -1 : 1;
  664.  }
  665. }
  666.  
  667.  
  668.  
  669. var findShortestPath = (graph, startNode, endNode) => {
  670.   var distances = new Map();
  671.   var parents = new Map();
  672.   var queue = new PriorityQueue();
  673.  
  674.   queue.add(startNode, 0);
  675.   distances.set(startNode, 0);
  676.   distances.set(endNode, Infinity)
  677.   parents.set(endNode, null)
  678.  
  679.   /*  
  680.   for (var child of graph[startNode].keys()) {
  681.     distances.set(child, graph[startNode].get(child))
  682.   }
  683.   */
  684.  
  685.   // collect visited nodes
  686.     var visited = {};
  687.     visited[startNode] = true;
  688.  
  689.   // find the nearest node
  690.     var node = queue.poll();
  691.  
  692.     //console.log('first_node', node)
  693.   // for that node:
  694.   while (node != null) {
  695.     //console.log('current_node', node)
  696.     // find its distance from the start node & its child nodes
  697.      var distance = distances.get(node);
  698.       var children = graph[node];
  699.  
  700.       //console.log("node's distance:", distance)
  701.       //console.log("node's children:", children)
  702.     // for each of those child nodes:
  703.       for (var child of children.entries()) {
  704.           // save the distance from the start node to the child node
  705.           var newdistance = distance + child[1];
  706.       // if there's no recorded distance from the start node to the child node in the distances object
  707.       // or if the recorded distance is shorter than the previously stored distance from the start node to the child node
  708.       // console.log(distances.get(child[0]) )
  709.           if (distances.get(child[0]) == undefined || distances.get(child[0]) > newdistance) {
  710.         // save the distance to the object
  711.           distances.set(child[0], newdistance);
  712.         // record the path
  713.           parents.set(child[0], node);
  714.           if (queue.hasValue(child[0])) {
  715.               queue.changePriority(child[0], newdistance);
  716.             } else if (visited[child[0]] != true) {
  717.               queue.add(child[0], newdistance);
  718.             }
  719.         }
  720.        
  721.         }
  722.         // move the current node to the visited set
  723.         visited[node] = true;
  724.     // move to the nearest neighbor node
  725.         node = queue.poll()
  726.         //console.log(node)
  727.     }
  728.  
  729.  
  730.   // using the stored paths from start node to end node
  731.   // record the shortest path
  732.   //console.log("distances", distances)
  733.   //console.log("parents:", parents)
  734.   var shortestPath = [endNode];
  735.   var parent = parents.get(endNode);
  736.   while (parent != undefined) {
  737.  
  738.       shortestPath.push(parent);
  739.       parent = parents.get(parent);
  740.     //console.log(parent)
  741.   }
  742.   shortestPath.reverse();
  743.  
  744.   //this is the shortest path
  745.   var results = {
  746.       distance: distances.get(endNode),
  747.       path: shortestPath,
  748.       //all_distances: distances
  749.   };
  750.   // return the shortest path & the end node's distance from the start node
  751.    return results;
  752. };
  753.  
  754.  
  755. var vertices = [
  756. {"name":"lb1","x":-78,"y":782,"type":""},
  757. {"name":"lb4","x":-78,"y":-28,"type":""},
  758. {"name":"ub1","x":-28,"y":-78,"type":""},
  759. {"name":"ub4","x":1564,"y":-78,"type":""},
  760. {"name":"rb3","x":1614,"y":782,"type":""},
  761. {"name":"rb4","x":1614,"y":-28.000000000000004,"type":""},
  762. {"name":"db2","x":-28.000000000000004,"y":832,"type":""},
  763. {"name":"db3","x":1564,"y":832,"type":""},
  764. {"name":"40","x":350.4438469404121,"y":404.2927869867273,"type":""},
  765. {"name":"41","x":324.357661477185,"y":453.20438473027815,"type":""},
  766. {"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},
  767. {"name":"43","x":345.59340289846233,"y":531.191382644909,"type":""},
  768. {"name":"44","x":383.89446859529085,"y":545.1190428983011,"type":""},
  769. {"name":"45","x":442.6042481176068,"y":519.7310301318943,"type":""},
  770. {"name":"46","x":456.1025343848575,"y":479.2361713301421,"type":""},
  771. {"name":"47","x":445.45190983550566,"y":435.1121553399702,"type":""},
  772. {"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},
  773. {"name":"49","x":387.60564104577537,"y":396.4692513855982,"type":""},
  774. {"name":"50","x":647.3528133137539,"y":195.11253836486497,"type":""},
  775. {"name":"51","x":619.6180564382187,"y":257.81720608346626,"type":""},
  776. {"name":"52","x":618.4021089634458,"y":318.61457982210953,"type":""},
  777. {"name":"53","x":632.5357898564981,"y":357.8748045250326,"type":""},
  778. {"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  779. {"name":"55","x":733.2970427785039,"y":342.50383261790773,"type":""},
  780. {"name":"56","x":753.2388707643189,"y":299.77134407687555,"type":""},
  781. {"name":"57","x":756.8752707157543,"y":213.70987855957125,"type":""},
  782. {"name":"58","x":737.9145784069822,"y":186.62317526132543,"type":""},
  783. {"name":"59","x":671.1994464996617,"y":173.9155310885025,"type":""},
  784. {"name":"60","x":1238.7931712150437,"y":295.31496781691544,"type":""},
  785. {"name":"61","x":1235.1834198174297,"y":354.8758658775481,"type":""},
  786. {"name":"62","x":1243.480675912968,"y":376.4487317259478,"type":""},
  787. {"name":"63","x":1256.9013331073368,"y":396.579717517501,"type":""},
  788. {"name":"64","x":1351.7487229803935,"y":402.50767938456704,"type":""},
  789. {"name":"65","x":1366.550684094811,"y":377.83774419387106,"type":""},
  790. {"name":"66","x":1369.8853471483567,"y":351.1604397655051,"type":""},
  791. {"name":"67","x":1362.3926462168095,"y":317.4432855735424,"type":""},
  792. {"name":"68","x":1322.5514995087808,"y":290.88252110152337,"type":""},
  793. {"name":"69","x":1266.6811952200226,"y":288.3429618156707,"type":""},
  794. {"name":"70","x":37.217342303215354,"y":217.1174594675131,"type":""},
  795. {"name":"73","x":71.22238454632496,"y":308.09915884104464,"type":""},
  796. {"name":"74","x":99.62837046606629,"y":311.08926262207007,"type":""},
  797. {"name":"75","x":166.02128916605224,"y":283.66610055033675,"type":""},
  798. {"name":"76","x":171.05450927611957,"y":258.5,"type":""},
  799. {"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},
  800. {"name":"78","x":117.15203043690445,"y":211.6758968112613,"type":""},
  801. {"name":"79","x":76.54813396186722,"y":203.55511751625386,"type":""},
  802. {"name":"80","x":1390.690764967718,"y":565.1069262742114,"type":""},
  803. {"name":"81","x":1368.695643568535,"y":588.7939800887164,"type":""},
  804. {"name":"82","x":1367.357089355247,"y":663.7530160328454,"type":""},
  805. {"name":"83","x":1394.5608218013808,"y":707.5812516405056,"type":""},
  806. {"name":"85","x":1478.9633826837205,"y":680.8945724888179,"type":""},
  807. {"name":"86","x":1495.9749345245175,"y":634.3963307906397,"type":""},
  808. {"name":"87","x":1501.6262899910905,"y":581.6503464359587,"type":""},
  809. {"name":"88","x":1430.3653891237916,"y":554.0185685486387,"type":""},
  810. {"name":"89","x":1410.7152729222312,"y":550.0885453083266,"type":""},
  811. {"name":"91","x":1080.4564271072195,"y":464.607281646638,"type":""},
  812. {"name":"92","x":1090.7843112555558,"y":522.1483504730829,"type":""},
  813. {"name":"93","x":1118.1835793208088,"y":570.5,"type":""},
  814. {"name":"94","x":1166.6412501315226,"y":570.5,"type":""},
  815. {"name":"95","x":1190.4540868473107,"y":566.8364866591095,"type":""},
  816. {"name":"96","x":1250.0843507044765,"y":509.9797234464632,"type":""},
  817. {"name":"97","x":1242.8106302951321,"y":453.60839027404484,"type":""},
  818. {"name":"100","x":634.2237150615942,"y":573.0871715628971,"type":""},
  819. {"name":"101","x":601.0597809867265,"y":610.8254413722293,"type":""},
  820. {"name":"102","x":581.4609628338108,"y":656.0534832635736,"type":""},
  821. {"name":"103","x":595.4652089690093,"y":688.0631887154559,"type":""},
  822. {"name":"104","x":626.8515107089933,"y":719.4494904554399,"type":""},
  823. {"name":"105","x":673.16734247755,"y":717.6681123104954,"type":""},
  824. {"name":"106","x":741.6936213269846,"y":670.6402738844129,"type":""},
  825. {"name":"107","x":747.290802592158,"y":609.0712799675055,"type":""},
  826. {"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},
  827. {"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},
  828. {"name":"110","x":918.6068848304548,"y":691.2951354230986,"type":""},
  829. {"name":"111","x":902.7373165623441,"y":707.1647036912093,"type":""},
  830. {"name":"117","x":1013.147458058351,"y":699.3939451284928,"type":""},
  831. {"name":"118","x":974.2001000232046,"y":685.37289623584,"type":""},
  832. {"name":"119","x":945.35891661259,"y":676.8901952327182,"type":""},
  833. {"name":"121","x":1158.8622079444117,"y":67.29007719193862,"type":""},
  834. {"name":"122","x":1186.8982208363632,"y":111.09634733561299,"type":""},
  835. {"name":"123","x":1227.2152822080607,"y":129.3040524712183,"type":""},
  836. {"name":"124","x":1263.7630953106393,"y":140.1330341312416,"type":""},
  837. {"name":"125","x":1348.7516602933997,"y":116.44769634916086,"type":""},
  838. {"name":"126","x":1362.7513900363388,"y":52.44893181001036,"type":""},
  839. {"name":"130","x":484.4698045789511,"y":136.4781897218005,"type":""},
  840. {"name":"131","x":438.83420506366645,"y":154.45585013691263,"type":""},
  841. {"name":"132","x":406.2466052101337,"y":209.2030178908477,"type":""},
  842. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},
  843. {"name":"134","x":481.5650220002803,"y":261.17704243554334,"type":""},
  844. {"name":"135","x":521.3955054198723,"y":249.10719897506095,"type":""},
  845. {"name":"136","x":538.4100513526747,"y":240.59992600865974,"type":""},
  846. {"name":"137","x":544,"y":205.19691790893253,"type":""},
  847. {"name":"138","x":544,"y":172.79830511517622,"type":""},
  848. {"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},
  849. {"name":"140","x":222.48223279616994,"y":679.5945514317212,"type":""},
  850. {"name":"144","x":282.38791505081895,"y":834.7489092104065,"type":""},
  851. {"name":"147","x":352.5,"y":659.5222821435042,"type":""},
  852. {"name":"148","x":341.2343354802587,"y":642.6237853638922,"type":""},
  853. {"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},
  854. {"name":"157","x":152.45242806674474,"y":710.5169418112,"type":""},
  855. {"name":"158","x":129.94757662762225,"y":679.5727710824066,"type":""},
  856. {"name":"159","x":54.40790671292386,"y":648.8447697611733,"type":""},
  857. {"name":"160","x":1094.281416117,"y":315.58622503652333,"type":""},
  858. {"name":"161","x":1062.0956921450586,"y":350.24777392938324,"type":""},
  859. {"name":"162","x":1074.796611537772,"y":383.270164350438,"type":""},
  860. {"name":"163","x":1101.1663755674763,"y":417.9672222842595,"type":""},
  861. {"name":"165","x":1200.0366176867108,"y":407.745197686494,"type":""},
  862. {"name":"166","x":1217.8931081282535,"y":362.1119443358846,"type":""},
  863. {"name":"167","x":1202.6910871425982,"y":339.30891285740165,"type":""},
  864. {"name":"168","x":1169.6797655836936,"y":317.3013651514651,"type":""},
  865. {"name":"169","x":1142.31253924242,"y":311.2197592978488,"type":""},
  866. {"name":"172","x":1502.2831069916128,"y":256.598746792364,"type":""},
  867. {"name":"173","x":1505.0853317113156,"y":281.8187692696878,"type":""},
  868. {"name":"177","x":1620.6661685851184,"y":269.43181116132826,"type":""},
  869. {"name":"178","x":1619.4765624558736,"y":186.15938211419413,"type":""},
  870. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},
  871. {"name":"182","x":222.58971586842105,"y":111.93994494295062,"type":""},
  872. {"name":"183","x":277.3701384368386,"y":119.7657195955817,"type":""},
  873. {"name":"184","x":341.2680071961894,"y":127.34682266872501,"type":""},
  874. {"name":"185","x":366.33524810542565,"y":122.06950879309632,"type":""},
  875. {"name":"186","x":413.1463934407894,"y":106.4657936813084,"type":""},
  876. {"name":"187","x":353.53684540957664,"y":36.2116835016648,"type":""},
  877. {"name":"191","x":909.5384627311921,"y":604.1868288323784,"type":""},
  878. {"name":"192","x":951.4509598622473,"y":629.8751335256056,"type":""},
  879. {"name":"193","x":973.0336700760873,"y":634.5,"type":""},
  880. {"name":"194","x":996.9851452376639,"y":634.5,"type":""},
  881. {"name":"195","x":1017.5679186072465,"y":603.6258399456261,"type":""},
  882. {"name":"196","x":1004.2693261766174,"y":571.329258328384,"type":""},
  883. {"name":"197","x":988.249833282283,"y":542.4941711185821,"type":""},
  884. {"name":"198","x":979.9008928165559,"y":528.5792703423704,"type":""},
  885. {"name":"199","x":946.1197113755139,"y":516.2952043638097,"type":""},
  886. {"name":"200","x":803.2955953955485,"y":484.6752420779215,"type":""},
  887. {"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},
  888. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},
  889. {"name":"203","x":806.5556140543994,"y":573.3516885217153,"type":""},
  890. {"name":"204","x":856.7032731128759,"y":577.5306601099217,"type":""},
  891. {"name":"207","x":924.8224409071219,"y":504.28185049331364,"type":""},
  892. {"name":"208","x":879.2571322378367,"y":484.95111348210173,"type":""},
  893. {"name":"209","x":847.9190688048005,"y":482.4440684074589,"type":""},
  894. {"name":"210","x":965.4134600186514,"y":258.6601535261447,"type":""},
  895. {"name":"211","x":960.7504063165591,"y":281.97542203660646,"type":""},
  896. {"name":"212","x":956.4294038949586,"y":329.50644867421255,"type":""},
  897. {"name":"213","x":957.7073856589043,"y":352.5101204252352,"type":""},
  898. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},
  899. {"name":"215","x":1025.306672670151,"y":377.75315906959014,"type":""},
  900. {"name":"216","x":1047.1560706166817,"y":357.053729436035,"type":""},
  901. {"name":"217","x":1101.802156766718,"y":273.17834139179297,"type":""},
  902. {"name":"218","x":1078.3062158848543,"y":236.25614857743562,"type":""},
  903. {"name":"219","x":1016.478899630071,"y":226.74425376900746,"type":""},
  904. {"name":"220","x":1639.7298915187566,"y":53.00000000000001,"type":""},
  905. {"name":"223","x":1507.1177574332664,"y":85.10295321548632,"type":""},
  906. {"name":"224","x":1494.3803628175028,"y":123.31513706277696,"type":""},
  907. {"name":"227","x":1634.4772946186545,"y":120.08865697273093,"type":""},
  908. {"name":"228","x":1648.569092362106,"y":112.40222183993916,"type":""},
  909. {"name":"229","x":1722.82186966203,"y":53,"type":""},
  910. {"name":"237","x":560.7547859516193,"y":706.877363183074,"type":""},
  911. {"name":"238","x":533.6368286970486,"y":687.7352757092593,"type":""},
  912. {"name":"239","x":475.82652169723775,"y":679.4766604235721,"type":""},
  913. {"name":"player","x":100,"y":100,"type":"player"},
  914. {"name":"199","x":249.9050082430132,"y":102.09744199109065,"type":"allie"},
  915. {"name":"2585","x":171,"y":122,"type":"allie"},
  916. {"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  917. {"name":"8693","x":196,"y":254,"type":"enemy"}]
  918.  
  919.  
  920. var edges = [[{"name":"lb1","x":-78,"y":782,"type":""},
  921. {"name":"db2","x":-28.000000000000004,"y":832,"type":""},"const",70.71067811865476],[{"name":"lb4","x":-78,"y":-28,"type":""},
  922. {"name":"lb1","x":-78,"y":782,"type":""},"const",810],[{"name":"lb4","x":-78,"y":-28,"type":""},
  923. {"name":"ub1","x":-28,"y":-78,"type":""},"const",70.71067811865476],[{"name":"ub4","x":1564,"y":-78,"type":""},
  924. {"name":"ub1","x":-28,"y":-78,"type":""},"const",1592],[{"name":"ub4","x":1564,"y":-78,"type":""},
  925. {"name":"rb4","x":1614,"y":-28.000000000000004,"type":""},"const",70.71067811865476],[{"name":"ub4","x":1564,"y":-78,"type":""},
  926. {"name":"229","x":1722.82186966203,"y":53,"type":""},"const",205.87711451966396],[{"name":"rb3","x":1614,"y":782,"type":""},
  927. {"name":"db3","x":1564,"y":832,"type":""},"const",70.71067811865476],[{"name":"rb3","x":1614,"y":782,"type":""},
  928. {"name":"177","x":1620.6661685851184,"y":269.43181116132826,"type":""},"const",512.6115351930363],[{"name":"rb3","x":1614,"y":782,"type":""},
  929. {"name":"229","x":1722.82186966203,"y":53,"type":""},"const",737.0774717197235],[{"name":"rb4","x":1614,"y":-28.000000000000004,"type":""},
  930. {"name":"229","x":1722.82186966203,"y":53,"type":""},"const",135.6583919878893],[{"name":"db2","x":-28.000000000000004,"y":832,"type":""},
  931. {"name":"144","x":282.38791505081895,"y":834.7489092104065,"type":""},"const",310.40008748620136],[{"name":"db3","x":1564,"y":832,"type":""},
  932. {"name":"144","x":282.38791505081895,"y":834.7489092104065,"type":""},"const",1281.6150329914337],[{"name":"40","x":350.4438469404121,"y":404.2927869867273,"type":""},
  933. {"name":"41","x":324.357661477185,"y":453.20438473027815,"type":""},"const",55.43314410935759],[{"name":"40","x":350.4438469404121,"y":404.2927869867273,"type":""},
  934. {"name":"59","x":671.1994464996617,"y":173.9155310885025,"type":""},"const",394.91497146070554],[{"name":"40","x":350.4438469404121,"y":404.2927869867273,"type":""},
  935. {"name":"136","x":538.4100513526747,"y":240.59992600865974,"type":""},"const",249.25217498817833],[{"name":"41","x":324.357661477185,"y":453.20438473027815,"type":""},
  936. {"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},"const",62.68381161480822],[{"name":"41","x":324.357661477185,"y":453.20438473027815,"type":""},
  937. {"name":"132","x":406.2466052101337,"y":209.2030178908477,"type":""},"const",257.37611801643203],[{"name":"41","x":324.357661477185,"y":453.20438473027815,"type":""},
  938. {"name":"186","x":413.1463934407894,"y":106.4657936813084,"type":""},"const",357.92609495024175],[{"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},
  939. {"name":"43","x":345.59340289846233,"y":531.191382644909,"type":""},"const",22.00603386355706],[{"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},
  940. {"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},"const",325.893754212365],[{"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},
  941. {"name":"147","x":352.5,"y":659.5222821435042,"type":""},"const",145.6349677143284],[{"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},
  942. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},"const",495.27154468751036],[{"name":"43","x":345.59340289846233,"y":531.191382644909,"type":""},
  943. {"name":"44","x":383.89446859529085,"y":545.1190428983011,"type":""},"const",40.754770931103174],[{"name":"43","x":345.59340289846233,"y":531.191382644909,"type":""},
  944. {"name":"104","x":626.8515107089933,"y":719.4494904554399,"type":""},"const",338.44828019294425],[{"name":"43","x":345.59340289846233,"y":531.191382644909,"type":""},
  945. {"name":"237","x":560.7547859516193,"y":706.877363183074,"type":""},"const",277.7768610143829],[{"name":"44","x":383.89446859529085,"y":545.1190428983011,"type":""},
  946. {"name":"45","x":442.6042481176068,"y":519.7310301318943,"type":""},"const",63.96396957495827],[{"name":"44","x":383.89446859529085,"y":545.1190428983011,"type":""},
  947. {"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},"const",279.46200199816974],[{"name":"44","x":383.89446859529085,"y":545.1190428983011,"type":""},
  948. {"name":"200","x":803.2955953955485,"y":484.6752420779215,"type":""},"const",423.73430144247175],[{"name":"44","x":383.89446859529085,"y":545.1190428983011,"type":""},
  949. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",605.3109163530141],[{"name":"45","x":442.6042481176068,"y":519.7310301318943,"type":""},
  950. {"name":"46","x":456.1025343848575,"y":479.2361713301421,"type":""},"const",42.685329113484585],[{"name":"45","x":442.6042481176068,"y":519.7310301318943,"type":""},
  951. {"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},"const",267.044681207588],[{"name":"45","x":442.6042481176068,"y":519.7310301318943,"type":""},
  952. {"name":"50","x":647.3528133137539,"y":195.11253836486497,"type":""},"const",383.79570105328406],[{"name":"45","x":442.6042481176068,"y":519.7310301318943,"type":""},
  953. {"name":"136","x":538.4100513526747,"y":240.59992600865974,"type":""},"const",295.1151050396651],[{"name":"45","x":442.6042481176068,"y":519.7310301318943,"type":""},
  954. {"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},"const",173.37684490280637],[{"name":"45","x":442.6042481176068,"y":519.7310301318943,"type":""},
  955. {"name":"219","x":1016.478899630071,"y":226.74425376900746,"type":""},"const",644.3394809974541],[{"name":"46","x":456.1025343848575,"y":479.2361713301421,"type":""},
  956. {"name":"47","x":445.45190983550566,"y":435.1121553399702,"type":""},"const",45.39123913699872],[{"name":"47","x":445.45190983550566,"y":435.1121553399702,"type":""},
  957. {"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},"const",47.047036449194316],[{"name":"47","x":445.45190983550566,"y":435.1121553399702,"type":""},
  958. {"name":"103","x":595.4652089690093,"y":688.0631887154559,"type":""},"const",294.0887879580657],[{"name":"47","x":445.45190983550566,"y":435.1121553399702,"type":""},
  959. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"const",183.6721765115165],[{"name":"47","x":445.45190983550566,"y":435.1121553399702,"type":""},
  960. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},"const",486.6941103104043],[{"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},
  961. {"name":"49","x":387.60564104577537,"y":396.4692513855982,"type":""},"const",25.7772200449739],[{"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},
  962. {"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},"const",298.08763602419685],[{"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},
  963. {"name":"73","x":71.22238454632496,"y":308.09915884104464,"type":""},"const",354.1679638306291],[{"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},
  964. {"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},"const",371.37278825824006],[{"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},
  965. {"name":"117","x":1013.147458058351,"y":699.3939451284928,"type":""},"const",670.2294043204714],[{"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},
  966. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"const",378.87860482952715],[{"name":"49","x":387.60564104577537,"y":396.4692513855982,"type":""},
  967. {"name":"40","x":350.4438469404121,"y":404.2927869867273,"type":""},"const",37.97639596422426],[{"name":"49","x":387.60564104577537,"y":396.4692513855982,"type":""},
  968. {"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},"const",283.4489103653117],[{"name":"49","x":387.60564104577537,"y":396.4692513855982,"type":""},
  969. {"name":"208","x":879.2571322378367,"y":484.95111348210173,"type":""},"const",499.55002623505305],[{"name":"49","x":387.60564104577537,"y":396.4692513855982,"type":""},
  970. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",589.0762111107545],[{"name":"50","x":647.3528133137539,"y":195.11253836486497,"type":""},
  971. {"name":"51","x":619.6180564382187,"y":257.81720608346626,"type":""},"const",68.56451044560333],[{"name":"51","x":619.6180564382187,"y":257.81720608346626,"type":""},
  972. {"name":"52","x":618.4021089634458,"y":318.61457982210953,"type":""},"const",60.809531997686655],[{"name":"51","x":619.6180564382187,"y":257.81720608346626,"type":""},
  973. {"name":"102","x":581.4609628338108,"y":656.0534832635736,"type":""},"const",400.06011580087164],[{"name":"51","x":619.6180564382187,"y":257.81720608346626,"type":""},
  974. {"name":"239","x":475.82652169723775,"y":679.4766604235721,"type":""},"const",445.50275071828963],[{"name":"52","x":618.4021089634458,"y":318.61457982210953,"type":""},
  975. {"name":"53","x":632.5357898564981,"y":357.8748045250326,"type":""},"const",41.7268040869492],[{"name":"53","x":632.5357898564981,"y":357.8748045250326,"type":""},
  976. {"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},"const",44.409786926805985],[{"name":"53","x":632.5357898564981,"y":357.8748045250326,"type":""},
  977. {"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},"const",244.19177296204867],[{"name":"53","x":632.5357898564981,"y":357.8748045250326,"type":""},
  978. {"name":"138","x":544,"y":172.79830511517622,"type":""},"const",205.16309784978526],[{"name":"53","x":632.5357898564981,"y":357.8748045250326,"type":""},
  979. {"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},"const",170.98157093493768],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  980. {"name":"55","x":733.2970427785039,"y":342.50383261790773,"type":""},"const",73.41351083187409],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  981. {"name":"78","x":117.15203043690445,"y":211.6758968112613,"type":""},"const",578.7057992684693],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  982. {"name":"73","x":71.22238454632496,"y":308.09915884104464,"type":""},"const",603.7781336207288],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  983. {"name":"83","x":1394.5608218013808,"y":707.5812516405056,"type":""},"const",794.3115697606781],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  984. {"name":"93","x":1118.1835793208088,"y":570.5,"type":""},"const",486.1389713865941],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  985. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"const",298.95911490661615],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  986. {"name":"198","x":979.9008928165559,"y":528.5792703423704,"type":""},"const",342.80891355908545],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  987. {"name":"207","x":924.8224409071219,"y":504.28185049331364,"type":""},"const",282.6431518625895],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  988. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",308.1360659862511],[{"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},
  989. {"name":"219","x":1016.478899630071,"y":226.74425376900746,"type":""},"const",378.58967001309463],[{"name":"55","x":733.2970427785039,"y":342.50383261790773,"type":""},
  990. {"name":"56","x":753.2388707643189,"y":299.77134407687555,"type":""},"const",47.156569853258866],[{"name":"55","x":733.2970427785039,"y":342.50383261790773,"type":""},
  991. {"name":"101","x":601.0597809867265,"y":610.8254413722293,"type":""},"const",299.1373917294431],[{"name":"55","x":733.2970427785039,"y":342.50383261790773,"type":""},
  992. {"name":"239","x":475.82652169723775,"y":679.4766604235721,"type":""},"const",424.0775352517563],[{"name":"56","x":753.2388707643189,"y":299.77134407687555,"type":""},
  993. {"name":"57","x":756.8752707157543,"y":213.70987855957125,"type":""},"const",86.13825660873893],[{"name":"56","x":753.2388707643189,"y":299.77134407687555,"type":""},
  994. {"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},"const",210.320160984807],[{"name":"57","x":756.8752707157543,"y":213.70987855957125,"type":""},
  995. {"name":"58","x":737.9145784069822,"y":186.62317526132543,"type":""},"const",33.06353502569152],[{"name":"58","x":737.9145784069822,"y":186.62317526132543,"type":""},
  996. {"name":"59","x":671.1994464996617,"y":173.9155310885025,"type":""},"const",67.91460112401641],[{"name":"58","x":737.9145784069822,"y":186.62317526132543,"type":""},
  997. {"name":"93","x":1118.1835793208088,"y":570.5,"type":""},"const",540.3387174980588],[{"name":"58","x":737.9145784069822,"y":186.62317526132543,"type":""},
  998. {"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},"const",228.93825991593803],[{"name":"58","x":737.9145784069822,"y":186.62317526132543,"type":""},
  999. {"name":"187","x":353.53684540957664,"y":36.2116835016648,"type":""},"const",412.75883815805963],[{"name":"58","x":737.9145784069822,"y":186.62317526132543,"type":""},
  1000. {"name":"198","x":979.9008928165559,"y":528.5792703423704,"type":""},"const",418.9168740031914],[{"name":"58","x":737.9145784069822,"y":186.62317526132543,"type":""},
  1001. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",333.7521131385038],[{"name":"59","x":671.1994464996617,"y":173.9155310885025,"type":""},
  1002. {"name":"50","x":647.3528133137539,"y":195.11253836486497,"type":""},"const",31.90572098820839],[{"name":"59","x":671.1994464996617,"y":173.9155310885025,"type":""},
  1003. {"name":"124","x":1263.7630953106393,"y":140.1330341312416,"type":""},"const",593.5258503155924],[{"name":"59","x":671.1994464996617,"y":173.9155310885025,"type":""},
  1004. {"name":"136","x":538.4100513526747,"y":240.59992600865974,"type":""},"const",148.5928396302128],[{"name":"59","x":671.1994464996617,"y":173.9155310885025,"type":""},
  1005. {"name":"219","x":1016.478899630071,"y":226.74425376900746,"type":""},"const",349.297544643658],[{"name":"60","x":1238.7931712150437,"y":295.31496781691544,"type":""},
  1006. {"name":"61","x":1235.1834198174297,"y":354.8758658775481,"type":""},"const",59.67018420401978],[{"name":"60","x":1238.7931712150437,"y":295.31496781691544,"type":""},
  1007. {"name":"125","x":1348.7516602933997,"y":116.44769634916086,"type":""},"const",209.96278270854182],[{"name":"60","x":1238.7931712150437,"y":295.31496781691544,"type":""},
  1008. {"name":"166","x":1217.8931081282535,"y":362.1119443358846,"type":""},"const",69.99034725665763],[{"name":"60","x":1238.7931712150437,"y":295.31496781691544,"type":""},
  1009. {"name":"223","x":1507.1177574332664,"y":85.10295321548632,"type":""},"const",340.8623984131601],[{"name":"61","x":1235.1834198174297,"y":354.8758658775481,"type":""},
  1010. {"name":"62","x":1243.480675912968,"y":376.4487317259478,"type":""},"const",23.113480906778186],[{"name":"61","x":1235.1834198174297,"y":354.8758658775481,"type":""},
  1011. {"name":"96","x":1250.0843507044765,"y":509.9797234464632,"type":""},"const",155.8179847580466],[{"name":"61","x":1235.1834198174297,"y":354.8758658775481,"type":""},
  1012. {"name":"121","x":1158.8622079444117,"y":67.29007719193862,"type":""},"const",297.5407757529884],[{"name":"62","x":1243.480675912968,"y":376.4487317259478,"type":""},
  1013. {"name":"63","x":1256.9013331073368,"y":396.579717517501,"type":""},"const",24.194433832360634],[{"name":"62","x":1243.480675912968,"y":376.4487317259478,"type":""},
  1014. {"name":"82","x":1367.357089355247,"y":663.7530160328454,"type":""},"const",312.87236629082633],[{"name":"63","x":1256.9013331073368,"y":396.579717517501,"type":""},
  1015. {"name":"64","x":1351.7487229803935,"y":402.50767938456704,"type":""},"const",95.03245812683691],[{"name":"63","x":1256.9013331073368,"y":396.579717517501,"type":""},
  1016. {"name":"87","x":1501.6262899910905,"y":581.6503464359587,"type":""},"const",306.82477443979093],[{"name":"63","x":1256.9013331073368,"y":396.579717517501,"type":""},
  1017. {"name":"167","x":1202.6910871425982,"y":339.30891285740165,"type":""},"const",78.85870804148841],[{"name":"64","x":1351.7487229803935,"y":402.50767938456704,"type":""},
  1018. {"name":"65","x":1366.550684094811,"y":377.83774419387106,"type":""},"const",28.769841069179858],[{"name":"64","x":1351.7487229803935,"y":402.50767938456704,"type":""},
  1019. {"name":"96","x":1250.0843507044765,"y":509.9797234464632,"type":""},"const",147.93878749367386],[{"name":"65","x":1366.550684094811,"y":377.83774419387106,"type":""},
  1020. {"name":"66","x":1369.8853471483567,"y":351.1604397655051,"type":""},"const",26.884913041414087],[{"name":"65","x":1366.550684094811,"y":377.83774419387106,"type":""},
  1021. {"name":"223","x":1507.1177574332664,"y":85.10295321548632,"type":""},"const",324.73490720293273],[{"name":"66","x":1369.8853471483567,"y":351.1604397655051,"type":""},
  1022. {"name":"67","x":1362.3926462168095,"y":317.4432855735424,"type":""},"const",34.539644671799884],[{"name":"66","x":1369.8853471483567,"y":351.1604397655051,"type":""},
  1023. {"name":"82","x":1367.357089355247,"y":663.7530160328454,"type":""},"const",312.60280041119495],[{"name":"66","x":1369.8853471483567,"y":351.1604397655051,"type":""},
  1024. {"name":"126","x":1362.7513900363388,"y":52.44893181001036,"type":""},"const",298.7966839326061],[{"name":"67","x":1362.3926462168095,"y":317.4432855735424,"type":""},
  1025. {"name":"68","x":1322.5514995087808,"y":290.88252110152337,"type":""},"const",47.88309910969351],[{"name":"67","x":1362.3926462168095,"y":317.4432855735424,"type":""},
  1026. {"name":"87","x":1501.6262899910905,"y":581.6503464359587,"type":""},"const",298.6492567682363],[{"name":"67","x":1362.3926462168095,"y":317.4432855735424,"type":""},
  1027. {"name":"122","x":1186.8982208363632,"y":111.09634733561299,"type":""},"const",270.88254329096384],[{"name":"68","x":1322.5514995087808,"y":290.88252110152337,"type":""},
  1028. {"name":"69","x":1266.6811952200226,"y":288.3429618156707,"type":""},"const",55.92799176338086],[{"name":"68","x":1322.5514995087808,"y":290.88252110152337,"type":""},
  1029. {"name":"218","x":1078.3062158848543,"y":236.25614857743562,"type":""},"const",250.2794421195491],[{"name":"69","x":1266.6811952200226,"y":288.3429618156707,"type":""},
  1030. {"name":"60","x":1238.7931712150437,"y":295.31496781691544,"type":""},"const",28.746317165572204],[{"name":"69","x":1266.6811952200226,"y":288.3429618156707,"type":""},
  1031. {"name":"160","x":1094.281416117,"y":315.58622503652333,"type":""},"const",174.53904785374436],[{"name":"73","x":71.22238454632496,"y":308.09915884104464,"type":""},
  1032. {"name":"74","x":99.62837046606629,"y":311.08926262207007,"type":""},"const",28.56292626279466],[{"name":"73","x":71.22238454632496,"y":308.09915884104464,"type":""},
  1033. {"name":"208","x":879.2571322378367,"y":484.95111348210173,"type":""},"const",827.1618749297187],[{"name":"73","x":71.22238454632496,"y":308.09915884104464,"type":""},
  1034. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",911.9072364060776],[{"name":"74","x":99.62837046606629,"y":311.08926262207007,"type":""},
  1035. {"name":"75","x":166.02128916605224,"y":283.66610055033675,"type":""},"const",71.83348433366919],[{"name":"74","x":99.62837046606629,"y":311.08926262207007,"type":""},
  1036. {"name":"134","x":481.5650220002803,"y":261.17704243554334,"type":""},"const",385.18415791555594],[{"name":"75","x":166.02128916605224,"y":283.66610055033675,"type":""},
  1037. {"name":"76","x":171.05450927611957,"y":258.5,"type":""},"const",25.66448755744104],[{"name":"75","x":166.02128916605224,"y":283.66610055033675,"type":""},
  1038. {"name":"131","x":438.83420506366645,"y":154.45585013691263,"type":""},"const",301.86449922516306],[{"name":"75","x":166.02128916605224,"y":283.66610055033675,"type":""},
  1039. {"name":"186","x":413.1463934407894,"y":106.4657936813084,"type":""},"const",304.09006218105435],[{"name":"76","x":171.05450927611957,"y":258.5,"type":""},
  1040. {"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},"const",25.041564347271354],[{"name":"76","x":171.05450927611957,"y":258.5,"type":""},
  1041. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},"const",201.32515950767336],[{"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},
  1042. {"name":"78","x":117.15203043690445,"y":211.6758968112613,"type":""},"const",53.81505716045718],[{"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},
  1043. {"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},"const",668.6142302142265],[{"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},
  1044. {"name":"147","x":352.5,"y":659.5222821435042,"type":""},"const",464.5912380083568],[{"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},
  1045. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"const",675.2576499747647],[{"name":"78","x":117.15203043690445,"y":211.6758968112613,"type":""},
  1046. {"name":"79","x":76.54813396186722,"y":203.55511751625386,"type":""},"const",41.40801209082323],[{"name":"78","x":117.15203043690445,"y":211.6758968112613,"type":""},
  1047. {"name":"93","x":1118.1835793208088,"y":570.5,"type":""},"const",1063.3996891527247],[{"name":"78","x":117.15203043690445,"y":211.6758968112613,"type":""},
  1048. {"name":"208","x":879.2571322378367,"y":484.95111348210173,"type":""},"const",809.6193736796965],[{"name":"79","x":76.54813396186722,"y":203.55511751625386,"type":""},
  1049. {"name":"70","x":37.217342303215354,"y":217.1174594675131,"type":""},"const",41.60346490016386],[{"name":"79","x":76.54813396186722,"y":203.55511751625386,"type":""},
  1050. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"const",326.14140573310647],[{"name":"79","x":76.54813396186722,"y":203.55511751625386,"type":""},
  1051. {"name":"130","x":484.4698045789511,"y":136.4781897218005,"type":""},"const",413.3998108385815],[{"name":"79","x":76.54813396186722,"y":203.55511751625386,"type":""},
  1052. {"name":"185","x":366.33524810542565,"y":122.06950879309632,"type":""},"const",301.0257064648056],[{"name":"80","x":1390.690764967718,"y":565.1069262742114,"type":""},
  1053. {"name":"81","x":1368.695643568535,"y":588.7939800887164,"type":""},"const",32.324323407861954],[{"name":"81","x":1368.695643568535,"y":588.7939800887164,"type":""},
  1054. {"name":"82","x":1367.357089355247,"y":663.7530160328454,"type":""},"const",74.97098636842881],[{"name":"81","x":1368.695643568535,"y":588.7939800887164,"type":""},
  1055. {"name":"224","x":1494.3803628175028,"y":123.31513706277696,"type":""},"const",482.148526864346],[{"name":"82","x":1367.357089355247,"y":663.7530160328454,"type":""},
  1056. {"name":"83","x":1394.5608218013808,"y":707.5812516405056,"type":""},"const",51.584467579702824],[{"name":"82","x":1367.357089355247,"y":663.7530160328454,"type":""},
  1057. {"name":"97","x":1242.8106302951321,"y":453.60839027404484,"type":""},"const",244.27972531448285],[{"name":"82","x":1367.357089355247,"y":663.7530160328454,"type":""},
  1058. {"name":"166","x":1217.8931081282535,"y":362.1119443358846,"type":""},"const",336.640487491796],[{"name":"83","x":1394.5608218013808,"y":707.5812516405056,"type":""},
  1059. {"name":"93","x":1118.1835793208088,"y":570.5,"type":""},"const",308.50551001966323],[{"name":"83","x":1394.5608218013808,"y":707.5812516405056,"type":""},
  1060. {"name":"198","x":979.9008928165559,"y":528.5792703423704,"type":""},"const",451.6465055929891],[{"name":"83","x":1394.5608218013808,"y":707.5812516405056,"type":""},
  1061. {"name":"207","x":924.8224409071219,"y":504.28185049331364,"type":""},"const",511.844500792933],[{"name":"85","x":1478.9633826837205,"y":680.8945724888179,"type":""},
  1062. {"name":"86","x":1495.9749345245175,"y":634.3963307906397,"type":""},"const",49.512416392803104],[{"name":"86","x":1495.9749345245175,"y":634.3963307906397,"type":""},
  1063. {"name":"87","x":1501.6262899910905,"y":581.6503464359587,"type":""},"const",53.04787162699196],[{"name":"87","x":1501.6262899910905,"y":581.6503464359587,"type":""},
  1064. {"name":"88","x":1430.3653891237916,"y":554.0185685486387,"type":""},"const",76.43056418497244],[{"name":"87","x":1501.6262899910905,"y":581.6503464359587,"type":""},
  1065. {"name":"126","x":1362.7513900363388,"y":52.44893181001036,"type":""},"const",547.120073731121],[{"name":"87","x":1501.6262899910905,"y":581.6503464359587,"type":""},
  1066. {"name":"172","x":1502.2831069916128,"y":256.598746792364,"type":""},"const",325.05226324305437],[{"name":"87","x":1501.6262899910905,"y":581.6503464359587,"type":""},
  1067. {"name":"224","x":1494.3803628175028,"y":123.31513706277696,"type":""},"const",458.3924820628751],[{"name":"88","x":1430.3653891237916,"y":554.0185685486387,"type":""},
  1068. {"name":"89","x":1410.7152729222312,"y":550.0885453083266,"type":""},"const",20.039265191224455],[{"name":"89","x":1410.7152729222312,"y":550.0885453083266,"type":""},
  1069. {"name":"80","x":1390.690764967718,"y":565.1069262742114,"type":""},"const",25.030634943141447],[{"name":"89","x":1410.7152729222312,"y":550.0885453083266,"type":""},
  1070. {"name":"94","x":1166.6412501315226,"y":570.5,"type":""},"const",244.9260216552532],[{"name":"89","x":1410.7152729222312,"y":550.0885453083266,"type":""},
  1071. {"name":"105","x":673.16734247755,"y":717.6681123104954,"type":""},"const",756.3463895463947],[{"name":"89","x":1410.7152729222312,"y":550.0885453083266,"type":""},
  1072. {"name":"119","x":945.35891661259,"y":676.8901952327182,"type":""},"const",482.3227102069046],[{"name":"89","x":1410.7152729222312,"y":550.0885453083266,"type":""},
  1073. {"name":"194","x":996.9851452376639,"y":634.5,"type":""},"const",422.2533744531271],[{"name":"91","x":1080.4564271072195,"y":464.607281646638,"type":""},
  1074. {"name":"92","x":1090.7843112555558,"y":522.1483504730829,"type":""},"const",58.460583239231624],[{"name":"91","x":1080.4564271072195,"y":464.607281646638,"type":""},
  1075. {"name":"161","x":1062.0956921450586,"y":350.24777392938324,"type":""},"const",115.82406310298205],[{"name":"91","x":1080.4564271072195,"y":464.607281646638,"type":""},
  1076. {"name":"195","x":1017.5679186072465,"y":603.6258399456261,"type":""},"const",152.5815324765102],[{"name":"92","x":1090.7843112555558,"y":522.1483504730829,"type":""},
  1077. {"name":"93","x":1118.1835793208088,"y":570.5,"type":""},"const",55.57519143003837],[{"name":"93","x":1118.1835793208088,"y":570.5,"type":""},
  1078. {"name":"94","x":1166.6412501315226,"y":570.5,"type":""},"const",48.45767081071381],[{"name":"93","x":1118.1835793208088,"y":570.5,"type":""},
  1079. {"name":"199","x":946.1197113755139,"y":516.2952043638097,"type":""},"const",180.39992938539922],[{"name":"93","x":1118.1835793208088,"y":570.5,"type":""},
  1080. {"name":"208","x":879.2571322378367,"y":484.95111348210173,"type":""},"const",253.7803363149803],[{"name":"93","x":1118.1835793208088,"y":570.5,"type":""},
  1081. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",206.67779462996376],[{"name":"94","x":1166.6412501315226,"y":570.5,"type":""},
  1082. {"name":"95","x":1190.4540868473107,"y":566.8364866591095,"type":""},"const",24.092997373752972],[{"name":"95","x":1190.4540868473107,"y":566.8364866591095,"type":""},
  1083. {"name":"96","x":1250.0843507044765,"y":509.9797234464632,"type":""},"const",82.39211060953677],[{"name":"95","x":1190.4540868473107,"y":566.8364866591095,"type":""},
  1084. {"name":"119","x":945.35891661259,"y":676.8901952327182,"type":""},"const",268.66979964854914],[{"name":"95","x":1190.4540868473107,"y":566.8364866591095,"type":""},
  1085. {"name":"194","x":996.9851452376639,"y":634.5,"type":""},"const",204.95995317424766],[{"name":"96","x":1250.0843507044765,"y":509.9797234464632,"type":""},
  1086. {"name":"97","x":1242.8106302951321,"y":453.60839027404484,"type":""},"const",56.8386682833888],[{"name":"97","x":1242.8106302951321,"y":453.60839027404484,"type":""},
  1087. {"name":"121","x":1158.8622079444117,"y":67.29007719193862,"type":""},"const",395.3342593777817],[{"name":"97","x":1242.8106302951321,"y":453.60839027404484,"type":""},
  1088. {"name":"166","x":1217.8931081282535,"y":362.1119443358846,"type":""},"const",94.82870098367673],[{"name":"100","x":634.2237150615942,"y":573.0871715628971,"type":""},
  1089. {"name":"101","x":601.0597809867265,"y":610.8254413722293,"type":""},"const",50.239660941572126],[{"name":"100","x":634.2237150615942,"y":573.0871715628971,"type":""},
  1090. {"name":"210","x":965.4134600186514,"y":258.6601535261447,"type":""},"const",456.67384076187767],[{"name":"101","x":601.0597809867265,"y":610.8254413722293,"type":""},
  1091. {"name":"102","x":581.4609628338108,"y":656.0534832635736,"type":""},"const",49.29188012559735],[{"name":"102","x":581.4609628338108,"y":656.0534832635736,"type":""},
  1092. {"name":"103","x":595.4652089690093,"y":688.0631887154559,"type":""},"const",34.9390920450358],[{"name":"102","x":581.4609628338108,"y":656.0534832635736,"type":""},
  1093. {"name":"138","x":544,"y":172.79830511517622,"type":""},"const",484.70495246456426],[{"name":"103","x":595.4652089690093,"y":688.0631887154559,"type":""},
  1094. {"name":"104","x":626.8515107089933,"y":719.4494904554399,"type":""},"const",44.386933593419634],[{"name":"103","x":595.4652089690093,"y":688.0631887154559,"type":""},
  1095. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"const",473.4945906187595],[{"name":"104","x":626.8515107089933,"y":719.4494904554399,"type":""},
  1096. {"name":"105","x":673.16734247755,"y":717.6681123104954,"type":""},"const",46.35007638082747],[{"name":"104","x":626.8515107089933,"y":719.4494904554399,"type":""},
  1097. {"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},"const",354.99096425656126],[{"name":"104","x":626.8515107089933,"y":719.4494904554399,"type":""},
  1098. {"name":"238","x":533.6368286970486,"y":687.7352757092593,"type":""},"const",98.46201480548129],[{"name":"105","x":673.16734247755,"y":717.6681123104954,"type":""},
  1099. {"name":"106","x":741.6936213269846,"y":670.6402738844129,"type":""},"const",83.11118143775956],[{"name":"105","x":673.16734247755,"y":717.6681123104954,"type":""},
  1100. {"name":"119","x":945.35891661259,"y":676.8901952327182,"type":""},"const",275.22916188389814],[{"name":"105","x":673.16734247755,"y":717.6681123104954,"type":""},
  1101. {"name":"194","x":996.9851452376639,"y":634.5,"type":""},"const",334.3275404295602],[{"name":"106","x":741.6936213269846,"y":670.6402738844129,"type":""},
  1102. {"name":"107","x":747.290802592158,"y":609.0712799675055,"type":""},"const",61.82288775247714],[{"name":"107","x":747.290802592158,"y":609.0712799675055,"type":""},
  1103. {"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},"const",32.72720780632854],[{"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},
  1104. {"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},"const",82.01328044192185],[{"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},
  1105. {"name":"117","x":1013.147458058351,"y":699.3939451284928,"type":""},"const",299.3033974268629],[{"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},
  1106. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"const",467.8800531253375],[{"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},
  1107. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},"const",795.7351820979673],[{"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},
  1108. {"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},"const",74.14997079035552],[{"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},
  1109. {"name":"100","x":634.2237150615942,"y":573.0871715628971,"type":""},"const",38.53358308507445],[{"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},
  1110. {"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},"const",376.4367138297526],[{"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},
  1111. {"name":"192","x":951.4509598622473,"y":629.8751335256056,"type":""},"const",299.55665657848795],[{"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},
  1112. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"const",92.36209904758263],[{"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},
  1113. {"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},"const",67.09223542194184],[{"name":"109","x":663.3431231197594,"y":547.8503512458207,"type":""},
  1114. {"name":"239","x":475.82652169723775,"y":679.4766604235721,"type":""},"const",229.10251215735252],[{"name":"110","x":918.6068848304548,"y":691.2951354230986,"type":""},
  1115. {"name":"111","x":902.7373165623441,"y":707.1647036912093,"type":""},"const",22.44295867376786],[{"name":"110","x":918.6068848304548,"y":691.2951354230986,"type":""},
  1116. {"name":"194","x":996.9851452376639,"y":634.5,"type":""},"const",96.7927637387651],[{"name":"117","x":1013.147458058351,"y":699.3939451284928,"type":""},
  1117. {"name":"118","x":974.2001000232046,"y":685.37289623584,"type":""},"const",41.39428112635902],[{"name":"117","x":1013.147458058351,"y":699.3939451284928,"type":""},
  1118. {"name":"191","x":909.5384627311921,"y":604.1868288323784,"type":""},"const",140.7096972711017],[{"name":"117","x":1013.147458058351,"y":699.3939451284928,"type":""},
  1119. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"const",291.38771611392053],[{"name":"118","x":974.2001000232046,"y":685.37289623584,"type":""},
  1120. {"name":"119","x":945.35891661259,"y":676.8901952327182,"type":""},"const",30.0627689482037],[{"name":"119","x":945.35891661259,"y":676.8901952327182,"type":""},
  1121. {"name":"110","x":918.6068848304548,"y":691.2951354230986,"type":""},"const",30.383770443458943],[{"name":"121","x":1158.8622079444117,"y":67.29007719193862,"type":""},
  1122. {"name":"122","x":1186.8982208363632,"y":111.09634733561299,"type":""},"const",52.00968489404878],[{"name":"121","x":1158.8622079444117,"y":67.29007719193862,"type":""},
  1123. {"name":"166","x":1217.8931081282535,"y":362.1119443358846,"type":""},"const",300.6735447670068],[{"name":"121","x":1158.8622079444117,"y":67.29007719193862,"type":""},
  1124. {"name":"217","x":1101.802156766718,"y":273.17834139179297,"type":""},"const",213.64883986492893],[{"name":"122","x":1186.8982208363632,"y":111.09634733561299,"type":""},
  1125. {"name":"123","x":1227.2152822080607,"y":129.3040524712183,"type":""},"const",44.23783407847146],[{"name":"123","x":1227.2152822080607,"y":129.3040524712183,"type":""},
  1126. {"name":"124","x":1263.7630953106393,"y":140.1330341312416,"type":""},"const",38.118361538425795],[{"name":"124","x":1263.7630953106393,"y":140.1330341312416,"type":""},
  1127. {"name":"125","x":1348.7516602933997,"y":116.44769634916086,"type":""},"const",88.22727131494065],[{"name":"124","x":1263.7630953106393,"y":140.1330341312416,"type":""},
  1128. {"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},"const",748.610228678086],[{"name":"124","x":1263.7630953106393,"y":140.1330341312416,"type":""},
  1129. {"name":"184","x":341.2680071961894,"y":127.34682266872501,"type":""},"const",922.5836952812741],[{"name":"125","x":1348.7516602933997,"y":116.44769634916086,"type":""},
  1130. {"name":"126","x":1362.7513900363388,"y":52.44893181001036,"type":""},"const",65.51209274182104],[{"name":"125","x":1348.7516602933997,"y":116.44769634916086,"type":""},
  1131. {"name":"160","x":1094.281416117,"y":315.58622503652333,"type":""},"const",323.12731048143235],[{"name":"125","x":1348.7516602933997,"y":116.44769634916086,"type":""},
  1132. {"name":"219","x":1016.478899630071,"y":226.74425376900746,"type":""},"const",350.10072558836436],[{"name":"126","x":1362.7513900363388,"y":52.44893181001036,"type":""},
  1133. {"name":"173","x":1505.0853317113156,"y":281.8187692696878,"type":""},"const",269.9434631344396],[{"name":"130","x":484.4698045789511,"y":136.4781897218005,"type":""},
  1134. {"name":"131","x":438.83420506366645,"y":154.45585013691263,"type":""},"const",49.04899812555336],[{"name":"131","x":438.83420506366645,"y":154.45585013691263,"type":""},
  1135. {"name":"132","x":406.2466052101337,"y":209.2030178908477,"type":""},"const",63.71188304619065],[{"name":"132","x":406.2466052101337,"y":209.2030178908477,"type":""},
  1136. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"const",49.09351203637654],[{"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},
  1137. {"name":"134","x":481.5650220002803,"y":261.17704243554334,"type":""},"const",83.46480593410709],[{"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},
  1138. {"name":"186","x":413.1463934407894,"y":106.4657936813084,"type":""},"const",151.90228469087668],[{"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},
  1139. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},"const",329.0079671927419],[{"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},
  1140. {"name":"198","x":979.9008928165559,"y":528.5792703423704,"type":""},"const",641.7308695509025],[{"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},
  1141. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"const",471.07620316344014],[{"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},
  1142. {"name":"207","x":924.8224409071219,"y":504.28185049331364,"type":""},"const",581.5450583764579],[{"name":"134","x":481.5650220002803,"y":261.17704243554334,"type":""},
  1143. {"name":"135","x":521.3955054198723,"y":249.10719897506095,"type":""},"const",41.619088536378854],[{"name":"135","x":521.3955054198723,"y":249.10719897506095,"type":""},
  1144. {"name":"136","x":538.4100513526747,"y":240.59992600865974,"type":""},"const",19.022840656019405],[{"name":"136","x":538.4100513526747,"y":240.59992600865974,"type":""},
  1145. {"name":"137","x":544,"y":205.19691790893253,"type":""},"const",35.841603038774416],[{"name":"137","x":544,"y":205.19691790893253,"type":""},
  1146. {"name":"138","x":544,"y":172.79830511517622,"type":""},"const",32.398612793756314],[{"name":"138","x":544,"y":172.79830511517622,"type":""},
  1147. {"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},"const",48.582975729764854],[{"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},
  1148. {"name":"130","x":484.4698045789511,"y":136.4781897218005,"type":""},"const",30.837464050468025],[{"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},
  1149. {"name":"187","x":353.53684540957664,"y":36.2116835016648,"type":""},"const",188.7591372909066],[{"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},
  1150. {"name":"184","x":341.2680071961894,"y":127.34682266872501,"type":""},"const",174.02812344524793],[{"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},
  1151. {"name":"218","x":1078.3062158848543,"y":236.25614857743562,"type":""},"const",572.3906052533645],[{"name":"147","x":352.5,"y":659.5222821435042,"type":""},
  1152. {"name":"148","x":341.2343354802587,"y":642.6237853638922,"type":""},"const",20.309465539051313],[{"name":"147","x":352.5,"y":659.5222821435042,"type":""},
  1153. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},"const",637.3889554757393],[{"name":"148","x":341.2343354802587,"y":642.6237853638922,"type":""},
  1154. {"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},"const",63.213233743350074],[{"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},
  1155. {"name":"140","x":222.48223279616994,"y":679.5945514317212,"type":""},"const",102.0522575060609],[{"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},
  1156. {"name":"159","x":54.40790671292386,"y":648.8447697611733,"type":""},"const",240.91712277511493],[{"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},
  1157. {"name":"200","x":803.2955953955485,"y":484.6752420779215,"type":""},"const",525.9007129529984],[{"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},
  1158. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",709.2888517760487],[{"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},
  1159. {"name":"219","x":1016.478899630071,"y":226.74425376900746,"type":""},"const",817.6275336689539],[{"name":"149","x":291.1300099864031,"y":604.0819965224648,"type":""},
  1160. {"name":"238","x":533.6368286970486,"y":687.7352757092593,"type":""},"const",256.52958550596395],[{"name":"157","x":152.45242806674474,"y":710.5169418112,"type":""},
  1161. {"name":"158","x":129.94757662762225,"y":679.5727710824066,"type":""},"const",38.26238414408713],[{"name":"158","x":129.94757662762225,"y":679.5727710824066,"type":""},
  1162. {"name":"159","x":54.40790671292386,"y":648.8447697611733,"type":""},"const",81.55030224358033],[{"name":"159","x":54.40790671292386,"y":648.8447697611733,"type":""},
  1163. {"name":"200","x":803.2955953955485,"y":484.6752420779215,"type":""},"const",766.6709881560315],[{"name":"159","x":54.40790671292386,"y":648.8447697611733,"type":""},
  1164. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",949.697709689759],[{"name":"160","x":1094.281416117,"y":315.58622503652333,"type":""},
  1165. {"name":"161","x":1062.0956921450586,"y":350.24777392938324,"type":""},"const",47.30056869901373],[{"name":"160","x":1094.281416117,"y":315.58622503652333,"type":""},
  1166. {"name":"215","x":1025.306672670151,"y":377.75315906959014,"type":""},"const",92.85603330225935],[{"name":"161","x":1062.0956921450586,"y":350.24777392938324,"type":""},
  1167. {"name":"162","x":1074.796611537772,"y":383.270164350438,"type":""},"const",35.380667355785846],[{"name":"161","x":1062.0956921450586,"y":350.24777392938324,"type":""},
  1168. {"name":"195","x":1017.5679186072465,"y":603.6258399456261,"type":""},"const",257.26089278078433],[{"name":"161","x":1062.0956921450586,"y":350.24777392938324,"type":""},
  1169. {"name":"217","x":1101.802156766718,"y":273.17834139179297,"type":""},"const",86.69660180432261],[{"name":"162","x":1074.796611537772,"y":383.270164350438,"type":""},
  1170. {"name":"163","x":1101.1663755674763,"y":417.9672222842595,"type":""},"const",43.58038875739012],[{"name":"165","x":1200.0366176867108,"y":407.745197686494,"type":""},
  1171. {"name":"166","x":1217.8931081282535,"y":362.1119443358846,"type":""},"const",49.00253118207074],[{"name":"166","x":1217.8931081282535,"y":362.1119443358846,"type":""},
  1172. {"name":"167","x":1202.6910871425982,"y":339.30891285740165,"type":""},"const",27.405833077229865],[{"name":"167","x":1202.6910871425982,"y":339.30891285740165,"type":""},
  1173. {"name":"168","x":1169.6797655836936,"y":317.3013651514651,"type":""},"const",39.67467085048693],[{"name":"167","x":1202.6910871425982,"y":339.30891285740165,"type":""},
  1174. {"name":"218","x":1078.3062158848543,"y":236.25614857743562,"type":""},"const",161.5285374896578],[{"name":"168","x":1169.6797655836936,"y":317.3013651514651,"type":""},
  1175. {"name":"169","x":1142.31253924242,"y":311.2197592978488,"type":""},"const",28.034817769574357],[{"name":"169","x":1142.31253924242,"y":311.2197592978488,"type":""},
  1176. {"name":"160","x":1094.281416117,"y":315.58622503652333,"type":""},"const",48.22919045283958],[{"name":"172","x":1502.2831069916128,"y":256.598746792364,"type":""},
  1177. {"name":"173","x":1505.0853317113156,"y":281.8187692696878,"type":""},"const",25.375224080516592],[{"name":"172","x":1502.2831069916128,"y":256.598746792364,"type":""},
  1178. {"name":"224","x":1494.3803628175028,"y":123.31513706277696,"type":""},"const",133.5176916667986],[{"name":"177","x":1620.6661685851184,"y":269.43181116132826,"type":""},
  1179. {"name":"178","x":1619.4765624558736,"y":186.15938211419413,"type":""},"const",83.28092580028589],[{"name":"177","x":1620.6661685851184,"y":269.43181116132826,"type":""},
  1180. {"name":"229","x":1722.82186966203,"y":53,"type":""},"const",239.32930481887956],[{"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},
  1181. {"name":"182","x":222.58971586842105,"y":111.93994494295062,"type":""},"const",101.77827438406392],[{"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},
  1182. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"const",799.5716987622106],[{"name":"182","x":222.58971586842105,"y":111.93994494295062,"type":""},
  1183. {"name":"183","x":277.3701384368386,"y":119.7657195955817,"type":""},"const",55.33658324913234],[{"name":"183","x":277.3701384368386,"y":119.7657195955817,"type":""},
  1184. {"name":"184","x":341.2680071961894,"y":127.34682266872501,"type":""},"const",64.34602362067791],[{"name":"184","x":341.2680071961894,"y":127.34682266872501,"type":""},
  1185. {"name":"185","x":366.33524810542565,"y":122.06950879309632,"type":""},"const",25.616725172113455],[{"name":"185","x":366.33524810542565,"y":122.06950879309632,"type":""},
  1186. {"name":"186","x":413.1463934407894,"y":106.4657936813084,"type":""},"const",49.34327971363866],[{"name":"186","x":413.1463934407894,"y":106.4657936813084,"type":""},
  1187. {"name":"187","x":353.53684540957664,"y":36.2116835016648,"type":""},"const",92.13543408276188],[{"name":"191","x":909.5384627311921,"y":604.1868288323784,"type":""},
  1188. {"name":"192","x":951.4509598622473,"y":629.8751335256056,"type":""},"const",49.158380910815055],[{"name":"192","x":951.4509598622473,"y":629.8751335256056,"type":""},
  1189. {"name":"193","x":973.0336700760873,"y":634.5,"type":""},"const",22.072670207307805],[{"name":"192","x":951.4509598622473,"y":629.8751335256056,"type":""},
  1190. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"const",207.55080569931508],[{"name":"193","x":973.0336700760873,"y":634.5,"type":""},
  1191. {"name":"194","x":996.9851452376639,"y":634.5,"type":""},"const",23.95147516157658],[{"name":"194","x":996.9851452376639,"y":634.5,"type":""},
  1192. {"name":"195","x":1017.5679186072465,"y":603.6258399456261,"type":""},"const",37.10612238764236],[{"name":"195","x":1017.5679186072465,"y":603.6258399456261,"type":""},
  1193. {"name":"196","x":1004.2693261766174,"y":571.329258328384,"type":""},"const",34.927378155183234],[{"name":"195","x":1017.5679186072465,"y":603.6258399456261,"type":""},
  1194. {"name":"213","x":957.7073856589043,"y":352.5101204252352,"type":""},"const",258.1518700205428],[{"name":"196","x":1004.2693261766174,"y":571.329258328384,"type":""},
  1195. {"name":"197","x":988.249833282283,"y":542.4941711185821,"type":""},"const",32.98615477724716],[{"name":"197","x":988.249833282283,"y":542.4941711185821,"type":""},
  1196. {"name":"198","x":979.9008928165559,"y":528.5792703423704,"type":""},"const",16.22742340952728],[{"name":"198","x":979.9008928165559,"y":528.5792703423704,"type":""},
  1197. {"name":"199","x":946.1197113755139,"y":516.2952043638097,"type":""},"const",35.94532649063341],[{"name":"198","x":979.9008928165559,"y":528.5792703423704,"type":""},
  1198. {"name":"207","x":924.8224409071219,"y":504.28185049331364,"type":""},"const",60.199671727187834],[{"name":"200","x":803.2955953955485,"y":484.6752420779215,"type":""},
  1199. {"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},"const",89.63249969243708],[{"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},
  1200. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"const",70.44518620133896],[{"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},
  1201. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",273.78551731820147],[{"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},
  1202. {"name":"210","x":965.4134600186514,"y":258.6601535261447,"type":""},"const",351.5407196157602],[{"name":"201","x":716.4490789960045,"y":506.84882073312417,"type":""},
  1203. {"name":"239","x":475.82652169723775,"y":679.4766604235721,"type":""},"const",296.14115910691856],[{"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},
  1204. {"name":"203","x":806.5556140543994,"y":573.3516885217153,"type":""},"const",53.20257740632008],[{"name":"203","x":806.5556140543994,"y":573.3516885217153,"type":""},
  1205. {"name":"204","x":856.7032731128759,"y":577.5306601099217,"type":""},"const",50.32148162147291],[{"name":"207","x":924.8224409071219,"y":504.28185049331364,"type":""},
  1206. {"name":"208","x":879.2571322378367,"y":484.95111348210173,"type":""},"const",49.49620942581232],[{"name":"208","x":879.2571322378367,"y":484.95111348210173,"type":""},
  1207. {"name":"209","x":847.9190688048005,"y":482.4440684074589,"type":""},"const",31.43818529653531],[{"name":"209","x":847.9190688048005,"y":482.4440684074589,"type":""},
  1208. {"name":"200","x":803.2955953955485,"y":484.6752420779215,"type":""},"const",44.67921793243463],[{"name":"210","x":965.4134600186514,"y":258.6601535261447,"type":""},
  1209. {"name":"211","x":960.7504063165591,"y":281.97542203660646,"type":""},"const",23.777001819899976],[{"name":"210","x":965.4134600186514,"y":258.6601535261447,"type":""},
  1210. {"name":"239","x":475.82652169723775,"y":679.4766604235721,"type":""},"const",645.5864796077194],[{"name":"211","x":960.7504063165591,"y":281.97542203660646,"type":""},
  1211. {"name":"212","x":956.4294038949586,"y":329.50644867421255,"type":""},"const",47.7270317027185],[{"name":"212","x":956.4294038949586,"y":329.50644867421255,"type":""},
  1212. {"name":"213","x":957.7073856589043,"y":352.5101204252352,"type":""},"const",23.039143895070726],[{"name":"213","x":957.7073856589043,"y":352.5101204252352,"type":""},
  1213. {"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},"const",70.27931275561932],[{"name":"214","x":976.1990961120151,"y":420.31305875330816,"type":""},
  1214. {"name":"215","x":1025.306672670151,"y":377.75315906959014,"type":""},"const",64.98383750211529],[{"name":"215","x":1025.306672670151,"y":377.75315906959014,"type":""},
  1215. {"name":"216","x":1047.1560706166817,"y":357.053729436035,"type":""},"const",30.097551026293797],[{"name":"216","x":1047.1560706166817,"y":357.053729436035,"type":""},
  1216. {"name":"217","x":1101.802156766718,"y":273.17834139179297,"type":""},"const",100.10632073495346],[{"name":"217","x":1101.802156766718,"y":273.17834139179297,"type":""},
  1217. {"name":"218","x":1078.3062158848543,"y":236.25614857743562,"type":""},"const",43.76422694558446],[{"name":"218","x":1078.3062158848543,"y":236.25614857743562,"type":""},
  1218. {"name":"219","x":1016.478899630071,"y":226.74425376900746,"type":""},"const",62.554721469410964],[{"name":"219","x":1016.478899630071,"y":226.74425376900746,"type":""},
  1219. {"name":"210","x":965.4134600186514,"y":258.6601535261447,"type":""},"const",60.21879922428856],[{"name":"223","x":1507.1177574332664,"y":85.10295321548632,"type":""},
  1220. {"name":"224","x":1494.3803628175028,"y":123.31513706277696,"type":""},"const",40.27917844217807],[{"name":"227","x":1634.4772946186545,"y":120.08865697273093,"type":""},
  1221. {"name":"228","x":1648.569092362106,"y":112.40222183993916,"type":""},"const",16.05179269405632],[{"name":"228","x":1648.569092362106,"y":112.40222183993916,"type":""},
  1222. {"name":"229","x":1722.82186966203,"y":53,"type":""},"const",95.08995160516936],[{"name":"229","x":1722.82186966203,"y":53,"type":""},
  1223. {"name":"220","x":1639.7298915187566,"y":53.00000000000001,"type":""},"const",83.09197814327331],[{"name":"237","x":560.7547859516193,"y":706.877363183074,"type":""},
  1224. {"name":"238","x":533.6368286970486,"y":687.7352757092593,"type":""},"const",33.19341980748434],[{"name":"238","x":533.6368286970486,"y":687.7352757092593,"type":""},
  1225. {"name":"239","x":475.82652169723775,"y":679.4766604235721,"type":""},"const",58.397228717203404],[{"name":"player","x":100,"y":100,"type":"player"},
  1226. {"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},"var",475.0410693030716],[{"name":"player","x":100,"y":100,"type":"player"},
  1227. {"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},"var",434.2784913076533],[{"name":"player","x":100,"y":100,"type":"player"},
  1228. {"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},"var",149.3858968154142],[{"name":"player","x":100,"y":100,"type":"player"},
  1229. {"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},"var",798.2577975693512],[{"name":"player","x":100,"y":100,"type":"player"},
  1230. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"var",337.27659265236],[{"name":"player","x":100,"y":100,"type":"player"},
  1231. {"name":"184","x":341.2680071961894,"y":127.34682266872501,"type":""},"var",242.8128909397011],[{"name":"player","x":100,"y":100,"type":"player"},
  1232. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"var",803.2044974295419],[{"name":"2585","x":171,"y":122,"type":"allie"},
  1233. {"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},"var",424.5428223515612],[{"name":"2585","x":171,"y":122,"type":"allie"},
  1234. {"name":"47","x":445.45190983550566,"y":435.1121553399702,"type":""},"var",416.3689141062264],[{"name":"2585","x":171,"y":122,"type":"allie"},
  1235. {"name":"76","x":171.05450927611957,"y":258.5,"type":""},"var",136.50001088374017],[{"name":"2585","x":171,"y":122,"type":"allie"},
  1236. {"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},"var",728.6111329180097],[{"name":"2585","x":171,"y":122,"type":"allie"},
  1237. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"var",264.5824947674739],[{"name":"2585","x":171,"y":122,"type":"allie"},
  1238. {"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},"var",344.37896644057383],[{"name":"2585","x":171,"y":122,"type":"allie"},
  1239. {"name":"147","x":352.5,"y":659.5222821435042,"type":""},"var",567.3380419121927],[{"name":"2585","x":171,"y":122,"type":"allie"},
  1240. {"name":"184","x":341.2680071961894,"y":127.34682266872501,"type":""},"var",170.35193802012466],[{"name":"2585","x":171,"y":122,"type":"allie"},
  1241. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},"var",71.39727162164735],[{"name":"2585","x":171,"y":122,"type":"allie"},
  1242. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"var",733.0042344492691],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  1243. {"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},"var",386.9207320551183],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  1244. {"name":"47","x":445.45190983550566,"y":435.1121553399702,"type":""},"var",344.37793610826577],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  1245. {"name":"70","x":37.217342303215354,"y":217.1174594675131,"type":""},"var",259.95392603739697],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  1246. {"name":"75","x":166.02128916605224,"y":283.66610055033675,"type":""},"var",191.66415098549578],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  1247. {"name":"103","x":595.4652089690093,"y":688.0631887154559,"type":""},"var",638.3194987663459],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  1248. {"name":"124","x":1263.7630953106393,"y":140.1330341312416,"type":""},"var",981.0925983047125],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  1249. {"name":"133","x":398.17568154809004,"y":257.62855986310973,"type":""},"var",170.91599639926625],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  1250. {"name":"139","x":515.1806255315042,"y":133.68629690793205,"type":""},"var",232.48237745520552],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  1251. {"name":"184","x":341.2680071961894,"y":127.34682266872501,"type":""},"var",58.715883663506396],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  1252. {"name":"182","x":222.58971586842105,"y":111.93994494295062,"type":""},"var",63.25551243883601],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  1253. {"name":"199","x":249.9050082430132,"y":102.09744199109065,"type":"allie"},"var",44.1282092957909],[{"name":"826","x":282.7074737051315,"y":131.6151843718972,"type":"enemy"},
  1254. {"name":"2585","x":171,"y":122,"type":"allie"},"var",112.12052199347016],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  1255. {"name":"42","x":330.03278712652036,"y":515.630766872967,"type":""},"var",293.9650424785912],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  1256. {"name":"48","x":412.9670722140494,"y":401.08042068892075,"type":""},"var",262.12088923847034],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  1257. {"name":"54","x":670.6168679786357,"y":380.7234513983151,"type":""},"var",491.24332514971724],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  1258. {"name":"77","x":166.1434544585186,"y":233.944725911995,"type":""},"var",35.96703115932087],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  1259. {"name":"75","x":166.02128916605224,"y":283.66610055033675,"type":""},"var",42.17582986887332],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  1260. {"name":"108","x":739.9317787891991,"y":577.1821768213507,"type":""},"var",632.6993752105095],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  1261. {"name":"134","x":481.5650220002803,"y":261.17704243554334,"type":""},"var",285.65519727136444],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  1262. {"name":"131","x":438.83420506366645,"y":154.45585013691263,"type":""},"var",262.445211274406],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  1263. {"name":"147","x":352.5,"y":659.5222821435042,"type":""},"var",434.67294753052647],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  1264. {"name":"186","x":413.1463934407894,"y":106.4657936813084,"type":""},"var",262.52409073917073],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  1265. {"name":"181","x":134.78580515724664,"y":60.46868693984838,"type":""},"var",202.98164149753293],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  1266. {"name":"202","x":753.7849530110408,"y":566.5862191571822,"type":""},"var",639.4014374495188],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  1267. {"name":"208","x":879.2571322378367,"y":484.95111348210173,"type":""},"var",721.2341683340406],[{"name":"8693","x":196,"y":254,"type":"enemy"},
  1268. {"name":"2585","x":171,"y":122,"type":"allie"},"var",134.34656675925888]]
  1269.  
  1270.  
  1271. // конвертирем граф
  1272. var convert_graph3 = function(vertices, edges) {
  1273.   var right_graph = [];
  1274.   var vertices_num = new Map();
  1275.   var vertices_num_back = new Map();
  1276.   var vertices_coords = {};
  1277.   //var vertices_num_back = {};
  1278.   for (var i in vertices) {
  1279.     right_graph.push(new Map());
  1280.     vertices_num.set(vertices[i].name, right_graph.length-1);
  1281.     vertices_num_back.set(right_graph.length-1, vertices[i].name);
  1282.     vertices_coords[vertices[i].name] = vertices[i]
  1283.   }
  1284.   //console.log(right_graph, vertices_num)
  1285.   for (var i in edges) {
  1286.     var p1 = edges[i][0].name;
  1287.     var p2 = edges[i][1].name;
  1288.  
  1289.     var p1_num = vertices_num.get(p1);
  1290.     var p2_num = vertices_num.get(p2);
  1291.  
  1292.     var weight = edges[i][3];
  1293.     //console.log(p1_num, p2_num)
  1294.     right_graph[p1_num].set(p2_num, weight);
  1295.     right_graph[p2_num].set(p1_num, weight);
  1296.   }
  1297.   //game_active = false
  1298.   return [right_graph, vertices_num, vertices_num_back, vertices_coords]
  1299.  
  1300.  
  1301. }
  1302.  
  1303.  
  1304. var graph_and_verts = convert_graph3(vertices, edges);
  1305.  
  1306. var graph = graph_and_verts[0]
  1307. var verts = graph_and_verts[1]
  1308. var verts_back = graph_and_verts[2]
  1309. var verts_coords = graph_and_verts[3]
  1310. var all_edges = []
  1311.  
  1312. for (var i in edges) {
  1313.     var p1 = edges[i][0].name;
  1314.     var p2 = edges[i][1].name;
  1315.     all_edges.push([verts.get(p1), verts.get(p2), edges[i][3]])
  1316. }
  1317.  
  1318. //console.log(JSON.stringify(all_edges))
  1319.  
  1320.  
  1321. var s = verts.get('player')
  1322. var e = verts.get('2585')
  1323.  
  1324. console.log(s, e)
  1325.  
  1326. var times = [];
  1327.  
  1328. var get = function(s, e) {
  1329.   var path = findShortestPath(graph, s, e);
  1330.   var sum = 0
  1331.   for (var i in path.path) {
  1332.     sum += path.path[i]
  1333.   }
  1334.   return sum
  1335.  
  1336. }
  1337.  
  1338. var res;
  1339.  
  1340. for (var i=0; i < 1000;i++) {
  1341.  var s_t = performance.now()
  1342.  res = get(s, e)
  1343.  times.push(performance.now() - s_t);
  1344. }
  1345.  
  1346. function average(nums) {
  1347.    return nums.reduce((a, b) => (a + b)) / nums.length;
  1348. }
  1349.  
  1350. console.log(average(times))
  1351.  
  1352.  
  1353. /*
  1354.  
  1355.  
  1356. graph
  1357.  
  1358. 0 6 70.71067811865476
  1359. 1 0 810
  1360. 1 2 70.71067811865476
  1361. 3 2 1592
  1362. 3 5 70.71067811865476
  1363. 3 153 205.87711451966396
  1364. 4 7 70.71067811865476
  1365. 4 112 512.6115351930363
  1366. 4 153 737.0774717197235
  1367. 5 153 135.6583919878893
  1368. 6 94 310.40008748620136
  1369. 7 94 1281.6150329914337
  1370. 8 9 55.43314410935759
  1371. 8 27 394.91497146070554
  1372. 8 89 249.25217498817833
  1373. 9 10 62.68381161480822
  1374. 9 85 257.37611801643203
  1375. 9 119 357.92609495024175
  1376. 10 11 22.00603386355706
  1377. 10 43 325.893754212365
  1378. 10 95 145.6349677143284
  1379. 10 114 495.27154468751036
  1380. 11 12 40.754770931103174
  1381. 11 66 338.44828019294425
  1382. 11 154 277.7768610143829
  1383. 12 13 63.96396957495827
  1384. 12 71 279.46200199816974
  1385. 12 130 423.73430144247175
  1386. 12 142 605.3109163530141
  1387. 13 14 42.685329113484585
  1388. 13 22 267.044681207588
  1389. 13 18 383.79570105328406
  1390. 13 89 295.1151050396651
  1391. 13 97 173.37684490280637
  1392. 13 147 644.3394809974541
  1393. 14 15 45.39123913699872
  1394. 15 16 47.047036449194316
  1395. 15 65 294.0887879580657
  1396. 15 86 183.6721765115165
  1397. 15 114 486.6941103104043
  1398. 16 17 25.7772200449739
  1399. 16 43 298.08763602419685
  1400. 16 39 354.1679638306291
  1401. 16 70 371.37278825824006
  1402. 16 74 670.2294043204714
  1403. 16 132 378.87860482952715
  1404. 17 8 37.97639596422426
  1405. 17 22 283.4489103653117
  1406. 17 136 499.55002623505305
  1407. 17 142 589.0762111107545
  1408. 18 19 68.56451044560333
  1409. 19 20 60.809531997686655
  1410. 19 64 400.06011580087164
  1411. 19 156 445.50275071828963
  1412. 20 21 41.7268040869492
  1413. 21 22 44.409786926805985
  1414. 21 70 244.19177296204867
  1415. 21 91 205.16309784978526
  1416. 21 131 170.98157093493768
  1417. 22 23 73.41351083187409
  1418. 22 44 578.7057992684693
  1419. 22 39 603.7781336207288
  1420. 22 49 794.3115697606781
  1421. 22 57 486.1389713865941
  1422. 22 86 298.95911490661615
  1423. 22 128 342.80891355908545
  1424. 22 135 282.6431518625895
  1425. 22 142 308.1360659862511
  1426. 22 147 378.58967001309463
  1427. 23 24 47.156569853258866
  1428. 23 63 299.1373917294431
  1429. 23 156 424.0775352517563
  1430. 24 25 86.13825660873893
  1431. 24 131 210.320160984807
  1432. 25 26 33.06353502569152
  1433. 26 27 67.91460112401641
  1434. 26 57 540.3387174980588
  1435. 26 92 228.93825991593803
  1436. 26 120 412.75883815805963
  1437. 26 128 418.9168740031914
  1438. 26 142 333.7521131385038
  1439. 27 18 31.90572098820839
  1440. 27 80 593.5258503155924
  1441. 27 89 148.5928396302128
  1442. 27 147 349.297544643658
  1443. 28 29 59.67018420401978
  1444. 28 81 209.96278270854182
  1445. 28 106 69.99034725665763
  1446. 28 149 340.8623984131601
  1447. 29 30 23.113480906778186
  1448. 29 60 155.8179847580466
  1449. 29 77 297.5407757529884
  1450. 30 31 24.194433832360634
  1451. 30 48 312.87236629082633
  1452. 31 32 95.03245812683691
  1453. 31 52 306.82477443979093
  1454. 31 107 78.85870804148841
  1455. 32 33 28.769841069179858
  1456. 32 60 147.93878749367386
  1457. 33 34 26.884913041414087
  1458. 33 149 324.73490720293273
  1459. 34 35 34.539644671799884
  1460. 34 48 312.60280041119495
  1461. 34 82 298.7966839326061
  1462. 35 36 47.88309910969351
  1463. 35 52 298.6492567682363
  1464. 35 78 270.88254329096384
  1465. 36 37 55.92799176338086
  1466. 36 146 250.2794421195491
  1467. 37 28 28.746317165572204
  1468. 37 101 174.53904785374436
  1469. 39 40 28.56292626279466
  1470. 39 136 827.1618749297187
  1471. 39 142 911.9072364060776
  1472. 40 41 71.83348433366919
  1473. 40 87 385.18415791555594
  1474. 41 42 25.66448755744104
  1475. 41 84 301.86449922516306
  1476. 41 119 304.09006218105435
  1477. 42 43 25.041564347271354
  1478. 42 114 201.32515950767336
  1479. 43 44 53.81505716045718
  1480. 43 70 668.6142302142265
  1481. 43 95 464.5912380083568
  1482. 43 132 675.2576499747647
  1483. 44 45 41.40801209082323
  1484. 44 57 1063.3996891527247
  1485. 44 136 809.6193736796965
  1486. 45 38 41.60346490016386
  1487. 45 86 326.14140573310647
  1488. 45 83 413.3998108385815
  1489. 45 118 301.0257064648056
  1490. 46 47 32.324323407861954
  1491. 47 48 74.97098636842881
  1492. 47 150 482.148526864346
  1493. 48 49 51.584467579702824
  1494. 48 61 244.27972531448285
  1495. 48 106 336.640487491796
  1496. 49 57 308.50551001966323
  1497. 49 128 451.6465055929891
  1498. 49 135 511.844500792933
  1499. 50 51 49.512416392803104
  1500. 51 52 53.04787162699196
  1501. 52 53 76.43056418497244
  1502. 52 82 547.120073731121
  1503. 52 110 325.05226324305437
  1504. 52 150 458.3924820628751
  1505. 53 54 20.039265191224455
  1506. 54 46 25.030634943141447
  1507. 54 58 244.9260216552532
  1508. 54 67 756.3463895463947
  1509. 54 76 482.3227102069046
  1510. 54 124 422.2533744531271
  1511. 55 56 58.460583239231624
  1512. 55 102 115.82406310298205
  1513. 55 125 152.5815324765102
  1514. 56 57 55.57519143003837
  1515. 57 58 48.45767081071381
  1516. 57 158 180.39992938539922
  1517. 57 136 253.7803363149803
  1518. 57 142 206.67779462996376
  1519. 58 59 24.092997373752972
  1520. 59 60 82.39211060953677
  1521. 59 76 268.66979964854914
  1522. 59 124 204.95995317424766
  1523. 60 61 56.8386682833888
  1524. 61 77 395.3342593777817
  1525. 61 106 94.82870098367673
  1526. 62 63 50.239660941572126
  1527. 62 138 456.67384076187767
  1528. 63 64 49.29188012559735
  1529. 64 65 34.9390920450358
  1530. 64 91 484.70495246456426
  1531. 65 66 44.386933593419634
  1532. 65 86 473.4945906187595
  1533. 66 67 46.35007638082747
  1534. 66 97 354.99096425656126
  1535. 66 155 98.46201480548129
  1536. 67 68 83.11118143775956
  1537. 67 76 275.22916188389814
  1538. 67 124 334.3275404295602
  1539. 68 69 61.82288775247714
  1540. 69 70 32.72720780632854
  1541. 70 71 82.01328044192185
  1542. 70 74 299.3033974268629
  1543. 70 86 467.8800531253375
  1544. 70 114 795.7351820979673
  1545. 70 131 74.14997079035552
  1546. 71 62 38.53358308507445
  1547. 71 97 376.4367138297526
  1548. 71 122 299.55665657848795
  1549. 71 132 92.36209904758263
  1550. 71 131 67.09223542194184
  1551. 71 156 229.10251215735252
  1552. 72 73 22.44295867376786
  1553. 72 124 96.7927637387651
  1554. 74 75 41.39428112635902
  1555. 74 121 140.7096972711017
  1556. 74 132 291.38771611392053
  1557. 75 76 30.0627689482037
  1558. 76 72 30.383770443458943
  1559. 77 78 52.00968489404878
  1560. 77 106 300.6735447670068
  1561. 77 145 213.64883986492893
  1562. 78 79 44.23783407847146
  1563. 79 80 38.118361538425795
  1564. 80 81 88.22727131494065
  1565. 80 92 748.610228678086
  1566. 80 117 922.5836952812741
  1567. 81 82 65.51209274182104
  1568. 81 101 323.12731048143235
  1569. 81 147 350.10072558836436
  1570. 82 111 269.9434631344396
  1571. 83 84 49.04899812555336
  1572. 84 85 63.71188304619065
  1573. 85 86 49.09351203637654
  1574. 86 87 83.46480593410709
  1575. 86 119 151.90228469087668
  1576. 86 114 329.0079671927419
  1577. 86 128 641.7308695509025
  1578. 86 132 471.07620316344014
  1579. 86 135 581.5450583764579
  1580. 87 88 41.619088536378854
  1581. 88 89 19.022840656019405
  1582. 89 90 35.841603038774416
  1583. 90 91 32.398612793756314
  1584. 91 92 48.582975729764854
  1585. 92 83 30.837464050468025
  1586. 92 120 188.7591372909066
  1587. 92 117 174.02812344524793
  1588. 92 146 572.3906052533645
  1589. 95 96 20.309465539051313
  1590. 95 114 637.3889554757393
  1591. 96 97 63.213233743350074
  1592. 97 93 102.0522575060609
  1593. 97 100 240.91712277511493
  1594. 97 130 525.9007129529984
  1595. 97 142 709.2888517760487
  1596. 97 147 817.6275336689539
  1597. 97 155 256.52958550596395
  1598. 98 99 38.26238414408713
  1599. 99 100 81.55030224358033
  1600. 100 130 766.6709881560315
  1601. 100 142 949.697709689759
  1602. 101 102 47.30056869901373
  1603. 101 143 92.85603330225935
  1604. 102 103 35.380667355785846
  1605. 102 125 257.26089278078433
  1606. 102 145 86.69660180432261
  1607. 103 104 43.58038875739012
  1608. 105 106 49.00253118207074
  1609. 106 107 27.405833077229865
  1610. 107 108 39.67467085048693
  1611. 107 146 161.5285374896578
  1612. 108 109 28.034817769574357
  1613. 109 101 48.22919045283958
  1614. 110 111 25.375224080516592
  1615. 110 150 133.5176916667986
  1616. 112 113 83.28092580028589
  1617. 112 153 239.32930481887956
  1618. 114 115 101.77827438406392
  1619. 114 132 799.5716987622106
  1620. 115 116 55.33658324913234
  1621. 116 117 64.34602362067791
  1622. 117 118 25.616725172113455
  1623. 118 119 49.34327971363866
  1624. 119 120 92.13543408276188
  1625. 121 122 49.158380910815055
  1626. 122 123 22.072670207307805
  1627. 122 132 207.55080569931508
  1628. 123 124 23.95147516157658
  1629. 124 125 37.10612238764236
  1630. 125 126 34.927378155183234
  1631. 125 141 258.1518700205428
  1632. 126 127 32.98615477724716
  1633. 127 128 16.22742340952728
  1634. 128 158 35.94532649063341
  1635. 128 135 60.199671727187834
  1636. 130 131 89.63249969243708
  1637. 131 132 70.44518620133896
  1638. 131 142 273.78551731820147
  1639. 131 138 351.5407196157602
  1640. 131 156 296.14115910691856
  1641. 132 133 53.20257740632008
  1642. 133 134 50.32148162147291
  1643. 135 136 49.49620942581232
  1644. 136 137 31.43818529653531
  1645. 137 130 44.67921793243463
  1646. 138 139 23.777001819899976
  1647. 138 156 645.5864796077194
  1648. 139 140 47.7270317027185
  1649. 140 141 23.039143895070726
  1650. 141 142 70.27931275561932
  1651. 142 143 64.98383750211529
  1652. 143 144 30.097551026293797
  1653. 144 145 100.10632073495346
  1654. 145 146 43.76422694558446
  1655. 146 147 62.554721469410964
  1656. 147 138 60.21879922428856
  1657. 149 150 40.27917844217807
  1658. 151 152 16.05179269405632
  1659. 152 153 95.08995160516936
  1660. 153 148 83.09197814327331
  1661. 154 155 33.19341980748434
  1662. 155 156 58.397228717203404
  1663. 157 10 475.0410693030716
  1664. 157 16 434.2784913076533
  1665. 157 43 149.3858968154142
  1666. 157 70 798.2577975693512
  1667. 157 86 337.27659265236
  1668. 157 117 242.8128909397011
  1669. 157 132 803.2044974295419
  1670. 159 10 424.5428223515612
  1671. 159 15 416.3689141062264
  1672. 159 42 136.50001088374017
  1673. 159 70 728.6111329180097
  1674. 159 86 264.5824947674739
  1675. 159 92 344.37896644057383
  1676. 159 95 567.3380419121927
  1677. 159 117 170.35193802012466
  1678. 159 114 71.39727162164735
  1679. 159 132 733.0042344492691
  1680. 160 10 386.9207320551183
  1681. 160 15 344.37793610826577
  1682. 160 38 259.95392603739697
  1683. 160 41 191.66415098549578
  1684. 160 65 638.3194987663459
  1685. 160 80 981.0925983047125
  1686. 160 86 170.91599639926625
  1687. 160 92 232.48237745520552
  1688. 160 117 58.715883663506396
  1689. 160 115 63.25551243883601
  1690. 160 158 44.1282092957909
  1691. 160 159 112.12052199347016
  1692. 161 10 293.9650424785912
  1693. 161 16 262.12088923847034
  1694. 161 22 491.24332514971724
  1695. 161 43 35.96703115932087
  1696. 161 41 42.17582986887332
  1697. 161 70 632.6993752105095
  1698. 161 87 285.65519727136444
  1699. 161 84 262.445211274406
  1700. 161 95 434.67294753052647
  1701. 161 119 262.52409073917073
  1702. 161 114 202.98164149753293
  1703. 161 132 639.4014374495188
  1704. 161 136 721.2341683340406
  1705. 161 159 134.34656675925888
  1706. */
  1707. </script>
  1708. </body>
  1709. </html>
Add Comment
Please, Sign In to add comment