six-degrees 0.4.10 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +9 -9
  5. package/.next/standalone/.next/routes-manifest.json +6 -0
  6. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  12. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  14. package/.next/standalone/.next/server/app/_not-found.rsc +13 -13
  15. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
  16. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +12 -12
  17. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  18. package/.next/standalone/.next/server/app/api/admin-delete/route.js +1 -1
  19. package/.next/standalone/.next/server/app/api/admin-delete/route.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/api/admin-update/route.js +1 -1
  21. package/.next/standalone/.next/server/app/api/admin-update/route.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/api/bridges/route.js +1 -1
  23. package/.next/standalone/.next/server/app/api/bridges/route.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/api/bulk-import/route.js +1 -1
  25. package/.next/standalone/.next/server/app/api/bulk-import/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js +1 -1
  27. package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/company-scores/route.js +1 -1
  29. package/.next/standalone/.next/server/app/api/company-scores/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/connections/route.js +1 -1
  31. package/.next/standalone/.next/server/app/api/connections/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/data/export/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/data/import/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/data/restart/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/data/reveal/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/delete-cluster/route.js +1 -1
  38. package/.next/standalone/.next/server/app/api/delete-cluster/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/ingest/route.js +1 -1
  40. package/.next/standalone/.next/server/app/api/ingest/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/network/route.js +1 -1
  42. package/.next/standalone/.next/server/app/api/network/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  44. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/outreach/route.js +1 -1
  46. package/.next/standalone/.next/server/app/api/outreach/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/api/queue/route.js +1 -1
  48. package/.next/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/scraper/route.js +3 -2
  50. package/.next/standalone/.next/server/app/api/scraper/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/api/settings/route.js +1 -1
  52. package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js +1 -1
  54. package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js +1 -1
  56. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/setup-profile/route.js +1 -1
  58. package/.next/standalone/.next/server/app/api/setup-profile/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/social/crm/route/app-paths-manifest.json +3 -0
  60. package/.next/standalone/.next/server/app/api/social/crm/route/build-manifest.json +12 -0
  61. package/.next/standalone/.next/server/app/api/social/crm/route/server-reference-manifest.json +4 -0
  62. package/.next/standalone/.next/server/app/api/social/crm/route.js +10 -0
  63. package/.next/standalone/.next/server/app/api/social/crm/route.js.map +5 -0
  64. package/.next/standalone/.next/server/app/api/social/crm/route.js.nft.json +1 -0
  65. package/.next/standalone/.next/server/app/api/social/crm/route_client-reference-manifest.js +3 -0
  66. package/.next/standalone/.next/server/app/api/social/messages/route.js +4 -3
  67. package/.next/standalone/.next/server/app/api/social/messages/route.js.nft.json +1 -1
  68. package/.next/standalone/.next/server/app/api/social/route.js +4 -3
  69. package/.next/standalone/.next/server/app/api/social/route.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/api/unlock/route.js +1 -1
  71. package/.next/standalone/.next/server/app/api/unlock/route.js.nft.json +1 -1
  72. package/.next/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/api/update-images/route.js +1 -1
  74. package/.next/standalone/.next/server/app/api/update-images/route.js.nft.json +1 -1
  75. package/.next/standalone/.next/server/app/api/users/route.js +1 -1
  76. package/.next/standalone/.next/server/app/api/users/route.js.nft.json +1 -1
  77. package/.next/standalone/.next/server/app/avatars/[file]/route.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/import/page.js.nft.json +1 -1
  79. package/.next/standalone/.next/server/app/import/page_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/import.html +1 -1
  81. package/.next/standalone/.next/server/app/import.rsc +15 -15
  82. package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +15 -15
  83. package/.next/standalone/.next/server/app/import.segments/_tree.segment.rsc +2 -2
  84. package/.next/standalone/.next/server/app/import.segments/import/__PAGE__.segment.rsc +14 -14
  85. package/.next/standalone/.next/server/app/index.html +1 -1
  86. package/.next/standalone/.next/server/app/index.rsc +15 -15
  87. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +14 -14
  88. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  89. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  90. package/.next/standalone/.next/server/app/launch/page.js.nft.json +1 -1
  91. package/.next/standalone/.next/server/app/launch/page_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/launch.html +2 -2
  93. package/.next/standalone/.next/server/app/launch.rsc +15 -15
  94. package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +15 -15
  95. package/.next/standalone/.next/server/app/launch.segments/_tree.segment.rsc +2 -2
  96. package/.next/standalone/.next/server/app/launch.segments/launch/__PAGE__.segment.rsc +14 -14
  97. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/paths/page.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/paths/page_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/paths.html +1 -1
  102. package/.next/standalone/.next/server/app/paths.rsc +15 -15
  103. package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +15 -15
  104. package/.next/standalone/.next/server/app/paths.segments/_tree.segment.rsc +2 -2
  105. package/.next/standalone/.next/server/app/paths.segments/paths/__PAGE__.segment.rsc +14 -14
  106. package/.next/standalone/.next/server/app/profile/page.js.nft.json +1 -1
  107. package/.next/standalone/.next/server/app/profile/page_client-reference-manifest.js +1 -1
  108. package/.next/standalone/.next/server/app/profile.html +1 -1
  109. package/.next/standalone/.next/server/app/profile.rsc +15 -15
  110. package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +15 -15
  111. package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +2 -2
  112. package/.next/standalone/.next/server/app/profile.segments/profile/__PAGE__.segment.rsc +14 -14
  113. package/.next/standalone/.next/server/app/queue/page.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/queue.html +1 -1
  116. package/.next/standalone/.next/server/app/queue.rsc +15 -15
  117. package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +15 -15
  118. package/.next/standalone/.next/server/app/queue.segments/_tree.segment.rsc +2 -2
  119. package/.next/standalone/.next/server/app/queue.segments/queue/__PAGE__.segment.rsc +14 -14
  120. package/.next/standalone/.next/server/app/scores/page.js.nft.json +1 -1
  121. package/.next/standalone/.next/server/app/scores/page_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/scores.html +1 -1
  123. package/.next/standalone/.next/server/app/scores.rsc +15 -15
  124. package/.next/standalone/.next/server/app/scores.segments/_full.segment.rsc +15 -15
  125. package/.next/standalone/.next/server/app/scores.segments/_tree.segment.rsc +2 -2
  126. package/.next/standalone/.next/server/app/scores.segments/scores/__PAGE__.segment.rsc +14 -14
  127. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  128. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  129. package/.next/standalone/.next/server/app/settings.html +1 -1
  130. package/.next/standalone/.next/server/app/settings.rsc +15 -15
  131. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +15 -15
  132. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  133. package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +14 -14
  134. package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/setup.html +1 -1
  137. package/.next/standalone/.next/server/app/setup.rsc +15 -15
  138. package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +15 -15
  139. package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  140. package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +14 -14
  141. package/.next/standalone/.next/server/app/social/page.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/social/page_client-reference-manifest.js +1 -1
  143. package/.next/standalone/.next/server/app/social.html +1 -1
  144. package/.next/standalone/.next/server/app/social.rsc +15 -15
  145. package/.next/standalone/.next/server/app/social.segments/_full.segment.rsc +15 -15
  146. package/.next/standalone/.next/server/app/social.segments/_tree.segment.rsc +2 -2
  147. package/.next/standalone/.next/server/app/social.segments/social/__PAGE__.segment.rsc +14 -14
  148. package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
  149. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0bat8nx._.js → [root-of-the-server]__05_3-22._.js} +2 -2
  150. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t3v1a1._.js +1 -1
  151. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__06mi9k2._.js → [root-of-the-server]__13dx4sd._.js} +7 -2
  152. package/.next/standalone/.next/server/chunks/[root-of-the-server]__15wc9e-._.js +3 -0
  153. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1kbl21f._.js +1 -1
  154. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1tir0vc._.js +8 -0
  155. package/.next/standalone/.next/server/chunks/[root-of-the-server]__20rwfdw._.js +8 -0
  156. package/.next/standalone/.next/server/chunks/_072jl0y._.js +1 -1
  157. package/.next/standalone/.next/server/chunks/_0ea9qwy._.js +1 -1
  158. package/.next/standalone/.next/server/chunks/_1_fynia._.js +7 -7
  159. package/.next/standalone/.next/server/chunks/_1itd1o_._.js +1 -1
  160. package/.next/standalone/.next/server/chunks/_1iwkh8t._.js +1 -1
  161. package/.next/standalone/.next/server/chunks/_1oqfuh8._.js +3 -0
  162. package/.next/standalone/.next/server/chunks/_1xh07bp._.js +1 -1
  163. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_social_crm_route_actions_0d1aflv.js +3 -0
  164. package/.next/standalone/.next/server/chunks/lib_0851sk0._.js +8 -0
  165. package/.next/standalone/.next/server/chunks/lib_1q7p2ro._.js +8 -0
  166. package/.next/standalone/.next/server/chunks/lib_1r6l86l._.js +8 -0
  167. package/.next/standalone/.next/server/chunks/lib_db-client_15le7cw.js +8 -8
  168. package/.next/standalone/.next/server/chunks/lib_linkedin-export_12imqxg.js +3 -0
  169. package/.next/standalone/.next/server/chunks/lib_rpc_04s8mzr.js +3 -0
  170. package/.next/standalone/.next/server/chunks/lib_rpc_053z7as.js +3 -0
  171. package/.next/standalone/.next/server/chunks/lib_rpc_0b_-2te.js +3 -0
  172. package/.next/standalone/.next/server/chunks/lib_rpc_0dhbxdm.js +3 -0
  173. package/.next/standalone/.next/server/chunks/lib_rpc_0dxlk31.js +3 -0
  174. package/.next/standalone/.next/server/chunks/lib_rpc_0f8b-qc.js +3 -0
  175. package/.next/standalone/.next/server/chunks/lib_rpc_0pzie7_.js +3 -0
  176. package/.next/standalone/.next/server/chunks/lib_rpc_0r76fq_.js +3 -0
  177. package/.next/standalone/.next/server/chunks/lib_rpc_0ut7pjp.js +3 -0
  178. package/.next/standalone/.next/server/chunks/lib_rpc_15zyqaz.js +3 -0
  179. package/.next/standalone/.next/server/chunks/lib_rpc_18zpjtq.js +3 -0
  180. package/.next/standalone/.next/server/chunks/lib_rpc_1a8xkiz.js +3 -0
  181. package/.next/standalone/.next/server/chunks/lib_rpc_1e_55xo.js +3 -0
  182. package/.next/standalone/.next/server/chunks/lib_rpc_1oxfd1_.js +3 -0
  183. package/.next/standalone/.next/server/chunks/lib_rpc_1s0lod0.js +3 -0
  184. package/.next/standalone/.next/server/chunks/lib_scoring_1-e4ur0.js +1 -1
  185. package/.next/standalone/.next/server/chunks/ssr/_01kacen._.js +3 -0
  186. package/.next/standalone/.next/server/chunks/ssr/_03l7vge._.js +3 -0
  187. package/.next/standalone/.next/server/chunks/ssr/{_1ap1tu_._.js → _0gtv9jb._.js} +2 -2
  188. package/.next/standalone/.next/server/chunks/ssr/_0jdkqgi._.js +3 -0
  189. package/.next/standalone/.next/server/chunks/ssr/_0xi-fbs._.js +3 -0
  190. package/.next/standalone/.next/server/chunks/ssr/_0xmwmfv._.js +3 -0
  191. package/.next/standalone/.next/server/chunks/ssr/_1-b9hj7._.js +9 -0
  192. package/.next/standalone/.next/server/chunks/ssr/_112ewem._.js +3 -0
  193. package/.next/standalone/.next/server/chunks/ssr/_16ab63q._.js +3 -0
  194. package/.next/standalone/.next/server/chunks/ssr/_1fxm0-s._.js +3 -0
  195. package/.next/standalone/.next/server/chunks/ssr/_1ra1d3r._.js +9 -0
  196. package/.next/standalone/.next/server/chunks/ssr/app_141w189._.js +3 -0
  197. package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +22 -10
  198. package/.next/standalone/.next/server/chunks/ssr/app_paths_page_1ol90m7.js +2 -2
  199. package/.next/standalone/.next/server/chunks/ssr/app_profile_page_0u3-l5y.js +1 -1
  200. package/.next/standalone/.next/server/chunks/ssr/app_queue_page_0c6znd6.js +6 -5
  201. package/.next/standalone/.next/server/chunks/ssr/app_settings_page_1f8mjj_.js +1 -1
  202. package/.next/standalone/.next/server/chunks/ssr/app_setup_page_1-282zx.js +19 -3
  203. package/.next/standalone/.next/server/chunks/ssr/app_social_page_0h7zxda.js +1 -1
  204. package/.next/standalone/.next/server/chunks/ssr/lib_0i8v-s3._.js +1 -1
  205. package/.next/standalone/.next/server/chunks/ssr/lib_13rapwj._.js +3 -0
  206. package/.next/standalone/.next/server/chunks/ssr/lib_galaxy-lab_108_lu-.js +3 -0
  207. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  208. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  209. package/.next/standalone/.next/server/pages/404.html +1 -1
  210. package/.next/standalone/.next/server/pages/500.html +1 -1
  211. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  212. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  213. package/.next/standalone/.next/static/chunks/03bziijw5srol.js +1 -0
  214. package/.next/standalone/.next/static/chunks/0bgq8wmopl_ig.js +7 -0
  215. package/.next/standalone/.next/static/chunks/0ezus6p2eb-vg.js +1 -0
  216. package/.next/standalone/.next/static/chunks/0g_fy2034bp0x.js +34 -0
  217. package/.next/standalone/.next/static/chunks/0q5dru4q6gxl5.js +22 -0
  218. package/.next/standalone/.next/static/chunks/0w-byiwb2zax8.js +2 -0
  219. package/.next/standalone/.next/static/chunks/1g7jcovdejc9-.js +1 -0
  220. package/.next/standalone/.next/static/chunks/1i51yylxdzht1.js +1 -0
  221. package/.next/{static/chunks/1xptlvtcz6654.css → standalone/.next/static/chunks/1x_ysly42-teq.css} +1 -1
  222. package/.next/standalone/.next/static/chunks/1zf8swaasjf1e.js +43 -0
  223. package/.next/standalone/.next/static/chunks/2rqtpccruavf2.js +1 -0
  224. package/.next/standalone/.next/static/chunks/2wgz9ietkqqe6.js +1 -0
  225. package/.next/standalone/.next/static/chunks/30x3oq_st7a5r.js +1 -0
  226. package/.next/standalone/.next/static/chunks/355ryio1b7sm1.js +1 -0
  227. package/.next/standalone/.next/static/chunks/3ap5hgma7n0o7.js +1 -0
  228. package/.next/standalone/.next/static/chunks/3fci6qi39-1n5.js +1 -0
  229. package/.next/standalone/.next/static/chunks/{24tvdun1cb3g1.js → 3sowbvbaj1s6n.js} +1 -1
  230. package/.next/standalone/CHANGELOG.md +235 -0
  231. package/.next/standalone/app/api/data/export/route.js +2 -1
  232. package/.next/standalone/app/api/ingest/route.js +40 -1
  233. package/.next/standalone/app/api/scraper/route.js +12 -2
  234. package/.next/standalone/app/api/settings/sector-preview/route.js +2 -1
  235. package/.next/standalone/app/api/social/crm/route.js +37 -0
  236. package/.next/standalone/app/api/social/messages/route.js +44 -8
  237. package/.next/standalone/app/api/social/route.js +80 -22
  238. package/.next/standalone/app/components/AppTabs.js +59 -0
  239. package/.next/standalone/app/components/ChainView.js +303 -89
  240. package/.next/standalone/app/components/CirclePanel.js +162 -0
  241. package/.next/standalone/app/components/CompanyScores.js +2 -2
  242. package/.next/standalone/app/components/FieldStep.js +4 -4
  243. package/.next/standalone/app/components/FilterPanel.js +121 -183
  244. package/.next/standalone/app/components/ForceGraph.js +41 -3
  245. package/.next/standalone/app/components/GalaxyLab.js +26 -31
  246. package/.next/standalone/app/components/LegacyScoresCard.js +2 -2
  247. package/.next/standalone/app/components/MapControls.js +154 -0
  248. package/.next/standalone/app/components/NoteDetail.js +118 -0
  249. package/.next/standalone/app/components/PathsAnalyzer.js +147 -110
  250. package/.next/standalone/app/components/PeopleMap.js +308 -0
  251. package/.next/standalone/app/components/ScanRadar.js +129 -0
  252. package/.next/standalone/app/components/ScanStatusBar.js +72 -27
  253. package/.next/standalone/app/components/SeparationView.js +626 -118
  254. package/.next/standalone/app/components/Sidebar.js +28 -2
  255. package/.next/standalone/app/components/settings/DataSection.js +12 -3
  256. package/.next/standalone/app/components/settings/NetworkHealthSection.js +1 -1
  257. package/.next/standalone/app/components/settings/SectorSection.js +2 -2
  258. package/.next/standalone/app/components/settings/TierSection.js +1 -1
  259. package/.next/standalone/app/components/settings/TitleSection.js +149 -0
  260. package/.next/standalone/app/components/views.js +15 -14
  261. package/.next/standalone/app/globals.css +11 -0
  262. package/.next/standalone/app/page.js +89 -156
  263. package/.next/standalone/app/paths/page.js +39 -27
  264. package/.next/standalone/app/profile/page.js +33 -5
  265. package/.next/standalone/app/queue/page.js +56 -34
  266. package/.next/standalone/app/scores/page.js +16 -66
  267. package/.next/standalone/app/settings/page.js +27 -13
  268. package/.next/standalone/app/setup/page.js +298 -205
  269. package/.next/standalone/app/social/Crm.js +683 -0
  270. package/.next/standalone/app/social/SocialHub.js +374 -0
  271. package/.next/standalone/app/social/Thread.js +90 -0
  272. package/.next/standalone/app/social/page.js +10 -351
  273. package/.next/standalone/lib/chain-layout.js +105 -35
  274. package/.next/standalone/lib/data-export.js +10 -4
  275. package/.next/standalone/lib/data-folder.js +9 -0
  276. package/.next/standalone/lib/data-import.js +13 -3
  277. package/.next/standalone/lib/degrees.js +0 -6
  278. package/.next/standalone/lib/dot-rings.js +25 -0
  279. package/.next/standalone/lib/galaxy-lab.js +65 -6
  280. package/.next/standalone/lib/ingest.js +2 -0
  281. package/.next/standalone/lib/island.js +40 -0
  282. package/.next/standalone/lib/linkedin-export.js +267 -46
  283. package/.next/standalone/lib/linkedin-limits.js +6 -2
  284. package/.next/standalone/lib/map-heat.js +20 -0
  285. package/.next/standalone/lib/network-health.js +1 -1
  286. package/.next/standalone/lib/notifications.js +121 -0
  287. package/.next/standalone/lib/people-map.js +82 -0
  288. package/.next/standalone/lib/rarity.js +45 -3
  289. package/.next/standalone/lib/reach.js +7 -6
  290. package/.next/standalone/lib/rpc.js +15 -4
  291. package/.next/standalone/lib/scan-pace.js +46 -0
  292. package/.next/standalone/lib/scoring.js +39 -8
  293. package/.next/standalone/lib/scraper-client.js +19 -6
  294. package/.next/standalone/lib/sector-focus.js +4 -4
  295. package/.next/standalone/lib/separation.js +137 -10
  296. package/.next/standalone/lib/settings-effects.js +20 -11
  297. package/.next/standalone/lib/settings.js +3 -0
  298. package/.next/standalone/lib/social-crm.js +415 -0
  299. package/.next/standalone/lib/social-store.js +13 -6
  300. package/.next/standalone/lib/tier-grid.js +99 -0
  301. package/.next/standalone/lib/title-ranking.js +83 -0
  302. package/.next/standalone/package-lock.json +2 -2
  303. package/.next/standalone/package.json +1 -1
  304. package/.next/standalone/scripts/scrape.py +177 -35
  305. package/.next/static/chunks/03bziijw5srol.js +1 -0
  306. package/.next/static/chunks/0bgq8wmopl_ig.js +7 -0
  307. package/.next/static/chunks/0ezus6p2eb-vg.js +1 -0
  308. package/.next/static/chunks/0g_fy2034bp0x.js +34 -0
  309. package/.next/static/chunks/0q5dru4q6gxl5.js +22 -0
  310. package/.next/static/chunks/0w-byiwb2zax8.js +2 -0
  311. package/.next/static/chunks/1g7jcovdejc9-.js +1 -0
  312. package/.next/static/chunks/1i51yylxdzht1.js +1 -0
  313. package/.next/{standalone/.next/static/chunks/1xptlvtcz6654.css → static/chunks/1x_ysly42-teq.css} +1 -1
  314. package/.next/static/chunks/1zf8swaasjf1e.js +43 -0
  315. package/.next/static/chunks/2rqtpccruavf2.js +1 -0
  316. package/.next/static/chunks/2wgz9ietkqqe6.js +1 -0
  317. package/.next/static/chunks/30x3oq_st7a5r.js +1 -0
  318. package/.next/static/chunks/355ryio1b7sm1.js +1 -0
  319. package/.next/static/chunks/3ap5hgma7n0o7.js +1 -0
  320. package/.next/static/chunks/3fci6qi39-1n5.js +1 -0
  321. package/.next/static/chunks/{24tvdun1cb3g1.js → 3sowbvbaj1s6n.js} +1 -1
  322. package/CHANGELOG.md +235 -0
  323. package/lib/chain-layout.js +105 -35
  324. package/lib/data-export.js +10 -4
  325. package/lib/data-folder.js +9 -0
  326. package/lib/data-import.js +13 -3
  327. package/lib/degrees.js +0 -6
  328. package/lib/dot-rings.js +25 -0
  329. package/lib/galaxy-lab.js +65 -6
  330. package/lib/ingest.js +2 -0
  331. package/lib/island.js +40 -0
  332. package/lib/linkedin-export.js +267 -46
  333. package/lib/linkedin-limits.js +6 -2
  334. package/lib/map-heat.js +20 -0
  335. package/lib/network-health.js +1 -1
  336. package/lib/notifications.js +121 -0
  337. package/lib/people-map.js +82 -0
  338. package/lib/rarity.js +45 -3
  339. package/lib/reach.js +7 -6
  340. package/lib/rpc.js +15 -4
  341. package/lib/scan-pace.js +46 -0
  342. package/lib/scoring.js +39 -8
  343. package/lib/scraper-client.js +19 -6
  344. package/lib/sector-focus.js +4 -4
  345. package/lib/separation.js +137 -10
  346. package/lib/settings-effects.js +20 -11
  347. package/lib/settings.js +3 -0
  348. package/lib/social-crm.js +415 -0
  349. package/lib/social-store.js +13 -6
  350. package/lib/tier-grid.js +99 -0
  351. package/lib/title-ranking.js +83 -0
  352. package/package.json +1 -1
  353. package/scripts/scrape.py +177 -35
  354. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08f5awg._.js +0 -8
  355. package/.next/standalone/.next/server/chunks/[root-of-the-server]__17hjtzl._.js +0 -8
  356. package/.next/standalone/.next/server/chunks/[root-of-the-server]__20tmem7._.js +0 -3
  357. package/.next/standalone/.next/server/chunks/lib_18cr1gi._.js +0 -8
  358. package/.next/standalone/.next/server/chunks/lib_rpc_03i8xef.js +0 -3
  359. package/.next/standalone/.next/server/chunks/lib_rpc_08fc3rp.js +0 -3
  360. package/.next/standalone/.next/server/chunks/lib_rpc_08r2t_q.js +0 -3
  361. package/.next/standalone/.next/server/chunks/lib_rpc_0btpv1t.js +0 -3
  362. package/.next/standalone/.next/server/chunks/lib_rpc_0c9d9ti.js +0 -8
  363. package/.next/standalone/.next/server/chunks/lib_rpc_0cm2ev3.js +0 -3
  364. package/.next/standalone/.next/server/chunks/lib_rpc_0iovswz.js +0 -3
  365. package/.next/standalone/.next/server/chunks/lib_rpc_0is8flp.js +0 -3
  366. package/.next/standalone/.next/server/chunks/lib_rpc_0v8ajtd.js +0 -3
  367. package/.next/standalone/.next/server/chunks/lib_rpc_0xgmvvt.js +0 -3
  368. package/.next/standalone/.next/server/chunks/lib_rpc_144mzbf.js +0 -3
  369. package/.next/standalone/.next/server/chunks/lib_rpc_1bggi0n.js +0 -3
  370. package/.next/standalone/.next/server/chunks/lib_rpc_1dkcu9f.js +0 -3
  371. package/.next/standalone/.next/server/chunks/lib_rpc_1o0jb6w.js +0 -3
  372. package/.next/standalone/.next/server/chunks/ssr/_0c_y09g._.js +0 -3
  373. package/.next/standalone/.next/server/chunks/ssr/_0ezj4e0._.js +0 -3
  374. package/.next/standalone/.next/server/chunks/ssr/_0j4-lc3._.js +0 -3
  375. package/.next/standalone/.next/server/chunks/ssr/_0l8cxmo._.js +0 -3
  376. package/.next/standalone/.next/server/chunks/ssr/_0xkur4p._.js +0 -3
  377. package/.next/standalone/.next/server/chunks/ssr/_14iv_zy._.js +0 -3
  378. package/.next/standalone/.next/server/chunks/ssr/_15x6q32._.js +0 -3
  379. package/.next/standalone/.next/server/chunks/ssr/_1errbuf._.js +0 -3
  380. package/.next/standalone/.next/server/chunks/ssr/_212xw8q._.js +0 -3
  381. package/.next/standalone/.next/server/chunks/ssr/app_components_19c2d9c._.js +0 -3
  382. package/.next/standalone/.next/server/chunks/ssr/app_scores_page_09wepvv.js +0 -3
  383. package/.next/standalone/.next/static/chunks/07dyt47mp4s9-.js +0 -1
  384. package/.next/standalone/.next/static/chunks/0a5iadnmt9u9k.js +0 -1
  385. package/.next/standalone/.next/static/chunks/160wjb73ddwqd.js +0 -6
  386. package/.next/standalone/.next/static/chunks/1c_n0973t07l0.js +0 -2
  387. package/.next/standalone/.next/static/chunks/1e1n0kkz-psdb.js +0 -1
  388. package/.next/standalone/.next/static/chunks/206rm6j42gl_a.js +0 -1
  389. package/.next/standalone/.next/static/chunks/236f0jtp68j_h.js +0 -1
  390. package/.next/standalone/.next/static/chunks/2coxzjm_k6ilr.js +0 -1
  391. package/.next/standalone/.next/static/chunks/2kfhc58df2xyo.js +0 -1
  392. package/.next/standalone/.next/static/chunks/2pw6_osz1n_te.js +0 -1
  393. package/.next/standalone/.next/static/chunks/39hr8d-b2ibtw.js +0 -31
  394. package/.next/standalone/.next/static/chunks/3zw8bv7-mc4n6.js +0 -33
  395. package/.next/standalone/app/components/OrbitGraph.js +0 -737
  396. package/.next/standalone/app/social/Conversations.js +0 -246
  397. package/.next/static/chunks/07dyt47mp4s9-.js +0 -1
  398. package/.next/static/chunks/0a5iadnmt9u9k.js +0 -1
  399. package/.next/static/chunks/160wjb73ddwqd.js +0 -6
  400. package/.next/static/chunks/1c_n0973t07l0.js +0 -2
  401. package/.next/static/chunks/1e1n0kkz-psdb.js +0 -1
  402. package/.next/static/chunks/206rm6j42gl_a.js +0 -1
  403. package/.next/static/chunks/236f0jtp68j_h.js +0 -1
  404. package/.next/static/chunks/2coxzjm_k6ilr.js +0 -1
  405. package/.next/static/chunks/2kfhc58df2xyo.js +0 -1
  406. package/.next/static/chunks/2pw6_osz1n_te.js +0 -1
  407. package/.next/static/chunks/39hr8d-b2ibtw.js +0 -31
  408. package/.next/static/chunks/3zw8bv7-mc4n6.js +0 -33
  409. /package/.next/standalone/.next/static/{7zWJnSkfSoRhRsqY6ZKtD → I-cj79yE2IZ8taX2dZGp3}/_buildManifest.js +0 -0
  410. /package/.next/standalone/.next/static/{7zWJnSkfSoRhRsqY6ZKtD → I-cj79yE2IZ8taX2dZGp3}/_clientMiddlewareManifest.js +0 -0
  411. /package/.next/standalone/.next/static/{7zWJnSkfSoRhRsqY6ZKtD → I-cj79yE2IZ8taX2dZGp3}/_ssgManifest.js +0 -0
  412. /package/.next/static/{7zWJnSkfSoRhRsqY6ZKtD → I-cj79yE2IZ8taX2dZGp3}/_buildManifest.js +0 -0
  413. /package/.next/static/{7zWJnSkfSoRhRsqY6ZKtD → I-cj79yE2IZ8taX2dZGp3}/_clientMiddlewareManifest.js +0 -0
  414. /package/.next/static/{7zWJnSkfSoRhRsqY6ZKtD → I-cj79yE2IZ8taX2dZGp3}/_ssgManifest.js +0 -0
