six-degrees 0.3.0 → 0.4.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 (427) 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 +35 -7
  5. package/.next/standalone/.next/required-server-files.json +6 -1
  6. package/.next/standalone/.next/routes-manifest.json +18 -1
  7. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.rsc +11 -11
  18. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  19. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +10 -10
  20. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/.next/standalone/.next/server/app/api/admin-delete/route.js +1 -1
  22. package/.next/standalone/.next/server/app/api/admin-delete/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/admin-update/route.js +1 -1
  24. package/.next/standalone/.next/server/app/api/admin-update/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/bridges/route.js +1 -1
  26. package/.next/standalone/.next/server/app/api/bridges/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/bulk-import/route.js +1 -1
  28. package/.next/standalone/.next/server/app/api/bulk-import/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/company-scores/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/connections/route.js +1 -1
  32. package/.next/standalone/.next/server/app/api/connections/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/data/export/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/data/import/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/data/restart/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/data/reveal/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/delete-cluster/route.js +1 -1
  39. package/.next/standalone/.next/server/app/api/delete-cluster/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/ingest/route.js +1 -1
  41. package/.next/standalone/.next/server/app/api/ingest/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/network/route.js +1 -1
  43. package/.next/standalone/.next/server/app/api/network/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  45. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/outreach/route.js +3 -3
  47. package/.next/standalone/.next/server/app/api/outreach/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/api/queue/route.js +1 -1
  49. package/.next/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/scraper/route.js +1 -1
  51. package/.next/standalone/.next/server/app/api/scraper/route.js.nft.json +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.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/api/setup-profile/route.js +1 -1
  56. package/.next/standalone/.next/server/app/api/setup-profile/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/unlock/route.js +1 -1
  58. package/.next/standalone/.next/server/app/api/unlock/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
  60. package/.next/standalone/.next/server/app/api/update-images/route.js +1 -1
  61. package/.next/standalone/.next/server/app/api/update-images/route.js.nft.json +1 -1
  62. package/.next/standalone/.next/server/app/api/users/route.js +1 -1
  63. package/.next/standalone/.next/server/app/api/users/route.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/avatars/[file]/route.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/import/page.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/import/page_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/import.html +1 -1
  68. package/.next/standalone/.next/server/app/import.rsc +13 -13
  69. package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +13 -13
  70. package/.next/standalone/.next/server/app/import.segments/_tree.segment.rsc +2 -2
  71. package/.next/standalone/.next/server/app/import.segments/import/__PAGE__.segment.rsc +12 -12
  72. package/.next/standalone/.next/server/app/index.html +1 -1
  73. package/.next/standalone/.next/server/app/index.rsc +13 -13
  74. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +12 -12
  75. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +13 -13
  76. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  77. package/.next/standalone/.next/server/app/launch/page.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/launch/page_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/launch.html +2 -2
  80. package/.next/standalone/.next/server/app/launch.rsc +13 -13
  81. package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +13 -13
  82. package/.next/standalone/.next/server/app/launch.segments/_tree.segment.rsc +2 -2
  83. package/.next/standalone/.next/server/app/launch.segments/launch/__PAGE__.segment.rsc +12 -12
  84. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/paths/page.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/paths/page_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/paths.html +1 -1
  89. package/.next/standalone/.next/server/app/paths.rsc +13 -13
  90. package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +13 -13
  91. package/.next/standalone/.next/server/app/paths.segments/_tree.segment.rsc +2 -2
  92. package/.next/standalone/.next/server/app/paths.segments/paths/__PAGE__.segment.rsc +12 -12
  93. package/.next/standalone/.next/server/app/profile/page.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/profile/page_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/profile.html +1 -1
  96. package/.next/standalone/.next/server/app/profile.rsc +13 -13
  97. package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +13 -13
  98. package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +2 -2
  99. package/.next/standalone/.next/server/app/profile.segments/profile/__PAGE__.segment.rsc +12 -12
  100. package/.next/standalone/.next/server/app/queue/page.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/queue.html +1 -1
  103. package/.next/standalone/.next/server/app/queue.rsc +13 -13
  104. package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +13 -13
  105. package/.next/standalone/.next/server/app/queue.segments/_tree.segment.rsc +2 -2
  106. package/.next/standalone/.next/server/app/queue.segments/queue/__PAGE__.segment.rsc +12 -12
  107. package/.next/standalone/.next/server/app/scores/page/app-paths-manifest.json +3 -0
  108. package/.next/standalone/.next/server/app/scores/page/build-manifest.json +20 -0
  109. package/.next/standalone/.next/server/app/scores/page/next-font-manifest.json +11 -0
  110. package/.next/standalone/.next/server/app/scores/page/react-loadable-manifest.json +1 -0
  111. package/.next/standalone/.next/server/app/scores/page/server-reference-manifest.json +4 -0
  112. package/.next/standalone/.next/server/app/scores/page.js +13 -0
  113. package/.next/standalone/.next/server/app/scores/page.js.map +5 -0
  114. package/.next/standalone/.next/server/app/scores/page.js.nft.json +1 -0
  115. package/.next/standalone/.next/server/app/scores/page_client-reference-manifest.js +3 -0
  116. package/.next/standalone/.next/server/app/scores.html +1 -0
  117. package/.next/standalone/.next/server/app/scores.meta +26 -0
  118. package/.next/standalone/.next/server/app/scores.rsc +24 -0
  119. package/.next/standalone/.next/server/app/scores.segments/_full.segment.rsc +24 -0
  120. package/.next/standalone/.next/server/app/scores.segments/_tree.segment.rsc +4 -0
  121. package/.next/standalone/.next/server/app/scores.segments/scores/__PAGE__.segment.rsc +28 -0
  122. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/settings.html +1 -1
  125. package/.next/standalone/.next/server/app/settings.rsc +13 -13
  126. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +13 -13
  127. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  128. package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +12 -12
  129. package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/setup.html +1 -1
  132. package/.next/standalone/.next/server/app/setup.rsc +13 -13
  133. package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +13 -13
  134. package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  135. package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +12 -12
  136. package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
  137. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-rnla2._.js +1 -1
  138. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00la_y0._.js +1 -1
  139. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0i5hdu4._.js → [root-of-the-server]__03ydxxh._.js} +2 -2
  140. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07t47cm._.js +1 -1
  141. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bat8nx._.js +8 -0
  142. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cj5jqc._.js +1 -1
  143. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e0fei3._.js +1 -1
  144. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljcioj._.js +1 -1
  145. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljnyho._.js +1 -1
  146. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o5-tcg._.js +1 -1
  147. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qrnous._.js +1 -1
  148. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t3v1a1._.js +1 -1
  149. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0uag-k5._.js +1 -1
  150. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0um1uey._.js +1 -1
  151. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wmexuc._.js +1 -1
  152. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xu34sz._.js +1 -1
  153. package/.next/standalone/.next/server/chunks/[root-of-the-server]__133knx1._.js +1 -1
  154. package/.next/standalone/.next/server/chunks/[root-of-the-server]__14ou7j5._.js +1 -1
  155. package/.next/standalone/.next/server/chunks/[root-of-the-server]__15-17hl._.js +1 -1
  156. package/.next/standalone/.next/server/chunks/[root-of-the-server]__16iu0hv._.js +1 -1
  157. package/.next/standalone/.next/server/chunks/[root-of-the-server]__19b7mig._.js +1 -1
  158. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1bbcwub._.js +2 -2
  159. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1eris29._.js +1 -1
  160. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1gjo_cq._.js +1 -1
  161. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1kbl21f._.js +1 -1
  162. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qcm08_._.js +1 -1
  163. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1rphsdk._.js +1 -1
  164. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1w25q0m._.js +1 -1
  165. package/.next/standalone/.next/server/chunks/_02twlca._.js +10 -0
  166. package/.next/standalone/.next/server/chunks/_072jl0y._.js +1 -1
  167. package/.next/standalone/.next/server/chunks/_0lw8_i0._.js +1 -1
  168. package/.next/standalone/.next/server/chunks/_1_fynia._.js +8 -6
  169. package/.next/standalone/.next/server/chunks/_1fn30_l._.js +1 -1
  170. package/.next/standalone/.next/server/chunks/_1itd1o_._.js +1 -1
  171. package/.next/standalone/.next/server/chunks/_1iwkh8t._.js +1 -1
  172. package/.next/standalone/.next/server/chunks/lib_db-client_15le7cw.js +13 -8
  173. package/.next/standalone/.next/server/chunks/{lib_rpc_02ndsg2.js → lib_rpc_03i8xef.js} +1 -1
  174. package/.next/standalone/.next/server/chunks/{lib_rpc_08q5vp6.js → lib_rpc_08fc3rp.js} +1 -1
  175. package/.next/standalone/.next/server/chunks/{lib_rpc_00tx2sm.js → lib_rpc_08r2t_q.js} +1 -1
  176. package/.next/standalone/.next/server/chunks/{lib_rpc_02-qa4d.js → lib_rpc_0btpv1t.js} +1 -1
  177. package/.next/standalone/.next/server/chunks/lib_rpc_0c9d9ti.js +5 -5
  178. package/.next/standalone/.next/server/chunks/lib_rpc_0cm2ev3.js +3 -0
  179. package/.next/standalone/.next/server/chunks/lib_rpc_0iovswz.js +3 -0
  180. package/.next/standalone/.next/server/chunks/lib_rpc_0is8flp.js +3 -0
  181. package/.next/standalone/.next/server/chunks/lib_rpc_0v8ajtd.js +3 -0
  182. package/.next/standalone/.next/server/chunks/lib_rpc_0xgmvvt.js +3 -0
  183. package/.next/standalone/.next/server/chunks/lib_rpc_144mzbf.js +3 -0
  184. package/.next/standalone/.next/server/chunks/lib_rpc_1bggi0n.js +3 -0
  185. package/.next/standalone/.next/server/chunks/lib_rpc_1dkcu9f.js +3 -0
  186. package/.next/standalone/.next/server/chunks/lib_rpc_1o0jb6w.js +3 -0
  187. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0an6blh._.js → [root-of-the-server]__0zzcbqg._.js} +2 -2
  188. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1194jps._.js +3 -0
  189. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1z1j3ek._.js → [root-of-the-server]__19ip1qq._.js} +2 -2
  190. package/.next/standalone/.next/server/chunks/ssr/_01f38ty._.js +3 -0
  191. package/.next/standalone/.next/server/chunks/ssr/_06w_gl4._.js +3 -0
  192. package/.next/standalone/.next/server/chunks/ssr/_0hw_qnj._.js +3 -0
  193. package/.next/standalone/.next/server/chunks/ssr/_13kzrwv._.js +3 -0
  194. package/.next/standalone/.next/server/chunks/ssr/_15xuwkv._.js +3 -0
  195. package/.next/standalone/.next/server/chunks/ssr/_1cyxocj._.js +3 -0
  196. package/.next/standalone/.next/server/chunks/ssr/_1gpbbw9._.js +3 -0
  197. package/.next/standalone/.next/server/chunks/ssr/_1hgd5dp._.js +3 -0
  198. package/.next/standalone/.next/server/chunks/ssr/_1vpfyd-._.js +3 -0
  199. package/.next/standalone/.next/server/chunks/ssr/_20w06i-._.js +3 -0
  200. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_scores_page_actions_0x-w58n.js +3 -0
  201. package/.next/standalone/.next/server/chunks/ssr/app_components_settings_SectorPicker_1c-29qw.js +3 -0
  202. package/.next/standalone/.next/server/chunks/ssr/app_launch_page_19t0dyd.js +1 -1
  203. package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +11 -9
  204. package/.next/standalone/.next/server/chunks/ssr/app_paths_page_1ol90m7.js +4 -0
  205. package/.next/standalone/.next/server/chunks/ssr/app_profile_page_0u3-l5y.js +1 -1
  206. package/.next/standalone/.next/server/chunks/ssr/app_queue_page_0c6znd6.js +5 -5
  207. package/.next/standalone/.next/server/chunks/ssr/app_scores_page_09wepvv.js +3 -0
  208. package/.next/standalone/.next/server/chunks/ssr/app_settings_page_1f8mjj_.js +1 -1
  209. package/.next/standalone/.next/server/chunks/ssr/app_setup_page_1-282zx.js +2 -2
  210. package/.next/standalone/.next/server/chunks/ssr/lib_1bn38gs._.js +3 -0
  211. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_0x3i8za._.js +131 -0
  212. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_1bunoni._.js → node_modules_next_dist_1v8aef8._.js} +2 -2
  213. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_server-async-storage_0t1dato.js +3 -0
  214. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  215. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  216. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  217. package/.next/standalone/.next/server/next-font-manifest.json +4 -0
  218. package/.next/standalone/.next/server/pages/404.html +1 -1
  219. package/.next/standalone/.next/server/pages/500.html +1 -1
  220. package/.next/standalone/.next/server/prefetch-hints.json +14 -0
  221. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  222. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  223. package/.next/standalone/.next/static/chunks/0ax_9zzboyv6d.js +44 -0
  224. package/.next/standalone/.next/static/chunks/0cuuo2jwc9h94.js +1 -0
  225. package/.next/standalone/.next/static/chunks/0l1568qff0efj.js +1 -0
  226. package/.next/standalone/.next/static/chunks/0muwt9bykzr-1.js +1 -0
  227. package/.next/standalone/.next/static/chunks/0w76iraw7ij3k.js +18 -0
  228. package/.next/standalone/.next/static/chunks/135n87ydxjrra.js +2 -0
  229. package/.next/standalone/.next/static/chunks/18xu0fbgo_qz-.js +1 -0
  230. package/.next/standalone/.next/static/chunks/28bu26ausqzmn.js +1 -0
  231. package/.next/standalone/.next/static/chunks/{40nvbgfn7-072.css → 2p6o90z0vgcwr.css} +1 -1
  232. package/.next/standalone/.next/static/chunks/2pnbm1z6j7xab.js +1 -0
  233. package/.next/standalone/.next/static/chunks/2xjho0lroiwlq.js +1 -0
  234. package/.next/standalone/.next/static/chunks/3e8zg6ctvvb8p.js +33 -0
  235. package/.next/standalone/.next/static/chunks/3qh78g2aqhprd.js +2 -0
  236. package/.next/standalone/CHANGELOG.md +286 -0
  237. package/.next/standalone/CONTRIBUTING.md +15 -4
  238. package/.next/standalone/README.md +50 -29
  239. package/.next/standalone/SECURITY.md +10 -0
  240. package/.next/standalone/app/api/company-scores/legacy/route.js +1 -1
  241. package/.next/standalone/app/api/company-scores/route.js +1 -1
  242. package/.next/standalone/app/api/ingest/route.js +23 -2
  243. package/.next/standalone/app/api/outreach/route.js +107 -44
  244. package/.next/standalone/app/api/scraper/route.js +146 -17
  245. package/.next/standalone/app/api/settings/sector-preview/route.js +3 -2
  246. package/.next/standalone/app/api/settings/sector-suggestions/route.js +1 -1
  247. package/.next/standalone/app/api/update-images/route.js +41 -7
  248. package/.next/standalone/app/avatars/[file]/route.js +6 -1
  249. package/.next/standalone/app/components/Avatar.js +5 -2
  250. package/.next/standalone/app/components/ChainView.js +659 -469
  251. package/.next/standalone/app/components/CompanyScores.js +16 -10
  252. package/.next/standalone/app/components/EmptyState.js +1 -1
  253. package/.next/standalone/app/components/FieldStep.js +94 -0
  254. package/.next/standalone/app/components/ForceGraph.js +183 -768
  255. package/.next/standalone/app/components/GridView.js +9 -7
  256. package/.next/standalone/app/components/LegacyScoresCard.js +1 -1
  257. package/.next/standalone/app/components/LinkedInLimits.js +22 -7
  258. package/.next/standalone/app/components/ListView.js +6 -4
  259. package/.next/standalone/app/components/MappingProgress.js +5 -6
  260. package/.next/standalone/app/components/OnboardingGate.js +1 -1
  261. package/.next/standalone/app/components/OrbitGraph.js +33 -1
  262. package/.next/standalone/app/components/OutlinkQuest.js +5 -4
  263. package/.next/standalone/app/components/PathsAnalyzer.js +1 -1
  264. package/.next/standalone/app/components/RingsView.js +9 -8
  265. package/.next/standalone/app/components/SeparationView.js +96 -14
  266. package/.next/standalone/app/components/Sidebar.js +366 -287
  267. package/.next/standalone/app/components/TheirCircle.js +300 -0
  268. package/.next/standalone/app/components/settings/SectorPicker.js +202 -0
  269. package/.next/standalone/app/components/settings/SectorSection.js +21 -195
  270. package/.next/standalone/app/components/settings/TierSection.js +99 -0
  271. package/.next/standalone/app/components/useRequests.js +12 -0
  272. package/.next/standalone/app/components/useScanner.js +13 -0
  273. package/.next/standalone/app/components/views.js +3 -5
  274. package/.next/standalone/app/globals.css +7 -0
  275. package/.next/standalone/app/launch/page.js +6 -3
  276. package/.next/standalone/app/page.js +183 -74
  277. package/.next/standalone/app/paths/page.js +20 -14
  278. package/.next/standalone/app/profile/page.js +3 -3
  279. package/.next/standalone/app/queue/page.js +56 -60
  280. package/.next/standalone/app/scores/page.js +72 -0
  281. package/.next/standalone/app/settings/page.js +15 -3
  282. package/.next/standalone/app/setup/page.js +423 -260
  283. package/.next/standalone/db/schema.js +2 -1
  284. package/.next/standalone/eslint.config.mjs +3 -3
  285. package/.next/standalone/install.sh +3 -3
  286. package/.next/standalone/lib/chain-layout.js +139 -0
  287. package/.next/standalone/lib/circle.js +169 -0
  288. package/.next/standalone/lib/companies.js +1 -1
  289. package/.next/standalone/lib/csv.js +21 -10
  290. package/.next/standalone/lib/data-export.js +2 -1
  291. package/.next/standalone/lib/data-folder.js +4 -2
  292. package/.next/standalone/lib/db-client.js +1 -0
  293. package/.next/standalone/lib/galaxy.js +12 -0
  294. package/.next/standalone/lib/ingest.js +27 -8
  295. package/.next/standalone/lib/legacy-offer.js +7 -6
  296. package/.next/standalone/lib/legacy-scores.js +2 -2
  297. package/.next/standalone/lib/linkedin-limits.js +30 -8
  298. package/.next/standalone/lib/photos.js +47 -0
  299. package/.next/standalone/lib/quest.js +8 -3
  300. package/.next/standalone/lib/rarity.js +80 -0
  301. package/.next/standalone/lib/reach.js +113 -0
  302. package/.next/standalone/lib/requests-client.js +113 -0
  303. package/.next/standalone/lib/rpc.js +26 -15
  304. package/.next/standalone/lib/scan-state.js +1 -0
  305. package/.next/standalone/lib/scanner-setup.js +20 -1
  306. package/.next/standalone/lib/score-guess.js +60 -0
  307. package/.next/standalone/lib/scoring.js +1761 -69
  308. package/.next/standalone/lib/scraper-client.js +235 -17
  309. package/.next/standalone/lib/sector-directory.js +1 -1
  310. package/.next/standalone/lib/sector-focus.js +17 -3
  311. package/.next/standalone/lib/separation.js +4 -2
  312. package/.next/standalone/lib/settings-client.js +21 -0
  313. package/.next/standalone/lib/settings-effects.js +19 -1
  314. package/.next/standalone/lib/settings.js +7 -2
  315. package/.next/standalone/next.config.mjs +25 -3
  316. package/.next/standalone/package-lock.json +2 -2
  317. package/.next/standalone/package.json +2 -2
  318. package/.next/standalone/public/demo-data.json +1 -1
  319. package/.next/standalone/scripts/build-app.mjs +11 -2
  320. package/.next/standalone/scripts/check-node.mjs +1 -1
  321. package/.next/standalone/scripts/gen-synthetic.mjs +1 -1
  322. package/.next/standalone/scripts/image_store.py +77 -21
  323. package/.next/standalone/scripts/scrape.py +305 -29
  324. package/.next/standalone/server.js +1 -1
  325. package/.next/static/chunks/0ax_9zzboyv6d.js +44 -0
  326. package/.next/static/chunks/0cuuo2jwc9h94.js +1 -0
  327. package/.next/static/chunks/0l1568qff0efj.js +1 -0
  328. package/.next/static/chunks/0muwt9bykzr-1.js +1 -0
  329. package/.next/static/chunks/0w76iraw7ij3k.js +18 -0
  330. package/.next/static/chunks/135n87ydxjrra.js +2 -0
  331. package/.next/static/chunks/18xu0fbgo_qz-.js +1 -0
  332. package/.next/static/chunks/28bu26ausqzmn.js +1 -0
  333. package/.next/static/chunks/{40nvbgfn7-072.css → 2p6o90z0vgcwr.css} +1 -1
  334. package/.next/static/chunks/2pnbm1z6j7xab.js +1 -0
  335. package/.next/static/chunks/2xjho0lroiwlq.js +1 -0
  336. package/.next/static/chunks/3e8zg6ctvvb8p.js +33 -0
  337. package/.next/static/chunks/3qh78g2aqhprd.js +2 -0
  338. package/CHANGELOG.md +286 -0
  339. package/README.md +50 -29
  340. package/SECURITY.md +10 -0
  341. package/db/schema.js +2 -1
  342. package/lib/chain-layout.js +139 -0
  343. package/lib/circle.js +169 -0
  344. package/lib/companies.js +1 -1
  345. package/lib/csv.js +21 -10
  346. package/lib/data-export.js +2 -1
  347. package/lib/data-folder.js +4 -2
  348. package/lib/db-client.js +1 -0
  349. package/lib/galaxy.js +12 -0
  350. package/lib/ingest.js +27 -8
  351. package/lib/legacy-offer.js +7 -6
  352. package/lib/legacy-scores.js +2 -2
  353. package/lib/linkedin-limits.js +30 -8
  354. package/lib/photos.js +47 -0
  355. package/lib/quest.js +8 -3
  356. package/lib/rarity.js +80 -0
  357. package/lib/reach.js +113 -0
  358. package/lib/requests-client.js +113 -0
  359. package/lib/rpc.js +26 -15
  360. package/lib/scan-state.js +1 -0
  361. package/lib/scanner-setup.js +20 -1
  362. package/lib/score-guess.js +60 -0
  363. package/lib/scoring.js +1761 -69
  364. package/lib/scraper-client.js +235 -17
  365. package/lib/sector-directory.js +1 -1
  366. package/lib/sector-focus.js +17 -3
  367. package/lib/separation.js +4 -2
  368. package/lib/settings-client.js +21 -0
  369. package/lib/settings-effects.js +19 -1
  370. package/lib/settings.js +7 -2
  371. package/package.json +2 -2
  372. package/public/demo-data.json +1 -1
  373. package/scripts/check-node.mjs +1 -1
  374. package/scripts/image_store.py +77 -21
  375. package/scripts/scrape.py +305 -29
  376. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1t3rugi._.js +0 -3
  377. package/.next/standalone/.next/server/chunks/lib_rpc_0_8i3ft.js +0 -3
  378. package/.next/standalone/.next/server/chunks/lib_rpc_0huvw-3.js +0 -3
  379. package/.next/standalone/.next/server/chunks/lib_rpc_0ip2vdh.js +0 -3
  380. package/.next/standalone/.next/server/chunks/lib_rpc_0jzisgh.js +0 -3
  381. package/.next/standalone/.next/server/chunks/lib_rpc_0yi9xvd.js +0 -3
  382. package/.next/standalone/.next/server/chunks/lib_rpc_1jyhd0o.js +0 -3
  383. package/.next/standalone/.next/server/chunks/lib_rpc_1kn59-i.js +0 -3
  384. package/.next/standalone/.next/server/chunks/lib_rpc_1q2jkza.js +0 -3
  385. package/.next/standalone/.next/server/chunks/lib_rpc_1vpm1sk.js +0 -3
  386. package/.next/standalone/.next/server/chunks/lib_rpc_1x6p_31.js +0 -3
  387. package/.next/standalone/.next/server/chunks/ssr/_07u8byv._.js +0 -3
  388. package/.next/standalone/.next/server/chunks/ssr/_08r_mlf._.js +0 -3
  389. package/.next/standalone/.next/server/chunks/ssr/_0942v8n._.js +0 -3
  390. package/.next/standalone/.next/server/chunks/ssr/_0hl_t7r._.js +0 -3
  391. package/.next/standalone/.next/server/chunks/ssr/_0tb83dw._.js +0 -132
  392. package/.next/standalone/.next/server/chunks/ssr/_1-87bs1._.js +0 -3
  393. package/.next/standalone/.next/server/chunks/ssr/_17gui6a._.js +0 -3
  394. package/.next/standalone/.next/server/chunks/ssr/lib_0i8v-s3._.js +0 -3
  395. package/.next/standalone/.next/server/chunks/ssr/node_modules_16vay6l._.js +0 -3
  396. package/.next/standalone/.next/server/chunks/ssr/node_modules_1kciwn4._.js +0 -3
  397. package/.next/standalone/.next/static/chunks/06x3jiiz96m5t.js +0 -1
  398. package/.next/standalone/.next/static/chunks/08k1crid-05dt.js +0 -1
  399. package/.next/standalone/.next/static/chunks/0ngx9s6-zgshe.js +0 -33
  400. package/.next/standalone/.next/static/chunks/0q-_khndfxubv.js +0 -2
  401. package/.next/standalone/.next/static/chunks/1c79veqedvubt.js +0 -1
  402. package/.next/standalone/.next/static/chunks/1chp3nx45meg5.js +0 -44
  403. package/.next/standalone/.next/static/chunks/1irqj0lf-fu3d.js +0 -1
  404. package/.next/standalone/.next/static/chunks/1uadqylrod5_v.js +0 -1
  405. package/.next/standalone/.next/static/chunks/23u0zclgwpc4d.js +0 -1
  406. package/.next/standalone/.next/static/chunks/289ktj97di6zg.js +0 -1
  407. package/.next/standalone/.next/static/chunks/2b3lmf8e6uj8m.js +0 -16
  408. package/.next/standalone/.next/static/chunks/3npq5yd7c4dmn.js +0 -2
  409. package/.next/standalone/app/components/BridgeRing.js +0 -753
  410. package/.next/static/chunks/06x3jiiz96m5t.js +0 -1
  411. package/.next/static/chunks/08k1crid-05dt.js +0 -1
  412. package/.next/static/chunks/0ngx9s6-zgshe.js +0 -33
  413. package/.next/static/chunks/0q-_khndfxubv.js +0 -2
  414. package/.next/static/chunks/1c79veqedvubt.js +0 -1
  415. package/.next/static/chunks/1chp3nx45meg5.js +0 -44
  416. package/.next/static/chunks/1irqj0lf-fu3d.js +0 -1
  417. package/.next/static/chunks/1uadqylrod5_v.js +0 -1
  418. package/.next/static/chunks/23u0zclgwpc4d.js +0 -1
  419. package/.next/static/chunks/289ktj97di6zg.js +0 -1
  420. package/.next/static/chunks/2b3lmf8e6uj8m.js +0 -16
  421. package/.next/static/chunks/3npq5yd7c4dmn.js +0 -2
  422. /package/.next/standalone/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_buildManifest.js +0 -0
  423. /package/.next/standalone/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_clientMiddlewareManifest.js +0 -0
  424. /package/.next/standalone/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_ssgManifest.js +0 -0
  425. /package/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_buildManifest.js +0 -0
  426. /package/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_clientMiddlewareManifest.js +0 -0
  427. /package/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,7837,90179,e=>{"use strict";let n={csuite:{key:"csuite",label:"C-Suite / Founder",level:6,points:10},owner:{key:"owner",label:"Owner / Entrepreneur",level:5,points:8},vp:{key:"vp",label:"VP / Partner / GM",level:5,points:9},director:{key:"director",label:"Director / Head",level:4,points:7.5},manager:{key:"manager",label:"Manager / Lead",level:3,points:6.5},senior:{key:"senior",label:"Senior IC",level:2,points:5},ic:{key:"ic",label:"IC / Entry",level:1,points:4},unknown:{key:"unknown",label:"Title unclear",level:1,points:3},intern:{key:"intern",label:"Intern",level:0,points:2},student:{key:"student",label:"Student",level:0,points:1}},t=[[/\b(reporting )?(to|for) (the |our )?(ceo|cto|coo|cfo|cmo|founders?|co-?founders?|president|chair(man)?)\b/g,null],[/\bchief of staff\b/g,"director"],[/\b(senior |executive |assistant |associate )?vice[-\s]?president\b|\b(s|e|a)?vp\b/g,"vp"],[/\b(product|process|content|data|feature|service|project|business process) owner\b/g,"ic"],[/\b(client|channel|strategic|business|brand|creative|agency|solutions?|account|community|developer|technology|alliances?|content|media|marketing|talent|partner) partner\b/g,"senior"],[/\bpartner (manager|marketing|development|success)\b/g,"manager"],[/\blead gen(eration)?\b|\bthought leader(ship)?\b/g,null],[/\binvestor relations\b/g,"ic"],[/\b(ceo|cto|cfo|coo|cmo|cro|cpo|cio|ciso|cdo|cso)\b|\bchief\s+(\w+\s+){0,3}officer\b|\bchief executive\b|\b(co-?)?founder\b|\bcofounder\b|\bpresident\b|\bchair(man|woman|person)\b|\bexecutive chair\b|\b(general|managing|founding) partner\b/g,"csuite"],[/\b(co-?)?owner\b|\bentrepreneur\b|\bself[-\s]employed\b|\bproprietor\b/g,"owner"],[/\bmanaging director\b|\bgeneral manager\b|\bgm\b|\bcountry (manager|director|lead)\b|\bglobal head\b|\bchief (technologist|scientist|architect|economist|evangelist|strategist|engineer|of \w+)\b|^\s*partner\b|\bpartner (at|@)|\b(venture|senior|equity|operating) partner\b|\bboard (member|director|chair)\b|\bchair of the board\b|\bmember of the board\b|\bboard of directors\b/g,"vp"],[/\b(senior |executive |creative |art |associate )?director\b|\bhead of\b|\bhead\b(?= (coach|chef))|\b(angel |venture )?investor\b|\bprincipal at\b|\b(technical|distinguished|senior) fellow\b|(?<!account |sales |customer )\bexecutive\b(?! (assistant|producer|chef))/g,"director"],[/\bmanager\b|\bmgr\b|\b(team |tech |design |engineering )?lead\b|\bleader\b|\bprincipal\b|\bstaff (engineer|designer|scientist|product|data)\b|\bsupervisor\b|\bsuperintendent\b/g,"manager"],[/\bsenior\b|\bsr\b\.?|\bspecialist\b|\barchitect\b|\bexpert\b|\bexecutive producer\b/g,"senior"],[/\b(engineer|developer|designer|analyst|associate|coordinator|consultant|strategist|recruiter|creator|producer|editor|writer|artist|scientist|researcher|representative|assistant|administrator|technician|officer|agent|teacher|professor|nurse|attorney|lawyer|accountant|marketer|photographer|videographer|freelancer?|contractor|account executive|creative|influencer|coach|trainer|instructor|advisor|adviser|mentor|programmer|animator|illustrator|planner|buyer|broker|realtor|swe|sde|sre|pm|recruiting)\b/g,"ic"]],r=/\b(intern|internship|trainee|apprentice)\b/,a=/\b(student|undergrad(uate)?|aspiring|phd candidate|recent grad(uate)?|class of 20\d\d|incoming (analyst|intern|associate|swe|engineer)|gpa|freshman|sophomore|b\.?s\.? candidate)\b|^\s*(honors )?(cs|computer science|ms ?cs|mscs|bscs|engineering|finance|marketing|business|economics|accounting|biology|psychology|information technology)\b.*(\s(@|at)\s*)(university|college)\b/,i=/^\s*(honors )?(cs|computer science|ms ?cs|mscs|bscs|engineering|finance|marketing|business|economics|accounting|biology|psychology|information technology)\b/i,o=/\b(?:U[A-Z]{1,3}|[A-Z]{1,3}U)\b/g,s=/\s(?:@|[Aa][Tt])\s*(U[A-Z]{1,3}|[A-Z]{1,3}U)\b/,c=new Set(["US","USA","UK","UAE","EU","UN","UU","AAU","UBS","UFC","UPMC","UHG","UHC","UA","UL","ULA","UTC","UAW","USW","SEIU","UFCW","UFT"]),l="(alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)",u=RegExp(`\\b(fraternity|sorority|student (government|association|union|org(anization)?|senate)|honor society|campus)\\b|\\b${l}\\s+${l}\\b`),b=/\b(club|chapter|society|association)\b.*\b(university|college|school|student)\b|\b(university|college|school|student)\b.*\b(club|chapter|society)\b/,m=/\b(club|chapter|society|association)\b/,d=/\b(club|society)\b/,p=/\b(marketing|finance|financial|business|economics|accounting|consulting|investment|investing|entrepreneurship|engineering|computer science|data science|nursing|pre-?law|pre-?med|students?)\b.*\bassociation\b/,h=/\b(alumni|alumnae|alumnus|alum|parents?)\b/,f=/^\s*(ex[-\s]|former(ly)?\b|previously\b|prev\b|past\b|retired\b)/i;function g(e){if(c.has(e)||/^US[A-Z]{2}$/.test(e))return!1;let n=L(e);return!I.has(n)||"education"===I.get(n)}function y(e){if(a.test(` ${e.toLowerCase()} `))return!0;let n=i.test(e)&&s.exec(e);return!!n&&g(n[1])}function v(e=""){return String(e||"").split(/\s*(?:\||•|·|⋅|\/\/| – | — | - |;)\s*/).map(e=>e.trim()).filter(Boolean)}function w(e="",a=""){let i=[];for(let s of v(e||a)){let e=f.test(s),a=s.replace(f,"").replace(/^[@\s.:]+/,""),c=function(e){let a,i=` ${e.toLowerCase()} `;if(r.test(i))return n.intern;if(y(e))return n.student;let s=null;for(let[e,r]of t)e.lastIndex=0,e.test(i)&&(i=i.replace(e," "),r&&(!s||n[r].level>s.level||n[r].level===s.level&&n[r].points>s.points)&&(s=n[r]));return s&&s.level>=3&&(u.test(e.toLowerCase())||(a=e.toLowerCase(),!(!m.test(a)||h.test(a))&&(b.test(a)||(d.test(a)||p.test(a))&&[...e.matchAll(o)].some(([e])=>g(e)))))?{...n.student,label:"Student (club role)"}:s}(a),l=function(e=""){let n=String(e).match(/(?:\s(?:at\s+|@\s*)|^@|\s@)(.+)$/i);return n?L(n[1]):null}(a)||(0===i.length&&E(a)?L(a):null);!c&&l&&(c={...n.ic,label:"Works there"}),c&&i.push({title:c,company:l,former:e,part:a})}return i}let k=String.raw`(?! (performing arts )?(arena|stadium|center|centre|field|park|ballpark|dome|amphitheat(er|re)|theat(er|re)|pavilion|forum|coliseum|speedway)\b)`,$=e=>new RegExp(String.raw`^(${e})\b${k}`),S=String.raw`( [a-z]+)?( graduate)? school of [a-z ,&]+| (business|law|medical|divinity|nursing|dental|journalism|graduate|extension|kennedy) school`,C=(e,n="")=>new RegExp(String.raw`^(${e})( university)?(${S}${n})?$`),x=[["Google",10,/^(google|deepmind)\b|^alphabet$/,"tech"],["Apple",10,/^apple( inc)?$/,"tech"],["Microsoft",10,/^microsoft\b/,"tech"],["Amazon",10,/^(amazon|aws|amazon web services)\b(?! (conservation|watch)\b)/,"tech"],["Meta",10,/^meta( platforms)?$|^(facebook|instagram|whatsapp|reality labs)\b/,"tech"],["NVIDIA",10,/^nvidia\b/,"tech"],["OpenAI",10,/^(openai|open ai)\b/,"tech"],["Anthropic",10,/^anthropic\b/,"tech"],["Tesla",10,/^tesla( motors| inc)?$/,"industry"],["Netflix",9,/^netflix\b/,"entertainment"],["YouTube",9,/^youtube\b/,"media"],["LinkedIn",9,/^linkedin\b/,"tech"],["TikTok",9,/^(tiktok|bytedance)\b/,"media"],["SpaceX",9,/^spacex\b/,"defense"],["Stripe",9,/^stripe\b/,"finance"],["Palantir",9,/^palantir\b/,"tech"],["Coca-Cola",9,/^(the )?coca[-\s]cola( company| north america)?$/,"consumer"],["Disney",9,/^(the walt |walt )?disney\b/,"entertainment"],["Goldman Sachs",9,/^goldman sachs\b|^goldman$/,"finance"],["JPMorgan Chase",9,/^(jp ?morgan|j\.p\. morgan|jpmorgan chase)\b|^chase( bank| home lending| card services| auto| for business)?$/,"finance"],["Morgan Stanley",9,/^morgan stanley\b/,"finance"],["BlackRock",9,/^blackrock\b/,"finance"],["McKinsey",9,/^mckinsey\b/,"consulting"],["BCG",9,/^(bcg|boston consulting group)\b/,"consulting"],["Bain",9,/^bain( & company| and company)?$/,"consulting"],["Bain Capital",9,/^bain capital$/,"finance"],["Procter & Gamble",9,/^(p&g|procter)\b/,"consumer"],["Sequoia",9,/^sequoia( capital)?$/,"finance"],["Andreessen Horowitz",9,/^(a16z|andreessen)\b/,"finance"],["Y Combinator",9,/^(y combinator|yc)$/,"finance"],["Blackstone",9,/^blackstone( group)?$/,"finance"],["KKR",9,/^(kkr|kohlberg kravis roberts)\b/,"finance"],["Apollo Global Management",9,/^apollo( global( management)?| management)$/,"finance"],["Salesforce",8,/^salesforce\b/,"tech"],["Adobe",8,/^adobe( systems)?$/,"tech"],["Oracle",8,/^oracle( america| health| netsuite| cloud( infrastructure)?| financial services( software)?)?$/,"tech"],["IBM",8,/^ibm\b/,"tech"],["Uber",8,/^uber( technologies| eats)?$/,"tech"],["Airbnb",8,/^airbnb\b/,"tech"],["DoorDash",8,/^doordash\b/,"tech"],["Spotify",8,/^spotify\b/,"entertainment"],["Snap",8,/^(snap|snapchat)( inc)?$/,"media"],["Pinterest",8,/^pinterest\b/,"media"],["Reddit",8,/^reddit\b/,"media"],["X",8,/^(x corp|twitter)\b/,"media"],["Roblox",8,/^roblox\b/,"entertainment"],["Shopify",8,/^shopify\b(?! (plus )?partners?\b)/,"consumer"],["Snowflake",8,/^snowflake( computing)?$/,"tech"],["Datadog",8,/^datadog\b/,"tech"],["CrowdStrike",8,/^crowdstrike\b/,"tech"],["ServiceNow",8,/^servicenow\b/,"tech"],["Canva",8,/^canva\b/,"tech"],["Intuit",8,/^intuit\b/,"tech"],["Cisco",8,/^cisco\b/,"tech"],["Qualcomm",8,/^qualcomm\b/,"tech"],["AMD",8,/^amd\b/,"tech"],["Samsung",8,/^samsung\b/,"tech"],["Sony",8,/^sony\b/,"entertainment"],["Epic Games",8,/^epic games\b/,"entertainment"],["Coinbase",8,/^coinbase\b/,"finance"],["Robinhood",8,/^robinhood\b/,"finance"],["Block",8,/^(block|square|cash app)$/,"finance"],["Visa",8,/^visa( inc)?$/,"finance"],["Mastercard",8,/^mastercard\b/,"finance"],["American Express",8,/^(american express|amex)\b/,"finance"],["Capital One",8,$("capital one"),"finance"],["BNY",8,/^(bny|bny mellon|bank of new york)\b/,"finance"],["Citi",8,/^(citi( private bank)?|citigroup|citibank)$/,"finance"],["Wells Fargo",8,$("wells fargo"),"finance"],["Bank of America",8,new RegExp(String.raw`^bank of america\b${k}|^merrill( lynch( wealth management)?| edge)?$`),"finance"],["Fidelity",8,/^fidelity( investments| institutional| management (&|and) research( company)?)?$/,"finance"],["Deloitte",8,/^deloitte\b/,"consulting"],["PwC",8,/^(pwc|pricewaterhouse)\b/,"consulting"],["EY",8,/^(ey|ernst & young)$/,"consulting"],["KPMG",8,/^kpmg\b/,"consulting"],["Accenture",8,/^accenture\b/,"consulting"],["Nike",8,/^nike\b/,"consumer"],["PepsiCo",8,/^pepsico\b|^pepsi( beverages( company)?| cola( company)?)?$/,"consumer"],["Walmart",8,/^walmart\b/,"consumer"],["Starbucks",8,/^starbucks\b/,"consumer"],["Unilever",8,/^unilever\b/,"consumer"],["LVMH",8,/^lvmh\b/,"consumer"],["L'Oréal",8,/^l'?or[eé]al\b/,"consumer"],["Red Bull",8,$("red bull"),"consumer"],["NBCUniversal",8,/^(nbcuniversal|nbc universal|nbc)\b/,"entertainment"],["Warner Bros. Discovery",8,/^(warner (bros|brothers)( discovery| pictures| entertainment| television( studios)?| games| animation| studios)?|warner ?media|wbd)$/,"entertainment"],["Lockheed Martin",8,/^lockheed\b/,"defense"],["Northrop Grumman",8,/^northrop\b/,"defense"],["Boeing",8,/^boeing\b/,"defense"],["RTX",8,/^(rtx|raytheon)\b/,"defense"],["General Dynamics",8,/^general dynamics\b/,"defense"],["Blue Origin",8,/^blue origin\b/,"defense"],["Siemens",8,/^siemens\b(?! (energy|healthineers|gamesa)\b)/,"industry"],["Mitsubishi",8,/^mitsubishi\b(?! (ufj|hc capital|estate)\b)/,"industry"],["Toyota",8,/^toyota( motor( north america| corporation| manufacturing( [a-z]+){0,2}| sales( usa)?)?| north america| financial services| research institute( of north america)?)?$/,"industry"],["Johnson & Johnson",8,/^johnson (&|and) johnson\b|^j&j$/,"health"],["Pfizer",8,/^pfizer\b/,"health"],["UnitedHealth",8,/^(unitedhealth(care)?|united ?health ?care|united health group|optum(rx|care|health|insight|serve)?)\b/,"health"],["World Bank",8,/^world bank\b/,"finance"],["NASA",8,/^nasa\b(?! federal credit union\b)/,"defense"],["Stanford University",8,C("stanford","| gsb"),"education"],["Harvard University",8,C("harvard","| college"),"education"],["MIT",8,/^(mit|massachusetts institute of technology)$/,"education"],["CVS Health",8,/^(cvs|cvshealth)\b/,"health"],["Aetna",8,/^aetna\b/,"health"],["Cigna",8,/^cigna\b/,"health"],["Humana",8,/^humana\b/,"health"],["Elevance Health",8,/^elevance\b|^anthem( blue cross( (and |& )?blue shield)?| inc| health plans)?$/,"health"],["HCA Healthcare",8,/^hca\b/,"health"],["Kaiser Permanente",8,/^kaiser( (permanente|foundation (health plan|hospitals))\b|$)/,"health"],["Merck",8,/^merck\b(?! (kgaa|group|millipore)\b)/,"health"],["AbbVie",8,/^abbvie\b/,"health"],["Eli Lilly",8,/^eli lilly\b|^lilly( usa)?$/,"health"],["Bristol Myers Squibb",8,/^bristol[-\s]?myers\b/,"health"],["AstraZeneca",8,/^astrazeneca\b/,"health"],["Bayer",8,/^bayer( ag| u\.?s\.?| crop ?science| pharmaceuticals| healthcare| consumer health)?$/,"health"],["Costco",8,/^costco\b/,"consumer"],["The Home Depot",8,$("home depot"),"consumer"],["Kroger",8,$("kroger"),"consumer"],["IKEA",8,/^ikea\b/,"consumer"],["Aldi",8,/^aldi\b/,"consumer"],["7-Eleven",8,/^7[-\s]?eleven\b/,"consumer"],["Walgreens",8,/^walgreens?\b/,"consumer"],["Lowe's",8,/^lowe['’]?s( companies| home improvement)?$/,"consumer"],["Albertsons",8,/^albertsons( companies)?$/,"consumer"],["TJX",8,/^(tjx( companies)?|tj ?maxx)$/,"consumer"],["Tyson Foods",8,/^tyson( foods)?$/,"consumer"],["Nestlé",8,/^nestl[eé](?![a-z])/,"consumer"],["Anheuser-Busch",8,/^(anheuser[-\s]busch|ab[-\s]?inbev)\b/,"consumer"],["Mars",8,/^mars( inc| incorporated| wrigley| petcare| snacking)?$/,"consumer"],["McDonald's",8,/^mcdonald['’]?s\b/,"consumer"],["General Motors",8,/^general motors\b/,"industry"],["Ford",8,/^ford( motor( company| credit( company)?)?)?$/,"industry"],["Volkswagen",8,/^(volkswagen( group( of america)?| of america| ag)?|vw)$/,"industry"],["Mercedes-Benz",8,/^mercedes[-\s]benz( group| usa| ag| u\.s)?$/,"industry"],["BMW",8,/^bmw( group| ag| of north america| manufacturing)?$/,"industry"],["Honda",8,/^(american )?honda( motor( company)?| north america| aircraft( company)?| r&d( americas)?)?$/,"industry"],["Hyundai",8,/^hyundai( motor( company| america| group| north america)?)?$/,"industry"],["Kia",8,/^kia( motors?| america| motors america| georgia)?$/,"industry"],["Nissan",8,/^nissan( motor( company| corporation)?| north america| americas)?$/,"industry"],["Delta Air Lines",8,/^delta (air lines|airlines)\b/,"consumer"],["United Airlines",8,/^united airlines\b/,"consumer"],["American Airlines",8,$("american airlines"),"consumer"],["Verizon",8,$("verizon"),"tech"],["AT&T",8,$("at ?& ?t"),"tech"],["T-Mobile",8,$(String.raw`t[-\s]?mobile`),"tech"],["Comcast",8,$("comcast|xfinity"),"tech"],["ExxonMobil",8,/^exxon( ?mobil)?\b/,"industry"],["Chevron",8,/^chevron\b(?! phillips\b)/,"industry"],["ConocoPhillips",8,/^conocophillips\b/,"industry"],["Shell",8,/^shell( oil( company)?| usa| energy| global solutions| trading)?$/,"industry"],["BP",8,/^(bp( america| p\.l\.c)?|british petroleum)$/,"industry"],["UPS",8,/^ups( supply chain solutions| airlines| healthcare)?$|^united parcel service\b/,"industry"],["FedEx",8,$("fedex|federal express"),"industry"],["DHL",8,/^dhl\b/,"industry"],["Berkshire Hathaway",8,/^berkshire hathaway$/,"finance"],["State Farm",8,$("state farm"),"finance"],["Allstate",8,$("allstate"),"finance"],["MetLife",8,$("metlife"),"finance"],["Progressive",8,/^progressive( insurance| casualty insurance( company)?)?$/,"finance"],["Prudential Financial",8,/^prudential( financial| insurance( company of america)?)?$/,"finance"],["New York Life",8,/^new york life\b/,"finance"],["Nationwide",8,/^nationwide( insurance| mutual( insurance( company)?)?| financial)?$/,"finance"],["Liberty Mutual",8,/^liberty mutual\b/,"finance"],["USAA",8,/^usaa\b/,"finance"],["Travelers",8,/^travelers( insurance| companies)?$/,"finance"],["Fannie Mae",8,/^(fannie mae|federal national mortgage association)\b/,"finance"],["Freddie Mac",8,/^(freddie mac|federal home loan mortgage)\b/,"finance"],["Dell",8,/^dell( technologies| emc)?$/,"tech"],["HP",8,/^(hp|hewlett[-\s]packard)( inc| company)?$/,"tech"],["Caterpillar",8,/^caterpillar\b/,"industry"],["John Deere",8,/^(john deere|deere( (&|and) company)?)\b/,"industry"],["Kirkland & Ellis",8,/^kirkland (&|and) ellis\b/,"consulting"],["Latham & Watkins",8,/^latham (&|and) watkins\b/,"consulting"],["DLA Piper",8,/^dla piper\b/,"consulting"],["Baker McKenzie",8,/^baker (& )?mckenzie\b/,"consulting"],["Skadden",8,/^skadden\b/,"consulting"],["Gibson Dunn",8,/^gibson dunn\b/,"consulting"],["Sidley Austin",8,/^sidley( austin)?\b/,"consulting"],["White & Case",8,/^white (&|and) case\b/,"consulting"],["Ropes & Gray",8,/^ropes (&|and) gray\b/,"consulting"],["Princeton University",8,C("princeton"),"education"],["Yale University",8,C("yale","| college"),"education"],["Discord",7,/^discord\b/,"tech"],["Paramount",7,/^paramount( global| pictures| skydance| streaming| television( studios)?| media networks|\+)?$/,"entertainment"],["Madison Square Garden",7,/^(madison square garden|msg)\b/,"entertainment"],["Fanatics",7,/^fanatics\b/,"consumer"],["Nielsen",7,/^nielsen( holdings| company| media research| audience measurement)?$/,"media"],["The Trade Desk",7,/^the trade desk\b/,"media"],["SiriusXM",7,/^sirius ?xm\b/,"entertainment"],["Twitch",7,/^twitch\b/,"entertainment"],["Electronic Arts",7,/^(electronic arts|ea)$/,"entertainment"],["Activision Blizzard",7,/^(activision( blizzard)?|blizzard( entertainment)?)$/,"entertainment"],["MrBeast",7,/^(mrbeast|beast industries)$/,"media"],["Lyft",7,/^lyft\b/,"tech"],["Instacart",7,/^instacart\b/,"tech"],["Duolingo",7,/^duolingo\b/,"tech"],["Intel",7,/^intel( corporation)?$/,"tech"],["Workday",7,/^workday\b/,"tech"],["PayPal",7,/^paypal\b/,"finance"],["Credit Karma",7,/^credit karma\b/,"finance"],["Chick-fil-A",7,/^chick[-\s]fil[-\s]a\b/,"consumer"],["Target",7,/^target( corporation)?$/,"consumer"],["Booz Allen Hamilton",7,/^booz allen\b/,"defense"],["L3Harris",7,/^l3harris\b/,"defense"],["Leidos",7,/^leidos\b/,"defense"],["WPP",7,/^wpp\b/,"media"],["Omnicom",7,/^omnicom\b/,"media"],["Publicis",7,/^publicis\b/,"media"],["Interpublic",7,/^(interpublic|ipg)\b/,"media"],["Dentsu",7,/^dentsu\b/,"media"],["Kellanova",7,/^(kellanova|kellogg['’]?s|kellogg( company)?)$/,"consumer"],["Campbell",7,/^campbell( soup( company)?| company|['’]?s)?$/,"consumer"],["Goodyear",7,/^goodyear\b/,"industry"],["Duke University",7,/^duke( university)?$/,"education"],["UC Berkeley",7,/^(uc berkeley|university of california,? berkeley)\b/,"education"],["Mayo Clinic",7,/^mayo clinic\b/,"health"],["Cleveland Clinic",7,/^cleveland clinic\b/,"health"],["Johns Hopkins Medicine",7,/^johns hopkins (medicine|hospital|health( system|care)|all children['’]?s|bayview|community physicians)\b/,"health"],["Dollar General",7,/^dollar general\b/,"consumer"],["Dollar Tree",7,/^dollar tree\b/,"consumer"],["Chipotle",7,/^chipotle\b/,"consumer"],["Kraft Heinz",7,/^kraft (heinz|foods)\b/,"consumer"],["General Mills",7,/^general mills\b/,"consumer"],["Marriott",7,/^marriott( international| hotels( (&|and) resorts)?)?$/,"consumer"],["Hilton",7,/^hilton( worldwide( holdings)?| hotels( (&|and) resorts)?)?$/,"consumer"],["Southwest Airlines",7,/^southwest airlines\b/,"consumer"],["Union Pacific",7,/^union pacific\b/,"industry"],["GEICO",7,/^(geico|government employees insurance)\b/,"finance"],["Fox",7,/^fox( news( channel| media)?| sports| entertainment| broadcasting( company)?| television stations| business( network)?)?$/,"entertainment"],["The New York Times",7,/^new york times\b|^nyt$/,"media"],["Bloomberg",7,/^bloomberg( lp| l\.p| news| media| industry group| law| tax| government| intelligence)?$/,"media"],["Caltech",7,/^(caltech|california institute of technology)$/,"education"],["Johns Hopkins University",7,/^johns hopkins( university\b|$| (carey|bloomberg|whiting|krieger|peabody|sais)\b| school of\b)|^jhu$/,"education"],["Northwestern University",7,C("northwestern"),"education"],["University of Pennsylvania",7,C("university of pennsylvania|upenn|penn"),"education"],["Cornell University",7,C("cornell","| tech"),"education"],["University of Chicago",7,C("university of chicago|uchicago"),"education"],["Brown University",7,C("brown"),"education"],["Columbia University",7,C("columbia university|columbia(?= (business|law|journalism) school$)"),"education"],["Dartmouth College",7,C("dartmouth","| college"),"education"],["UCLA",7,/^(ucla|university of california,? los angeles)$|^ucla anderson\b/,"education"],["Rice University",7,C("rice university"),"education"],["University of Notre Dame",7,C("university of notre dame|notre dame"),"education"],["Vanderbilt University",7,C("vanderbilt"),"education"]],A=/^(self[-\s]?employed|freelance|various|multiple|confidential|n\/a|none|tbd|open to work|looking|seeking)$/i,U=/^(scale$|heart|large|night|home(?! (depot|instead|chef)\b)|work|speed|best(?=$|[-\s]in[-\s]class|\s(of|practices?)\b)|the intersection|intersection|the crossroads|the forefront|the core|every stage|all levels|your service)\b/i,M=/(?<!\b(?:[a-z]|st|mt|ft))\.\s|,\s/i,B=/,?\s+(inc|incorporated|llc|ltd|l\.l\.c|corp|corporation|co|gmbh|plc|pbc)\.?$/i,z=/^(chase|merrill) corp(oration)?$/i,_=/\b(school|college|university)\b/,N=/\b(certified|certifications?|mvps?|champions?|experts?|ambassadors?|developers?|instructors?|trainers?|moderators?|superhosts?|hosts?|drivers?|dashers?|couriers?|shoppers?|sellers?|fba|kdp|dsp|franchisees?|streamers?|affiliates?|creators?|influencers?|athletes?|scholars?|shareholders?|alum|alumni|alumnus|alumna|alumnae|top voice|users? groups?|for startups|fans?|enthusiasts?|lovers?|nerds?|geeks?|junkies?|buffs?|addicts?|aficionados?|10,?000 (small businesses|women)|10ksb)\b/,P=/\b(partners?|consultants?|admins?|administrators?)\b/,T=new Set(["tech","media","entertainment"]);function L(e){let n=String(e||"").replace(/[\p{Extended_Pictographic}\u{FE0F}‍]/gu,"").split(/\s*(?:\||•|·| – | — | - |!|\(|\/| {2,})\s*/)[0].split(M)[0].replace(/[\s,.:;'"]+$/,"");if(z.test(n)||(n=n.replace(B,"")),!(n=n.trim())||n.length<2||A.test(n)||U.test(n)||n.length>50||n.split(/\s+/).length>6||/\$|\d+%|\d+[kmb]\+/i.test(n))return null;let t=n.toLowerCase(),r=t.replace(/^the /,""),a=_.test(t),i=N.test(r),o=P.test(r);for(let[e,,n,s]of x)if((!a||"education"===s)&&(t===e.toLowerCase()||!(i||o&&T.has(s))&&(n.test(t)||n.test(r))))return e;return n}let D=new Map(x.map(([e,n])=>[e,n])),I=new Map(x.map(([e,,,n])=>[e,n])),E=e=>{let n=L(e);return!!n&&D.has(n)};function O(e){let t,r=w(e?.headline,e?.role),a=L(e?.scanned_company)||((t=L(e?.company))&&!r.some(e=>e.former&&e.company===t)?t:null),i=r.find(e=>!e.former);return a&&i&&!i.company&&(i.company=a),a&&!i&&r.unshift({title:{...n.unknown},company:a,former:!1,part:""}),r.length||r.push({title:{...n.unknown},company:null,former:!1,part:""}),r}let H="unknown",j=(e,n)=>[...new Set(e.map(n).filter(Boolean))],F={lean:1,strong:2};function G(e,{overrides:n=new Map,headcount:t=0,industry:r,industryFrom:a,sectors:i,sectorIndustries:o,focus:s}={}){let c;if(!e)return{score:3,source:"none"};if(n.has(e))return{score:n.get(e),source:"yours"};let l=r??I.get(e);return c=D.has(e)?{score:D.get(e),source:"known"}:"education"!==l&&t>=15?{score:6,source:"network"}:"education"!==l&&t>=5?{score:5,source:"network"}:{score:4,source:"default"},s?function(e,n,t,r,a,i){let o=F[i?.strength]||0;if(!o||!Array.isArray(i.sectors))return e;let s="people"!==t,c=r?.length&&i.sectors.find(e=>r.includes(e))||i.sectors.find(e=>s&&e===n||a?.includes(e));if(!c)return e;let l=Math.min(10,e.score+o);return l===e.score?e:{...e,score:l,base:e.score,sector:c,sectorBonus:l-e.score}}(c,l,a,i,o,s):c}let R=[String.raw`nobel (prize|laureate)`,String.raw`pulitzer( prize|[-\s](winning|winner|finalist))`,String.raw`(emmy|grammy|oscar|tony|peabody|clio|james beard|turing)[-\s](award|winning|winner|nominated|nominee|honoree)`,"academy award|webby|cannes lions|fields medal|pritzker prize|macarthur fellow|rhodes scholar",String.raw`(olympi|paralympi)(an|c (gold|silver|bronze|medalist|champion))`].join("|"),K=[[/\b(angel investor|investor|venture capital(ist)?|vc|general partner|limited partner)\b(?! relations)/i,1,"investor"],[/\by ?combinator\b|\(yc\)|\byc\b ?[wsfx]?\d{0,2}\b/i,1,"YC"],[/\b30 under 30\b/i,1,"30 under 30"],[/\b\d[\d.,]*\s?(m|b|million|billion)\+?\s*(views|followers|subscribers|impressions|users|downloads|installs|listeners|students|customers|members|reach)\b|\$?\s?\d[\d.,]*\s?(m|b|million|billion)\+?\s*(in )?(sales|revenue|arr|gmv|raised|funding)\b|\braised \$?\s?\d[\d.,]*\s?(m|b|million|billion)\b/i,.75,"reach in the millions"],[RegExp(String.raw`\b(tedx?|keynote|patents?|author of|best[-\s]?selling|award[-\s]winning|prize[-\s]winning|${R})\b`,"i"),.5,"recognition"]];function W(e=""){let n=0,t=[];for(let[r,a,i]of K)r.test(e||"")&&(n+=a,t.push(i));return{points:Math.min(1.5,n),reasons:t}}let J=e=>Math.round(10*e)/10;function V(e){return{roles:O(e),student:function(e=""){return v(e).some(e=>!f.test(e)&&(y(e)||r.test(` ${e.toLowerCase()} `)))}(e?.headline),reach:W(e?.headline)}}function Y(e,n){let t=e.title.points*(e.former?.7:1);return n?Math.min(t,3):t}function q(e,n=e=>G(e),t=V(e)){let{roles:r,student:a,reach:i}=t,o=null;for(let e of r){let t=n(e.company),r=Y(e,a),i=r*(.45+.055*t.score);(!o||i>o.core)&&(o={role:e,co:t,points:r,core:i})}let s=function(e="",n=10,t=W(e)){let{points:r}=t,a=[...t.reasons];return r&&n<=4&&(r/=2,a.push("halved: unknown company")),{points:J(r),reasons:a}}(e?.headline,o.co.base??o.co.score,i),c=J(o.core+s.points),l={...o.role.title,former:o.role.former,student:a,points:J(o.points)};o.role.former&&(l.label=`Former ${l.label}`),a&&o.role.title.level>0&&(l.label=`Student \xb7 ${l.label}`);let u={title:l,company:o.role.company,companyScore:o.co.score,companySource:o.co.source,bonus:s,power:c,tier:c>=7.5?"S":c>=5.5?"A":c>=4?"B":c>=2.5?"C":"D"};return o.co.sectorBonus&&(u.companySector={key:o.co.sector,base:o.co.base,bonus:o.co.sectorBonus}),u}e.s(["SECTOR_BONUS",0,F,"TOP_COMPANY",0,8,"currentCompany",0,function(e){return O(e).find(e=>!e.former)?.company||null},"networkCompanies",0,function(e=[],{industryOf:n,sectorsOf:t,groupOf:r,rolesOf:a=O}={}){let i=new Map,o=new Set;for(let n of e)for(let e of a(n)){let t=`${e.company}|${n.profile_url||n.id}`;if(!e.company||e.former||o.has(t))continue;o.add(t);let r=i.get(e.company)||{n:0,headlines:[]};r.n++,r.headlines.push(n.headline),i.set(e.company,r)}let s=new Map,c=new Map,l=new Map,u=new Map,b=new Map;for(let[e,a]of i){s.set(e,a.n);let{industry:i,from:o}=function(e,{industryOf:n,headlines:t=[]}={}){if(!e)return{industry:H,from:null};let r=e&&(I.get(e)||I.get(L(e)))||null;if(r)return{industry:r,from:"list"};if(!n)return{industry:H,from:null};let a=n(e,null);if(a&&a!==H)return{industry:a,from:"name"};let i=function(e=[]){let n=new Map;for(let t of e)t&&t!==H&&n.set(t,(n.get(t)||0)+1);let t=H,r=0,a=!1;for(let[e,i]of n)i>r?(t=e,r=i,a=!1):i===r&&(a=!0);return a?H:t}(t.map(e=>n(null,e)));return{industry:i,from:i===H?null:"people"}}(e,{industryOf:n,headlines:a.headlines});if(c.set(e,i),l.set(e,o),!t)continue;let m=t(e,a.headlines);u.set(e,m),r&&b.set(e,j(m,r))}return{headcount:s,industries:c,industryFrom:l,sectors:u,sectorIndustries:b}},"readTitle",0,function(e="",t=""){let r=w(e,t),a=r.find(e=>!e.former)||r[0];return a?{...a.title,part:a.part}:{...n.unknown,part:v(e||t)[0]||""}},"rolesWithCompanies",0,O,"rowCompanyScore",0,function(e,n){let t=Number(e?.company_prestige_score);return t>0?t:q(e,void 0,n??V(e)).companyScore},"scorePerson",0,q,"topCompanies",0,function(e){let n=V(e),t=function(e,n=V(e)){let t=Number(e?.company_prestige_score);if(t>0){let r=Number(e?.seniority_score),a=n.roles.filter(e=>.05>Math.abs(J(Y(e,n.student))-r)),i=String(e?.score_why||""),o=a.find(e=>e.company&&i.includes(` \xb7 ${e.company} (${t}/10`))||a.find(e=>G(e.company).score===t)||a[0];if(o)return{name:o.company,score:t,former:o.former}}let r=q(e,void 0,n);return{name:r.company,score:t>0?t:r.companyScore,former:r.title.former}}(e,n),r=e=>{if(!e)return null;let n=e===t.name?t.score:G(e).score;return n>=8?{name:e,score:n}:null},a=n.roles.filter(e=>!e.former&&e.company),i=r(!t.former&&a.some(e=>e.company===t.name)?t.name:a[0]?.company),o=null;for(let e of n.roles){if(!e.former||e.company===i?.name)continue;let n=r(e.company);n&&(!o||n.score>o.score)&&(o=n)}return{now:i,before:o}}],90179);let Z="six-degrees-csv-network";class X extends Error{}function Q({id:e,name:n,role:t,company:r,profileUrl:a,connected_date:i}){let o,s=t&&r?`${t} at ${r}`:t||r||n;return{id:e,degree:1,name:n,headline:s,role:t,company:r,profile_url:a||null,profile_image_url:null,connected_date:i,source_connection_id:null,is_catalyst:!1,catalyst_score:null,circle_power:null,circle_s_count:null,circle_a_count:null,circle_elite_pct:null,outreach_status:null,unlock_status:null,...{seniority_score:(o=q({headline:s,company:r})).title.points,company_prestige_score:o.companyScore,power_score:o.power,tier:o.tier}}}e.s(["CSV_USER",0,{id:"csv-local-user",name:"You"},"ConnectionsCsvError",0,X,"clearCsvNetwork",0,function(){try{sessionStorage.removeItem(Z)}catch{}},"csvNetworkSource",0,function(){try{let e=sessionStorage.getItem(Z);return e?JSON.parse(e).source||"csv":null}catch{return null}},"hasCsvNetwork",0,function(){try{return!!sessionStorage.getItem(Z)}catch{return!1}},"loadCsvNetwork",0,function(){try{let e=sessionStorage.getItem(Z);if(!e)return null;let n=JSON.parse(e);return{degree1:n.packed?function(e=[]){return e.map(([e,n,t,r,a,i])=>Q({id:e,name:n,role:t,company:r,profileUrl:a,connected_date:i})).sort((e,n)=>n.power_score-e.power_score)}(n.packed):n.degree1||[],degree2:n.degree2||[],source:n.source||"csv"}}catch{return null}},"parseConnectionsCsv",0,function(e){let n=function(e){let n=[],t=[],r="",a=!1;for(let i=0;i<e.length;i++){let o=e[i];if(a){'"'===o?'"'===e[i+1]?(r+='"',i++):a=!1:r+=o;continue}if('"'===o){a=!0;continue}if(","===o){t.push(r),r="";continue}if("\r"!==o){if("\n"===o){t.push(r),n.push(t),t=[],r="";continue}r+=o}}return(r.length||t.length)&&(t.push(r),n.push(t)),n}(e),t=n.findIndex(e=>{let n=e.map(e=>e.trim().toLowerCase());return n.includes("first name")&&n.includes("last name")});if(-1===t)throw new X('Could not find the Connections.csv header row (expected columns like "First Name, Last Name, URL, Company, Position"). Make sure this is the Connections.csv from your LinkedIn data export.');let r=n[t].map(e=>e.trim().toLowerCase()),a=r.indexOf("first name"),i=r.indexOf("last name"),o=r.indexOf("url"),s=r.indexOf("company"),c=r.indexOf("position"),l=r.indexOf("connected on"),u=[],b=new Set,m=0;for(let e of n.slice(t+1)){let n=n=>n>=0&&null!=e[n]?String(e[n]).trim():"",t=`${n(a)} ${n(i)}`.trim();if(!t){m++;continue}let r=n(s),d=n(c),p=n(o),h=p?function(e){let n=5381;for(let t=0;t<e.length;t++)n=(n<<5)+n+e.charCodeAt(t)|0;return`csv-${Math.abs(n).toString(36)}`}(p):`csv-row-${u.length}`;if(b.has(h)){m++;continue}b.add(h);let f=null,g=n(l);if(g){let e=new Date(g);isNaN(e.getTime())||(f=e.toISOString().split("T")[0])}u.push(Q({id:h,name:t,role:d,company:r,profileUrl:p,connected_date:f}))}if(!u.length)throw new X("That file parsed, but no connections were found in it. Double-check that it is Connections.csv from your LinkedIn data export.");return u.sort((e,n)=>n.power_score-e.power_score),{connections:u,skipped:m,total:u.length+m}},"saveCsvNetwork",0,function(e){try{return sessionStorage.setItem(Z,JSON.stringify({packed:e.map(e=>[e.id,e.name,e.role,e.company,e.profile_url,e.connected_date]),degree2:[],source:"csv",importedAt:Date.now()})),!0}catch{return!1}},"saveSessionNetwork",0,function({degree1:e=[],degree2:n=[],source:t="csv"}){try{return sessionStorage.setItem(Z,JSON.stringify({degree1:e,degree2:n,source:t,importedAt:Date.now()})),!0}catch{return!1}}],7837)},65084,e=>{"use strict";let n="six-degrees-user-id",t="six-degrees-user-name";function r(){return localStorage.getItem(n)||null}e.s(["getUserId",0,r,"getUserName",0,function(){return localStorage.getItem(t)||null},"hasUser",0,function(){return!!r()},"setUser",0,function(e,r){localStorage.setItem(n,e),localStorage.setItem(t,r)}])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,36534,t=>{"use strict";var n=t.i(50768),e=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,u,s,l=1,f=1;function h(){for(var t,e,h,p,d,v,y,g=a.length,_=0;_<f;++_)for(e=(0,n.quadtree)(a,i,o).visitAfter(c),t=0;t<g;++t)y=(v=u[(h=a[t]).index])*v,p=h.x+h.vx,d=h.y+h.vy,e.visit(m);function m(t,n,e,i,o){var a=t.data,u=t.r,f=v+u;if(a){if(a.index>h.index){var c=p-a.x-a.vx,g=d-a.y-a.vy,_=c*c+g*g;_<f*f&&(0===c&&(_+=(c=(0,r.default)(s))*c),0===g&&(_+=(g=(0,r.default)(s))*g),_=(f-(_=Math.sqrt(_)))/_*l,h.vx+=(c*=_)*(f=(u*=u)/(y+u)),h.vy+=(g*=_)*f,a.vx-=c*(f=1-f),a.vy-=g*f)}return}return n>p+f||i<p-f||e>d+f||o<d-f}}function c(t){if(t.data)return t.r=u[t.data.index];for(var n=t.r=0;n<4;++n)t[n]&&t[n].r>t.r&&(t.r=t[n].r)}function p(){if(a){var n,e,r=a.length;for(u=Array(r),n=0;n<r;++n)u[(e=a[n]).index]=+t(e,n,a)}}return"function"!=typeof t&&(t=(0,e.default)(null==t?1:+t)),h.initialize=function(t,n){a=t,s=n,p()},h.iterations=function(t){return arguments.length?(f=+t,h):f},h.strength=function(t){return arguments.length?(l=+t,h):l},h.radius=function(n){return arguments.length?(t="function"==typeof n?n:(0,e.default)(+n),p(),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 n=t.i(23731),e=t.i(49260);function r(t){return t.index}function i(t,n){var e=t.get(n);if(!e)throw Error("node not found: "+n);return e}t.s(["forceLink",0,function(t){var o,a,u,s,l,f,h=r,c=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=(0,n.default)(30),d=1;function v(n){for(var r=0,i=t.length;r<d;++r)for(var u,s,h,c,p,v,y,g=0;g<i;++g)s=(u=t[g]).source,v=((v=Math.sqrt((c=(h=u.target).x+h.vx-s.x-s.vx||(0,e.default)(f))*c+(p=h.y+h.vy-s.y-s.vy||(0,e.default)(f))*p))-a[g])/v*n*o[g],c*=v,p*=v,h.vx-=c*(y=l[g]),h.vy-=p*y,s.vx+=c*(y=1-y),s.vy+=p*y}function y(){if(u){var n,e,r=u.length,f=t.length,c=new Map(u.map((t,n)=>[h(t,n,u),t]));for(n=0,s=Array(r);n<f;++n)(e=t[n]).index=n,"object"!=typeof e.source&&(e.source=i(c,e.source)),"object"!=typeof e.target&&(e.target=i(c,e.target)),s[e.source.index]=(s[e.source.index]||0)+1,s[e.target.index]=(s[e.target.index]||0)+1;for(n=0,l=Array(f);n<f;++n)e=t[n],l[n]=s[e.source.index]/(s[e.source.index]+s[e.target.index]);o=Array(f),g(),a=Array(f),_()}}function g(){if(u)for(var n=0,e=t.length;n<e;++n)o[n]=+c(t[n],n,t)}function _(){if(u)for(var n=0,e=t.length;n<e;++n)a[n]=+p(t[n],n,t)}return null==t&&(t=[]),v.initialize=function(t,n){u=t,f=n,y()},v.links=function(n){return arguments.length?(t=n,y(),v):t},v.id=function(t){return arguments.length?(h=t,v):h},v.iterations=function(t){return arguments.length?(d=+t,v):d},v.strength=function(t){return arguments.length?(c="function"==typeof t?t:(0,n.default)(+t),g(),v):c},v.distance=function(t){return arguments.length?(p="function"==typeof t?t:(0,n.default)(+t),_(),v):p},v}],77899)},17983,t=>{"use strict";var n=t.i(50768),e=t.i(23731),r=t.i(49260),i=t.i(909);t.s(["forceManyBody",0,function(){var t,o,a,u,s,l=(0,e.default)(-30),f=1,h=1/0,c=.81;function p(e){var r,a=t.length,s=(0,n.quadtree)(t,i.x,i.y).visitAfter(v);for(u=e,r=0;r<a;++r)o=t[r],s.visit(y)}function d(){if(t){var n,e,r=t.length;for(s=Array(r),n=0;n<r;++n)s[(e=t[n]).index]=+l(e,n,t)}}function v(t){var n,e,r,i,o,a=0,u=0;if(t.length){for(r=i=o=0;o<4;++o)(n=t[o])&&(e=Math.abs(n.value))&&(a+=n.value,u+=e,r+=e*n.x,i+=e*n.y);t.x=r/u,t.y=i/u}else{(n=t).x=n.data.x,n.y=n.data.y;do a+=s[n.data.index];while(n=n.next)}t.value=a}function y(t,n,e,i){if(!t.value)return!0;var l=t.x-o.x,p=t.y-o.y,d=i-n,v=l*l+p*p;if(d*d/c<v)return v<h&&(0===l&&(v+=(l=(0,r.default)(a))*l),0===p&&(v+=(p=(0,r.default)(a))*p),v<f&&(v=Math.sqrt(f*v)),o.vx+=l*t.value*u/v,o.vy+=p*t.value*u/v),!0;if(!t.length&&!(v>=h)){(t.data!==o||t.next)&&(0===l&&(v+=(l=(0,r.default)(a))*l),0===p&&(v+=(p=(0,r.default)(a))*p),v<f&&(v=Math.sqrt(f*v)));do t.data!==o&&(d=s[t.data.index]*u/v,o.vx+=l*d,o.vy+=p*d);while(t=t.next)}}return p.initialize=function(n,e){t=n,a=e,d()},p.strength=function(t){return arguments.length?(l="function"==typeof t?t:(0,e.default)(+t),d(),p):l},p.distanceMin=function(t){return arguments.length?(f=t*t,p):Math.sqrt(f)},p.distanceMax=function(t){return arguments.length?(h=t*t,p):Math.sqrt(h)},p.theta=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p}],17983)},909,t=>{"use strict";var n=t.i(91889),e=t.i(60208),r=Math.PI*(3-Math.sqrt(5));t.s(["default",0,function(t){let i;var o,a=1,u=.001,s=1-Math.pow(.001,1/300),l=0,f=.6,h=new Map,c=(0,e.timer)(v),p=(0,n.dispatch)("tick","end"),d=(i=1,()=>(i=(1664525*i+0x3c6ef35f)%0x100000000)/0x100000000);function v(){y(),p.call("tick",o),a<u&&(c.stop(),p.call("end",o))}function y(n){var e,r,i=t.length;void 0===n&&(n=1);for(var u=0;u<n;++u)for(a+=(l-a)*s,h.forEach(function(t){t(a)}),e=0;e<i;++e)null==(r=t[e]).fx?r.x+=r.vx*=f:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=f:(r.y=r.fy,r.vy=0);return o}function g(){for(var n,e=0,i=t.length;e<i;++e){if((n=t[e]).index=e,null!=n.fx&&(n.x=n.fx),null!=n.fy&&(n.y=n.fy),isNaN(n.x)||isNaN(n.y)){var o=10*Math.sqrt(.5+e),a=e*r;n.x=o*Math.cos(a),n.y=o*Math.sin(a)}(isNaN(n.vx)||isNaN(n.vy))&&(n.vx=n.vy=0)}}function _(n){return n.initialize&&n.initialize(t,d),n}return null==t&&(t=[]),g(),o={tick:y,restart:function(){return c.restart(v),o},stop:function(){return c.stop(),o},nodes:function(n){return arguments.length?(t=n,g(),h.forEach(_),o):t},alpha:function(t){return arguments.length?(a=+t,o):a},alphaMin:function(t){return arguments.length?(u=+t,o):u},alphaDecay:function(t){return arguments.length?(s=+t,o):+s},alphaTarget:function(t){return arguments.length?(l=+t,o):l},velocityDecay:function(t){return arguments.length?(f=1-t,o):1-f},randomSource:function(t){return arguments.length?(d=t,h.forEach(_),o):d},force:function(t,n){return arguments.length>1?(null==n?h.delete(t):h.set(t,_(n)),o):h.get(t)},find:function(n,e,r){var i,o,a,u,s,l=0,f=t.length;for(null==r?r=1/0:r*=r,l=0;l<f;++l)(a=(i=n-(u=t[l]).x)*i+(o=e-u.y)*o)<r&&(s=u,r=a);return s},on:function(t,n){return arguments.length>1?(p.on(t,n),o):p.on(t)}}},"x",0,function(t){return t.x},"y",0,function(t){return t.y}],909)},43079,t=>{"use strict";var n=t.i(909);t.s(["forceSimulation",()=>n.default])},50768,t=>{"use strict";function n(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,o,a,u,s,l,f,h,c,p=t._root,d={data:r},v=t._x0,y=t._y0,g=t._x1,_=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((l=n>=(o=(v+g)/2))?v=o:g=o,(f=e>=(a=(y+_)/2))?y=a:_=a,i=p,!(p=p[h=f<<1|l]))return i[h]=d,t;if(u=+t._x.call(null,p.data),s=+t._y.call(null,p.data),n===u&&e===s)return d.next=p,i?i[h]=d:t._root=d,t;do i=i?i[h]=[,,,,]:t._root=[,,,,],(l=n>=(o=(v+g)/2))?v=o:g=o,(f=e>=(a=(y+_)/2))?y=a:_=a;while((h=f<<1|l)==(c=(s>=a)<<1|u>=o))return i[c]=p,i[h]=d,t}function e(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function r(t){return t[0]}function i(t){return t[1]}function o(t,n,e){var o=new a(null==n?r:n,null==e?i:e,NaN,NaN,NaN,NaN);return null==t?o:o.addAll(t)}function a(t,n,e,r,i,o){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function u(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var s=o.prototype=a.prototype;s.copy=function(){var t,n,e=new a(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=u(r),e;for(t=[{source:r,target:e._root=[,,,,]}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=[,,,,]}):r.target[i]=u(n));return e},s.add=function(t){let e=+this._x.call(null,t),r=+this._y.call(null,t);return n(this.cover(e,r),e,r,t)},s.addAll=function(t){var e,r,i,o,a=t.length,u=Array(a),s=Array(a),l=1/0,f=1/0,h=-1/0,c=-1/0;for(r=0;r<a;++r)!(isNaN(i=+this._x.call(null,e=t[r]))||isNaN(o=+this._y.call(null,e)))&&(u[r]=i,s[r]=o,i<l&&(l=i),i>h&&(h=i),o<f&&(f=o),o>c&&(c=o));if(l>h||f>c)return this;for(this.cover(l,f).cover(h,c),r=0;r<a;++r)n(this,u[r],s[r],t[r]);return this},s.cover=function(t,n){if(isNaN(t*=1)||isNaN(n*=1))return this;var e=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,o=(r=Math.floor(n))+1;else{for(var a,u,s=i-e||1,l=this._root;e>t||t>=i||r>n||n>=o;)switch(u=(n<r)<<1|t<e,(a=[,,,,])[u]=l,l=a,s*=2,u){case 0:i=e+s,o=r+s;break;case 1:e=i-s,o=r+s;break;case 2:i=e+s,r=o-s;break;case 3:e=i-s,r=o-s}this._root&&this._root.length&&(this._root=l)}return this._x0=e,this._y0=r,this._x1=i,this._y1=o,this},s.data=function(){var t=[];return this.visit(function(n){if(!n.length)do t.push(n.data);while(n=n.next)}),t},s.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]]},s.find=function(t,n,r){var i,o,a,u,s,l,f,h=this._x0,c=this._y0,p=this._x1,d=this._y1,v=[],y=this._root;for(y&&v.push(new e(y,h,c,p,d)),null==r?r=1/0:(h=t-r,c=n-r,p=t+r,d=n+r,r*=r);l=v.pop();)if((y=l.node)&&!((o=l.x0)>p)&&!((a=l.y0)>d)&&!((u=l.x1)<h)&&!((s=l.y1)<c))if(y.length){var g=(o+u)/2,_=(a+s)/2;v.push(new e(y[3],g,_,u,s),new e(y[2],o,_,g,s),new e(y[1],g,a,u,_),new e(y[0],o,a,g,_)),(f=(n>=_)<<1|t>=g)&&(l=v[v.length-1],v[v.length-1]=v[v.length-1-f],v[v.length-1-f]=l)}else{var m=t-this._x.call(null,y.data),x=n-this._y.call(null,y.data),w=m*m+x*x;if(w<r){var b=Math.sqrt(r=w);h=t-b,c=n-b,p=t+b,d=n+b,i=y.data}}return i},s.remove=function(t){if(isNaN(o=+this._x.call(null,t))||isNaN(a=+this._y.call(null,t)))return this;var n,e,r,i,o,a,u,s,l,f,h,c,p=this._root,d=this._x0,v=this._y0,y=this._x1,g=this._y1;if(!p)return this;if(p.length)for(;;){if((l=o>=(u=(d+y)/2))?d=u:y=u,(f=a>=(s=(v+g)/2))?v=s:g=s,n=p,!(p=p[h=f<<1|l]))return this;if(!p.length)break;(n[h+1&3]||n[h+2&3]||n[h+3&3])&&(e=n,c=h)}for(;p.data!==t;)if(r=p,!(p=p.next))return this;return((i=p.next)&&delete p.next,r)?i?r.next=i:delete r.next:n?(i?n[h]=i:delete n[h],(p=n[0]||n[1]||n[2]||n[3])&&p===(n[3]||n[2]||n[1]||n[0])&&!p.length&&(e?e[c]=p:this._root=p)):this._root=i,this},s.removeAll=function(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this},s.root=function(){return this._root},s.size=function(){var t=0;return this.visit(function(n){if(!n.length)do++t;while(n=n.next)}),t},s.visit=function(t){var n,r,i,o,a,u,s=[],l=this._root;for(l&&s.push(new e(l,this._x0,this._y0,this._x1,this._y1));n=s.pop();)if(!t(l=n.node,i=n.x0,o=n.y0,a=n.x1,u=n.y1)&&l.length){var f=(i+a)/2,h=(o+u)/2;(r=l[3])&&s.push(new e(r,f,h,a,u)),(r=l[2])&&s.push(new e(r,i,h,f,u)),(r=l[1])&&s.push(new e(r,f,o,a,h)),(r=l[0])&&s.push(new e(r,i,o,f,h))}return this},s.visitAfter=function(t){var n,r=[],i=[];for(this._root&&r.push(new e(this._root,this._x0,this._y0,this._x1,this._y1));n=r.pop();){var o=n.node;if(o.length){var a,u=n.x0,s=n.y0,l=n.x1,f=n.y1,h=(u+l)/2,c=(s+f)/2;(a=o[0])&&r.push(new e(a,u,s,h,c)),(a=o[1])&&r.push(new e(a,h,s,l,c)),(a=o[2])&&r.push(new e(a,u,c,h,f)),(a=o[3])&&r.push(new e(a,h,c,l,f))}i.push(n)}for(;n=i.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1);return this},s.x=function(t){return arguments.length?(this._x=t,this):this._x},s.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,7394,36755,t=>{"use strict";t.s(["Selection",()=>U,"default",()=>G,"root",()=>L],48708);var n,e={value:()=>{}};function r(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||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,n,r){for(var i=0,o=t.length;i<o;++i)if(t[i].name===n){t[i]=e,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=r&&t.push({name:n,value:r}),t}function a(){}function u(t){return null==t?a:function(){return this.querySelector(t)}}function s(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function l(){return[]}function f(t){return null==t?l:function(){return this.querySelectorAll(t)}}function h(t){return function(){return this.matches(t)}}function c(t){return function(n){return n.matches(t)}}i.prototype=r.prototype={constructor:i,on:function(t,n){var e,r=this._,i=(t+"").trim().split(/^|\s+/).map(function(t){var n="",e=t.indexOf(".");if(e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),t&&!r.hasOwnProperty(t))throw Error("unknown type: "+t);return{type:t,name:n}}),a=-1,u=i.length;if(arguments.length<2){for(;++a<u;)if((e=(t=i[a]).type)&&(e=function(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}(r[e],t.name)))return e;return}if(null!=n&&"function"!=typeof n)throw Error("invalid callback: "+n);for(;++a<u;)if(e=(t=i[a]).type)r[e]=o(r[e],t.name,n);else if(null==n)for(e in r)r[e]=o(r[e],t.name,null);return this},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new i(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=Array(e),o=0;o<e;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(r=this._[t],o=0,e=r.length;o<e;++o)r[o].value.apply(n,i)},apply:function(t,n,e){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(n,e)}},t.s(["dispatch",0,r],91889),t.s(["default",0,s],57161);var p=Array.prototype.find;function d(){return this.firstElementChild}var v=Array.prototype.filter;function y(){return Array.from(this.children)}function g(t){return Array(t.length)}function _(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function m(t,n,e,r,i,o){for(var a,u=0,s=n.length,l=o.length;u<l;++u)(a=n[u])?(a.__data__=o[u],r[u]=a):e[u]=new _(t,o[u]);for(;u<s;++u)(a=n[u])&&(i[u]=a)}function x(t,n,e,r,i,o,a){var u,s,l,f=new Map,h=n.length,c=o.length,p=Array(h);for(u=0;u<h;++u)(s=n[u])&&(p[u]=l=a.call(s,s.__data__,u,n)+"",f.has(l)?i[u]=s:f.set(l,s));for(u=0;u<c;++u)l=a.call(t,o[u],u,o)+"",(s=f.get(l))?(r[u]=s,s.__data__=o[u],f.delete(l)):e[u]=new _(t,o[u]);for(u=0;u<h;++u)(s=n[u])&&f.get(p[u])===s&&(i[u]=s)}function w(t){return t.__data__}function b(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}_.prototype={constructor:_,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var M="http://www.w3.org/1999/xhtml";let N={svg:"http://www.w3.org/2000/svg",xhtml:M,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function k(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),N.hasOwnProperty(n)?{space:N[n],local:t}:t}function A(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function E(t,n){return t.style.getPropertyValue(n)||A(t).getComputedStyle(t,null).getPropertyValue(n)}function z(t){return t.trim().split(/^|\s+/)}function S(t){return t.classList||new $(t)}function $(t){this._node=t,this._names=z(t.getAttribute("class")||"")}function T(t,n){for(var e=S(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function q(t,n){for(var e=S(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function C(){this.textContent=""}function P(){this.innerHTML=""}function X(){this.nextSibling&&this.parentNode.appendChild(this)}function R(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Y(t){var n=k(t);return(n.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===M&&n.documentElement.namespaceURI===M?n.createElement(t):n.createElementNS(e,t)}})(n)}function O(){return null}function B(){var t=this.parentNode;t&&t.removeChild(this)}function D(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function I(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function j(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)(e=n[r],t.type&&e.type!==t.type||e.name!==t.name)?n[++i]=e:this.removeEventListener(e.type,e.listener,e.options);++i?n.length=i:delete this.__on}}}function H(t,n,e){return function(){var r,i=this.__on,o=function(t){n.call(this,t,this.__data__)};if(i){for(var a=0,u=i.length;a<u;++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=e),r.value=n;return}}this.addEventListener(t.type,o,e),r={type:t.type,name:t.name,value:n,listener:o,options:e},i?i.push(r):this.__on=[r]}}function V(t,n,e){var r=A(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}$.prototype={add:function(t){0>this._names.indexOf(t)&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var L=[null];function U(t,n){this._groups=t,this._parents=n}function K(){return new U([[document.documentElement]],L)}U.prototype=K.prototype={constructor:U,select:function(t){"function"!=typeof t&&(t=u(t));for(var n=this._groups,e=n.length,r=Array(e),i=0;i<e;++i)for(var o,a,s=n[i],l=s.length,f=r[i]=Array(l),h=0;h<l;++h)(o=s[h])&&(a=t.call(o,o.__data__,h,s))&&("__data__"in o&&(a.__data__=o.__data__),f[h]=a);return new U(r,this._parents)},selectAll:function(t){if("function"==typeof t){var n;n=t,t=function(){return s(n.apply(this,arguments))}}else t=f(t);for(var e=this._groups,r=e.length,i=[],o=[],a=0;a<r;++a)for(var u,l=e[a],h=l.length,c=0;c<h;++c)(u=l[c])&&(i.push(t.call(u,u.__data__,c,l)),o.push(u));return new U(i,o)},selectChild:function(t){var n;return this.select(null==t?d:(n="function"==typeof t?t:c(t),function(){return p.call(this.children,n)}))},selectChildren:function(t){var n;return this.selectAll(null==t?y:(n="function"==typeof t?t:c(t),function(){return v.call(this.children,n)}))},filter:function(t){"function"!=typeof t&&(t=h(t));for(var n=this._groups,e=n.length,r=Array(e),i=0;i<e;++i)for(var o,a=n[i],u=a.length,s=r[i]=[],l=0;l<u;++l)(o=a[l])&&t.call(o,o.__data__,l,a)&&s.push(o);return new U(r,this._parents)},data:function(t,n){if(!arguments.length)return Array.from(this,w);var e=n?x:m,r=this._parents,i=this._groups;"function"!=typeof t&&(_=t,t=function(){return _});for(var o=i.length,a=Array(o),u=Array(o),s=Array(o),l=0;l<o;++l){var f=r[l],h=i[l],c=h.length,p="object"==typeof(g=t.call(f,f&&f.__data__,l,r))&&"length"in g?g:Array.from(g),d=p.length,v=u[l]=Array(d),y=a[l]=Array(d);e(f,h,v,y,s[l]=Array(c),p,n);for(var g,_,b,M,N=0,k=0;N<d;++N)if(b=v[N]){for(N>=k&&(k=N+1);!(M=y[k])&&++k<d;);b._next=M||null}}return(a=new U(a,r))._enter=u,a._exit=s,a},enter:function(){return new U(this._enter||this._groups.map(g),this._parents)},exit:function(){return new U(this._exit||this._groups.map(g),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=n&&(i=n(i))&&(i=i.selection()),null==e?o.remove():e(o),r&&i?r.merge(i).order():i},merge:function(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,o=r.length,a=Math.min(i,o),u=Array(i),s=0;s<a;++s)for(var l,f=e[s],h=r[s],c=f.length,p=u[s]=Array(c),d=0;d<c;++d)(l=f[d]||h[d])&&(p[d]=l);for(;s<i;++s)u[s]=e[s];return new U(u,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],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 n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=b);for(var e=this._groups,r=e.length,i=Array(r),o=0;o<r;++o){for(var a,u=e[o],s=u.length,l=i[o]=Array(s),f=0;f<s;++f)(a=u[f])&&(l[f]=a);l.sort(n)}return new U(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,n=0,e=t.length;n<e;++n)for(var r=t[n],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 n of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],a=0,u=o.length;a<u;++a)(i=o[a])&&t.call(i,i.__data__,a,o);return this},attr:function(t,n){var e=k(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((null==n?e.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof n?e.local?function(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}:function(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}:e.local?function(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}:function(t,n){return function(){this.setAttribute(t,n)}})(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof n?function(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}:function(t,n,e){return function(){this.style.setProperty(t,n,e)}})(t,n,null==e?"":e)):E(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?function(t){return function(){delete this[t]}}:"function"==typeof n?function(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}:function(t,n){return function(){this[t]=n}})(t,n)):this.node()[t]},classed:function(t,n){var e=z(t+"");if(arguments.length<2){for(var r=S(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?function(t,n){return function(){(n.apply(this,arguments)?T:q)(this,t)}}:n?function(t){return function(){T(this,t)}}:function(t){return function(){q(this,t)}})(e,n))},text:function(t){return arguments.length?this.each(null==t?C:("function"==typeof t?function(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?P:("function"==typeof t?function(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(X)},lower:function(){return this.each(R)},append:function(t){var n="function"==typeof t?t:Y(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})},insert:function(t,n){var e="function"==typeof t?t:Y(t),r=null==n?O:"function"==typeof n?n:u(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(B)},clone:function(t){return this.select(t?I:D)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=(t+"").trim().split(/^|\s+/).map(function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}),a=o.length;if(arguments.length<2){var u=this.node().__on;if(u){for(var s,l=0,f=u.length;l<f;++l)for(r=0,s=u[l];r<a;++r)if((i=o[r]).type===s.type&&i.name===s.name)return s.value}return}for(u=n?H:j,r=0;r<a;++r)this.each(u(o[r],n,e));return this},dispatch:function(t,n){return this.each(("function"==typeof n?function(t,n){return function(){return V(this,t,n.apply(this,arguments))}}:function(t,n){return function(){return V(this,t,n)}})(t,n))},[Symbol.iterator]:function*(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r,i=t[n],o=0,a=i.length;o<a;++o)(r=i[o])&&(yield r)}};let G=K;function F(t){return"string"==typeof t?new U([[document.querySelector(t)]],[document.documentElement]):new U([[t]],L)}t.s(["select",0,F],23685);let Q={capture:!0,passive:!1};function W(t){t.preventDefault(),t.stopImmediatePropagation()}function J(t){var n=t.document.documentElement,e=F(t).on("dragstart.drag",W,Q);"onselectstart"in n?e.on("selectstart.drag",W,Q):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Z(t,n){var e=t.document.documentElement,r=F(t).on("dragstart.drag",null);n&&(r.on("click.drag",W,Q),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}function tt(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function tn(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function te(){}t.s(["default",0,W,"nonpassive",0,{passive:!1},"nonpassivecapture",0,Q,"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})$/,tu=RegExp(`^rgb\\(${tr},${tr},${tr}\\)$`),ts=RegExp(`^rgb\\(${to},${to},${to}\\)$`),tl=RegExp(`^rgba\\(${tr},${tr},${tr},${ti}\\)$`),tf=RegExp(`^rgba\\(${to},${to},${to},${ti}\\)$`),th=RegExp(`^hsl\\(${ti},${to},${to}\\)$`),tc=RegExp(`^hsla\\(${ti},${to},${to},${ti}\\)$`),tp={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 td(){return this.rgb().formatHex()}function tv(){return this.rgb().formatRgb()}function ty(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=ta.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?tg(n):3===e?new tx(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?t_(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?t_(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=tu.exec(t))?new tx(n[1],n[2],n[3],1):(n=ts.exec(t))?new tx(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=tl.exec(t))?t_(n[1],n[2],n[3],n[4]):(n=tf.exec(t))?t_(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=th.exec(t))?tA(n[1],n[2]/100,n[3]/100,1):(n=tc.exec(t))?tA(n[1],n[2]/100,n[3]/100,n[4]):tp.hasOwnProperty(t)?tg(tp[t]):"transparent"===t?new tx(NaN,NaN,NaN,0):null}function tg(t){return new tx(t>>16&255,t>>8&255,255&t,1)}function t_(t,n,e,r){return r<=0&&(t=n=e=NaN),new tx(t,n,e,r)}function tm(t,n,e,r){var i;return 1==arguments.length?((i=t)instanceof te||(i=ty(i)),i)?new tx((i=i.rgb()).r,i.g,i.b,i.opacity):new tx:new tx(t,n,e,null==r?1:r)}function tx(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function tw(){return`#${tk(this.r)}${tk(this.g)}${tk(this.b)}`}function tb(){let t=tM(this.opacity);return`${1===t?"rgb(":"rgba("}${tN(this.r)}, ${tN(this.g)}, ${tN(this.b)}${1===t?")":`, ${t})`}`}function tM(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function tN(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function tk(t){return((t=tN(t))<16?"0":"")+t.toString(16)}function tA(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new tz(t,n,e,r)}function tE(t){if(t instanceof tz)return new tz(t.h,t.s,t.l,t.opacity);if(t instanceof te||(t=ty(t)),!t)return new tz;if(t instanceof tz)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),a=NaN,u=o-i,s=(o+i)/2;return u?(a=n===o?(e-r)/u+(e<r)*6:e===o?(r-n)/u+2:(n-e)/u+4,u/=s<.5?o+i:2-o-i,a*=60):u=s>0&&s<1?0:a,new tz(a,u,s,t.opacity)}function tz(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function tS(t){return(t=(t||0)%360)<0?t+360:t}function t$(t){return Math.max(0,Math.min(1,t||0))}function tT(t,n,e){return(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)*255}function tq(t,n,e,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*n+(4-6*o+3*a)*e+(1+3*t+3*o-3*a)*r+a*i)/6}tt(te,ty,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:td,formatHex:td,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return tE(this).formatHsl()},formatRgb:tv,toString:tv}),tt(tx,tm,tn(te,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new tx(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new tx(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new tx(tN(this.r),tN(this.g),tN(this.b),tM(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:tw,formatHex:tw,formatHex8:function(){return`#${tk(this.r)}${tk(this.g)}${tk(this.b)}${tk((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:tb,toString:tb})),tt(tz,function(t,n,e,r){return 1==arguments.length?tE(t):new tz(t,n,e,null==r?1:r)},tn(te,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new tz(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new tz(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new tx(tT(t>=240?t-240:t+120,i,r),tT(t,i,r),tT(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new tz(tS(this.h),t$(this.s),t$(this.l),tM(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=tM(this.opacity);return`${1===t?"hsl(":"hsla("}${tS(this.h)}, ${100*t$(this.s)}%, ${100*t$(this.l)}%${1===t?")":`, ${t})`}`}}));let tC=t=>()=>t;function tP(t,n){var e=n-t;return e?function(n){return t+n*e}:tC(isNaN(t)?n:t)}let tX=function t(n){var e,r=1==(e=+n)?tP:function(t,n){var r,i,o;return n-t?(r=t,i=n,r=Math.pow(r,o=e),i=Math.pow(i,o)-r,o=1/o,function(t){return Math.pow(r+t*i,o)}):tC(isNaN(t)?n:t)};function i(t,n){var e=r((t=tm(t)).r,(n=tm(n)).r),i=r(t.g,n.g),o=r(t.b,n.b),a=tP(t.opacity,n.opacity);return function(n){return t.r=e(n),t.g=i(n),t.b=o(n),t.opacity=a(n),t+""}}return i.gamma=t,i}(1);function tR(t){return function(n){var e,r,i=n.length,o=Array(i),a=Array(i),u=Array(i);for(e=0;e<i;++e)r=tm(n[e]),o[e]=r.r||0,a[e]=r.g||0,u[e]=r.b||0;return o=t(o),a=t(a),u=t(u),r.opacity=1,function(t){return r.r=o(t),r.g=a(t),r.b=u(t),r+""}}}function tY(t,n){return t*=1,n*=1,function(e){return t*(1-e)+n*e}}tR(function(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,u=r<n-1?t[r+2]:2*o-i;return tq((e-r/n)*n,a,i,o,u)}}),tR(function(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),i=t[(r+n-1)%n],o=t[r%n],a=t[(r+1)%n],u=t[(r+2)%n];return tq((e-r/n)*n,i,o,a,u)}});var tO=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tB=RegExp(tO.source,"g");function tD(t,n){if(t=function(t){let n;for(;n=t.sourceEvent;)t=n;return t}(t),void 0===n&&(n=t.currentTarget),n){var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(n.getScreenCTM().inverse())).x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}}return[t.pageX,t.pageY]}t.s(["pointer",0,tD],561);var tI,tj,tH=0,tV=0,tL=0,tU=0,tK=0,tG=0,tF="object"==typeof performance&&performance.now?performance:Date,tQ="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function tW(){return tK||(tQ(tJ),tK=tF.now()+tG)}function tJ(){tK=0}function tZ(){this._call=this._time=this._next=null}function t0(t,n,e){var r=new tZ;return r.restart(t,n,e),r}function t1(){tK=(tU=tF.now())+tG,tH=tV=0;try{tW(),++tH;for(var t,n=tI;n;)(t=tK-n._time)>=0&&n._call.call(void 0,t),n=n._next;--tH}finally{tH=0,function(){for(var t,n,e=tI,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:tI=n);tj=t,t5(r)}(),tK=0}}function t2(){var t=tF.now(),n=t-tU;n>1e3&&(tG-=n,tU=t)}function t5(t){!tH&&(tV&&(tV=clearTimeout(tV)),t-tK>24?(t<1/0&&(tV=setTimeout(t1,t-tF.now()-tG)),tL&&(tL=clearInterval(tL))):(tL||(tU=tF.now(),tL=setInterval(t2,1e3)),tH=1,tQ(t1)))}function t3(t,n,e){var r=new tZ;return n=null==n?0:+n,r.restart(e=>{r.stop(),t(e+n)},n,e),r}tZ.prototype=t0.prototype={constructor:tZ,restart:function(t,n,e){if("function"!=typeof t)throw TypeError("callback is not a function");e=(null==e?tW():+e)+(null==n?0:+n),this._next||tj===this||(tj?tj._next=this:tI=this,tj=this),this._call=t,this._time=e,t5()},stop:function(){this._call&&(this._call=null,this._time=1/0,t5())}},t.s(["Timer",0,tZ,"now",0,tW,"timer",0,t0],60208);var t8=r("start","end","cancel","interrupt"),t6=[];function t4(t,n,e,r,i,o){var a=t.__transition;if(a){if(e in a)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(s){var l,f,h,c;if(1!==e.state)return u();for(l in i)if((c=i[l]).name===e.name){if(3===c.state)return t3(o);4===c.state?(c.state=6,c.timer.stop(),c.on.call("interrupt",t,t.__data__,c.index,c.group),delete i[l]):+l<n&&(c.state=6,c.timer.stop(),c.on.call("cancel",t,t.__data__,c.index,c.group),delete i[l])}if(t3(function(){3===e.state&&(e.state=4,e.timer.restart(a,e.delay,e.time),a(s))}),e.state=2,e.on.call("start",t,t.__data__,e.index,e.group),2===e.state){for(e.state=3,r=Array(h=e.tween.length),l=0,f=-1;l<h;++l)(c=e.tween[l].value.call(t,t.__data__,e.index,e.group))&&(r[++f]=c);r.length=f+1}}function a(n){for(var i=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(u),e.state=5,1),o=-1,a=r.length;++o<a;)r[o].call(t,i);5===e.state&&(e.on.call("end",t,t.__data__,e.index,e.group),u())}function u(){for(var r in e.state=6,e.timer.stop(),delete i[n],i)return;delete t.__transition}i[n]=e,e.timer=t0(function(t){e.state=1,e.timer.restart(o,e.delay,e.time),e.delay<=t&&o(t-e.delay)},0,e.time)}(t,e,{name:n,index:r,group:i,on:t8,tween:t6,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function t9(t,n){var e=nt(t,n);if(e.state>0)throw Error("too late; already scheduled");return e}function t7(t,n){var e=nt(t,n);if(e.state>3)throw Error("too late; already running");return e}function nt(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw Error("transition not found");return e}function nn(t,n){var e,r,i,o=t.__transition,a=!0;if(o){for(i in n=null==n?null:n+"",o){if((e=o[i]).name!==n){a=!1;continue}r=e.state>2&&e.state<5,e.state=6,e.timer.stop(),e.on.call(r?"interrupt":"cancel",t,t.__data__,e.index,e.group),delete o[i]}a&&delete t.__transition}}var ne=180/Math.PI,nr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ni(t,n,e,r,i,o){var a,u,s;return(a=Math.sqrt(t*t+n*n))&&(t/=a,n/=a),(s=t*e+n*r)&&(e-=t*s,r-=n*s),(u=Math.sqrt(e*e+r*r))&&(e/=u,r/=u,s/=u),t*r<n*e&&(t=-t,n=-n,s=-s,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*ne,skewX:Math.atan(s)*ne,scaleX:a,scaleY:u}}function no(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(o,a){var u,s,l,f,h=[],c=[];return o=t(o),a=t(a),!function(t,r,i,o,a,u){if(t!==i||r!==o){var s=a.push("translate(",null,n,null,e);u.push({i:s-4,x:tY(t,i)},{i:s-2,x:tY(r,o)})}else(i||o)&&a.push("translate("+i+n+o+e)}(o.translateX,o.translateY,a.translateX,a.translateY,h,c),u=o.rotate,s=a.rotate,u!==s?(u-s>180?s+=360:s-u>180&&(u+=360),c.push({i:h.push(i(h)+"rotate(",null,r)-2,x:tY(u,s)})):s&&h.push(i(h)+"rotate("+s+r),l=o.skewX,f=a.skewX,l!==f?c.push({i:h.push(i(h)+"skewX(",null,r)-2,x:tY(l,f)}):f&&h.push(i(h)+"skewX("+f+r),!function(t,n,e,r,o,a){if(t!==e||n!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:tY(t,e)},{i:u-2,x:tY(n,r)})}else(1!==e||1!==r)&&o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,h,c),o=a=null,function(t){for(var n,e=-1,r=c.length;++e<r;)h[(n=c[e]).i]=n.x(t);return h.join("")}}}var na=no(function(t){let n=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?nr:ni(n.a,n.b,n.c,n.d,n.e,n.f)},"px, ","px)","deg)"),nu=no(function(t){return null==t?nr:(n||(n=document.createElementNS("http://www.w3.org/2000/svg","g")),n.setAttribute("transform",t),t=n.transform.baseVal.consolidate())?ni((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):nr},", ",")",")");function ns(t,n,e){var r=t._id;return t.each(function(){var t=t7(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)}),function(t){return nt(t,r).value[n]}}function nl(t,n){var e;return("number"==typeof n?tY:n instanceof ty?tX:(e=ty(n))?(n=e,tX):function(t,n){var e,r,i,o,a,u=tO.lastIndex=tB.lastIndex=0,s=-1,l=[],f=[];for(t+="",n+="";(i=tO.exec(t))&&(o=tB.exec(n));)(a=o.index)>u&&(a=n.slice(u,a),l[s]?l[s]+=a:l[++s]=a),(i=i[0])===(o=o[0])?l[s]?l[s]+=o:l[++s]=o:(l[++s]=null,f.push({i:s,x:tY(i,o)})),u=tB.lastIndex;return u<n.length&&(a=n.slice(u),l[s]?l[s]+=a:l[++s]=a),l.length<2?f[0]?(e=f[0].x,function(t){return e(t)+""}):(r=n,function(){return r}):(n=f.length,function(t){for(var e,r=0;r<n;++r)l[(e=f[r]).i]=e.x(t);return l.join("")})})(t,n)}var nf=G.prototype.constructor;function nh(t){return function(){this.style.removeProperty(t)}}var nc=0;function np(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}var nd=G.prototype;np.prototype=(function(t){return G().transition(t)}).prototype={constructor:np,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=u(t));for(var r=this._groups,i=r.length,o=Array(i),a=0;a<i;++a)for(var s,l,f=r[a],h=f.length,c=o[a]=Array(h),p=0;p<h;++p)(s=f[p])&&(l=t.call(s,s.__data__,p,f))&&("__data__"in s&&(l.__data__=s.__data__),c[p]=l,t4(c[p],n,e,p,c,nt(s,e)));return new np(o,this._parents,n,e)},selectAll:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=f(t));for(var r=this._groups,i=r.length,o=[],a=[],u=0;u<i;++u)for(var s,l=r[u],h=l.length,c=0;c<h;++c)if(s=l[c]){for(var p,d=t.call(s,s.__data__,c,l),v=nt(s,e),y=0,g=d.length;y<g;++y)(p=d[y])&&t4(p,n,e,y,d,v);o.push(d),a.push(s)}return new np(o,a,n,e)},selectChild:nd.selectChild,selectChildren:nd.selectChildren,filter:function(t){"function"!=typeof t&&(t=h(t));for(var n=this._groups,e=n.length,r=Array(e),i=0;i<e;++i)for(var o,a=n[i],u=a.length,s=r[i]=[],l=0;l<u;++l)(o=a[l])&&t.call(o,o.__data__,l,a)&&s.push(o);return new np(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw Error();for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),a=Array(r),u=0;u<o;++u)for(var s,l=n[u],f=e[u],h=l.length,c=a[u]=Array(h),p=0;p<h;++p)(s=l[p]||f[p])&&(c[p]=s);for(;u<r;++u)a[u]=n[u];return new np(a,this._parents,this._name,this._id)},selection:function(){return new nf(this._groups,this._parents)},transition:function(){for(var t=this._name,n=this._id,e=++nc,r=this._groups,i=r.length,o=0;o<i;++o)for(var a,u=r[o],s=u.length,l=0;l<s;++l)if(a=u[l]){var f=nt(a,n);t4(a,t,e,l,u,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new np(r,this._parents,t,e)},call:nd.call,nodes:nd.nodes,node:nd.node,size:nd.size,empty:nd.empty,each:nd.each,on:function(t,n){var e,r,i,o,a,u,s=this._id;return arguments.length<2?nt(this.node(),s).on.on(t):this.each((e=s,r=t,i=n,u=(r+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t})?t9:t7,function(){var t=u(this,e),n=t.on;n!==o&&(a=(o=n).copy()).on(r,i),t.on=a}))},attr:function(t,n){var e=k(t),r="transform"===e?nu:nl;return this.attrTween(t,"function"==typeof n?(e.local?function(t,n,e){var r,i,o;return function(){var a,u,s=e(this);return null==s?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local))===(u=s+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,s))}}:function(t,n,e){var r,i,o;return function(){var a,u,s=e(this);return null==s?void this.removeAttribute(t):(a=this.getAttribute(t))===(u=s+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,s))}})(e,r,ns(this,"attr."+t,n)):null==n?(e.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(e):(e.local?function(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===r?i:i=n(r=a,e)}}:function(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttribute(t);return a===o?null:a===r?i:i=n(r=a,e)}})(e,r,n))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw Error();var r=k(t);return this.tween(e,(r.local?function(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&function(n){this.setAttributeNS(t.space,t.local,i.call(this,n))}),e}return i._value=n,i}:function(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&function(n){this.setAttribute(t,i.call(this,n))}),e}return i._value=n,i})(r,n))},style:function(t,n,e){var r,i,o,a,u,s,l,f,h,c,p,d,v,y,g,_,m,x,w,b,M,N="transform"==(t+="")?na:nl;return null==n?this.styleTween(t,(r=t,function(){var t=E(this,r),n=(this.style.removeProperty(r),E(this,r));return t===n?null:t===i&&n===o?a:a=N(i=t,o=n)})).on("end.style."+t,nh(t)):"function"==typeof n?this.styleTween(t,(u=t,s=ns(this,"style."+t,n),function(){var t=E(this,u),n=s(this),e=n+"";return null==n&&(this.style.removeProperty(u),e=n=E(this,u)),t===e?null:t===l&&e===f?h:(f=e,h=N(l=t,n))})).each((c=this._id,m="end."+(_="style."+(p=t)),function(){var t=t7(this,c),n=t.on,e=null==t.value[_]?g||(g=nh(p)):void 0;(n!==d||y!==e)&&(v=(d=n).copy()).on(m,y=e),t.on=v})):this.styleTween(t,(x=t,M=n+"",function(){var t=E(this,x);return t===M?null:t===w?b:b=N(w=t,n)}),e).on("end.style."+t,null)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw Error();return this.tween(r,function(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&function(n){this.style.setProperty(t,o.call(this,n),e)}),r}return o._value=n,o}(t,n,null==e?"":e))},text:function(t){var n,e;return this.tween("text","function"==typeof t?(n=ns(this,"text",t),function(){var t=n(this);this.textContent=null==t?"":t}):(e=null==t?"":t+"",function(){this.textContent=e}))},textTween:function(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw Error();return this.tween(n,function(t){var n,e;function r(){var r=t.apply(this,arguments);return r!==e&&(n=(e=r)&&function(t){this.textContent=r.call(this,t)}),n}return r._value=t,r}(t))},remove:function(){var t;return this.on("end.remove",(t=this._id,function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}))},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=nt(this.node(),e).tween,o=0,a=i.length;o<a;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?function(t,n){var e,r;return function(){var i=t7(this,t),o=i.tween;if(o!==e){r=e=o;for(var a=0,u=r.length;a<u;++a)if(r[a].name===n){(r=r.slice()).splice(a,1);break}}i.tween=r}}:function(t,n,e){var r,i;if("function"!=typeof e)throw Error();return function(){var o=t7(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var u={name:n,value:e},s=0,l=i.length;s<l;++s)if(i[s].name===n){i[s]=u;break}s===l&&i.push(u)}o.tween=i}})(e,t,n))},delay:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?function(t,n){return function(){t9(this,t).delay=+n.apply(this,arguments)}}:function(t,n){return n*=1,function(){t9(this,t).delay=n}})(n,t)):nt(this.node(),n).delay},duration:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?function(t,n){return function(){t7(this,t).duration=+n.apply(this,arguments)}}:function(t,n){return n*=1,function(){t7(this,t).duration=n}})(n,t)):nt(this.node(),n).duration},ease:function(t){var n=this._id;return arguments.length?this.each(function(t,n){if("function"!=typeof n)throw Error();return function(){t7(this,t).ease=n}}(n,t)):nt(this.node(),n).ease},easeVarying:function(t){var n;if("function"!=typeof t)throw Error();return this.each((n=this._id,function(){var e=t.apply(this,arguments);if("function"!=typeof e)throw Error();t7(this,n).ease=e}))},end:function(){var t,n,e=this,r=e._id,i=e.size();return new Promise(function(o,a){var u={value:a},s={value:function(){0==--i&&o()}};e.each(function(){var e=t7(this,r),i=e.on;i!==t&&((n=(t=i).copy())._.cancel.push(u),n._.interrupt.push(u),n._.end.push(s)),e.on=n}),0===i&&o()})},[Symbol.iterator]:nd[Symbol.iterator]};var nv={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};G.prototype.interrupt=function(t){return this.each(function(){nn(this,t)})},G.prototype.transition=function(t){var n,e;t instanceof np?(n=t._id,t=t._name):(n=++nc,(e=nv).time=tW(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a,u=r[o],s=u.length,l=0;l<s;++l)(a=u[l])&&t4(a,t,n,l,u,e||function(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))throw Error(`transition ${n} not found`);return e}(a,n));return new np(r,this._parents,t,n)};let{abs:ny,max:ng,min:n_}=Math;function nm(t){return{type:t}}function nx(t){return((t=Math.exp(t))+1/t)/2}["w","e"].map(nm),["n","s"].map(nm),["n","w","e","s","nw","ne","sw","se"].map(nm);let nw=function t(n,e,r){function i(t,i){var o,a,u=t[0],s=t[1],l=t[2],f=i[0],h=i[1],c=i[2],p=f-u,d=h-s,v=p*p+d*d;if(v<1e-12)a=Math.log(c/l)/n,o=function(t){return[u+t*p,s+t*d,l*Math.exp(n*t*a)]};else{var y=Math.sqrt(v),g=(c*c-l*l+r*v)/(2*l*e*y),_=(c*c-l*l-r*v)/(2*c*e*y),m=Math.log(Math.sqrt(g*g+1)-g);a=(Math.log(Math.sqrt(_*_+1)-_)-m)/n,o=function(t){var r,i,o=t*a,f=nx(m),h=l/(e*y)*(f*(((r=Math.exp(2*(r=n*o+m)))-1)/(r+1))-((i=Math.exp(i=m))-1/i)/2);return[u+h*p,s+h*d,l*f/nx(n*o+m)]}}return o.duration=1e3*a*n/Math.SQRT2,o}return i.rho=function(n){var e=Math.max(.001,+n),r=e*e;return t(e,r,r*r)},i}(Math.SQRT2,2,4),nb=t=>()=>t;function nM(t,{sourceEvent:n,target:e,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function nN(t,n,e){this.k=t,this.x=n,this.y=e}nN.prototype={constructor:nN,scale:function(t){return 1===t?this:new nN(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new nN(this.k,this.x+this.k*t,this.y+this.k*n)},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 nk=new nN(1,0,0);function nA(t){for(;!t.__zoom;)if(!(t=t.parentNode))return nk;return t.__zoom}function nE(t){t.stopImmediatePropagation()}function nz(t){t.preventDefault(),t.stopImmediatePropagation()}function nS(t){return(!t.ctrlKey||"wheel"===t.type)&&!t.button}function n$(){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 nT(){return this.__zoom||nk}function nq(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function nC(){return navigator.maxTouchPoints||"ontouchstart"in this}function nP(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],a=t.invertY(n[1][1])-e[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))}nA.prototype=nN.prototype,t.s(["Transform",0,nN,"default",0,nA,"identity",0,nk],7394),t.s(["default",0,function(){var t,n,e,i=nS,o=n$,a=nP,u=nq,s=nC,l=[0,1/0],f=[[-1/0,-1/0],[1/0,1/0]],h=250,c=nw,p=r("start","zoom","end"),d=0,v=10;function y(t){t.property("__zoom",nT).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",k).filter(s).on("touchstart.zoom",A).on("touchmove.zoom",E).on("touchend.zoom touchcancel.zoom",z).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(t,n){return(n=Math.max(l[0],Math.min(l[1],n)))===t.k?t:new nN(n,t.x,t.y)}function _(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i===t.y?t:new nN(t.k,r,i)}function m(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function x(t,n,e,r){t.on("start.zoom",function(){w(this,arguments).event(r).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(r).end()}).tween("zoom",function(){var t=arguments,i=w(this,t).event(r),a=o.apply(this,t),u=null==e?m(a):"function"==typeof e?e.apply(this,t):e,s=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),l=this.__zoom,f="function"==typeof n?n.apply(this,t):n,h=c(l.invert(u).concat(s/l.k),f.invert(u).concat(s/f.k));return function(t){if(1===t)t=f;else{var n=h(t),e=s/n[2];t=new nN(e,u[0]-n[0]*e,u[1]-n[1]*e)}i.zoom(null,t)}})}function w(t,n,e){return!e&&t.__zooming||new b(t,n)}function b(t,n){this.that=t,this.args=n,this.active=0,this.sourceEvent=null,this.extent=o.apply(t,n),this.taps=0}function M(t,...n){if(i.apply(this,arguments)){var e=w(this,n).event(t),r=this.__zoom,o=Math.max(l[0],Math.min(l[1],r.k*Math.pow(2,u.apply(this,arguments)))),s=tD(t);if(e.wheel)(e.mouse[0][0]!==s[0]||e.mouse[0][1]!==s[1])&&(e.mouse[1]=r.invert(e.mouse[0]=s)),clearTimeout(e.wheel);else{if(r.k===o)return;e.mouse=[s,r.invert(s)],nn(this),e.start()}nz(t),e.wheel=setTimeout(function(){e.wheel=null,e.end()},150),e.zoom("mouse",a(_(g(r,o),e.mouse[0],e.mouse[1]),e.extent,f))}}function N(t,...n){if(!e&&i.apply(this,arguments)){var r=t.currentTarget,o=w(this,n,!0).event(t),u=F(t.view).on("mousemove.zoom",function(t){if(nz(t),!o.moved){var n=t.clientX-l,e=t.clientY-h;o.moved=n*n+e*e>d}o.event(t).zoom("mouse",a(_(o.that.__zoom,o.mouse[0]=tD(t,r),o.mouse[1]),o.extent,f))},!0).on("mouseup.zoom",function(t){u.on("mousemove.zoom mouseup.zoom",null),Z(t.view,o.moved),nz(t),o.event(t).end()},!0),s=tD(t,r),l=t.clientX,h=t.clientY;J(t.view),nE(t),o.mouse=[s,this.__zoom.invert(s)],nn(this),o.start()}}function k(t,...n){if(i.apply(this,arguments)){var e=this.__zoom,r=tD(t.changedTouches?t.changedTouches[0]:t,this),u=e.invert(r),s=e.k*(t.shiftKey?.5:2),l=a(_(g(e,s),r,u),o.apply(this,n),f);nz(t),h>0?F(this).transition().duration(h).call(x,l,r,t):F(this).call(y.transform,l,r,t)}}function A(e,...r){if(i.apply(this,arguments)){var o,a,u,s,l=e.touches,f=l.length,h=w(this,r,e.changedTouches.length===f).event(e);for(nE(e),a=0;a<f;++a)s=[s=tD(u=l[a],this),this.__zoom.invert(s),u.identifier],h.touch0?h.touch1||h.touch0[2]===s[2]||(h.touch1=s,h.taps=0):(h.touch0=s,o=!0,h.taps=1+!!t);t&&(t=clearTimeout(t)),o&&(h.taps<2&&(n=s[0],t=setTimeout(function(){t=null},500)),nn(this),h.start())}}function E(t,...n){if(this.__zooming){var e,r,i,o,u=w(this,n).event(t),s=t.changedTouches,l=s.length;for(nz(t),e=0;e<l;++e)i=tD(r=s[e],this),u.touch0&&u.touch0[2]===r.identifier?u.touch0[0]=i:u.touch1&&u.touch1[2]===r.identifier&&(u.touch1[0]=i);if(r=u.that.__zoom,u.touch1){var h=u.touch0[0],c=u.touch0[1],p=u.touch1[0],d=u.touch1[1],v=(v=p[0]-h[0])*v+(v=p[1]-h[1])*v,y=(y=d[0]-c[0])*y+(y=d[1]-c[1])*y;r=g(r,Math.sqrt(v/y)),i=[(h[0]+p[0])/2,(h[1]+p[1])/2],o=[(c[0]+d[0])/2,(c[1]+d[1])/2]}else{if(!u.touch0)return;i=u.touch0[0],o=u.touch0[1]}u.zoom("touch",a(_(r,i,o),u.extent,f))}}function z(t,...r){if(this.__zooming){var i,o,a=w(this,r).event(t),u=t.changedTouches,s=u.length;for(nE(t),e&&clearTimeout(e),e=setTimeout(function(){e=null},500),i=0;i<s;++i)o=u[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=tD(o,this),Math.hypot(n[0]-o[0],n[1]-o[1])<v)){var l=F(this).on("dblclick.zoom");l&&l.apply(this,arguments)}}}return y.transform=function(t,n,e,r){var i=t.selection?t.selection():t;i.property("__zoom",nT),t!==i?x(t,n,e,r):i.interrupt().each(function(){w(this,arguments).event(r).start().zoom(null,"function"==typeof n?n.apply(this,arguments):n).end()})},y.scaleBy=function(t,n,e,r){y.scaleTo(t,function(){var t=this.__zoom.k,e="function"==typeof n?n.apply(this,arguments):n;return t*e},e,r)},y.scaleTo=function(t,n,e,r){y.transform(t,function(){var t=o.apply(this,arguments),r=this.__zoom,i=null==e?m(t):"function"==typeof e?e.apply(this,arguments):e,u=r.invert(i),s="function"==typeof n?n.apply(this,arguments):n;return a(_(g(r,s),i,u),t,f)},e,r)},y.translateBy=function(t,n,e,r){y.transform(t,function(){return a(this.__zoom.translate("function"==typeof n?n.apply(this,arguments):n,"function"==typeof e?e.apply(this,arguments):e),o.apply(this,arguments),f)},null,r)},y.translateTo=function(t,n,e,r,i){y.transform(t,function(){var t=o.apply(this,arguments),i=this.__zoom,u=null==r?m(t):"function"==typeof r?r.apply(this,arguments):r;return a(nk.translate(u[0],u[1]).scale(i.k).translate("function"==typeof n?-n.apply(this,arguments):-n,"function"==typeof e?-e.apply(this,arguments):-e),t,f)},r,i)},b.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,n){return this.mouse&&"mouse"!==t&&(this.mouse[1]=n.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=n.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=n.invert(this.touch1[0])),this.that.__zoom=n,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){var n=F(this.that).datum();p.call(t,this.that,new nM(t,{sourceEvent:this.sourceEvent,target:y,type:t,transform:this.that.__zoom,dispatch:p}),n)}},y.wheelDelta=function(t){return arguments.length?(u="function"==typeof t?t:nb(+t),y):u},y.filter=function(t){return arguments.length?(i="function"==typeof t?t:nb(!!t),y):i},y.touchable=function(t){return arguments.length?(s="function"==typeof t?t:nb(!!t),y):s},y.extent=function(t){return arguments.length?(o="function"==typeof t?t:nb([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),y):o},y.scaleExtent=function(t){return arguments.length?(l[0]=+t[0],l[1]=+t[1],y):[l[0],l[1]]},y.translateExtent=function(t){return arguments.length?(f[0][0]=+t[0][0],f[1][0]=+t[1][0],f[0][1]=+t[0][1],f[1][1]=+t[1][1],y):[[f[0][0],f[0][1]],[f[1][0],f[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?(c=t,y):c},y.on=function(){var t=p.on.apply(p,arguments);return t===p?y:t},y.clickDistance=function(t){return arguments.length?(d=(t*=1)*t,y):Math.sqrt(d)},y.tapDistance=function(t){return arguments.length?(v=+t,y):v},y}],36755),t.s([],47716)}]);
@@ -1,33 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2776,e=>{"use strict";var t=e.i(43476),r=e.i(15812);e.s(["default",0,function({children:e}){let{userId:n,ready:i}=(0,r.useUser)();return i&&n?e:(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff",padding:24,textAlign:"center",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:i?(0,t.jsxs)("div",{style:{maxWidth:420},children:[(0,t.jsx)("div",{style:{fontSize:18,fontWeight:700,marginBottom:8},children:"Can’t reach 6 Degrees’ local server"}),(0,t.jsx)("div",{style:{color:"#888",fontSize:14,lineHeight:1.6},children:"The page loaded but the app behind it is not answering. If you started it from a terminal, check that window for an error, then reload this page."})]}):(0,t.jsx)("div",{style:{fontSize:18,fontWeight:600},children:"Loading…"})})}])},77305,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(19821),i=e.i(64745),o=e.i(22016);let l={S:25,A:15,B:10,C:5,D:2},s={S:100,A:60,B:35,C:15,D:5};var a=e.i(5258);let d={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},c="1px solid rgba(255,255,255,0.1)";function p({person:e,size:r=36,ring:n}){let i=d[e?.tier]||"#667";return(0,t.jsxs)("div",{style:{position:"relative",width:r,height:r,flexShrink:0},children:[(0,t.jsx)("div",{style:{width:r,height:r,borderRadius:"50%",background:i,color:e?.tier==="S"?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:.34*r,fontWeight:800,border:`2px solid ${n||i}`},children:(0,a.initialsFor)(e?.name||"?")}),e?.profile_image_url&&(0,t.jsx)("img",{src:e.profile_image_url,alt:"",onError:e=>{e.currentTarget.style.display="none"},style:{position:"absolute",inset:0,width:r,height:r,borderRadius:"50%",objectFit:"cover",border:`2px solid ${n||i}`}})]})}function f({progress:e,size:r=86,color:n="#FF6B35",children:i}){let o=r/2-5,l=2*Math.PI*o;return(0,t.jsxs)("div",{style:{position:"relative",width:r,height:r},children:[(0,t.jsxs)("svg",{width:r,height:r,style:{position:"absolute",inset:0,transform:"rotate(-90deg)"},children:[(0,t.jsx)("circle",{cx:r/2,cy:r/2,r:o,fill:"none",stroke:"rgba(255,255,255,0.08)",strokeWidth:5}),(0,t.jsx)("circle",{cx:r/2,cy:r/2,r:o,fill:"none",stroke:n,strokeWidth:5,strokeLinecap:"round",strokeDasharray:`${l*Math.min(1,e)} ${l}`,style:{transition:"stroke-dasharray 0.5s ease"}})]}),(0,t.jsx)("div",{style:{position:"absolute",inset:9,display:"flex",alignItems:"center",justifyContent:"center"},children:i})]})}function h({recs:e,sentIds:n,added:i,mappedIds:a,onSend:x,onUndo:b}){let y=(0,r.useMemo)(()=>(function({recs:e=[],sentIds:t=new Set,added:r=[],mappedIds:n=new Set}){var i;let o,a,d,c=new Map,p=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(p.has(e))continue;p.add(e);let r=c.get(t.bridge.id);r||(r={bridge:t.bridge,people:[]},c.set(t.bridge.id,r)),r.people.push(t)}let f=new Map;for(let e of r){let t=e.unlocked_from_bridge_id;t&&f.set(t,[...f.get(t)||[],e])}let h=[],g=0,u=0;for(let{bridge:e,people:r}of c.values()){let n=r.filter(e=>t.has(e.id)),i=f.get(e.id)||[];u+=n.length,g+=n.reduce((e,t)=>e+(l[t.tier]||2),0),g+=i.reduce((e,t)=>e+(s[t.tier]||5),0);let o=Math.ceil(r.length/5)||1,a=0;for(;a<o-1&&r.slice(5*a,(a+1)*5).every(e=>t.has(e.id));)a++;let d=r.slice(5*a,(a+1)*5),c=d.filter(e=>t.has(e.id)).length,p=c===d.length&&a===o-1;h.push({bridge:e,people:r,stage:a+1,stages:o,targets:d,done:c,progress:d.length?c/d.length:1,complete:p,sent:n.length,added:i,value:d.filter(e=>!t.has(e.id)).reduce((e,t)=>e+(t.priority||0),0),open:{S:d.filter(e=>"S"===e.tier&&!t.has(e.id)).length,A:d.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 x=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),b=new Set,y=[];for(let e of x){let t=e.person.profile_url||e.person.id;if(!b.has(t)&&(b.add(t),y.push(e),3===y.length))break}let m=r.filter(e=>e.unlocked_from_bridge_id).length;return{clusters:h,nextMoves:y,points:g,level:(a=((o=Math.floor(Math.sqrt(Math.max(0,i=g)/40))+1)-1)**2*40,d=o**2*40,{level:o,floor:a,next:d,progress:(i-a)/(d-a)}),sentTotal:u,addedTotal:m,newDoors:r.filter(e=>e.unlocked_from_bridge_id&&!n.has(e.id)),clearedStages:h.reduce((e,t)=>e+(t.stage-1)+ +!!t.complete,0)}})({recs:e,sentIds:n,added:i,mappedIds:a}),[e,n,i,a]),[m,S]=(0,r.useState)(null),[j,v]=(0,r.useState)(null),{level:k}=y;async function w(e,t){await x(e);let r=t.done+1,n=String(t.bridge.name||"").split(/[\s,]+/)[0];v(r>=t.targets.length?`+${l[e.tier]||2} \xb7 Stage ${t.stage} of ${n}'s circle cleared — the next 5 are up`:`+${l[e.tier]||2} \xb7 ${n}'s circle ${r}/${t.targets.length}`),setTimeout(()=>v(null),3500)}let _=y.clusters.find(e=>e.bridge.id===m);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:c,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:k.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:y.points})," points · ",(0,t.jsx)("b",{children:k.next-y.points})," to level ",k.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*k.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."})]}),[[y.sentTotal,"invites sent"],[y.addedTotal,"people added"],[y.clearedStages,"stages cleared"]].map(([e,r])=>(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:r})]},r))]}),y.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:[y.newDoors.length," new ",1===y.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)(o.default,{href:"/setup",style:{color:"#00ff88"},children:"Map them on the Scan page →"})]}),y.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:y.nextMoves.map(({person:e,cluster:r},n)=>(0,t.jsxs)("div",{style:{padding:14,borderRadius:12,border:`1px solid ${d[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:["#",n+1]}),(0,t.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center"},children:[(0,t.jsx)(p,{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:d[r.bridge.tier]},children:r.bridge.name})," · their circle ",r.done,"/",r.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:u,children:"Open on LinkedIn"}),(0,t.jsxs)("button",{onClick:()=>w(e,r),style:g,children:["I sent an invite · +",l[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:y.clusters.map(e=>{let r=m===e.bridge.id;return(0,t.jsxs)("button",{onClick:()=>S(r?null:e.bridge.id),style:{padding:12,borderRadius:12,cursor:"pointer",textAlign:"center",color:"#fff",border:r?"1px solid #FF6B35":c,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)(f,{progress:e.progress,color:e.complete?"#00ff88":"#FF6B35",children:(0,t.jsx)(p,{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 ${d[e.tier]||"#667"}`,background:n.has(e.id)?d[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)})}),_&&(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)(p,{person:_.bridge,size:40}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{fontWeight:800},children:[_.bridge.name,"’s circle · stage ",_.stage," of ",_.stages]}),(0,t.jsxs)("div",{style:{fontSize:12,color:"#aab7b7"},children:["Ask ",_.bridge.name?.split(" ")[0]," for an intro, or invite them directly. Mark each one when it’s sent."]})]})]}),_.targets.map(e=>{let r=n.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)(p,{person:e,size:34,ring:r?"#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:d[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:u,children:"LinkedIn"}),r?(0,t.jsx)("button",{onClick:()=>b(e),style:{...u,color:"#00ff88"},children:"Sent ✓ (undo)"}):(0,t.jsxs)("button",{onClick:()=>w(e,_),style:g,children:["Sent · +",l[e.tier]||2]})]},e.id)}),_.added.length>0&&(0,t.jsxs)("div",{style:{marginTop:10,fontSize:12,color:"#00ff88"},children:["★ Added from this circle: ",_.added.map(e=>e.name).join(", ")]})]}),j&&(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:j})]})}let g={padding:"7px 12px",borderRadius:8,border:"none",cursor:"pointer",fontWeight:800,fontSize:12,background:"linear-gradient(135deg, #FF6B35, #FFD700)",color:"#000"},u={padding:"7px 12px",borderRadius:8,border:c,cursor:"pointer",fontWeight:600,fontSize:12,background:"rgba(255,255,255,0.05)",color:"#dfe6e9",textDecoration:"none"};var x=e.i(2776),b=e.i(15812),y=e.i(90179);let m={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"};function S(){let{userId:e,userProfile:l}=(0,b.useUser)(),s=l?.sectors||[],[a,d]=(0,r.useState)([]),[c,p]=(0,r.useState)(!0),[f,g]=(0,r.useState)("all"),[u,x]=(0,r.useState)(new Set),[S,j]=(0,r.useState)(new Set),[v,k]=(0,r.useState)([]),[w,_]=(0,r.useState)("quest"),[F,C]=(0,r.useState)([]),[B,z]=(0,r.useState)(()=>new Set),[R,T]=(0,r.useState)(null),[A,O]=(0,r.useState)(()=>{{let e=new URLSearchParams(window.location.search);if(e.get("groupBy"))return e.get("groupBy")}return"bridge"});if((0,r.useEffect)(()=>{{let e=new URLSearchParams(window.location.search).get("bridge");e&&T(e)}},[]),(0,r.useEffect)(()=>{!i.IS_DEMO&&e&&t();async function t(){let[t,r]=await Promise.all([(0,n.loadNetwork)(e),fetch(`/api/outreach?userId=${e}`).then(e=>e.json()).catch(()=>({pending:[]}))]),i=t.degree1,o=t.degree2;C(i.filter(e=>e.unlocked_from_bridge_id)),z(new Set(o.map(e=>e.source_connection_id).filter(Boolean)));let l=new Set(i.map(e=>e.profile_url)),a={};i.forEach(e=>{a[e.id]=e}),j(new Set((r.pending||[]).map(e=>e.id))),k((r.pending||[]).map(e=>({...e,bridge:a[e.source_connection_id]||null}))),d(o.filter(e=>("S"===e.tier||"A"===e.tier||"B"===e.tier)&&!l.has(e.profile_url)).map(e=>{let t,r,n=a[e.source_connection_id],i=(t=parseFloat(e.power_score)||0,r=(e.headline||"").toLowerCase(),(0,y.rowCompanyScore)(e)>=y.TOP_COMPANY&&(t+=1),(s||[]).forEach(e=>{r.includes(e.toLowerCase())&&(t+=.5)}),"S"===e.tier?t*=1.5:"A"===e.tier&&(t*=1.2),t),o="S"===e.tier?50:"A"===e.tier?25:10;return{...e,bridge:n,priority:i,xp:o}}).sort((e,t)=>t.priority-e.priority)),p(!1)}},[e]),i.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)(o.default,{href:"/",style:{fontSize:12,color:"rgba(255,255,255,0.5)",textDecoration:"none"},children:"← Back to the network"})]});let W="all"===f?a:a.filter(e=>e.tier===f);R&&(W=W.filter(e=>e.bridge?.id===R));let $={S:0,A:0,B:0};a.forEach(e=>{void 0!==$[e.tier]&&$[e.tier]++});let I={};W.forEach(e=>{let t;I[t="bridge"===A?e.bridge?.id||"unknown":"company"===A?(e.company||"Unknown").trim()||"Unknown":e.tier]||(I[t]=[]),I[t].push(e)});let E={S:0,A:1,B:2},D=Object.entries(I).sort((e,t)=>{if("tier"===A)return(E[e[0]]||9)-(E[t[0]]||9);if("bridge"===A){let r=e[1][0]?.bridge,n=t[1][0]?.bridge,i=E[r?.tier]??9,o=E[n?.tier]??9;if(i!==o)return i-o}return t[1].length-e[1].length});function P(e){x(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})}return c?(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.jsxs)("header",{style:{padding:"14px 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",flexShrink:0},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:10},children:[(0,t.jsxs)(o.default,{href:"/",style:{display:"flex",alignItems:"center",gap:6,color:"#888",textDecoration:"none",fontSize:13,fontWeight:600,padding:"6px 14px",borderRadius:6,background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.1)"},children:[(0,t.jsx)("span",{style:{fontSize:16},children:"←"})," Map"]}),(0,t.jsx)("h1",{style:{fontSize:20,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FF6B35, #FFD700)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Outlink"}),(0,t.jsxs)("div",{style:{display:"flex",gap:2,background:"rgba(255,255,255,0.06)",borderRadius:6,padding:2},children:[(0,t.jsx)("button",{onClick:()=>_("quest"),style:{padding:"5px 12px",borderRadius:4,border:"none",fontSize:11,fontWeight:700,cursor:"pointer",background:"quest"===w?"linear-gradient(135deg, #FFD700, #FF6B35)":"transparent",color:"quest"===w?"#000":"#FFD700"},children:"Circles"}),(0,t.jsxs)("button",{onClick:()=>_("recs"),style:{padding:"5px 12px",borderRadius:4,border:"none",fontSize:11,fontWeight:600,cursor:"pointer",background:"recs"===w?"#fff":"transparent",color:"recs"===w?"#000":"#888"},children:["To Add (",a.length,")"]}),(0,t.jsxs)("button",{onClick:()=>_("pending"),style:{padding:"5px 12px",borderRadius:4,border:"none",fontSize:11,fontWeight:600,cursor:"pointer",background:"pending"===w?"linear-gradient(135deg, #FF6B35, #FFD700)":"transparent",color:"pending"===w?"#000":"#FF6B35"},children:["Pending (",v.length,")"]})]}),(0,t.jsx)("div",{style:{marginLeft:"auto",display:"flex",gap:6},children:"recs"===w&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>O("tier"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"tier"===A?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"tier"===A?"#fff":"#666"},children:"By Tier"}),(0,t.jsx)("button",{onClick:()=>O("bridge"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"bridge"===A?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"bridge"===A?"#fff":"#666"},children:"By Bridge"}),(0,t.jsx)("button",{onClick:()=>O("company"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"company"===A?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"company"===A?"#fff":"#666"},children:"By Company"})]})})]}),(0,t.jsx)("div",{style:{display:"quest"===w?"none":"flex",gap:6},children:[{k:"all",l:`All (${a.length})`},{k:"S",l:`S (${$.S})`,c:m.S},{k:"A",l:`A (${$.A})`,c:m.A},{k:"B",l:`B (${$.B})`,c:m.B}].map(e=>(0,t.jsx)("button",{onClick:()=>g(e.k),style:{padding:"4px 12px",borderRadius:16,border:"none",fontSize:11,fontWeight:600,cursor:"pointer",background:f===e.k?e.c||"#fff":"rgba(255,255,255,0.06)",color:f===e.k?"#000":e.c||"#888"},children:e.l},e.k))})]}),"recs"===w&&u.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:[u.size," selected"]}),(0,t.jsxs)("button",{onClick:function(){let e=W.filter(e=>u.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>
2
- <style>body{background:#0a0a1a;color:#fff;font-family:-apple-system,sans-serif;padding:24px;margin:0}
3
- h2{color:#FFD700;margin-bottom:4px}p{color:#888;font-size:13px;margin-bottom:16px}
4
- .btn{display:block;padding:12px 16px;margin-bottom:6px;background:rgba(255,255,255,0.06);
5
- border:1px solid rgba(255,255,255,0.1);border-radius:8px;color:#fff;text-decoration:none;
6
- font-size:13px;transition:background 0.15s}.btn:hover{background:rgba(0,119,181,0.2)}
7
- .name{font-weight:700}.tier{font-size:11px;margin-left:8px;font-weight:600}
8
- .open-all{display:inline-block;padding:12px 24px;background:linear-gradient(135deg,#FFD700,#FF6B35);
9
- color:#000;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;border:none;margin-bottom:20px}</style></head>
10
- <body><h2>Open ${e.length} Profiles</h2>
11
- <p>Click each link or use the button below to open all at once.</p>
12
- <button class="open-all" onclick="document.querySelectorAll('.btn').forEach((a,i)=>setTimeout(()=>a.click(),i*300))">
13
- Open All (${e.length})</button>
14
- ${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("")}
15
- </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 ",u.size," on LinkedIn"]}),(0,t.jsxs)("span",{style:{fontSize:10,color:"#888"},children:["+",W.filter(e=>u.has(e.id)).reduce((e,t)=>e+t.xp,0)," XP potential"]}),(0,t.jsx)("button",{onClick:()=>x(new Set),style:{marginLeft:"auto",background:"none",border:"none",color:"#888",cursor:"pointer",fontSize:11},children:"Clear"})]}),"quest"===w&&(0,t.jsx)("div",{style:{flex:1,overflow:"auto"},children:(0,t.jsx)(h,{recs:a,sentIds:S,added:F,mappedIds:B,onSend:async t=>{try{await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-sent",connectionId:t.id,profileUrl:t.profile_url,userId:e})}),j(e=>new Set([...e,t.id])),k(e=>e.some(e=>e.id===t.id)?e:[...e,t])}catch{}},onUndo:async t=>{try{await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"undo",connectionId:t.id,userId:e})}),j(e=>{let r=new Set(e);return r.delete(t.id),r}),k(e=>e.filter(e=>e.id!==t.id))}catch{}}})}),"quest"!==w&&(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"===w&&(0,t.jsx)(t.Fragment,{children:0===v.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."}),v.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:[e.profile_image_url?(0,t.jsx)("img",{src:e.profile_image_url,alt:"",style:{width:36,height:36,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`2px solid ${m[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:m[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:m[e.tier],padding:"2px 8px",borderRadius:4,background:`${m[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:async()=>{await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"undo",connectionId:e.id})}),k(t=>t.filter(t=>t.id!==e.id)),j(t=>{let r=new Set(t);return r.delete(e.id),r})},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"===w&&(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:u.size===W.length&&W.length>0,onChange:function(){u.size===W.length?x(new Set):x(new Set(W.map(e=>e.id)))},style:{cursor:"pointer"}}),(0,t.jsxs)("span",{style:{fontSize:10,color:"#666"},children:["Select all (",W.length,")"]})]}),D.map(([e,r])=>(0,t.jsxs)("div",{style:{marginBottom:16},children:["bridge"===A?(()=>{let e=r[0]?.bridge;if(!e)return null;let n=r.filter(e=>"S"===e.tier).length,i=r.filter(e=>"A"===e.tier).length,o=r.filter(e=>"B"===e.tier).length,l=3*n+2*i+o;return(0,t.jsxs)("div",{style:{padding:"10px 12px",marginBottom:6,borderRadius:8,background:`${m[e.tier]||"#555"}08`,border:`1px solid ${m[e.tier]||"#555"}20`},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[e.profile_image_url?(0,t.jsx)("img",{src:e.profile_image_url,alt:"",style:{width:36,height:36,borderRadius:"50%",objectFit:"cover",border:`2px solid ${m[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:m[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:m[e.tier]},children:e.tier}),(0,t.jsxs)("div",{style:{fontSize:8,color:"#666"},children:[r.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:[n>0&&(0,t.jsxs)("span",{style:{color:"#FFD700",fontWeight:700},children:[n,"S"]}),i>0&&(0,t.jsxs)("span",{style:{color:"#9B59B6",fontWeight:700},children:[i,"A"]}),o>0&&(0,t.jsxs)("span",{style:{color:"#3498DB",fontWeight:700},children:[o,"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,l/30*100)}%`,background:`linear-gradient(90deg, ${m[e.tier]}, #FF6B35)`}})}),(0,t.jsxs)("button",{onClick:()=>{let e=r.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>
16
- <style>body{background:#0a0a1a;color:#fff;font-family:-apple-system,sans-serif;padding:24px}
17
- .btn{display:block;padding:10px 14px;margin-bottom:4px;background:rgba(255,255,255,0.06);
18
- border:1px solid rgba(255,255,255,0.1);border-radius:6px;color:#fff;text-decoration:none;font-size:12px}
19
- .btn:hover{background:rgba(0,119,181,0.2)}
20
- .oa{display:inline-block;padding:10px 20px;background:#0077B5;color:#fff;border-radius:6px;
21
- font-weight:700;font-size:13px;cursor:pointer;border:none;margin-bottom:16px}</style></head>
22
- <body><h3 style="color:#FF6B35">Top ${Math.min(10,e.length)} to connect</h3>
23
- <button class="oa" onclick="document.querySelectorAll('.btn').forEach((a,i)=>setTimeout(()=>a.click(),i*300))">
24
- 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,r.length)]})]})]})})():(0,t.jsxs)("div",{style:{padding:"6px 10px",marginBottom:4,background:"tier"===A?`${m[e]||"#555"}15`:"rgba(255,255,255,0.04)",borderLeft:`3px solid ${"tier"===A?m[e]||"#555":"#FF6B35"}`,borderRadius:4,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,t.jsx)("span",{style:{fontSize:11,fontWeight:700,color:"tier"===A?m[e]||"#888":"#FF6B35"},children:"tier"===A?`${e}-Tier`:e}),(0,t.jsx)("span",{style:{fontSize:10,color:"#666"},children:r.length})]}),"bridge"===A?["S","A","B"].map(e=>{let n=r.filter(t=>t.tier===e);return 0===n.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 ${m[e]}`},children:[(0,t.jsx)("input",{type:"checkbox",checked:n.every(e=>u.has(e.id)),onChange:()=>{let e=n.every(e=>u.has(e.id));x(t=>{let r=new Set(t);return n.forEach(t=>{e?r.delete(t.id):r.add(t.id)}),r})},style:{cursor:"pointer",flexShrink:0}}),(0,t.jsx)("div",{style:{width:6,height:6,borderRadius:"50%",background:m[e]}}),(0,t.jsxs)("span",{style:{fontSize:9,fontWeight:700,color:m[e]},children:[e,"-Tier"]}),(0,t.jsx)("span",{style:{fontSize:8,color:"#555"},children:n.length}),(0,t.jsxs)("button",{onClick:()=>{if(1===n.length)return void window.open(n[0].profile_url,"_blank");let t=`<!DOCTYPE html><html><head><title>${e}-Tier — ${n.length}</title>
25
- <style>body{background:#0a0a1a;color:#fff;font-family:-apple-system,sans-serif;padding:24px}
26
- .btn{display:block;padding:10px 14px;margin-bottom:4px;background:rgba(255,255,255,0.06);
27
- border:1px solid rgba(255,255,255,0.1);border-radius:6px;color:#fff;text-decoration:none;font-size:12px}
28
- .btn:hover{background:rgba(0,119,181,0.2)}
29
- .oa{display:inline-block;padding:10px 20px;background:#0077B5;color:#fff;border-radius:6px;
30
- font-weight:700;font-size:13px;cursor:pointer;border:none;margin-bottom:16px}</style></head>
31
- <body><h3 style="color:${m[e]}">${e}-Tier (${n.length})</h3>
32
- <button class="oa" onclick="document.querySelectorAll('.btn').forEach((a,i)=>setTimeout(()=>a.click(),i*300))">
33
- Open All</button>${n.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]})]}),n.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:u.has(e.id)?"rgba(255,215,0,0.05)":"transparent",cursor:"pointer"},onMouseEnter:t=>{u.has(e.id)||(t.currentTarget.style.background="rgba(255,255,255,0.04)")},onMouseLeave:t=>{u.has(e.id)||(t.currentTarget.style.background="transparent")},children:[(0,t.jsx)("input",{type:"checkbox",checked:u.has(e.id),onChange:()=>P(e.id),onClick:e=>e.stopPropagation(),style:{cursor:"pointer",flexShrink:0}}),e.profile_image_url?(0,t.jsx)("img",{src:e.profile_image_url,alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${m[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:m[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:()=>P(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:m[e.tier],flexShrink:0},children:parseFloat(e.power_score||0).toFixed(1)}),S.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:async t=>{t.stopPropagation();try{await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-sent",connectionId:e.id,profileUrl:e.profile_url})}),j(t=>new Set([...t,e.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)}):r.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:u.has(e.id)?"rgba(255,215,0,0.05)":"transparent",cursor:"pointer"},onMouseEnter:t=>{u.has(e.id)||(t.currentTarget.style.background="rgba(255,255,255,0.04)")},onMouseLeave:t=>{u.has(e.id)||(t.currentTarget.style.background="transparent")},children:[(0,t.jsx)("input",{type:"checkbox",checked:u.has(e.id),onChange:()=>P(e.id),onClick:e=>e.stopPropagation(),style:{cursor:"pointer",flexShrink:0}}),e.profile_image_url?(0,t.jsx)("img",{src:e.profile_image_url,alt:"",style:{width:32,height:32,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${m[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:m[e.tier]||"#555",color:"S"===e.tier?"#000":"#fff",display: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:()=>P(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:m[e.tier]},children:parseFloat(e.power_score).toFixed(1)})}),S.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:async t=>{t.stopPropagation();try{await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-sent",connectionId:e.id,profileUrl:e.profile_url})}),j(t=>new Set([...t,e.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)(x.default,{children:(0,t.jsx)(S,{})})}],77305)},19821,e=>{"use strict";async function t(e){let t=e?`/api/network?userId=${encodeURIComponent(e)}`:"/api/network",r=await fetch(t);if(!r.ok)throw Error(`Failed to load network (${r.status})`);let n=await r.json();return{degree1:n.degree1||[],degree2:n.degree2||[],degree3:n.degree3||[]}}e.s(["loadNetwork",0,t])},5258,e=>{"use strict";e.s(["TIER_COLORS",0,{S:"#f6c344",A:"#a78bfa",B:"#60a5fa",C:"#94a3b8",D:"#6b7280"},"TIER_COLORS_CLASSIC",0,{S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},"TIER_ORDER",0,["S","A","B","C","D"],"TIER_RING_RADIUS",0,{S:150,A:230,B:310,C:390,D:470},"initialsFor",0,function(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return 0===t.length?"?":(t[0].charAt(0)+(t.length>1?t[t.length-1].charAt(0):"")).toUpperCase()}])},22016,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return b},useLinkStatus:function(){return m}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(90809),l=e.r(43476),s=o._(e.r(71645)),a=e.r(95057),d=e.r(8372),c=e.r(18581),p=e.r(18967),f=e.r(5550),h=e.r(88540),g=e.r(91949),u=e.r(73668),x=e.r(9396);function b(t){var r;let n,i,o,[b,m]=(0,s.useOptimistic)(g.IDLE_LINK_STATUS),S=(0,s.useRef)(null),{href:j,as:v,children:k,prefetch:w=null,passHref:_,replace:F,shallow:C,scroll:B,onClick:z,onMouseEnter:R,onTouchStart:T,legacyBehavior:A=!1,onNavigate:O,transitionTypes:W,ref:$,unstable_dynamicOnHover:I,...E}=t;n=k,A&&("string"==typeof n||"number"==typeof n)&&(n=(0,l.jsx)("a",{children:n}));let D=s.default.useContext(d.AppRouterContext),P=!1!==w,L=!1===w?"none":!0===w?"full":"auto",M="none"!==L?"auto"===L?x.FetchStrategy.PPR:x.FetchStrategy.Full:x.FetchStrategy.PPR,U="string"==typeof(r=v||j)?r:(0,a.formatUrl)(r);if(A){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});i=s.default.Children.only(n)}let N=A?i&&"object"==typeof i&&i.ref:$,q,K=s.default.useCallback(e=>(null!==D&&(S.current=(0,g.mountLinkInstance)(e,U,D,M,P,m,q)),()=>{S.current&&((0,g.unmountLinkForCurrentNavigation)(S.current),S.current=null),(0,g.unmountPrefetchableInstance)(e)}),[P,U,D,M,m,q]),J={ref:(0,c.useMergedRef)(K,N),onClick(t){A||"function"!=typeof z||z(t),A&&i.props&&"function"==typeof i.props.onClick&&i.props.onClick(t),!D||t.defaultPrevented||function(t,r,n,i,o,l,a,d="none"){if("u">typeof window){let c,{nodeName:p}=t.currentTarget;if("A"===p.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,u.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(99781);s.default.startTransition(()=>{f(r,i?"replace":"push",!1===o?h.ScrollBehavior.NoScroll:h.ScrollBehavior.Default,n.current,a,d)})}}(t,U,S,F,B,O,W,L)},onMouseEnter(e){A||"function"!=typeof R||R(e),A&&i.props&&"function"==typeof i.props.onMouseEnter&&i.props.onMouseEnter(e),D&&P&&(0,g.onNavigationIntent)(e.currentTarget,!0===I)},onTouchStart:function(e){A||"function"!=typeof T||T(e),A&&i.props&&"function"==typeof i.props.onTouchStart&&i.props.onTouchStart(e),D&&P&&(0,g.onNavigationIntent)(e.currentTarget,!0===I)}};return(0,p.isAbsoluteUrl)(U)?J.href=U:A&&!_&&("a"!==i.type||"href"in i.props)||(J.href=(0,f.addBasePath)(U)),o=A?s.default.cloneElement(i,J):(0,l.jsx)("a",{...E,...J,children:n}),(0,l.jsx)(y.Provider,{value:b,children:o})}let y=(0,s.createContext)(g.IDLE_LINK_STATUS),m=()=>(0,s.useContext)(y);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return i}});let n=e.r(71645);function i(e,t){let r=(0,n.useRef)(null),i=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=o(e,n)),t&&(i.current=o(t,n))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return b},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return S},NormalizeError:function(){return y},PageNotFoundError:function(){return m},SP:function(){return u},ST:function(){return x},WEB_VITALS:function(){return o},execOnce:function(){return l},getDisplayName:function(){return p},getLocationOrigin:function(){return d},getURL:function(){return c},isAbsoluteUrl:function(){return a},isResSent:function(){return f},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return v}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function l(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,a=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&s.test(e)};function d(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=d();return e.substring(t.length)}function p(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function h(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function g(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await g(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${p(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let u="u">typeof performance,x=u&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class b extends Error{}class y extends Error{}class m extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class S extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function v(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(18967),i=e.r(52817);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,i.hasBasePath)(r.pathname)}catch(e){return!1}}},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return a},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return s}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function l(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,l(e));else t.set(r,l(n));return t}function a(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95057,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return s},formatWithValidation:function(){return d},urlObjectKeys:function(){return a}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(90809)._(e.r(98183)),l=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,n=e.protocol||"",i=e.pathname||"",s=e.hash||"",a=e.query||"",d=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?d=t+e.host:r&&(d=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(d+=":"+e.port)),a&&"object"==typeof a&&(a=String(o.urlQueryToSearchParams(a)));let c=e.search||a&&`?${a}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||l.test(n))&&!1!==d?(d="//"+(d||""),i&&"/"!==i[0]&&(i="/"+i)):d||(d=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),i=i.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${d}${i}${c}${s}`}let a=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function d(e){return s(e)}}]);
@@ -1,2 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2776,e=>{"use strict";var t=e.i(43476),n=e.i(15812);e.s(["default",0,function({children:e}){let{userId:r,ready:o}=(0,n.useUser)();return o&&r?e:(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff",padding:24,textAlign:"center",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:o?(0,t.jsxs)("div",{style:{maxWidth:420},children:[(0,t.jsx)("div",{style:{fontSize:18,fontWeight:700,marginBottom:8},children:"Can’t reach 6 Degrees’ local server"}),(0,t.jsx)("div",{style:{color:"#888",fontSize:14,lineHeight:1.6},children:"The page loaded but the app behind it is not answering. If you started it from a terminal, check that window for an error, then reload this page."})]}):(0,t.jsx)("div",{style:{fontSize:18,fontWeight:600},children:"Loading…"})})}])},68863,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(2776),o=e.i(22016),i=e.i(40996);let a={install:"Install",setup:"Set up the scanner"},s="1px solid rgba(255,255,255,0.1)",l={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},d=[25,50,100,200,500],c=[100,250,500,1e3,0],u=e=>new Date(e).toLocaleDateString(void 0,{month:"short",day:"numeric"});function h({cooldown:e,onLift:r,disabled:o}){let[i,a]=(0,n.useState)(!1);return e?(0,t.jsxs)("div",{role:"status",style:{padding:"12px 14px",borderRadius:8,fontSize:13,lineHeight:1.6,background:"rgba(255,80,80,0.08)",border:"1px solid rgba(255,80,80,0.35)",color:"#f3c9c9"},children:[(0,t.jsxs)("b",{style:{color:"#ff8080"},children:["Scanning is paused until ",new Date(e.until).toLocaleString(void 0,{weekday:"short",month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}),"."]})," ",e.reason,". Nothing that searches LinkedIn will run until then, so the account can recover.",(0,t.jsx)("div",{style:{marginTop:8,display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:i?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{style:{fontSize:12.5},children:"Only if people search works normally for you on linkedin.com right now."}),(0,t.jsx)("button",{onClick:()=>{a(!1),r()},style:{...b,color:"#ff8080"},children:"Yes, lift it"}),(0,t.jsx)("button",{onClick:()=>a(!1),style:b,children:"Keep it"})]}):(0,t.jsx)("button",{onClick:()=>a(!0),disabled:o,style:b,children:"Lift it early…"})})]}):null}function p({used:e,cap:n}){let r=n?Math.min(100,Math.round(e/n*100)):0;return(0,t.jsx)("div",{style:{height:5,borderRadius:3,background:"rgba(255,255,255,0.07)",overflow:"hidden",marginTop:4},children:(0,t.jsx)("div",{style:{height:"100%",width:`${r}%`,background:r>=100?"#ff6b6b":r>=75?"#FFD700":"#3498DB"}})})}function f({li:e,onSetLimits:n,disabled:r}){if(!e)return null;let{limits:o}=e,i=e.unreadable?"?":e.searchesToday;return(0,t.jsxs)("div",{style:{padding:"12px 14px",borderRadius:8,border:s,background:"rgba(255,255,255,0.03)",fontSize:12.5,color:"#b8c4c4"},children:[(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(210px, 1fr))",gap:14},children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("b",{style:{color:"#fff"},children:i})," of ",o.daily||"no limit"," searches in the last 24 hours"]}),(0,t.jsx)(p,{used:e.searchesToday||0,cap:o.daily})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("b",{style:{color:"#fff"},children:e.searchesMonth})," of ",o.monthly||"no limit"," this month · resets ",u(e.monthResets)]}),(0,t.jsx)(p,{used:e.searchesMonth,cap:o.monthly})]})]}),(0,t.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap",marginTop:10},children:[(0,t.jsx)("span",{children:"Budget:"}),(0,t.jsx)("select",{value:o.daily,disabled:r,onChange:e=>n({daily:Number(e.target.value),monthly:o.monthly}),style:x,children:d.map(e=>(0,t.jsxs)("option",{value:e,children:[e," a day"]},e))}),(0,t.jsx)("select",{value:o.monthly,disabled:r,onChange:e=>n({daily:o.daily,monthly:Number(e.target.value)}),style:x,children:c.map(e=>(0,t.jsx)("option",{value:e,children:e?`${e} a month`:"no monthly cap (Premium)"},e))}),(0,t.jsxs)("span",{style:{color:"#778"},children:[e.profilesToday," profile views today"]})]}),(0,t.jsxs)("div",{style:{marginTop:8,color:"#778",lineHeight:1.6},children:["Every page of someone’s connections is one search. LinkedIn limits a free account’s people searches by the month (it doesn’t say how many; reports put it around 250–350), resetting on the 1st. When a budget is used, a scan saves what it read and stops; the next one carries on from the same page.",o.daily>100&&(0,t.jsxs)("b",{style:{color:"#FFD700"},children:[" ",o.daily," a day can use up a free account’s month in a day or two."]})]})]})}function g({paused:e=[],onResume:r,onResumeAll:o,disabled:i}){let[a,d]=(0,n.useState)(!1);if(!e.length)return null;let c=e.filter(e=>e.legacy).length,h=a?e:e.slice(0,8);return(0,t.jsxs)("div",{style:{borderRadius:8,border:s,background:"rgba(255,255,255,0.03)"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 14px",borderBottom:s,flexWrap:"wrap"},children:[(0,t.jsxs)("div",{style:{flex:1,minWidth:200},children:[(0,t.jsxs)("b",{style:{fontSize:13.5},children:["Paused — ",e.length," ",1===e.length?"list":"lists"," with more to read"]}),(0,t.jsxs)("div",{style:{fontSize:12,color:"#8b9a9a",marginTop:2},children:["Each carries on from the page it stopped at",c?`; ${c} were read to page 10 before whole lists were read`:"","."]})]}),(0,t.jsx)("button",{onClick:o,disabled:i,style:{...y,opacity:i?.4:1,cursor:i?"not-allowed":"pointer",background:i?"rgba(255,255,255,0.06)":"linear-gradient(135deg, #3498DB, #9B59B6)"},children:"Resume all"})]}),(0,t.jsx)("div",{children:h.map(e=>(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 14px",borderBottom:"1px solid rgba(255,255,255,0.04)"},children:[(0,t.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:l[e.tier]||"#667",flexShrink:0}}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:13,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,t.jsxs)("div",{style:{fontSize:11.5,color:"#8b9a9a"},children:["Read to page ",e.pagesRead," · carries on at ",e.nextPage,e.at?` \xb7 ${u(e.at)}`:"",e.unclear>=2?" · came back unclear twice, so it waits at the back of Resume all":""]})]}),(0,t.jsx)("button",{onClick:()=>r(e),disabled:i,style:{...y,padding:"6px 12px",fontSize:12,opacity:i?.4:1,cursor:i?"not-allowed":"pointer"},children:"Resume"})]},e.id))}),e.length>8&&(0,t.jsx)("button",{onClick:()=>d(!a),style:{...b,padding:"10px 14px"},children:a?"Show fewer":`Show all ${e.length}`})]})}let y={padding:"8px 14px",borderRadius:7,fontSize:13,fontWeight:700,cursor:"pointer",border:s,background:"rgba(255,255,255,0.08)",color:"#fff"},b={background:"none",border:"none",color:"#8fb8d6",cursor:"pointer",fontSize:12.5,fontWeight:600,padding:0},x={padding:"6px 8px",borderRadius:6,fontSize:12.5,fontWeight:600,background:"rgba(255,255,255,0.08)",color:"#fff",border:s},m="1px solid rgba(255,255,255,0.1)",j={install:"Installing the scanner",setup:"Setting up the scanner",login:"Waiting for you to sign in",full:"Scanning your whole network",refresh:"Checking for new connections","auto-bridge":"Mapping 2nd-degree connections","auto-bridge-retry":"Mapping 2nd degree, hidden ones included",resume:"Carrying on with one paused list","resume-all":"Carrying on with every paused list"};function w(){let e;(0,n.useEffect)(()=>{"updates"===new URLSearchParams(window.location.search).get("check")&&window.location.replace("/settings?check=updates")},[]);let[r,s]=(0,n.useState)(null),[l,d]=(0,n.useState)(!1),[c,u]=(0,n.useState)(10),[p,y]=(0,n.useState)(["S","A"]),[b,x]=v("six-degrees-bridge-order","newest"),[w,B]=v("six-degrees-bridge-pages-v2",100),[E,L]=v("six-degrees-bridge-finish",!0),[O,z]=(0,n.useState)(null),F=(0,n.useRef)(null),$=(0,n.useCallback)(async()=>{try{let e=await fetch("/api/scraper");s(await e.json())}catch{s(e=>e||{ready:!1,checks:{},log:[]})}},[]);async function D(){z(null),await (0,i.stopScrape)().catch(e=>z(e.message)),$()}async function M(e,t={}){z(null),d(!0);try{let n=await fetch("/api/scraper",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e,...t})}),r=await n.json();n.ok||z(r.error||"Could not start.")}catch(e){z(e.message)}finally{d(!1),$()}}(0,n.useEffect)(()=>{$();let e=setInterval($,1500);return()=>clearInterval(e)},[$]),(0,n.useEffect)(()=>{F.current&&(F.current.scrollTop=F.current.scrollHeight)},[r?.log?.length]);let _=r?.checks||{},N=r?.running,W={...e=function(e){let t=e?.checks||{},n=(t,n,r)=>e?.running&&e.action===t?r:n;if(t.dependencies)return"bundled"===t.pythonSource?{done:!0,text:"Ready. The scanner and its Python come with the app, so there is nothing to install.",button:null}:"custom"===t.pythonSource?{done:!0,text:`Ready, on the Python named in SIX_DEGREES_PYTHON (${t.pythonPath}).`,button:null}:{done:!0,text:"Installed.",button:null};let r=t.ownPython&&"bundled"!==t.ownPython.source?`The Python named in SIX_DEGREES_PYTHON didn't work (${t.ownPython.problem}), so the scanner needs setting up another way. `:"";if(t.installFrom)return{done:!1,text:r+("downloaded"===t.installFrom.source?"Its own Python is already here. One more step, about a minute: it installs the browser-automation packages into it.":"One-time, about a minute. Downloads the browser-automation packages."),button:{action:"install",label:n("install","Install","Installing…")}};if(t.download){let e=Math.round(t.download.size/1048576);return{done:!1,text:`${r}${function(e){if(!e?.version)return"This computer has no Python the scanner can use.";let[t,n]=String(e.version).split(".").map(Number);return 3===t&&n>=10&&n<=14&&!1===e.venv?`This computer's Python ${e.version} can't make the scanner's own environment (on Ubuntu or Debian, python3-venv isn't installed).`:`This computer has Python ${e.version}, and the scanner needs 3.10 to 3.14.`}(t.systemPython)} Set up the scanner downloads its own Python ${t.download.version} (${e} MB, from GitHub) and the scanner's packages (from PyPI) into your data folder. Nothing else on this computer changes. About two minutes.`,button:{action:"setup",label:n("setup","Set up the scanner","Setting up…")}}}return{done:!1,text:`${r}No Python 3.10 to 3.14 was found on this machine. Install one from python.org, then reload.`,button:null}}(r),note:function(e,{done:t,button:n}){if(e?.source!=="bundled")return null;let r=/SIGKILL|code signature|not valid for use in process|quarantine|not permitted/i.test(e.problem||""),o=[`The Python that comes with the app didn't work (${e.problem}).`];return r&&o.push("macOS may have blocked it."),!1===e.retry&&o.push("Six Degrees won't try it again until you restart it."),t?o.push("The scanner uses another Python on this computer instead."):n?o.push(`To scan now, use ${a[n.action]} below: it gives the scanner a Python of its own in your data folder.`):o.push("To scan now, install Python 3.10 to 3.14 from python.org, then reload."),o.join(" ")}(r?.checks?.ownPython,e)};r&&_.dependencies;let A=r&&!_.chrome,U=r&&!_.scriptsFound,H=r?.ready&&!N,K=r?.linkedin,G=!!K?.cooldown,J=H&&!G,X=r?.network||{first:0,second:0,third:0},V=X.first,Y=r&&!N&&null!=r.exitCode&&0!==r.exitCode,q=Y?r.failure?.length?r.failure.join("\n"):[...r.log||[]].reverse().find(e=>!/^Stopped \(exit/.test(e)&&!/Warning|warnings\.warn/.test(e)):null;return(0,t.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"#fff",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:[(0,t.jsxs)("header",{style:{padding:"16px 24px",borderBottom:m,display:"flex",alignItems:"center",gap:16},children:[(0,t.jsx)(o.default,{href:"/",style:{display:"flex",alignItems:"center",gap:6,color:"#888",textDecoration:"none",fontSize:13,fontWeight:600,padding:"6px 14px",borderRadius:6,background:"rgba(255,255,255,0.06)",border:m},children:"← Back to Map"}),(0,t.jsx)("h1",{style:{fontSize:22,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FFD700, #9B59B6, #3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Scan your network"})]}),(0,t.jsxs)("div",{style:{maxWidth:720,margin:"0 auto",padding:"32px 24px 64px"},children:[(0,t.jsxs)("p",{style:{color:"#9aa",fontSize:15,lineHeight:1.6,marginTop:0},children:["This reads your own LinkedIn connections in a real Chrome window on this machine and saves them here. Nothing leaves your computer, and you will never be asked for your password — you sign in yourself, once.",!V&&" Three steps and your galaxy appears; each one ticks itself off."]}),V>0&&!N&&(0,t.jsx)(P,{children:(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,flexWrap:"wrap"},children:[(0,t.jsxs)("div",{style:{flex:1,minWidth:200},children:[(0,t.jsxs)("b",{children:[V.toLocaleString()," connections"]}),X.second>0&&(0,t.jsxs)(t.Fragment,{children:[", plus ",X.second.toLocaleString()," people in their circles"]}),X.third>0&&(0,t.jsxs)(t.Fragment,{children:[" and ",X.third.toLocaleString()," from company scans"]}),"."," ",(0,t.jsx)("span",{style:{color:"#9aa"},children:"Your galaxy is ready."})]}),(0,t.jsx)(o.default,{href:"/",style:{padding:"9px 18px",borderRadius:7,fontSize:13.5,fontWeight:700,color:"#0a0a1a",textDecoration:"none",background:"linear-gradient(135deg, #FFD700, #FF6B35)"},children:"See your network →"})]})}),Y&&(0,t.jsxs)(P,{tone:"bad",children:[(0,t.jsx)("b",{children:"The last run stopped before it finished."}),q&&(0,t.jsx)("div",{style:{marginTop:6,color:"#e8c4c4",whiteSpace:"pre-wrap",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:12.5},children:q}),(0,t.jsx)("div",{style:{color:"#9aa",marginTop:6},children:"The full log is below."})]}),U&&(0,t.jsxs)(P,{tone:"bad",children:[(0,t.jsx)("b",{children:"Can’t find the scanner files."}),(0,t.jsx)("br",{}),(0,t.jsxs)("span",{style:{color:"#9aa"},children:["Expected ",(0,t.jsx)("code",{style:S,children:"scripts/scrape.py"})," next to the app. If you downloaded a zip, run the app from inside the project folder."]})]}),A&&(0,t.jsxs)(P,{tone:"bad",children:[(0,t.jsx)("b",{children:"Google Chrome isn’t installed."}),(0,t.jsx)("br",{}),(0,t.jsxs)("span",{style:{color:"#9aa"},children:["The scanner drives your real Chrome. Install it from"," ",(0,t.jsx)("a",{href:"https://www.google.com/chrome/",target:"_blank",rel:"noreferrer",style:{color:"#3498DB"},children:"google.com/chrome"}),", then reload this page."]})]}),r&&W.note&&(0,t.jsx)(P,{tone:W.done?void 0:"bad",children:W.note}),(0,t.jsx)(C,{n:1,done:W.done,title:"Set up the scanner",body:r?W.text:"",action:r&&W.button&&(0,t.jsx)(T,{onClick:()=>M(W.button.action),disabled:l||N,children:W.button.label})}),(0,t.jsx)(C,{n:2,done:!!_.signedIn,title:"Sign into LinkedIn",body:_.signedIn?"Signed in on this machine. If LinkedIn ever asks for a security check, or a scan says you were signed out, open LinkedIn here and finish it by hand.":"Opens a Chrome window. Sign in with your email and password — “Continue with Google” cannot work here, because Google blocks its sign-in inside automated browsers.",action:_.dependencies&&(0,t.jsx)(T,{onClick:()=>M("login"),disabled:l||N,children:N&&"login"===r.action?"Waiting for you…":"Open LinkedIn"})}),(0,t.jsx)(C,{n:3,done:V>0,title:"1st degree — the people you know",body:"The first scan walks your whole connections list, about a minute and a half for 750 people. After that, Check for new only looks at what has been added since.",action:(0,t.jsxs)("div",{style:{display:"flex",gap:10,flexWrap:"wrap"},children:[(0,t.jsx)(T,{onClick:()=>M("full"),disabled:!J,primary:!0,children:N&&"full"===r.action?"Scanning…":"Scan my whole network"}),(0,t.jsx)(T,{onClick:()=>M("refresh"),disabled:!J,children:N&&"refresh"===r.action?"Checking…":"Check for new"})]})}),(0,t.jsx)(C,{n:4,done:!1,title:"2nd degree — the people they know",body:(0,t.jsxs)(t.Fragment,{children:["This is what fills ",(0,t.jsx)("b",{children:"Degrees"})," and ",(0,t.jsx)("b",{children:"Outlink"}),": it opens each of your connections in turn and reads who ",(0,t.jsx)("i",{children:"they"})," know. Most people hide their connections — those are noted and never tried again.",(0,t.jsx)("br",{}),(0,t.jsx)("br",{}),"It is slow on purpose, about two minutes between each person, because this is the part LinkedIn notices. During development a real account was temporarily restricted after roughly ",(0,t.jsx)("b",{children:"19 people in one sitting"}),". Run a batch, leave it for a day, run another — and stop the moment LinkedIn mentions unusual activity. It always picks up where it left off: anyone still without a mapped circle, in the order you choose below — your newest connections first, or highest tier first. Each person’s list is read to the end, saving every 10 pages, and a read that is stopped carries on from the same page next time."]}),action:(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,t.jsx)(h,{cooldown:K?.cooldown,disabled:l,onLift:()=>M("lift-cooldown")}),(0,t.jsx)(f,{li:K,disabled:l,onSetLimits:e=>M("set-limits",e)}),"score"===b&&(0,t.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[(0,t.jsx)("span",{style:{fontSize:12,color:"#8b9a9a"},children:"Work through"}),["S","A","B","C","D"].map(e=>{let n=p.includes(e);return(0,t.jsx)("button",{onClick:()=>y(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),disabled:N,style:{width:30,height:28,borderRadius:7,fontSize:12,fontWeight:700,cursor:N?"not-allowed":"pointer",border:m,background:n?"rgba(52,152,219,0.22)":"rgba(255,255,255,0.05)",color:n?"#cfe6f7":"#667"},children:e},e)}),(0,t.jsx)("span",{style:{fontSize:11.5,color:"#667"},children:p.length?"":"pick at least one"})]}),"newest"===b&&(0,t.jsxs)("div",{style:{fontSize:12,color:"#8b9a9a",lineHeight:1.6},children:["Goes by the date you connected, newest first, across every tier. Run"," ",(0,t.jsx)("b",{children:"Check for new"})," first so your latest connections are in the list."]}),(0,t.jsxs)("div",{style:{display:"flex",gap:10,flexWrap:"wrap",alignItems:"center"},children:[(0,t.jsx)("span",{style:{fontSize:12,color:"#8b9a9a"},children:"Start with"}),(0,t.jsxs)("select",{value:b,onChange:e=>x(e.target.value),disabled:N,style:k,children:[(0,t.jsx)("option",{value:"newest",children:"Newest connections first"}),(0,t.jsx)("option",{value:"score",children:"Highest tier first"})]}),(0,t.jsx)("span",{style:{fontSize:12,color:"#8b9a9a"},children:"Read up to"}),(0,t.jsxs)("select",{value:w,onChange:e=>B(Number(e.target.value)),disabled:N,style:k,children:[(0,t.jsx)("option",{value:100,children:"every page, to the end of their list"}),(0,t.jsx)("option",{value:50,children:"50 pages each"}),(0,t.jsx)("option",{value:25,children:"25 pages each"}),(0,t.jsx)("option",{value:10,children:"10 pages (~100 people) each"})]})]}),(0,t.jsxs)("label",{style:{display:"flex",gap:8,alignItems:"center",fontSize:12.5,color:"#cfd8d8",cursor:N?"not-allowed":"pointer"},children:[(0,t.jsx)("input",{type:"checkbox",checked:E,onChange:e=>L(e.target.checked),disabled:N}),"Also finish people already mapped, from the page each one stopped at"]}),(0,t.jsxs)("div",{style:{fontSize:12,color:"#FFD700",lineHeight:1.6},children:["Every page is a LinkedIn search, so it rests 20 seconds before each one and a minute after every 10, and a long list can take"," ",w>=100?"about 55 minutes a person":`about ${Math.max(5,Math.round(.55*w))} minutes a person`,". LinkedIn shows 100 pages of anyone’s connections at most. Free accounts have a monthly search limit: if LinkedIn says it has been reached, the scan saves what it read and stops, and carries on from that page next time. Keep batches small."]}),(0,t.jsxs)("div",{style:{display:"flex",gap:10,flexWrap:"wrap",alignItems:"center"},children:[(0,t.jsx)(T,{onClick:()=>M("auto-bridge",{maxBridges:c,tiers:"score"===b?p:[],order:b,maxPages:w,deeper:E}),disabled:!J||"score"===b&&!p.length,primary:!0,children:N&&"auto-bridge"===r.action?"Mapping…":"Map 2nd degree"}),(0,t.jsxs)("select",{value:c,onChange:e=>u(Number(e.target.value)),disabled:N,style:k,children:[(0,t.jsx)("option",{value:5,children:"5 people"}),(0,t.jsx)("option",{value:10,children:"10 people"}),(0,t.jsx)("option",{value:25,children:"25 people"}),(0,t.jsx)("option",{value:0,children:"everyone — not advised"})]}),(0,t.jsx)(T,{onClick:()=>M("auto-bridge-retry",{maxBridges:c,tiers:"score"===b?p:[],order:b,maxPages:w,deeper:E}),disabled:!J||"score"===b&&!p.length,children:"Retry hidden ones"})]}),(0,t.jsx)(g,{paused:r?.paused||[],disabled:!J,onResume:e=>M("resume",{id:e.id}),onResumeAll:()=>M("resume-all",{maxBridges:c})})]})}),N&&(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginTop:20,padding:"14px 16px",borderRadius:8,background:"rgba(255,255,255,0.05)",border:m},children:[(0,t.jsx)(R,{}),(0,t.jsxs)("div",{style:{flex:1,fontSize:13.5},children:[(0,t.jsx)("b",{children:j[r.action]||"Working"}),r.progress&&(0,t.jsx)(I,{p:r.progress,action:r.action}),(0,t.jsx)("div",{style:{color:"#8b9a9a",fontSize:12.5,marginTop:2},children:"Stopping closes the browser cleanly and keeps everything found so far."})]}),(0,t.jsx)(T,{onClick:D,tone:"bad",children:"Stop"})]}),O&&(0,t.jsx)(P,{tone:"bad",children:O}),r?.log?.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,margin:"28px 0 8px",fontSize:12,color:"#788",textTransform:"uppercase",letterSpacing:.6},children:[N&&(0,t.jsx)(R,{}),N?"Working":"Last run"]}),(0,t.jsx)("pre",{ref:F,style:{background:"rgba(0,0,0,0.45)",border:m,borderRadius:8,padding:14,maxHeight:280,overflow:"auto",margin:0,fontSize:12.5,lineHeight:1.7,color:"#b9c6c6",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:r.log.join("\n")})]}),(0,t.jsxs)("div",{style:{marginTop:32,paddingTop:20,borderTop:m,fontSize:13.5,color:"#8b9a9a"},children:["Checking for updates has moved to"," ",(0,t.jsx)(o.default,{href:"/settings#updates",style:{color:"#3498DB"},children:"Settings →"})]}),(0,t.jsxs)("p",{style:{color:"#667",fontSize:12.5,lineHeight:1.7,marginTop:32},children:["Automating LinkedIn may go against its User Agreement, and accounts have been restricted for it. This runs locally against your own account, at your own risk. LinkedIn’s own CSV export is the supported route and needs none of this —"," ",(0,t.jsx)(o.default,{href:"/import",style:{color:"#3498DB"},children:"import a CSV instead"}),"."]})]}),(0,t.jsx)("style",{children:`@keyframes spin { to { transform: rotate(360deg) } }
2
- @keyframes slide { 0% { transform: translateX(-100%) } 100% { transform: translateX(300%) } }`})]})}function v(e,t){let[r,o]=(0,n.useState)(t);return(0,n.useEffect)(()=>{try{let t=localStorage.getItem(e);null!==t&&o(JSON.parse(t))}catch{}},[e]),[r,t=>{o(t);try{localStorage.setItem(e,JSON.stringify(t))}catch{}}]}let S={background:"rgba(255,255,255,0.08)",padding:"1px 5px",borderRadius:4},k={padding:"9px 10px",borderRadius:7,fontSize:13.5,fontWeight:600,background:"rgba(255,255,255,0.08)",color:"#fff",border:m};function C({n:e,done:n,title:r,body:o,action:i}){return(0,t.jsxs)("div",{style:{display:"flex",gap:16,padding:"20px 0",borderBottom:m,alignItems:"flex-start"},children:[(0,t.jsx)("div",{style:{flexShrink:0,width:28,height:28,borderRadius:"50%",display:"grid",placeItems:"center",fontSize:13,fontWeight:700,background:n?"rgba(0,255,136,0.15)":"rgba(255,255,255,0.08)",color:n?"#00ff88":"#889",border:`1px solid ${n?"rgba(0,255,136,0.4)":"rgba(255,255,255,0.14)"}`},children:n?"✓":e}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:15.5,fontWeight:650,marginBottom:4},children:r}),(0,t.jsx)("div",{style:{fontSize:13.5,color:"#8b9a9a",lineHeight:1.6,marginBottom:12*!!i},children:o}),i]})]})}function T({children:e,onClick:n,disabled:r,primary:o,tone:i}){return(0,t.jsx)("button",{onClick:n,disabled:r,style:{padding:"9px 18px",borderRadius:7,fontSize:13.5,fontWeight:650,color:r?"#667":"#fff",background:r?"rgba(255,255,255,0.05)":"bad"===i?"rgba(255,80,80,0.15)":o?"linear-gradient(135deg, #9B59B6, #3498DB)":"rgba(255,255,255,0.08)",border:m,cursor:r?"not-allowed":"pointer"},children:e})}function P({children:e,tone:n}){return(0,t.jsx)("div",{style:{margin:"16px 0",padding:"14px 16px",borderRadius:8,fontSize:13.5,lineHeight:1.6,background:"bad"===n?"rgba(255,80,80,0.08)":"rgba(255,255,255,0.05)",border:`1px solid ${"bad"===n?"rgba(255,80,80,0.3)":"rgba(255,255,255,0.12)"}`},children:e})}function I({p:e,action:n}){let r;if("saving"===e.kind)return(0,t.jsxs)("div",{style:{margin:"8px 0 6px"},children:[(0,t.jsx)("div",{role:"progressbar","aria-label":"Saving",style:{height:8,borderRadius:4,overflow:"hidden",background:"rgba(255,255,255,0.08)",marginBottom:6},children:(0,t.jsx)("div",{style:{width:"35%",height:"100%",borderRadius:4,background:"linear-gradient(90deg, #9B59B6, #3498DB)",animation:"slide 1.2s ease-in-out infinite"}})}),(0,t.jsx)("div",{style:{fontSize:12.5,color:"#cfe6f7"},children:"Saving to your network and fetching photos — this can take a minute or two."})]});let o=Math.max(0,Math.min(100,Math.round(e.done/e.total*100)));return r="download"===e.kind?`Downloading Python: ${e.done.toFixed(1)} of ${e.total.toFixed(1)} MB \xb7 ${o}%`:"batch"===e.kind?`Person ${e.current} of ${e.total}`:"refresh"===n?`Looked at ${e.done.toLocaleString()} so far — stops once it reaches people already saved`:`${e.done.toLocaleString()} of ${e.total.toLocaleString()} connections \xb7 ${o}%`,(0,t.jsxs)("div",{style:{margin:"8px 0 6px"},children:["refresh"!==n&&(0,t.jsx)("div",{role:"progressbar","aria-valuemin":0,"aria-valuemax":e.total,"aria-valuenow":e.done,"aria-label":r,style:{height:8,borderRadius:4,overflow:"hidden",background:"rgba(255,255,255,0.08)",marginBottom:6},children:(0,t.jsx)("div",{style:{width:`${o}%`,height:"100%",borderRadius:4,background:"linear-gradient(90deg, #9B59B6, #3498DB)",transition:"width 0.6s ease"}})}),(0,t.jsx)("div",{style:{fontSize:12.5,color:"#cfe6f7"},children:r})]})}function R(){return(0,t.jsx)("span",{style:{width:11,height:11,borderRadius:"50%",display:"inline-block",border:"2px solid rgba(255,255,255,0.2)",borderTopColor:"#3498DB",animation:"spin 0.8s linear infinite"}})}e.s(["default",0,function(){return(0,t.jsx)(r.default,{children:(0,t.jsx)(w,{})})}],68863)},40996,e=>{"use strict";async function t(){let e=await fetch("/api/scraper");if(!e.ok)throw Error("Could not reach the app.");return e.json()}async function n(e,t,r={}){let o=await fetch("/api/scraper",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e,...t?{name:t}:{},...r})}),i=await o.json().catch(()=>({}));if(!o.ok)throw Error(i.error||"Could not start the scanner.");return i}async function r(){await fetch("/api/scraper",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"cancel"})})}e.s(["notReadyMessage",0,function(e){if(!e)return"Could not reach the app.";let t=e.checks||{};return t.scriptsFound?t.dependencies?t.chrome?null:"Google Chrome is not installed.":t.python||t.download?"The scanner is not set up yet — open Scan to set it up.":"No Python 3.10 to 3.14 is installed on this machine.":"The scanner files are missing from this install."},"runScrape",0,function(e,{name:r,onLog:o,...i}={}){return new Promise((a,s)=>{n(e,r,i).then(()=>{let e=setInterval(async()=>{try{let n=await t();o?.(n.log||[]),n.running||(clearInterval(e),a(n))}catch{}},1500)}).catch(s)})},"scraperStatus",0,t,"startScrape",0,n,"stopScrape",0,r])},22016,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return b},useLinkStatus:function(){return m}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let i=e.r(90809),a=e.r(43476),s=i._(e.r(71645)),l=e.r(95057),d=e.r(8372),c=e.r(18581),u=e.r(18967),h=e.r(5550),p=e.r(88540),f=e.r(91949),g=e.r(73668),y=e.r(9396);function b(t){var n;let r,o,i,[b,m]=(0,s.useOptimistic)(f.IDLE_LINK_STATUS),j=(0,s.useRef)(null),{href:w,as:v,children:S,prefetch:k=null,passHref:C,replace:T,shallow:P,scroll:I,onClick:R,onMouseEnter:B,onTouchStart:E,legacyBehavior:L=!1,onNavigate:O,transitionTypes:z,ref:F,unstable_dynamicOnHover:$,...D}=t;r=S,L&&("string"==typeof r||"number"==typeof r)&&(r=(0,a.jsx)("a",{children:r}));let M=s.default.useContext(d.AppRouterContext),_=!1!==k,N=!1===k?"none":!0===k?"full":"auto",W="none"!==N?"auto"===N?y.FetchStrategy.PPR:y.FetchStrategy.Full:y.FetchStrategy.PPR,A="string"==typeof(n=v||w)?n:(0,l.formatUrl)(n);if(L){if(r?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=s.default.Children.only(r)}let U=L?o&&"object"==typeof o&&o.ref:F,H,K=s.default.useCallback(e=>(null!==M&&(j.current=(0,f.mountLinkInstance)(e,A,M,W,_,m,H)),()=>{j.current&&((0,f.unmountLinkForCurrentNavigation)(j.current),j.current=null),(0,f.unmountPrefetchableInstance)(e)}),[_,A,M,W,m,H]),G={ref:(0,c.useMergedRef)(K,U),onClick(t){L||"function"!=typeof R||R(t),L&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!M||t.defaultPrevented||function(t,n,r,o,i,a,l,d="none"){if("u">typeof window){let c,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,g.isLocalURL)(n)){o&&(t.preventDefault(),location.replace(n));return}if(t.preventDefault(),a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:h}=e.r(99781);s.default.startTransition(()=>{h(n,o?"replace":"push",!1===i?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,r.current,l,d)})}}(t,A,j,T,I,O,z,N)},onMouseEnter(e){L||"function"!=typeof B||B(e),L&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),M&&_&&(0,f.onNavigationIntent)(e.currentTarget,!0===$)},onTouchStart:function(e){L||"function"!=typeof E||E(e),L&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),M&&_&&(0,f.onNavigationIntent)(e.currentTarget,!0===$)}};return(0,u.isAbsoluteUrl)(A)?G.href=A:L&&!C&&("a"!==o.type||"href"in o.props)||(G.href=(0,h.addBasePath)(A)),i=L?s.default.cloneElement(o,G):(0,a.jsx)("a",{...D,...G,children:r}),(0,a.jsx)(x.Provider,{value:b,children:i})}let x=(0,s.createContext)(f.IDLE_LINK_STATUS),m=()=>(0,s.useContext)(x);("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},18581,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useMergedRef",{enumerable:!0,get:function(){return o}});let r=e.r(71645);function o(e,t){let n=(0,r.useRef)(null),o=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=n.current;e&&(n.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(n.current=i(e,r)),t&&(o.current=i(t,r))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let n=e(t);return"function"==typeof n?n:()=>e(null)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},18967,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={DecodeError:function(){return b},MiddlewareNotFoundError:function(){return w},MissingStaticPage:function(){return j},NormalizeError:function(){return x},PageNotFoundError:function(){return m},SP:function(){return g},ST:function(){return y},WEB_VITALS:function(){return i},execOnce:function(){return a},getDisplayName:function(){return u},getLocationOrigin:function(){return d},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return h},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return v}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function a(e){let t,n=!1;return(...r)=>(n||(n=!0,t=e(...r)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&s.test(e)};function d(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function c(){let{href:e}=window.location,t=d();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function h(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function f(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&h(n))return r;if(!r)throw Object.defineProperty(Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return r}let g="u">typeof performance,y=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class b extends Error{}class x extends Error{}class m extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class j extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class w extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function v(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"isLocalURL",{enumerable:!0,get:function(){return i}});let r=e.r(18967),o=e.r(52817);function i(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,o.hasBasePath)(n.pathname)}catch(e){return!1}}},98183,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={assign:function(){return l},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return s}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});function i(e){let t={};for(let[n,r]of e.entries()){let e=t[n];void 0===e?t[n]=r:Array.isArray(e)?e.push(r):t[n]=[e,r]}return t}function a(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(n,a(e));else t.set(n,a(r));return t}function l(e,...t){for(let n of t){for(let t of n.keys())e.delete(t);for(let[t,r]of n.entries())e.append(t,r)}return e}},95057,(e,t,n)=>{"use strict";e.i(47167),Object.defineProperty(n,"__esModule",{value:!0});var r={formatUrl:function(){return s},formatWithValidation:function(){return d},urlObjectKeys:function(){return l}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let i=e.r(90809)._(e.r(98183)),a=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:n}=e,r=e.protocol||"",o=e.pathname||"",s=e.hash||"",l=e.query||"",d=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?d=t+e.host:n&&(d=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(d+=":"+e.port)),l&&"object"==typeof l&&(l=String(i.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||a.test(r))&&!1!==d?(d="//"+(d||""),o&&"/"!==o[0]&&(o="/"+o)):d||(d=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${r}${d}${o}${c}${s}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function d(e){return s(e)}}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2776,e=>{"use strict";var t=e.i(43476),r=e.i(15812);e.s(["default",0,function({children:e}){let{userId:n,ready:i}=(0,r.useUser)();return i&&n?e:(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff",padding:24,textAlign:"center",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:i?(0,t.jsxs)("div",{style:{maxWidth:420},children:[(0,t.jsx)("div",{style:{fontSize:18,fontWeight:700,marginBottom:8},children:"Can’t reach 6 Degrees’ local server"}),(0,t.jsx)("div",{style:{color:"#888",fontSize:14,lineHeight:1.6},children:"The page loaded but the app behind it is not answering. If you started it from a terminal, check that window for an error, then reload this page."})]}):(0,t.jsx)("div",{style:{fontSize:18,fontWeight:600},children:"Loading…"})})}])},89154,e=>{"use strict";var t=e.i(90179);function r(e){let r=(0,t.readTitle)(e);return{key:r.key,label:r.label,level:r.level}}function n(e){return(0,t.currentCompany)(e)}let i=[{key:"defense",label:"Government, Defense & Aerospace",color:"#7f8c8d",words:/\b(government|federal|state of|county|city of|defen[cs]e|army|navy|air force|marine corps|military|dod|nasa|aerospace|lockheed|northrop|boeing|raytheon|l3harris|leidos|blue origin|spacex|public sector)\b/i},{key:"finance",label:"Finance & Investing",color:"#2ecc71",words:/\b(bank|banking|capital|ventures?|vc|investments?|investor|fund|private equity|growth equity|asset management|wealth|trading|trader|hedge|crypto|blockchain|web3|defi|fintech|stripe|coinbase|blackrock|robinhood|goldman|morgan stanley|jpmorgan|chase|bny|mellon|wells fargo|citi|citigroup|capital one|fidelity|vanguard|schwab|visa|mastercard|amex|american express|paypal|insurance|accounting|cpa|financial)\b/i},{key:"health",label:"Healthcare & Biotech",color:"#e74c3c",words:/\b(health|healthcare|medical|medicine|hospital|clinic|pharma|pharmaceutical|biotech|nurse|nursing|physician|doctor|dental|therapy|therapist|wellness)\b/i},{key:"education",label:"Education",color:"#f1c40f",words:/\b(university|college|school|education|student|professor|teacher|academy|phd|faculty|alumni)\b/i},{key:"media",label:"Marketing & Media",color:"#e67e22",words:/\b(marketing|brand|branding|advertising|agency|media|content|social media|creative|creator|influencer|pr|public relations|communications|tiktok|pinterest|youtube|growth marketing)\b/i},{key:"entertainment",label:"Entertainment & Gaming",color:"#9b59b6",words:/\b(entertainment|film|movie|music|records|gaming|games?|esports|studio|studios|netflix|disney|spotify|hollywood|theater|theatre|sports)\b/i},{key:"tech",label:"Tech, Software & AI",color:"#3498db",words:/\b(software|saas|engineer|engineering|developer|tech|technology|technologies|ai|artificial intelligence|machine learning|ml|data|cloud|cyber|security|devops|product manager|google|microsoft|apple|meta|amazon|nvidia|openai|anthropic|palantir|salesforce|oracle|ibm|intel|app|apps|startup|platform|labs?)\b/i},{key:"consulting",label:"Consulting, Legal & Services",color:"#1abc9c",words:/\b(consulting|consultant|consultancy|deloitte|accenture|mckinsey|kpmg|pwc|ey|bain|bcg|legal|law|lawyer|attorney|paralegal|recruiting|recruiter|staffing|talent)\b/i},{key:"realestate",label:"Real Estate & Construction",color:"#d35400",words:/\b(real estate|realtor|realty|property|properties|construction|architecture|architect|mortgage|homes|housing|builders?)\b/i},{key:"consumer",label:"Retail, Consumer & Hospitality",color:"#ff79c6",words:/\b(retail|e-?commerce|shopify|consumer|cpg|fashion|apparel|beauty|cosmetics|food|beverage|restaurant|hospitality|hotel|travel|tourism|coca-cola|nike|store|shop)\b/i},{key:"industry",label:"Manufacturing, Energy & Logistics",color:"#95a5a6",words:/\b(manufacturing|energy|oil|gas|solar|utilities|automotive|tesla|siemens|ge|general electric|honeywell|3m|logistics|supply chain|shipping|freight|fedex|ups|industrial|mining|chemicals?)\b/i},{key:"nonprofit",label:"Nonprofit & Community",color:"#bdc3c7",words:/\b(nonprofit|non-profit|foundation|charity|ngo|church|ministry|volunteer)\b/i}],o={key:"unknown",label:"Unclear",color:"#555c66"},a=Object.fromEntries([...i,o].map(e=>[e.key,e])),s=e=>a[e]||o;function l(e,t){for(let r of[e,t]){if(!r)continue;let e=i.find(e=>e.words.test(r));if(e)return e}return o}let c=(e,t)=>l(e,t).key,u=e=>r(e).level>=4;e.s(["INDUSTRIES",0,i,"UNKNOWN_INDUSTRY",0,o,"buildCompanyIndex",0,function(e=[]){let r=new Map,n=e=>(r.has(e)||r.set(e,(0,t.rolesWithCompanies)(e)),r.get(e)),{industries:i}=(0,t.networkCompanies)(e,{industryOf:c,rolesOf:n}),o=new Map;for(let t of e){let e=t.profile_url||`id:${t.id}`,r=o.get(e);(!r||(t.degree||9)<(r.degree||9))&&o.set(e,t)}let a=new Map;for(let e of o.values()){let t=n(e).find(e=>!e.former)?.company;if(!t)continue;let r=a.get(t);r||(r={name:t,people:[],d1:0,d2:0,d3:0,S:0,A:0,senior:0},a.set(t,r)),r.people.push(e),1===e.degree?r.d1++:2===e.degree?r.d2++:r.d3++,"S"===e.tier&&r.S++,"A"===e.tier&&r.A++,u(e.headline)&&r.senior++}for(let e of a.values())e.industry=s(i.get(e.name));return a},"companyLinks",0,function(e=[],t=[]){let r=new Map;for(let t of e){let e=n(t);e&&r.set(t.id,e)}let i=new Map;for(let e of t){let t=r.get(e.source_connection_id),o=n(e);if(!t||!o||t===o)continue;let[a,s]=t<o?[t,o]:[o,t],l=`${a}\u0000${s}`,c=i.get(l);c||(c={a:a,b:s,weight:0,via:new Set},i.set(l,c)),c.weight++,c.via.add(e.source_connection_id)}return[...i.values()]},"companyOf",0,n,"getSeniority",0,r,"industryByKey",0,s,"industryOf",0,l,"isSenior",0,u,"waysInto",0,function(e,t=[],r=[]){let i=t.filter(t=>n(t)===e),o=new Map;for(let t of r)n(t)===e&&o.set(t.source_connection_id,(o.get(t.source_connection_id)||0)+1);let a=new Map(t.map(e=>[e.id,e]));return{direct:i,bridges:[...o.entries()].map(([e,t])=>({bridge:a.get(e),n:t})).filter(e=>e.bridge).sort((e,t)=>t.n-e.n||(Number(t.bridge.power_score)||0)-(Number(e.bridge.power_score)||0))}}])},69083,e=>{"use strict";var t=e.i(89154);let r=new Map(t.INDUSTRIES.map(e=>[e.key,e.color])),n=new Map([...t.INDUSTRIES.map(e=>[e.key,Object.freeze({key:e.key,label:e.label,color:e.color,group:e.key,kind:"industry"})]),...Object.entries({software:["Software & SaaS","tech","function"],"ai-data":["AI & Data","tech","function"],cybersecurity:["Cybersecurity","tech","function"],telecom:["Telecom","tech","industry"],fintech:["Fintech & Payments","finance","industry"],banking:["Banking & Lending","finance","industry"],"vc-pe":["Venture Capital & Private Equity","finance","industry"],wealth:["Wealth & Asset Management","finance","industry"],insurance:["Insurance","finance","industry"],accounting:["Accounting & Tax","finance","function"],crypto:["Crypto & Web3","finance","industry"],hospitals:["Hospitals & Clinics","health","industry"],dental:["Dental","health","industry"],"pharma-biotech":["Pharma & Biotech","health","industry"],"medical-devices":["Medical Devices","health","industry"],"mental-health":["Mental Health","health","industry"],"fitness-wellness":["Fitness & Wellness","health","industry"],veterinary:["Veterinary & Animal Care","health","industry"],k12:["K-12 Education","education","industry"],"higher-ed":["Higher Education","education","industry"],"marketing-advertising":["Marketing & Advertising","media","function"],"pr-comms":["PR & Communications","media","function"],"media-publishing":["Media & Publishing","media","industry"],"creator-economy":["Creator Economy","media","industry"],"film-tv-music":["Film, TV & Music","entertainment","industry"],"gaming-esports":["Gaming & Esports","entertainment","industry"],sports:["Sports","entertainment","industry"],"ecommerce-retail":["E-commerce & Retail","consumer","industry"],"consumer-goods":["Consumer Goods","consumer","industry"],restaurants:["Restaurants & Food Service","consumer","industry"],"hospitality-travel":["Hospitality & Travel","consumer","industry"],"beauty-personal-care":["Beauty & Personal Care","consumer","industry"],logistics:["Logistics & Supply Chain","industry","industry"],manufacturing:["Manufacturing","industry","industry"],energy:["Energy & Utilities","industry","industry"],automotive:["Automotive","industry","industry"],agriculture:["Agriculture & Farming","industry","industry"],"aerospace-defense":["Aerospace & Defense","defense","industry"],military:["Military","defense","industry"],government:["Government & Public Sector","defense","industry"],legal:["Legal","consulting","function"],"management-consulting":["Management Consulting","consulting","function"],"hr-recruiting":["HR & Recruiting","consulting","function"],"security-services":["Security Services","consulting","function"],"real-estate":["Real Estate","realestate","industry"],"construction-trades":["Construction & Trades","realestate","industry"],charities:["Nonprofits & Charities","nonprofit","industry"],"social-work":["Social Work & Human Services","nonprofit","industry"],faith:["Faith & Ministry","nonprofit","industry"]}).map(([e,[n,i,o]])=>[e,Object.freeze({key:e,label:n,color:r.get(i)||t.UNKNOWN_INDUSTRY.color,group:i,kind:o})])]);e.s(["sectorByKey",0,function(e){return n.get(e)||{key:e,label:t.UNKNOWN_INDUSTRY.label,color:t.UNKNOWN_INDUSTRY.color,group:null,kind:null}}])},5258,e=>{"use strict";e.s(["TIER_COLORS",0,{S:"#f6c344",A:"#a78bfa",B:"#60a5fa",C:"#94a3b8",D:"#6b7280"},"TIER_COLORS_CLASSIC",0,{S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},"TIER_ORDER",0,["S","A","B","C","D"],"TIER_RING_RADIUS",0,{S:150,A:230,B:310,C:390,D:470},"initialsFor",0,function(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return 0===t.length?"?":(t[0].charAt(0)+(t.length>1?t[t.length-1].charAt(0):"")).toUpperCase()}])},22016,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return m},useLinkStatus:function(){return v}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(90809),a=e.r(43476),s=o._(e.r(71645)),l=e.r(95057),c=e.r(8372),u=e.r(18581),f=e.r(18967),d=e.r(5550),p=e.r(88540),y=e.r(91949),g=e.r(73668),h=e.r(9396);function m(t){var r;let n,i,o,[m,v]=(0,s.useOptimistic)(y.IDLE_LINK_STATUS),S=(0,s.useRef)(null),{href:w,as:k,children:C,prefetch:E=null,passHref:_,replace:R,shallow:O,scroll:P,onClick:T,onMouseEnter:N,onTouchStart:A,legacyBehavior:I=!1,onNavigate:j,transitionTypes:M,ref:U,unstable_dynamicOnHover:x,...D}=t;n=C,I&&("string"==typeof n||"number"==typeof n)&&(n=(0,a.jsx)("a",{children:n}));let L=s.default.useContext(c.AppRouterContext),B=!1!==E,F=!1===E?"none":!0===E?"full":"auto",$="none"!==F?"auto"===F?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,K="string"==typeof(r=k||w)?r:(0,l.formatUrl)(r);if(I){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});i=s.default.Children.only(n)}let W=I?i&&"object"==typeof i&&i.ref:U,z,H=s.default.useCallback(e=>(null!==L&&(S.current=(0,y.mountLinkInstance)(e,K,L,$,B,v,z)),()=>{S.current&&((0,y.unmountLinkForCurrentNavigation)(S.current),S.current=null),(0,y.unmountPrefetchableInstance)(e)}),[B,K,L,$,v,z]),G={ref:(0,u.useMergedRef)(H,W),onClick(t){I||"function"!=typeof T||T(t),I&&i.props&&"function"==typeof i.props.onClick&&i.props.onClick(t),!L||t.defaultPrevented||function(t,r,n,i,o,a,l,c="none"){if("u">typeof window){let u,{nodeName:f}=t.currentTarget;if("A"===f.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,g.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);s.default.startTransition(()=>{d(r,i?"replace":"push",!1===o?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,n.current,l,c)})}}(t,K,S,R,P,j,M,F)},onMouseEnter(e){I||"function"!=typeof N||N(e),I&&i.props&&"function"==typeof i.props.onMouseEnter&&i.props.onMouseEnter(e),L&&B&&(0,y.onNavigationIntent)(e.currentTarget,!0===x)},onTouchStart:function(e){I||"function"!=typeof A||A(e),I&&i.props&&"function"==typeof i.props.onTouchStart&&i.props.onTouchStart(e),L&&B&&(0,y.onNavigationIntent)(e.currentTarget,!0===x)}};return(0,f.isAbsoluteUrl)(K)?G.href=K:I&&!_&&("a"!==i.type||"href"in i.props)||(G.href=(0,d.addBasePath)(K)),o=I?s.default.cloneElement(i,G):(0,a.jsx)("a",{...D,...G,children:n}),(0,a.jsx)(b.Provider,{value:m,children:o})}let b=(0,s.createContext)(y.IDLE_LINK_STATUS),v=()=>(0,s.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return i}});let n=e.r(71645);function i(e,t){let r=(0,n.useRef)(null),i=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=o(e,n)),t&&(i.current=o(t,n))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return m},MiddlewareNotFoundError:function(){return w},MissingStaticPage:function(){return S},NormalizeError:function(){return b},PageNotFoundError:function(){return v},SP:function(){return g},ST:function(){return h},WEB_VITALS:function(){return o},execOnce:function(){return a},getDisplayName:function(){return f},getLocationOrigin:function(){return c},getURL:function(){return u},isAbsoluteUrl:function(){return l},isResSent:function(){return d},loadGetInitialProps:function(){return y},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return k}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function a(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&s.test(e)};function c(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function u(){let{href:e}=window.location,t=c();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function y(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await y(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&d(r))return n;if(!n)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let g="u">typeof performance,h=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class m extends Error{}class b extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class S extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class w extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function k(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(18967),i=e.r(52817);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,i.hasBasePath)(r.pathname)}catch(e){return!1}}},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return s}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function a(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,a(e));else t.set(r,a(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95057,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return s},formatWithValidation:function(){return c},urlObjectKeys:function(){return l}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(90809)._(e.r(98183)),a=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,n=e.protocol||"",i=e.pathname||"",s=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(o.urlQueryToSearchParams(l)));let u=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||a.test(n))&&!1!==c?(c="//"+(c||""),i&&"/"!==i[0]&&(i="/"+i)):c||(c=""),s&&"#"!==s[0]&&(s="#"+s),u&&"?"!==u[0]&&(u="?"+u),i=i.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${n}${c}${i}${u}${s}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return s(e)}}]);