@@ -0,0 +1,7 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,82044,t=>{"use strict";var e=t.i(43476),n=t.i(71645),r=t.i(43116),i=t.i(44902);let o={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},a=["","1st","2nd","3rd","4th","5th","6th"],s={network:{1:"your connections",2:"people in a scanned circle",3:"people found by a company scan"},degrees:{1:"your bridges",2:"people in their circles"},paths:{1:"your connections",2:"people in a scanned circle",3:"people found by a company scan"}};function l({grid:t,counts:n,onChange:r,mode:u,isMobile:c}){let h=(0,i.showing)(t,n),f=c?21:23,d=t=>s[u]?.[t];return(0,e.jsxs)("div",{style:{marginBottom:18},children:[(0,e.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:6},children:[(0,e.jsx)("div",{style:{flex:1,fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,textTransform:"uppercase"},children:"Tiers"}),(0,e.jsx)("div",{style:{display:"flex",gap:3},children:i.GRID_DEGREES.map(o=>{let s=i.TIERS.some(t=>(n[t]?.[o]||0)>0),l=s&&i.TIERS.every(e=>t.hidden.includes(e)||!(n[e]?.[o]>0)||t.degrees[e].includes(o));return(0,e.jsx)("button",{type:"button",disabled:!s,"aria-pressed":l,title:s?`${a[o]} degree${d(o)?`: ${d(o)}`:""}. Tap to ${l?"hide":"show"} it for every tier`:`Nobody at ${a[o]} degree yet`,onClick:()=>r((0,i.toggleDegree)(t,o,n)),style:{width:f,height:18,padding:0,border:"none",background:"none",cursor:s?"pointer":"default",fontSize:10,fontWeight:800,color:s?l?"#cfe6f7":"#778":"#333"},children:o},o)})}),(0,e.jsx)("div",{style:{width:44}})]}),(0,e.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:i.TIERS.map(s=>{let l=t.hidden.includes(s),u=(0,i.showingIn)(t,n,s),c=o[s];return(0,e.jsxs)("div",{style:{display:"flex",alignItems:"center",borderRadius:8,background:l?"rgba(255,255,255,0.02)":`${c}14`,borderLeft:`3px solid ${l?"transparent":c}`},children:[(0,e.jsxs)("button",{type:"button","aria-pressed":!l,title:l?`Show ${s}-Tier`:`Hide ${s}-Tier`,onClick:()=>r((0,i.toggleTier)(t,s,n)),style:{flex:1,minWidth:0,display:"flex",alignItems:"center",gap:8,padding:"12px 6px 12px 10px",border:"none",background:"none",cursor:"pointer",color:l?"#555":c,textAlign:"left"},children:[(0,e.jsx)("span",{style:{width:11,height:11,borderRadius:"50%",background:c,opacity:l?.2:1,flexShrink:0}}),(0,e.jsxs)("span",{style:{fontSize:13.5,fontWeight:700,whiteSpace:"nowrap",textDecoration:l?"line-through":"none"},children:[s,"-Tier"]})]}),(0,e.jsx)("div",{style:{display:"flex",gap:3},children:i.GRID_DEGREES.map(o=>{let u=n[s]?.[o]||0,h=!l&&u>0&&t.degrees[s].includes(o);return(0,e.jsx)("button",{type:"button",disabled:!u,"aria-pressed":h,"aria-label":`${s}-Tier at ${a[o]} degree`,title:u?`${u.toLocaleString("en-US")} ${s}-Tier at ${a[o]} degree. Tap to ${h?"hide":"show"} them`:`No ${s}-Tier at ${a[o]} degree yet`,onClick:()=>r((0,i.toggleCell)(t,s,o,n)),style:{width:f,height:f,padding:0,borderRadius:"50%",boxSizing:"border-box",cursor:u?"pointer":"default",fontSize:10,fontWeight:800,lineHeight:1,border:u?h?`1.5px solid ${c}`:`1.5px solid ${c}70`:"1px dashed rgba(255,255,255,0.1)",background:h?c:"transparent",color:u?h?"#0a0a1a":`${c}b0`:"rgba(255,255,255,0.12)",opacity:l&&u?.45:1},children:o},o)})}),(0,e.jsx)("div",{style:{width:44,textAlign:"right",paddingRight:8,fontSize:10.5,color:l||!u?"#445":"#889",fontVariantNumeric:"tabular-nums"},children:u.toLocaleString("en-US")})]},s)})}),(0,e.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:8},children:[(0,e.jsx)("div",{style:{fontSize:10,color:"#667",lineHeight:1.4},children:"Tap a tier to hide it, or a dot to show that degree."}),(0,e.jsxs)("div",{style:{fontSize:10.5,color:"#889",whiteSpace:"nowrap",marginLeft:8},children:[h.toLocaleString("en-US")," showing",t.hidden.length>0&&(0,e.jsx)("button",{type:"button",onClick:()=>r((0,i.showAllTiers)(t)),style:{marginLeft:8,padding:"2px 8px",borderRadius:10,fontSize:10,cursor:"pointer",border:"1px solid rgba(255,255,255,0.12)",background:"rgba(255,255,255,0.05)",color:"#aab"},children:"All tiers"})]})]})]})}t.s(["TierGrid",0,l,"default",0,function({collapsed:t,onToggle:i,mode:o,visualMode:a,grid:s,gridCounts:u={},onGridChange:c}){let h=function(){let[t,e]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{let t=()=>e(window.innerWidth<768);return t(),window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[]),t}(),f="degrees"===o;return t?(0,e.jsxs)("div",{onClick:i,style:{position:"fixed",left:16,top:140,zIndex:30,cursor:"pointer",display:"flex",alignItems:"center",gap:0,height:36,borderRadius:18,background:"rgba(52,152,219,0.15)",border:"2px solid rgba(52,152,219,0.5)",color:"#3498DB",fontWeight:700,boxShadow:"0 0 12px rgba(52,152,219,0.3)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",overflow:"hidden",transition:"width 0.25s ease",width:36,padding:"0 10px"},onMouseEnter:t=>{t.currentTarget.style.width="120px"},onMouseLeave:t=>{t.currentTarget.style.width="36px"},children:[(0,e.jsx)("span",{style:{fontSize:18,flexShrink:0,width:16,textAlign:"center"},children:"›"}),(0,e.jsx)("span",{style:{fontSize:11,fontWeight:600,whiteSpace:"nowrap",marginLeft:6,opacity:.9},children:"Filters"})]}):(0,e.jsxs)("div",{style:h?{position:"fixed",top:0,left:0,bottom:0,zIndex:100,width:"100vw",pointerEvents:"auto"}:{flexShrink:0,height:"100%"},children:[h&&(0,e.jsx)("div",{onClick:i,style:{position:"absolute",inset:0,background:"rgba(0,0,0,0.5)"}}),(0,e.jsxs)("div",{style:{width:h?"80vw":320,minWidth:320*!h,maxWidth:h?300:320,height:"100%",borderRight:"1px solid rgba(52,152,219,0.15)",padding:h?"12px 10px":"16px 14px",overflowY:"auto",overflowX:"hidden",background:h?"rgba(10,15,30,0.98)":"rgba(10,15,30,0.65)",fontSize:13,backdropFilter:"blur(24px) saturate(1.4)",WebkitBackdropFilter:"blur(24px) saturate(1.4)",boxShadow:"inset 0 0 60px rgba(52,152,219,0.04), 4px 0 24px rgba(0,0,0,0.3)"},children:[(0,e.jsxs)("button",{onClick:i,style:{display:"flex",alignItems:"center",gap:6,background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.1)",borderRadius:6,color:"#aaa",fontSize:12,cursor:"pointer",padding:"6px 12px",marginBottom:14,fontWeight:600,width:"100%"},children:[(0,e.jsx)("span",{style:{fontSize:16},children:"›"})," Close"]}),(0,e.jsx)(l,{grid:s,counts:u,onChange:c,mode:f?"degrees":"network",isMobile:h}),!f&&"galaxy"===a&&(h?(0,e.jsx)(r.NamesSwitch,{}):(0,e.jsx)(r.default,{}))]})]})}])},43116,t=>{"use strict";var e=t.i(43476),n=t.i(71645),r=t.i(39160),i=t.i(61121),o=t.i(99883);let a=[],s=[{key:"gravity",label:"Gravity",min:0,max:3,step:.01,fmt:t=>t.toFixed(2),hint:"Pulls every dot in towards you."},{key:"rings",label:"Rings",min:0,max:5,step:.05,fmt:t=>`${t.toFixed(2)}\xd7`,hint:"How hard each tier holds its ring. At 0 the Galaxy finds its own shape."},{key:"push",label:"Push",min:0,max:300,step:1,fmt:t=>String(t),hint:"How hard dots push each other apart."},{key:"pull",label:"Pull",min:0,max:15,step:.05,fmt:t=>`${t.toFixed(2)}\xd7`,hint:"How hard each person pulls the people who came through them."},{key:"distance",label:"Distance",min:.05,max:6,step:.05,fmt:t=>`${t.toFixed(2)}\xd7`,hint:"How far out those people sit."}],l=[{key:"dotSize",label:"Dot size",min:.2,max:8,step:.05,fmt:t=>`${t.toFixed(2)}\xd7`},{key:"lines",label:"Lines",min:0,max:20,step:.1,fmt:t=>`${t.toFixed(1)}\xd7`}],u={fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,margin:"12px 0 6px",textTransform:"uppercase"},c={fontSize:10,color:"#667",lineHeight:1.4};function h({spec:t,value:n}){return(0,e.jsxs)("label",{title:t.hint,style:{display:"block",marginBottom:7},children:[(0,e.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:11,color:"#aab"},children:[(0,e.jsx)("span",{children:t.label}),(0,e.jsx)("span",{style:{color:n===r.LAB_DEFAULTS[t.key]?"#556":"#cfe6f7",fontVariantNumeric:"tabular-nums"},children:t.fmt(n)})]}),(0,e.jsx)("input",{type:"range",min:t.min,max:t.max,step:t.step,value:n,onChange:e=>(0,r.setLab)({[t.key]:Number(e.target.value)}),style:{width:"100%",accentColor:"#3498DB"}})]})}function f({options:t,value:n,onPick:r}){return(0,e.jsx)("div",{style:{display:"flex",gap:4,marginBottom:8},children:t.map(([t,i])=>(0,e.jsx)("button",{onClick:()=>r(t),"aria-pressed":n===t,style:{flex:1,padding:"5px 4px",borderRadius:6,fontSize:10.5,fontWeight:600,cursor:"pointer",border:n===t?"1px solid rgba(52,152,219,0.6)":"1px solid rgba(255,255,255,0.08)",background:n===t?"rgba(52,152,219,0.18)":"rgba(255,255,255,0.03)",color:n===t?"#cfe6f7":"#888"},children:i},t))})}let d=t=>new Date(t).toLocaleDateString(void 0,{month:"short",year:"numeric"});t.s(["NamesSwitch",0,function(){let t=(0,n.useSyncExternalStore)(r.watchLab,r.labNow,()=>r.LAB_DEFAULTS);return(0,e.jsxs)("div",{style:{marginBottom:18},children:[(0,e.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,marginBottom:8,textTransform:"uppercase"},children:"Names"}),(0,e.jsx)(f,{value:t.labels,options:[[!0,"On"],[!1,"Off"]],onPick:t=>(0,r.setLab)({labels:t})})]})},"default",0,function(){let t=(0,n.useSyncExternalStore)(r.watchLab,r.labNow,()=>r.LAB_DEFAULTS),p=(0,n.useSyncExternalStore)(r.watchClock,r.clockNow,r.clockNow),g=(0,n.useSyncExternalStore)(r.watchLayouts,r.layoutsNow,()=>a),[y,v]=(0,n.useState)(""),[m,x]=(0,n.useState)(null),[b,_]=(0,n.useState)(null),w=(0,n.useSyncExternalStore)(()=>()=>{},i.canRecord,()=>!1),k=null!=p.min&&p.max>p.min?(0,r.milestones)(p.social).filter(t=>t.t>=p.min&&t.t<=p.max):[],S=async(t,e)=>{x(t),_(null);let n="video"===t?(0,o.showActivity)({id:"replay-video",label:"Recording the replay",detail:"The video saves when it ends"}):()=>{};try{await e()}catch(t){_(t.message||"That didn’t work.")}finally{x(null),n()}},N=null!=p.min&&null!=p.max&&p.max>p.min,j=(0,r.layoutOf)(t);return(0,e.jsxs)("div",{style:{marginBottom:18,borderTop:"1px solid rgba(255,255,255,0.06)",paddingTop:12},children:[(0,e.jsx)("div",{style:{fontSize:13.5,fontWeight:700,color:"#dde"},children:"Physics"}),(0,e.jsx)("div",{style:{...c,marginTop:3},children:"The forces that lay the Galaxy out. Everything here moves it in place."}),(0,e.jsx)("div",{style:u,children:"Names"}),(0,e.jsx)(f,{value:t.labels,options:[[!0,"On"],[!1,"Off"]],onPick:t=>(0,r.setLab)({labels:t})}),(0,e.jsx)("div",{style:u,children:"Find"}),(0,e.jsx)("input",{type:"search",value:p.find,placeholder:"A name, company or role",onChange:t=>(0,r.setClock)({find:t.target.value}),onKeyDown:t=>{"Enter"===t.key&&(0,r.setClock)({fly:p.fly+1})},style:{width:"100%",boxSizing:"border-box",padding:"6px 9px",borderRadius:6,fontSize:11.5,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(0,0,0,0.25)",color:"#dde"}}),p.find.trim().length>=2&&(0,e.jsx)("div",{style:{...c,marginTop:4},children:p.found?`${p.found.toLocaleString()} found \xb7 Enter flies to the best one`:"No one on screen matches."}),(0,e.jsx)("div",{style:u,children:"Layout"}),(0,e.jsx)(f,{value:j,options:[["rings","Rings"],["orbit","Orbit"],["clusters","Clusters"]],onPick:t=>(0,r.setLab)("rings"===t?{...Object.fromEntries(s.map(t=>[t.key,r.LAB_DEFAULTS[t.key]])),sizeBy:"power"}:"orbit"===t?r.ORBIT:r.CLUSTERS)}),(0,e.jsx)("div",{style:{...c,marginBottom:6},children:"clusters"===j?"No rings: each connection pulls their circle round them, and a dot grows with everyone behind it.":"orbit"===j?"Each tier on its own orbit, S nearest you, with each connection’s circle tucked in behind them. Drag a bridge and its circle follows.":"Drag a dot to see what it pulls with it. Try Rings at 0 and Pull up."}),(0,e.jsx)("div",{style:u,children:"Forces"}),s.map(n=>(0,e.jsx)(h,{spec:n,value:t[n.key]},n.key)),(0,e.jsx)("div",{style:u,children:"Display"}),l.map(n=>(0,e.jsx)(h,{spec:n,value:t[n.key]},n.key)),(0,e.jsx)("div",{style:{fontSize:11,color:"#aab",marginBottom:4},children:"Size dots by"}),(0,e.jsx)(f,{value:t.sizeBy,options:[["power","Power score"],["reach","Who hangs off them"]],onPick:t=>(0,r.setLab)({sizeBy:t})}),(0,e.jsx)("div",{style:{fontSize:11,color:"#aab",marginBottom:4},children:"Colour by"}),(0,e.jsx)(f,{value:t.colourBy,options:[["tier","Tier"],["heat","Heat"],["degree","Degree"],["company","Company"],["warmth","Warmth"]],onPick:t=>(0,r.setLab)({colourBy:t})}),"heat"===t.colourBy&&(0,e.jsx)("div",{style:{...c,marginTop:-4,marginBottom:8},children:"Power as a thermal map: the higher someone’s score among the people showing, the hotter, and the hottest glow. Where the glow pools, powerful people cluster."}),"warmth"===t.colourBy&&null===p.social&&(0,e.jsx)("div",{style:{...c,marginTop:-4,marginBottom:8},children:"Warmth comes from the Social tab: import your LinkedIn export there first. Until then it’s by tier."}),(0,e.jsxs)("div",{style:{fontSize:11,color:"#aab",marginBottom:4},children:["Which names",t.labels?"":" (Names is off)"]}),(0,e.jsx)(f,{value:"all"===t.names?"all":"key",options:[["key","S + catalysts"],["all","All 1st"]],onPick:t=>(0,r.setLab)({names:t})}),(0,e.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,color:"#aab",cursor:"pointer"},children:[(0,e.jsx)("input",{type:"checkbox",checked:t.branch,onChange:t=>(0,r.setLab)({branch:t.target.checked}),style:{accentColor:"#3498DB"}}),"Light up a branch on hover"]}),(0,e.jsx)("div",{style:u,children:"Replay"}),N?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center",marginBottom:6},children:[(0,e.jsx)("button",{onClick:()=>p.playing?(0,r.pause)():(0,r.play)(),style:{padding:"5px 12px",borderRadius:6,fontSize:11,fontWeight:700,cursor:"pointer",border:"1px solid rgba(52,152,219,0.6)",background:"rgba(52,152,219,0.18)",color:"#cfe6f7"},children:p.playing?"❚❚ Pause":"▶ Replay"}),null!=p.at&&(0,e.jsx)("button",{onClick:r.stopReplay,style:{padding:"5px 10px",borderRadius:6,fontSize:11,cursor:"pointer",border:"1px solid rgba(255,255,255,0.1)",background:"rgba(255,255,255,0.04)",color:"#aaa"},children:"Show all"}),(0,e.jsx)("span",{style:{marginLeft:"auto",fontSize:10.5,color:"#aab",fontVariantNumeric:"tabular-nums"},children:d(p.at??p.max)})]}),(0,e.jsxs)("div",{style:{position:"relative"},children:[(0,e.jsx)("input",{type:"range",min:p.min,max:p.max,step:864e5,value:p.at??p.max,onChange:t=>{(0,r.pause)(),(0,r.setClock)({at:Number(t.target.value)})},style:{width:"100%",accentColor:"#3498DB"},"aria-label":"Time"}),(0,e.jsx)("div",{style:{position:"absolute",left:7,right:7,top:-3,height:6,pointerEvents:"none"},children:k.map(t=>(0,e.jsx)("span",{title:`${t.label} \xb7 ${d(t.t)}`,style:{position:"absolute",left:`${(t.t-p.min)/(p.max-p.min)*100}%`,width:"job"===t.kind?3:2,height:"job"===t.kind?8:5,borderRadius:1,transform:"translateX(-50%)",background:"job"===t.kind?"#D4AF37":"#74B9FF",opacity:"job"===t.kind?.95:.7}},`${t.kind}-${t.t}`))})]}),(0,e.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",...c},children:[(0,e.jsx)("span",{children:d(p.min)}),(0,e.jsx)("span",{children:d(p.max)})]}),(0,e.jsx)("div",{style:{fontSize:11,color:"#aab",margin:"8px 0 4px"},children:"Length"}),(0,e.jsx)(f,{value:t.speed,options:[[5,"5 s"],[15,"15 s"],[30,"30 s"],[60,"1 min"]],onPick:t=>(0,r.setLab)({speed:t})}),(0,e.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,color:"#aab",cursor:"pointer"},children:[(0,e.jsx)("input",{type:"checkbox",checked:t.loop,onChange:t=>(0,r.setLab)({loop:t.target.checked}),style:{accentColor:"#3498DB"}}),"Loop"]}),(0,e.jsxs)("div",{style:{...c,marginTop:4},children:["Your connections appear on the day you connected; their circles come with them.",k.length>0?" Gold marks are your job starts and blue ones your posts, from the Social tab.":""]}),w&&(0,e.jsx)("button",{disabled:!!m,onClick:()=>S("video",i.recordReplay),style:{marginTop:8,width:"100%",padding:"6px 10px",borderRadius:6,fontSize:11,fontWeight:600,cursor:m?"default":"pointer",border:"1px solid rgba(231,76,60,0.5)",background:"rgba(231,76,60,0.12)",color:"#f5b7b1"},children:"video"===m?"● Recording…":"● Record the replay as a video"})]}):(0,e.jsx)("div",{style:c,children:"Nothing to replay: the connections on screen have no “connected on” dates. A LinkedIn CSV or a network scan has them; the sample network doesn’t."}),(0,e.jsx)("div",{style:u,children:"Saved layouts"}),g.length>0&&(0,e.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginBottom:6},children:g.map(t=>(0,e.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",borderRadius:12,border:"1px solid rgba(52,152,219,0.4)",background:"rgba(52,152,219,0.1)"},children:[(0,e.jsx)("button",{onClick:()=>(0,r.applyLayout)(t.name),style:{padding:"3px 4px 3px 9px",border:"none",background:"none",color:"#cfe6f7",fontSize:10.5,cursor:"pointer"},children:t.name}),(0,e.jsx)("button",{onClick:()=>(0,r.forgetLayout)(t.name),"aria-label":`Forget ${t.name}`,title:"Forget this layout",style:{padding:"3px 8px 3px 3px",border:"none",background:"none",color:"#667",fontSize:11,cursor:"pointer"},children:"×"})]},t.name))}),(0,e.jsxs)("form",{onSubmit:t=>{t.preventDefault(),(0,r.saveLayout)(y),v("")},style:{display:"flex",gap:4},children:[(0,e.jsx)("input",{value:y,onChange:t=>v(t.target.value),placeholder:"Name this layout",maxLength:40,style:{flex:1,minWidth:0,padding:"5px 8px",borderRadius:6,fontSize:11,border:"1px solid rgba(255,255,255,0.12)",background:"rgba(0,0,0,0.25)",color:"#dde"}}),(0,e.jsx)("button",{type:"submit",disabled:!y.trim(),style:{padding:"5px 10px",borderRadius:6,fontSize:11,fontWeight:600,cursor:y.trim()?"pointer":"default",border:"1px solid rgba(52,152,219,0.6)",background:"rgba(52,152,219,0.18)",color:y.trim()?"#cfe6f7":"#667"},children:"Save"})]}),(0,e.jsx)("div",{style:u,children:"Share"}),(0,e.jsx)("button",{disabled:!!m,onClick:()=>S("picture",i.savePicture),style:{width:"100%",padding:"6px 10px",borderRadius:6,fontSize:11,fontWeight:600,cursor:m?"default":"pointer",border:"1px solid rgba(52,152,219,0.6)",background:"rgba(52,152,219,0.18)",color:"#cfe6f7"},children:"picture"===m?"Saving…":"Save a picture of the Galaxy"}),(0,e.jsx)("div",{style:{...c,marginTop:4},children:"A PNG of what’s on screen, at twice the size. It shows real names, so check it before you post it."}),b&&(0,e.jsx)("div",{style:{...c,color:"#e67e73",marginTop:4},children:b}),(0,e.jsx)("button",{onClick:()=>{(0,r.stopReplay)(),(0,r.setClock)({find:""}),(0,r.setLab)(null)},style:{marginTop:10,width:"100%",padding:"6px 10px",borderRadius:6,fontSize:11,cursor:"pointer",border:"1px solid rgba(255,255,255,0.1)",background:"rgba(255,255,255,0.04)",color:"#aaa"},children:"Reset to today’s layout"})]})}])},30215,t=>{"use strict";var e=t.i(71645),n=t.i(40996);t.s(["default",0,function(){return(0,e.useSyncExternalStore)(n.watchScanner,n.scannerNow,()=>n.SCANNER_UNKNOWN)}])},61121,t=>{"use strict";var e=t.i(39160);let n=null,r=`
2
+ .lab-focus .gn:not(.lit), .lab-focus .gl:not(.lit) { opacity: 0.06; }
3
+ .lab-focus .gl.lit { stroke-opacity: 0.7; }
4
+ .lab-focus .dot-rings, .lab-focus .catalyst-ring { opacity: 0.15; }
5
+ .lab-find .gn:not(.found), .lab-find .gl:not(.found) { opacity: 0.07; }
6
+ .lab-find .gn.found { stroke: #fff; stroke-width: 2px; }
7
+ `;async function i(t,e,i){var o;let a,s,l,u,c=await ((a=(o=n.svg).cloneNode(!0)).setAttribute("xmlns","http://www.w3.org/2000/svg"),a.setAttribute("font-family",getComputedStyle(o).fontFamily||"system-ui, sans-serif"),(s=document.createElementNS("http://www.w3.org/2000/svg","style")).textContent=r,a.insertBefore(s,a.firstChild),l=new XMLSerializer().serializeToString(a),(u=new Image).src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(l)}`,u.decode().then(()=>u));t.fillStyle="#0a0a1a",t.fillRect(0,0,e,i),t.drawImage(c,0,0,e,i);let h=e/n.svg.clientWidth;t.save(),t.scale(h,h);let f=e/h,d=i/h,p=n.stamp();if(p){t.font="600 15px -apple-system, system-ui, sans-serif";let e=t.measureText(p).width;t.fillStyle="rgba(10,15,30,0.85)",t.beginPath(),t.roundRect?.(f/2-e/2-16,d-52,e+32,32,16),t.fill(),t.fillStyle="#e6edf5",t.textAlign="center",t.fillText(p,f/2,d-31)}t.textAlign="left",t.font="11px -apple-system, system-ui, sans-serif";let g=20;for(let[e,r]of n.legend())t.fillStyle=r,t.beginPath(),t.arc(g+4,d-24,4,0,2*Math.PI),t.fill(),t.fillStyle="#9aa",t.fillText(e,g+12,d-20),g+=20+t.measureText(e).width;t.textAlign="right",t.fillStyle="rgba(255,255,255,0.35)",t.fillText("Six Degrees",f-16,24),t.restore()}function o(t,e){let n=URL.createObjectURL(t),r=document.createElement("a");r.href=n,r.download=e,r.style.position="fixed",r.style.left="-9999px",document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),6e4)}let a=()=>new Date().toISOString().slice(0,10);function s(t){let e=Math.round(n.svg.clientWidth*t),r=Math.round(n.svg.clientHeight*t),i=document.createElement("canvas");return i.width=e,i.height=r,{canvas:i,ctx:i.getContext("2d"),w:e,h:r}}async function l(){if(!n)throw Error("Open the Galaxy first.");let{canvas:t,ctx:e,w:r,h:l}=s(2);await i(e,r,l),o(await new Promise(e=>t.toBlob(e,"image/png")),`six-degrees-galaxy-${a()}.png`)}let u=()=>void 0!==window.MediaRecorder&&"u">typeof HTMLCanvasElement&&"function"==typeof HTMLCanvasElement.prototype.captureStream;async function c(){if(!n)throw Error("Open the Galaxy first.");if(!u())throw Error("This window can’t record video.");let{canvas:t,ctx:r,w:l,h:c}=s(1),h=["video/mp4;codecs=avc1","video/webm;codecs=vp9","video/webm","video/mp4"].find(t=>MediaRecorder.isTypeSupported(t));if(!h)throw Error("This window can’t record video.");await i(r,l,c);let f=new MediaRecorder(t.captureStream(12),{mimeType:h,videoBitsPerSecond:6e6}),d=[];f.ondataavailable=t=>{t.data.size&&d.push(t.data)};let p=new Promise(t=>{f.onstop=t});f.start(250),(0,e.pause)(),(0,e.setClock)({at:(0,e.clockNow)().min}),(0,e.play)();let g=!1;await new Promise(t=>{let n=setInterval(async()=>{if(!g){g=!0;try{await i(r,l,c)}finally{g=!1}(0,e.clockNow)().playing||(clearInterval(n),setTimeout(t,600))}},1e3/12)}),await i(r,l,c),f.stop(),await p;let y=h.startsWith("video/mp4")?"mp4":"webm";o(new Blob(d,{type:h.split(";")[0]}),`six-degrees-replay-${a()}.${y}`)}t.s(["canRecord",0,u,"recordReplay",0,c,"registerGalaxy",0,function(t){return n=t,()=>{n===t&&(n=null)}},"savePicture",0,l])},44902,t=>{"use strict";let e=["S","A","B","C","D"],n=[1,2,3,4,5,6],r=t=>e.includes(t)?t:"D",i=(t=n)=>({hidden:[],degrees:Object.fromEntries(e.map(e=>[e,t.slice()]))}),o=Object.freeze(i([1])),a=Object.freeze(i()),s=(t,e,n)=>t?.[e]?.[n]||0;function l(t,e,n){return t.hidden.includes(n)?0:t.degrees[n].reduce((t,r)=>t+s(e,n,r),0)}let u=(t,n)=>e.reduce((e,r)=>e+l(t,n,r),0),c=(t,e,n)=>n&&0===u(e,n)?t:e;t.s(["DEGREES_GRID",0,a,"GRID_DEGREES",0,n,"NETWORK_GRID",0,o,"TIERS",0,e,"gridCounts",0,function(t={}){let n=Object.fromEntries(e.map(t=>[t,{}]));for(let[e,i]of Object.entries(t))for(let t of i||[]){let i=r(t?.tier);n[i][e]=(n[i][e]||0)+1}return n},"makeGrid",0,i,"showAllTiers",0,t=>t.hidden.length?{...t,hidden:[]}:t,"showing",0,u,"showingIn",0,l,"shows",0,function(t,e,n){let i=r(e);return!t.hidden.includes(i)&&t.degrees[i].includes(n)},"toggleCell",0,function(t,e,n,r){let i=t.degrees[e].includes(n),o=t.hidden.includes(e),a=o||!i?[...new Set([...t.degrees[e],n])].sort((t,e)=>t-e):t.degrees[e].filter(t=>t!==n);return c(t,{hidden:o?t.hidden.filter(t=>t!==e):t.hidden,degrees:{...t.degrees,[e]:a}},r)},"toggleDegree",0,function(t,n,r){let i=e.filter(e=>!t.hidden.includes(e)&&(!r||s(r,e,n)>0));if(!i.length)return t;let o=i.every(e=>t.degrees[e].includes(n)),a={...t.degrees};for(let t of i)a[t]=o?a[t].filter(t=>t!==n):[...new Set([...a[t],n])].sort((t,e)=>t-e);return c(t,{...t,degrees:a},r)},"toggleTier",0,function(t,n,r){if(!t.hidden.includes(n))return c(t,{...t,hidden:[...t.hidden,n]},r);let i=t.degrees[n],o=[...new Set(e.flatMap(e=>e===n?[]:t.degrees[e]))].sort((t,e)=>t-e);return{hidden:t.hidden.filter(t=>t!==n),degrees:i.length?t.degrees:{...t.degrees,[n]:o.length?o:[1]}}}])},36534,t=>{"use strict";var e=t.i(50768),n=t.i(23731),r=t.i(49260);function i(t){return t.x+t.vx}function o(t){return t.y+t.vy}t.s(["forceCollide",0,function(t){var a,s,l,u=1,c=1;function h(){for(var t,n,h,d,p,g,y,v=a.length,m=0;m<c;++m)for(n=(0,e.quadtree)(a,i,o).visitAfter(f),t=0;t<v;++t)y=(g=s[(h=a[t]).index])*g,d=h.x+h.vx,p=h.y+h.vy,n.visit(x);function x(t,e,n,i,o){var a=t.data,s=t.r,c=g+s;if(a){if(a.index>h.index){var f=d-a.x-a.vx,v=p-a.y-a.vy,m=f*f+v*v;m<c*c&&(0===f&&(m+=(f=(0,r.default)(l))*f),0===v&&(m+=(v=(0,r.default)(l))*v),m=(c-(m=Math.sqrt(m)))/m*u,h.vx+=(f*=m)*(c=(s*=s)/(y+s)),h.vy+=(v*=m)*c,a.vx-=f*(c=1-c),a.vy-=v*c)}return}return e>d+c||i<d-c||n>p+c||o<p-c}}function f(t){if(t.data)return t.r=s[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function d(){if(a){var e,n,r=a.length;for(s=Array(r),e=0;e<r;++e)s[(n=a[e]).index]=+t(n,e,a)}}return"function"!=typeof t&&(t=(0,n.default)(null==t?1:+t)),h.initialize=function(t,e){a=t,l=e,d()},h.iterations=function(t){return arguments.length?(c=+t,h):c},h.strength=function(t){return arguments.length?(u=+t,h):u},h.radius=function(e){return arguments.length?(t="function"==typeof e?e:(0,n.default)(+e),d(),h):t},h}],36534)},23731,49260,t=>{"use strict";t.s(["default",0,function(t){return function(){return t}}],23731),t.s(["default",0,function(t){return(t()-.5)*1e-6}],49260)},77899,t=>{"use strict";var e=t.i(23731),n=t.i(49260);function r(t){return t.index}function i(t,e){var n=t.get(e);if(!n)throw Error("node not found: "+e);return n}t.s(["forceLink",0,function(t){var o,a,s,l,u,c,h=r,f=function(t){return 1/Math.min(l[t.source.index],l[t.target.index])},d=(0,e.default)(30),p=1;function g(e){for(var r=0,i=t.length;r<p;++r)for(var s,l,h,f,d,g,y,v=0;v<i;++v)l=(s=t[v]).source,g=((g=Math.sqrt((f=(h=s.target).x+h.vx-l.x-l.vx||(0,n.default)(c))*f+(d=h.y+h.vy-l.y-l.vy||(0,n.default)(c))*d))-a[v])/g*e*o[v],f*=g,d*=g,h.vx-=f*(y=u[v]),h.vy-=d*y,l.vx+=f*(y=1-y),l.vy+=d*y}function y(){if(s){var e,n,r=s.length,c=t.length,f=new Map(s.map((t,e)=>[h(t,e,s),t]));for(e=0,l=Array(r);e<c;++e)(n=t[e]).index=e,"object"!=typeof n.source&&(n.source=i(f,n.source)),"object"!=typeof n.target&&(n.target=i(f,n.target)),l[n.source.index]=(l[n.source.index]||0)+1,l[n.target.index]=(l[n.target.index]||0)+1;for(e=0,u=Array(c);e<c;++e)n=t[e],u[e]=l[n.source.index]/(l[n.source.index]+l[n.target.index]);o=Array(c),v(),a=Array(c),m()}}function v(){if(s)for(var e=0,n=t.length;e<n;++e)o[e]=+f(t[e],e,t)}function m(){if(s)for(var e=0,n=t.length;e<n;++e)a[e]=+d(t[e],e,t)}return null==t&&(t=[]),g.initialize=function(t,e){s=t,c=e,y()},g.links=function(e){return arguments.length?(t=e,y(),g):t},g.id=function(t){return arguments.length?(h=t,g):h},g.iterations=function(t){return arguments.length?(p=+t,g):p},g.strength=function(t){return arguments.length?(f="function"==typeof t?t:(0,e.default)(+t),v(),g):f},g.distance=function(t){return arguments.length?(d="function"==typeof t?t:(0,e.default)(+t),m(),g):d},g}],77899)},17983,t=>{"use strict";var e=t.i(50768),n=t.i(23731),r=t.i(49260),i=t.i(909);t.s(["forceManyBody",0,function(){var t,o,a,s,l,u=(0,n.default)(-30),c=1,h=1/0,f=.81;function d(n){var r,a=t.length,l=(0,e.quadtree)(t,i.x,i.y).visitAfter(g);for(s=n,r=0;r<a;++r)o=t[r],l.visit(y)}function p(){if(t){var e,n,r=t.length;for(l=Array(r),e=0;e<r;++e)l[(n=t[e]).index]=+u(n,e,t)}}function g(t){var e,n,r,i,o,a=0,s=0;if(t.length){for(r=i=o=0;o<4;++o)(e=t[o])&&(n=Math.abs(e.value))&&(a+=e.value,s+=n,r+=n*e.x,i+=n*e.y);t.x=r/s,t.y=i/s}else{(e=t).x=e.data.x,e.y=e.data.y;do a+=l[e.data.index];while(e=e.next)}t.value=a}function y(t,e,n,i){if(!t.value)return!0;var u=t.x-o.x,d=t.y-o.y,p=i-e,g=u*u+d*d;if(p*p/f<g)return g<h&&(0===u&&(g+=(u=(0,r.default)(a))*u),0===d&&(g+=(d=(0,r.default)(a))*d),g<c&&(g=Math.sqrt(c*g)),o.vx+=u*t.value*s/g,o.vy+=d*t.value*s/g),!0;if(!t.length&&!(g>=h)){(t.data!==o||t.next)&&(0===u&&(g+=(u=(0,r.default)(a))*u),0===d&&(g+=(d=(0,r.default)(a))*d),g<c&&(g=Math.sqrt(c*g)));do t.data!==o&&(p=l[t.data.index]*s/g,o.vx+=u*p,o.vy+=d*p);while(t=t.next)}}return d.initialize=function(e,n){t=e,a=n,p()},d.strength=function(t){return arguments.length?(u="function"==typeof t?t:(0,n.default)(+t),p(),d):u},d.distanceMin=function(t){return arguments.length?(c=t*t,d):Math.sqrt(c)},d.distanceMax=function(t){return arguments.length?(h=t*t,d):Math.sqrt(h)},d.theta=function(t){return arguments.length?(f=t*t,d):Math.sqrt(f)},d}],17983)},909,t=>{"use strict";var e=t.i(91889),n=t.i(60208),r=Math.PI*(3-Math.sqrt(5));t.s(["default",0,function(t){let i;var o,a=1,s=.001,l=1-Math.pow(.001,1/300),u=0,c=.6,h=new Map,f=(0,n.timer)(g),d=(0,e.dispatch)("tick","end"),p=(i=1,()=>(i=(1664525*i+0x3c6ef35f)%0x100000000)/0x100000000);function g(){y(),d.call("tick",o),a<s&&(f.stop(),d.call("end",o))}function y(e){var n,r,i=t.length;void 0===e&&(e=1);for(var s=0;s<e;++s)for(a+=(u-a)*l,h.forEach(function(t){t(a)}),n=0;n<i;++n)null==(r=t[n]).fx?r.x+=r.vx*=c:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=c:(r.y=r.fy,r.vy=0);return o}function v(){for(var e,n=0,i=t.length;n<i;++n){if((e=t[n]).index=n,null!=e.fx&&(e.x=e.fx),null!=e.fy&&(e.y=e.fy),isNaN(e.x)||isNaN(e.y)){var o=10*Math.sqrt(.5+n),a=n*r;e.x=o*Math.cos(a),e.y=o*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function m(e){return e.initialize&&e.initialize(t,p),e}return null==t&&(t=[]),v(),o={tick:y,restart:function(){return f.restart(g),o},stop:function(){return f.stop(),o},nodes:function(e){return arguments.length?(t=e,v(),h.forEach(m),o):t},alpha:function(t){return arguments.length?(a=+t,o):a},alphaMin:function(t){return arguments.length?(s=+t,o):s},alphaDecay:function(t){return arguments.length?(l=+t,o):+l},alphaTarget:function(t){return arguments.length?(u=+t,o):u},velocityDecay:function(t){return arguments.length?(c=1-t,o):1-c},randomSource:function(t){return arguments.length?(p=t,h.forEach(m),o):p},force:function(t,e){return arguments.length>1?(null==e?h.delete(t):h.set(t,m(e)),o):h.get(t)},find:function(e,n,r){var i,o,a,s,l,u=0,c=t.length;for(null==r?r=1/0:r*=r,u=0;u<c;++u)(a=(i=e-(s=t[u]).x)*i+(o=n-s.y)*o)<r&&(l=s,r=a);return l},on:function(t,e){return arguments.length>1?(d.on(t,e),o):d.on(t)}}},"x",0,function(t){return t.x},"y",0,function(t){return t.y}],909)},43079,t=>{"use strict";var e=t.i(909);t.s(["forceSimulation",()=>e.default])},52048,47560,t=>{"use strict";var e=t.i(23731);t.s(["forceX",0,function(t){var n,r,i,o=(0,e.default)(.1);function a(t){for(var e,o=0,a=n.length;o<a;++o)e=n[o],e.vx+=(i[o]-e.x)*r[o]*t}function s(){if(n){var e,a=n.length;for(r=Array(a),i=Array(a),e=0;e<a;++e)r[e]=isNaN(i[e]=+t(n[e],e,n))?0:+o(n[e],e,n)}}return"function"!=typeof t&&(t=(0,e.default)(null==t?0:+t)),a.initialize=function(t){n=t,s()},a.strength=function(t){return arguments.length?(o="function"==typeof t?t:(0,e.default)(+t),s(),a):o},a.x=function(n){return arguments.length?(t="function"==typeof n?n:(0,e.default)(+n),s(),a):t},a}],52048),t.s(["forceY",0,function(t){var n,r,i,o=(0,e.default)(.1);function a(t){for(var e,o=0,a=n.length;o<a;++o)e=n[o],e.vy+=(i[o]-e.y)*r[o]*t}function s(){if(n){var e,a=n.length;for(r=Array(a),i=Array(a),e=0;e<a;++e)r[e]=isNaN(i[e]=+t(n[e],e,n))?0:+o(n[e],e,n)}}return"function"!=typeof t&&(t=(0,e.default)(null==t?0:+t)),a.initialize=function(t){n=t,s()},a.strength=function(t){return arguments.length?(o="function"==typeof t?t:(0,e.default)(+t),s(),a):o},a.y=function(n){return arguments.length?(t="function"==typeof n?n:(0,e.default)(+n),s(),a):t},a}],47560)},50768,t=>{"use strict";function e(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var i,o,a,s,l,u,c,h,f,d=t._root,p={data:r},g=t._x0,y=t._y0,v=t._x1,m=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((u=e>=(o=(g+v)/2))?g=o:v=o,(c=n>=(a=(y+m)/2))?y=a:m=a,i=d,!(d=d[h=c<<1|u]))return i[h]=p,t;if(s=+t._x.call(null,d.data),l=+t._y.call(null,d.data),e===s&&n===l)return p.next=d,i?i[h]=p:t._root=p,t;do i=i?i[h]=[,,,,]:t._root=[,,,,],(u=e>=(o=(g+v)/2))?g=o:v=o,(c=n>=(a=(y+m)/2))?y=a:m=a;while((h=c<<1|u)==(f=(l>=a)<<1|s>=o))return i[f]=d,i[h]=p,t}function n(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i}function r(t){return t[0]}function i(t){return t[1]}function o(t,e,n){var o=new a(null==e?r:e,null==n?i:n,NaN,NaN,NaN,NaN);return null==t?o:o.addAll(t)}function a(t,e,n,r,i,o){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function s(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var l=o.prototype=a.prototype;l.copy=function(){var t,e,n=new a(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=s(r),n;for(t=[{source:r,target:n._root=[,,,,]}];r=t.pop();)for(var i=0;i<4;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=[,,,,]}):r.target[i]=s(e));return n},l.add=function(t){let n=+this._x.call(null,t),r=+this._y.call(null,t);return e(this.cover(n,r),n,r,t)},l.addAll=function(t){var n,r,i,o,a=t.length,s=Array(a),l=Array(a),u=1/0,c=1/0,h=-1/0,f=-1/0;for(r=0;r<a;++r)!(isNaN(i=+this._x.call(null,n=t[r]))||isNaN(o=+this._y.call(null,n)))&&(s[r]=i,l[r]=o,i<u&&(u=i),i>h&&(h=i),o<c&&(c=o),o>f&&(f=o));if(u>h||c>f)return this;for(this.cover(u,c).cover(h,f),r=0;r<a;++r)e(this,s[r],l[r],t[r]);return this},l.cover=function(t,e){if(isNaN(t*=1)||isNaN(e*=1))return this;var n=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(n))i=(n=Math.floor(t))+1,o=(r=Math.floor(e))+1;else{for(var a,s,l=i-n||1,u=this._root;n>t||t>=i||r>e||e>=o;)switch(s=(e<r)<<1|t<n,(a=[,,,,])[s]=u,u=a,l*=2,s){case 0:i=n+l,o=r+l;break;case 1:n=i-l,o=r+l;break;case 2:i=n+l,r=o-l;break;case 3:n=i-l,r=o-l}this._root&&this._root.length&&(this._root=u)}return this._x0=n,this._y0=r,this._x1=i,this._y1=o,this},l.data=function(){var t=[];return this.visit(function(e){if(!e.length)do t.push(e.data);while(e=e.next)}),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,r){var i,o,a,s,l,u,c,h=this._x0,f=this._y0,d=this._x1,p=this._y1,g=[],y=this._root;for(y&&g.push(new n(y,h,f,d,p)),null==r?r=1/0:(h=t-r,f=e-r,d=t+r,p=e+r,r*=r);u=g.pop();)if((y=u.node)&&!((o=u.x0)>d)&&!((a=u.y0)>p)&&!((s=u.x1)<h)&&!((l=u.y1)<f))if(y.length){var v=(o+s)/2,m=(a+l)/2;g.push(new n(y[3],v,m,s,l),new n(y[2],o,m,v,l),new n(y[1],v,a,s,m),new n(y[0],o,a,v,m)),(c=(e>=m)<<1|t>=v)&&(u=g[g.length-1],g[g.length-1]=g[g.length-1-c],g[g.length-1-c]=u)}else{var x=t-this._x.call(null,y.data),b=e-this._y.call(null,y.data),_=x*x+b*b;if(_<r){var w=Math.sqrt(r=_);h=t-w,f=e-w,d=t+w,p=e+w,i=y.data}}return i},l.remove=function(t){if(isNaN(o=+this._x.call(null,t))||isNaN(a=+this._y.call(null,t)))return this;var e,n,r,i,o,a,s,l,u,c,h,f,d=this._root,p=this._x0,g=this._y0,y=this._x1,v=this._y1;if(!d)return this;if(d.length)for(;;){if((u=o>=(s=(p+y)/2))?p=s:y=s,(c=a>=(l=(g+v)/2))?g=l:v=l,e=d,!(d=d[h=c<<1|u]))return this;if(!d.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(n=e,f=h)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return((i=d.next)&&delete d.next,r)?i?r.next=i:delete r.next:e?(i?e[h]=i:delete e[h],(d=e[0]||e[1]||e[2]||e[3])&&d===(e[3]||e[2]||e[1]||e[0])&&!d.length&&(n?n[f]=d:this._root=d)):this._root=i,this},l.removeAll=function(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this},l.root=function(){return this._root},l.size=function(){var t=0;return this.visit(function(e){if(!e.length)do++t;while(e=e.next)}),t},l.visit=function(t){var e,r,i,o,a,s,l=[],u=this._root;for(u&&l.push(new n(u,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(u=e.node,i=e.x0,o=e.y0,a=e.x1,s=e.y1)&&u.length){var c=(i+a)/2,h=(o+s)/2;(r=u[3])&&l.push(new n(r,c,h,a,s)),(r=u[2])&&l.push(new n(r,i,h,c,s)),(r=u[1])&&l.push(new n(r,c,o,a,h)),(r=u[0])&&l.push(new n(r,i,o,c,h))}return this},l.visitAfter=function(t){var e,r=[],i=[];for(this._root&&r.push(new n(this._root,this._x0,this._y0,this._x1,this._y1));e=r.pop();){var o=e.node;if(o.length){var a,s=e.x0,l=e.y0,u=e.x1,c=e.y1,h=(s+u)/2,f=(l+c)/2;(a=o[0])&&r.push(new n(a,s,l,h,f)),(a=o[1])&&r.push(new n(a,h,l,u,f)),(a=o[2])&&r.push(new n(a,s,f,h,c)),(a=o[3])&&r.push(new n(a,h,f,u,c))}i.push(e)}for(;e=i.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},l.x=function(t){return arguments.length?(this._x=t,this):this._x},l.y=function(t){return arguments.length?(this._y=t,this):this._y},t.s(["quadtree",0,o],50768)},47716,91889,57161,48708,23685,36377,90273,561,60208,21972,7394,36755,t=>{"use strict";t.s(["Selection",()=>G,"default",()=>Y,"root",()=>H],48708);var e,n={value:()=>{}};function r(){for(var t,e=0,n=arguments.length,r={};e<n;++e){if(!(t=arguments[e]+"")||t in r||/[\s.]/.test(t))throw Error("illegal type: "+t);r[t]=[]}return new i(r)}function i(t){this._=t}function o(t,e,r){for(var i=0,o=t.length;i<o;++i)if(t[i].name===e){t[i]=n,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=r&&t.push({name:e,value:r}),t}function a(){}function s(t){return null==t?a:function(){return this.querySelector(t)}}function l(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function u(){return[]}function c(t){return null==t?u:function(){return this.querySelectorAll(t)}}function h(t){return function(){return this.matches(t)}}function f(t){return function(e){return e.matches(t)}}i.prototype=r.prototype={constructor:i,on:function(t,e){var n,r=this._,i=(t+"").trim().split(/^|\s+/).map(function(t){var e="",n=t.indexOf(".");if(n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!r.hasOwnProperty(t))throw Error("unknown type: "+t);return{type:t,name:e}}),a=-1,s=i.length;if(arguments.length<2){for(;++a<s;)if((n=(t=i[a]).type)&&(n=function(t,e){for(var n,r=0,i=t.length;r<i;++r)if((n=t[r]).name===e)return n.value}(r[n],t.name)))return n;return}if(null!=e&&"function"!=typeof e)throw Error("invalid callback: "+e);for(;++a<s;)if(n=(t=i[a]).type)r[n]=o(r[n],t.name,e);else if(null==e)for(n in r)r[n]=o(r[n],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new i(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,i=Array(n),o=0;o<n;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(r=this._[t],o=0,n=r.length;o<n;++o)r[o].value.apply(e,i)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(e,n)}},t.s(["dispatch",0,r],91889),t.s(["default",0,l],57161);var d=Array.prototype.find;function p(){return this.firstElementChild}var g=Array.prototype.filter;function y(){return Array.from(this.children)}function v(t){return Array(t.length)}function m(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function x(t,e,n,r,i,o){for(var a,s=0,l=e.length,u=o.length;s<u;++s)(a=e[s])?(a.__data__=o[s],r[s]=a):n[s]=new m(t,o[s]);for(;s<l;++s)(a=e[s])&&(i[s]=a)}function b(t,e,n,r,i,o,a){var s,l,u,c=new Map,h=e.length,f=o.length,d=Array(h);for(s=0;s<h;++s)(l=e[s])&&(d[s]=u=a.call(l,l.__data__,s,e)+"",c.has(u)?i[s]=l:c.set(u,l));for(s=0;s<f;++s)u=a.call(t,o[s],s,o)+"",(l=c.get(u))?(r[s]=l,l.__data__=o[s],c.delete(u)):n[s]=new m(t,o[s]);for(s=0;s<h;++s)(l=e[s])&&c.get(d[s])===l&&(i[s]=l)}function _(t){return t.__data__}function w(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}m.prototype={constructor:m,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var k="http://www.w3.org/1999/xhtml";let S={svg:"http://www.w3.org/2000/svg",xhtml:k,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function N(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),S.hasOwnProperty(e)?{space:S[e],local:t}:t}function j(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function z(t,e){return t.style.getPropertyValue(e)||j(t).getComputedStyle(t,null).getPropertyValue(e)}function A(t){return t.trim().split(/^|\s+/)}function E(t){return t.classList||new T(t)}function T(t){this._node=t,this._names=A(t.getAttribute("class")||"")}function M(t,e){for(var n=E(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function C(t,e){for(var n=E(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}function $(){this.textContent=""}function R(){this.innerHTML=""}function L(){this.nextSibling&&this.parentNode.appendChild(this)}function B(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function D(t){var e=N(t);return(e.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===k&&e.documentElement.namespaceURI===k?e.createElement(t):e.createElementNS(n,t)}})(e)}function P(){return null}function I(){var t=this.parentNode;t&&t.removeChild(this)}function O(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function q(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function W(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,o=e.length;r<o;++r)(n=e[r],t.type&&n.type!==t.type||n.name!==t.name)?e[++i]=n:this.removeEventListener(n.type,n.listener,n.options);++i?e.length=i:delete this.__on}}}function X(t,e,n){return function(){var r,i=this.__on,o=function(t){e.call(this,t,this.__data__)};if(i){for(var a=0,s=i.length;a<s;++a)if((r=i[a]).type===t.type&&r.name===t.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=n),r.value=e;return}}this.addEventListener(t.type,o,n),r={type:t.type,name:t.name,value:e,listener:o,options:n},i?i.push(r):this.__on=[r]}}function F(t,e,n){var r=j(t),i=r.CustomEvent;"function"==typeof i?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}T.prototype={add:function(t){0>this._names.indexOf(t)&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var H=[null];function G(t,e){this._groups=t,this._parents=e}function U(){return new G([[document.documentElement]],H)}G.prototype=U.prototype={constructor:G,select:function(t){"function"!=typeof t&&(t=s(t));for(var e=this._groups,n=e.length,r=Array(n),i=0;i<n;++i)for(var o,a,l=e[i],u=l.length,c=r[i]=Array(u),h=0;h<u;++h)(o=l[h])&&(a=t.call(o,o.__data__,h,l))&&("__data__"in o&&(a.__data__=o.__data__),c[h]=a);return new G(r,this._parents)},selectAll:function(t){if("function"==typeof t){var e;e=t,t=function(){return l(e.apply(this,arguments))}}else t=c(t);for(var n=this._groups,r=n.length,i=[],o=[],a=0;a<r;++a)for(var s,u=n[a],h=u.length,f=0;f<h;++f)(s=u[f])&&(i.push(t.call(s,s.__data__,f,u)),o.push(s));return new G(i,o)},selectChild:function(t){var e;return this.select(null==t?p:(e="function"==typeof t?t:f(t),function(){return d.call(this.children,e)}))},selectChildren:function(t){var e;return this.selectAll(null==t?y:(e="function"==typeof t?t:f(t),function(){return g.call(this.children,e)}))},filter:function(t){"function"!=typeof t&&(t=h(t));for(var e=this._groups,n=e.length,r=Array(n),i=0;i<n;++i)for(var o,a=e[i],s=a.length,l=r[i]=[],u=0;u<s;++u)(o=a[u])&&t.call(o,o.__data__,u,a)&&l.push(o);return new G(r,this._parents)},data:function(t,e){if(!arguments.length)return Array.from(this,_);var n=e?b:x,r=this._parents,i=this._groups;"function"!=typeof t&&(m=t,t=function(){return m});for(var o=i.length,a=Array(o),s=Array(o),l=Array(o),u=0;u<o;++u){var c=r[u],h=i[u],f=h.length,d="object"==typeof(v=t.call(c,c&&c.__data__,u,r))&&"length"in v?v:Array.from(v),p=d.length,g=s[u]=Array(p),y=a[u]=Array(p);n(c,h,g,y,l[u]=Array(f),d,e);for(var v,m,w,k,S=0,N=0;S<p;++S)if(w=g[S]){for(S>=N&&(N=S+1);!(k=y[N])&&++N<p;);w._next=k||null}}return(a=new G(a,r))._enter=s,a._exit=l,a},enter:function(){return new G(this._enter||this._groups.map(v),this._parents)},exit:function(){return new G(this._exit||this._groups.map(v),this._parents)},join:function(t,e,n){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=e&&(i=e(i))&&(i=i.selection()),null==n?o.remove():n(o),r&&i?r.merge(i).order():i},merge:function(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,i=n.length,o=r.length,a=Math.min(i,o),s=Array(i),l=0;l<a;++l)for(var u,c=n[l],h=r[l],f=c.length,d=s[l]=Array(f),p=0;p<f;++p)(u=c[p]||h[p])&&(d[p]=u);for(;l<i;++l)s[l]=n[l];return new G(s,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,i=t[e],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=w);for(var n=this._groups,r=n.length,i=Array(r),o=0;o<r;++o){for(var a,s=n[o],l=s.length,u=i[o]=Array(l),c=0;c<l;++c)(a=s[c])&&(u[c]=a);u.sort(e)}return new G(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){let t=0;for(let e of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i,o=e[n],a=0,s=o.length;a<s;++a)(i=o[a])&&t.call(i,i.__data__,a,o);return this},attr:function(t,e){var n=N(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==e?n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof e?n.local?function(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}:function(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}:n.local?function(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}:function(t,e){return function(){this.setAttribute(t,e)}})(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof e?function(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}:function(t,e,n){return function(){this.style.setProperty(t,e,n)}})(t,e,null==n?"":n)):z(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?function(t){return function(){delete this[t]}}:"function"==typeof e?function(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}:function(t,e){return function(){this[t]=e}})(t,e)):this.node()[t]},classed:function(t,e){var n=A(t+"");if(arguments.length<2){for(var r=E(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof e?function(t,e){return function(){(e.apply(this,arguments)?M:C)(this,t)}}:e?function(t){return function(){M(this,t)}}:function(t){return function(){C(this,t)}})(n,e))},text:function(t){return arguments.length?this.each(null==t?$:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?R:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(L)},lower:function(){return this.each(B)},append:function(t){var e="function"==typeof t?t:D(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})},insert:function(t,e){var n="function"==typeof t?t:D(t),r=null==e?P:"function"==typeof e?e:s(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(I)},clone:function(t){return this.select(t?q:O)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,i,o=(t+"").trim().split(/^|\s+/).map(function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}),a=o.length;if(arguments.length<2){var s=this.node().__on;if(s){for(var l,u=0,c=s.length;u<c;++u)for(r=0,l=s[u];r<a;++r)if((i=o[r]).type===l.type&&i.name===l.name)return l.value}return}for(s=e?X:W,r=0;r<a;++r)this.each(s(o[r],e,n));return this},dispatch:function(t,e){return this.each(("function"==typeof e?function(t,e){return function(){return F(this,t,e.apply(this,arguments))}}:function(t,e){return function(){return F(this,t,e)}})(t,e))},[Symbol.iterator]:function*(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r,i=t[e],o=0,a=i.length;o<a;++o)(r=i[o])&&(yield r)}};let Y=U;function V(t){return"string"==typeof t?new G([[document.querySelector(t)]],[document.documentElement]):new G([[t]],H)}t.s(["select",0,V],23685);let K={capture:!0,passive:!1};function Q(t){t.preventDefault(),t.stopImmediatePropagation()}function J(t){var e=t.document.documentElement,n=V(t).on("dragstart.drag",Q,K);"onselectstart"in e?n.on("selectstart.drag",Q,K):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function Z(t,e){var n=t.document.documentElement,r=V(t).on("dragstart.drag",null);e&&(r.on("click.drag",Q,K),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function tt(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function te(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function tn(){}t.s(["default",0,Q,"nonpassive",0,{passive:!1},"nonpassivecapture",0,K,"nopropagation",0,function(t){t.stopImmediatePropagation()}],36377),t.s(["default",0,J,"yesdrag",0,Z],90273);var tr="\\s*([+-]?\\d+)\\s*",ti="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",to="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",ta=/^#([0-9a-f]{3,8})$/,ts=RegExp(`^rgb\\(${tr},${tr},${tr}\\)$`),tl=RegExp(`^rgb\\(${to},${to},${to}\\)$`),tu=RegExp(`^rgba\\(${tr},${tr},${tr},${ti}\\)$`),tc=RegExp(`^rgba\\(${to},${to},${to},${ti}\\)$`),th=RegExp(`^hsl\\(${ti},${to},${to}\\)$`),tf=RegExp(`^hsla\\(${ti},${to},${to},${ti}\\)$`),td={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function tp(){return this.rgb().formatHex()}function tg(){return this.rgb().formatRgb()}function ty(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=ta.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?tv(e):3===n?new tb(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?tm(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?tm(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=ts.exec(t))?new tb(e[1],e[2],e[3],1):(e=tl.exec(t))?new tb(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=tu.exec(t))?tm(e[1],e[2],e[3],e[4]):(e=tc.exec(t))?tm(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=th.exec(t))?tj(e[1],e[2]/100,e[3]/100,1):(e=tf.exec(t))?tj(e[1],e[2]/100,e[3]/100,e[4]):td.hasOwnProperty(t)?tv(td[t]):"transparent"===t?new tb(NaN,NaN,NaN,0):null}function tv(t){return new tb(t>>16&255,t>>8&255,255&t,1)}function tm(t,e,n,r){return r<=0&&(t=e=n=NaN),new tb(t,e,n,r)}function tx(t,e,n,r){var i;return 1==arguments.length?((i=t)instanceof tn||(i=ty(i)),i)?new tb((i=i.rgb()).r,i.g,i.b,i.opacity):new tb:new tb(t,e,n,null==r?1:r)}function tb(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function t_(){return`#${tN(this.r)}${tN(this.g)}${tN(this.b)}`}function tw(){let t=tk(this.opacity);return`${1===t?"rgb(":"rgba("}${tS(this.r)}, ${tS(this.g)}, ${tS(this.b)}${1===t?")":`, ${t})`}`}function tk(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function tS(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function tN(t){return((t=tS(t))<16?"0":"")+t.toString(16)}function tj(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new tA(t,e,n,r)}function tz(t){if(t instanceof tA)return new tA(t.h,t.s,t.l,t.opacity);if(t instanceof tn||(t=ty(t)),!t)return new tA;if(t instanceof tA)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),a=NaN,s=o-i,l=(o+i)/2;return s?(a=e===o?(n-r)/s+(n<r)*6:n===o?(r-e)/s+2:(e-n)/s+4,s/=l<.5?o+i:2-o-i,a*=60):s=l>0&&l<1?0:a,new tA(a,s,l,t.opacity)}function tA(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function tE(t){return(t=(t||0)%360)<0?t+360:t}function tT(t){return Math.max(0,Math.min(1,t||0))}function tM(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}function tC(t,e,n,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*e+(4-6*o+3*a)*n+(1+3*t+3*o-3*a)*r+a*i)/6}tt(tn,ty,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:tp,formatHex:tp,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return tz(this).formatHsl()},formatRgb:tg,toString:tg}),tt(tb,tx,te(tn,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new tb(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new tb(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new tb(tS(this.r),tS(this.g),tS(this.b),tk(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:t_,formatHex:t_,formatHex8:function(){return`#${tN(this.r)}${tN(this.g)}${tN(this.b)}${tN((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:tw,toString:tw})),tt(tA,function(t,e,n,r){return 1==arguments.length?tz(t):new tA(t,e,n,null==r?1:r)},te(tn,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new tA(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new tA(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new tb(tM(t>=240?t-240:t+120,i,r),tM(t,i,r),tM(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new tA(tE(this.h),tT(this.s),tT(this.l),tk(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=tk(this.opacity);return`${1===t?"hsl(":"hsla("}${tE(this.h)}, ${100*tT(this.s)}%, ${100*tT(this.l)}%${1===t?")":`, ${t})`}`}}));let t$=t=>()=>t;function tR(t,e){var n=e-t;return n?function(e){return t+e*n}:t$(isNaN(t)?e:t)}let tL=function t(e){var n,r=1==(n=+e)?tR:function(t,e){var r,i,o;return e-t?(r=t,i=e,r=Math.pow(r,o=n),i=Math.pow(i,o)-r,o=1/o,function(t){return Math.pow(r+t*i,o)}):t$(isNaN(t)?e:t)};function i(t,e){var n=r((t=tx(t)).r,(e=tx(e)).r),i=r(t.g,e.g),o=r(t.b,e.b),a=tR(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=o(e),t.opacity=a(e),t+""}}return i.gamma=t,i}(1);function tB(t){return function(e){var n,r,i=e.length,o=Array(i),a=Array(i),s=Array(i);for(n=0;n<i;++n)r=tx(e[n]),o[n]=r.r||0,a[n]=r.g||0,s[n]=r.b||0;return o=t(o),a=t(a),s=t(s),r.opacity=1,function(t){return r.r=o(t),r.g=a(t),r.b=s(t),r+""}}}function tD(t,e){return t*=1,e*=1,function(n){return t*(1-n)+e*n}}tB(function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,s=r<e-1?t[r+2]:2*o-i;return tC((n-r/e)*e,a,i,o,s)}}),tB(function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],o=t[r%e],a=t[(r+1)%e],s=t[(r+2)%e];return tC((n-r/e)*e,i,o,a,s)}});var tP=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tI=RegExp(tP.source,"g");function tO(t,e){if(t=function(t){let e;for(;e=t.sourceEvent;)t=e;return t}(t),void 0===e&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(e.getScreenCTM().inverse())).x,r.y]}if(e.getBoundingClientRect){var i=e.getBoundingClientRect();return[t.clientX-i.left-e.clientLeft,t.clientY-i.top-e.clientTop]}}return[t.pageX,t.pageY]}t.s(["pointer",0,tO],561);var tq,tW,tX=0,tF=0,tH=0,tG=0,tU=0,tY=0,tV="object"==typeof performance&&performance.now?performance:Date,tK="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function tQ(){return tU||(tK(tJ),tU=tV.now()+tY)}function tJ(){tU=0}function tZ(){this._call=this._time=this._next=null}function t0(t,e,n){var r=new tZ;return r.restart(t,e,n),r}function t1(){tU=(tG=tV.now())+tY,tX=tF=0;try{tQ(),++tX;for(var t,e=tq;e;)(t=tU-e._time)>=0&&e._call.call(void 0,t),e=e._next;--tX}finally{tX=0,function(){for(var t,e,n=tq,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:tq=e);tW=t,t5(r)}(),tU=0}}function t2(){var t=tV.now(),e=t-tG;e>1e3&&(tY-=e,tG=t)}function t5(t){!tX&&(tF&&(tF=clearTimeout(tF)),t-tU>24?(t<1/0&&(tF=setTimeout(t1,t-tV.now()-tY)),tH&&(tH=clearInterval(tH))):(tH||(tG=tV.now(),tH=setInterval(t2,1e3)),tX=1,tK(t1)))}function t6(t,e,n){var r=new tZ;return e=null==e?0:+e,r.restart(n=>{r.stop(),t(n+e)},e,n),r}tZ.prototype=t0.prototype={constructor:tZ,restart:function(t,e,n){if("function"!=typeof t)throw TypeError("callback is not a function");n=(null==n?tQ():+n)+(null==e?0:+e),this._next||tW===this||(tW?tW._next=this:tq=this,tW=this),this._call=t,this._time=n,t5()},stop:function(){this._call&&(this._call=null,this._time=1/0,t5())}},t.s(["Timer",0,tZ,"now",0,tQ,"timer",0,t0],60208);var t3=r("start","end","cancel","interrupt"),t4=[];function t8(t,e,n,r,i,o){var a=t.__transition;if(a){if(n in a)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function o(l){var u,c,h,f;if(1!==n.state)return s();for(u in i)if((f=i[u]).name===n.name){if(3===f.state)return t6(o);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[u]):+u<e&&(f.state=6,f.timer.stop(),f.on.call("cancel",t,t.__data__,f.index,f.group),delete i[u])}if(t6(function(){3===n.state&&(n.state=4,n.timer.restart(a,n.delay,n.time),a(l))}),n.state=2,n.on.call("start",t,t.__data__,n.index,n.group),2===n.state){for(n.state=3,r=Array(h=n.tween.length),u=0,c=-1;u<h;++u)(f=n.tween[u].value.call(t,t.__data__,n.index,n.group))&&(r[++c]=f);r.length=c+1}}function a(e){for(var i=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(s),n.state=5,1),o=-1,a=r.length;++o<a;)r[o].call(t,i);5===n.state&&(n.on.call("end",t,t.__data__,n.index,n.group),s())}function s(){for(var r in n.state=6,n.timer.stop(),delete i[e],i)return;delete t.__transition}i[e]=n,n.timer=t0(function(t){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=t&&o(t-n.delay)},0,n.time)}(t,n,{name:e,index:r,group:i,on:t3,tween:t4,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function t9(t,e){var n=et(t,e);if(n.state>0)throw Error("too late; already scheduled");return n}function t7(t,e){var n=et(t,e);if(n.state>3)throw Error("too late; already running");return n}function et(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw Error("transition not found");return n}function ee(t,e){var n,r,i,o=t.__transition,a=!0;if(o){for(i in e=null==e?null:e+"",o){if((n=o[i]).name!==e){a=!1;continue}r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete o[i]}a&&delete t.__transition}}var en=180/Math.PI,er={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ei(t,e,n,r,i,o){var a,s,l;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),t*r<e*n&&(t=-t,e=-e,l=-l,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(e,t)*en,skewX:Math.atan(l)*en,scaleX:a,scaleY:s}}function eo(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}return function(o,a){var s,l,u,c,h=[],f=[];return o=t(o),a=t(a),!function(t,r,i,o,a,s){if(t!==i||r!==o){var l=a.push("translate(",null,e,null,n);s.push({i:l-4,x:tD(t,i)},{i:l-2,x:tD(r,o)})}else(i||o)&&a.push("translate("+i+e+o+n)}(o.translateX,o.translateY,a.translateX,a.translateY,h,f),s=o.rotate,l=a.rotate,s!==l?(s-l>180?l+=360:l-s>180&&(s+=360),f.push({i:h.push(i(h)+"rotate(",null,r)-2,x:tD(s,l)})):l&&h.push(i(h)+"rotate("+l+r),u=o.skewX,c=a.skewX,u!==c?f.push({i:h.push(i(h)+"skewX(",null,r)-2,x:tD(u,c)}):c&&h.push(i(h)+"skewX("+c+r),!function(t,e,n,r,o,a){if(t!==n||e!==r){var s=o.push(i(o)+"scale(",null,",",null,")");a.push({i:s-4,x:tD(t,n)},{i:s-2,x:tD(e,r)})}else(1!==n||1!==r)&&o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,h,f),o=a=null,function(t){for(var e,n=-1,r=f.length;++n<r;)h[(e=f[n]).i]=e.x(t);return h.join("")}}}var ea=eo(function(t){let e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?er:ei(e.a,e.b,e.c,e.d,e.e,e.f)},"px, ","px)","deg)"),es=eo(function(t){return null==t?er:(e||(e=document.createElementNS("http://www.w3.org/2000/svg","g")),e.setAttribute("transform",t),t=e.transform.baseVal.consolidate())?ei((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):er},", ",")",")");function el(t,e,n){var r=t._id;return t.each(function(){var t=t7(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)}),function(t){return et(t,r).value[e]}}function eu(t,e){var n;return("number"==typeof e?tD:e instanceof ty?tL:(n=ty(e))?(e=n,tL):function(t,e){var n,r,i,o,a,s=tP.lastIndex=tI.lastIndex=0,l=-1,u=[],c=[];for(t+="",e+="";(i=tP.exec(t))&&(o=tI.exec(e));)(a=o.index)>s&&(a=e.slice(s,a),u[l]?u[l]+=a:u[++l]=a),(i=i[0])===(o=o[0])?u[l]?u[l]+=o:u[++l]=o:(u[++l]=null,c.push({i:l,x:tD(i,o)})),s=tI.lastIndex;return s<e.length&&(a=e.slice(s),u[l]?u[l]+=a:u[++l]=a),u.length<2?c[0]?(n=c[0].x,function(t){return n(t)+""}):(r=e,function(){return r}):(e=c.length,function(t){for(var n,r=0;r<e;++r)u[(n=c[r]).i]=n.x(t);return u.join("")})})(t,e)}var ec=Y.prototype.constructor;function eh(t){return function(){this.style.removeProperty(t)}}var ef=0;function ed(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}var ep=Y.prototype;function eg(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}ed.prototype=(function(t){return Y().transition(t)}).prototype={constructor:ed,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=s(t));for(var r=this._groups,i=r.length,o=Array(i),a=0;a<i;++a)for(var l,u,c=r[a],h=c.length,f=o[a]=Array(h),d=0;d<h;++d)(l=c[d])&&(u=t.call(l,l.__data__,d,c))&&("__data__"in l&&(u.__data__=l.__data__),f[d]=u,t8(f[d],e,n,d,f,et(l,n)));return new ed(o,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=c(t));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var l,u=r[s],h=u.length,f=0;f<h;++f)if(l=u[f]){for(var d,p=t.call(l,l.__data__,f,u),g=et(l,n),y=0,v=p.length;y<v;++y)(d=p[y])&&t8(d,e,n,y,p,g);o.push(p),a.push(l)}return new ed(o,a,e,n)},selectChild:ep.selectChild,selectChildren:ep.selectChildren,filter:function(t){"function"!=typeof t&&(t=h(t));for(var e=this._groups,n=e.length,r=Array(n),i=0;i<n;++i)for(var o,a=e[i],s=a.length,l=r[i]=[],u=0;u<s;++u)(o=a[u])&&t.call(o,o.__data__,u,a)&&l.push(o);return new ed(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw Error();for(var e=this._groups,n=t._groups,r=e.length,i=n.length,o=Math.min(r,i),a=Array(r),s=0;s<o;++s)for(var l,u=e[s],c=n[s],h=u.length,f=a[s]=Array(h),d=0;d<h;++d)(l=u[d]||c[d])&&(f[d]=l);for(;s<r;++s)a[s]=e[s];return new ed(a,this._parents,this._name,this._id)},selection:function(){return new ec(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=++ef,r=this._groups,i=r.length,o=0;o<i;++o)for(var a,s=r[o],l=s.length,u=0;u<l;++u)if(a=s[u]){var c=et(a,e);t8(a,t,n,u,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new ed(r,this._parents,t,n)},call:ep.call,nodes:ep.nodes,node:ep.node,size:ep.size,empty:ep.empty,each:ep.each,on:function(t,e){var n,r,i,o,a,s,l=this._id;return arguments.length<2?et(this.node(),l).on.on(t):this.each((n=l,r=t,i=e,s=(r+"").trim().split(/^|\s+/).every(function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t})?t9:t7,function(){var t=s(this,n),e=t.on;e!==o&&(a=(o=e).copy()).on(r,i),t.on=a}))},attr:function(t,e){var n=N(t),r="transform"===n?es:eu;return this.attrTween(t,"function"==typeof e?(n.local?function(t,e,n){var r,i,o;return function(){var a,s,l=n(this);return null==l?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local))===(s=l+"")?null:a===r&&s===i?o:(i=s,o=e(r=a,l))}}:function(t,e,n){var r,i,o;return function(){var a,s,l=n(this);return null==l?void this.removeAttribute(t):(a=this.getAttribute(t))===(s=l+"")?null:a===r&&s===i?o:(i=s,o=e(r=a,l))}})(n,r,el(this,"attr."+t,e)):null==e?(n.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(n):(n.local?function(t,e,n){var r,i,o=n+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===r?i:i=e(r=a,n)}}:function(t,e,n){var r,i,o=n+"";return function(){var a=this.getAttribute(t);return a===o?null:a===r?i:i=e(r=a,n)}})(n,r,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw Error();var r=N(t);return this.tween(n,(r.local?function(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e){this.setAttributeNS(t.space,t.local,i.call(this,e))}),n}return i._value=e,i}:function(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&function(e){this.setAttribute(t,i.call(this,e))}),n}return i._value=e,i})(r,e))},style:function(t,e,n){var r,i,o,a,s,l,u,c,h,f,d,p,g,y,v,m,x,b,_,w,k,S="transform"==(t+="")?ea:eu;return null==e?this.styleTween(t,(r=t,function(){var t=z(this,r),e=(this.style.removeProperty(r),z(this,r));return t===e?null:t===i&&e===o?a:a=S(i=t,o=e)})).on("end.style."+t,eh(t)):"function"==typeof e?this.styleTween(t,(s=t,l=el(this,"style."+t,e),function(){var t=z(this,s),e=l(this),n=e+"";return null==e&&(this.style.removeProperty(s),n=e=z(this,s)),t===n?null:t===u&&n===c?h:(c=n,h=S(u=t,e))})).each((f=this._id,x="end."+(m="style."+(d=t)),function(){var t=t7(this,f),e=t.on,n=null==t.value[m]?v||(v=eh(d)):void 0;(e!==p||y!==n)&&(g=(p=e).copy()).on(x,y=n),t.on=g})):this.styleTween(t,(b=t,k=e+"",function(){var t=z(this,b);return t===k?null:t===_?w:w=S(_=t,e)}),n).on("end.style."+t,null)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw Error();return this.tween(r,function(t,e,n){var r,i;function o(){var o=e.apply(this,arguments);return o!==i&&(r=(i=o)&&function(e){this.style.setProperty(t,o.call(this,e),n)}),r}return o._value=e,o}(t,e,null==n?"":n))},text:function(t){var e,n;return this.tween("text","function"==typeof t?(e=el(this,"text",t),function(){var t=e(this);this.textContent=null==t?"":t}):(n=null==t?"":t+"",function(){this.textContent=n}))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw Error();return this.tween(e,function(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&function(t){this.textContent=r.call(this,t)}),e}return r._value=t,r}(t))},remove:function(){var t;return this.on("end.remove",(t=this._id,function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,i=et(this.node(),n).tween,o=0,a=i.length;o<a;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==e?function(t,e){var n,r;return function(){var i=t7(this,t),o=i.tween;if(o!==n){r=n=o;for(var a=0,s=r.length;a<s;++a)if(r[a].name===e){(r=r.slice()).splice(a,1);break}}i.tween=r}}:function(t,e,n){var r,i;if("function"!=typeof n)throw Error();return function(){var o=t7(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:e,value:n},l=0,u=i.length;l<u;++l)if(i[l].name===e){i[l]=s;break}l===u&&i.push(s)}o.tween=i}})(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){t9(this,t).delay=+e.apply(this,arguments)}}:function(t,e){return e*=1,function(){t9(this,t).delay=e}})(e,t)):et(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){t7(this,t).duration=+e.apply(this,arguments)}}:function(t,e){return e*=1,function(){t7(this,t).duration=e}})(e,t)):et(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(function(t,e){if("function"!=typeof e)throw Error();return function(){t7(this,t).ease=e}}(e,t)):et(this.node(),e).ease},easeVarying:function(t){var e;if("function"!=typeof t)throw Error();return this.each((e=this._id,function(){var n=t.apply(this,arguments);if("function"!=typeof n)throw Error();t7(this,e).ease=n}))},end:function(){var t,e,n=this,r=n._id,i=n.size();return new Promise(function(o,a){var s={value:a},l={value:function(){0==--i&&o()}};n.each(function(){var n=t7(this,r),i=n.on;i!==t&&((e=(t=i).copy())._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),n.on=e}),0===i&&o()})},[Symbol.iterator]:ep[Symbol.iterator]},t.s(["cubicInOut",0,eg,"cubicOut",0,function(t){return--t*t*t+1}],21972);var ey={time:null,delay:0,duration:250,ease:eg};Y.prototype.interrupt=function(t){return this.each(function(){ee(this,t)})},Y.prototype.transition=function(t){var e,n;t instanceof ed?(e=t._id,t=t._name):(e=++ef,(n=ey).time=tQ(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a,s=r[o],l=s.length,u=0;u<l;++u)(a=s[u])&&t8(a,t,e,u,s,n||function(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw Error(`transition ${e} not found`);return n}(a,e));return new ed(r,this._parents,t,e)};let{abs:ev,max:em,min:ex}=Math;function eb(t){return{type:t}}function e_(t){return((t=Math.exp(t))+1/t)/2}["w","e"].map(eb),["n","s"].map(eb),["n","w","e","s","nw","ne","sw","se"].map(eb);let ew=function t(e,n,r){function i(t,i){var o,a,s=t[0],l=t[1],u=t[2],c=i[0],h=i[1],f=i[2],d=c-s,p=h-l,g=d*d+p*p;if(g<1e-12)a=Math.log(f/u)/e,o=function(t){return[s+t*d,l+t*p,u*Math.exp(e*t*a)]};else{var y=Math.sqrt(g),v=(f*f-u*u+r*g)/(2*u*n*y),m=(f*f-u*u-r*g)/(2*f*n*y),x=Math.log(Math.sqrt(v*v+1)-v);a=(Math.log(Math.sqrt(m*m+1)-m)-x)/e,o=function(t){var r,i,o=t*a,c=e_(x),h=u/(n*y)*(c*(((r=Math.exp(2*(r=e*o+x)))-1)/(r+1))-((i=Math.exp(i=x))-1/i)/2);return[s+h*d,l+h*p,u*c/e_(e*o+x)]}}return o.duration=1e3*a*e/Math.SQRT2,o}return i.rho=function(e){var n=Math.max(.001,+e),r=n*n;return t(n,r,r*r)},i}(Math.SQRT2,2,4),ek=t=>()=>t;function eS(t,{sourceEvent:e,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function eN(t,e,n){this.k=t,this.x=e,this.y=n}eN.prototype={constructor:eN,scale:function(t){return 1===t?this:new eN(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new eN(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ej=new eN(1,0,0);function ez(t){for(;!t.__zoom;)if(!(t=t.parentNode))return ej;return t.__zoom}function eA(t){t.stopImmediatePropagation()}function eE(t){t.preventDefault(),t.stopImmediatePropagation()}function eT(t){return(!t.ctrlKey||"wheel"===t.type)&&!t.button}function eM(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function eC(){return this.__zoom||ej}function e$(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function eR(){return navigator.maxTouchPoints||"ontouchstart"in this}function eL(t,e,n){var r=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],o=t.invertY(e[0][1])-n[0][1],a=t.invertY(e[1][1])-n[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}ez.prototype=eN.prototype,t.s(["Transform",0,eN,"default",0,ez,"identity",0,ej],7394),t.s(["default",0,function(){var t,e,n,i=eT,o=eM,a=eL,s=e$,l=eR,u=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],h=250,f=ew,d=r("start","zoom","end"),p=0,g=10;function y(t){t.property("__zoom",eC).on("wheel.zoom",k,{passive:!1}).on("mousedown.zoom",S).on("dblclick.zoom",N).filter(l).on("touchstart.zoom",j).on("touchmove.zoom",z).on("touchend.zoom touchcancel.zoom",A).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(t,e){return(e=Math.max(u[0],Math.min(u[1],e)))===t.k?t:new eN(e,t.x,t.y)}function m(t,e,n){var r=e[0]-n[0]*t.k,i=e[1]-n[1]*t.k;return r===t.x&&i===t.y?t:new eN(t.k,r,i)}function x(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function b(t,e,n,r){t.on("start.zoom",function(){_(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){_(this,arguments).event(r).end()}).tween("zoom",function(){var t=arguments,i=_(this,t).event(r),a=o.apply(this,t),s=null==n?x(a):"function"==typeof n?n.apply(this,t):n,l=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),u=this.__zoom,c="function"==typeof e?e.apply(this,t):e,h=f(u.invert(s).concat(l/u.k),c.invert(s).concat(l/c.k));return function(t){if(1===t)t=c;else{var e=h(t),n=l/e[2];t=new eN(n,s[0]-e[0]*n,s[1]-e[1]*n)}i.zoom(null,t)}})}function _(t,e,n){return!n&&t.__zooming||new w(t,e)}function w(t,e){this.that=t,this.args=e,this.active=0,this.sourceEvent=null,this.extent=o.apply(t,e),this.taps=0}function k(t,...e){if(i.apply(this,arguments)){var n=_(this,e).event(t),r=this.__zoom,o=Math.max(u[0],Math.min(u[1],r.k*Math.pow(2,s.apply(this,arguments)))),l=tO(t);if(n.wheel)(n.mouse[0][0]!==l[0]||n.mouse[0][1]!==l[1])&&(n.mouse[1]=r.invert(n.mouse[0]=l)),clearTimeout(n.wheel);else{if(r.k===o)return;n.mouse=[l,r.invert(l)],ee(this),n.start()}eE(t),n.wheel=setTimeout(function(){n.wheel=null,n.end()},150),n.zoom("mouse",a(m(v(r,o),n.mouse[0],n.mouse[1]),n.extent,c))}}function S(t,...e){if(!n&&i.apply(this,arguments)){var r=t.currentTarget,o=_(this,e,!0).event(t),s=V(t.view).on("mousemove.zoom",function(t){if(eE(t),!o.moved){var e=t.clientX-u,n=t.clientY-h;o.moved=e*e+n*n>p}o.event(t).zoom("mouse",a(m(o.that.__zoom,o.mouse[0]=tO(t,r),o.mouse[1]),o.extent,c))},!0).on("mouseup.zoom",function(t){s.on("mousemove.zoom mouseup.zoom",null),Z(t.view,o.moved),eE(t),o.event(t).end()},!0),l=tO(t,r),u=t.clientX,h=t.clientY;J(t.view),eA(t),o.mouse=[l,this.__zoom.invert(l)],ee(this),o.start()}}function N(t,...e){if(i.apply(this,arguments)){var n=this.__zoom,r=tO(t.changedTouches?t.changedTouches[0]:t,this),s=n.invert(r),l=n.k*(t.shiftKey?.5:2),u=a(m(v(n,l),r,s),o.apply(this,e),c);eE(t),h>0?V(this).transition().duration(h).call(b,u,r,t):V(this).call(y.transform,u,r,t)}}function j(n,...r){if(i.apply(this,arguments)){var o,a,s,l,u=n.touches,c=u.length,h=_(this,r,n.changedTouches.length===c).event(n);for(eA(n),a=0;a<c;++a)l=[l=tO(s=u[a],this),this.__zoom.invert(l),s.identifier],h.touch0?h.touch1||h.touch0[2]===l[2]||(h.touch1=l,h.taps=0):(h.touch0=l,o=!0,h.taps=1+!!t);t&&(t=clearTimeout(t)),o&&(h.taps<2&&(e=l[0],t=setTimeout(function(){t=null},500)),ee(this),h.start())}}function z(t,...e){if(this.__zooming){var n,r,i,o,s=_(this,e).event(t),l=t.changedTouches,u=l.length;for(eE(t),n=0;n<u;++n)i=tO(r=l[n],this),s.touch0&&s.touch0[2]===r.identifier?s.touch0[0]=i:s.touch1&&s.touch1[2]===r.identifier&&(s.touch1[0]=i);if(r=s.that.__zoom,s.touch1){var h=s.touch0[0],f=s.touch0[1],d=s.touch1[0],p=s.touch1[1],g=(g=d[0]-h[0])*g+(g=d[1]-h[1])*g,y=(y=p[0]-f[0])*y+(y=p[1]-f[1])*y;r=v(r,Math.sqrt(g/y)),i=[(h[0]+d[0])/2,(h[1]+d[1])/2],o=[(f[0]+p[0])/2,(f[1]+p[1])/2]}else{if(!s.touch0)return;i=s.touch0[0],o=s.touch0[1]}s.zoom("touch",a(m(r,i,o),s.extent,c))}}function A(t,...r){if(this.__zooming){var i,o,a=_(this,r).event(t),s=t.changedTouches,l=s.length;for(eA(t),n&&clearTimeout(n),n=setTimeout(function(){n=null},500),i=0;i<l;++i)o=s[i],a.touch0&&a.touch0[2]===o.identifier?delete a.touch0:a.touch1&&a.touch1[2]===o.identifier&&delete a.touch1;if(a.touch1&&!a.touch0&&(a.touch0=a.touch1,delete a.touch1),a.touch0)a.touch0[1]=this.__zoom.invert(a.touch0[0]);else if(a.end(),2===a.taps&&(o=tO(o,this),Math.hypot(e[0]-o[0],e[1]-o[1])<g)){var u=V(this).on("dblclick.zoom");u&&u.apply(this,arguments)}}}return y.transform=function(t,e,n,r){var i=t.selection?t.selection():t;i.property("__zoom",eC),t!==i?b(t,e,n,r):i.interrupt().each(function(){_(this,arguments).event(r).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()})},y.scaleBy=function(t,e,n,r){y.scaleTo(t,function(){var t=this.__zoom.k,n="function"==typeof e?e.apply(this,arguments):e;return t*n},n,r)},y.scaleTo=function(t,e,n,r){y.transform(t,function(){var t=o.apply(this,arguments),r=this.__zoom,i=null==n?x(t):"function"==typeof n?n.apply(this,arguments):n,s=r.invert(i),l="function"==typeof e?e.apply(this,arguments):e;return a(m(v(r,l),i,s),t,c)},n,r)},y.translateBy=function(t,e,n,r){y.transform(t,function(){return a(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof n?n.apply(this,arguments):n),o.apply(this,arguments),c)},null,r)},y.translateTo=function(t,e,n,r,i){y.transform(t,function(){var t=o.apply(this,arguments),i=this.__zoom,s=null==r?x(t):"function"==typeof r?r.apply(this,arguments):r;return a(ej.translate(s[0],s[1]).scale(i.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof n?-n.apply(this,arguments):-n),t,c)},r,i)},w.prototype={event:function(t){return t&&(this.sourceEvent=t),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,e){return this.mouse&&"mouse"!==t&&(this.mouse[1]=e.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=e.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=e.invert(this.touch1[0])),this.that.__zoom=e,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){var e=V(this.that).datum();d.call(t,this.that,new eS(t,{sourceEvent:this.sourceEvent,target:y,type:t,transform:this.that.__zoom,dispatch:d}),e)}},y.wheelDelta=function(t){return arguments.length?(s="function"==typeof t?t:ek(+t),y):s},y.filter=function(t){return arguments.length?(i="function"==typeof t?t:ek(!!t),y):i},y.touchable=function(t){return arguments.length?(l="function"==typeof t?t:ek(!!t),y):l},y.extent=function(t){return arguments.length?(o="function"==typeof t?t:ek([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),y):o},y.scaleExtent=function(t){return arguments.length?(u[0]=+t[0],u[1]=+t[1],y):[u[0],u[1]]},y.translateExtent=function(t){return arguments.length?(c[0][0]=+t[0][0],c[1][0]=+t[1][0],c[0][1]=+t[0][1],c[1][1]=+t[1][1],y):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},y.constrain=function(t){return arguments.length?(a=t,y):a},y.duration=function(t){return arguments.length?(h=+t,y):h},y.interpolate=function(t){return arguments.length?(f=t,y):f},y.on=function(){var t=d.on.apply(d,arguments);return t===d?y:t},y.clickDistance=function(t){return arguments.length?(p=(t*=1)*t,y):Math.sqrt(p)},y.tapDistance=function(t){return arguments.length?(g=+t,y):g},y}],36755),t.s([],47716)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,8819,e=>{"use strict";var t=e.i(43476);let r="1px solid rgba(255,255,255,0.1)";function o({children:e,style:r}){return(0,t.jsx)("div",{style:{fontSize:13.5,color:"#8b9a9a",lineHeight:1.6,marginTop:4,...r},children:e})}e.s(["Body",0,o,"Btn",0,function({children:e,onClick:o,disabled:i,primary:n,tone:a,type:s="button"}){return(0,t.jsx)("button",{type:s,onClick:o,disabled:i,style:{padding:"9px 18px",borderRadius:7,fontSize:13.5,fontWeight:650,color:i?"#667":"#fff",border:r,background:i?"rgba(255,255,255,0.05)":"bad"===a?"rgba(255,80,80,0.15)":n?"linear-gradient(135deg, #9B59B6, #3498DB)":"rgba(255,255,255,0.08)",cursor:i?"not-allowed":"pointer"},children:e})},"FONT",0,'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',"LINE",0,r,"Mono",0,function({children:e}){return(0,t.jsx)("code",{style:{background:"rgba(255,255,255,0.08)",padding:"1px 5px",borderRadius:4,wordBreak:"break-all"},children:e})},"Section",0,function({id:e,title:i,intro:n,children:a}){return(0,t.jsxs)("section",{id:e,style:{padding:"24px 0",borderBottom:r,scrollMarginTop:16},children:[(0,t.jsx)("h2",{style:{fontSize:16,fontWeight:650,margin:"0 0 6px"},children:i}),n&&(0,t.jsx)(o,{style:{marginTop:0,marginBottom:12},children:n}),a]})},"Status",0,function({children:e,tone:r}){return(0,t.jsxs)("div",{role:"status",style:{marginTop:10,padding:"10px 14px",borderRadius:8,fontSize:13.5,lineHeight:1.6,color:"ok"===r?"#00ff88":"bad"===r?"#ff7676":"#e8e8ee",background:"ok"===r?"rgba(0,255,136,0.08)":"bad"===r?"rgba(255,80,80,0.08)":"rgba(255,255,255,0.05)",border:`1px solid ${"ok"===r?"rgba(0,255,136,0.3)":"bad"===r?"rgba(255,80,80,0.3)":"rgba(255,255,255,0.12)"}`},children:["ok"===r&&"✓ ",e]})}])},98083,e=>{"use strict";var t=e.i(43476),r=e.i(71645),o=e.i(22016),i=e.i(18566),n=e.i(8819);e.s(["default",0,function(){let e=(0,i.useRouter)();return(0,r.useEffect)(()=>{let t=window.location.hash;e.replace("#health"===t?"/profile?view=insights":`/settings${t||"#scoring"}`)},[e]),(0,t.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"#aab",fontFamily:n.FONT,display:"flex",alignItems:"center",justifyContent:"center",fontSize:13},children:["Scores are in ",(0,t.jsx)(o.default,{href:"/settings#scoring",style:{color:"#3498DB",marginLeft:4},children:"Settings"})," now."]})}])}]);
@@ -0,0 +1,34 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,77305,e=>{"use strict";var t=e.i(43476),n=e.i(71645),o=e.i(18566),r=e.i(26005),i=e.i(22016),s=e.i(15812),l=e.i(19821),a=e.i(84278),d=e.i(39160),c=e.i(7214),p=e.i(40996),h=e.i(8819),g=e.i(64745);let f=Object.freeze([{id:"new",label:"New"},{id:"contacted",label:"Contacted"},{id:"replied",label:"Replied"},{id:"meeting",label:"Meeting"},{id:"won",label:"Won/Partner"},{id:"not-now",label:"Not now"}]);f.map(e=>e.id);let u=e=>f.find(t=>t.id===e)?.label||"",x=e=>"string"==typeof e&&e.length>0&&e.length<300;function m(){return{version:1,settings:{awaitDays:7},people:{}}}function y(e=new Date){let t=e=>String(e).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`}let b=/^https:\/\/(www\.)?linkedin\.com\/in\/[^/?#\s]+$/,w={S:0,A:1,B:2,C:3,D:4},v=(e,t)=>(e.degree??9)<(t.degree??9)||(e.degree??9)===(t.degree??9)&&(w[e.tier]??9)<(w[t.tier]??9),j=e=>"sponsored"===e.kind;function k(e,t,n=7){let o=[];for(let r of e){if(j(r)||!1!==r.lastFromThem||!r.last)continue;let e=Math.floor((t-r.last)/864e5);e>=n&&o.push({contact:r,waited:e})}return o.sort((e,t)=>e.waited-t.waited)}function S(e,t,n=null){let o=String(t||"").trim().toLowerCase();return!o||[e.name,e.row?.company,e.row?.role,e.row?.headline,...e.crm?.tags||[],e.crm?.notes].filter(Boolean).join("\n").toLowerCase().includes(o)||!!n&&e.conversations.some(e=>n.has(e.id))}function z(e){let t=null==e?"":String(e);return/^[=+\-@\t\r]/.test(t)&&(t=`'${t}`),/[",\r\n]/.test(t)?`"${t.replace(/"/g,'""')}"`:t}let C=e=>e?new Date(e).toISOString().slice(0,10):"",T=["Name","Company","Profile","Connection","Stage","Tags","Last contact","Who wrote last","Next follow-up","Notes"];function F({id:e,keep:o,group:r,token:i}){let[s,l]=(0,n.useState)(null),[a,d]=(0,n.useState)(null),c=(0,n.useRef)(null),p=(0,n.useRef)(null);async function g(){let t=c.current,n=await fetch(`/api/social/messages?id=${encodeURIComponent(e)}&before=${s.start}&limit=200`).then(e=>e.json()).catch(()=>null);n&&!n.error&&(p.current=t?t.scrollHeight-t.scrollTop:null,l({...s,start:n.start,messages:[...n.messages,...s.messages]}))}(0,n.useEffect)(()=>{if(!o)return;let t=!0;return fetch(`/api/social/messages?id=${encodeURIComponent(e)}&limit=100`).then(e=>e.json()).then(e=>{t&&(e.error?d(e.error):(p.current="bottom",l(e)))}).catch(()=>{t&&d("It couldn’t be read.")}),()=>{t=!1}},[e,o,i]),(0,n.useLayoutEffect)(()=>{let e=c.current;e&&p.current&&("bottom"===p.current?e.scrollTop=e.scrollHeight:e.scrollTop=e.scrollHeight-p.current,p.current=null)},[s]);let f={padding:"10px 14px 14px",fontSize:12.5,color:"#8b9a9a"};return o?a?(0,t.jsx)("div",{style:{...f,color:"#ff9b9b"},children:a}):s?s.total?(0,t.jsxs)("div",{ref:c,style:{maxHeight:440,overflowY:"auto",padding:"8px 14px 12px",background:"rgba(0,0,0,0.2)"},children:[s.start>0&&(0,t.jsx)("div",{style:{textAlign:"center",margin:"4px 0 10px"},children:(0,t.jsxs)("button",{onClick:g,style:{background:"rgba(255,255,255,0.06)",border:h.LINE,borderRadius:6,color:"#cfe6f7",cursor:"pointer",fontSize:12,padding:"4px 12px"},children:["Show earlier (",s.start.toLocaleString()," more)"]})}),s.messages.map((e,n)=>{let o;return(0,t.jsx)("div",{style:{display:"flex",justifyContent:e.fromMe?"flex-end":"flex-start",margin:"6px 0"},children:(0,t.jsxs)("div",{style:{maxWidth:"72%"},children:[(0,t.jsx)("div",{style:{padding:"7px 11px",borderRadius:12,fontSize:13,lineHeight:1.45,whiteSpace:"pre-wrap",overflowWrap:"anywhere",background:e.fromMe?"rgba(52,152,219,0.35)":"rgba(255,255,255,0.08)",color:"#eef",borderBottomRightRadius:e.fromMe?4:12,borderBottomLeftRadius:e.fromMe?12:4},children:e.text||(0,t.jsx)("i",{style:{color:"#8b9a9a"},children:"(no words: an attachment or a reaction)"})}),(0,t.jsxs)("div",{style:{fontSize:10.5,color:"#778",marginTop:2,textAlign:e.fromMe?"right":"left"},children:[e.fromMe?"You":r?"Someone in the group":"Them"," · ",(o=e.t)?new Date(o).toLocaleString(void 0,{day:"numeric",month:"short",year:"numeric",hour:"numeric",minute:"2-digit"}):""]})]})},s.start+n)})]}):(0,t.jsx)("div",{style:f,children:"No messages are kept for this conversation yet. Choose your export folder again, or sync your messages, to bring them in."}):(0,t.jsx)("div",{style:f,children:"Opening…"}):(0,t.jsxs)("div",{style:f,children:["Turn on ",(0,t.jsx)("b",{children:"Keep my messages"})," to read them here."]})}let B={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},$={new:"#8b9a9a",contacted:"#3498DB",replied:"#00d4aa",meeting:"#ff9f43",won:"#FFD700","not-now":"#667"},I=e=>e?new Date(e).toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"}):"",D=e=>e?new Date(`${e}T12:00:00`).toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"}):"",W=e=>/^https:\/\/(www\.)?linkedin\.com\//.test(String(e||""))?e:null,R=(e,t,n=`${t}s`)=>`${e.toLocaleString()} ${1===e?t:n}`,_=[["inbox","Inbox"],["awaiting","Awaiting reply"],["due","Follow-ups due"],["pipeline","Pipeline"],["sent","Sent"],["received","Received"],["all","All"]],L=(e,t="#dfe8e8")=>({fontSize:10.5,padding:"1px 6px",borderRadius:4,background:e,color:t,whiteSpace:"nowrap"}),O={background:"rgba(255,255,255,0.06)",border:h.LINE,borderRadius:6,color:"#cfe6f7",cursor:"pointer",fontSize:12,padding:"4px 10px"},A={padding:"6px 10px",borderRadius:6,border:h.LINE,background:"rgba(0,0,0,0.3)",color:"#fff",fontSize:13};function E({net:e,asOf:o,keep:r,onKeep:i,switching:s,token:l,crmToken:d}){let[p,g]=(0,n.useState)(null),[w,F]=(0,n.useState)(null),[B,$]=(0,n.useState)("inbox"),[W,L]=(0,n.useState)(""),[N,U]=(0,n.useState)(null),[q,H]=(0,n.useState)(null),[J,V]=(0,n.useState)(100),[X,Q]=(0,n.useState)(null),Z=(0,n.useRef)(null);(0,n.useEffect)(()=>{let e=!0;return fetch("/api/social/messages").then(e=>e.json()).then(t=>{e&&g(t)}).catch(()=>{e&&g({conversations:[],invitations:[],names:{},inviteNotes:{}})}),()=>{e=!1}},[l,r]),(0,n.useEffect)(()=>{let e=!0;return fetch("/api/social/crm").then(e=>e.json()).then(t=>{e&&F(t.crm||m())}).catch(()=>{e&&F(m())}),()=>{e=!1}},[d]),(0,n.useEffect)(()=>{let e=W.trim();if(!r||e.length<2)return;let t=!0,n=setTimeout(()=>{fetch(`/api/social/messages?q=${encodeURIComponent(e)}`).then(e=>e.json()).then(n=>{t&&U({q:e,ids:new Set(n.ids||[])})}).catch(()=>{})},250);return()=>{t=!1,clearTimeout(n)}},[W,r,l]);let ee=q?.type==="person"?q.key:null,{contacts:et,groups:en}=(0,n.useMemo)(()=>(function({conversations:e=[],invitations:t=[],network:n={},crm:o=m(),names:r={},also:i=[]}={}){let s=n.degree1||[],l=n.degree2||[],d=[...s,...l,...n.degree3||[]],p=new Map,h=new Map;for(let e of d){let t=(0,c.keyFor)(e),n=p.get(t);(!n||v(e,n))&&p.set(t,e)}for(let[e,t]of p){let n=(0,a.nameKey)(t.name);n&&h.set(n,h.has(n)&&h.get(n)!==e?null:e)}let g=new Set(s.map(c.keyFor)),f=(0,c.routeIndex)(l),u=new Map(s.map(e=>[e.id,e])),y=e=>e.startsWith("name:")&&h.get(e.slice(5))||e,w=new Map,j=e=>{var t,n,i;let s=y(e),l=w.get(s);if(l)return l;let a=p.get(s)||null;return l={key:s,name:(t=s,n=a,i=r,n?.name?n.name:i[t]?i[t]:t.startsWith("name:")?t.slice(5).replace(/\b\w/g,e=>e.toUpperCase()):String(t||"").replace(/\/+$/,"").split("/").pop()),row:a,connection:g.has(s),degree:a?.degree??null,profileUrl:b.test(s)?s:a?.profile_url&&b.test((0,c.keyFor)(a))?(0,c.keyFor)(a):null,introducers:a&&2===a.degree?[...new Set((0,c.routesFor)(a,f,u).map(e=>e.bridge?.name).filter(Boolean))]:[],conversations:[],groups:[],last:null,lastFromThem:null,unread:null,threadUrl:null,count:0,theyWrote:!1,kind:null,invitesIn:[],invitesOut:[],request:null,crm:o?.people?.[s]||null,lastContact:null},w.set(s,l),l},k=[];for(let t of e){if(!t||!Array.isArray(t.people))continue;if(t.group){k.push({...t,people:t.people.map(y)});continue}if(!t.people.length){k.push({...t,unknown:!0});continue}let e=j(t.people[0]);e.conversations.push(t),e.count+=t.count||0,(!0===t.lastFromThem||null!=t.count&&null!=t.mine&&t.count>t.mine)&&(e.theyWrote=!0),t.last&&(!e.last||t.last>=e.last)?(e.last=t.last,e.lastFromThem=t.lastFromThem,e.unread=t.unread,e.threadUrl=t.threadUrl||e.threadUrl):e.last||t.last||(e.threadUrl=t.threadUrl||e.threadUrl)}for(let e of w.values()){e.conversations.sort((e,t)=>(t.last||0)-(e.last||0));let t=new Set(e.conversations.map(e=>e.kind||null));e.kind=1===t.size?[...t][0]:null}for(let e of k)for(let t of e.people)w.get(t)?.groups.push(e.id);for(let e of t){if(!e?.key)continue;let t=j(e.key);!e.name||t.row||r[t.key]||(t.name=e.name),("in"===e.dir?t.invitesIn:t.invitesOut).push(e)}for(let e of d){if("sent"!==e.outreach_status&&"accepted"!==e.outreach_status&&"pending"!==e.unlock_status)continue;let t=j((0,c.keyFor)(e)),n=t.connection||"accepted"===e.outreach_status?"accepted":"pending";t.request&&"accepted"!==n||(t.request={status:n})}for(let e of Object.keys(o?.people||{}))j(e);for(let e of i)x(e)&&j(e);for(let e of w.values()){let t=[e.last,...e.invitesIn.map(e=>e.t),...e.invitesOut.map(e=>e.t)].filter(Boolean);e.lastContact=t.length?Math.max(...t):null}return{contacts:w,groups:k}})({conversations:p?.conversations||[],invitations:p?.invitations||[],network:e||{},crm:w||m(),names:p?.names||{},also:ee?[ee]:[]}),[p,e,w,ee]),eo=(0,n.useMemo)(()=>{let t=new Map;for(let n of[...e?.degree1||[],...e?.degree2||[]])t.has((0,c.keyFor)(n))||t.set((0,c.keyFor)(n),n);let n=p?.names||{};return e=>et.get(e)?.name||t.get(e)?.name||n[e]||null},[et,e,p]),er=w?.settings?.awaitDays||7,[ei]=(0,n.useState)(()=>Date.now()),es=o||ei,el=y(new Date(ei)),ea=(0,n.useMemo)(()=>[...et.values()],[et]),ed=(0,n.useMemo)(()=>{let e=(e,t)=>({type:"person",key:e.key,c:e,sub:t,t:e.lastContact||0}),t=e=>null==e.lastFromThem?"":e.lastFromThem?`They wrote ${I(e.last)}`:`You wrote ${I(e.last)}`,n=ea.filter(e=>e.lastContact||e.crm||e.request).map(n=>e(n,t(n)||(n.invitesOut[0]?`You asked to connect ${I(n.invitesOut[0].t)}`:"")||(n.invitesIn[0]?`Asked to connect ${I(n.invitesIn[0].t)}`:"")||(n.request?`Tracked request \xb7 ${n.request.status}`:"")||(n.crm?.stage?u(n.crm.stage):"")));for(let e of en)n.push({type:"group",id:e.id,g:e,sub:e.last?`${e.lastFromThem?"Someone wrote":"You wrote"} ${I(e.last)}`:"",t:e.last||0});return n.sort((e,t)=>t.t-e.t),{inbox:[...ea].filter(e=>!j(e)&&(!0===e.lastFromThem||e.unread>0)).sort((e,t)=>(t.unread>0)-(e.unread>0)||(t.last||0)-(e.last||0)).map(n=>e(n,n.unread>0?`${n.unread} unread \xb7 ${t(n)}`:t(n))),awaiting:k(ea,es,er).map(t=>e(t.contact,`You wrote ${I(t.contact.last)}, no reply for ${R(t.waited,"day")}`)),due:(function(e,t=y()){return[...e].filter(e=>e.crm?.followUp&&e.crm.followUp<=t).sort((e,t)=>e.crm.followUp.localeCompare(t.crm.followUp))})(ea,el).map(t=>e(t,t.crm.followUp===el?"Follow up today":`Follow up was due ${D(t.crm.followUp)}`)),pipeline:function(e){let t=Object.fromEntries(f.map(e=>[e.id,[]]));for(let n of e)n.crm?.stage&&t[n.crm.stage].push(n);for(let e of Object.values(t))e.sort((e,t)=>(t.lastContact||0)-(e.lastContact||0));return t}(ea),sent:(function(e,t,n=7){let o=[...e],r=new Map(k(o,t,n).map(e=>[e.contact.key,e.waited])),i=[];for(let e of o){let t=[];for(let n of e.invitesOut)t.push({type:"invite",id:n.id,t:n.t,status:e.connection?"accepted":"pending"});e.request&&t.push({type:"request",status:e.request.status}),r.has(e.key)&&t.push({type:"awaiting",t:e.last,waited:r.get(e.key)}),t.length&&i.push({contact:e,items:t,t:Math.max(0,...t.map(e=>e.t||0))})}return i.sort((e,t)=>t.t-e.t)})(ea,es,er).map(t=>e(t.contact,t.items.map(e=>"invite"===e.type?`Request ${I(e.t)} \xb7 ${e.status}`:"request"===e.type?`Tracked request \xb7 ${e.status}`:`No reply for ${R(e.waited,"day")}`).join(" · "))),received:(function(e){let t=[];for(let n of e)!n.connection&&n.invitesIn.length&&t.push({contact:n,t:Math.max(0,...n.invitesIn.map(e=>e.t||0))});return t.sort((e,t)=>t.t-e.t)})(ea).map(t=>e(t.contact,`Asked to connect ${I(t.t)}`)),all:n}},[ea,en,es,er,el]),ec=r&&N?.q===W.trim()?N.ids:null,ep=W.trim().toLowerCase(),eh=(0,n.useMemo)(()=>{let t="pipeline"===B?[]:ed[B];if(!ep)return t;let n=t.filter(e=>"person"===e.type?S(e.c,ep,ec):String(e.g.title||"").toLowerCase().includes(ep)||e.g.people.some(e=>String(eo(e)||"").toLowerCase().includes(ep))||ec?.has(e.g.id));if("all"===B&&ep.length>=2&&e){let t=new Set(n.map(e=>e.key)),o=new Set;for(let r of[...e.degree1||[],...e.degree2||[]]){let e=(0,c.keyFor)(r);if(!(t.has(e)||o.has(e))&&[r.name,r.company,r.role,r.headline].some(e=>String(e||"").toLowerCase().includes(ep))&&(o.add(e),n.push({type:"person",key:e,c:null,row:r,sub:"Nothing on file yet",t:0}),o.size>=50))break}}return n},[ed,B,ep,ec,e,eo]),eg=(0,n.useMemo)(()=>{if("pipeline"!==B)return null;let e={};for(let[t,n]of Object.entries(ed.pipeline))e[t]=ep?n.filter(e=>S(e,ep,ec)):n;return e},[ed,B,ep,ec]),ef={inbox:ed.inbox.length,awaiting:ed.awaiting.length,due:ed.due.length,pipeline:Object.values(ed.pipeline).reduce((e,t)=>e+t.length,0),sent:ed.sent.length,received:ed.received.length,all:ed.all.length};function eu(e){H(e),window.matchMedia?.("(max-width: 760px)").matches&&setTimeout(()=>Z.current?.scrollIntoView({behavior:"smooth",block:"start"}),50)}async function ex(e,t){let n=await fetch("/api/social/crm",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:e,set:t})}),o=await n.json().catch(()=>({}));if(!n.ok)throw Error(o.error||"That couldn’t be saved.");F(t=>{let n={...t||m(),people:{...t?.people||{}}};return o.entry?n.people[e]=o.entry:delete n.people[e],n})}async function em(e){let t=await fetch("/api/social/crm",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:{awaitDays:e}})}),n=await t.json().catch(()=>({}));t.ok&&F(e=>({...e||m(),settings:n.settings}))}async function ey(){window.confirm("Delete your CRM: every stage, tag, note and follow-up date you added? This can’t be undone.")&&(await fetch("/api/social/crm",{method:"DELETE"}),F(m()),Q("Your CRM notes are deleted."))}let eb=!p||!w||!e,ew={padding:"12px 14px",borderRadius:8,border:h.LINE,background:"rgba(255,255,255,0.03)",marginTop:10},ev=q?.type==="group"?en.find(e=>e.id===q.id):null,ej=ee?et.get(ee):null;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{style:ew,children:[(0,t.jsxs)("label",{style:{display:"flex",gap:8,alignItems:"center",fontSize:13.5,color:"#fff",cursor:s?"default":"pointer"},children:[(0,t.jsx)("input",{type:"checkbox",checked:r,disabled:s,onChange:e=>i(e.target.checked)}),(0,t.jsx)("b",{children:"Keep my messages on this computer"}),(0,t.jsx)("span",{style:{fontSize:11.5,color:r?"#00ff88":"#8b9a9a"},children:r?"on":"off"})]}),(0,t.jsxs)(h.Body,{style:{margin:"6px 0 0",fontSize:12.5},children:["Off unless you turn it on. When it’s on, the messages themselves, including what other people wrote to you, and the notes sent with connection requests, are saved only in the app’s data folder on this computer. They’re never sent anywhere, and they aren’t in “Save a copy of my network”. ",(0,t.jsx)("i",{children:"Forget it"}),", or switching this off, deletes them. With it off, the CRM still shows who, when and who wrote last. Your own stages, tags, notes and follow-ups are always kept, on this computer only."]})]}),(0,t.jsxs)("div",{className:"crm-grid",style:{marginTop:10},children:[(0,t.jsxs)("div",{className:"pipeline"===B?"crm-wide":void 0,style:{...ew,marginTop:0,padding:0,minWidth:0},children:[(0,t.jsx)("div",{role:"tablist","aria-label":"CRM views",style:{display:"flex",flexWrap:"wrap",gap:4,padding:"10px 10px 6px",borderBottom:h.LINE},children:_.map(([e,n])=>(0,t.jsxs)("button",{role:"tab","aria-selected":B===e,onClick:()=>{$(e),V(100)},style:{...O,padding:"4px 9px",fontSize:12,background:B===e?"rgba(52,152,219,0.28)":"rgba(255,255,255,0.04)",color:B===e?"#fff":"#b8c4c4"},children:[n," ",(0,t.jsx)("span",{style:{color:B===e?"#cfe6f7":"#778"},children:eb?"":ef[e].toLocaleString()})]},e))}),(0,t.jsxs)("div",{style:{padding:"8px 10px",borderBottom:h.LINE,display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[(0,t.jsx)("input",{type:"search",value:W,onChange:e=>{L(e.target.value),V(100)},placeholder:r?"Search names, companies, tags, notes, what was said":"Search names, companies, tags, notes","aria-label":"Search the CRM",style:{...A,flex:"1 1 180px",minWidth:0}}),(0,t.jsx)("button",{onClick:function(){var e;let t,n,o=ea.filter(e=>"sponsored"!==e.kind).sort((e,t)=>(t.lastContact||0)-(e.lastContact||0)),r=`Six Degrees CRM ${y()}.csv`;e=function(e){let t=[T.map(z).join(",")];for(let n of e)t.push([n.name,n.row?.company||"",n.profileUrl||"",n.connection?"Yes":"No",u(n.crm?.stage),(n.crm?.tags||[]).join("; "),C(n.lastContact),null==n.lastFromThem?"":n.lastFromThem?"Them":"You",n.crm?.followUp||"",n.crm?.notes||""].map(z).join(","));return`\uFEFF${t.join("\r\n")}\r
2
+ `}(o),t=URL.createObjectURL(new Blob([e],{type:"text/csv;charset=utf-8"})),(n=document.createElement("a")).href=t,n.download=r,n.style.position="fixed",n.style.left="-9999px",document.body.appendChild(n),n.click(),n.remove(),setTimeout(()=>URL.revokeObjectURL(t),6e4),Q(`Made “${r}” (${R(o.length,"person","people")}). Look for it in your Downloads folder, or wherever you chose to save it. It holds your notes: keep it private.`)},disabled:eb,style:O,title:"A spreadsheet of everyone here, with your stages, tags, follow-ups and notes",children:"Export CSV"})]}),"awaiting"===B&&(0,t.jsxs)("div",{style:{padding:"8px 12px",borderBottom:h.LINE,fontSize:12.5,color:"#b8c4c4",display:"flex",gap:6,alignItems:"center",flexWrap:"wrap"},children:["You wrote last and nothing came back for",(0,t.jsx)("input",{type:"number",min:1,max:365,value:er,"aria-label":"Days with no reply",onChange:e=>{let t=Number(e.target.value);t>=1&&t<=365&&em(t)},style:{...A,width:64,padding:"3px 6px"}}),"days or more",o?`, as of ${I(o)}`:"","."]}),X&&(0,t.jsx)("div",{style:{padding:"8px 12px",fontSize:12.5,color:"#00ff88",borderBottom:h.LINE},children:X}),eb&&(0,t.jsx)("div",{style:{padding:12,fontSize:13,color:"#8b9a9a"},children:"Loading…"}),!eb&&"pipeline"===B&&(0,t.jsx)(Y,{pipeline:eg,picked:ee,onPick:e=>eu({type:"person",key:e})}),!eb&&"pipeline"!==B&&0===eh.length&&(0,t.jsx)("div",{style:{padding:12,fontSize:13,color:"#8b9a9a"},children:ep?"Nothing matches that.":M[B]}),!eb&&"pipeline"!==B&&(0,t.jsxs)("div",{children:[eh.slice(0,J).map(e=>(0,t.jsx)(P,{r:e,nameOf:eo,active:"person"===e.type?ee===e.key:q?.id===e.id,onPick:()=>eu("person"===e.type?{type:"person",key:e.key}:{type:"group",id:e.id})},"person"===e.type?`p:${e.key}`:`g:${e.id}`)),eh.length>J&&(0,t.jsxs)("button",{onClick:()=>V(J+100),style:{width:"100%",padding:10,background:"none",border:"none",color:"#3498DB",cursor:"pointer",fontSize:13},children:["Show ",Math.min(100,eh.length-J).toLocaleString()," more of ",eh.length.toLocaleString()]})]})]}),(0,t.jsxs)("div",{ref:Z,className:"pipeline"===B?"crm-wide":void 0,style:{...ew,marginTop:0,minWidth:0,scrollMarginTop:80},children:[!q&&(0,t.jsx)("div",{style:{fontSize:13,color:"#8b9a9a"},children:"Pick someone to see everything with them, and to add a stage, tags, notes or a follow-up."}),ej&&(0,t.jsx)(K,{c:ej,nameOf:eo,groups:en,keep:r,token:l,inviteNotes:p?.inviteNotes||{},onChange:ex,onPickGroup:e=>eu({type:"group",id:e})},ej.key),ev&&(0,t.jsx)(G,{g:ev,contacts:et,nameOf:eo,keep:r,token:l,onPick:e=>eu({type:"person",key:e})})]})]}),(0,t.jsxs)("div",{style:{fontSize:11.5,color:"#778",marginTop:6},children:["Everyone from your export and the live sync, connections or not; groups are listed and marked. Sponsored messages are marked and kept out of the Inbox. Awaiting reply and warmth are judged as of the newest thing your data knows.",Object.keys(w?.people||{}).length>0&&(0,t.jsxs)(t.Fragment,{children:[" ","Your notes are in the app’s data folder, not in “Save a copy of my network”."," ",(0,t.jsx)("button",{onClick:ey,style:{background:"none",border:"none",color:"#ff9b9b",cursor:"pointer",fontSize:11.5,padding:0},children:"Delete my CRM notes"})]})]})]})}let M={inbox:"No one is waiting on a reply.",awaiting:"Nobody you wrote to is overdue a reply.",due:"No follow-ups are due. Set one on anyone, and it shows here on the day.",sent:"Nothing sent yet: choose your export folder above (its Invitations.csv), or mark requests sent in the app.",received:"No requests waiting on you, as far as your export shows.",all:"Nobody here yet. Choose your export folder above, or sync your messages."};function N({tier:e}){return(0,t.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:B[e]||"#556",flexShrink:0,display:"inline-block"}})}function U({c:e}){return(0,t.jsxs)(t.Fragment,{children:[e&&!e.connection&&(0,t.jsx)("span",{style:L("rgba(255,159,67,0.18)","#ffc58a"),children:2===e.degree?"2nd degree":"Not a connection"}),e?.kind==="sponsored"&&(0,t.jsx)("span",{style:L("rgba(255,255,255,0.08)"),children:"Sponsored"}),e?.kind==="inmail"&&(0,t.jsx)("span",{style:L("rgba(155,89,182,0.25)"),children:"InMail"}),e?.crm?.stage&&(0,t.jsx)("span",{style:L("rgba(255,255,255,0.06)",$[e.crm.stage]),children:u(e.crm.stage)})]})}function P({r:e,nameOf:n,active:o,onPick:r}){let i,s=null,l=null;if("person"===e.type){let n=e.c;i=n?.name||e.row?.name||e.key,s=n?.row?.tier||e.row?.tier,l=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(U,{c:n||{connection:e.row?.degree===1,degree:e.row?.degree}}),n?.unread>0&&(0,t.jsxs)("span",{style:L("#3498DB","#fff"),children:[n.unread," unread"]})]})}else i=q(e.g,n),l=(0,t.jsx)("span",{style:L("rgba(255,255,255,0.08)"),children:e.g.unknown?"To someone unnamed":"Group"});let a="person"===e.type?e.c?.row?.company||e.row?.company:null;return(0,t.jsxs)("div",{role:"button",tabIndex:0,"aria-pressed":o,onClick:r,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),r())},style:{padding:"8px 12px",borderBottom:"1px solid rgba(255,255,255,0.04)",cursor:"pointer",background:o?"rgba(52,152,219,0.14)":"none"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:13,minWidth:0,flexWrap:"wrap"},children:[(0,t.jsx)(N,{tier:s}),(0,t.jsx)("b",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%"},children:i}),l]}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"#8b9a9a",marginTop:2,paddingLeft:14,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[a,e.sub].filter(Boolean).join(" · ")})]})}function q(e,t){if(e.title)return e.title;if(e.unknown)return"A conversation only you wrote in";let n=e.people.map(t).filter(Boolean);return n.length?`${n.slice(0,3).join(", ")}${e.people.length>3?` +${e.people.length-3}`:""}`:`${e.people.length} people`}function Y({pipeline:e,picked:n,onPick:o}){return(0,t.jsx)("div",{className:"crm-board",children:f.map(r=>(0,t.jsxs)("div",{style:{minWidth:0},children:[(0,t.jsxs)("div",{style:{fontSize:12,fontWeight:650,color:$[r.id],margin:"0 0 6px",display:"flex",justifyContent:"space-between"},children:[(0,t.jsx)("span",{children:r.label}),(0,t.jsx)("span",{style:{color:"#778"},children:e[r.id].length.toLocaleString()})]}),0===e[r.id].length&&(0,t.jsx)("div",{style:{fontSize:11.5,color:"#667",padding:"6px 0"},children:"No one"}),e[r.id].slice(0,200).map(e=>(0,t.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>o(e.key),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),o(e.key))},style:{padding:"7px 9px",marginBottom:6,borderRadius:6,border:h.LINE,cursor:"pointer",fontSize:12.5,background:n===e.key?"rgba(52,152,219,0.18)":"rgba(255,255,255,0.03)"},children:[(0,t.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[(0,t.jsx)(N,{tier:e.row?.tier}),(0,t.jsx)("b",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]}),(0,t.jsx)("div",{style:{color:"#8b9a9a",fontSize:11,marginTop:2},children:[e.row?.company,e.crm.followUp?`Follow up ${D(e.crm.followUp)}`:null].filter(Boolean).join(" · ")})]},e.key)),e[r.id].length>200&&(0,t.jsxs)("div",{style:{fontSize:11,color:"#778"},children:["and ",(e[r.id].length-200).toLocaleString()," more (search to find them)"]})]},r.id))})}let H={fontSize:12,fontWeight:650,color:"#b8c4c4",margin:"16px 0 6px",textTransform:"uppercase",letterSpacing:.4};function K({c:e,nameOf:o,groups:r,keep:i,token:s,inviteNotes:l,onChange:a,onPickGroup:d}){let c=e.row,[p,g]=(0,n.useState)(e.conversations[0]?.id||null),f=W(e.profileUrl),u=W(e.threadUrl),x=e.connection?`A connection${c?.connected_date?` since ${I(Date.parse(c.connected_date))}`:""}.`:2===e.degree?"2nd degree: not a connection yet.":"Not a connection.";return(0,t.jsxs)("div",{style:{fontSize:13},children:[(0,t.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[(0,t.jsx)(N,{tier:c?.tier}),(0,t.jsx)("h3",{style:{margin:0,fontSize:17},children:e.name}),c?.tier&&(0,t.jsxs)("span",{style:L("rgba(255,255,255,0.06)",B[c.tier]),children:[c.tier," tier"]}),(0,t.jsx)(U,{c:e})]}),(c?.headline||c?.company)&&(0,t.jsx)("div",{style:{color:"#b8c4c4",marginTop:4},children:c.headline||[c.role,c.company].filter(Boolean).join(" at ")}),(0,t.jsxs)("div",{style:{color:"#8b9a9a",marginTop:4,fontSize:12.5},children:[x,e.introducers.length>0&&(0,t.jsxs)(t.Fragment,{children:[" Who can introduce you: ",(0,t.jsx)("b",{style:{color:"#dfe8e8"},children:e.introducers.slice(0,6).join(", ")}),e.introducers.length>6?` and ${e.introducers.length-6} more`:"","."]}),c?.unlocked_from_name&&e.connection&&(0,t.jsxs)(t.Fragment,{children:[" You met through ",(0,t.jsx)("b",{style:{color:"#dfe8e8"},children:c.unlocked_from_name}),"."]})]}),(0,t.jsxs)("div",{style:{display:"flex",gap:12,marginTop:6,flexWrap:"wrap",fontSize:12.5},children:[f&&(0,t.jsx)("a",{href:f,target:"_blank",rel:"noreferrer",style:{color:"#3498DB",textDecoration:"none"},children:"Profile on LinkedIn ↗"}),u&&(0,t.jsx)("a",{href:u,target:"_blank",rel:"noreferrer",style:{color:"#3498DB",textDecoration:"none"},children:"Conversation on LinkedIn ↗"})]}),(0,t.jsx)(J,{c:e,onChange:a}),(0,t.jsx)("div",{style:H,children:"Conversations"}),0===e.conversations.length&&(0,t.jsx)("div",{style:{color:"#8b9a9a",fontSize:12.5},children:"None one to one."}),e.conversations.map(e=>(0,t.jsxs)("div",{style:{border:h.LINE,borderRadius:6,marginBottom:6,overflow:"hidden"},children:[(0,t.jsxs)("div",{role:"button",tabIndex:0,"aria-expanded":p===e.id,onClick:()=>g(p===e.id?null:e.id),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),g(p===e.id?null:e.id))},style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap",padding:"7px 10px",cursor:"pointer",fontSize:12.5,background:p===e.id?"rgba(255,255,255,0.04)":"none"},children:[(0,t.jsx)("span",{style:{color:"#dfe8e8"},children:I(e.last)||"No date"}),null!=e.lastFromThem&&(0,t.jsx)("span",{style:{color:e.lastFromThem?"#ff9f43":"#8b9a9a"},children:e.lastFromThem?"They wrote last":"You wrote last"}),null!=e.count&&(0,t.jsx)("span",{style:{color:"#8b9a9a"},children:R(e.count,"message")}),null!=e.mine&&null!=e.count&&e.mine===e.count&&(0,t.jsx)("span",{style:L("rgba(255,255,255,0.06)"),children:"Only you wrote"}),e.folder&&"inbox"!==e.folder&&(0,t.jsx)("span",{style:L("rgba(255,255,255,0.06)"),children:e.folder}),"inmail"===e.kind&&(0,t.jsx)("span",{style:L("rgba(155,89,182,0.25)"),children:"InMail"}),"sponsored"===e.kind&&(0,t.jsx)("span",{style:L("rgba(255,255,255,0.08)"),children:"Sponsored"}),e.unread>0&&(0,t.jsxs)("span",{style:L("#3498DB","#fff"),children:[e.unread," unread"]})]}),p===e.id&&(0,t.jsx)(F,{id:e.id,keep:i,group:!1,token:s},`${e.id}:${s}:${i}`)]},e.id)),e.groups.length>0&&(0,t.jsxs)("div",{style:{fontSize:12.5,color:"#8b9a9a",marginTop:4},children:["Also in ",R(e.groups.length,"group"),":"," ",e.groups.slice(0,8).map((e,n)=>{let i=r.find(t=>t.id===e);return(0,t.jsxs)("span",{children:[n>0?", ":"",(0,t.jsx)("button",{onClick:()=>d(e),style:{background:"none",border:"none",color:"#3498DB",cursor:"pointer",padding:0,fontSize:12.5},children:i?q(i,o):"a group"})]},e)})]}),(0,t.jsx)("div",{style:H,children:"Requests"}),e.invitesOut.length+e.invitesIn.length===0&&!e.request&&(0,t.jsx)("div",{style:{color:"#8b9a9a",fontSize:12.5},children:"None on file."}),[...e.invitesOut,...e.invitesIn].sort((e,t)=>(t.t||0)-(e.t||0)).map(n=>(0,t.jsxs)("div",{style:{fontSize:12.5,marginBottom:6},children:[(0,t.jsx)("span",{style:{color:"#dfe8e8"},children:"out"===n.dir?"You asked to connect":"They asked to connect"}),(0,t.jsxs)("span",{style:{color:"#8b9a9a"},children:[" · ",I(n.t)||"no date"," · ",e.connection?"accepted":"out"===n.dir?"pending":"not accepted yet"]}),i&&l[n.id]&&(0,t.jsx)("div",{style:{marginTop:3,padding:"6px 9px",borderRadius:8,background:"rgba(255,255,255,0.06)",whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:l[n.id]})]},n.id)),e.request&&(0,t.jsxs)("div",{style:{fontSize:12.5},children:[(0,t.jsx)("span",{style:{color:"#dfe8e8"},children:"Request tracked in the app"}),(0,t.jsxs)("span",{style:{color:"#8b9a9a"},children:[" · ",e.request.status]})]})]})}function J({c:e,onChange:o}){let r=e.crm||{},[i,s]=(0,n.useState)(r.notes||""),[l,a]=(0,n.useState)(""),[d,c]=(0,n.useState)(null),p=(0,n.useRef)(null),h=e.theyWrote?"replied":e.conversations.length||e.invitesOut.length||e.request?"contacted":"new";async function g(t){c("Saving…");try{await o(e.key,t),c("Saved")}catch(e){c(e.message)}}(0,n.useEffect)(()=>()=>clearTimeout(p.current),[]);let x=e=>y(new Date(Date.now()+864e5*e)),m=r.tags||[];function b(){let e=l.trim();e&&(a(""),g({tags:[...m,...e.split(",")]}))}return(0,t.jsxs)("div",{style:{marginTop:12,padding:"10px 12px",borderRadius:8,background:"rgba(52,152,219,0.06)",border:"1px solid rgba(52,152,219,0.18)"},children:[(0,t.jsxs)("div",{style:{display:"flex",gap:12,flexWrap:"wrap",alignItems:"flex-end"},children:[(0,t.jsxs)("label",{style:{fontSize:11.5,color:"#8b9a9a",display:"flex",flexDirection:"column",gap:3},children:["Stage",(0,t.jsxs)("select",{value:r.stage||"",onChange:e=>g({stage:e.target.value||null}),style:{...A,padding:"5px 8px"},children:[(0,t.jsxs)("option",{value:"",children:["Not set (looks like ",u(h),")"]}),f.map(e=>(0,t.jsx)("option",{value:e.id,children:e.label},e.id))]})]}),(0,t.jsxs)("label",{style:{fontSize:11.5,color:"#8b9a9a",display:"flex",flexDirection:"column",gap:3},children:["Next follow-up",(0,t.jsx)("input",{type:"date",value:r.followUp||"",onChange:e=>g({followUp:e.target.value||null}),style:{...A,padding:"4px 8px",colorScheme:"dark"}})]}),(0,t.jsxs)("div",{style:{display:"flex",gap:4,flexWrap:"wrap"},children:[(0,t.jsx)("button",{onClick:()=>g({followUp:x(3)}),style:O,children:"In 3 days"}),(0,t.jsx)("button",{onClick:()=>g({followUp:x(7)}),style:O,children:"In a week"}),r.followUp&&(0,t.jsx)("button",{onClick:()=>g({followUp:null}),style:O,children:"Clear"})]})]}),null==r.stage&&"new"!==h&&(0,t.jsxs)("button",{onClick:()=>g({stage:h}),style:{...O,marginTop:8},children:["Set to ",u(h)]}),(0,t.jsxs)("div",{style:{marginTop:10,display:"flex",gap:6,flexWrap:"wrap",alignItems:"center"},children:[m.map(e=>(0,t.jsxs)("span",{style:{...L("rgba(255,255,255,0.08)"),fontSize:11.5,display:"inline-flex",gap:4,alignItems:"center"},children:[e,(0,t.jsx)("button",{"aria-label":`Remove ${e}`,onClick:()=>g({tags:m.filter(t=>t!==e)}),style:{background:"none",border:"none",color:"#8b9a9a",cursor:"pointer",padding:0,fontSize:12},children:"×"})]},e)),(0,t.jsx)("input",{value:l,onChange:e=>a(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),b())},onBlur:b,placeholder:"Add a tag","aria-label":"Add a tag",style:{...A,padding:"3px 8px",fontSize:12,width:120}})]}),(0,t.jsx)("textarea",{value:i,onChange:e=>{var t;s(t=e.target.value),clearTimeout(p.current),p.current=setTimeout(()=>g({notes:t}),800)},onBlur:function(){clearTimeout(p.current),i!==(r.notes||"")&&g({notes:i})},placeholder:"Your notes on them: kept on this computer only","aria-label":"Notes",rows:4,style:{...A,width:"100%",marginTop:10,resize:"vertical",fontFamily:"inherit",lineHeight:1.45,boxSizing:"border-box"}}),(0,t.jsx)("div",{style:{fontSize:11,color:d&&"Saved"!==d&&"Saving…"!==d?"#ff9b9b":"#778",marginTop:4,minHeight:14},children:d||""})]})}function G({g:e,contacts:n,nameOf:o,keep:r,token:i,onPick:s}){let l=W(e.threadUrl);return(0,t.jsxs)("div",{style:{fontSize:13},children:[(0,t.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[(0,t.jsx)("h3",{style:{margin:0,fontSize:17},children:q(e,o)}),(0,t.jsx)("span",{style:L("rgba(255,255,255,0.08)"),children:e.unknown?"To someone unnamed":"Group"}),e.unread>0&&(0,t.jsxs)("span",{style:L("#3498DB","#fff"),children:[e.unread," unread"]})]}),(0,t.jsx)("div",{style:{color:"#8b9a9a",marginTop:4,fontSize:12.5},children:[e.last?`Last active ${I(e.last)}`:null,null!=e.count?R(e.count,"message"):null].filter(Boolean).join(" · ")}),l&&(0,t.jsx)("a",{href:l,target:"_blank",rel:"noreferrer",style:{color:"#3498DB",textDecoration:"none",fontSize:12.5,display:"inline-block",marginTop:6},children:"Conversation on LinkedIn ↗"}),e.people.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{style:H,children:"Who’s in it"}),(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:e.people.map(e=>{let r=n.get(e);return(0,t.jsxs)("button",{onClick:()=>s(e),style:{...O,display:"inline-flex",gap:6,alignItems:"center"},children:[(0,t.jsx)(N,{tier:r?.row?.tier}),o(e)||e.split("/").pop(),r&&!r.connection&&(0,t.jsx)("span",{style:{color:"#ffc58a",fontSize:10.5},children:"not a connection"})]},e)})})]}),(0,t.jsx)("div",{style:H,children:"Messages"}),(0,t.jsx)("div",{style:{border:h.LINE,borderRadius:6,overflow:"hidden"},children:(0,t.jsx)(F,{id:e.id,keep:r,group:!0,token:i},`${e.id}:${i}:${r}`)})]})}let V={warm:["Warm","#ff9f43"],cool:["Cool","#3498DB"],dormant:["Dormant","#8899aa"],never:["Never messaged","#556"]},X={"connections.csv":"first name","messages.csv":"conversation id","invitations.csv":"direction","positions.csv":"company name","shares.csv":"date"},Q=e=>e?new Date(e).toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"}):"";async function Z(e){let t=[],n={},o=0;for(let r of e)for(let e of r.messages){let i=JSON.stringify(e).length+2;o+i>25e5&&o>0&&(t.push(n),n={},o=0),n[r.id]||(n[r.id]={title:r.title||"",messages:[]},o+=r.id.length+(r.title||"").length+40),n[r.id].messages.push(e),o+=i}t.push(n);for(let e=0;e<t.length;e++){let n=await fetch("/api/social/messages",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({part:e,parts:t.length,threads:t[e]})});if(!n.ok)throw Error((await n.json().catch(()=>({}))).error||"The messages couldn’t be saved.")}}async function ee(e){let t={};for(let n of e)n.note&&(t[n.id]=n.note);let n=await fetch("/api/social/messages",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({invites:t})});if(!n.ok)throw Error((await n.json().catch(()=>({}))).error||"The requests’ notes couldn’t be saved.")}function et({embedded:e=!1}){let{userId:o}=(0,s.useUser)(),[r,f]=(0,n.useState)(void 0),[u,x]=(0,n.useState)(null),[m,y]=(0,n.useState)(!1),[b,w]=(0,n.useState)(null),[v,j]=(0,n.useState)(!1),[k,S]=(0,n.useState)(()=>(0,p.scannerNow)()),[z,C]=(0,n.useState)(!1),[T,F]=(0,n.useState)(0),[B,$]=(0,n.useState)(0),I=(0,n.useRef)(null),D=(0,n.useRef)(null),W=r?.keepMessages===!0,R=()=>fetch("/api/social").then(e=>e.json()).then(e=>f(e.social||null)).catch(()=>f(null)).finally(()=>F(e=>e+1));async function _(e){j(!0),w(null);try{let t={};for(let n of Array.from(e||[])){let e=n.name.toLowerCase();X[e]&&!t[e]&&(t[e]=(0,a.readTable)(await n.text(),X[e]))}if(!Object.keys(t).length)throw Error("That folder doesn’t have LinkedIn’s export files in it (Connections.csv, messages.csv and so on).");let n=t["connections.csv"]||[],o=t["messages.csv"]?(0,a.messageStats)(t["messages.csv"]):{asOf:null,people:new Map},r=t["messages.csv"]?(0,a.buildConversations)(t["messages.csv"],{keepText:W}):null,i=t["invitations.csv"]?(0,a.buildInvitations)(t["invitations.csv"],{keepText:W}):null;I.current=t["messages.csv"]||null,D.current=t["invitations.csv"]||null;let s={};for(let[e,t]of o.people)s[e]={last:t.last,lastFromThem:t.lastFromThem,total:t.total,recent:t.recent};if(m)for(let e of n){let t=e["email address"];if(!t)continue;let n=(0,c.keyFor)({profile_url:e.url});s[n]={...s[n]||{},email:t}}let l=o.asOf||Date.now(),d={asOf:l,people:s,conversations:r?r.conversations.map(a.conversationSummary):[],chapters:(0,a.careerChapters)(t["positions.csv"]||[],n,l),posts:t["shares.csv"]?(0,a.postingEffect)(t["shares.csv"],n):null,invites:t["invitations.csv"]?(0,a.invitationSplit)(t["invitations.csv"]):null,invitations:(i||[]).map(({note:e,...t})=>t),names:r?r.names:{},emails:m},p=await fetch("/api/social",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)});if(!p.ok)throw Error((await p.json().catch(()=>({}))).error||"It couldn’t be saved.");r&&W&&await Z(r.conversations),i&&W&&await ee(i);let h=r?[r.drafts?`${r.drafts.toLocaleString()} unsent ${1===r.drafts?"draft":"drafts"} left out`:"",r.skipped?`${r.skipped.toLocaleString()} ${1===r.skipped?"row":"rows"} with no conversation or date left out`:""].filter(Boolean):[];w({good:!0,text:`Read ${Object.keys(t).length} of LinkedIn’s files: ${o.people.size.toLocaleString()} people you’ve messaged one to one`+(r?`, ${r.conversations.length.toLocaleString()} conversations${W?", their messages kept on this computer":""}`:"")+(i?`, ${i.length.toLocaleString()} connection requests`:"")+`.${h.length?` (${h.join("; ")}.)`:""}`}),await R()}catch(e){w({good:!1,text:e.message})}finally{j(!1)}}async function L(e=!1){w(null);try{let t=await (0,p.runScrape)(e?"messages-full":"messages");w(t?.exitCode===0?{good:!0,text:e?"Your whole messages history is read.":"Your messages list is read."}:{good:!1,text:"The sync stopped before it finished. The Scan page has the log."}),await R()}catch(e){w({good:!1,text:e.message})}}async function O(e){await fetch("/api/social",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({autoSync:e})}),R()}async function A(e){if(e||window.confirm("Delete the messages kept on this computer? The list of conversations stays; the messages themselves are deleted.")){C(!0),w(null);try{if(e||await fetch("/api/social/messages",{method:"DELETE"}),!(await fetch("/api/social",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({keepMessages:e})})).ok)throw Error("The switch couldn’t be saved.");e&&(I.current||D.current)?(I.current&&await Z((0,a.buildConversations)(I.current,{keepText:!0}).conversations),D.current&&await ee((0,a.buildInvitations)(D.current,{keepText:!0})),w({good:!0,text:"Your messages are kept on this computer now."})):e?w({good:!0,text:"On. Choose your export folder again, or sync your messages, to bring the messages in."}):w({good:!0,text:"Off. The kept messages are deleted."})}catch(e){w({good:!1,text:e.message})}finally{C(!1),R()}}}async function M(){await fetch("/api/social",{method:"DELETE"}),I.current=null,D.current=null;let e="Forgotten. Nothing from your export or messages is kept here now, the messages themselves included.";window.confirm("Also delete your CRM: the stages, tags, notes and follow-up dates you added? This can’t be undone. Cancel keeps them.")?(await fetch("/api/social/crm",{method:"DELETE"}),$(e=>e+1),e+=" Your CRM notes are deleted too."):e+=" Your CRM notes are kept.",w({good:!0,text:e}),R()}(0,n.useEffect)(()=>{R()},[]),(0,n.useEffect)(()=>(0,p.watchScanner)(()=>S((0,p.scannerNow)())),[]),(0,n.useEffect)(()=>{if(!o)return;let e=!0;return(0,l.loadNetwork)(o).then(t=>{e&&x(t)}).catch(()=>{}),()=>{e=!1}},[o]);let{merged:N,asOf:U}=(0,n.useMemo)(()=>(0,d.mergeSocial)(r),[r]),P=(0,n.useMemo)(()=>{let e={warm:0,cool:0,dormant:0,never:0};for(let t of u?.degree1||[])e[(0,a.warmthOf)(N.get((0,c.keyFor)(t)),U)]+=1;return e},[u,N,U]);if(g.IS_DEMO)return(0,t.jsx)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"#aaa",padding:40,fontFamily:h.FONT},children:"Not part of the demo."});let q=k?.running,Y={padding:"12px 14px",borderRadius:8,border:h.LINE,background:"rgba(255,255,255,0.03)",marginTop:10},H={fontSize:16,margin:"24px 0 6px"};return(0,t.jsxs)("div",{style:e?{color:"#fff",fontFamily:h.FONT}:{minHeight:"100vh",background:"#0a0a1a",color:"#fff",fontFamily:h.FONT},children:[!e&&(0,t.jsxs)("header",{style:{padding:"16px 24px",borderBottom:h.LINE,display:"flex",alignItems:"center",gap:16},children:[(0,t.jsx)(i.default,{href:"/",style:{color:"#888",textDecoration:"none",fontSize:13,fontWeight:600,padding:"6px 14px",borderRadius:6,background:"rgba(255,255,255,0.06)",border:h.LINE},children:"← Back to Map"}),(0,t.jsxs)("h1",{style:{fontSize:22,fontWeight:700,margin:0,color:"#FFD700"},children:["Social ",(0,t.jsx)("span",{style:{fontSize:12,color:"#8b9a9a",fontWeight:600},children:"experimental"})]})]}),(0,t.jsxs)("main",{style:{maxWidth:1180,margin:"0 auto",padding:"8px 16px 64px"},children:[(0,t.jsxs)(h.Body,{style:{marginTop:16},children:["Everyone you’ve been in touch with on LinkedIn, connections or not: who’s waiting on you, who hasn’t answered, what you’ve sent and received, and your own notes and follow-ups on each, from your own LinkedIn data. Only dates, who wrote last, counts and names are kept on this computer, and what messages say only if you turn on ",(0,t.jsx)("i",{children:"Keep my messages"})," below."]}),(0,t.jsx)("h2",{style:H,children:"Your LinkedIn export"}),(0,t.jsxs)("div",{style:Y,children:[(0,t.jsxs)(h.Body,{style:{margin:0},children:["On LinkedIn: ",(0,t.jsx)("i",{children:"Settings → Data privacy → Get a copy of your data"}),", pick the larger archive, and unzip the file it emails you. Then choose that folder here. It’s read in this window; nothing goes to LinkedIn."]}),(0,t.jsxs)("label",{style:{display:"flex",gap:8,alignItems:"flex-start",fontSize:12.5,color:"#b8c4c4",marginTop:10},children:[(0,t.jsx)("input",{type:"checkbox",checked:m,onChange:e=>y(e.target.checked),style:{marginTop:3}}),(0,t.jsx)("span",{children:"Also keep email addresses from it, on this computer only, for one-click email."})]}),(0,t.jsxs)("div",{style:{marginTop:10,display:"flex",gap:10,alignItems:"center",flexWrap:"wrap"},children:[(0,t.jsxs)("label",{style:{padding:"7px 14px",borderRadius:8,background:"rgba(52,152,219,0.18)",color:"#cfe6f7",cursor:v?"default":"pointer",fontSize:13},children:[v?"Reading…":r?"Choose a newer export":"Choose the export folder",(0,t.jsx)("input",{type:"file",webkitdirectory:"",directory:"",multiple:!0,disabled:v,style:{display:"none"},onChange:e=>_(e.target.files)})]}),r&&(0,t.jsxs)("span",{style:{fontSize:12,color:"#8b9a9a"},children:["From an export up to ",Q(r.asOf),r.liveAt?` \xb7 messages synced ${Q(Date.parse(r.liveAt))}`:""]}),r&&(0,t.jsx)("button",{onClick:M,style:{background:"none",border:"none",color:"#ff9b9b",cursor:"pointer",fontSize:12},children:"Forget it"})]})]}),(0,t.jsxs)("h2",{style:H,children:["Live messages sync ",(0,t.jsx)("span",{style:{fontSize:11,color:"#FFD700"},children:"experimental"})]}),(0,t.jsxs)("div",{style:Y,children:[(0,t.jsxs)(h.Body,{style:{margin:0},children:["Reads your messages list once, in your own Chrome: who each conversation is with, connections or not, when it was last active, whether it’s unread and who wrote last. It uses no search budget and opens no conversation. The newest message’s words are kept only if ",(0,t.jsx)("i",{children:"Keep my messages"})," is on. The daily sync reads the top of the list; ",(0,t.jsx)("i",{children:"Read my whole history"})," keeps scrolling until no more conversations load (at most 60 scrolls, about 1,000 conversations), at the same slow, fixed pace, so it takes a few minutes."]}),(0,t.jsxs)("div",{style:{marginTop:10,display:"flex",gap:12,alignItems:"center",flexWrap:"wrap"},children:[(0,t.jsx)("button",{onClick:()=>L(!1),disabled:q,style:{padding:"7px 14px",borderRadius:8,border:"none",background:q?"#333":"rgba(0,255,136,0.15)",color:q?"#777":"#00ff88",cursor:q?"default":"pointer",fontSize:13},children:q?"The scanner is busy":"Sync messages now"}),(0,t.jsx)("button",{onClick:()=>L(!0),disabled:q,style:{padding:"7px 14px",borderRadius:8,border:h.LINE,background:"none",color:q?"#777":"#cfe6f7",cursor:q?"default":"pointer",fontSize:13},children:"Read my whole history"}),(0,t.jsxs)("label",{style:{display:"flex",gap:6,alignItems:"center",fontSize:12.5,color:"#b8c4c4"},children:[(0,t.jsx)("input",{type:"checkbox",checked:r?.autoSync===!0,onChange:e=>O(e.target.checked)}),"Once a day while the app is open (daytime only)"]})]})]}),b&&(0,t.jsx)("div",{style:{marginTop:10,fontSize:13,color:b.good?"#00ff88":"#ff9b9b"},children:b.text}),(0,t.jsx)("h2",{style:H,children:"People"}),(0,t.jsx)(E,{net:u,asOf:r?U:null,keep:W,onKeep:A,switching:z||v,token:T,crmToken:B}),r&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h2",{style:H,children:"Warmth"}),(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(160px, 1fr))",gap:10},children:Object.entries(V).map(([e,[n,o]])=>(0,t.jsxs)("div",{style:{...Y,marginTop:0},children:[(0,t.jsx)("div",{style:{fontSize:22,fontWeight:700,color:o},children:(P[e]||0).toLocaleString()}),(0,t.jsx)("div",{style:{fontSize:12.5,color:"#b8c4c4"},children:n})]},e))}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"#778",marginTop:6},children:"Of your connections. Warm: messaged in the last 30 days, or 3+ messages in 90. Cool: within a year. Dormant: longer ago."}),r.chapters?.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h2",{style:H,children:"Career chapters"}),(0,t.jsx)("div",{style:{...Y,padding:0},children:r.chapters.map(e=>{let n=(e.people||[]).filter(e=>["warm","cool"].includes((0,a.warmthOf)(N.get((0,c.keyFor)({profile_url:e})),U))).length;return(0,t.jsxs)("div",{style:{display:"flex",gap:10,padding:"8px 14px",borderBottom:"1px solid rgba(255,255,255,0.04)",fontSize:13,alignItems:"baseline"},children:[(0,t.jsxs)("span",{style:{flex:1},children:[(0,t.jsx)("b",{children:e.company})," ",(0,t.jsxs)("span",{style:{color:"#8b9a9a"},children:[e.title," · ",new Date(e.from).getFullYear(),"–",e.to?new Date(e.to).getFullYear():"now"]})]}),(0,t.jsxs)("span",{style:{color:"#b8c4c4"},children:[e.made.toLocaleString()," connections made"]}),(0,t.jsx)("span",{style:{color:"#ff9f43",minWidth:90,textAlign:"right"},children:e.made?`${Math.round(100*n/e.made)}% still in touch`:""})]},`${e.company}-${e.from}`)})})]}),r.posts?.posts?.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h2",{style:H,children:"Does posting work?"}),(0,t.jsxs)("div",{style:Y,children:[(0,t.jsxs)("div",{style:{fontSize:13},children:["In the week after a post you made ",(0,t.jsx)("b",{children:r.posts.afterPosts.toFixed(1)})," new connections on average; a usual week, ",(0,t.jsx)("b",{children:r.posts.usualWeek.toFixed(1)}),"."]}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"#778",marginTop:4},children:"What came after a post, not proof it came from it."}),[...r.posts.posts].sort((e,t)=>t.week-e.week).slice(0,3).map(e=>(0,t.jsxs)("div",{style:{fontSize:12.5,color:"#b8c4c4",marginTop:6},children:[Q(e.t),": ",e.week," new connections that week ",e.link?(0,t.jsx)("a",{href:e.link,target:"_blank",rel:"noreferrer",style:{color:"#3498DB",textDecoration:"none"},children:"Post ↗"}):null]},e.t))]})]}),r.invites?.total>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h2",{style:H,children:"Who reaches out"}),(0,t.jsx)("div",{style:Y,children:(0,t.jsxs)("span",{style:{fontSize:13},children:[r.invites.incoming.toLocaleString()," requests came to you and you sent ",r.invites.outgoing.toLocaleString()," ","(",Math.round(100*r.invites.incoming/r.invites.total),"% came to you), as far as your export shows."]})})]})]})]})]})}var en=e.i(99883),eo=e.i(48235);let er={S:25,A:15,B:10,C:5,D:2},ei={S:100,A:60,B:35,C:15,D:5};var es=e.i(5258),el=e.i(36774);let ea={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},ed="1px solid rgba(255,255,255,0.1)";function ec({person:e,size:n=36,ring:o}){let r=ea[e?.tier]||"#667";return(0,t.jsxs)("div",{style:{position:"relative",width:n,height:n,flexShrink:0},children:[(0,t.jsx)("div",{style:{width:n,height:n,borderRadius:"50%",background:r,color:e?.tier==="S"?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:.34*n,fontWeight:800,border:`2px solid ${o||r}`},children:(0,es.initialsFor)(e?.name||"?")}),(0,el.localPhoto)(e?.profile_image_url)&&(0,t.jsx)("img",{src:(0,el.localPhoto)(e.profile_image_url),alt:"",onError:e=>{e.currentTarget.style.display="none"},style:{position:"absolute",inset:0,width:n,height:n,borderRadius:"50%",objectFit:"cover",border:`2px solid ${o||r}`}})]})}function ep({progress:e,size:n=86,color:o="#FF6B35",children:r}){let i=n/2-5,s=2*Math.PI*i;return(0,t.jsxs)("div",{style:{position:"relative",width:n,height:n},children:[(0,t.jsxs)("svg",{width:n,height:n,style:{position:"absolute",inset:0,transform:"rotate(-90deg)"},children:[(0,t.jsx)("circle",{cx:n/2,cy:n/2,r:i,fill:"none",stroke:"rgba(255,255,255,0.08)",strokeWidth:5}),(0,t.jsx)("circle",{cx:n/2,cy:n/2,r:i,fill:"none",stroke:o,strokeWidth:5,strokeLinecap:"round",strokeDasharray:`${s*Math.min(1,e)} ${s}`,style:{transition:"stroke-dasharray 0.5s ease"}})]}),(0,t.jsx)("div",{style:{position:"absolute",inset:9,display:"flex",alignItems:"center",justifyContent:"center"},children:r})]})}function eh({recs:e,sentIds:o,added:r,mappedIds:s,reach:l,onSend:a,onUndo:d}){let c=(0,n.useMemo)(()=>(function({recs:e=[],sentIds:t=new Set,added:n=[],mappedIds:o=new Set,reach:r=null}){var i;let s,l,a,d=new Map,c=new Set;for(let t of[...e].sort((e,t)=>(t.priority||0)-(e.priority||0))){if(!t.bridge)continue;let e=`${t.bridge.id}|${t.profile_url||t.id}`;if(c.has(e))continue;c.add(e);let n=d.get(t.bridge.id);n||(n={bridge:t.bridge,people:[]},d.set(t.bridge.id,n)),n.people.push(t)}let p=new Map;for(let e of n){let t=e.unlocked_from_bridge_id;t&&p.set(t,[...p.get(t)||[],e])}let h=[],g=0,f=0;for(let{bridge:e,people:n}of d.values()){let o=n.filter(e=>t.has(e.id)),r=p.get(e.id)||[];f+=o.length,g+=o.reduce((e,t)=>e+(er[t.tier]||2),0),g+=r.reduce((e,t)=>e+(ei[t.tier]||5),0);let i=Math.ceil(n.length/5)||1,s=0;for(;s<i-1&&n.slice(5*s,(s+1)*5).every(e=>t.has(e.id));)s++;let l=n.slice(5*s,(s+1)*5),a=l.filter(e=>t.has(e.id)).length,d=a===l.length&&s===i-1;h.push({bridge:e,people:n,stage:s+1,stages:i,targets:l,done:a,progress:l.length?a/l.length:1,complete:d,sent:o.length,added:r,value:l.filter(e=>!t.has(e.id)).reduce((e,t)=>e+(t.priority||0),0),open:{S:l.filter(e=>"S"===e.tier&&!t.has(e.id)).length,A:l.filter(e=>"A"===e.tier&&!t.has(e.id)).length}})}h.sort((e,t)=>e.complete-t.complete||(t.progress>0&&t.progress<1)-(e.progress>0&&e.progress<1)||t.progress-e.progress||t.value-e.value);let u=h.filter(e=>!e.complete).flatMap(e=>e.targets.filter(e=>!t.has(e.id)).map(t=>({person:t,cluster:e,score:(t.priority||0)*(1+.6*e.progress)}))).sort((e,t)=>t.score-e.score),x=new Set,m=[];for(let e of u){let t=e.person.profile_url||e.person.id;if(!x.has(t)&&(x.add(t),m.push(e),3===m.length))break}let y=n.filter(e=>e.unlocked_from_bridge_id).length;return{clusters:h,nextMoves:m,points:g,level:(l=((s=Math.floor(Math.sqrt(Math.max(0,i=g)/40))+1)-1)**2*40,a=s**2*40,{level:s,floor:l,next:a,progress:(i-l)/(a-l)}),sentTotal:f,addedTotal:y,newDoors:n.filter(e=>e.unlocked_from_bridge_id&&"todo"===(0,eo.circleState)(e,r||{scanned:o,hidden:new Set})),clearedStages:h.reduce((e,t)=>e+(t.stage-1)+ +!!t.complete,0)}})({recs:e,sentIds:o,added:r,mappedIds:s,reach:l}),[e,o,r,s,l]),[p,h]=(0,n.useState)(null),[g,f]=(0,n.useState)(null),{level:u}=c;async function x(e,t){await a(e);let n=t.done+1,o=String(t.bridge.name||"").split(/[\s,]+/)[0];f(n>=t.targets.length?`+${er[e.tier]||2} \xb7 Stage ${t.stage} of ${o}'s circle cleared — the next 5 are up`:`+${er[e.tier]||2} \xb7 ${o}'s circle ${n}/${t.targets.length}`),setTimeout(()=>f(null),3500)}let m=c.clusters.find(e=>e.bridge.id===p);return(0,t.jsxs)("div",{style:{maxWidth:1100,margin:"0 auto",padding:"16px 20px 60px"},children:[(0,t.jsxs)("div",{style:{display:"flex",gap:16,alignItems:"center",flexWrap:"wrap",padding:16,borderRadius:12,border:ed,background:"linear-gradient(135deg, rgba(255,107,53,0.10), rgba(155,89,182,0.08))"},children:[(0,t.jsxs)("div",{style:{width:64,height:64,borderRadius:16,background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},children:[(0,t.jsx)("div",{style:{fontSize:10,fontWeight:800},children:"LEVEL"}),(0,t.jsx)("div",{style:{fontSize:26,fontWeight:900,lineHeight:1},children:u.level})]}),(0,t.jsxs)("div",{style:{flex:1,minWidth:220},children:[(0,t.jsxs)("div",{style:{fontSize:13,color:"#dfe6e9"},children:[(0,t.jsx)("b",{children:c.points})," points · ",(0,t.jsx)("b",{children:u.next-c.points})," to level ",u.level+1]}),(0,t.jsx)("div",{style:{height:8,borderRadius:4,background:"rgba(255,255,255,0.08)",marginTop:6,overflow:"hidden"},children:(0,t.jsx)("div",{style:{height:"100%",width:`${Math.round(100*u.progress)}%`,background:"linear-gradient(90deg, #FFD700, #FF6B35)",transition:"width 0.5s"}})}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"#8b9a9a",marginTop:6},children:"Points come from invites you send and people who accept — not from browsing."})]}),[[c.sentTotal,"invites sent"],[c.addedTotal,"people added"],[c.clearedStages,"stages cleared"]].map(([e,n])=>(0,t.jsxs)("div",{style:{textAlign:"center",minWidth:80},children:[(0,t.jsx)("div",{style:{fontSize:24,fontWeight:900},children:e}),(0,t.jsx)("div",{style:{fontSize:11,color:"#8b9a9a"},children:n})]},n))]}),c.newDoors.length>0&&(0,t.jsxs)("div",{style:{marginTop:12,padding:"10px 14px",borderRadius:10,border:"1px solid rgba(0,255,136,0.3)",background:"rgba(0,255,136,0.06)",fontSize:13},children:["🚪 ",(0,t.jsxs)("b",{children:[c.newDoors.length," new ",1===c.newDoors.length?"door":"doors",":"]})," people you added through a circle, whose own circle isn’t mapped yet. That’s the next degree. ",(0,t.jsx)(i.default,{href:"/setup",style:{color:"#00ff88"},children:"Map them on the Scan page →"})]}),c.nextMoves.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h3",{style:{margin:"22px 0 10px",fontSize:15},children:"Next best moves"}),(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:12},children:c.nextMoves.map(({person:e,cluster:n},o)=>(0,t.jsxs)("div",{style:{padding:14,borderRadius:12,border:`1px solid ${ea[e.tier]}55`,background:"rgba(255,255,255,0.03)",position:"relative"},children:[(0,t.jsxs)("div",{style:{position:"absolute",top:10,right:12,fontSize:11,fontWeight:800,color:"#FF6B35"},children:["#",o+1]}),(0,t.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center"},children:[(0,t.jsx)(ec,{person:e,size:44}),(0,t.jsxs)("div",{style:{minWidth:0},children:[(0,t.jsx)("div",{style:{fontWeight:700,fontSize:14},children:e.name}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"#8b9a9a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:220},children:e.headline})]})]}),(0,t.jsxs)("div",{style:{fontSize:11.5,color:"#aab7b7",margin:"10px 0"},children:["via ",(0,t.jsx)("b",{style:{color:ea[n.bridge.tier]},children:n.bridge.name})," · their circle ",n.done,"/",n.targets.length," this stage"]}),(0,t.jsxs)("div",{style:{display:"flex",gap:8},children:[e.profile_url&&(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",style:ef,children:"Open on LinkedIn"}),(0,t.jsxs)("button",{onClick:()=>x(e,n),style:eg,children:["I sent an invite · +",er[e.tier]||2]})]})]},e.id))})]}),(0,t.jsx)("h3",{style:{margin:"26px 0 4px",fontSize:15},children:"Circles to work through"}),(0,t.jsxs)("div",{style:{fontSize:12,color:"#8b9a9a",marginBottom:12},children:["Each is one of your connections and the best people they know, ",5," at a time. Fill the ring to clear a stage."]}),(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(190px, 1fr))",gap:12},children:c.clusters.map(e=>{let n=p===e.bridge.id;return(0,t.jsxs)("button",{onClick:()=>h(n?null:e.bridge.id),style:{padding:12,borderRadius:12,cursor:"pointer",textAlign:"center",color:"#fff",border:n?"1px solid #FF6B35":ed,background:e.complete?"rgba(0,255,136,0.06)":"rgba(255,255,255,0.03)",display:"flex",flexDirection:"column",alignItems:"center",gap:6},children:[(0,t.jsx)(ep,{progress:e.progress,color:e.complete?"#00ff88":"#FF6B35",children:(0,t.jsx)(ec,{person:e.bridge,size:60})}),(0,t.jsx)("div",{style:{fontWeight:700,fontSize:13,maxWidth:170,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.bridge.name}),(0,t.jsx)("div",{style:{fontSize:11,color:e.complete?"#00ff88":"#aab7b7"},children:e.complete?"Circle cleared":`Stage ${e.stage} of ${e.stages} \xb7 ${e.done}/${e.targets.length}`}),(0,t.jsx)("div",{style:{display:"flex",gap:4},children:e.targets.map(e=>(0,t.jsx)("span",{title:e.name,style:{width:12,height:12,borderRadius:"50%",border:`2px solid ${ea[e.tier]||"#667"}`,background:o.has(e.id)?ea[e.tier]||"#667":"transparent"}},e.id))}),(0,t.jsxs)("div",{style:{fontSize:10.5,color:"#778"},children:[e.open.S?`${e.open.S} S \xb7 `:"",e.open.A?`${e.open.A} A \xb7 `:"",e.people.length," worth adding",e.added.length?` \xb7 ★ ${e.added.length} added`:""]})]},e.bridge.id)})}),m&&(0,t.jsxs)("div",{style:{marginTop:14,padding:16,borderRadius:12,border:"1px solid rgba(255,107,53,0.4)",background:"rgba(255,107,53,0.05)"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10},children:[(0,t.jsx)(ec,{person:m.bridge,size:40}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{fontWeight:800},children:[m.bridge.name,"’s circle · stage ",m.stage," of ",m.stages]}),(0,t.jsxs)("div",{style:{fontSize:12,color:"#aab7b7"},children:["Ask ",m.bridge.name?.split(" ")[0]," for an intro, or invite them directly. Mark each one when it’s sent."]})]})]}),m.targets.map(e=>{let n=o.has(e.id);return(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 0",borderTop:"1px solid rgba(255,255,255,0.05)"},children:[(0,t.jsx)(ec,{person:e,size:34,ring:n?"#00ff88":void 0}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsxs)("div",{style:{fontWeight:600,fontSize:13},children:[e.name," ",(0,t.jsx)("span",{style:{color:ea[e.tier],fontSize:11},children:e.tier})]}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"#8b9a9a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline})]}),e.profile_url&&(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",style:ef,children:"LinkedIn"}),n?(0,t.jsx)("button",{onClick:()=>d(e),style:{...ef,color:"#00ff88"},children:"Sent ✓ (undo)"}):(0,t.jsxs)("button",{onClick:()=>x(e,m),style:eg,children:["Sent · +",er[e.tier]||2]})]},e.id)}),m.added.length>0&&(0,t.jsxs)("div",{style:{marginTop:10,fontSize:12,color:"#00ff88"},children:["★ Added from this circle: ",m.added.map(e=>e.name).join(", ")]})]}),g&&(0,t.jsx)("div",{role:"status",style:{position:"fixed",bottom:24,left:"50%",transform:"translateX(-50%)",padding:"10px 18px",borderRadius:24,background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000",fontWeight:800,fontSize:13,boxShadow:"0 8px 30px rgba(0,0,0,0.5)",zIndex:50},children:g})]})}let eg={padding:"7px 12px",borderRadius:8,border:"none",cursor:"pointer",fontWeight:800,fontSize:12,background:"linear-gradient(135deg, #FF6B35, #FFD700)",color:"#000"},ef={padding:"7px 12px",borderRadius:8,border:ed,cursor:"pointer",fontWeight:600,fontSize:12,background:"rgba(255,255,255,0.05)",color:"#dfe6e9",textDecoration:"none"};var eu=e.i(2776),ex=e.i(90179),em=e.i(28867),ey=e.i(86106);let eb={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},ew=["quest","recs","pending","messages"];function ev(){let{userId:e,userProfile:a}=(0,s.useUser)(),d=a?.sectors||[],[h,f]=(0,n.useState)([]),[u,x]=(0,n.useState)(!0),[m,y]=(0,n.useState)("all"),[b,w]=(0,n.useState)(new Set),v=(0,em.default)(),[j,k]=(0,n.useState)([]),[S,z]=(0,n.useState)({}),C=(0,o.useSearchParams)().get("view"),[T,F]=(0,n.useState)(()=>ew.includes(C)?C:"quest"),[B,$]=(0,n.useState)([]),[I,D]=(0,n.useState)(()=>new Set),[W,R]=(0,n.useState)(null),[_,L]=(0,n.useState)(null),[O,A]=(0,n.useState)(()=>{{let e=new URLSearchParams(window.location.search);if(e.get("groupBy"))return e.get("groupBy")}return"bridge"});(0,n.useEffect)(()=>{{let e=new URLSearchParams(window.location.search).get("bridge");e&&L(e)}},[]),(0,n.useEffect)(()=>{!g.IS_DEMO&&e&&t();async function t(){let[t,n,o]=await Promise.all([(0,l.loadNetwork)(e),fetch(`/api/outreach?userId=${e}`).then(e=>e.json()).catch(()=>({pending:[]})),(0,p.loadScanNotes)()]),r=t.degree1,i=t.degree2;$(r.filter(e=>e.unlocked_from_bridge_id)),D(new Set(i.map(e=>e.source_connection_id).filter(Boolean))),R((0,eo.reachIndex)(r,i,o));let s=new Set(r.map(e=>e.profile_url)),a={};r.forEach(e=>{a[e.id]=e}),k(n.pending||[]),z(a),f(i.filter(e=>("S"===e.tier||"A"===e.tier||"B"===e.tier)&&!s.has(e.profile_url)).map(e=>{let t,n,o=a[e.source_connection_id],r=(t=parseFloat(e.power_score)||0,n=(e.headline||"").toLowerCase(),(0,ex.rowCompanyScore)(e)>=ex.TOP_COMPANY&&(t+=1),(d||[]).forEach(e=>{n.includes(e.toLowerCase())&&(t+=.5)}),"S"===e.tier?t*=1.5:"A"===e.tier&&(t*=1.2),t),i="S"===e.tier?50:"A"===e.tier?25:10;return{...e,bridge:o,priority:r,xp:i}}).sort((e,t)=>t.priority-e.priority)),x(!1)}},[e]);let E=(0,n.useMemo)(()=>new Set([...j,...h].filter(e=>(0,ey.hasRequest)(e,v)).map(e=>e.id)),[j,h,v]),M=(0,n.useMemo)(()=>{let e=new Set,t=[];for(let n of[...j,...h]){let o=(0,c.keyFor)(n);!e.has(o)&&(0,ey.hasRequest)(n,v)&&(e.add(o),t.push({...n,bridge:S[n.source_connection_id]||n.bridge||null}))}return t},[j,h,v,S]);if((0,n.useEffect)(()=>((0,en.setNotchTabs)({items:[{key:"quest",label:"Circles"},{key:"recs",label:`To add (${h.length})`},{key:"pending",label:`Pending (${M.length})`},{key:"messages",label:"Messages & follow-ups"}],current:T,onPick:F}),()=>(0,en.setNotchTabs)(null)),[T,h.length,M.length]),g.IS_DEMO)return(0,t.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"rgba(255,255,255,0.7)",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:10,textAlign:"center",padding:24},children:[(0,t.jsx)("h2",{style:{margin:0,fontSize:18,fontWeight:700,color:"#fff"},children:"Not part of the demo"}),(0,t.jsx)("div",{style:{fontSize:13},children:"The public demo includes the Network Circle and Degrees views only."}),(0,t.jsx)(i.default,{href:"/",style:{fontSize:12,color:"rgba(255,255,255,0.5)",textDecoration:"none"},children:"← Back to the network"})]});let N="all"===m?h:h.filter(e=>e.tier===m);_&&(N=N.filter(e=>e.bridge?.id===_));let U={S:0,A:0,B:0};h.forEach(e=>{void 0!==U[e.tier]&&U[e.tier]++});let P={};N.forEach(e=>{let t;P[t="bridge"===O?e.bridge?.id||"unknown":"company"===O?(e.company||"Unknown").trim()||"Unknown":e.tier]||(P[t]=[]),P[t].push(e)});let q={S:0,A:1,B:2},Y=Object.entries(P).sort((e,t)=>{if("tier"===O)return(q[e[0]]||9)-(q[t[0]]||9);if("bridge"===O){let n=e[1][0]?.bridge,o=t[1][0]?.bridge,r=q[n?.tier]??9,i=q[o?.tier]??9;if(r!==i)return r-i}return t[1].length-e[1].length});function H(e){w(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}return u?(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff"},children:"Loading..."}):(0,t.jsxs)("div",{style:{height:"100vh",background:"#0a0a1a",color:"#fff",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,t.jsx)("header",{style:{padding:"20px 30px",borderBottom:"1px solid rgba(255,255,255,0.1)",flexShrink:0},children:(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[(0,t.jsx)(i.default,{href:"/",style:{textDecoration:"none"},children:(0,t.jsx)("h1",{style:{fontSize:28,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FFD700, #9B59B6, #3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Six Degrees"})}),(0,t.jsx)(r.default,{active:"outlink"}),(0,t.jsx)(i.default,{href:"/settings",title:"Settings","aria-label":"Settings",style:{width:32,height:32,borderRadius:"50%",flexShrink:0,background:"rgba(255,255,255,0.06)",color:"#888",fontSize:16,textDecoration:"none",display:"flex",alignItems:"center",justifyContent:"center"},children:"⚙"})]})}),("recs"===T||"pending"===T)&&(0,t.jsxs)("div",{style:{padding:"10px 24px",borderBottom:"1px solid rgba(255,255,255,0.08)",flexShrink:0},children:[(0,t.jsx)("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:10},children:(0,t.jsx)("div",{style:{marginLeft:"auto",display:"flex",gap:6},children:"recs"===T&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>A("tier"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"tier"===O?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"tier"===O?"#fff":"#666"},children:"By Tier"}),(0,t.jsx)("button",{onClick:()=>A("bridge"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"bridge"===O?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"bridge"===O?"#fff":"#666"},children:"By Bridge"}),(0,t.jsx)("button",{onClick:()=>A("company"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"company"===O?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"company"===O?"#fff":"#666"},children:"By Company"})]})})}),(0,t.jsx)("div",{style:{display:"flex",gap:6},children:[{k:"all",l:`All (${h.length})`},{k:"S",l:`S (${U.S})`,c:eb.S},{k:"A",l:`A (${U.A})`,c:eb.A},{k:"B",l:`B (${U.B})`,c:eb.B}].map(e=>(0,t.jsx)("button",{onClick:()=>y(e.k),style:{padding:"4px 12px",borderRadius:16,border:"none",fontSize:11,fontWeight:600,cursor:"pointer",background:m===e.k?e.c||"#fff":"rgba(255,255,255,0.06)",color:m===e.k?"#000":e.c||"#888"},children:e.l},e.k))})]}),"messages"===T&&(0,t.jsx)("div",{style:{flex:1,overflow:"auto",padding:"40px 8px 0"},children:(0,t.jsx)(et,{embedded:!0})}),"recs"===T&&b.size>0&&(0,t.jsxs)("div",{style:{padding:"10px 24px",background:"rgba(255,215,0,0.08)",borderBottom:"1px solid rgba(255,215,0,0.2)",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[(0,t.jsxs)("span",{style:{fontSize:12,color:"#FFD700",fontWeight:600},children:[b.size," selected"]}),(0,t.jsxs)("button",{onClick:function(){let e=N.filter(e=>b.has(e.id));if(0===e.length)return;if(1===e.length)return void window.open(e[0].profile_url,"_blank");let t=new Blob([`<!DOCTYPE html><html><head><title>Outlink — ${e.length} profiles</title>
3
+ <style>body{background:#0a0a1a;color:#fff;font-family:-apple-system,sans-serif;padding:24px;margin:0}
4
+ h2{color:#FFD700;margin-bottom:4px}p{color:#888;font-size:13px;margin-bottom:16px}
5
+ .btn{display:block;padding:12px 16px;margin-bottom:6px;background:rgba(255,255,255,0.06);
6
+ border:1px solid rgba(255,255,255,0.1);border-radius:8px;color:#fff;text-decoration:none;
7
+ font-size:13px;transition:background 0.15s}.btn:hover{background:rgba(0,119,181,0.2)}
8
+ .name{font-weight:700}.tier{font-size:11px;margin-left:8px;font-weight:600}
9
+ .open-all{display:inline-block;padding:12px 24px;background:linear-gradient(135deg,#FFD700,#FF6B35);
10
+ color:#000;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;border:none;margin-bottom:20px}</style></head>
11
+ <body><h2>Open ${e.length} Profiles</h2>
12
+ <p>Click each link or use the button below to open all at once.</p>
13
+ <button class="open-all" onclick="document.querySelectorAll('.btn').forEach((a,i)=>setTimeout(()=>a.click(),i*300))">
14
+ Open All (${e.length})</button>
15
+ ${e.map(e=>{let t="S"===e.tier?"#FFD700":"A"===e.tier?"#9B59B6":"#3498DB";return'<a class="btn" href="'+e.profile_url+'" target="_blank"><span class="name">'+(e.name||"")+'</span><span class="tier" style="color:'+t+'">'+e.tier+" · "+parseFloat(e.power_score||0).toFixed(1)+'</span><br><span style="color:#666;font-size:11px">'+(e.headline||"").substring(0,60)+"</span></a>"}).join("")}
16
+ </body></html>`],{type:"text/html"});window.open(URL.createObjectURL(t),"_blank")},style:{padding:"6px 16px",borderRadius:6,border:"none",cursor:"pointer",background:"#0077B5",color:"#fff",fontWeight:700,fontSize:12},children:["Open ",b.size," on LinkedIn"]}),(0,t.jsxs)("span",{style:{fontSize:10,color:"#888"},children:["+",N.filter(e=>b.has(e.id)).reduce((e,t)=>e+t.xp,0)," XP potential"]}),(0,t.jsx)("button",{onClick:()=>w(new Set),style:{marginLeft:"auto",background:"none",border:"none",color:"#888",cursor:"pointer",fontSize:11},children:"Clear"})]}),"quest"===T&&(0,t.jsx)("div",{style:{flex:1,overflow:"auto"},children:(0,t.jsx)(eh,{recs:h,sentIds:E,added:B,mappedIds:I,reach:W,onSend:e=>(0,ey.markRequested)(e,{bridgeId:e.source_connection_id}).catch(()=>{}),onUndo:e=>(0,ey.undoRequest)(e).catch(()=>{})})}),("recs"===T||"pending"===T)&&(0,t.jsx)("div",{style:{flex:1,overflow:"auto",padding:"12px 24px"},children:(0,t.jsxs)("div",{style:{maxWidth:700,margin:"0 auto"},children:["pending"===T&&(0,t.jsx)(t.Fragment,{children:0===M.length?(0,t.jsxs)("div",{style:{textAlign:"center",padding:40,color:"#555"},children:[(0,t.jsx)("div",{style:{fontSize:32,marginBottom:8},children:"⏳"}),(0,t.jsx)("div",{style:{fontSize:14,fontWeight:600},children:"No pending requests"}),(0,t.jsx)("div",{style:{fontSize:11,color:"#444",marginTop:4},children:'Click "Add" on someone to track your outreach'})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{style:{fontSize:10,color:"#666",marginBottom:12},children:"Waiting for response. When they accept, their cluster unlocks for bridging."}),M.map(e=>(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 12px",marginBottom:4,background:"rgba(255,107,53,0.04)",borderRadius:8,border:"1px solid rgba(255,107,53,0.1)"},children:[(0,el.localPhoto)(e.profile_image_url)?(0,t.jsx)("img",{src:(0,el.localPhoto)(e.profile_image_url),alt:"",style:{width:36,height:36,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`2px solid ${eb[e.tier]||"#555"}`},onError:e=>{e.target.style.display="none"}}):(0,t.jsx)("div",{style:{width:36,height:36,borderRadius:"50%",flexShrink:0,fontSize:14,fontWeight:700,background:eb[e.tier]||"#555",color:"S"===e.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:13,fontWeight:600},children:e.name}),(0,t.jsx)("div",{style:{fontSize:10,color:"#888",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline?.substring(0,55)}),e.bridge&&(0,t.jsxs)("div",{style:{fontSize:9,color:"#FF6B35",marginTop:2},children:["via ",e.bridge.name?.split(" ")[0]," · unlocks bridge cluster"]})]}),(0,t.jsxs)("div",{style:{textAlign:"center",flexShrink:0},children:[(0,t.jsx)("div",{style:{fontSize:10,fontWeight:800,color:eb[e.tier],padding:"2px 8px",borderRadius:4,background:`${eb[e.tier]||"#555"}15`},children:e.tier}),(0,t.jsx)("div",{style:{fontSize:8,color:"#FF6B35",marginTop:2,fontWeight:600},children:"PENDING"})]}),(0,t.jsxs)("div",{style:{display:"flex",gap:4,flexShrink:0},children:[(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",style:{padding:"4px 8px",borderRadius:4,fontSize:9,fontWeight:700,background:"#0077B5",color:"#fff",textDecoration:"none"},children:"View"}),(0,t.jsx)("button",{onClick:()=>{(0,ey.undoRequest)(e).catch(()=>{})},style:{padding:"4px 8px",borderRadius:4,fontSize:9,fontWeight:600,background:"rgba(255,255,255,0.06)",color:"#666",border:"none",cursor:"pointer"},children:"Undo"})]})]},e.id))]})}),"recs"===T&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,t.jsx)("input",{type:"checkbox",checked:b.size===N.length&&N.length>0,onChange:function(){b.size===N.length?w(new Set):w(new Set(N.map(e=>e.id)))},style:{cursor:"pointer"}}),(0,t.jsxs)("span",{style:{fontSize:10,color:"#666"},children:["Select all (",N.length,")"]})]}),Y.map(([e,n])=>(0,t.jsxs)("div",{style:{marginBottom:16},children:["bridge"===O?(()=>{let e=n[0]?.bridge;if(!e)return null;let o=n.filter(e=>"S"===e.tier).length,r=n.filter(e=>"A"===e.tier).length,i=n.filter(e=>"B"===e.tier).length,s=3*o+2*r+i;return(0,t.jsxs)("div",{style:{padding:"10px 12px",marginBottom:6,borderRadius:8,background:`${eb[e.tier]||"#555"}08`,border:`1px solid ${eb[e.tier]||"#555"}20`},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,el.localPhoto)(e.profile_image_url)?(0,t.jsx)("img",{src:(0,el.localPhoto)(e.profile_image_url),alt:"",style:{width:36,height:36,borderRadius:"50%",objectFit:"cover",border:`2px solid ${eb[e.tier]}`},onError:e=>{e.target.style.display="none"}}):(0,t.jsx)("div",{style:{width:36,height:36,borderRadius:"50%",fontSize:14,fontWeight:700,background:eb[e.tier],color:"S"===e.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:13,fontWeight:700,color:"#fff"},children:e.name}),(0,t.jsx)("div",{style:{fontSize:9,color:"#888",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline?.substring(0,50)})]}),(0,t.jsxs)("div",{style:{textAlign:"right",flexShrink:0},children:[(0,t.jsx)("div",{style:{fontSize:11,fontWeight:800,color:eb[e.tier]},children:e.tier}),(0,t.jsxs)("div",{style:{fontSize:8,color:"#666"},children:[n.length," to add"]})]})]}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:8},children:[(0,t.jsxs)("div",{style:{display:"flex",gap:4,fontSize:9},children:[o>0&&(0,t.jsxs)("span",{style:{color:"#FFD700",fontWeight:700},children:[o,"S"]}),r>0&&(0,t.jsxs)("span",{style:{color:"#9B59B6",fontWeight:700},children:[r,"A"]}),i>0&&(0,t.jsxs)("span",{style:{color:"#3498DB",fontWeight:700},children:[i,"B"]})]}),(0,t.jsx)("div",{style:{flex:1,height:4,background:"rgba(255,255,255,0.06)",borderRadius:2},children:(0,t.jsx)("div",{style:{height:"100%",borderRadius:2,width:`${Math.min(100,s/30*100)}%`,background:`linear-gradient(90deg, ${eb[e.tier]}, #FF6B35)`}})}),(0,t.jsxs)("button",{onClick:()=>{let e=n.map(e=>e.profile_url);if(1===e.length)return void window.open(e[0],"_blank");let t=`<!DOCTYPE html><html><head><title>Top ${Math.min(10,e.length)}</title>
17
+ <style>body{background:#0a0a1a;color:#fff;font-family:-apple-system,sans-serif;padding:24px}
18
+ .btn{display:block;padding:10px 14px;margin-bottom:4px;background:rgba(255,255,255,0.06);
19
+ border:1px solid rgba(255,255,255,0.1);border-radius:6px;color:#fff;text-decoration:none;font-size:12px}
20
+ .btn:hover{background:rgba(0,119,181,0.2)}
21
+ .oa{display:inline-block;padding:10px 20px;background:#0077B5;color:#fff;border-radius:6px;
22
+ font-weight:700;font-size:13px;cursor:pointer;border:none;margin-bottom:16px}</style></head>
23
+ <body><h3 style="color:#FF6B35">Top ${Math.min(10,e.length)} to connect</h3>
24
+ <button class="oa" onclick="document.querySelectorAll('.btn').forEach((a,i)=>setTimeout(()=>a.click(),i*300))">
25
+ Open All</button>${e.slice(0,10).map(e=>'<a class="btn" href="'+e+'" target="_blank">'+e.split("/in/")[1]?.replace("/","")+"</a>").join("")}</body></html>`;window.open(URL.createObjectURL(new Blob([t],{type:"text/html"})),"_blank")},style:{padding:"4px 10px",borderRadius:4,border:"none",cursor:"pointer",background:"#0077B5",color:"#fff",fontSize:9,fontWeight:700,whiteSpace:"nowrap"},children:["Open Top ",Math.min(10,n.length)]})]})]})})():(0,t.jsxs)("div",{style:{padding:"6px 10px",marginBottom:4,background:"tier"===O?`${eb[e]||"#555"}15`:"rgba(255,255,255,0.04)",borderLeft:`3px solid ${"tier"===O?eb[e]||"#555":"#FF6B35"}`,borderRadius:4,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,t.jsx)("span",{style:{fontSize:11,fontWeight:700,color:"tier"===O?eb[e]||"#888":"#FF6B35"},children:"tier"===O?`${e}-Tier`:e}),(0,t.jsx)("span",{style:{fontSize:10,color:"#666"},children:n.length})]}),"bridge"===O?["S","A","B"].map(e=>{let o=n.filter(t=>t.tier===e);return 0===o.length?null:(0,t.jsxs)("div",{style:{marginBottom:6},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"3px 8px",marginBottom:2,borderLeft:`2px solid ${eb[e]}`},children:[(0,t.jsx)("input",{type:"checkbox",checked:o.every(e=>b.has(e.id)),onChange:()=>{let e=o.every(e=>b.has(e.id));w(t=>{let n=new Set(t);return o.forEach(t=>{e?n.delete(t.id):n.add(t.id)}),n})},style:{cursor:"pointer",flexShrink:0}}),(0,t.jsx)("div",{style:{width:6,height:6,borderRadius:"50%",background:eb[e]}}),(0,t.jsxs)("span",{style:{fontSize:9,fontWeight:700,color:eb[e]},children:[e,"-Tier"]}),(0,t.jsx)("span",{style:{fontSize:8,color:"#555"},children:o.length}),(0,t.jsxs)("button",{onClick:()=>{if(1===o.length)return void window.open(o[0].profile_url,"_blank");let t=`<!DOCTYPE html><html><head><title>${e}-Tier — ${o.length}</title>
26
+ <style>body{background:#0a0a1a;color:#fff;font-family:-apple-system,sans-serif;padding:24px}
27
+ .btn{display:block;padding:10px 14px;margin-bottom:4px;background:rgba(255,255,255,0.06);
28
+ border:1px solid rgba(255,255,255,0.1);border-radius:6px;color:#fff;text-decoration:none;font-size:12px}
29
+ .btn:hover{background:rgba(0,119,181,0.2)}
30
+ .oa{display:inline-block;padding:10px 20px;background:#0077B5;color:#fff;border-radius:6px;
31
+ font-weight:700;font-size:13px;cursor:pointer;border:none;margin-bottom:16px}</style></head>
32
+ <body><h3 style="color:${eb[e]}">${e}-Tier (${o.length})</h3>
33
+ <button class="oa" onclick="document.querySelectorAll('.btn').forEach((a,i)=>setTimeout(()=>a.click(),i*300))">
34
+ Open All</button>${o.map(e=>'<a class="btn" href="'+e.profile_url+'" target="_blank">'+e.name+" · "+parseFloat(e.power_score||0).toFixed(1)+"</a>").join("")}</body></html>`;window.open(URL.createObjectURL(new Blob([t],{type:"text/html"})),"_blank")},style:{marginLeft:"auto",padding:"2px 8px",borderRadius:3,border:"none",cursor:"pointer",background:"#0077B5",color:"#fff",fontSize:8,fontWeight:700},children:["Open All ",e]})]}),o.map(e=>(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"5px 8px 5px 16px",borderBottom:"1px solid rgba(255,255,255,0.02)",background:b.has(e.id)?"rgba(255,215,0,0.05)":"transparent",cursor:"pointer"},onMouseEnter:t=>{b.has(e.id)||(t.currentTarget.style.background="rgba(255,255,255,0.04)")},onMouseLeave:t=>{b.has(e.id)||(t.currentTarget.style.background="transparent")},children:[(0,t.jsx)("input",{type:"checkbox",checked:b.has(e.id),onChange:()=>H(e.id),onClick:e=>e.stopPropagation(),style:{cursor:"pointer",flexShrink:0}}),(0,el.localPhoto)(e.profile_image_url)?(0,t.jsx)("img",{src:(0,el.localPhoto)(e.profile_image_url),alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${eb[e.tier]||"#555"}`},onError:e=>{e.target.style.display="none"}}):(0,t.jsx)("div",{style:{width:28,height:28,borderRadius:"50%",flexShrink:0,fontSize:10,fontWeight:700,background:eb[e.tier]||"#555",color:"S"===e.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},onClick:()=>H(e.id),children:[(0,t.jsx)("div",{style:{fontSize:11,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,t.jsx)("div",{style:{fontSize:8,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline?.substring(0,45)})]}),(0,t.jsx)("span",{style:{fontSize:9,fontWeight:700,color:eb[e.tier],flexShrink:0},children:parseFloat(e.power_score||0).toFixed(1)}),E.has(e.id)?(0,t.jsx)("span",{style:{padding:"3px 6px",borderRadius:3,fontSize:8,fontWeight:700,background:"rgba(255,107,53,0.15)",color:"#FF6B35",flexShrink:0},children:"Sent"}):(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",onClick:t=>{t.stopPropagation(),(0,ey.markRequested)(e,{bridgeId:e.source_connection_id}).catch(()=>{})},style:{padding:"3px 6px",borderRadius:3,fontSize:8,fontWeight:700,background:"#0077B5",color:"#fff",textDecoration:"none",flexShrink:0},children:"Add"})]},e.id))]},e)}):n.map(e=>(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 8px",borderBottom:"1px solid rgba(255,255,255,0.03)",background:b.has(e.id)?"rgba(255,215,0,0.05)":"transparent",cursor:"pointer"},onMouseEnter:t=>{b.has(e.id)||(t.currentTarget.style.background="rgba(255,255,255,0.04)")},onMouseLeave:t=>{b.has(e.id)||(t.currentTarget.style.background="transparent")},children:[(0,t.jsx)("input",{type:"checkbox",checked:b.has(e.id),onChange:()=>H(e.id),onClick:e=>e.stopPropagation(),style:{cursor:"pointer",flexShrink:0}}),(0,el.localPhoto)(e.profile_image_url)?(0,t.jsx)("img",{src:(0,el.localPhoto)(e.profile_image_url),alt:"",style:{width:32,height:32,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${eb[e.tier]||"#555"}`},onError:e=>{e.target.style.display="none",e.target.nextSibling.style.display="flex"}}):null,(0,t.jsx)("div",{style:{width:32,height:32,borderRadius:"50%",flexShrink:0,fontSize:12,fontWeight:700,background:eb[e.tier]||"#555",color:"S"===e.tier?"#000":"#fff",display:(0,el.localPhoto)(e.profile_image_url)?"none":"flex",alignItems:"center",justifyContent:"center"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},onClick:()=>H(e.id),children:[(0,t.jsx)("div",{style:{fontSize:12,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,t.jsx)("div",{style:{fontSize:9,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline?.substring(0,50)})]}),e.bridge&&(0,t.jsxs)("span",{style:{fontSize:8,color:"#555",flexShrink:0,maxWidth:60,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["via ",e.bridge.name?.split(" ")[0]]}),(0,t.jsx)("div",{style:{textAlign:"right",flexShrink:0,minWidth:32},children:(0,t.jsx)("div",{style:{fontSize:10,fontWeight:700,color:eb[e.tier]},children:parseFloat(e.power_score).toFixed(1)})}),E.has(e.id)?(0,t.jsx)("span",{style:{padding:"4px 8px",borderRadius:4,fontSize:9,fontWeight:700,background:"rgba(255,107,53,0.15)",color:"#FF6B35",flexShrink:0},children:"⏳ Sent"}):(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",onClick:t=>{t.stopPropagation(),(0,ey.markRequested)(e,{bridgeId:e.source_connection_id}).catch(()=>{})},style:{padding:"4px 8px",borderRadius:4,fontSize:9,fontWeight:700,background:"#0077B5",color:"#fff",textDecoration:"none",flexShrink:0},children:"Add"})]},e.id))]},e))]})]})})]})}e.s(["default",0,function(){return(0,t.jsx)(n.Suspense,{fallback:null,children:(0,t.jsx)(eu.default,{children:(0,t.jsx)(ev,{})})})}],77305)}]);