@mavea/mavea 1.0.7

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 (557) hide show
  1. package/CHANGELOG.md +159 -0
  2. package/DISCLAIMER.md +16 -0
  3. package/LICENSE +75 -0
  4. package/PRIVACY.md +127 -0
  5. package/README.md +248 -0
  6. package/SECURITY.md +72 -0
  7. package/SUPPORT.md +13 -0
  8. package/TERMS.md +122 -0
  9. package/THIRD-PARTY.txt +639 -0
  10. package/TRADEMARKS.md +15 -0
  11. package/bin/mavea.mjs +1079 -0
  12. package/dist/.vite/manifest.json +4261 -0
  13. package/dist/_headers +52 -0
  14. package/dist/assets/AppCommandPalette-DUMSp3rd.js +1 -0
  15. package/dist/assets/AtlasView-B5fkQhO6.css +1 -0
  16. package/dist/assets/AtlasView-Dl2fssaG.js +1 -0
  17. package/dist/assets/BlockEmpty-CLtVQf6c.js +1 -0
  18. package/dist/assets/BriefingPlayer-DO205Qkh.js +1 -0
  19. package/dist/assets/BriefingPlayer-TpFZB77N.css +1 -0
  20. package/dist/assets/CanvasSkeleton-BZZPCuRZ.js +2 -0
  21. package/dist/assets/CanvasSkeleton-iy6DBvde.css +1 -0
  22. package/dist/assets/CardEditor-BY1bZiV6.css +1 -0
  23. package/dist/assets/CardEditor-DzJXb0G7.js +1 -0
  24. package/dist/assets/CheckLogRail-F4AlgAcc.css +1 -0
  25. package/dist/assets/CheckLogRail-wUfby67Z.js +1 -0
  26. package/dist/assets/CodeOutput-Kh6ldxQz.js +97 -0
  27. package/dist/assets/CommandPalette-Bb-eErih.css +1 -0
  28. package/dist/assets/CommandPalette-Kl00mMZm.js +1 -0
  29. package/dist/assets/CourseLessonReader-COmTQdSK.css +1 -0
  30. package/dist/assets/CourseLessonReader-MBHoknUz.js +2 -0
  31. package/dist/assets/CourseRail-CUa7uIGG.css +1 -0
  32. package/dist/assets/CourseRail-q6x5cCpW.js +1 -0
  33. package/dist/assets/CoursesApp-v89OVJvg.js +2 -0
  34. package/dist/assets/CrossExamPanel-CZ0ShGma.css +1 -0
  35. package/dist/assets/CrossExamPanel-DH04p6VS.js +1 -0
  36. package/dist/assets/DashPresent-BYXbPuGj.js +1 -0
  37. package/dist/assets/DashPresent-DQYcgp-W.css +1 -0
  38. package/dist/assets/DashboardDetail-B50ZkeVK.js +2 -0
  39. package/dist/assets/DashboardLoopRuntime-CFXPx3v_.js +1 -0
  40. package/dist/assets/DashboardOverview-C-FdGWM5.js +1 -0
  41. package/dist/assets/DashboardSettings-Dmw6JTbI.js +1 -0
  42. package/dist/assets/DashboardsApp-Dx-EsaPW.css +1 -0
  43. package/dist/assets/DashboardsApp-JSY_bVfi.js +2 -0
  44. package/dist/assets/DeepZoomApp-BFNwli7l.js +37 -0
  45. package/dist/assets/DeepZoomApp-fRXCJHHZ.css +1 -0
  46. package/dist/assets/DelegatePanel-BK7rEhIc.js +26 -0
  47. package/dist/assets/DelegatePanel-_9RZiLHM.css +1 -0
  48. package/dist/assets/DemoGallery-BPtVG7_y.js +1 -0
  49. package/dist/assets/DropSelect-DUhdQSta.js +1 -0
  50. package/dist/assets/ExportModal-D4WpAg2c.css +1 -0
  51. package/dist/assets/ExportModal-D65cGyj_.js +2 -0
  52. package/dist/assets/ExtractionPreview-Iwfg2Ogl.js +18 -0
  53. package/dist/assets/FallbackCard-B489rTd9.js +1 -0
  54. package/dist/assets/FallbackCard-D_6ps1xA.css +1 -0
  55. package/dist/assets/FeatureUseNotice-CWt7gOwS.css +1 -0
  56. package/dist/assets/FeatureUseNotice-DPtQ0OGb.js +1 -0
  57. package/dist/assets/FlagshipCTA-BXntKhxb.js +1 -0
  58. package/dist/assets/FlagshipCommandPalette-BDJfasI-.js +1 -0
  59. package/dist/assets/FlagshipShowcase-DJ8Gxk_G.js +1 -0
  60. package/dist/assets/FlashcardsApp-CLNo4WX7.js +1 -0
  61. package/dist/assets/ForecastPanel-Da2ZBUrE.css +1 -0
  62. package/dist/assets/ForecastPanel-PBO2-dgS.js +1 -0
  63. package/dist/assets/GalleryApp-B1CB3_81.css +1 -0
  64. package/dist/assets/GalleryApp-DM03CMRy.js +1 -0
  65. package/dist/assets/HonestByDesign-Dqyth6nW.js +1 -0
  66. package/dist/assets/HowItWorks-C0zosIvq.js +1 -0
  67. package/dist/assets/LegalApp-DZBdExTy.js +1 -0
  68. package/dist/assets/LegalMarkdownDocument-CSZhRG5r.js +3 -0
  69. package/dist/assets/LegalPageShell-C_HottbD.css +1 -0
  70. package/dist/assets/LegalPageShell-DTeXqWyc.js +1 -0
  71. package/dist/assets/LeverPanel-DhpJY76O.css +1 -0
  72. package/dist/assets/LeverPanel-aZfhtVJX.js +1 -0
  73. package/dist/assets/Library-D2XGNXz7.js +1 -0
  74. package/dist/assets/Library-DmrtHjUf.css +1 -0
  75. package/dist/assets/LibraryOverlay-B2WQSgwr.js +1 -0
  76. package/dist/assets/LibraryOverlay-CnKWDMG_.css +1 -0
  77. package/dist/assets/LiveApp-B9zwXlGC.js +61 -0
  78. package/dist/assets/LiveApp-BVZGpJ1S.css +1 -0
  79. package/dist/assets/LiveSettings-CmgrMqvK.css +1 -0
  80. package/dist/assets/LiveSettings-D9OcWlm6.js +6 -0
  81. package/dist/assets/MindMapViewerDrawer-YYyZqmAd.js +1 -0
  82. package/dist/assets/MindShape-Ca3MXEgK.css +1 -0
  83. package/dist/assets/MindShape-mTlN5mPZ.js +1 -0
  84. package/dist/assets/Orb-B0NEVfqL.js +1 -0
  85. package/dist/assets/PinToDashboard-_kIOHs0k.js +1 -0
  86. package/dist/assets/PlanReview-33V8GTNB.js +1 -0
  87. package/dist/assets/Presence-CzLJIeSD.js +1 -0
  88. package/dist/assets/PresentationDeck-BDoGecxr.js +1 -0
  89. package/dist/assets/PrismApp-PfBTFhMF.js +2 -0
  90. package/dist/assets/PrismAskController-DBoxQSJR.css +1 -0
  91. package/dist/assets/PrismAskController-DbQDrlU9.js +37 -0
  92. package/dist/assets/PrismBriefingPlayer-1fvlfLR8.js +2 -0
  93. package/dist/assets/PrismOverlay-B7lEspdu.js +131 -0
  94. package/dist/assets/PrismOverlay-BTfAicBt.css +1 -0
  95. package/dist/assets/PrivacyApp-CR4lRs0L.js +128 -0
  96. package/dist/assets/Quiz-CUwtekfu.js +1 -0
  97. package/dist/assets/Recap-DCiiWNiV.css +1 -0
  98. package/dist/assets/Recap-H5fhj5Tc.js +1 -0
  99. package/dist/assets/ReelJelly-3jSVsJsy.js +1 -0
  100. package/dist/assets/RehearsalPanel-BCU615wg.css +1 -0
  101. package/dist/assets/RehearsalPanel-BVgjrOPg.js +6 -0
  102. package/dist/assets/ReplayCard-BpYO5vX-.js +2 -0
  103. package/dist/assets/ReplayOverlay-DXmVdeIr.js +1 -0
  104. package/dist/assets/RewindOverlay-BusfWeFq.js +1 -0
  105. package/dist/assets/RewindOverlay-C92qgvmi.css +1 -0
  106. package/dist/assets/RippleApp-9KrJPYgN.js +2 -0
  107. package/dist/assets/RippleAskController-BNAUoIW0.css +1 -0
  108. package/dist/assets/RippleAskController-CO9wE7hU.js +34 -0
  109. package/dist/assets/RippleOverlay-DMHLbfh8.js +6 -0
  110. package/dist/assets/RippleOverlay-_iiZsQVZ.css +1 -0
  111. package/dist/assets/SeeDontRead-C389viue.js +1 -0
  112. package/dist/assets/ShareModal-C8S7ySls.css +1 -0
  113. package/dist/assets/ShareModal-ClnEkudw.js +32 -0
  114. package/dist/assets/ShipCascade-BUtwvQoW.js +1 -0
  115. package/dist/assets/ShipCascade-CyFnrlET.css +1 -0
  116. package/dist/assets/ShipCourse-B7lG6DYW.js +1 -0
  117. package/dist/assets/ShipCourse-DcT7PUSm.css +1 -0
  118. package/dist/assets/ShipGate-BVZfCllb.css +1 -0
  119. package/dist/assets/ShipGate-BYYu9WVq.js +2 -0
  120. package/dist/assets/ShipHotspots-Bj2CovtT.js +1 -0
  121. package/dist/assets/ShipHotspots-CLOMutPv.css +1 -0
  122. package/dist/assets/ShipIncident-BUHvFFiC.css +1 -0
  123. package/dist/assets/ShipIncident-DcmindmE.js +2 -0
  124. package/dist/assets/ShipMigration-BznCskNg.css +1 -0
  125. package/dist/assets/ShipMigration-s0hVjDQl.js +1 -0
  126. package/dist/assets/ShipOnboarding-BC9Vxkpa.css +1 -0
  127. package/dist/assets/ShipOnboarding-ekbHL7OH.js +1 -0
  128. package/dist/assets/ShipRead-BVNgQT6L.js +1 -0
  129. package/dist/assets/ShipRollout-BdUQzMyP.js +1 -0
  130. package/dist/assets/ShipRollout-CqeObx5b.css +1 -0
  131. package/dist/assets/ShipSuggestions-B6fKYh8L.js +1 -0
  132. package/dist/assets/ShipSuggestions-BKRvk5Mj.css +1 -0
  133. package/dist/assets/ShipWorkspace-3D3Rrs1p.js +2 -0
  134. package/dist/assets/ShipWorkspace-D6XQpGEN.css +1 -0
  135. package/dist/assets/SignatureLoop-C60r8Wm5.js +1 -0
  136. package/dist/assets/SrsReview-BoaYb6XN.js +1 -0
  137. package/dist/assets/SrsReview-DmGdGxT0.css +1 -0
  138. package/dist/assets/SynthesisApp-vJ2Jq0Qe.js +2 -0
  139. package/dist/assets/SynthesisOverlay-CkERphvG.js +66 -0
  140. package/dist/assets/TermsApp-C70tW6m6.js +123 -0
  141. package/dist/assets/TopicCanvas-CT0eSj2M.js +2 -0
  142. package/dist/assets/TopicCanvas-D2Nax9II.css +1 -0
  143. package/dist/assets/TourPrism-BvucSkcs.js +1 -0
  144. package/dist/assets/TrackerTile-CasZNmt4.js +2 -0
  145. package/dist/assets/TwoSurfaces-C90X7Aj5.js +1 -0
  146. package/dist/assets/UnderstoodPanel-CHPD2Ttj.js +1 -0
  147. package/dist/assets/UnderstoodPanel-Q6GX1TFq.css +1 -0
  148. package/dist/assets/WhyMachineOverlay-BZk3PVTl.css +1 -0
  149. package/dist/assets/WhyMachineOverlay-CB0_n6Sy.js +1 -0
  150. package/dist/assets/WowFeatures-Ci_H5QYX.js +1 -0
  151. package/dist/assets/ZoomDeck-B2SjNwY7.css +1 -0
  152. package/dist/assets/ZoomDeck-BQHO79ZU.js +1 -0
  153. package/dist/assets/__vite-browser-external-BufR4LQa.js +1 -0
  154. package/dist/assets/ai-Ba4lZJ9Y.js +12 -0
  155. package/dist/assets/alternateFinishes-DZ-rkpkX.js +494 -0
  156. package/dist/assets/annotationAuto-B0nihA4F.js +1 -0
  157. package/dist/assets/annotationReel-BcU9Q0Sw.js +1 -0
  158. package/dist/assets/annotations-D2K9A5GB.js +1 -0
  159. package/dist/assets/backup-c-Btapzp.js +1 -0
  160. package/dist/assets/blockLabel-DAqaHKy3.js +1 -0
  161. package/dist/assets/c-DWGmR78Y.js +1 -0
  162. package/dist/assets/c-SSSlmE39.js +1 -0
  163. package/dist/assets/cache-BumECILO.js +1 -0
  164. package/dist/assets/canvas-QTEIiK23.js +1 -0
  165. package/dist/assets/catalog-BHjl-1uH.js +2 -0
  166. package/dist/assets/catalog-Dqaq2YFd.js +1 -0
  167. package/dist/assets/cfo.generated-Bjl5OGay.js +1 -0
  168. package/dist/assets/chapters-BiUsDClQ.js +1 -0
  169. package/dist/assets/charts1-EOoxU_K3.js +1 -0
  170. package/dist/assets/charts2-tyUiQPff.js +1 -0
  171. package/dist/assets/chunk-BVpWp9h4.js +1 -0
  172. package/dist/assets/citation-BcvmjKS8.js +1 -0
  173. package/dist/assets/code-CpjYCNS8.js +8 -0
  174. package/dist/assets/codeContext-0UMRSGRr.js +5 -0
  175. package/dist/assets/colors-D49Req-e.js +1 -0
  176. package/dist/assets/compose-BJ9EfcQS.js +3 -0
  177. package/dist/assets/contentVault-DzTYWcbD.js +1 -0
  178. package/dist/assets/core-DEFyprhs.js +1 -0
  179. package/dist/assets/corpus.generated-oX9uU93S.js +11 -0
  180. package/dist/assets/courseSeed-CZdNBTTs.js +1 -0
  181. package/dist/assets/courseStore-DfafnL-9.js +1 -0
  182. package/dist/assets/courses-BkH1ntDL.css +1 -0
  183. package/dist/assets/cpp-BGdv8dzs.js +1 -0
  184. package/dist/assets/cpp-CNAAXZl-.js +1 -0
  185. package/dist/assets/csharp-oqKa8noW.js +1 -0
  186. package/dist/assets/css-CdtkT07m.js +1 -0
  187. package/dist/assets/css-LbU1hoFO.js +1 -0
  188. package/dist/assets/dag-C3Xx8pOD.js +2 -0
  189. package/dist/assets/dashboardEvents-DR9d_c74.js +2 -0
  190. package/dist/assets/dashboards-rcWxdoXI.css +1 -0
  191. package/dist/assets/deckLine-NBd3MyGT.js +1 -0
  192. package/dist/assets/demoPaletteItems-NPCSaSU6.js +1 -0
  193. package/dist/assets/dev.generated-DYgVxL_4.js +73 -0
  194. package/dist/assets/diagrams-CaSfjT4I.js +1 -0
  195. package/dist/assets/diff-woXpYk--.js +1 -0
  196. package/dist/assets/display-OvC57CMc.js +9 -0
  197. package/dist/assets/dist-BFx3nZg4.js +2785 -0
  198. package/dist/assets/dist-xRGLOZwv.js +14 -0
  199. package/dist/assets/docs-B2aDtm5K.js +1 -0
  200. package/dist/assets/everyday-CoZa4kDZ.js +1 -0
  201. package/dist/assets/explode-WBykfhqW.js +13 -0
  202. package/dist/assets/extractNumbers-CuhagRkd.js +1 -0
  203. package/dist/assets/facts-BBTt3ImG.js +1 -0
  204. package/dist/assets/finance-Bxn_Q1p0.js +1 -0
  205. package/dist/assets/fit-0HxU-rtB.js +1 -0
  206. package/dist/assets/fitText-CDFmCQzl.js +1 -0
  207. package/dist/assets/flows-BL81J7yN.js +1 -0
  208. package/dist/assets/format-DlZTyeMy.js +1 -0
  209. package/dist/assets/format-hc2QOoIu.js +1 -0
  210. package/dist/assets/forms-DeoXOxdD.js +1 -0
  211. package/dist/assets/generate-8odaTyr4.js +17 -0
  212. package/dist/assets/generateBeats-b64CL54v.js +1 -0
  213. package/dist/assets/generateCourse-Cj_-vDWu.js +28 -0
  214. package/dist/assets/generateLive-D4B30fnF.js +52 -0
  215. package/dist/assets/geometry-DXAbnb0J.js +1 -0
  216. package/dist/assets/gesture-DabMpPcq.js +2 -0
  217. package/dist/assets/github-dark-C-LZuMrd.js +1 -0
  218. package/dist/assets/github-light-EUqPIrTm.js +1 -0
  219. package/dist/assets/githubBrowser-DywfDeYx.js +1 -0
  220. package/dist/assets/githubToken-DtcLYqwm.js +11 -0
  221. package/dist/assets/go-rLFTqkRN.js +1 -0
  222. package/dist/assets/homeTarget-BgWKI_E1.js +1 -0
  223. package/dist/assets/html-BcACZWSP.js +1 -0
  224. package/dist/assets/html-DDNsd9lV.js +1 -0
  225. package/dist/assets/http-CJCtjYpA.js +2 -0
  226. package/dist/assets/icons-CHVz6kv_.js +1 -0
  227. package/dist/assets/index-CepQEz75.css +1 -0
  228. package/dist/assets/index-y8GL67bB.js +22 -0
  229. package/dist/assets/index.es-CRLiWwiA.js +5 -0
  230. package/dist/assets/info-CiqHR5cs.js +1 -0
  231. package/dist/assets/java-BtIQNnN0.js +1 -0
  232. package/dist/assets/java-DxlWrXwe.js +1 -0
  233. package/dist/assets/javascript-BzbQS41l.js +1 -0
  234. package/dist/assets/javascript-Yelw-5ZN.js +1 -0
  235. package/dist/assets/json-B0N3XRZU.js +1 -0
  236. package/dist/assets/json-B88Oqtu5.js +1 -0
  237. package/dist/assets/json-CaljABEy.js +1 -0
  238. package/dist/assets/jspdf.es.min-C-Pf79px.js +79 -0
  239. package/dist/assets/jsx-D3KKoC5L.js +1 -0
  240. package/dist/assets/jsx-hEbJ82HF.js +1 -0
  241. package/dist/assets/jsx-runtime-DaSxXjOY.js +1 -0
  242. package/dist/assets/katex-BMCG0xok.js +257 -0
  243. package/dist/assets/keyVault-DEsNh9FR.js +1 -0
  244. package/dist/assets/kokoro-D4GKpSL0.js +1 -0
  245. package/dist/assets/kotlin-DhhofPvG.js +1 -0
  246. package/dist/assets/layout-BFQOzXtG.js +1 -0
  247. package/dist/assets/layout-CkO0Psde.js +1 -0
  248. package/dist/assets/lazyRetry-D50B1UMY.js +1 -0
  249. package/dist/assets/leaflet-src-C_xhOQY7.js +1 -0
  250. package/dist/assets/learn-DVfqN-nf.js +1 -0
  251. package/dist/assets/lib-DMAxsZKm.css +1 -0
  252. package/dist/assets/lib-VFqp6Y3w.js +1 -0
  253. package/dist/assets/links--u_phi0x.js +1 -0
  254. package/dist/assets/liveSchema-CJ49PX5R.js +98 -0
  255. package/dist/assets/markdown-BYOwaDjH.js +1 -0
  256. package/dist/assets/mastery-BPjxP0fN.js +4 -0
  257. package/dist/assets/media-CsrUl279.js +43 -0
  258. package/dist/assets/model-BE0UHu1w.js +27 -0
  259. package/dist/assets/motion-S0NRruNj.js +1 -0
  260. package/dist/assets/nav-Czm-NzPV.js +1 -0
  261. package/dist/assets/neighborhoods-C-1Tjr1r.js +1 -0
  262. package/dist/assets/notes-A9t4jdfx.css +1 -0
  263. package/dist/assets/notes-lROPCorS.js +1 -0
  264. package/dist/assets/notify-Bz4wuE4T.js +1 -0
  265. package/dist/assets/now-C9-UAzTC.js +1 -0
  266. package/dist/assets/number-DXgzss0v.js +1 -0
  267. package/dist/assets/officeDoc-B6nEhNp4.js +3 -0
  268. package/dist/assets/openchemlib-nMLMmg26.js +23 -0
  269. package/dist/assets/overlays-JxbHtA2o.js +1 -0
  270. package/dist/assets/owners-FXDGInVq.js +2 -0
  271. package/dist/assets/pageVisibility-BxUVsw7Z.js +1 -0
  272. package/dist/assets/pdf-Df7PCH7q.js +11 -0
  273. package/dist/assets/pdf.worker.min-yatZIOMy.mjs +21 -0
  274. package/dist/assets/penStrokes-9Q_l7NTt.js +1 -0
  275. package/dist/assets/perfProbe-COAp9PAa.js +1 -0
  276. package/dist/assets/php-CYrBA5iX.js +1 -0
  277. package/dist/assets/pickers-B4-3HOR8.js +1 -0
  278. package/dist/assets/pin-Bya3BL_a.css +1 -0
  279. package/dist/assets/pin-CXSuPJYL.js +1 -0
  280. package/dist/assets/planTracker-7AMCQPNx.js +1 -0
  281. package/dist/assets/portal-DMw7C32j.js +1 -0
  282. package/dist/assets/pptxgen.es-CvTILmV9.js +115 -0
  283. package/dist/assets/predictions-CYS7Vo39.js +1 -0
  284. package/dist/assets/prewarm--whjQhWJ.js +1 -0
  285. package/dist/assets/prism-app-CXYElq8-.css +1 -0
  286. package/dist/assets/prism.generated-BhbHDHR6.js +41 -0
  287. package/dist/assets/prismExtract.worker-Cws9K1NG.js +13 -0
  288. package/dist/assets/prismGround.worker-CIvKqxm2.js +1 -0
  289. package/dist/assets/prismLayout.worker-CZO2CY7B.js +1 -0
  290. package/dist/assets/providers-wzm7E8Pa.js +1 -0
  291. package/dist/assets/purify.es-adlwq8Pz.js +3 -0
  292. package/dist/assets/python-gzcpVVnB.js +1 -0
  293. package/dist/assets/queue-DHeyJ32F.css +1 -0
  294. package/dist/assets/queue-J4h7E3uc.js +1 -0
  295. package/dist/assets/quietHours-BvcsBKKK.js +1 -0
  296. package/dist/assets/react-BQSORdFI.js +1 -0
  297. package/dist/assets/reference-sJzyMiL4.js +1 -0
  298. package/dist/assets/registry-1GuPBfQK.js +1 -0
  299. package/dist/assets/registry-2GJZ46M8.css +1 -0
  300. package/dist/assets/registry-2v0jlh5Q.js +2 -0
  301. package/dist/assets/registry-B8DStMJk.js +1 -0
  302. package/dist/assets/registry-B940W2j5.js +1 -0
  303. package/dist/assets/registry-BAoRB8rd.css +1 -0
  304. package/dist/assets/registry-BPvIPLke.js +1 -0
  305. package/dist/assets/registry-BVHiKEwE.css +1 -0
  306. package/dist/assets/registry-BcZXBr3y.css +1 -0
  307. package/dist/assets/registry-BffpZK5w.js +1 -0
  308. package/dist/assets/registry-BgGeRiDA.js +2 -0
  309. package/dist/assets/registry-Buq5uuCv.js +1 -0
  310. package/dist/assets/registry-BzNLfje1.css +1 -0
  311. package/dist/assets/registry-C3ezxLR3.css +1 -0
  312. package/dist/assets/registry-CAusoyBh.js +1 -0
  313. package/dist/assets/registry-CEVrY72Z.js +1 -0
  314. package/dist/assets/registry-CKjKq6ct.js +1 -0
  315. package/dist/assets/registry-CNgybLQv.css +1 -0
  316. package/dist/assets/registry-CRM7y8QT.css +1 -0
  317. package/dist/assets/registry-CRisz4Ca.css +1 -0
  318. package/dist/assets/registry-Cg7qUZPS.js +1 -0
  319. package/dist/assets/registry-Cix-yqch.js +1 -0
  320. package/dist/assets/registry-CtbuZWYz.css +1 -0
  321. package/dist/assets/registry-DCI_BeFJ.js +5 -0
  322. package/dist/assets/registry-DDLSYDVA.js +1 -0
  323. package/dist/assets/registry-DI1wSG1Y.js +1 -0
  324. package/dist/assets/registry-DJinB5ye.js +2 -0
  325. package/dist/assets/registry-DUvXX_d0.js +1 -0
  326. package/dist/assets/registry-DVzLacl_.css +1 -0
  327. package/dist/assets/registry-DWcNVyI2.css +1 -0
  328. package/dist/assets/registry-D_URPoL4.js +1 -0
  329. package/dist/assets/registry-Dkc7hN5T.js +1 -0
  330. package/dist/assets/registry-DmQlNN3y.js +1 -0
  331. package/dist/assets/registry-DpaaVbmL.css +1 -0
  332. package/dist/assets/registry-Dpb8EXHn.js +49 -0
  333. package/dist/assets/registry-Dru0JcTa.css +1 -0
  334. package/dist/assets/registry-DujBAgn_.js +1 -0
  335. package/dist/assets/registry-Dye5m3qt.css +1 -0
  336. package/dist/assets/registry-GeSy4i7R.css +1 -0
  337. package/dist/assets/registry-QcULZpdE.js +4 -0
  338. package/dist/assets/registry-T3i2Q9SI.css +1 -0
  339. package/dist/assets/registry-UFIuwh3i.css +1 -0
  340. package/dist/assets/registry-Xzq_Rpmm.css +1 -0
  341. package/dist/assets/registry-ZOWzhOHk.css +1 -0
  342. package/dist/assets/registry-aIH-Im5Y.css +1 -0
  343. package/dist/assets/registry-aazwkBJp.js +1 -0
  344. package/dist/assets/registry-ei6fIgBT.css +1 -0
  345. package/dist/assets/registry-types-DMuK0vJ6.js +1 -0
  346. package/dist/assets/registry-upbw6pyj.css +1 -0
  347. package/dist/assets/registry-zRPjWNl5.js +1 -0
  348. package/dist/assets/relate-A9ZeaaAI.js +1 -0
  349. package/dist/assets/richText-BkxJhl9N.js +1 -0
  350. package/dist/assets/ruby-BhrksQMt.js +1 -0
  351. package/dist/assets/run-BYP2YlZT.js +23 -0
  352. package/dist/assets/run-C_0B_41W.js +21 -0
  353. package/dist/assets/run-DSVvshaB.js +21 -0
  354. package/dist/assets/rust-Cfkwpbl8.js +1 -0
  355. package/dist/assets/safeCssColor-di93BXgG.js +1 -0
  356. package/dist/assets/safeImageUrl-CUkucDUu.js +1 -0
  357. package/dist/assets/scale-Bcgfo6Hp.js +1 -0
  358. package/dist/assets/screen-DLR7p_yP.js +1 -0
  359. package/dist/assets/search-DnjHupRf.js +1 -0
  360. package/dist/assets/seed-b1xc0dj2.js +1 -0
  361. package/dist/assets/shapes-RqjqC0ay.js +1 -0
  362. package/dist/assets/shard000-DM_rqD7W.js +1 -0
  363. package/dist/assets/shard001-gQEQs7_F.js +1 -0
  364. package/dist/assets/shard002-DbDas-W-.js +1 -0
  365. package/dist/assets/shard003-DxMszG4_.js +1 -0
  366. package/dist/assets/shard004-DZMpLBw1.js +1 -0
  367. package/dist/assets/shard005-DLVkh9IH.js +1 -0
  368. package/dist/assets/shard006-B6efKHov.js +1 -0
  369. package/dist/assets/shard007-AFdZLe38.js +1 -0
  370. package/dist/assets/shard008-LbSBzwRx.js +1 -0
  371. package/dist/assets/shard009-D_6-SUDb.js +1 -0
  372. package/dist/assets/shard010-DbOj-uZW.js +1 -0
  373. package/dist/assets/shard011-BYSz7EEW.js +1 -0
  374. package/dist/assets/shard012-B5Ypj7OV.js +1 -0
  375. package/dist/assets/shard013-BtsliNIe.js +1 -0
  376. package/dist/assets/shard014-15sjmk68.js +1 -0
  377. package/dist/assets/shard015-nnXrqru_.js +1 -0
  378. package/dist/assets/shard016-BayXFE13.js +1 -0
  379. package/dist/assets/shard017-Cy4cGexs.js +1 -0
  380. package/dist/assets/shard018-aO-BYJ8H.js +1 -0
  381. package/dist/assets/shard019-gxaTeA3I.js +1 -0
  382. package/dist/assets/shard020-BibJdMI0.js +1 -0
  383. package/dist/assets/shard021-2FE-tze4.js +1 -0
  384. package/dist/assets/shard022-IXiyG-JK.js +1 -0
  385. package/dist/assets/shard023-314F6NJS.js +1 -0
  386. package/dist/assets/shard024-cN5rpQ_X.js +1 -0
  387. package/dist/assets/shard025-KKTaXOGE.js +1 -0
  388. package/dist/assets/shard026-C2Dkd1t6.js +1 -0
  389. package/dist/assets/shard027-Xy-8x9As.js +1 -0
  390. package/dist/assets/shard028-Bul-klUj.js +1 -0
  391. package/dist/assets/shard029-BbRSUcUZ.js +1 -0
  392. package/dist/assets/shard030-GYllsFVC.js +1 -0
  393. package/dist/assets/shard031-DMigeiyn.js +1 -0
  394. package/dist/assets/shard032-CcvmzK0l.js +1 -0
  395. package/dist/assets/shard033-11AU702M.js +1 -0
  396. package/dist/assets/shard034-Bx3urxjM.js +1 -0
  397. package/dist/assets/shard035-DBdEeyCt.js +1 -0
  398. package/dist/assets/shard036-vYgoRBqS.js +1 -0
  399. package/dist/assets/shard037-DP4MMw91.js +1 -0
  400. package/dist/assets/shard038-ffxsv7d6.js +1 -0
  401. package/dist/assets/shard039-C1JHHNp9.js +1 -0
  402. package/dist/assets/shard040-JbVvCSO_.js +1 -0
  403. package/dist/assets/shard041-5L_eFwGx.js +1 -0
  404. package/dist/assets/shard042-C9nsGL79.js +1 -0
  405. package/dist/assets/shard043-Dx_9HSKI.js +1 -0
  406. package/dist/assets/shard044-B3QQNC4A.js +1 -0
  407. package/dist/assets/shard045-B7z0WHO6.js +1 -0
  408. package/dist/assets/shard046-D1yDablJ.js +1 -0
  409. package/dist/assets/shard047-DJi3AgeT.js +1 -0
  410. package/dist/assets/shard048-D_2ipfUr.js +1 -0
  411. package/dist/assets/shard049-1aGgWZdd.js +1 -0
  412. package/dist/assets/shard050-Bjwa0Og4.js +1 -0
  413. package/dist/assets/shard051-Cx_GAk3v.js +1 -0
  414. package/dist/assets/shard052-LaeOD3V5.js +1 -0
  415. package/dist/assets/shard053-D-da7Foj.js +1 -0
  416. package/dist/assets/shard054-CM8eSRQk.js +1 -0
  417. package/dist/assets/shard055-QRpDl4Vs.js +1 -0
  418. package/dist/assets/shard056-DkY7CQm3.js +1 -0
  419. package/dist/assets/shard057-BVCgf7o0.js +1 -0
  420. package/dist/assets/shard058-93aGtdrX.js +1 -0
  421. package/dist/assets/shard059-rJE9X1_I.js +1 -0
  422. package/dist/assets/shard060-Lu_hfl1r.js +1 -0
  423. package/dist/assets/shard061-C9A8iNiq.js +1 -0
  424. package/dist/assets/shard062-BBIpEYZO.js +1 -0
  425. package/dist/assets/shard063-C_uen3Ub.js +1 -0
  426. package/dist/assets/shard064-DAHUsHST.js +1 -0
  427. package/dist/assets/shard065-C2edvdvh.js +1 -0
  428. package/dist/assets/shard066-DFcuVhZm.js +1 -0
  429. package/dist/assets/shard067-BN8DM8JZ.js +1 -0
  430. package/dist/assets/shard068-i464K77p.js +1 -0
  431. package/dist/assets/shard069-Dm9m2a5U.js +1 -0
  432. package/dist/assets/shard070-BPVvR8GH.js +1 -0
  433. package/dist/assets/shard071-Bal_0d9L.js +1 -0
  434. package/dist/assets/shard072-CBQu62kt.js +1 -0
  435. package/dist/assets/shard073-D5BRae0w.js +1 -0
  436. package/dist/assets/shard074-DtFvcBnZ.js +1 -0
  437. package/dist/assets/share-QHGHNDhQ.js +1 -0
  438. package/dist/assets/shellscript-BiGZg9Om.js +1 -0
  439. package/dist/assets/shellscript-CqHdAlCp.js +1 -0
  440. package/dist/assets/shikiHighlight-DUCYbsJ2.js +153 -0
  441. package/dist/assets/sourceHost-BV3t2XDb.js +1 -0
  442. package/dist/assets/speed-DwPw9KSv.js +1 -0
  443. package/dist/assets/spokenText-D4zPX9JY.js +1 -0
  444. package/dist/assets/sql-0Qcw9ht3.js +1 -0
  445. package/dist/assets/sql-CP0rg-5b.js +1 -0
  446. package/dist/assets/src-DbgF7cRH.js +2 -0
  447. package/dist/assets/stats-BeP5Bws0.js +1 -0
  448. package/dist/assets/status-BY02LIJt.js +1 -0
  449. package/dist/assets/stepDriver-DwjFet6U.js +1 -0
  450. package/dist/assets/store-4JNNn732.js +1 -0
  451. package/dist/assets/store-BFC7DZcg.js +1 -0
  452. package/dist/assets/store-BFrJaSxJ.js +1 -0
  453. package/dist/assets/store-DXmC_fP2.js +0 -0
  454. package/dist/assets/store-DgG0C1Qx.js +1 -0
  455. package/dist/assets/streamParse-DRgMHWye.js +2 -0
  456. package/dist/assets/student.generated-DS_acPaJ.js +1 -0
  457. package/dist/assets/swift-DonLKvLd.js +1 -0
  458. package/dist/assets/tables-Dzd3rTqG.js +1 -0
  459. package/dist/assets/time-BHTmJR1s.js +1 -0
  460. package/dist/assets/toast-BBNs2h3L.js +1 -0
  461. package/dist/assets/toml-CcmNWLt0.js +1 -0
  462. package/dist/assets/traveler.generated-Beun9X7y.js +1 -0
  463. package/dist/assets/tsx-5f3ulCja.js +1 -0
  464. package/dist/assets/tsx-BOvsFOI6.js +1 -0
  465. package/dist/assets/typeof-B5XbjTb1.js +1 -0
  466. package/dist/assets/typescript-Utq2Cl8c.js +1 -0
  467. package/dist/assets/typescript-j_1H8WHN.js +1 -0
  468. package/dist/assets/useDashboardLoop-B6ByHWoE.js +5 -0
  469. package/dist/assets/useFocusTrap-DbfG6zbM.js +1 -0
  470. package/dist/assets/useLiveConfig-X9Wxh90k.js +1 -0
  471. package/dist/assets/useSpatialCanvas-DogK9457.js +1 -0
  472. package/dist/assets/useSpotlightWalk-rMbmNBKK.js +1 -0
  473. package/dist/assets/useSrsCards-CagZefwX.js +1 -0
  474. package/dist/assets/useStudy-Bflreq2a.js +1 -0
  475. package/dist/assets/useTimeout-BRYvu2jQ.js +1 -0
  476. package/dist/assets/useValidatedImage-D2fhA198.js +1 -0
  477. package/dist/assets/useZoomGesture-CYc3tf2z.js +1 -0
  478. package/dist/assets/verbatim-CBMzUDlf.js +1 -0
  479. package/dist/assets/worker-BbLKfGzm.js +2 -0
  480. package/dist/assets/xml-WY0zc4PG.js +1 -0
  481. package/dist/assets/yaml-CxbubiML.js +1 -0
  482. package/dist/assets/yaml-DijMHRDA.js +1 -0
  483. package/dist/demo-assets/CREDITS.md +40 -0
  484. package/dist/demo-assets/images/basalt-cliffs.jpg +0 -0
  485. package/dist/demo-assets/images/capelinhos.jpg +0 -0
  486. package/dist/demo-assets/images/cliff-fields.jpg +0 -0
  487. package/dist/demo-assets/images/crater-panorama.jpg +0 -0
  488. package/dist/demo-assets/images/furnas-lake.jpg +0 -0
  489. package/dist/demo-assets/images/green-coast.jpg +0 -0
  490. package/dist/demo-assets/images/overcast-coast.jpg +0 -0
  491. package/dist/demo-assets/images/patchwork-fields.jpg +0 -0
  492. package/dist/demo-assets/images/ponta-delgada.jpg +0 -0
  493. package/dist/demo-assets/images/sete-cidades.jpg +0 -0
  494. package/dist/demo-assets/images/slide-placeholder-light.svg +9 -0
  495. package/dist/demo-assets/images/slide-placeholder.svg +9 -0
  496. package/dist/demo-assets/images/village-street.jpg +0 -0
  497. package/dist/demo-assets/pdf/cfd-primer.pdf +0 -0
  498. package/dist/demo-assets/video/azores-film.mp4 +0 -0
  499. package/dist/favicon.svg +19 -0
  500. package/dist/fonts/LICENSE.txt +34 -0
  501. package/dist/fonts/archivo-var-latin.woff2 +0 -0
  502. package/dist/fonts/bodoni-moda-400-italic-latin.woff2 +0 -0
  503. package/dist/fonts/bodoni-moda-var-latin.woff2 +0 -0
  504. package/dist/fonts/eb-garamond-var-italic-latin.woff2 +0 -0
  505. package/dist/fonts/eb-garamond-var-latin.woff2 +0 -0
  506. package/dist/fonts/export/families/archivo.css +12 -0
  507. package/dist/fonts/export/families/bodoni-moda.css +23 -0
  508. package/dist/fonts/export/families/eb-garamond.css +22 -0
  509. package/dist/fonts/export/families/ibm-plex-sans.css +12 -0
  510. package/dist/fonts/export/families/instrument-serif.css +22 -0
  511. package/dist/fonts/export/families/jetbrains-mono.css +12 -0
  512. package/dist/fonts/export/families/libre-franklin.css +12 -0
  513. package/dist/fonts/export/families/lora.css +22 -0
  514. package/dist/fonts/export/families/source-serif-4.css +12 -0
  515. package/dist/fonts/export/families/space-grotesk.css +12 -0
  516. package/dist/fonts/export/families/spectral.css +52 -0
  517. package/dist/fonts/fonts.css +141 -0
  518. package/dist/fonts/hanken-grotesk-var-latin.woff2 +0 -0
  519. package/dist/fonts/ibm-plex-sans-var-latin.woff2 +0 -0
  520. package/dist/fonts/instrument-serif-400-italic-latin.woff2 +0 -0
  521. package/dist/fonts/instrument-serif-400-latin.woff2 +0 -0
  522. package/dist/fonts/jetbrains-mono-var-latin.woff2 +0 -0
  523. package/dist/fonts/libre-franklin-var-latin.woff2 +0 -0
  524. package/dist/fonts/lora-var-italic-latin.woff2 +0 -0
  525. package/dist/fonts/lora-var-latin.woff2 +0 -0
  526. package/dist/fonts/newsreader-var-italic-latin.woff2 +0 -0
  527. package/dist/fonts/newsreader-var-latin.woff2 +0 -0
  528. package/dist/fonts/plex-mono-400-latin.woff2 +0 -0
  529. package/dist/fonts/plex-mono-500-latin.woff2 +0 -0
  530. package/dist/fonts/plex-mono-600-latin.woff2 +0 -0
  531. package/dist/fonts/source-serif-4-var-latin.woff2 +0 -0
  532. package/dist/fonts/space-grotesk-var-latin.woff2 +0 -0
  533. package/dist/fonts/spectral-400-italic-latin.woff2 +0 -0
  534. package/dist/fonts/spectral-400-latin.woff2 +0 -0
  535. package/dist/fonts/spectral-500-italic-latin.woff2 +0 -0
  536. package/dist/fonts/spectral-500-latin.woff2 +0 -0
  537. package/dist/fonts/spectral-600-latin.woff2 +0 -0
  538. package/dist/index.html +117 -0
  539. package/dist/legal/DISCLAIMER.md +16 -0
  540. package/dist/legal/LICENSE.txt +75 -0
  541. package/dist/legal/PRIVACY.md +127 -0
  542. package/dist/legal/SECURITY.md +72 -0
  543. package/dist/legal/SUPPORT.md +13 -0
  544. package/dist/legal/TERMS.md +122 -0
  545. package/dist/legal/THIRD-PARTY.txt +639 -0
  546. package/dist/legal/TRADEMARKS.md +15 -0
  547. package/dist/ort-wasm-simd-threaded.mjs +59 -0
  548. package/dist/sw.js +30 -0
  549. package/dist/vad.worklet.bundle.min.js +1 -0
  550. package/docker-compose.yml +33 -0
  551. package/gateway/README.md +99 -0
  552. package/gateway/actions-gateway.mjs +537 -0
  553. package/gateway/connectors.d.mts +27 -0
  554. package/gateway/connectors.mjs +463 -0
  555. package/gateway/guard.mjs +110 -0
  556. package/gateway/tokenStore.mjs +134 -0
  557. package/package.json +143 -0
@@ -0,0 +1 @@
1
+ var e=new Map;function t(t){let n=e.get(t);if(n)for(let e of Array.from(n.listeners))e()}function n(t){let n=e.get(t);n&&!n.controller&&!n.claimedBy&&n.listeners.size===0&&e.delete(t)}function r(r,i){let a=e.get(r);a?a.controller=i:(a={controller:i,claimedBy:null,listeners:new Set},e.set(r,a));let o=!1;return()=>{if(o)return;o=!0;let i=e.get(r);if(!i||i!==a)return;let s=i.claimedBy!==null;i.controller=null,i.claimedBy=null,s&&t(r),n(r)}}function i(r){let i=e.get(r);if(!i||!i.controller||i.claimedBy)return null;let a=Symbol(`step-claim`);i.claimedBy=a,t(r);let o=!1;return{controller:i.controller,release:()=>{if(o)return;o=!0;let i=e.get(r);i&&i.claimedBy===a&&(i.claimedBy=null,t(r),n(r))}}}function a(t){return!!e.get(t)?.claimedBy}function o(t,r){let i=e.get(t);i||(i={controller:null,claimedBy:null,listeners:new Set},e.set(t,i)),i.listeners.add(r);let a=i,o=!1;return()=>{o||(o=!0,a.listeners.delete(r),n(t))}}export{o as i,a as n,r,i as t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-BVpWp9h4.js";import{n as t,t as n}from"./contentVault-DzTYWcbD.js";function r(e){let t=(e??``).trim();if(!t)return``;if(/^You are Mavéa, an AI presence\.\s*Generate a concise morning brief/i.test(t))return`Morning brief`;let n=t.match(/^Correction —[\s\S]*?it's actually "([^"]+)"/i);if(n)return`Correction: ${n[1]}`;if(/^Fuse these/i.test(t)){let e=t.match(/between "([^"]+)" and "([^"]+)"/i);return e?`Fuse: ${e[1]} × ${e[2]}`:`Fuse`}let r=t.match(/^Refresh this — is "([^"]+)" still current/i);if(r)return r[1];if(/^I just thought out loud for about/i.test(t))return`Your thinking, sorted`;let i=t.match(/^I've been thinking out loud(?: and here's what it comes down to: ([^\n]+))?/i);return i?i[1]?.trim()||`Your thinking`:t}function i(e){return e.toLowerCase().replace(/['’]/g,``).replace(/[^a-z0-9]+/g,` `).trim()}function a(e,t){let n=t?.failOpen??!1;if(!e||!e.trim())return()=>n;let r=i(e),a=r.split(` `).filter(Boolean);return e=>{let t=i(e);if(!t)return!1;if(r.includes(t))return!0;let n=t.split(` `).filter(Boolean),o=n.length;if(o===0)return!1;let s=Math.ceil(o*.9),c=new Set(n);for(let e=0;e+o<=a.length;e++){let t=0;for(let n=0;n<o;n++)c.has(a[e+n])&&t++;if(t>=s)return!0}return!1}}var o=80,s=120,c=90,l=120,u=120,d=30,f=32,p=/\b(?:trauma(?:ti[sz](?:ed?|ing))?|ptsd|clinical depression|major depression|anxiety disorder|bipolar|narcissistic|borderline personality|attachment disorder|co-?dependent(?:ency)?|dissociat(?:e|ed|ion)|avoidant attachment|anxious attachment|emotional dysregulation|hypervigilance|love-?bombing|codependency|enmeshment|enmeshed|parentif(?:ied|ying)|scapegoat(?:ing)?|golden child)\b/i,m=new Set([`person`,`option`,`want`,`fear`,`constraint`,`tradeoff`,`contradiction`,`open_loop`,`action`,`value`,`question`]),h=new Set([`supports`,`tensions`,`depends_on`,`same_thread`,`blocks`]),g=new Set([`forming`,`stable`,`maybe`]),_=new Set([`said`,`inferred`]);function v(e,t){if(typeof e!=`string`)return null;let n=e.trim();return n?n.length>t?`${n.slice(0,t-1)}…`:n:null}function y(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=v(n.id,32);if(!r)return null;let i=m.has(n.kind)?n.kind:null;if(!i)return null;let a=v(n.label,o);if(!a)return null;let c=v(n.quote,s);if(!c||p.test(a)||p.test(c)||!t(c))return null;let l=g.has(n.status)?n.status:`stable`,u=_.has(n.confidence)?n.confidence:`said`,d=typeof n.weight==`number`?n.weight:1;return{id:r,kind:i,label:a,quote:c,status:l,confidence:u,weight:Math.max(1,Math.min(3,Math.round(d)))}}function b(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=v(n.from,32),i=v(n.to,32);if(!r||!i||t&&(!t.has(r)||!t.has(i))||r===i)return null;let a=h.has(n.kind)?n.kind:null;if(!a)return null;let o=typeof n.label==`string`?v(n.label,d)??void 0:void 0;return{from:r,to:i,kind:a,...o?{label:o}:{}}}function x(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=v(n.id,32);if(!r)return null;let i=v(n.label,f);if(!i||p.test(i))return null;let a=Array.isArray(n.atomIds)?n.atomIds:[],o=new Set,s=[];for(let e of a){let n=v(e,32);n&&t.has(n)&&!o.has(n)&&(o.add(n),s.push(n))}if(s.length===0)return null;let c=typeof n.weight==`number`?n.weight:1;return{id:r,label:i,atomIds:s,weight:Math.max(1,Math.min(3,Math.round(c)))}}function S(e,t){let n=null;if(e&&typeof e==`object`&&!Array.isArray(e))n=e;else if(typeof e==`string`){let t=e.match(/\{[\s\S]*\}/);if(!t)return null;try{n=JSON.parse(t[0])}catch{return null}}if(!n)return null;let r=v(n.center,c);if(!r)return null;let i=typeof n.title==`string`?v(n.title,60)??void 0:void 0,o=a(t,{failOpen:!0}),s=(Array.isArray(n.atoms)?n.atoms:[]).map(e=>y(e,o)).filter(e=>e!==null);if(s.length===0)return null;let d=new Set(s.map(e=>e.id)),f=(Array.isArray(n.links)?n.links:[]).map(e=>b(e,d)).filter(e=>e!==null),m=(Array.isArray(n.clusters)?n.clusters:[]).map(e=>x(e,d)).filter(e=>e!==null),h;if(n.unsaid&&typeof n.unsaid==`object`&&!Array.isArray(n.unsaid)){let e=n.unsaid,t=v(e.label,l),r=v(e.why,u);t&&r&&!p.test(t)&&!p.test(r)&&(h={label:t,why:r,confidence:`maybe`})}return{center:r,...i?{title:i}:{},atoms:s,links:f,...m.length?{clusters:m}:{},...h?{unsaid:h}:{}}}function C(e,t){let n=null;if(e&&typeof e==`object`&&!Array.isArray(e))n=e;else if(typeof e==`string`){let t=e.match(/\{[\s\S]*\}/);if(!t)return null;try{n=JSON.parse(t[0])}catch{return null}}if(!n)return null;let r=a(t,{failOpen:!0}),i=(Array.isArray(n.add)?n.add:[]).map(e=>y(e,r)).filter(e=>e!==null),o=(Array.isArray(n.addLinks)?n.addLinks:[]).map(e=>b(e)).filter(e=>e!==null);return i.length===0&&o.length===0?null:{add:i,addLinks:o}}var w=e({SESSION_STORAGE_KEY:()=>E,SESSION_TTL_MS:()=>D,SESSION_TURNS_CAP:()=>10,clearSession:()=>X,hasSavedSession:()=>Y,loadSession:()=>J,saveSession:()=>K,whenSessionSettled:()=>q});function T(e){return e===`replace`||e===`augment`||e===`refine`}var E=`mavea-live-session-v1`,D=10080*60*1e3,O=6e5,k=4096;function A(e){let t=JSON.stringify(e,(e,t)=>typeof t==`string`&&t.length>k&&t.startsWith(`data:`)?``:t);return JSON.parse(t)}function j(e){return!!e&&typeof e==`object`&&Array.isArray(e.blocks)}function M(e){if(!e||typeof e!=`object`)return null;let t=e;return t.role!==`user`&&t.role!==`assistant`||typeof t.content!=`string`?null:{role:t.role,content:t.role===`user`?r(t.content):t.content}}function N(e,t){if(!e||typeof e!=`object`)return null;let n=e;if(![`circle`,`underline`,`point`,`highlight`,`rising`,`falling`,`bracket`,`note`,`connect`].includes(n.kind)||typeof n.at!=`string`||!n.at)return null;let r={kind:n.kind,at:n.at};if(typeof n.to==`string`&&n.to&&(r.to=n.to),typeof n.label==`string`&&n.label&&(r.label=n.label),r.kind===`note`&&!r.label)return null;if((n.color===`key`||n.color===`cool`)&&(r.color=n.color),r.kind===`connect`){let e=typeof n.onIndex==`number`?Math.round(n.onIndex):-1;if(!r.to||e<0||e>=t)return null;r.onIndex=e}return r}function P(e,t){if(!Array.isArray(e))return[];let n=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=r;if(typeof e.index!=`number`)continue;let i={index:e.index,...typeof e.say==`string`?{say:e.say}:{},...typeof e.saySpoken==`string`?{saySpoken:e.saySpoken}:{}},a=N(e.mark,t);if(a&&(i.mark=a),Array.isArray(e.marks)){let n=e.marks.map(e=>N(e,t)).filter(e=>e!==null);n.length&&(i.marks=n)}n.push(i)}return n}function F(e){if(!e||typeof e!=`object`)return null;let t=e;if(!j(t.spec)||t.spec.blocks.length===0||typeof t.question!=`string`)return null;let n=t.mind?S(t.mind):null;return{question:r(t.question),narration:typeof t.narration==`string`?t.narration:``,...typeof t.spoken==`string`?{spoken:t.spoken}:{},mode:T(t.mode)?t.mode:`replace`,tour:P(t.tour,t.spec.blocks.length),spec:t.spec,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0,...n?{mind:n}:{}}}var I=null,L=!1,R=null,z=0,B=0;function V(e){let t=e;if(!t||typeof t!=`object`||t.v!==1||typeof t.savedAt!=`number`||!Number.isFinite(t.savedAt)||!Array.isArray(t.frames))return null;let n=t.frames.map(F).filter(e=>e!==null).slice(-10);if(!n.length)return null;let r=(Array.isArray(t.history)?t.history:[]).map(M).filter(e=>e!==null);return{v:1,savedAt:t.savedAt,history:r,frames:n}}async function H(e){let n=++B;try{if(typeof localStorage>`u`)return;let r=await t(e);if(n!==B)return;localStorage.setItem(E,r)}catch{}}function U(){try{if(typeof localStorage>`u`)return null;let e=localStorage.getItem(E);if(!e)return null;let t=V(JSON.parse(e));return t&&H(t),t}catch{return null}}var W=null;function G(){return L?Promise.resolve():W||(W=(async()=>{try{if(typeof localStorage>`u`)return;let e=localStorage.getItem(E);if(!e)return;let t,r=!1;try{t=V(JSON.parse(e)),r=t!==null}catch{t=V(await n(e))}if(L)return;I=t,t&&(R=t,r&&H(t))}catch{}finally{L=!0,W=null}})(),W)}G();function K(e,t,n=Date.now()){if(!L){let r=z;G().then(()=>{r===z&&(L=!0,K(e,t,n))});return}try{if(typeof localStorage>`u`)return;if(!t.length){X();return}let r=R&&n-R.savedAt<=6048e5?R:null,i=r?.frames.length?r.frames[r.frames.length-1]:null,a=!!i&&!t.some(e=>e.at===i.at),o=a?[...r.frames,...t]:t,s=a?[...r.history,...e]:e,c=A(o.slice(-10)).map(F).filter(e=>e!==null),l={v:1,savedAt:n,history:s.slice(-20).map(M).filter(e=>e!==null),frames:c},u=JSON.stringify(l);for(;u.length>O&&c.length>1;)c=c.slice(1),l={...l,frames:c},u=JSON.stringify(l);if(u.length>O)return;I=l,L=!0,H(l)}catch{}}function q(e=1200){return L?Promise.resolve():Promise.race([G(),new Promise(t=>setTimeout(t,e))]).then(()=>void 0)}function J(e=Date.now()){let t=I??U();return t&&!I&&(I=t,L=!0),t?e-t.savedAt>6048e5?null:t:(G(),null)}function Y(){if(I)return!0;try{return typeof localStorage<`u`&&!!localStorage.getItem(`mavea-live-session-v1`)}catch{return!1}}function X(){I=null,R=null,L=!0,z++,B++;try{typeof localStorage<`u`&&localStorage.removeItem(E)}catch{}}export{K as a,C as c,J as i,r as l,X as n,w as o,Y as r,S as s,E as t};
@@ -0,0 +1 @@
1
+ import{l as e}from"./store-4JNNn732.js";import{n as t,t as n}from"./contentVault-DzTYWcbD.js";var r=`mavea-live-atlas-v1`,i=r,a=500,o=null,s=!1,c=0;function l(e){return e.replace(/\s+/g,` `).trim().toLowerCase()}function u(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.id==`string`&&typeof t.question==`string`&&typeof t.title==`string`&&typeof t.firstSeen==`number`&&typeof t.savedAt==`number`&&typeof t.blocks==`number`}function d(t){return Array.isArray(t)?t.filter(u).map(t=>({...t,question:e(t.question)})):[]}async function f(e){let n=++c;try{let i=await t(e);if(n!==c)return;localStorage.setItem(r,i)}catch{}}function p(){try{let e=localStorage.getItem(r);if(!e)return[];let t=d(JSON.parse(e));return t.length&&f(t),t}catch{return[]}}async function m(){try{let e=localStorage.getItem(r);if(!e)return;try{JSON.parse(e);return}catch{}let t=d(await n(e));if(s)return;o=t,s=!0,window.dispatchEvent(new CustomEvent(i))}catch{}}m();function h(){return o??=p(),o}function g(e){let t=d(e);o=t,s=!0,f(t);try{window.dispatchEvent(new CustomEvent(i))}catch{}}function _(){return h()}function v(e){let t=d(e);if(!t.length)return 0;let n=new Map(h().map(e=>[e.id,e]));for(let e of t){let t=n.get(e.id);if(!t)n.set(e.id,e);else{let r=Math.min(t.firstSeen,e.firstSeen);n.set(e.id,e.savedAt>=t.savedAt?{...e,firstSeen:r}:{...t,firstSeen:r})}}return g([...n.values()].sort((e,t)=>t.savedAt-e.savedAt).slice(0,a)),t.length}function y(e){try{let t=[...h()],n=new Map(t.map(e=>[e.id,e])),r=!1;for(let t of e){let e=l(t.question);if(!e)continue;let i={id:e,question:t.question,title:t.title,firstSeen:n.get(e)?.firstSeen??t.savedAt,savedAt:t.savedAt,blocks:t.spec.blocks.length,...t.topic?{topic:t.topic}:{}},a=n.get(e);a&&a.savedAt===i.savedAt&&a.blocks===i.blocks||(n.set(e,i),r=!0)}if(!r)return t.length;let i=[...n.values()].sort((e,t)=>t.savedAt-e.savedAt).slice(0,a);return g(i),i.length}catch{return h().length}}function b(e,t){return t.find(t=>l(t.question)===e.id)}var x=`mavea-live-atlas-last-open`;function S(){try{let e=typeof localStorage<`u`?localStorage.getItem(x):null;return e&&parseInt(e,10)||0}catch{return 0}}function C(){try{typeof localStorage<`u`&&localStorage.setItem(x,String(Date.now()))}catch{}}export{b as a,C as i,S as n,y as o,v as r,_ as t};
@@ -0,0 +1 @@
1
+ import{l as e}from"./store-4JNNn732.js";import{n as t,t as n}from"./contentVault-DzTYWcbD.js";var r=[`stat`,`value`,`big`,`headline`];function i(e){let t=[e.points,e.bars,e.data,e.series,e.values];for(let e of t){if(!Array.isArray(e))continue;let t=e.map(e=>{if(typeof e==`number`)return e;if(e&&typeof e==`object`){let t=e,n=t.v??t.y??t.value;if(typeof n==`number`)return n}return NaN}).filter(e=>Number.isFinite(e));if(t.length>=2)return t.slice(0,24)}}function a(e){return e.find(e=>e.type===`insight`&&!!e.id)||e.find(e=>{if(!e.id)return!1;let t=e.props??{};return r.some(e=>typeof t[e]==`string`&&t[e].trim())})}function o(e){let t=a(e.blocks);if(!t)return null;let n=t.props??{},o=r.find(e=>typeof n[e]==`string`&&n[e].trim());if(!o)return null;let s=typeof n.delta==`string`&&n.delta.trim()?n.delta.trim():void 0,c=typeof n.deltaDir==`string`?n.deltaDir:void 0,l=typeof n.unit==`string`&&n.unit.trim()?n.unit.trim():void 0;return{value:n[o].trim(),unit:l,delta:s,deltaDir:c,points:i(n),kind:t.type}}var s=`mavea-live-library-v1`,c=s,l=12,u=24e4,d=4096,f=null,p=0;function m(){try{let e=globalThis.crypto;if(e?.randomUUID)return e.randomUUID()}catch{}return p+=1,`lib-${p.toString(36)}-${Math.floor(Math.random()*1e9).toString(36)}`}function h(e){return e.replace(/\s+/g,` `).trim().toLowerCase()}function g(e){let t=JSON.stringify(e,(e,t)=>typeof t==`string`&&t.length>d&&t.startsWith(`data:`)?``:t);return JSON.parse(t)}function _(e){return!!e&&typeof e==`object`&&Array.isArray(e.blocks)}function v(t){if(!t||typeof t!=`object`)return null;let n=t;if(!_(n.spec))return null;let r=typeof n.question==`string`?e(n.question):``;return r.trim()?{id:typeof n.id==`string`&&n.id?n.id:m(),question:r,title:typeof n.title==`string`?n.title:n.spec.title??``,savedAt:typeof n.savedAt==`number`&&Number.isFinite(n.savedAt)?n.savedAt:0,lead:n.lead&&typeof n.lead==`object`?n.lead:null,spec:n.spec,...typeof n.topic==`string`&&n.topic?{topic:n.topic}:{}}:null}var y=!1,b=0;function x(e){return Array.isArray(e)?e.map(v).filter(e=>e!==null).slice(0,l):[]}async function S(e){let n=++b;try{if(typeof localStorage>`u`)return;let r=await t(e);if(n!==b)return;localStorage.setItem(s,r)}catch{}}function C(){try{if(typeof localStorage>`u`)return[];let e=localStorage.getItem(s);if(!e)return[];let t=x(JSON.parse(e));return t.length&&S(t),t}catch{return[]}}async function w(){try{if(typeof localStorage>`u`)return;let e=localStorage.getItem(s);if(!e)return;try{JSON.parse(e);return}catch{}let t=x(await n(e));if(y)return;f=t,y=!0,typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(c,{detail:t}))}catch{}}w();function T(){return f||(f=C(),f)}function E(e){let t=x(e);f=t,y=!0,S(t);try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(c,{detail:t}))}catch{}}function D(){return T()}function O(e){let t=e.map(v).filter(e=>e!==null);if(!t.length)return 0;let n=new Map(T().map(e=>[e.id,e]));for(let e of t){let t=n.get(e.id);(!t||e.savedAt>=t.savedAt)&&n.set(e.id,e)}return E([...n.values()].sort((e,t)=>t.savedAt-e.savedAt)),t.length}function k(e,t,n=Date.now()){try{let r=t.trim();if(!r||!_(e)||e.blocks.length===0)return;let i=g(e),a={id:m(),question:r,title:i.title??``,savedAt:n,lead:o(i),spec:i,...i.topic?{topic:i.topic}:{}};if(JSON.stringify(a).length>u)return;let s=h(r);E([a,...T().filter(e=>h(e.question)!==s)].slice(0,l))}catch{}}function A(e){let t=T().filter(t=>t.id!==e);t.length!==T().length&&E(t)}function j(){E([])}export{A as a,O as i,j as n,k as o,D as r,c as t};
Binary file
@@ -0,0 +1 @@
1
+ var e=`mavea-course-v1`,t=e,n=`mavea-course-frames-v1`,r=`mavea-course-checkpoints-v1`,i=60,a=15e4,o=4096,s=.6;function c(e){return typeof e==`string`&&e.trim().length>0}function l(e){return Array.isArray(e)?e.filter(c).map(e=>e.trim()):[]}function u(e){if(!Array.isArray(e))return;let t=e.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;return!c(t.question)||!c(t.answer)?null:{question:t.question.trim(),answer:t.answer.trim()}}).filter(e=>e!==null);return t.length?t:void 0}function d(e){if(!e||typeof e!=`object`)return null;let t=e;if(!c(t.id)||!c(t.title)||!c(t.goal))return null;let n=l(t.objectives);if(!n.length)return null;let r=u(t.checkpoint);return{id:t.id.trim(),title:t.title.trim(),goal:t.goal.trim(),objectives:n,concepts:l(t.concepts),...typeof t.minutes==`number`&&Number.isFinite(t.minutes)&&t.minutes>0?{minutes:Math.round(t.minutes)}:{},...r?{checkpoint:r}:{}}}var f=new Set([`beginner`,`intermediate`,`expert`]);function p(e){if(!e||typeof e!=`object`)return null;let t=e;if(!c(t.id)||!c(t.topic)||!c(t.title))return null;let n=Array.isArray(t.lessons)?t.lessons.map(d).filter(e=>e!==null):[];return n.length<3?null:{id:t.id.trim(),topic:t.topic.trim(),title:t.title.trim(),lessons:n,createdAt:typeof t.createdAt==`number`&&Number.isFinite(t.createdAt)?t.createdAt:0,model:typeof t.model==`string`?t.model:``,...c(t.subtitle)?{subtitle:t.subtitle.trim()}:{},...typeof t.level==`string`&&f.has(t.level)?{level:t.level}:{}}}function m(e){if(!e||typeof e!=`object`)return;let t=e,n=typeof t.total==`number`&&t.total>=0?Math.round(t.total):0;if(!n)return;let r=typeof t.correct==`number`&&t.correct>=0?Math.round(t.correct):0,i=Array.isArray(t.missedFronts)?t.missedFronts.filter(c):[];return{total:n,correct:Math.min(r,n),missedFronts:i,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0}}function h(e){if(!e||typeof e!=`object`)return null;let t=e,n=m(t.checkpoint);return{status:t.status===`done`?`done`:`todo`,...n?{checkpoint:n}:{},lastAt:typeof t.lastAt==`number`&&Number.isFinite(t.lastAt)?t.lastAt:0}}function g(e){return{courseId:e,current:0,lessons:{}}}function _(e,t){if(!t||typeof t!=`object`)return g(e);let n=t,r=typeof n.current==`number`&&n.current>=0?Math.round(n.current):0,i={};if(n.lessons&&typeof n.lessons==`object`)for(let[e,t]of Object.entries(n.lessons)){let n=h(t);n&&(i[e]=n)}return{courseId:e,current:r,lessons:i}}function v(e){let t={courses:[],progress:{}};if(!e||typeof e!=`object`)return t;let n=e,r=Array.isArray(n.courses)?n.courses.map(p).filter(e=>e!==null).slice(0,i):[],a=new Set(r.map(e=>e.id)),o={};if(n.progress&&typeof n.progress==`object`)for(let[e,t]of Object.entries(n.progress))a.has(e)&&(o[e]=_(e,t));return{courses:r,progress:o}}var y=null,b=0;function x(){try{if(typeof localStorage>`u`)return{courses:[],progress:{}};let t=localStorage.getItem(e);return t?v(JSON.parse(t)):{courses:[],progress:{}}}catch{return{courses:[],progress:{}}}}function S(){return y||=x(),y}function C(n){y=n,b+=1;try{typeof localStorage<`u`&&localStorage.setItem(e,JSON.stringify(n))}catch{}try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(t,{detail:n}))}catch{}}function w(){b+=1;try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(t))}catch{}}function T(){return b}function E(e){return typeof window>`u`?()=>{}:(window.addEventListener(t,e),()=>window.removeEventListener(t,e))}var D=null;function O(e){return!!e&&typeof e==`object`&&Array.isArray(e.blocks)}function k(e){return e===`replace`||e===`augment`||e===`refine`}function A(e,t){if(!e||typeof e!=`object`)return null;let n=e;if(![`circle`,`underline`,`point`,`highlight`,`rising`,`falling`,`bracket`,`note`,`connect`].includes(n.kind)||typeof n.at!=`string`||!n.at)return null;let r={kind:n.kind,at:n.at};if(typeof n.to==`string`&&n.to&&(r.to=n.to),typeof n.label==`string`&&n.label&&(r.label=n.label),r.kind===`note`&&!r.label)return null;if((n.color===`key`||n.color===`cool`)&&(r.color=n.color),r.kind===`connect`){let e=typeof n.onIndex==`number`?Math.round(n.onIndex):-1;if(!r.to||e<0||e>=t)return null;r.onIndex=e}return r}function j(e,t){if(!Array.isArray(e))return[];let n=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=r;if(typeof e.index!=`number`)continue;let i={index:e.index,...typeof e.say==`string`?{say:e.say}:{},...typeof e.saySpoken==`string`?{saySpoken:e.saySpoken}:{}},a=A(e.mark,t);if(a&&(i.mark=a),Array.isArray(e.marks)){let n=e.marks.map(e=>A(e,t)).filter(e=>e!==null);n.length&&(i.marks=n)}n.push(i)}return n}function M(e){if(!e||typeof e!=`object`)return null;let t=e;return!O(t.spec)||t.spec.blocks.length===0||typeof t.question!=`string`?null:{question:t.question,narration:typeof t.narration==`string`?t.narration:``,...typeof t.spoken==`string`?{spoken:t.spoken}:{},mode:k(t.mode)?t.mode:`replace`,tour:j(t.tour,t.spec.blocks.length),spec:t.spec,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0}}function N(e){if(!e||typeof e!=`object`)return null;let t=e;if(!c(t.key)||!c(t.courseId)||!c(t.lessonId))return null;let n=M(t.frame);return n?{key:t.key.trim(),courseId:t.courseId.trim(),lessonId:t.lessonId.trim(),frame:n,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0}:null}function P(e){let t=JSON.stringify(e,(e,t)=>typeof t==`string`&&t.length>o&&t.startsWith(`data:`)?``:t);return JSON.parse(t)}function F(e,t){return`${e}::${t}`}function I(){try{if(typeof localStorage>`u`)return[];let e=localStorage.getItem(n);if(!e)return[];let t=JSON.parse(e);return(Array.isArray(t.entries)?t.entries.map(N).filter(e=>e!==null):[]).slice(-16)}catch{return[]}}function L(){return D||=I(),D}function R(e){D=e;try{typeof localStorage<`u`&&localStorage.setItem(n,JSON.stringify({entries:e}))}catch{}}function z(e){try{let t=L(),n=t.filter(t=>e.has(t.courseId));n.length!==t.length&&R(n)}catch{}}var B=null;function V(e){if(!e||typeof e!=`object`)return null;let t=e;if(!c(t.key)||!c(t.courseId)||!c(t.lessonId))return null;let n=u(t.questions);return n?{key:t.key.trim(),courseId:t.courseId.trim(),lessonId:t.lessonId.trim(),questions:n,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0}:null}function H(){try{if(typeof localStorage>`u`)return[];let e=localStorage.getItem(r);if(!e)return[];let t=JSON.parse(e);return(Array.isArray(t.entries)?t.entries.map(V).filter(e=>e!==null):[]).slice(-200)}catch{return[]}}function U(){return B||=H(),B}function W(e){B=e;try{typeof localStorage<`u`&&localStorage.setItem(r,JSON.stringify({entries:e}))}catch{}}function G(e){try{let t=U(),n=t.filter(t=>e.has(t.courseId));n.length!==t.length&&W(n)}catch{}}function K(){return[...S().courses].sort((e,t)=>t.createdAt-e.createdAt)}function q(e){return S().courses.find(t=>t.id===e)}function J(e){return S().progress[e]??g(e)}function Y(e,t){let n=v({courses:e,progress:t});if(!n.courses.length)return 0;let r=S(),i=new Map(r.courses.map(e=>[e.id,e])),a={...r.progress};for(let e of n.courses){let t=i.get(e.id);(!t||e.createdAt>=t.createdAt)&&(i.set(e.id,e),n.progress[e.id]&&(a[e.id]=n.progress[e.id]))}return C(v({courses:[...i.values()],progress:a})),n.courses.length}function X(e){return e.total>0&&e.correct/e.total>=s}function Z(e,t){try{let n=F(e,t),r=L(),i=r.findIndex(e=>e.key===n);if(i<0)return;let a=r.slice(0,i).concat(r.slice(i+1)),o={...r[i],at:Date.now()};return R([...a,o]),o.frame}catch{return}}function Q(e,t){try{let n=F(e,t),r=U(),i=r.findIndex(e=>e.key===n);if(i<0)return;let a=r.slice(0,i).concat(r.slice(i+1)),o={...r[i],at:Date.now()};return W([...a,o]),o.questions}catch{return}}function $(e){try{let t=S(),n=[e,...t.courses.filter(t=>t.id!==e.id)].slice(0,i),r=new Set(n.map(e=>e.id)),a={};for(let[e,n]of Object.entries(t.progress))r.has(e)&&(a[e]=n);a[e.id]||(a[e.id]=g(e.id)),C({courses:n,progress:a}),z(r),G(r)}catch{}}function ee(e){try{let t=S(),n=t.courses.filter(t=>t.id!==e),r={...t.progress};delete r[e],C({courses:n,progress:r});let i=new Set(n.map(e=>e.id));z(i),G(i)}catch{}}function te(e,t){try{let n=S(),r=n.progress[e]??g(e),i={...n.progress,[e]:{...r,current:Math.max(0,Math.round(t))}};C({...n,progress:i})}catch{}}function ne(e,t,n,r=Date.now()){try{let i=S(),a=i.progress[e]??g(e),o=a.lessons[t]?.status===`done`||X(n)?`done`:`todo`,s={...a.lessons,[t]:{status:o,checkpoint:n,lastAt:r}};C({...i,progress:{...i.progress,[e]:{...a,lessons:s}}})}catch{}}function re(e,t,n){try{let r=P(n),i=F(e,t),o={key:i,courseId:e,lessonId:t,frame:r,at:Date.now()};if(JSON.stringify(o).length>a)return;R([...L().filter(e=>e.key!==i),o].slice(-16))}catch{}}function ie(e,t,n){try{if(!n.length)return;let r=F(e,t),i={key:r,courseId:e,lessonId:t,questions:n,at:Date.now()};W([...U().filter(e=>e.key!==r),i].slice(-200)),w()}catch{}}export{Z as a,K as c,X as d,ne as f,E as g,te as h,Q as i,J as l,$ as m,ie as n,q as o,ee as p,re as r,T as s,t,Y as u};
@@ -0,0 +1,2 @@
1
+ import{r as e}from"./chunk-BVpWp9h4.js";var t=e({ArrayStreamScanner:()=>u,completedArrayItems:()=>c,completedBlocks:()=>l,extractNarration:()=>i,extractNarrationProgress:()=>a,extractStringField:()=>r,nextSpeakableChunk:()=>s});function n(e){switch(e){case`n`:return`
2
+ `;case`t`:return` `;case`r`:return`\r`;case`"`:return`"`;case`\\`:return`\\`;case`/`:return`/`;default:return e}}function r(e,t){let r=`"${t}"`,i=e.indexOf(r);if(i<0)return null;let a=e.indexOf(`:`,i+r.length);if(a<0)return null;for(a++;a<e.length&&/\s/.test(e[a]);)a++;if(e[a]!==`"`)return null;a++;let o=``;for(;a<e.length;){let t=e[a];if(t===`\\`){let t=e[a+1];if(t===void 0)return null;o+=n(t),a+=2;continue}if(t===`"`)return o;o+=t,a++}return null}function i(e){return r(e,`narration`)}function a(e){let t=e.indexOf(`"narration"`);if(t<0)return null;let r=e.indexOf(`:`,t+11);if(r<0)return null;for(r++;r<e.length&&/\s/.test(e[r]);)r++;if(e[r]!==`"`)return null;r++;let i=``;for(;r<e.length;){let t=e[r];if(t===`\\`){let t=e[r+1];if(t===void 0)break;i+=n(t),r+=2;continue}if(t===`"`)return{text:i,done:!0};i+=t,r++}return{text:i,done:!1}}function o(e){let t=!1,n=null;for(let r=0;r<e.length;r++){if(e[r]===`[`&&e[r+1]===`[`){t=!0,r++;continue}if(t&&e[r]===`]`&&e[r+1]===`]`){t=!1,r++;continue}!t&&/[.!?]/.test(e[r])&&/\s/.test(e[r+1]??``)&&(n=r)}return n}function s(e,t,n){if(e.length<=t)return{chunk:``,consumed:t};if(n)return{chunk:e.slice(t).trim(),consumed:e.length};let r=e.slice(t),i=o(r);return i===null?{chunk:``,consumed:t}:{chunk:r.slice(0,i+1).trim(),consumed:t+i+1}}function c(e,t){let n=e.indexOf(`"${t}"`);if(n<0)return[];let r=e.indexOf(`[`,n);if(r<0)return[];r++;let i=[],a=0,o=-1,s=!1,c=!1;for(;r<e.length;r++){let t=e[r];if(s){c?c=!1:t===`\\`?c=!0:t===`"`&&(s=!1);continue}if(t===`"`)s=!0;else if(t===`{`)a===0&&(o=r),a++;else if(t===`}`){if(a--,a===0&&o>=0){try{i.push(JSON.parse(e.slice(o,r+1)))}catch{}o=-1}}else if(t===`]`&&a===0)break}return i}function l(e){return c(e,`blocks`)}var u=class{parsed=[];needle;buf=``;from=0;phase=`key`;depth=0;inStr=!1;esc=!1;start=-1;knownType=null;constructor(e){this.needle=`"${e}"`}get items(){return this.parsed}scan(e){if(this.phase===`done`)return;if(this.buf=e,this.phase===`key`){let t=e.indexOf(this.needle,this.from);if(t<0){this.from=Math.max(0,e.length-this.needle.length+1);return}this.phase=`bracket`,this.from=t+this.needle.length}if(this.phase===`bracket`){let t=e.indexOf(`[`,this.from);if(t<0){this.from=e.length;return}this.phase=`elements`,this.from=t+1}let t=this.from;for(;t<e.length;t++){let n=e[t];if(this.inStr){this.esc?this.esc=!1:n===`\\`?this.esc=!0:n===`"`&&(this.inStr=!1);continue}if(n===`"`)this.inStr=!0;else if(n===`{`)this.depth===0&&(this.start=t,this.knownType=null),this.depth++;else if(n===`}`){if(this.depth--,this.depth===0&&this.start>=0){try{this.parsed.push(JSON.parse(e.slice(this.start,t+1)))}catch{}this.start=-1}}else if(n===`]`&&this.depth===0){this.phase=`done`,this.buf=``;break}}this.from=t}pendingType(){if(this.phase===`done`||this.start<0)return null;if(this.knownType)return this.knownType;let e=/"type"\s*:\s*"([a-z0-9-]+)"/i.exec(this.buf.slice(this.start));return e&&(this.knownType=e[1]),this.knownType}};export{a,t as c,i,c as n,r as o,l as r,s,u as t};
@@ -0,0 +1 @@
1
+ var e=1,t=`student`,n=1784155046201,r=`gpt-5.4-nano`,i=[{question:`What does saving $200 a month at 5% become after 10 years?`,narration:`If you save $200 a month at 5% interest, after 10 years you’ve put in $24,000 and earned about $7,056—so roughly $31,056 total. The chart shows both the “what you added” and the “interest earned” year by year; drag the monthly amount to see the what-if.`,mode:`replace`,tour:[{index:0,say:`First, look at the stacked flow: each year’s balance is split into what you deposited and the interest earned, so you can watch the gap widen with compounding.`},{index:1,say:`Now the line chart makes the totals feel tangible—Year 10 lands around thirty-one thousand dollars, with the principal and interest shown as separate series.`},{index:2,say:`Those headline numbers are the whole answer: after ten years you’d deposit twenty-four thousand, earn about seven thousand, and end up near thirty-one thousand.`},{index:3,say:`And the donut shows the same result as a share: most is your deposits, and roughly a fifth to a quarter is interest earned.`},{index:5,say:`If you want to reproduce it: monthly rate equals five percent divided by twelve, then we use the standard monthly-annuity future value formula.`}],spec:{id:`live`,workspace:`Live`,title:`Monthly saving growth at 5%`,sub:`Year-by-year principal vs interest, adjustable monthly contribution.`,opener:`If you save $200 a month at 5% interest, after 10 years you’ve put in $24,000 and earned about $7,056—so roughly $31,056 total. The chart shows both the “what you added” and the “interest earned” year by year; drag the monthly amount to see the what-if.`,context:[],blocks:[{type:`streamgraph`,col:12,delay:0,props:{title:`Year-by-year: principal vs interest (5% annual, monthly deposits)`,ticks:[`Year 1`,`Year 2`,`Year 3`,`Year 4`,`Year 5`,`Year 6`,`Year 7`,`Year 8`,`Year 9`,`Year 10`],series:[{label:`Principal (you put in)`,color:`var(--presence)`,values:[2400,4800,7200,9600,12e3,14400,16800,19200,21600,24e3]},{label:`Interest earned`,color:`var(--insight)`,values:[58,245,562,1032,1666,2438,3400,4580,5980,7056]}],icon:`chart`,iconColor:`var(--insight)`,unit:`$`,footer:`Interest grows over time because it earns on both your past deposits and the accumulated balance.`},id:`live-1`,note:`This flow view stacks your growing balance into “principal” and “interest,” so you can see exactly when interest starts to dominate.`},{type:`chart`,col:6,delay:70,props:{title:`Total balance each year (principal + interest)`,labels:[`Year 1`,`Year 2`,`Year 3`,`Year 4`,`Year 5`,`Year 6`,`Year 7`,`Year 8`,`Year 9`,`Year 10`],series:[{name:`Total balance`,color:`var(--presence-soft)`,data:[2458,5045,7762,10632,13666,16838,20200,23780,27580,31056]},{name:`Principal (you put in)`,color:`var(--presence)`,data:[2400,4800,7200,9600,12e3,14400,16800,19200,21600,24e3]},{name:`Interest earned`,color:`var(--insight)`,data:[58,245,562,1032,1666,2438,3400,4580,5980,7056]}],unit:`$`,footer:`At Year 10, total is about $31,056 with $24,000 principal and about $7,056 interest.`,conf:`inferred`},id:`live-2`,note:`This shows the exact year-by-year totals and the two components—so the gap widening is the real “compounding” story.`},{type:`kpi`,col:6,delay:140,props:{title:`After 10 years (default: $200/mo at 5%)`,kpis:[{val:`$200/mo`,label:`Monthly contribution`},{val:`$24,000`,label:`Total deposited`},{val:`$7,056`,label:`Interest earned`},{val:`$31,056`,label:`Total balance`}],icon:`chart`,iconColor:`var(--insight)`},id:`live-3`,note:`These four numbers summarize the whole question in one place: what you put in, what you earned, and what you end up with.`},{type:`donut`,col:6,delay:210,props:{title:`Where the Year 10 balance comes from`,rows:[{label:`Principal (deposits)`,pct:77.2,color:`var(--presence)`},{label:`Interest earned`,pct:22.8,color:`var(--insight)`}],footer:`Roughly 77% principal and 23% interest after 10 years at 5%.`,conf:`inferred`},id:`live-4`,note:`This split gives you intuition: early on it’s mostly principal, and later a bigger share is interest you didn’t directly contribute.`},{type:`breakdown`,col:6,delay:280,props:{title:`How the interest grows (what’s changing over time)`,rows:[{name:`Early years`,val:`Interest is small vs deposits`,pct:15,tag:`growth starts slowly`},{name:`Middle years`,val:`Interest rises as the balance builds`,pct:35,tag:`compounding kicks in`},{name:`Later years`,val:`Interest share increases noticeably`,pct:50,tag:`bigger gap between lines`}],conf:`inferred`},id:`live-5`,note:`This is the qualitative pattern behind the numbers: the interest portion stays modest early, then accelerates as the accumulated balance gets larger.`},{type:`list`,col:6,delay:350,props:{title:`Formula used (monthly deposits, fixed 5%)`,items:[`Monthly rate r = 0.05 / 12`,`Number of months n = 10 × 12`,`Future value FV = P × (( (1 + r)^n − 1 ) / r)`,`Total deposited = P × n`,`Interest earned = FV − (P × n)`]},id:`live-6`,note:`If you want to recompute outside this chart, these are the exact steps: compute r and n, then apply the monthly-annuity future value formula.`},{type:`timeline`,col:6,delay:420,props:{events:[{time:`Each month`,title:`Add $P`,detail:`Deposits are treated as happening monthly, consistently.`},{time:`Ongoing`,title:`Interest compounds`,detail:`Each deposit earns interest starting after it’s been added.`},{time:`Year end (Years 1–10)`,title:`Snapshot totals`,detail:`The chart values show end-of-year balances.`}],eyebrow:`Monthly contributions assumed`,title:`Deposit timing (important for “monthly” saving)`},id:`live-7`,note:`This explains the underlying assumption: deposits are monthly and interest compounds continuously on the accumulating balance, not just once per year.`},{type:`blanks`,col:12,delay:490,props:{title:`Adjust the monthly contribution`,slots:[{key:`monthly`,label:`Monthly savings`,prompt:`How much per month you save (P)?`,kind:`number`,unit:`$`,placeholder:`e.g., 200`}],intro:`Drag the slider to update principal, interest earned, and total balance each year.`},id:`live-8`,note:`Use this to run your own what-if scenario: change the monthly amount, and the year-by-year split updates.`}],proof:null,topic:`Finance`,bend:{blockId:`live-8`,label:`Monthly contribution (P)`,param:{value:200,min:0,max:1e3,step:10,unit:`$`},outputs:[{label:`Total deposited (10 years)`,formula:`x*12*10`,unit:`$`}]},blanks:[{key:`monthly`,label:`Monthly savings`,prompt:`How much per month you save (P)?`,kind:`number`,unit:`$`,placeholder:`e.g., 200`}],awaiting:!0,extras:{},group:`home`,suggests:[{label:`What if I start with a lump sum too—how does that change the chart?`,icon:`chat`,route:`What if I start with a lump sum too—how does that change the chart?`},{label:`How does the result change if interest compounds monthly vs annually?`,icon:`chat`,route:`How does the result change if interest compounds monthly vs annually?`},{label:`Can you show the same split for 5 years and 20 years too?`,icon:`chat`,route:`Can you show the same split for 5 years and 20 years too?`},{label:`What monthly amount do I need to reach a target total (like $50,000)?`,icon:`chat`,route:`What monthly amount do I need to reach a target total (like $50,000)?`}],keywords:[]},at:1784155033799},{question:`Why does compound interest beat simple interest? It's on my econ exam.`,narration:`Compound interest beats simple because the interest you earn gets added back into the balance, so future interest is calculated on a bigger and bigger base. Simple interest keeps paying interest only on the original principal, so growth stays linear instead of exponential-ish.`,mode:`replace`,tour:[],spec:{id:`live`,workspace:`Live`,title:`Compound vs Simple Interest`,sub:`Compounding reinvests interest, so the base grows and future interest grows too.`,opener:`Compound interest beats simple because the interest you earn gets added back into the balance, so future interest is calculated on a bigger and bigger base. Simple interest keeps paying interest only on the original principal, so growth stays linear instead of exponential-ish.`,context:[],blocks:[{type:`insight`,col:4,delay:0,id:`live-1`,num:`1`,props:{title:`Compound interest grows faster`,summary:`Each period’s interest becomes part of the new principal, so the interest base increases over time.`,stat:`Base grows every period`,deltaDir:`up`,conf:`strong`},note:`Compound interest updates the balance each period; your interest then earns interest next period, which is the whole growth advantage.`,section:`Core idea`,order:1},{type:`loaddiagram`,col:8,delay:70,props:{title:`Why compounding “feeds back” every period`,span:10,supports:[{at:0,kind:`pin`},{at:10,kind:`roller`}],loads:[{kind:`point`,at:1,mag:1,label:`interest added`}],unit:`time step`,shear:[{x:0,v:0},{x:1,v:1},{x:10,v:10}],moment:[{x:0,m:0},{x:1,m:1},{x:10,m:55}],caption:`Think of each period’s interest as a new load that increases the next period’s starting point—so later “moment” is larger.`},id:`live-2`,note:`This diagram is an intuition pump: every time you add interest back in, you raise the next step’s starting point, so effects accumulate more.`,section:`Core idea`,order:1,depth:2,facet:`analogy`},{type:`chart`,col:12,delay:140,props:{title:`Same rate, compounding vs simple over time`,labels:[`After 1 yr`,`After 2 yrs`,`After 3 yrs`,`After 4 yrs`,`After 5 yrs`,`After 10 yrs`],series:[{name:`Simple interest total`,color:`var(--presence-soft)`,data:[2,3,4,5,6,11]},{name:`Compounded total`,color:`var(--insight)`,data:[2,2.5,3.13,3.91,4.88,12.19]}],unit:`$ (conceptual)`,footer:`Compounding is the faster-growing curve because the base increases each period.`,conf:`inferred`},id:`live-3`,note:`This conceptual chart shows the pattern: simple grows by a fixed increment, while compounding climbs faster as the base keeps increasing.`,section:`Core idea`,order:1,depth:1},{type:`breakdown`,col:6,delay:210,props:{title:`Key difference in the formula`,rows:[{name:`Simple interest`,val:`I = P·r·t`,pct:50,tag:`linear growth`},{name:`Compound interest`,val:`A = P·(1 + r/n)^(n·t)`,pct:50,hot:!0,tag:`base reinvests`}]},id:`live-4`,note:`Simple uses principal only (P·r·t), while compound raises (1 + r/n) to a power, reflecting repeated reinvestment.`,section:`Mechanism`,order:2,depth:1},{type:`toolscale`,col:6,delay:280,props:{instrument:`thermometer`,value:.65,max:1,title:`Compounding: interest rate on a growing base`,unit:`relative growth`,caption:`As time goes on, the “effective principal” rises, so the next period’s interest is larger even with the same r.`},id:`live-5`,note:`A good way to picture it: compounding increases the balance, so applying the same interest rate later yields a bigger interest amount.`,section:`Mechanism`,order:2,depth:2,facet:`derivation`},{type:`timeline`,col:12,delay:350,props:{events:[{time:`Start of year`,title:`Principal exists`,detail:`Your balance entering the period is the base.`},{time:`During the year`,title:`Interest is calculated`,detail:`You compute interest as a % of the current balance.`},{time:`End of the year`,title:`Interest is added back`,detail:`Now the next period starts with principal plus last period’s interest.`},{time:`Next years`,title:`Repeat the feedback loop`,detail:`Because the base is larger, future interest gets bigger each time.`}],eyebrow:`What happens each period`},id:`live-6`,note:`That end-of-period “add interest to the balance” step is the feedback loop that makes compound interest win.`,section:`Mechanism`,order:2,depth:1},{type:`compare`,col:12,delay:420,props:{options:[{name:`Simple interest`,sub:`Same $ interest each year`},{name:`Compound interest`,sub:`Same r each period, but bigger interest $ later`,pick:!0}],criteria:[{label:`Growth pattern`,cells:[{v:`Linear`},{v:`Faster than linear`,win:!0}]},{label:`Interest base`,cells:[{v:`Original principal P`},{v:`Rises each period`,win:!0}]},{label:`Formula structure`,cells:[{v:`P·r·t`},{v:`P·(1+r/n)^(n·t)`,win:!0}]}],eyebrow:`Exam-style takeaway`,recommendation:`If the rate is positive and time is › 1 period, compounding almost always produces a larger final amount than simple interest.`},id:`live-7`,note:`For econ exams: emphasize the base—simple pays on P, compounding pays on P plus all prior interest.`,section:`Mechanism`,order:2,depth:1},{type:`list`,col:12,delay:490,props:{title:`How to answer in one exam paragraph`,items:[`Start with the principal: simple interest keeps using the original P as the base.`,`Then state the feedback: compound adds interest to the balance each period.`,`Conclude with growth: because the base increases, interest amounts rise over time.`,`Mention compounding frequency: more frequent compounding means more “reinvestment” opportunities.`]},id:`live-8`,note:`Use this structure: base stays fixed in simple, but in compound the base increases, so growth accelerates.`,section:`How to write it`,order:3,depth:1}],proof:null,topic:`Economics`,extras:{},group:`home`,suggests:[{label:`Show the derivation starting from A=P(1+r)^t`,icon:`chat`,route:`Show the derivation starting from A=P(1+r)^t`},{label:`Give me a numeric example with P, r, t (simple vs compound)`,icon:`chat`,route:`Give me a numeric example with P, r, t (simple vs compound)`},{label:`How compounding frequency (annual vs monthly) changes results`,icon:`chat`,route:`How compounding frequency (annual vs monthly) changes results`},{label:`Best wording for a 3–4 sentence exam answer`,icon:`chat`,route:`Best wording for a 3–4 sentence exam answer`}],keywords:[]},at:1784155046200}],a=[{role:`user`,content:`What does saving $200 a month at 5% interest become after 10 years? Chart it year by year, split what I put in from what the interest earned, and make the monthly amount a what-if I can adjust.`},{role:`assistant`,content:`If you save $200 a month at 5% interest, after 10 years you’ve put in $24,000 and earned about $7,056—so roughly $31,056 total. The chart shows both the “what you added” and the “interest earned” year by year; drag the monthly amount to see the what-if.`},{role:`user`,content:`Why does compound interest beat simple interest? It's on my econ exam.`},{role:`assistant`,content:`Compound interest beats simple because the interest you earn gets added back into the balance, so future interest is calculated on a bigger and bigger base. Simple interest keeps paying interest only on the original principal, so growth stays linear instead of exponential-ish.`}],o={v:1,persona:t,generatedAt:n,model:r,frames:i,history:a};export{o as default,i as frames,n as generatedAt,a as history,r as model,t as persona,e as v};
@@ -0,0 +1 @@
1
+ var e=[Object.freeze(JSON.parse('{"displayName":"Swift","fileTypes":["swift"],"firstLineMatch":"^#!/.*\\\\bswift","name":"swift","patterns":[{"include":"#root"}],"repository":{"async-throws":{"captures":{"1":{"name":"invalid.illegal.await-must-precede-throws.swift"},"2":{"name":"storage.modifier.exception.swift"},"3":{"name":"storage.modifier.async.swift"}},"match":"\\\\b(?:((?:throws\\\\s+|rethrows\\\\s+)async)|((?:|re)throws)|(async))\\\\b"},"attributes":{"patterns":[{"begin":"((@)available)(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"},"3":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.attribute.available.swift","patterns":[{"captures":{"1":{"name":"keyword.other.platform.os.swift"},"2":{"name":"constant.numeric.swift"}},"match":"\\\\b(swift|(?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b(?:\\\\s+([0-9]+(?:\\\\.[0-9]+)*)\\\\b)?"},{"begin":"\\\\b((?:introduc|deprecat|obsolet)ed)\\\\s*(:)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"match":"\\\\b[0-9]+(?:\\\\.[0-9]+)*\\\\b","name":"constant.numeric.swift"}]},{"begin":"\\\\b(message|renamed)\\\\s*(:)\\\\s*(?=\\")","beginCaptures":{"1":{"name":"keyword.other.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#literals"}]},{"captures":{"1":{"name":"keyword.other.platform.all.swift"},"2":{"name":"keyword.other.swift"},"3":{"name":"invalid.illegal.character-not-allowed-here.swift"}},"match":"(?:(\\\\*)|\\\\b(deprecated|unavailable|noasync)\\\\b)\\\\s*(.*?)(?=[),])"}]},{"begin":"((@)objc)(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"},"3":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.attribute.objc.swift","patterns":[{"captures":{"1":{"name":"invalid.illegal.missing-colon-after-selector-piece.swift"}},"match":"\\\\w*(?::(?:\\\\w*:)*(\\\\w*))?","name":"entity.name.function.swift"}]},{"begin":"(@)(?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>)","beginCaptures":{"0":{"name":"storage.modifier.attribute.swift"},"1":{"name":"punctuation.definition.attribute.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G\\\\()","name":"meta.attribute.swift","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.arguments.attribute.swift","patterns":[{"include":"#expressions"}]}]}]},"builtin-functions":{"patterns":[{"match":"(?<=\\\\.)(?:s(?:ort(?:ed)?|plit)|contains|index|partition|f(?:i(?:lter|rst)|orEach|latMap)|with(?:MutableCharacters|CString|U(?:nsafe(?:Mutable(?:BufferPointer|Pointer(?:s|To(?:Header|Elements)))|BufferPointer)|TF8Buffer))|m(?:in|a[px]))(?=\\\\s*[({])\\\\b","name":"support.function.swift"},{"match":"(?<=\\\\.)(?:s(?:ymmetricDifference|t(?:oreBytes|arts|ride)|ortInPlace|u(?:ccessor|ffix|btract(?:ing|InPlace|WithOverflow)?)|quareRoot|amePosition)|h(?:oldsUnique(?:|OrPinned)Reference|as(?:Suf|Pre)fix)|ne(?:gated?|xt)|c(?:o(?:untByEnumerating|py(?:Bytes)?)|lamp(?:ed)?|reate)|t(?:o(?:IntMax|Opaque|UIntMax)|ake(?:R|Unr)etainedValue|r(?:uncatingRemainder|a(?:nscodedLength|ilSurrogate)))|i(?:s(?:MutableAndUniquelyReferenced(?:OrPinned)?|S(?:trictSu(?:perset(?:Of)?|bset(?:Of)?)|u(?:perset(?:Of)?|bset(?:Of)?))|Continuation|T(?:otallyOrdered|railSurrogate)|Disjoint(?:With)?|Unique(?:Reference|lyReferenced(?:OrPinned)?)|Equal|Le(?:ss(?:ThanOrEqualTo)?|adSurrogate))|n(?:sert(?:ContentsOf)?|tersect(?:ion|InPlace)?|itialize(?:Memory|From)?|dex(?:Of|ForKey)))|o(?:verlaps|bjectAt)|d(?:i(?:stance(?:To)?|vide(?:d|WithOverflow)?)|e(?:s(?:cendant|troy)|code(?:CString)?|initialize|alloc(?:ate(?:Capacity)?)?)|rop(?:First|Last))|u(?:n(?:ion(?:InPlace)?|derestimateCount|wrappedOrError)|p(?:date(?:Value)?|percased))|join(?:ed|WithSeparator)|p(?:op(?:First|Last)|ass(?:R|Unr)etained|re(?:decessor|fix))|e(?:scaped?|n(?:code|umerated?)|lementsEqual|xclusiveOr(?:InPlace)?)|f(?:orm(?:Remainder|S(?:ymmetricDifference|quareRoot)|TruncatingRemainder|In(?:tersection|dex)|Union)|latten|rom(?:CString(?:RepairingIllFormedUTF8)?|Opaque))|w(?:i(?:thMemoryRebound|dth)|rite(?:To)?)|l(?:o(?:wercased|ad)|e(?:adSurrogate|xicographical(?:Compare|lyPrecedes)))|a(?:ss(?:ign(?:(?:Backward|)From)?|umingMemoryBound)|d(?:d(?:ing(?:Product)?|Product|WithOverflow)?|vanced(?:By)?)|utorelease|ppend(?:ContentsOf)?|lloc(?:ate)?|bs)|r(?:ound(?:ed)?|e(?:serveCapacity|tain|duce|place(?:(?:R|Subr)ange)?|versed?|quest(?:Native|UniqueMutableBacking)Buffer|lease|m(?:ove(?:Range|Subrange|Value(?:ForKey)?|First|Last|A(?:tIndex|ll))?|ainder(?:WithOverflow)?)))|ge(?:nerate|t(?:Objects|Element))|m(?:in(?:imum(?:Magnitude)?|Element)|ove(?:Initialize(?:Memory|BackwardFrom|From)?|Assign(?:From)?)?|ultipl(?:y(?:WithOverflow)?|ied)|easure|a(?:ke(?:Iterator|Description)|x(?:imum(?:Magnitude)?|Element)))|bindMemory)(?=\\\\s*\\\\()","name":"support.function.swift"},{"match":"(?<=\\\\.)(?:s(?:uperclassMirror|amePositionIn|tartsWith)|nextObject|c(?:haracterAtIndex|o(?:untByEnumeratingWithState|pyWithZone)|ustom(?:Mirror|PlaygroundQuickLook))|is(?:EmptyInput|ASCII)|object(?:Enumerator|ForKey|AtIndex)|join|put|keyEnumerator|withUnsafeMutablePointerToValue|length|getMirror|m(?:oveInitializeAssignFrom|ember))(?=\\\\s*\\\\()","name":"support.function.swift"}]},"builtin-global-functions":{"patterns":[{"begin":"\\\\b(type)(\\\\()\\\\s*(of)(:)","beginCaptures":{"1":{"name":"support.function.dynamic-type.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"},"3":{"name":"support.variable.parameter.swift"},"4":{"name":"punctuation.separator.argument-label.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"include":"#expressions"}]},{"match":"\\\\ba(?:nyGenerator|utoreleasepool)(?=\\\\s*[({])\\\\b","name":"support.function.swift"},{"match":"\\\\b(?:s(?:tride(?:of(?:Value)?)?|izeof(?:Value)?|equence|wap)|numericCast|transcode|is(?:UniquelyReferenced(?:NonObjC)?|KnownUniquelyReferenced)|zip|d(?:ump|ebugPrint)|unsafe(?:BitCast|Downcast|Unwrap|Address(?:Of)?)|pr(?:int|econdition(?:Failure)?)|fatalError|with(?:Unsafe(?:Mutable|)Pointer|ExtendedLifetime|VaList)|a(?:ssert(?:ionFailure)?|lignof(?:Value)?|bs)|re(?:peatElement|adLine)|getVaList|m(?:in|ax))(?=\\\\s*\\\\()","name":"support.function.swift"},{"match":"\\\\b(?:s(?:ort|uffix|pli(?:ce|t))|insert|overlaps|d(?:istance|rop(?:First|Last))|join|prefix|extend|withUnsafe(?:Mutable|)Pointers|lazy|advance|re(?:flect|move(?:Range|Last|A(?:tIndex|ll))))(?=\\\\s*\\\\()","name":"support.function.swift"}]},"builtin-properties":{"patterns":[{"match":"(?<=(?:^|\\\\W)(?:Process\\\\.|CommandLine\\\\.))(arguments|argc|unsafeArgv)","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:s(?:t(?:artIndex|ri(?:ngValue|de))|i(?:ze|gn(?:BitIndex|ificand(?:Bit(?:Count|Pattern)|Width)?|alingNaN)?)|u(?:perclassMirror|mmary|bscriptBaseAddress))|h(?:eader|as(?:hValue|PointerRepresentation))|n(?:ulTerminatedUTF8|ext(?:Down|Up)|a(?:n|tiveOwner))|c(?:haracters|ount(?:TrailingZeros)?|ustom(?:Mirror|PlaygroundQuickLook)|apacity)|i(?:s(?:S(?:ign(?:Minus|aling(?:NaN)?)|ubnormal)|N(?:ormal|aN)|Canonical|Infinite|Zero|Empty|Finite|ASCII)|n(?:dices|finity)|dentity)|owner|de(?:|bugDe)scription|u(?:n(?:safelyUnwrapped|icodeScalars?|derestimatedCount)|tf(?:16|8(?:Start|C(?:String|odeUnitCount))?)|intValue|ppercaseString|lp(?:OfOne)?)|p(?:i|ointee)|e(?:ndIndex|lements|xponent(?:Bit(?:Count|Pattern))?)|values?|keys|quietNaN|f(?:irst(?:ElementAddress(?:IfContiguous)?)?|loatingPointClass)|l(?:ittleEndian|owercaseString|eastNo(?:nzero|rmal)Magnitude|a(?:st|zy))|a(?:l(?:ignment|l(?:ocatedElementCount|Zeros))|rray(?:PropertyIsNativeTypeChecked)?)|ra(?:dix|wValue)|greatestFiniteMagnitude|m(?:in|emory|ax)|b(?:yteS(?:ize|wapped)|i(?:nade|tPattern|gEndian)|uffer|ase(?:Address)?))\\\\b","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:boolValue|disposition|end|objectIdentifier|quickLookObject|start|valueType)\\\\b","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:s(?:calarValue|i(?:ze|gnalingNaN)|o(?:und|me)|uppressed|prite|et)|n(?:one|egative(?:Subnormal|Normal|Infinity|Zero))|c(?:ol(?:or|lection)|ustomized)|t(?:o(?:NearestOr(?:Even|AwayFromZero)|wardZero)|uple|ext)|i(?:nt|mage)|optional|d(?:ictionary|o(?:uble|wn))|u(?:Int|p|rl)|p(?:o(?:sitive(?:Subnormal|Normal|Infinity|Zero)|int)|lus)|e(?:rror|mptyInput)|view|quietNaN|float|a(?:ttributedString|wayFromZero)|r(?:ectangle|ange)|generated|minus|b(?:ool|ezierPath))\\\\b","name":"support.variable.swift"}]},"builtin-types":{"patterns":[{"include":"#builtin-types-builtin-class-type"},{"include":"#builtin-types-builtin-enum-type"},{"include":"#builtin-types-builtin-protocol-type"},{"include":"#builtin-types-builtin-struct-type"},{"include":"#builtin-types-builtin-typealias"},{"match":"\\\\bAny\\\\b","name":"support.type.any.swift"}]},"builtin-types-builtin-class-type":{"match":"\\\\b(Managed((?:|Proto)Buffer)|NonObjectiveCBase|AnyGenerator)\\\\b","name":"support.class.swift"},"builtin-types-builtin-enum-type":{"patterns":[{"match":"\\\\b(?:CommandLine|Process(?=\\\\.))\\\\b","name":"support.constant.swift"},{"match":"\\\\bNever\\\\b","name":"support.constant.never.swift"},{"match":"\\\\b(?:ImplicitlyUnwrappedOptional|Representation|MemoryLayout|FloatingPointClassification|SetIndexRepresentation|SetIteratorRepresentation|FloatingPointRoundingRule|UnicodeDecodingResult|Optional|DictionaryIndexRepresentation|AncestorRepresentation|DisplayStyle|PlaygroundQuickLook|Never|FloatingPointSign|Bit|DictionaryIteratorRepresentation)\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:MirrorDisposition|QuickLookObject)\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-protocol-type":{"patterns":[{"match":"\\\\b(?:Ra(?:n(?:domAccess(?:Collection|Indexable)|geReplaceable(?:Collection|Indexable))|wRepresentable)|M(?:irrorPath|utable(?:Collection|Indexable))|Bi(?:naryFloatingPoint|twiseOperations|directional(?:Collection|Indexable))|S(?:tr(?:ide|eam)able|igned(?:Number|Integer)|e(?:tAlgebra|quence))|Hashable|C(?:o(?:llection|mparable)|ustom(?:Reflecta|StringConverti|DebugStringConverti|PlaygroundQuickLooka|LeafReflecta)ble|VarArg)|TextOutputStream|I(?:n(?:teger(?:Arithmetic)?|dexable(?:Base)?)|teratorProtocol)|OptionSet|Un(?:signedInteger|icodeCodec)|E(?:quatable|rror|xpressibleBy(?:BooleanLiteral|String(?:Interpolation|Literal)|NilLiteral|IntegerLiteral|DictionaryLiteral|UnicodeScalarLiteral|ExtendedGraphemeClusterLiteral|FloatLiteral|ArrayLiteral))|FloatingPoint|L(?:osslessStringConvertible|azy(?:Sequence|Collection)Protocol)|A(?:nyObject|bsoluteValuable))\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:Ran(?:domAccessIndex|geReplaceableCollection)Type|GeneratorType|M(?:irror(?:|Path)Type|utable(?:Sliceable|CollectionType))|B(?:i(?:twiseOperations|directionalIndex)Type|oolean(?:Type|LiteralConvertible))|S(?:tring(?:Interpolation|Literal)Convertible|i(?:nk|gned(?:Numb|Integ)er)Type|e(?:tAlgebra|quence)Type|liceable)|NilLiteralConvertible|C(?:ollection|VarArg)Type|Inte(?:rvalType|ger(?:Type|LiteralConvertible|ArithmeticType))|O(?:utputStream|ptionSet)Type|DictionaryLiteralConvertible|Un(?:signedIntegerType|icode(?:ScalarLiteralConvertible|CodecType))|E(?:rrorType|xten(?:sibleCollectionType|dedGraphemeClusterLiteralConvertible))|F(?:orwardIndexType|loat(?:ingPointType|LiteralConvertible))|A(?:nyCollectionType|rrayLiteralConvertible))\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-struct-type":{"patterns":[{"match":"\\\\b(?:R(?:e(?:peat(?:ed)?|versed(?:RandomAccess(?:Collection|Index)|Collection|Index))|an(?:domAccessSlice|ge(?:Replaceable(?:RandomAccess|Bidirectional|)Slice|Generator)?))|Generator(?:Sequence|OfOne)|M(?:irror|utable(?:Ran(?:domAccess|geReplaceable(?:RandomAccess|Bidirectional|))|Bidirectional|)Slice|anagedBufferPointer)|B(?:idirectionalSlice|ool)|S(?:t(?:aticString|ri(?:ng|deT(?:hrough(?:(?:Gen|It)erator)?|o(?:(?:Gen|It)erator)?)))|et(?:I(?:ndex|terator))?|lice)|HalfOpenInterval|C(?:haracter(?:View)?|o(?:ntiguousArray|untable(?:|Closed)Range|llectionOfOne)|OpaquePointer|losed(?:Range(?:I(?:ndex|terator))?|Interval)|VaListPointer)|I(?:n(?:t(?:16|8|32|64)?|d(?:ices|ex(?:ing(?:Gen|It)erator)?))|terator(?:Sequence|OverOne)?)|Zip2(?:Sequence|Iterator)|O(?:paquePointer|bjectIdentifier)|D(?:ictionary(?:I(?:ndex|terator)|Literal)?|ouble|efault(?:RandomAccess|Bidirectional|)Indices)|U(?:n(?:safe(?:RawPointer|Mutable(?:Raw|Buffer|)Pointer|BufferPointer(?:(?:Gen|It)erator)?|Pointer)|icodeScalar(?:View)?|foldSequence|managed)|TF(?:16(?:View)?|8(?:View)?|32)|Int(?:16|8|32|64)?)|Join(?:Generator|ed(?:Sequence|Iterator))|PermutationGenerator|E(?:numerate(?:Generator|Sequence|d(?:Sequence|Iterator))|mpty(?:Generator|Collection|Iterator))|Fl(?:oat(?:80)?|atten(?:Generator|BidirectionalCollection(?:Index)?|Sequence|Collection(?:Index)?|Iterator))|L(?:egacyChildren|azy(?:RandomAccessCollection|Map(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Collection|Iterator)|BidirectionalCollection|Sequence|Collection|Filter(?:Generator|BidirectionalCollection|Sequence|Collection|I(?:ndex|terator))))|A(?:ny(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Hashable|Collection|I(?:ndex|terator))|utoreleasingUnsafeMutablePointer|rray(?:Slice)?))\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:R(?:everse(?:RandomAccess(?:Collection|Index)|Collection|Index)|awByte)|Map(?:Generator|Sequence|Collection)|S(?:inkOf|etGenerator)|Zip2Generator|DictionaryGenerator|Filter(?:Generator|Sequence|Collection(?:Index)?)|LazyForwardCollection|Any(?:RandomAccessIndex|BidirectionalIndex|Forward(?:Collection|Index)))\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-typealias":{"patterns":[{"match":"\\\\b(?:Raw(?:Significand|Exponent|Value)|B(?:ooleanLiteralType|uffer|ase)|S(?:t(?:orage|r(?:i(?:ngLiteralType|de)|eam[12]))|ubSequence)|NativeBuffer|C(?:hild(?:ren)?|Bool|S(?:hort|ignedChar)|odeUnit|Char(?:16|32)?|Int|Double|Unsigned(?:Short|Char|Int|Long(?:Long)?)|Float|WideChar|Long(?:Long)?)|I(?:n(?:t(?:Max|egerLiteralType)|d(?:ices|ex(?:Distance)?))|terator)|Distance|U(?:n(?:icodeScalar(?:Type|Index|View|LiteralType)|foldFirstSequence)|TF(?:16(?:Index|View)|8Index)|IntMax)|E(?:lements?|x(?:tendedGraphemeCluster(?:|Literal)Type|ponent))|V(?:oid|alue)|Key|Float(?:32|LiteralType|64)|AnyClass)\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:Generator|PlaygroundQuickLook|UWord|Word)\\\\b","name":"support.type.swift"}]},"code-block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.swift"}},"patterns":[{"include":"$self"}]},"comments":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.swift"}},"match":"\\\\A^(#!).*$\\\\n?","name":"comment.line.number-sign.swift"},{"begin":"/\\\\*\\\\*(?!/)","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.documentation.swift","patterns":[{"include":"#comments-nested"}]},{"begin":"/\\\\*:","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.documentation.playground.swift","patterns":[{"include":"#comments-nested"}]},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.swift","patterns":[{"include":"#comments-nested"}]},{"match":"\\\\*/","name":"invalid.illegal.unexpected-end-of-block-comment.swift"},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.swift"}},"end":"(?!\\\\G)","patterns":[{"begin":"///","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.triple-slash.documentation.swift"},{"begin":"//:","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.double-slash.documentation.swift"},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.double-slash.swift"}]}]},"comments-nested":{"begin":"/\\\\*","end":"\\\\*/","patterns":[{"include":"#comments-nested"}]},"compiler-control":{"patterns":[{"begin":"^\\\\s*(#)(if|elseif)\\\\s+(false)\\\\b.*?(?=$|//|/\\\\*)","beginCaptures":{"0":{"name":"meta.preprocessor.conditional.swift"},"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"},"3":{"name":"constant.language.boolean.swift"}},"contentName":"comment.block.preprocessor.swift","end":"(?=^\\\\s*(#(e(?:lseif|lse|ndif)))\\\\b)"},{"begin":"^\\\\s*(#)(if|elseif)\\\\s+","captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"}},"end":"(?=\\\\s*/[*/])|$","name":"meta.preprocessor.conditional.swift","patterns":[{"match":"(&&|\\\\|\\\\|)","name":"keyword.operator.logical.swift"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.swift"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"support.constant.platform.architecture.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(arch)\\\\s*(\\\\()\\\\s*(?:(arm|arm64|powerpc64|powerpc64le|i386|x86_64|s390x)|\\\\w+)\\\\s*(\\\\))"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"support.constant.platform.os.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(os)\\\\s*(\\\\()\\\\s*(?:(macOS|OSX|iOS|tvOS|watchOS|visionOS|Android|Linux|FreeBSD|Windows|PS4)|\\\\w+)\\\\s*(\\\\))"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"entity.name.type.module.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(canImport)\\\\s*(\\\\()([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)(\\\\))"},{"begin":"\\\\b(targetEnvironment)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))|$","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"match":"\\\\b(simulator|UIKitForMac)\\\\b","name":"support.constant.platform.environment.swift"}]},{"begin":"\\\\b(swift|compiler)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))|$","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"match":">=|<","name":"keyword.operator.comparison.swift"},{"match":"\\\\b[0-9]+(?:\\\\.[0-9]+)*\\\\b","name":"constant.numeric.swift"}]}]},{"captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"},"3":{"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"match":"^\\\\s*(#)(e(?:lse|ndif))(.*?)(?=$|//|/\\\\*)","name":"meta.preprocessor.conditional.swift"},{"captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.sourcelocation.swift"},"4":{"name":"punctuation.definition.parameters.begin.swift"},"5":{"patterns":[{"begin":"(file)\\\\s*(:)\\\\s*(?=\\")","beginCaptures":{"1":{"name":"support.variable.parameter.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#literals"}]},{"captures":{"1":{"name":"support.variable.parameter.swift"},"2":{"name":"punctuation.separator.key-value.swift"},"3":{"name":"constant.numeric.integer.swift"}},"match":"(line)\\\\s*(:)\\\\s*([0-9]+)"},{"match":",","name":"punctuation.separator.parameters.swift"},{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"6":{"name":"punctuation.definition.parameters.begin.swift"},"7":{"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"match":"^\\\\s*(#)(sourceLocation)((\\\\()([^)]*)(\\\\)))(.*?)(?=$|//|/\\\\*)","name":"meta.preprocessor.sourcelocation.swift"}]},"conditionals":{"patterns":[{"begin":"(?<!\\\\.)\\\\b(if|guard|switch|for)\\\\b","beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]}},"end":"(?=\\\\{)","patterns":[{"include":"#expressions-without-trailing-closures"}]},{"begin":"(?<!\\\\.)\\\\b(while)\\\\b","beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]}},"end":"(?=\\\\{)|$","patterns":[{"include":"#expressions-without-trailing-closures"}]}]},"declarations":{"patterns":[{"include":"#declarations-function"},{"include":"#declarations-function-initializer"},{"include":"#declarations-function-subscript"},{"include":"#declarations-typed-variable-declaration"},{"include":"#declarations-import"},{"include":"#declarations-operator"},{"include":"#declarations-precedencegroup"},{"include":"#declarations-protocol"},{"include":"#declarations-type"},{"include":"#declarations-extension"},{"include":"#declarations-typealias"},{"include":"#declarations-macro"}]},"declarations-available-types":{"patterns":[{"include":"#comments"},{"include":"#builtin-types"},{"include":"#attributes"},{"match":"\\\\basync\\\\b","name":"storage.modifier.async.swift"},{"match":"\\\\b(?:|re)throws\\\\b","name":"storage.modifier.exception.swift"},{"match":"\\\\bsome\\\\b","name":"keyword.other.operator.type.opaque.swift"},{"match":"\\\\bany\\\\b","name":"keyword.other.operator.type.existential.swift"},{"match":"\\\\b(?:repeat|each)\\\\b","name":"keyword.control.loop.swift"},{"match":"\\\\b(?:inout|isolated|borrowing|consuming)\\\\b","name":"storage.modifier.swift"},{"match":"\\\\bSelf\\\\b","name":"variable.language.swift"},{"captures":{"1":{"name":"keyword.operator.type.function.swift"}},"match":"(?<![-!%\\\\&*+./<=>^|~])(->)(?![-!%\\\\&*+./<=>^|~])"},{"captures":{"1":{"name":"keyword.operator.type.composition.swift"}},"match":"(?<![-!%\\\\&*+./<=>^|~])(&)(?![-!%\\\\&*+./<=>^|~])"},{"match":"[!?]","name":"keyword.operator.type.optional.swift"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.function.variadic-parameter.swift"},{"match":"\\\\bprotocol\\\\b","name":"keyword.other.type.composition.swift"},{"match":"(?<=\\\\.)(?:Protocol|Type)\\\\b","name":"keyword.other.type.metatype.swift"},{"include":"#declarations-available-types-tuple-type"},{"include":"#declarations-available-types-collection-type"},{"include":"#declarations-generic-argument-clause"}]},"declarations-available-types-collection-type":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.collection-type.begin.swift"}},"end":"]|(?=[)>{}])","endCaptures":{"0":{"name":"punctuation.section.collection-type.end.swift"}},"patterns":[{"include":"#declarations-available-types"},{"include":"#literals-numeric"},{"match":"\\\\b_\\\\b","name":"support.variable.inferred.swift"},{"match":"(?<=\\\\s)\\\\bof\\\\b(?=\\\\s+[(\\\\[_\\\\p{L}\\\\d\\\\p{N}\\\\p{M}])","name":"keyword.other.inline-array.swift"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.key-value.swift"}},"end":"(?=[])>{}])","patterns":[{"match":":","name":"invalid.illegal.extra-colon-in-dictionary-type.swift"},{"include":"#declarations-available-types"}]}]},"declarations-available-types-tuple-type":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.tuple-type.begin.swift"}},"end":"\\\\)|(?=[]>{}])","endCaptures":{"0":{"name":"punctuation.section.tuple-type.end.swift"}},"patterns":[{"include":"#declarations-available-types"}]},"declarations-extension":{"begin":"\\\\b(extension)\\\\s+","beginCaptures":{"1":{"name":"storage.type.$1.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"begin":"\\\\G(?!\\\\s*[\\\\n:{])","end":"(?=\\\\s*[\\\\n:{])|(?!\\\\G)(?=\\\\s*where\\\\b)","name":"entity.name.type.swift","patterns":[{"include":"#declarations-available-types"}]},{"include":"#comments"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function":{"begin":"\\\\b(func)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>)|(?:((?<oph>[-!%\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])(\\\\g<oph>|(?<opc>[̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g<oph>|\\\\g<opc>|\\\\.)+)))\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})|$","name":"meta.definition.function.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.function.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.function.end.swift"}},"name":"meta.definition.function.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function-initializer":{"begin":"(?<!\\\\.)\\\\b(init[!?]*)\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift","patterns":[{"match":"(?<=[!?])[!?]+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"end":"(?<=})|$","name":"meta.definition.function.initializer.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.function.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.function.end.swift"}},"name":"meta.definition.function.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function-result":{"begin":"(?<![-!%\\\\&*+./<=>^|~])(->)(?![-!%\\\\&*+./<=>^|~])\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.function-result.swift"}},"end":"(?!\\\\G)(?=\\\\{|\\\\bwhere\\\\b|[;=])|$","name":"meta.function-result.swift","patterns":[{"match":"\\\\bsending\\\\b","name":"storage.modifier.swift"},{"include":"#declarations-available-types"}]},"declarations-function-subscript":{"begin":"(?<!\\\\.)\\\\b(subscript)\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"}},"end":"(?<=})|$","name":"meta.definition.function.subscript.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.function.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.function.end.swift"}},"name":"meta.definition.function.body.swift","patterns":[{"include":"$self"}]}]},"declarations-generic-argument-clause":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.separator.generic-argument-clause.begin.swift"}},"end":">|(?=[]){}])","endCaptures":{"0":{"name":"punctuation.separator.generic-argument-clause.end.swift"}},"name":"meta.generic-argument-clause.swift","patterns":[{"include":"#literals-numeric"},{"include":"#declarations-available-types"}]},"declarations-generic-parameter-clause":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.separator.generic-parameter-clause.begin.swift"}},"end":">|(?=[^\\\\&,:<=>`\\\\w\\\\d\\\\s])","endCaptures":{"0":{"name":"punctuation.separator.generic-parameter-clause.end.swift"}},"name":"meta.generic-parameter-clause.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-where-clause"},{"match":"\\\\blet\\\\b","name":"keyword.other.declaration-specifier.swift"},{"match":"\\\\beach\\\\b","name":"keyword.control.loop.swift"},{"captures":{"1":{"name":"variable.language.generic-parameter.swift"}},"match":"\\\\b((?!\\\\d)\\\\w[\\\\w\\\\d]*)\\\\b"},{"match":",","name":"punctuation.separator.generic-parameters.swift"},{"begin":"(:)\\\\s*","beginCaptures":{"1":{"name":"punctuation.separator.generic-parameter-constraint.swift"}},"end":"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.generic-parameter-constraint.swift","patterns":[{"begin":"\\\\G","end":"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)","name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-type-identifier"},{"include":"#declarations-type-operators"}]}]}]},"declarations-generic-where-clause":{"begin":"\\\\b(where)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.generic-constraint-introducer.swift"}},"end":"(?!\\\\G)$|(?=[\\\\n;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-where-clause-requirement-list"}]},"declarations-generic-where-clause-requirement-list":{"begin":"\\\\G|,\\\\s*","end":"(?=[\\\\n,;>{}]|//|/\\\\*)","patterns":[{"include":"#comments"},{"include":"#constraint"},{"include":"#declarations-available-types"},{"begin":"(?<![-!%\\\\&*+./<=>^|~])(==)(?![-!%\\\\&*+./<=>^|~])","beginCaptures":{"1":{"name":"keyword.operator.generic-constraint.same-type.swift"}},"end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.same-type-requirement.swift","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(?<![-!%\\\\&*+./<=>^|~])(:)(?![-!%\\\\&*+./<=>^|~])","beginCaptures":{"1":{"name":"keyword.operator.generic-constraint.conforms-to.swift"}},"end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.conformance-requirement.swift","patterns":[{"begin":"\\\\G\\\\s*","contentName":"entity.other.inherited-class.swift","end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","patterns":[{"include":"#declarations-available-types"}]}]}]},"declarations-import":{"begin":"(?<!\\\\.)\\\\b(import)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.import.swift"}},"end":"(;)|$\\\\n?|(?=/[*/])","endCaptures":{"1":{"name":"punctuation.terminator.statement.swift"}},"name":"meta.import.swift","patterns":[{"begin":"\\\\G(?!;|$|//|/\\\\*)(?:(typealias|struct|class|actor|enum|protocol|var|func)\\\\s+)?","beginCaptures":{"1":{"name":"storage.modifier.swift"}},"end":"(?=;|$|//|/\\\\*)","patterns":[{"captures":{"1":{"name":"punctuation.definition.identifier.swift"},"2":{"name":"punctuation.definition.identifier.swift"}},"match":"(?<=\\\\G|\\\\.)(?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>)","name":"entity.name.type.swift"},{"match":"(?<=\\\\G|\\\\.)\\\\$[0-9]+","name":"entity.name.type.swift"},{"captures":{"1":{"patterns":[{"match":"\\\\.","name":"invalid.illegal.dot-not-allowed-here.swift"}]}},"match":"(?<=\\\\G|\\\\.)(?:((?<oph>[-!%\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])(\\\\g<oph>|(?<opc>[̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g<oph>|\\\\g<opc>|\\\\.)+))(?=[.;]|$|//|/\\\\*|\\\\s)","name":"entity.name.type.swift"},{"match":"\\\\.","name":"punctuation.separator.import.swift"},{"begin":"(?!\\\\s*(;|$|//|/\\\\*))","end":"(?=\\\\s*(;|$|//|/\\\\*))","name":"invalid.illegal.character-not-allowed-here.swift"}]}]},"declarations-inheritance-clause":{"begin":"(:)(?=\\\\s*\\\\{)|(:)\\\\s*","beginCaptures":{"1":{"name":"invalid.illegal.empty-inheritance-clause.swift"},"2":{"name":"punctuation.separator.inheritance-clause.swift"}},"end":"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.inheritance-clause.swift","patterns":[{"begin":"\\\\bclass\\\\b","beginCaptures":{"0":{"name":"storage.type.class.swift"}},"end":"(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","patterns":[{"include":"#comments"},{"include":"#declarations-inheritance-clause-more-types"}]},{"begin":"\\\\G","end":"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","patterns":[{"include":"#attributes"},{"include":"#comments"},{"include":"#declarations-inheritance-clause-inherited-type"},{"include":"#declarations-inheritance-clause-more-types"},{"include":"#declarations-type-operators"}]}]},"declarations-inheritance-clause-inherited-type":{"begin":"(?=[_`\\\\p{L}])","end":"(?!\\\\G)","name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-type-identifier"}]},"declarations-inheritance-clause-more-types":{"begin":",\\\\s*","end":"(?!\\\\G)(?!/[*/])|(?=[,={}]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.inheritance-list.more-types","patterns":[{"include":"#attributes"},{"include":"#comments"},{"include":"#declarations-inheritance-clause-inherited-type"},{"include":"#declarations-inheritance-clause-more-types"},{"include":"#declarations-type-operators"}]},"declarations-macro":{"begin":"\\\\b(macro)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(?=[(<=])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"$|(?=;|//|/\\\\*|[=}])","name":"meta.definition.macro.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"}]},"declarations-operator":{"begin":"(?:\\\\b((?:pre|in|post)fix)\\\\s+)?\\\\b(operator)\\\\s+(((?<oph>[-!%\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])(\\\\g<oph>|\\\\.|(?<opc>[̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))*+)|(\\\\.(\\\\g<oph>|\\\\g<opc>|\\\\.)++))\\\\s*","beginCaptures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"storage.type.function.operator.swift"},"3":{"name":"entity.name.function.operator.swift"},"4":{"name":"entity.name.function.operator.swift","patterns":[{"match":"\\\\.","name":"invalid.illegal.dot-not-allowed-here.swift"}]}},"end":"(;)|$\\\\n?|(?=/[*/])","endCaptures":{"1":{"name":"punctuation.terminator.statement.swift"}},"name":"meta.definition.operator.swift","patterns":[{"include":"#declarations-operator-swift2"},{"include":"#declarations-operator-swift3"},{"match":"((?!$|;|//|/\\\\*)\\\\S)+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"declarations-operator-swift2":{"begin":"\\\\G(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.operator.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.operator.end.swift"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"keyword.other.operator.associativity.swift"}},"match":"\\\\b(associativity)\\\\s+(left|right)\\\\b"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"constant.numeric.integer.swift"}},"match":"\\\\b(precedence)\\\\s+([0-9]+)\\\\b"},{"captures":{"1":{"name":"storage.modifier.swift"}},"match":"\\\\b(assignment)\\\\b"}]},"declarations-operator-swift3":{"captures":{"2":{"name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-types-precedencegroup"}]},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"\\\\G(:)\\\\s*((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))"},"declarations-parameter-clause":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))(?:\\\\s*(async)\\\\b)?","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"},"2":{"name":"storage.modifier.async.swift"}},"name":"meta.parameter-clause.swift","patterns":[{"include":"#declarations-parameter-list"}]},"declarations-parameter-list":{"patterns":[{"captures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"variable.parameter.function.swift"},"5":{"name":"punctuation.definition.identifier.swift"},"6":{"name":"punctuation.definition.identifier.swift"}},"match":"((?<q1>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q1>))\\\\s+((?<q2>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q2>))(?=\\\\s*:)"},{"captures":{"1":{"name":"variable.parameter.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"(((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>)))(?=\\\\s*:)"},{"begin":":\\\\s*(?!\\\\s)","end":"(?=[),])","patterns":[{"match":"\\\\bsending\\\\b","name":"storage.modifier.swift"},{"include":"#declarations-available-types"},{"match":":","name":"invalid.illegal.extra-colon-in-parameter-list.swift"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.swift"}},"end":"(?=[),])","patterns":[{"include":"#expressions"}]}]}]},"declarations-precedencegroup":{"begin":"\\\\b(precedencegroup)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.precedencegroup.swift"},"2":{"name":"entity.name.type.precedencegroup.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)","name":"meta.definition.precedencegroup.swift","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.precedencegroup.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.precedencegroup.end.swift"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-types-precedencegroup"}]},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"\\\\b((?:high|low)erThan)\\\\s*:\\\\s*((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"keyword.other.operator.associativity.swift"}},"match":"\\\\b(associativity)\\\\b(?:\\\\s*:\\\\s*(right|left|none)\\\\b)?"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"constant.language.boolean.swift"}},"match":"\\\\b(assignment)\\\\b(?:\\\\s*:\\\\s*(true|false)\\\\b)?"}]}]},"declarations-protocol":{"begin":"\\\\b(protocol)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.protocol.swift","patterns":[{"include":"#comments"},{"include":"#declarations-inheritance-clause"},{"include":"#declarations-generic-where-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"#declarations-protocol-protocol-method"},{"include":"#declarations-protocol-protocol-initializer"},{"include":"#declarations-protocol-associated-type"},{"include":"$self"}]}]},"declarations-protocol-associated-type":{"begin":"\\\\b(associatedtype)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*","beginCaptures":{"1":{"name":"keyword.other.declaration-specifier.swift"},"2":{"name":"variable.language.associatedtype.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)$|(?=[;}]|$)","name":"meta.definition.associatedtype.swift","patterns":[{"include":"#declarations-inheritance-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-typealias-assignment"}]},"declarations-protocol-protocol-initializer":{"begin":"(?<!\\\\.)\\\\b(init[!?]*)\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift","patterns":[{"match":"(?<=[!?])[!?]+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"end":"$|(?=;|//|/\\\\*|})","name":"meta.definition.function.initializer.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.function.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.function.end.swift"}},"name":"invalid.illegal.function-body-not-allowed-in-protocol.swift","patterns":[{"include":"$self"}]}]},"declarations-protocol-protocol-method":{"begin":"\\\\b(func)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>)|(?:((?<oph>[-!%\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])(\\\\g<oph>|(?<opc>[̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g<oph>|\\\\g<opc>|\\\\.)+)))\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"$|(?=;|//|/\\\\*|})","name":"meta.definition.function.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.function.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.function.end.swift"}},"name":"invalid.illegal.function-body-not-allowed-in-protocol.swift","patterns":[{"include":"$self"}]}]},"declarations-type":{"patterns":[{"begin":"\\\\b(class(?!\\\\s+(?:func|var|let)\\\\b)|struct|actor)\\\\b\\\\s*((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"$self"}]}]},{"include":"#declarations-type-enum"}]},"declarations-type-enum":{"begin":"\\\\b(enum)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"#declarations-type-enum-enum-case-clause"},{"include":"$self"}]}]},"declarations-type-enum-associated-values":{"begin":"\\\\G\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"include":"#comments"},{"begin":"(?:(_)|((?<q1>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k<q1>))\\\\s+(((?<q2>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k<q2>))\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"invalid.illegal.distinct-labels-not-allowed.swift"},"5":{"name":"variable.parameter.function.swift"},"7":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k<q>))\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"variable.parameter.function.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(?![]),])(?=\\\\S)","end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"},{"match":":","name":"invalid.illegal.extra-colon-in-parameter-list.swift"}]}]},"declarations-type-enum-enum-case":{"begin":"((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*","beginCaptures":{"1":{"name":"variable.other.enummember.swift"}},"end":"(?<=\\\\))|(?![(=])","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-associated-values"},{"include":"#declarations-type-enum-raw-value-assignment"}]},"declarations-type-enum-enum-case-clause":{"begin":"\\\\b(case)\\\\b\\\\s*","beginCaptures":{"1":{"name":"storage.type.enum.case.swift"}},"end":"(?=[;}])|(?!\\\\G)(?!/[*/])(?=[^,\\\\s])","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-enum-case"},{"include":"#declarations-type-enum-more-cases"}]},"declarations-type-enum-more-cases":{"begin":",\\\\s*","end":"(?!\\\\G)(?!/[*/])(?=[;}[^,\\\\s]])","name":"meta.enum-case.more-cases","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-enum-case"},{"include":"#declarations-type-enum-more-cases"}]},"declarations-type-enum-raw-value-assignment":{"begin":"(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#comments"},{"include":"#literals"}]},"declarations-type-identifier":{"begin":"((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*","beginCaptures":{"1":{"name":"meta.type-name.swift","patterns":[{"include":"#builtin-types"}]},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!<)","patterns":[{"begin":"(?=<)","end":"(?!\\\\G)","patterns":[{"include":"#declarations-generic-argument-clause"}]}]},"declarations-type-operators":{"patterns":[{"captures":{"1":{"name":"keyword.operator.type.composition.swift"}},"match":"(?<![-!%\\\\&*+./<=>^|~])(&)(?![-!%\\\\&*+./<=>^|~])"},{"captures":{"1":{"name":"keyword.operator.type.requirement-suppression.swift"}},"match":"(?<![-!%\\\\&*+./<=>^|~])(~)(?![-!%\\\\&*+./<=>^|~])"}]},"declarations-typealias":{"begin":"\\\\b(typealias)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*","beginCaptures":{"1":{"name":"keyword.other.declaration-specifier.swift"},"2":{"name":"entity.name.type.typealias.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)$|(?=;|//|/\\\\*|$)","name":"meta.definition.typealias.swift","patterns":[{"begin":"\\\\G(?=<)","end":"(?!\\\\G)","patterns":[{"include":"#declarations-generic-parameter-clause"}]},{"include":"#declarations-typealias-assignment"}]},"declarations-typealias-assignment":{"begin":"(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.swift"}},"end":"(?!\\\\G)$|(?=;|//|/\\\\*|$)","patterns":[{"include":"#declarations-available-types"}]},"declarations-typed-variable-declaration":{"begin":"\\\\b(?:(async)\\\\s+)?(let|var)\\\\b\\\\s+(?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>)\\\\s*:","beginCaptures":{"1":{"name":"storage.modifier.async.swift"},"2":{"name":"keyword.other.declaration-specifier.swift"}},"end":"(?=$|[={])","patterns":[{"include":"#declarations-available-types"}]},"declarations-types-precedencegroup":{"patterns":[{"match":"\\\\b(?:BitwiseShift|Assignment|RangeFormation|Casting|Addition|NilCoalescing|Comparison|LogicalConjunction|LogicalDisjunction|Default|Ternary|Multiplication|FunctionArrow)Precedence\\\\b","name":"support.type.swift"}]},"expressions":{"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references"},{"include":"#expressions-trailing-closure"},{"include":"#member-reference"}]},"expressions-trailing-closure":{"patterns":[{"captures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"match":"(#?(?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))(?=\\\\s*\\\\{)","name":"meta.function-call.trailing-closure-only.swift"},{"captures":{"1":{"name":"support.function.any-method.trailing-closure-label.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"match":"((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(:)(?=\\\\s*\\\\{)"}]},"expressions-without-trailing-closures":{"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references"},{"include":"#member-references"}]},"expressions-without-trailing-closures-or-member-references":{"patterns":[{"include":"#comments"},{"include":"#code-block"},{"include":"#attributes"},{"include":"#expressions-without-trailing-closures-or-member-references-closure-parameter"},{"include":"#literals"},{"include":"#operators"},{"include":"#builtin-types"},{"include":"#builtin-functions"},{"include":"#builtin-global-functions"},{"include":"#builtin-properties"},{"include":"#expressions-without-trailing-closures-or-member-references-compound-name"},{"include":"#conditionals"},{"include":"#keywords"},{"include":"#expressions-without-trailing-closures-or-member-references-availability-condition"},{"include":"#expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression"},{"include":"#expressions-without-trailing-closures-or-member-references-macro-expansion"},{"include":"#expressions-without-trailing-closures-or-member-references-subscript-expression"},{"include":"#expressions-without-trailing-closures-or-member-references-parenthesized-expression"},{"match":"\\\\b_\\\\b","name":"support.variable.discard-value.swift"}]},"expressions-without-trailing-closures-or-member-references-availability-condition":{"begin":"\\\\B(#(?:un)?available)(\\\\()","beginCaptures":{"1":{"name":"support.function.availability-condition.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"captures":{"1":{"name":"keyword.other.platform.os.swift"},"2":{"name":"constant.numeric.swift"}},"match":"\\\\s*\\\\b((?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b\\\\s+([0-9]+(?:\\\\.[0-9]+)*)\\\\b"},{"captures":{"1":{"name":"keyword.other.platform.all.swift"},"2":{"name":"invalid.illegal.character-not-allowed-here.swift"}},"match":"(\\\\*)\\\\s*(.*?)(?=[),])"},{"match":"[^),\\\\s]+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"expressions-without-trailing-closures-or-member-references-closure-parameter":{"match":"\\\\$[0-9]+","name":"variable.language.closure-parameter.swift"},"expressions-without-trailing-closures-or-member-references-compound-name":{"captures":{"1":{"name":"entity.name.function.compound-name.swift"},"2":{"name":"punctuation.definition.entity.swift"},"3":{"name":"punctuation.definition.entity.swift"},"4":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.swift"},"2":{"name":"punctuation.definition.entity.swift"}},"match":"(?<q>`?)(?!_:)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>):","name":"entity.name.function.compound-name.swift"}]}},"match":"((?<q1>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q1>))\\\\(((((?<q2>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q2>)):)+)\\\\)"},"expressions-without-trailing-closures-or-member-references-expression-element-list":{"patterns":[{"include":"#comments"},{"begin":"((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(:)","beginCaptures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#expressions"}]},{"begin":"(?![]),])(?=\\\\S)","end":"(?=[]),])","patterns":[{"include":"#expressions"}]}]},"expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression":{"patterns":[{"begin":"(#?(?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.function-call.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},{"begin":"(?<=[])>_`}\\\\p{L}\\\\p{N}\\\\p{M}])\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.function-call.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]}]},"expressions-without-trailing-closures-or-member-references-macro-expansion":{"match":"(#(?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))","name":"support.function.any-method.swift"},"expressions-without-trailing-closures-or-member-references-parenthesized-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.tuple.begin.swift"}},"end":"(\\\\))\\\\s*((?:\\\\b(?:async|throws|rethrows)\\\\s)*)","endCaptures":{"1":{"name":"punctuation.section.tuple.end.swift"},"2":{"patterns":[{"match":"\\\\brethrows\\\\b","name":"invalid.illegal.rethrows-only-allowed-on-function-declarations.swift"},{"include":"#async-throws"}]}},"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"expressions-without-trailing-closures-or-member-references-subscript-expression":{"begin":"(?<=[_`\\\\p{L}\\\\p{N}\\\\p{M}])\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.subscript-expression.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"keywords":{"patterns":[{"match":"(?<!\\\\.)\\\\b(?:if|else|guard|where|switch|case|default|fallthrough)\\\\b","name":"keyword.control.branch.swift"},{"match":"(?<!\\\\.)\\\\b(?:continue|break|fallthrough|return|yield)\\\\b","name":"keyword.control.transfer.swift"},{"match":"(?<!\\\\.)\\\\b(?:while|for|in|each)\\\\b","name":"keyword.control.loop.swift"},{"match":"(?<=\\\\s)\\\\bof\\\\b(?=\\\\s+[(\\\\[_\\\\p{L}\\\\d\\\\p{N}\\\\p{M}])","name":"keyword.other.inline-array.swift"},{"match":"\\\\bany\\\\b(?=\\\\s*`?[_\\\\p{L}])","name":"keyword.other.operator.type.existential.swift"},{"captures":{"1":{"name":"keyword.control.loop.swift"},"2":{"name":"punctuation.whitespace.trailing.repeat.swift"}},"match":"(?<!\\\\.)\\\\b(repeat)\\\\b(\\\\s*)"},{"match":"(?<!\\\\.)\\\\bdefer\\\\b","name":"keyword.control.defer.swift"},{"captures":{"1":{"name":"invalid.illegal.try-must-precede-await.swift"},"2":{"name":"keyword.control.await.swift"}},"match":"(?<!\\\\.)\\\\b(?:(await\\\\s+try)|(await))\\\\b"},{"match":"(?<!\\\\.)\\\\b(?:catch|throw|try)\\\\b|\\\\btry[!?]\\\\B","name":"keyword.control.exception.swift"},{"match":"(?<!\\\\.)\\\\b(?:|re)throws\\\\b","name":"storage.modifier.exception.swift"},{"captures":{"1":{"name":"keyword.control.exception.swift"},"2":{"name":"punctuation.whitespace.trailing.do.swift"}},"match":"(?<!\\\\.)\\\\b(do)\\\\b(\\\\s*)"},{"captures":{"1":{"name":"storage.modifier.async.swift"},"2":{"name":"keyword.other.declaration-specifier.swift"}},"match":"(?<!\\\\.)\\\\b(?:(async)\\\\s+)?(let|var)\\\\b"},{"match":"(?<!\\\\.)\\\\b(?:associatedtype|operator|typealias)\\\\b","name":"keyword.other.declaration-specifier.swift"},{"match":"(?<!\\\\.)\\\\b(class|enum|extension|precedencegroup|protocol|struct|actor)\\\\b(?=\\\\s*`?[_\\\\p{L}])","name":"storage.type.$1.swift"},{"match":"(?<!\\\\.)\\\\b(?:inout|static|final|lazy|mutating|nonmutating|optional|indirect|required|override|dynamic|convenience|infix|prefix|postfix|distributed|nonisolated|borrowing|consuming)\\\\b","name":"storage.modifier.swift"},{"match":"\\\\binit[!?]|\\\\binit\\\\b|(?<!\\\\.)\\\\b(?:func|deinit|subscript|didSet|get|set|willSet|yielding\\\\s+borrow|yielding\\\\s+mutate)\\\\b","name":"storage.type.function.swift"},{"match":"(?<!\\\\.)\\\\b(?:fileprivate|private|internal|public|open|package)\\\\b","name":"keyword.other.declaration-specifier.accessibility.swift"},{"match":"(?<!\\\\.)\\\\bunowned\\\\((?:|un)safe\\\\)|(?<!\\\\.)\\\\b(?:weak|unowned)\\\\b","name":"keyword.other.capture-specifier.swift"},{"captures":{"1":{"name":"keyword.other.type.swift"},"2":{"name":"keyword.other.type.metatype.swift"}},"match":"(?<=\\\\.)(?:(dynamicType|self)|(Protocol|Type))\\\\b"},{"match":"(?<!\\\\.)\\\\b(?:super|self|Self)\\\\b","name":"variable.language.swift"},{"match":"(?:\\\\B#(?:file|filePath|fileID|line|column|function|dsohandle)|\\\\b__(?:FILE|LINE|COLUMN|FUNCTION|DSO_HANDLE)__)\\\\b","name":"support.variable.swift"},{"match":"(?<!\\\\.)\\\\bimport\\\\b","name":"keyword.control.import.swift"},{"match":"(?<!\\\\.)\\\\bconsume(?=\\\\s+`?[_\\\\p{L}])","name":"keyword.control.consume.swift"},{"match":"(?<!\\\\.)\\\\bcopy(?=\\\\s+`?[_\\\\p{L}])","name":"keyword.control.copy.swift"}]},"literals":{"patterns":[{"include":"#literals-boolean"},{"include":"#literals-numeric"},{"include":"#literals-string"},{"match":"\\\\bnil\\\\b","name":"constant.language.nil.swift"},{"match":"\\\\B#((?:color|image|file)Literal)\\\\b","name":"support.function.object-literal.swift"},{"match":"\\\\B#externalMacro\\\\b","name":"support.function.builtin-macro.swift"},{"match":"\\\\B#keyPath\\\\b","name":"support.function.key-path.swift"},{"begin":"\\\\B(#selector)(\\\\()(?:\\\\s*([gs]etter)\\\\s*(:))?","beginCaptures":{"1":{"name":"support.function.selector-reference.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"},"3":{"name":"support.variable.parameter.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"include":"#expressions"}]},{"include":"#literals-regular-expression-literal"}]},"literals-boolean":{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.swift"},"literals-numeric":{"patterns":[{"match":"(\\\\B-|\\\\b)(?<![]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)[0-9][0-9_]*(?=\\\\.[0-9]|[Ee])(?:\\\\.[0-9][0-9_]*)?(?:[Ee][-+]?[0-9][0-9_]*)?\\\\b(?!\\\\.[0-9])","name":"constant.numeric.float.decimal.swift"},{"match":"(\\\\B-|\\\\b)(?<![]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)(0x\\\\h[_\\\\h]*)(?:\\\\.\\\\h[_\\\\h]*)?[Pp][-+]?[0-9][0-9_]*\\\\b(?!\\\\.[0-9])","name":"constant.numeric.float.hexadecimal.swift"},{"match":"(\\\\B-|\\\\b)(?<![]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)(0x\\\\h[_\\\\h]*)(?:\\\\.\\\\h[_\\\\h]*)?[Pp][-+]?\\\\w*\\\\b(?!\\\\.[0-9])","name":"invalid.illegal.numeric.float.invalid-exponent.swift"},{"match":"(\\\\B-|\\\\b)(?<![]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)(0x\\\\h[_\\\\h]*)\\\\.[0-9][.\\\\w]*","name":"invalid.illegal.numeric.float.missing-exponent.swift"},{"match":"(?<=\\\\s|^)-?\\\\.[0-9][.\\\\w]*","name":"invalid.illegal.numeric.float.missing-leading-zero.swift"},{"match":"(\\\\B-|\\\\b)0[box]_[_\\\\h]*(?:[EPep][-+]?\\\\w+)?[.\\\\w]+","name":"invalid.illegal.numeric.leading-underscore.swift"},{"match":"(?<=[]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)[0-9]+\\\\b"},{"match":"(\\\\B-|\\\\b)(?<![]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)0b[01][01_]*\\\\b(?!\\\\.[0-9])","name":"constant.numeric.integer.binary.swift"},{"match":"(\\\\B-|\\\\b)(?<![]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)0o[0-7][0-7_]*\\\\b(?!\\\\.[0-9])","name":"constant.numeric.integer.octal.swift"},{"match":"(\\\\B-|\\\\b)(?<![]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)[0-9][0-9_]*\\\\b(?!\\\\.[0-9])","name":"constant.numeric.integer.decimal.swift"},{"match":"(\\\\B-|\\\\b)(?<![]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)0x\\\\h[_\\\\h]*\\\\b(?!\\\\.[0-9])","name":"constant.numeric.integer.hexadecimal.swift"},{"match":"(\\\\B-|\\\\b)[0-9][.\\\\w]*","name":"invalid.illegal.numeric.other.swift"}]},"literals-regular-expression-literal":{"patterns":[{"begin":"(#+)/\\\\n","end":"/\\\\1","name":"string.regexp.block.swift","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"},{"include":"#literals-regular-expression-literal-line-comment"}]},{"captures":{"0":{"patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},"1":{"name":"punctuation.definition.string.begin.regexp.swift"},"3":{"name":"punctuation.definition.string.end.regexp.swift"}},"match":"(/)(?!\\\\s)(?!/)(?:\\\\\\\\\\\\s(?=/)|(?<guts>(?>(?:\\\\\\\\Q(?:(?!\\\\\\\\E)(?!/).)*+(?:\\\\\\\\E|(?=/))|\\\\\\\\.|\\\\(\\\\?#[^)]*\\\\)|\\\\(\\\\?(?>\\\\{(?:[^{].*?|\\\\{[^{].*?}|\\\\{\\\\{[^{].*?}}|\\\\{\\\\{\\\\{[^{].*?}}}|\\\\{\\\\{\\\\{\\\\{[^{].*?}}}}|\\\\{\\\\{\\\\{\\\\{\\\\{.+?}}}}})})(?:\\\\[(?!\\\\d)\\\\w+])?[<>X]?\\\\)|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\])+])+])+])+]|\\\\(\\\\g<guts>?+\\\\)|(?:(?!/)[^()\\\\[\\\\\\\\])+)+))?+(?<!\\\\s))(/)","name":"string.regexp.line.swift"},{"captures":{"0":{"patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},"1":{"name":"punctuation.definition.string.begin.regexp.swift"},"4":{"name":"punctuation.definition.string.end.regexp.swift"},"5":{"name":"invalid.illegal.returns-not-allowed.regexp"}},"match":"((#+)/)(?<guts>(?>(?:\\\\\\\\Q(?:(?!\\\\\\\\E)(?!/\\\\2).)*+(?:\\\\\\\\E|(?=/\\\\2))|\\\\\\\\.|\\\\(\\\\?#[^)]*\\\\)|\\\\(\\\\?(?>\\\\{(?:[^{].*?|\\\\{[^{].*?}|\\\\{\\\\{[^{].*?}}|\\\\{\\\\{\\\\{[^{].*?}}}|\\\\{\\\\{\\\\{\\\\{[^{].*?}}}}|\\\\{\\\\{\\\\{\\\\{\\\\{.+?}}}}})})(?:\\\\[(?!\\\\d)\\\\w+])?[<>X]?\\\\)|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\])+])+])+])+]|\\\\(\\\\g<guts>?+\\\\)|(?:(?!/\\\\2)[^()\\\\[\\\\\\\\])+)+))?+(/\\\\2)|#+/.+(\\\\n)","name":"string.regexp.line.extended.swift"}]},"literals-regular-expression-literal-backreference-or-subpattern":{"patterns":[{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\g\\\\{)(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(})"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"constant.numeric.integer.decimal.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"}},"match":"(\\\\\\\\g)([-+]?\\\\d+)(?:([-+])(\\\\d+))?"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\[gk]<)(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(>)"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\[gk]\')(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(\')"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\k\\\\{)((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?(})"},{"match":"\\\\\\\\[1-9][0-9]+","name":"keyword.other.back-reference.regexp"},{"captures":{"1":{"name":"keyword.other.back-reference.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.other.back-reference.regexp"}},"match":"(\\\\(\\\\?(?:P[=>]|&))((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?(\\\\))"},{"match":"\\\\(\\\\?R\\\\)","name":"keyword.other.back-reference.regexp"},{"captures":{"1":{"name":"keyword.other.back-reference.regexp"},"2":{"name":"constant.numeric.integer.decimal.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.other.back-reference.regexp"}},"match":"(\\\\(\\\\?)([-+]?\\\\d+)(?:([-+])(\\\\d+))?(\\\\))"}]},"literals-regular-expression-literal-backtracking-directive-or-global-matching-option":{"captures":{"1":{"name":"keyword.control.directive.regexp"},"2":{"name":"keyword.control.directive.regexp"},"3":{"name":"keyword.control.directive.regexp"},"4":{"name":"variable.language.tag.regexp"},"5":{"name":"keyword.control.directive.regexp"},"6":{"name":"keyword.operator.assignment.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"keyword.control.directive.regexp"},"9":{"name":"keyword.control.directive.regexp"}},"match":"(\\\\(\\\\*)(?:(ACCEPT|FAIL|F|MARK(?=:)|(?=:)|COMMIT|PRUNE|SKIP|THEN)(?:(:)([^)]+))?|(LIMIT_(?:DEPTH|HEAP|MATCH))(=)(\\\\d+)|(CRLF|CR|ANYCRLF|ANY|LF|NUL|BSR_ANYCRLF|BSR_UNICODE|NOTEMPTY_ATSTART|NOTEMPTY|NO_AUTO_POSSESS|NO_DOTSTAR_ANCHOR|NO_JIT|NO_START_OPT|UTF|UCP))(\\\\))"},"literals-regular-expression-literal-callout":{"captures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.callout.regexp"},"3":{"name":"constant.numeric.integer.decimal.regexp"},"4":{"name":"entity.name.function.callout.regexp"},"5":{"name":"entity.name.function.callout.regexp"},"6":{"name":"entity.name.function.callout.regexp"},"7":{"name":"entity.name.function.callout.regexp"},"8":{"name":"entity.name.function.callout.regexp"},"9":{"name":"entity.name.function.callout.regexp"},"10":{"name":"entity.name.function.callout.regexp"},"11":{"name":"entity.name.function.callout.regexp"},"12":{"name":"punctuation.definition.group.regexp"},"13":{"name":"punctuation.definition.group.regexp"},"14":{"name":"keyword.control.callout.regexp"},"15":{"name":"entity.name.function.callout.regexp"},"16":{"name":"variable.language.tag-name.regexp"},"17":{"name":"punctuation.definition.group.regexp"},"18":{"name":"punctuation.definition.group.regexp"},"19":{"name":"keyword.control.callout.regexp"},"21":{"name":"variable.language.tag-name.regexp"},"22":{"name":"keyword.control.callout.regexp"},"23":{"name":"punctuation.definition.group.regexp"}},"match":"(\\\\()(?<keyw>\\\\?C)(?:(?<num>\\\\d+)|`(?<name>(?:[^`]|``)*)`|\'(?<name>(?:[^\']|\'\')*)\'|\\"(?<name>(?:[^\\"]|\\"\\")*)\\"|\\\\^(?<name>(?:[^^]|\\\\^\\\\^)*)\\\\^|%(?<name>(?:[^%]|%%)*)%|#(?<name>(?:[^#]|##)*)#|\\\\$(?<name>(?:[^$]|\\\\$\\\\$)*)\\\\$|\\\\{(?<name>(?:[^}]|}})*)})?(\\\\))|(\\\\()(?<keyw>\\\\*)(?<name>(?!\\\\d)\\\\w+)(?:\\\\[(?<tag>(?!\\\\d)\\\\w+)])?(?:\\\\{[^,}]+(?:,[^,}]+)*})?(\\\\))|(\\\\()(?<keyw>\\\\?)(?>(\\\\{(?:\\\\g<20>|(?!\\\\{).*?)}))(?:\\\\[(?<tag>(?!\\\\d)\\\\w+)])?(?<keyw>[<>X]?)(\\\\))","name":"meta.callout.regexp"},"literals-regular-expression-literal-character-properties":{"captures":{"1":{"name":"support.variable.character-property.regexp"},"2":{"name":"punctuation.definition.character-class.regexp"},"3":{"name":"support.variable.character-property.regexp"},"4":{"name":"punctuation.definition.character-class.regexp"}},"match":"\\\\\\\\[Pp]\\\\{([-\\\\s\\\\w]+(?:=[-\\\\s\\\\w]+)?)}|(\\\\[:)([-\\\\s\\\\w]+(?:=[-\\\\s\\\\w]+)?)(:])","name":"constant.other.character-class.set.regexp"},"literals-regular-expression-literal-custom-char-class":{"patterns":[{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"include":"#literals-regular-expression-literal-custom-char-class-members"}]}]},"literals-regular-expression-literal-custom-char-class-members":{"patterns":[{"match":"\\\\\\\\b","name":"constant.character.escape.backslash.regexp"},{"include":"#literals-regular-expression-literal-custom-char-class"},{"include":"#literals-regular-expression-literal-quote"},{"include":"#literals-regular-expression-literal-set-operators"},{"include":"#literals-regular-expression-literal-unicode-scalars"},{"include":"#literals-regular-expression-literal-character-properties"}]},"literals-regular-expression-literal-group-option-toggle":{"match":"\\\\(\\\\?(?:\\\\^(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})+|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*-(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*)\\\\)","name":"keyword.other.option-toggle.regexp"},"literals-regular-expression-literal-group-or-conditional":{"patterns":[{"begin":"(\\\\()(\\\\?~)","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.conditional.absent.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.absent.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},{"begin":"(\\\\()(?<cond>\\\\?\\\\()(?:(?<NumberRef>(?<num>[-+]?\\\\d+)(?:(?<op>[-+])(?<num>\\\\d+))?)|(?<cond>R)\\\\g<NumberRef>?|(?<cond>R&)(?<NamedRef>(?<name>(?!\\\\d)\\\\w+)(?:(?<op>[-+])(?<num>\\\\d+))?)|(?<cond><)(?:\\\\g<NamedRef>|\\\\g<NumberRef>)(?<cond>>)|(?<cond>\')(?:\\\\g<NamedRef>|\\\\g<NumberRef>)(?<cond>\')|(?<cond>DEFINE)|(?<cond>VERSION)(?<compar>>?=)(?<num>\\\\d+\\\\.\\\\d+))(?<cond>\\\\))|(\\\\()(?<cond>\\\\?)(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.conditional.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.operator.recursion-level.regexp"},"6":{"name":"constant.numeric.integer.decimal.regexp"},"7":{"name":"keyword.control.conditional.regexp"},"8":{"name":"keyword.control.conditional.regexp"},"10":{"name":"variable.other.group-name.regexp"},"11":{"name":"keyword.operator.recursion-level.regexp"},"12":{"name":"constant.numeric.integer.decimal.regexp"},"13":{"name":"keyword.control.conditional.regexp"},"14":{"name":"keyword.control.conditional.regexp"},"15":{"name":"keyword.control.conditional.regexp"},"16":{"name":"keyword.control.conditional.regexp"},"17":{"name":"keyword.control.conditional.regexp"},"18":{"name":"keyword.control.conditional.regexp"},"19":{"name":"keyword.operator.comparison.regexp"},"20":{"name":"constant.numeric.integer.decimal.regexp"},"21":{"name":"keyword.control.conditional.regexp"},"22":{"name":"punctuation.definition.group.regexp"},"23":{"name":"keyword.control.conditional.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.conditional.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},{"begin":"(\\\\()((\\\\?)(?:([!*:=>|]|<[!*=])|P?<(?:((?!\\\\d)\\\\w+)(-))?((?!\\\\d)\\\\w+)>|\'(?:((?!\\\\d)\\\\w+)(-))?((?!\\\\d)\\\\w+)\'|(?:\\\\^(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})+|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*-(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*):)|\\\\*(atomic|pla|positive_lookahead|nla|negative_lookahead|plb|positive_lookbehind|nlb|negative_lookbehind|napla|non_atomic_positive_lookahead|naplb|non_atomic_positive_lookbehind|sr|script_run|asr|atomic_script_run):)?+","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.other.group-options.regexp"},"3":{"name":"punctuation.definition.group.regexp"},"4":{"name":"punctuation.definition.group.regexp"},"5":{"name":"variable.other.group-name.regexp"},"6":{"name":"keyword.operator.balancing-group.regexp"},"7":{"name":"variable.other.group-name.regexp"},"8":{"name":"variable.other.group-name.regexp"},"9":{"name":"keyword.operator.balancing-group.regexp"},"10":{"name":"variable.other.group-name.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]}]},"literals-regular-expression-literal-line-comment":{"captures":{"1":{"name":"punctuation.definition.comment.regexp"}},"match":"(#).*$","name":"comment.line.regexp"},"literals-regular-expression-literal-quote":{"begin":"\\\\\\\\Q","beginCaptures":{"0":{"name":"constant.character.escape.backslash.regexp"}},"end":"\\\\\\\\E|(\\\\n)","endCaptures":{"0":{"name":"constant.character.escape.backslash.regexp"},"1":{"name":"invalid.illegal.returns-not-allowed.regexp"}},"name":"string.quoted.other.regexp.swift"},"literals-regular-expression-literal-regex-guts":{"patterns":[{"include":"#literals-regular-expression-literal-quote"},{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.regexp"}},"name":"comment.block.regexp"},{"begin":"<\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.regexp"}},"end":"}>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.regexp"}},"name":"meta.embedded.expression.regexp"},{"include":"#literals-regular-expression-literal-unicode-scalars"},{"include":"#literals-regular-expression-literal-character-properties"},{"match":"[$^]|\\\\\\\\[ABGYZbyz]|\\\\\\\\K","name":"keyword.control.anchor.regexp"},{"include":"#literals-regular-expression-literal-backtracking-directive-or-global-matching-option"},{"include":"#literals-regular-expression-literal-callout"},{"include":"#literals-regular-expression-literal-backreference-or-subpattern"},{"match":"\\\\.|\\\\\\\\[CDHNORSVWXdhsvw]","name":"constant.character.character-class.regexp"},{"match":"\\\\\\\\c.","name":"constant.character.entity.control-character.regexp"},{"match":"\\\\\\\\[^c]","name":"constant.character.escape.backslash.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"match":"[*+?]","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\{(?:\\\\s*\\\\d+\\\\s*(?:,\\\\s*\\\\d*\\\\s*)?}|\\\\s*,\\\\s*\\\\d+\\\\s*})","name":"keyword.operator.quantifier.regexp"},{"include":"#literals-regular-expression-literal-custom-char-class"},{"include":"#literals-regular-expression-literal-group-option-toggle"},{"include":"#literals-regular-expression-literal-group-or-conditional"}]},"literals-regular-expression-literal-set-operators":{"patterns":[{"match":"&&","name":"keyword.operator.intersection.regexp.swift"},{"match":"--","name":"keyword.operator.subtraction.regexp.swift"},{"match":"~~","name":"keyword.operator.symmetric-difference.regexp.swift"}]},"literals-regular-expression-literal-unicode-scalars":{"match":"\\\\\\\\(?:u\\\\{\\\\s*(?:\\\\h+\\\\s*)+}|u\\\\h{4}|x\\\\{\\\\h+}|x\\\\h{0,2}|U\\\\h{8}|o\\\\{[0-7]+}|0[0-7]{0,3}|N\\\\{(?:U\\\\+\\\\h{1,8}|[-\\\\s\\\\w]+)})","name":"constant.character.numeric.regexp"},"literals-string":{"patterns":[{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\\"\\"\\"(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.swift","patterns":[{"match":"\\\\G(?:.+(?=\\"\\"\\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"},{"match":"\\\\\\\\\\\\s*\\\\n","name":"constant.character.escape.newline.swift"},{"include":"#literals-string-string-guts"},{"match":"\\\\S((?!\\\\\\\\\\\\().)*(?=\\"\\"\\")","name":"invalid.illegal.content-before-closing-delimiter.swift"}]},{"begin":"#\\"\\"\\"(?!#)(?=(?:[^\\"]|\\"(?!#))*$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\\"\\"\\"#(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.raw.swift","patterns":[{"match":"\\\\G(?:.+(?=\\"\\"\\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"},{"match":"\\\\\\\\#\\\\s*\\\\n","name":"constant.character.escape.newline.swift"},{"include":"#literals-string-raw-string-guts"},{"match":"\\\\S((?!\\\\\\\\#\\\\().)*(?=\\"\\"\\")","name":"invalid.illegal.content-before-closing-delimiter.swift"}]},{"begin":"(?<!#)(##+)\\"\\"\\"(?!\\\\1)(?=(?:[^\\"]|\\"(?!\\\\1))*$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\\"\\"\\"\\\\1(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.raw.swift","patterns":[{"match":"\\\\G(?:.+(?=\\"\\"\\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\\"(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.single-line.swift","patterns":[{"match":"[\\\\n\\\\r]","name":"invalid.illegal.returns-not-allowed.swift"},{"include":"#literals-string-string-guts"}]},{"begin":"(?<!#)(##+)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raw.swift"}},"end":"\\"\\\\1(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.raw.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.single-line.raw.swift","patterns":[{"match":"[\\\\n\\\\r]","name":"invalid.illegal.returns-not-allowed.swift"}]},{"begin":"#\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raw.swift"}},"end":"\\"#(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.raw.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.single-line.raw.swift","patterns":[{"match":"[\\\\n\\\\r]","name":"invalid.illegal.returns-not-allowed.swift"},{"include":"#literals-string-raw-string-guts"}]}]},"literals-string-raw-string-guts":{"patterns":[{"match":"\\\\\\\\#[\\"\'0\\\\\\\\nrt]","name":"constant.character.escape.swift"},{"match":"\\\\\\\\#u\\\\{\\\\h{1,8}}","name":"constant.character.escape.unicode.swift"},{"begin":"\\\\\\\\#\\\\(","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.swift"}},"contentName":"source.swift","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.embedded.end.swift"}},"name":"meta.embedded.line.swift","patterns":[{"include":"$self"},{"begin":"\\\\(","end":"\\\\)"}]},{"match":"\\\\\\\\#.","name":"invalid.illegal.escape-not-recognized"}]},"literals-string-string-guts":{"patterns":[{"match":"\\\\\\\\[\\"\'0\\\\\\\\nrt]","name":"constant.character.escape.swift"},{"match":"\\\\\\\\u\\\\{\\\\h{1,8}}","name":"constant.character.escape.unicode.swift"},{"begin":"\\\\\\\\\\\\(","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.swift"}},"contentName":"source.swift","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.embedded.end.swift"}},"name":"meta.embedded.line.swift","patterns":[{"include":"$self"},{"begin":"\\\\(","end":"\\\\)"}]},{"match":"\\\\\\\\.","name":"invalid.illegal.escape-not-recognized"}]},"member-reference":{"patterns":[{"captures":{"1":{"name":"variable.other.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"match":"(?<=\\\\.)((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))"}]},"operators":{"patterns":[{"match":"\\\\b(is\\\\b|as([!?]\\\\B|\\\\b))","name":"keyword.operator.type-casting.swift"},{"begin":"(?=(?<oph>[-!%\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])|\\\\.(\\\\g<oph>|[.̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))","end":"(?!\\\\G)","patterns":[{"captures":{"0":{"patterns":[{"match":"\\\\G(\\\\+\\\\+|--)$","name":"keyword.operator.increment-or-decrement.swift"},{"match":"\\\\G([-+])$","name":"keyword.operator.arithmetic.unary.swift"},{"match":"\\\\G!$","name":"keyword.operator.logical.not.swift"},{"match":"\\\\G~$","name":"keyword.operator.bitwise.not.swift"},{"match":".+","name":"keyword.operator.custom.prefix.swift"}]}},"match":"\\\\G(?<=^|[(,:;\\\\[{\\\\s])((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))++(?![]),:;}\\\\s]|\\\\z)"},{"captures":{"0":{"patterns":[{"match":"\\\\G(\\\\+\\\\+|--)$","name":"keyword.operator.increment-or-decrement.swift"},{"match":"\\\\G!$","name":"keyword.operator.increment-or-decrement.swift"},{"match":".+","name":"keyword.operator.custom.postfix.swift"}]}},"match":"\\\\G(?<!^|[(,:;\\\\[{\\\\s])((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))++(?=[]),:;}\\\\s]|\\\\z)"},{"captures":{"0":{"patterns":[{"match":"\\\\G=$","name":"keyword.operator.assignment.swift"},{"match":"\\\\G([-%*+/]|<<|>>|[\\\\&^|]|&&|\\\\|\\\\|)=$","name":"keyword.operator.assignment.compound.swift"},{"match":"\\\\G([-*+/])$","name":"keyword.operator.arithmetic.swift"},{"match":"\\\\G&([-*+])$","name":"keyword.operator.arithmetic.overflow.swift"},{"match":"\\\\G%$","name":"keyword.operator.arithmetic.remainder.swift"},{"match":"\\\\G(==|!=|[<>]|>=|<=|~=)$","name":"keyword.operator.comparison.swift"},{"match":"\\\\G\\\\?\\\\?$","name":"keyword.operator.coalescing.swift"},{"match":"\\\\G(&&|\\\\|\\\\|)$","name":"keyword.operator.logical.swift"},{"match":"\\\\G([\\\\&^|]|<<|>>)$","name":"keyword.operator.bitwise.swift"},{"match":"\\\\G([!=]==)$","name":"keyword.operator.bitwise.swift"},{"match":"\\\\G\\\\?$","name":"keyword.operator.ternary.swift"},{"match":".+","name":"keyword.operator.custom.infix.swift"}]}},"match":"\\\\G((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))++"},{"captures":{"0":{"patterns":[{"match":".+","name":"keyword.operator.custom.prefix.dot.swift"}]}},"match":"\\\\G(?<=^|[(,:;\\\\[{\\\\s])\\\\.((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+./<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))++(?![]),:;}\\\\s]|\\\\z)"},{"captures":{"0":{"patterns":[{"match":".+","name":"keyword.operator.custom.postfix.dot.swift"}]}},"match":"\\\\G(?<!^|[(,:;\\\\[{\\\\s])\\\\.((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+./<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))++(?=[]),:;}\\\\s]|\\\\z)"},{"captures":{"0":{"patterns":[{"match":"\\\\G\\\\.\\\\.[.<]$","name":"keyword.operator.range.swift"},{"match":".+","name":"keyword.operator.custom.infix.dot.swift"}]}},"match":"\\\\G\\\\.((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+./<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))++"}]},{"match":":","name":"keyword.operator.ternary.swift"}]},"root":{"patterns":[{"include":"#compiler-control"},{"include":"#declarations"},{"include":"#expressions"}]}},"scopeName":"source.swift"}'))];export{e as default};
@@ -0,0 +1 @@
1
+ var e={datatable:{title:`Largest expansions this quarter`,icon:`table`,iconColor:`var(--presence)`,columns:[{key:`account`,label:`Account`,align:`left`},{key:`tier`,label:`Tier`,align:`left`},{key:`arr`,label:`ARR`,align:`right`,numeric:!0,color:`var(--insight)`},{key:`delta`,label:`Δ QoQ`,align:`right`},{key:`health`,label:`Health`,align:`left`}],rows:[{account:`Meridian Logistics`,tier:`Enterprise`,arr:`$284k`,delta:`+62k`,health:`Healthy`},{account:`Cobalt Health`,tier:`Enterprise`,arr:`$241k`,delta:`+44k`,health:`Healthy`},{account:`Foundry Labs`,tier:`Mid-market`,arr:`$96k`,delta:`+38k`,health:`Champion`},{account:`Lumen Retail`,tier:`Mid-market`,arr:`$88k`,delta:`+21k`,health:`Watch`},{account:`Drift Studios`,tier:`Mid-market`,arr:`$74k`,delta:`+19k`,health:`Healthy`},{account:`Pelham Group`,tier:`Enterprise`,arr:`$210k`,delta:`-12k`,health:`At risk`}],sortKey:`arr`,sortDir:`desc`,searchable:!0,searchPlaceholder:`Filter accounts…`,footer:`Pelham contracted on a seat reduction, flagged for a QBR before renewal.`},pivot:{title:`Revenue by region × segment`,icon:`globe`,iconColor:`var(--presence)`,rowGroup:`Region`,colHeaders:[`SMB`,`Mid-market`,`Enterprise`],measures:[{key:`arr`,label:`ARR`,prefix:`$`,unit:`k`},{key:`logos`,label:`Logos`},{key:`nrr`,label:`NRR`,unit:`%`}],rows:[{label:`North America`,cells:[{values:{arr:980,logos:210,nrr:112}},{values:{arr:1640,logos:96,nrr:118}},{values:{arr:1320,logos:22,nrr:124}}]},{label:`EMEA`,cells:[{values:{arr:360,logos:88,nrr:108}},{values:{arr:540,logos:41,nrr:114}},{values:{arr:280,logos:6,nrr:121}}]},{label:`APAC`,cells:[{values:{arr:120,logos:34,nrr:105}},{values:{arr:190,logos:18,nrr:110}},{values:{arr:64,logos:3,nrr:116}}]}],measure:0,accent:`var(--insight)`,footer:`NA Mid-market is the single biggest cell; APAC Enterprise is the whitespace.`},leaderboard:{title:`Sales leaderboard · Q2`,icon:`spark`,iconColor:`var(--insight)`,metrics:[{key:`acv`,label:`New ACV`,unit:`k`},{key:`quota`,label:`Quota`,unit:`%`},{key:`deals`,label:`Deals`}],rows:[{name:`Priya Nair`,sub:`Enterprise · West`,values:{acv:412,quota:137,deals:6},move:2},{name:`Marcus Hale`,sub:`Enterprise · East`,values:{acv:388,quota:129,deals:7},move:-1},{name:`Dana Liu`,sub:`Mid-market`,values:{acv:246,quota:118,deals:11},move:1},{name:`Tom Okafor`,sub:`Mid-market`,values:{acv:198,quota:102,deals:9},move:0},{name:`Sofia Reyes`,sub:`SMB · velocity`,values:{acv:142,quota:96,deals:14},move:3}],metric:0,accent:`var(--insight)`,footer:`Top two reps closed 53% of new ACV, bus-factor risk worth noting.`},treetable:{title:`Issue backlog by area`,icon:`table`,iconColor:`var(--insight)`,valueLabel:`Open`,accent:`var(--insight)`,nodes:[{label:`Search`,value:`108`,pct:.44,tag:`critical`,color:`var(--insight)`,open:!0,children:[{label:`Index + backfill`,value:`61`,pct:.25,color:`var(--insight)`},{label:`Relevance tuning`,value:`29`,pct:.12,color:`var(--insight-soft)`},{label:`Shadow parity`,value:`18`,pct:.07,color:`var(--presence-soft)`}]},{label:`Platform`,value:`74`,pct:.3,color:`var(--presence-soft)`,children:[{label:`Migration shim`,value:`40`,pct:.16,color:`var(--presence-soft)`},{label:`Observability`,value:`34`,pct:.14,color:`var(--text-muted)`}]},{label:`Surface`,value:`66`,pct:.26,color:`var(--warning)`,children:[{label:`Command bar`,value:`38`,pct:.15,color:`var(--warning)`},{label:`Saved views`,value:`28`,pct:.11,color:`var(--warning-soft)`}]}],footer:`248 open issues, search carries nearly half, concentrated in the backfill.`},swimlane:{title:`Cutover week · who does what, when`,icon:`clock`,iconColor:`var(--warning)`,ticks:[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`],lanes:[{actor:`Search squad`,sub:`Priya`,events:[{at:0,span:.35,label:`Final backfill`,detail:`Drain the last batch`,color:`var(--insight)`},{at:.4,label:`Parity sign-off`,detail:`≥99.5% match`,color:`var(--presence)`}]},{actor:`Platform`,sub:`Marco`,events:[{at:.2,span:.3,label:`Flag wiring`,detail:`Gradual ramp 1→100%`,color:`var(--presence-soft)`},{at:.75,label:`Kill legacy reads`,detail:`Decommission`,color:`var(--danger)`}]},{actor:`Surface`,sub:`Lena`,events:[{at:.5,span:.25,label:`UI smoke pass`,detail:`Command bar + views`,color:`var(--warning)`}]},{actor:`On-call`,sub:`rotation`,events:[{at:.55,span:.4,label:`Heightened watch`,detail:`5xx + p95 dashboards`,color:`var(--text-muted)`}]}],footer:`The ramp starts Tuesday; legacy reads die Thursday once parity holds.`},footnotetable:{title:`Release readiness scorecard`,icon:`check`,iconColor:`var(--presence-soft)`,columns:[`Workstream`,`Status`,`Confidence`,`Gate`],rows:[{cells:[{v:`Typed core`},{v:`Shipped`,color:`var(--presence)`},{v:`High`},{v:`Passed`}]},{cells:[{v:`Search index`},{v:`In flight`,color:`var(--insight)`,note:1},{v:`Medium`,note:2},{v:`W7`}]},{cells:[{v:`Command bar`},{v:`Not started`,color:`var(--text-muted)`},{v:`Medium`},{v:`W10`}]},{cells:[{v:`Legacy retire`},{v:`Blocked`,color:`var(--danger)`,note:3},{v:`Low`},{v:`W11`}]}],notes:[`Backfill is <b>88% complete</b>; the final batch lands in W6.`,`Confidence is gated on the <mark>shadow-read parity</mark> result, expected ≥99.5%.`,`Blocked until cutover, we cannot retire legacy reads before the flag flips.`],footer:`Two greens, one in flight, one blocked behind cutover. No surprises.`},sparktable:{title:`Full blood panel · 12-month trend`,icon:`table`,iconColor:`var(--insight)`,valueLabel:`Latest`,trendLabel:`12-mo trend`,rows:[{name:`LDL cholesterol`,value:`138 mg/dL`,delta:`+11`,deltaDir:`up`,color:`var(--warning)`,series:[121,124,119,127,131,138]},{name:`HDL cholesterol`,value:`58 mg/dL`,delta:`+5`,deltaDir:`up`,color:`var(--presence)`,series:[49,51,52,54,56,58]},{name:`Triglycerides`,value:`92 mg/dL`,delta:`-18`,deltaDir:`down`,color:`var(--presence)`,series:[128,120,115,106,99,92]},{name:`HbA1c`,value:`5.2 %`,delta:`-0.2`,deltaDir:`down`,color:`var(--presence)`,series:[5.5,5.5,5.4,5.4,5.3,5.2]},{name:`Vitamin D`,value:`41 ng/mL`,delta:`+14`,deltaDir:`up`,color:`var(--insight)`,series:[22,26,29,33,37,41]},{name:`Ferritin`,value:`96 ng/mL`,delta:`+6`,deltaDir:`up`,color:`var(--presence-soft)`,series:[78,82,85,88,91,96]},{name:`hs-CRP`,value:`0.7 mg/L`,delta:`-0.4`,deltaDir:`down`,color:`var(--presence)`,series:[1.6,1.4,1.2,1,.9,.7]}],footer:`Six of seven markers improving, LDL is the only one drifting up.`},smallmultiples:{title:`Every vital, last 8 weeks`,icon:`layers`,iconColor:`var(--presence-soft)`,kind:`line`,cols:2,panels:[{label:`HRV (ms)`,series:[52,55,54,58,60,62,61,65],stat:`65 ms`,delta:`+13`,deltaDir:`up`,color:`var(--presence)`},{label:`Resting HR`,series:[60,59,59,57,56,55,55,54],stat:`54 bpm`,delta:`-6`,deltaDir:`down`,color:`var(--insight)`},{label:`Sleep (h)`,series:[6.6,6.8,6.7,7,7.1,7.3,7.2,7.4],stat:`7.4 h`,delta:`+0.8`,deltaDir:`up`,color:`var(--presence-soft)`},{label:`Body weight`,series:[178,177,177,176,176,175,175,174],stat:`174 lb`,delta:`-4`,deltaDir:`down`,color:`var(--warning)`}],footer:`Same scale per metric, every line is pointing the way you want.`},comparebars:{title:`Us vs the two competitors we lose to`,icon:`layers`,iconColor:`var(--insight)`,series:[{name:`Atlas (us)`,color:`var(--insight)`},{name:`Northgate`,color:`var(--presence-soft)`},{name:`Beacon`,color:`var(--text-muted)`}],rows:[{label:`Win rate`,values:[28,22,19],unit:`%`,higherBetter:!0},{label:`ACV`,values:[29,41,24],unit:`k`,higherBetter:!0},{label:`Time to value`,values:[9,21,16],unit:` d`,higherBetter:!1},{label:`G2 rating`,values:[4.6,4.2,4.4],unit:`★`,higherBetter:!0},{label:`NRR`,values:[116,104,109],unit:`%`,higherBetter:!0}],highlight:0,footer:`We win on speed-to-value and retention; Northgate still beats us on deal size.`},comparematrix:{title:`Market vs mixed vs command economies`,icon:`table`,iconColor:`var(--presence)`,caption:`Three ways to organize an economy`,cols:[`Market`,`Mixed`,`Command`],rows:[{label:`Who owns production`,cells:[{value:`Private individuals`},{value:`Mostly private, some state`},{value:`The state`}]},{label:`Private property`,cells:[{kind:`yes`},{kind:`partial`},{kind:`no`}]},{label:`Prices set by`,cells:[{value:`Supply & demand`},{value:`Markets + regulation`},{value:`Central planners`}]},{label:`Degree of state control`,cells:[{kind:`rating`,value:1},{kind:`rating`,value:3},{kind:`rating`,value:5}]},{label:`A real example`,cells:[{value:`Hong Kong`,note:`historically`},{value:`Most countries today`},{value:`The Soviet economy`}]}],footer:`Real economies sit on a spectrum — the <strong>mixed</strong> column is where almost every country actually lives.`},matrixgrid:{title:`Dependency matrix · who blocks whom`,icon:`layers`,iconColor:`var(--warning)`,rowLabels:[`Core`,`Index`,`Ranker`,`Cmd bar`,`Views`],colLabels:[`Core`,`Index`,`Rank`,`Cmd`,`View`],cells:[[0,0,0,0,0],[3,0,0,0,0],[1,3,0,0,0],[0,3,2,0,0],[1,2,0,0,0]],min:0,max:3,accent:`var(--warning)`,unit:``,legend:[`no dep`,`hard dep`],footer:`Read down a column to see what it unblocks, the index unblocks almost everything.`},clearancematrix:{title:`Common over-the-counter combos`,icon:`shield`,iconColor:`var(--insight)`,rows:[`Ibuprofen`,`Acetaminophen`,`Aspirin`,`Antihistamine`],columns:[`With alcohol`,`On an empty stomach`,`During pregnancy`,`With a blood thinner`],cells:[{row:`Ibuprofen`,col:`With alcohol`,level:`caution`,reason:`Both irritate the stomach lining — space them out.`},{row:`Ibuprofen`,col:`On an empty stomach`,level:`caution`,reason:`Take with food to limit stomach upset.`},{row:`Ibuprofen`,col:`During pregnancy`,level:`avoid`,reason:`Not advised in the third trimester.`},{row:`Ibuprofen`,col:`With a blood thinner`,level:`avoid`,reason:`Raises bleeding risk markedly.`},{row:`Acetaminophen`,col:`With alcohol`,level:`caution`,reason:`Heavy drinking strains the liver — keep doses low.`},{row:`Acetaminophen`,col:`On an empty stomach`,level:`safe`,reason:`Gentle on the stomach either way.`},{row:`Acetaminophen`,col:`During pregnancy`,level:`safe`,reason:`Generally the preferred pain reliever.`},{row:`Acetaminophen`,col:`With a blood thinner`,level:`caution`,reason:`High regular use can nudge thinner levels.`},{row:`Aspirin`,col:`With alcohol`,level:`avoid`,reason:`Compounds stomach-bleeding risk.`},{row:`Aspirin`,col:`On an empty stomach`,level:`caution`,reason:`Take with food or water.`},{row:`Aspirin`,col:`During pregnancy`,level:`avoid`,reason:`Avoid unless a clinician prescribes low-dose.`},{row:`Aspirin`,col:`With a blood thinner`,level:`avoid`,reason:`Doubles up on bleeding risk.`},{row:`Antihistamine`,col:`With alcohol`,level:`caution`,reason:`Drowsiness adds up — do not drive.`},{row:`Antihistamine`,col:`On an empty stomach`,level:`safe`},{row:`Antihistamine`,col:`With a blood thinner`,level:`safe`,reason:`No notable interaction.`}],footer:`General guidance, not medical advice — unrated pairings read “check a pro,” and your pharmacist can confirm for your situation.`},matrix:{title:`The discretized operator`,icon:`table`,iconColor:`var(--presence)`,caption:`A, 5-point Laplacian stencil (4×4 of a 2.4M² sparse system)`,bracket:!0,rows:[{cells:[{v:4,hot:!0},{v:-1},{v:0},{v:-1}]},{cells:[{v:-1},{v:4,hot:!0},{v:-1},{v:0}]},{cells:[{v:0},{v:-1},{v:4,hot:!0},{v:-1}]},{cells:[{v:-1},{v:0},{v:-1},{v:4,hot:!0}]}],footer:`Each row is one cell’s 5-point stencil; the solver inverts this banded, diagonally-dominant system.`},sensitivitytable:{title:`Final grade: hours × focus`,rowVar:`Hours/day`,rows:[1,2,3],colVar:`Focus`,cols:[`Low`,`Med`,`High`],cells:[[64,68,72],[69,75,81],[73,82,90]],unit:`%`,baseCell:[1,1],footer:`Two focused hours a day clears the 70% target.`},labpanel:{title:`Pre-exam health check`,caption:`Self-report · this week`,results:[{name:`Sleep`,value:5.5,unit:`h`,low:7,high:9,prior:6.5},{name:`Resting HR`,value:72,unit:`bpm`,low:60,high:100,prior:70},{name:`Hydration`,value:1.4,unit:`L`,low:2,high:3}],footer:`Sleep is below range, the single biggest lever on recall right now.`},ingredientmatrix:{title:`What else you can make`,recipes:[`Pasta`,`Omelette`,`Fried rice`],ingredients:[`Eggs`,`Garlic`,`Cream`,`Parsley`,`Rice`],matrix:[[!1,!0,!1],[!0,!1,!0],[!0,!1,!1],[!0,!1,!1],[!1,!1,!0]]},conjugation:{title:`Hablar, Present & Preterite`,verb:`hablar`,language:`Spanish`,tenses:[{name:`Present`,forms:[{pronoun:`yo`,form:`hablo`},{pronoun:`tú`,form:`hablas`},{pronoun:`él/ella`,form:`habla`},{pronoun:`nosotros`,form:`hablamos`},{pronoun:`vosotros`,form:`habláis`},{pronoun:`ellos`,form:`hablan`}]},{name:`Preterite`,forms:[{pronoun:`yo`,form:`hablé`},{pronoun:`tú`,form:`hablaste`},{pronoun:`él/ella`,form:`habló`},{pronoun:`nosotros`,form:`hablamos`},{pronoun:`vosotros`,form:`hablasteis`},{pronoun:`ellos`,form:`hablaron`}]}]},financialstatement:{title:`Quarterly P&L`,icon:`chart`,currency:`USD`,caption:`Unaudited · consolidated`,periods:[`Q1 FY26`,`Q2 FY26`,`Q3 FY26`],rows:[{label:`Revenue`,values:[418e4,472e4,531e4]},{label:`Cost of revenue`,values:[-138e4,-151e4,-165e4],indent:1},{label:`Gross profit`,values:[28e5,321e4,366e4],kind:`subtotal`},{label:`Sales & marketing`,values:[-112e4,-124e4,-133e4],indent:1},{label:`Research & development`,values:[-86e4,-91e4,-98e4],indent:1},{label:`General & administrative`,values:[-54e4,-56e4,-59e4],indent:1},{label:`Operating income`,values:[28e4,5e5,76e4],kind:`total`}],footer:`Operating margin expands from <b>6.7%</b> to <b>14.3%</b> as revenue outpaces fixed opex.`},cohortgrid:{title:`Monthly retention by signup cohort`,icon:`layers`,unit:`%`,caption:`% of cohort still active at the start of each month`,periods:[`M0`,`M1`,`M2`,`M3`,`M4`,`M5`],cohorts:[{label:`Jan`,size:1240,values:[100,62,48,41,37,35]},{label:`Feb`,size:1410,values:[100,64,51,44,40,null]},{label:`Mar`,size:1680,values:[100,67,54,47,null,null]},{label:`Apr`,size:1520,values:[100,71,58,null,null,null]},{label:`May`,size:1790,values:[100,73,null,null,null,null]},{label:`Jun`,size:2050,values:[100,null,null,null,null,null]}],footer:`Month-1 retention climbs from <b>62%</b> (Jan) to <b>73%</b> (May) — onboarding changes are landing for newer cohorts.`},riskmatrix:{title:`Launch risk matrix`,icon:`shield`,size:5,caption:`Likelihood × impact, scored 1–5`,risks:[{label:`Onboarding drop-off`,likelihood:4,impact:4,owner:`Growth`,mitigation:`Ship the 3-step guided setup and instrument each step before GA.`},{label:`Scaling spikes`,likelihood:3,impact:5,owner:`Platform`,mitigation:`Load-test to 5× peak; add autoscaling and a read-replica fallback.`},{label:`Pricing confusion`,likelihood:3,impact:2,owner:`GTM`,mitigation:`Simplify to three tiers; add an in-app plan comparison.`},{label:`Data migration errors`,likelihood:2,impact:4,owner:`Data`,mitigation:`Dry-run on a shadow copy; reconcile row counts before cutover.`},{label:`Support backlog`,likelihood:2,impact:2,owner:`Support`,mitigation:`Pre-write a help-center launch FAQ and staff a launch-week rota.`}],footer:`<b>Onboarding drop-off</b> and <b>scaling spikes</b> sit in the red band — gate GA on both mitigations.`},careplan:{title:`Care plan — day 1 post-op`,icon:`shield`,iconColor:`var(--presence)`,caption:`Med-surg · evening shift handoff`,entries:[{assessment:`Rates pain 7/10 at the incision, guarding on movement`,diagnosis:`Acute pain related to surgical incision`,goal:`Pain reported ≤ 3/10 within 24 hours`,interventions:[`Give scheduled analgesia and assess effect at 30 min`,`Reposition and support the incision before activity`,`Reassess pain score every 4 hours`],rationale:`Multimodal, scheduled analgesia controls pain better than PRN-only dosing and supports early mobility.`,status:`partial`},{assessment:`Clean, dry surgical wound; indwelling IV and urinary catheter in place`,diagnosis:`Risk for infection related to surgical wound and invasive lines`,goal:`Remains afebrile with no signs of wound or line infection`,interventions:[`Hand hygiene and aseptic technique at every contact`,`Inspect wound and line sites each shift for redness or drainage`,`Remove the urinary catheter as soon as clinically appropriate`],rationale:`Early line removal and daily site checks catch infection before it spreads and shorten exposure.`,status:`ongoing`},{assessment:`Steady on standby-assist; lungs clear, encouraged to walk`,diagnosis:`Risk for impaired mobility related to post-operative pain`,goal:`Walks the hallway with standby assist by day 2`,interventions:[`Pre-medicate for pain 30 min before ambulation`,`Assist out of bed three times daily`,`Coach incentive spirometry hourly while awake`],rationale:`Early ambulation lowers the risk of pneumonia and venous thromboembolism.`,status:`met`}],footer:`Reassess each goal at the next shift and update the status as outcomes are met.`},doseladder:{title:`Titration schedule`,icon:`shield`,iconColor:`var(--insight)`,drug:`Gabapentin`,route:`oral`,caption:`Adult · neuropathic pain`,computed:{input:`Weight 70 kg`,formula:`300 mg ÷ 3 doses`,result:`100 mg three times daily`},ladder:[{step:`Day 1`,dose:`300 mg at bedtime`,note:`Start low to limit drowsiness and dizziness.`},{step:`Day 2`,dose:`300 mg twice daily`},{step:`Day 3`,dose:`300 mg three times daily`,note:`Steady the dose before climbing further.`},{step:`Week 2`,dose:`600 mg three times daily`,note:`Increase as tolerated to control pain.`},{step:`Maximum`,dose:`1,200 mg three times daily`,note:`Do not exceed 3,600 mg per day.`,ceiling:!0}],adjustments:[{condition:`eGFR 30–59`,change:`Max 1,400 mg/day`},{condition:`eGFR 15–29`,change:`Max 700 mg/day`},{condition:`eGFR < 15`,change:`Max 300 mg/day`}],footer:`Titrate to the lowest effective dose; renal function sets the ceiling, so check eGFR before each step up.`},sizechart:{title:`Running shoe size guide`,icon:`cart`,iconColor:`var(--presence)`,caption:`Unisex · true to size · measure both feet, use the larger`,columns:[`US`,`UK`,`EU`,`cm`],unit:`Foot length`,highlight:`9.5`,guide:`Stand on paper, mark heel to longest toe, and measure in centimetres — then match the cm column. If you are between sizes, size up for running.`,rows:[{size:`7`,values:[`7`,`6`,`40`,`25.0`]},{size:`7.5`,values:[`7.5`,`6.5`,`40.5`,`25.4`]},{size:`8`,values:[`8`,`7`,`41`,`25.7`]},{size:`8.5`,values:[`8.5`,`7.5`,`42`,`26.0`]},{size:`9`,values:[`9`,`8`,`42.5`,`26.7`]},{size:`9.5`,values:[`9.5`,`8.5`,`43`,`27.0`]},{size:`10`,values:[`10`,`9`,`44`,`27.3`]},{size:`10.5`,values:[`10.5`,`9.5`,`44.5`,`27.9`]},{size:`11`,values:[`11`,`10`,`45`,`28.3`]}],footer:`EU sizing runs a touch narrow — if your feet are wide, consider the next half size up.`},pricingtable:{title:`Simplified to three tiers`,icon:`cart`,iconColor:`var(--presence)`,caption:`Resolves the "pricing confusion" risk above.`,plans:[{name:`Starter`,price:`$29`,period:`/mo`,tagline:`Solo + small teams`},{name:`Growth`,price:`$79`,period:`/mo`,tagline:`Most teams start here`,ctaLabel:`Recommended`,highlighted:!0},{name:`Scale`,price:`Custom`,tagline:`Org-wide rollout`,ctaLabel:`Talk to sales`}],features:[{label:`Seats`,values:[`Up to 5`,`Up to 25`,`Unlimited`]},{label:`Atlas search`,values:[!0,!0,!0]},{label:`Guided onboarding`,values:[!1,!0,!0]},{label:`Autoscaling`,values:[!1,!0,!0]},{label:`Migration support`,values:[!1,`Self-serve`,`White-glove`]},{label:`Dedicated support`,values:[!1,!1,!0]}],footer:`Down from five overlapping tiers today, one plan per team size instead of per feature.`},raci:{title:`Who owns the launch`,icon:`table`,iconColor:`var(--presence)`,tasks:[`Search rewrite`,`Data migration`,`Onboarding redesign`,`Autoscaling rollout`,`Launch comms`],roles:[`Engineering`,`Product`,`Design`,`GTM`,`Support`],cells:[{task:`Search rewrite`,role:`Engineering`,rating:`R`},{task:`Search rewrite`,role:`Product`,rating:`A`},{task:`Search rewrite`,role:`Design`,rating:`C`},{task:`Search rewrite`,role:`GTM`,rating:`I`},{task:`Search rewrite`,role:`Support`,rating:`I`},{task:`Data migration`,role:`Engineering`,rating:`R`},{task:`Data migration`,role:`Product`,rating:`C`},{task:`Data migration`,role:`GTM`,rating:`I`},{task:`Data migration`,role:`Support`,rating:`C`},{task:`Onboarding redesign`,role:`Design`,rating:`R`},{task:`Onboarding redesign`,role:`Product`,rating:`A`},{task:`Onboarding redesign`,role:`Engineering`,rating:`C`},{task:`Onboarding redesign`,role:`GTM`,rating:`C`},{task:`Onboarding redesign`,role:`Support`,rating:`I`},{task:`Autoscaling rollout`,role:`Engineering`,rating:`R`},{task:`Autoscaling rollout`,role:`Product`,rating:`I`},{task:`Autoscaling rollout`,role:`Support`,rating:`C`},{task:`Launch comms`,role:`GTM`,rating:`R`},{task:`Launch comms`,role:`Product`,rating:`A`},{task:`Launch comms`,role:`Design`,rating:`C`},{task:`Launch comms`,role:`Support`,rating:`C`},{task:`Launch comms`,role:`Engineering`,rating:`I`}],footer:`<b>Product is Accountable</b> on every workstream but the two engineering-only builds — that keeps launch decisions from splitting across five owners.`},rubric:{title:`How the mock exam is graded`,icon:`check`,iconColor:`var(--presence)`,criteria:[`Reaction mechanism`,`Stereochemistry`,`Written explanation`],levels:[`Developing`,`Proficient`,`Advanced`],cells:[{criterion:`Reaction mechanism`,level:`Developing`,descriptor:`Names the reaction type but the arrow-pushing has gaps.`},{criterion:`Reaction mechanism`,level:`Proficient`,descriptor:`Correct curved arrows for a standard SN1/SN2 case.`,achieved:!0},{criterion:`Reaction mechanism`,level:`Advanced`,descriptor:`Explains WHY the mechanism proceeds that way, not just how.`},{criterion:`Stereochemistry`,level:`Developing`,descriptor:`Identifies chiral centers but not the resulting configuration.`},{criterion:`Stereochemistry`,level:`Proficient`,descriptor:`Correctly predicts inversion vs. retention for a single step.`},{criterion:`Stereochemistry`,level:`Advanced`,descriptor:`Predicts the stereochemical outcome across a multi-step sequence.`,achieved:!0},{criterion:`Written explanation`,level:`Developing`,descriptor:`States the answer without justifying it.`},{criterion:`Written explanation`,level:`Proficient`,descriptor:`Justifies the answer by naming the relevant rule.`,achieved:!0},{criterion:`Written explanation`,level:`Advanced`,descriptor:`Justifies the answer and anticipates the likely follow-up question.`}],scores:[{criterion:`Reaction mechanism`,score:8},{criterion:`Stereochemistry`,score:10},{criterion:`Written explanation`,score:7}],maxScore:10,footer:`Stereochemistry is already Advanced, the mechanism write-up is the one still worth another pass.`},interviewscorecard:{title:`Head of Customer Success, panel scores`,icon:`chat`,iconColor:`var(--insight)`,candidates:[`Priya N.`,`Marcus D.`,`Elena V.`],criteria:[`Leadership`,`CS strategy`,`Communication`,`Culture add`],scale:{min:1,max:5},cells:[{candidate:`Priya N.`,criterion:`Leadership`,rating:5},{candidate:`Priya N.`,criterion:`CS strategy`,rating:5,note:`Shipped a churn playbook at her last two companies.`},{candidate:`Priya N.`,criterion:`Communication`,rating:4},{candidate:`Priya N.`,criterion:`Culture add`,rating:5},{candidate:`Marcus D.`,criterion:`Leadership`,rating:4},{candidate:`Marcus D.`,criterion:`CS strategy`,rating:3},{candidate:`Marcus D.`,criterion:`Communication`,rating:4},{candidate:`Marcus D.`,criterion:`Culture add`,rating:4},{candidate:`Elena V.`,criterion:`Leadership`,rating:3},{candidate:`Elena V.`,criterion:`CS strategy`,rating:4},{candidate:`Elena V.`,criterion:`Communication`,rating:2,note:`Panel flagged a scripted, less adaptive interview style.`},{candidate:`Elena V.`,criterion:`Culture add`,rating:3}],footer:`<b>Priya</b> led on every dimension, that’s who the offer went out to.`},gradebook:{title:`Org Chem, mock exam scores`,icon:`table`,iconColor:`var(--warning)`,students:[`You`,`Jordan`,`Priya`,`Sam`,`Alex`],assignments:[`Mock 1`,`Mock 2`,`Problem set 6`],showClassAverage:!0,cells:[{student:`You`,assignment:`Mock 1`,score:62},{student:`You`,assignment:`Mock 2`,score:74},{student:`You`,assignment:`Problem set 6`,score:20,maxScore:25},{student:`Jordan`,assignment:`Mock 1`,score:71},{student:`Jordan`,assignment:`Mock 2`,score:78},{student:`Jordan`,assignment:`Problem set 6`,score:22,maxScore:25},{student:`Priya`,assignment:`Mock 1`,score:88},{student:`Priya`,assignment:`Mock 2`,score:91},{student:`Priya`,assignment:`Problem set 6`,score:25,maxScore:25},{student:`Sam`,assignment:`Mock 1`,score:55},{student:`Sam`,assignment:`Mock 2`,score:60},{student:`Sam`,assignment:`Problem set 6`,score:15,maxScore:25},{student:`Alex`,assignment:`Mock 1`,score:79},{student:`Alex`,assignment:`Mock 2`,score:82},{student:`Alex`,assignment:`Problem set 6`,score:23,maxScore:25}],footer:`Two mocks in, your trend is +12 points, that matters more than either single score.`},datadictionary:{title:`test_set.parquet, the columns`,icon:`table`,iconColor:`var(--insight)`,source:`test_set.parquet`,nRows:8400,nCols:7,variables:[{name:`ticket_id`,dtype:`int`,description:`Primary key, one row per support ticket.`,missingPct:0},{name:`body_text`,dtype:`str`,description:`Full ticket text as submitted by the customer.`,missingPct:0},{name:`true_label`,dtype:`category`,description:`Human-reviewed category, one of 24 product categories.`,missingPct:0},{name:`pred_label`,dtype:`category`,description:`Transformer-v3's predicted category for this ticket.`,missingPct:0},{name:`confidence`,dtype:`float`,unit:`0–1`,description:`Softmax probability of the predicted label.`,missingPct:0},{name:`account_tier`,dtype:`category`,description:`Customer's plan at ticket time: free, pro, or enterprise.`,missingPct:4.2},{name:`resolved_at`,dtype:`datetime`,description:`Timestamp the ticket was closed, null while still open.`,missingPct:11.6}],footer:"`account_tier` and `resolved_at` have real gaps — free-tier tickets and still-open ones — but neither leaks into the label columns the model is scored on."},ablationtable:{title:`What each piece of Transformer-v3 is worth`,icon:`sliders`,iconColor:`var(--presence)`,baseline:`Transformer-v3 (full)`,baselineValue:91.4,metric:`Accuracy (%)`,rows:[{removed:`Attention pooling`,value:88.9,deltaDirection:`worse`},{removed:`Data augmentation`,value:89.6},{removed:`Layer normalization`,value:90.1},{removed:`Checkpoint ensembling`,value:90.8},{removed:`Auxiliary reconstruction loss`,value:91.7,deltaDirection:`better`}],footer:`Attention pooling is load-bearing (−2.5 pp gone). The auxiliary loss was mis-weighted — dropping it actually helps by 0.3 pp, worth a follow-up sweep.`},spectrumtable:{title:`Confirming ethanol by ¹H NMR`,icon:`chart`,iconColor:`var(--presence)`,technique:`nmr-1h`,compound:`Ethanol (CH₃CH₂OH)`,solvent:`CDCl₃`,peaks:[{x:1.22,multiplicity:`t`,integration:3,assignment:`CH₃`},{x:2.58,multiplicity:`s (br)`,integration:1,assignment:`OH`},{x:3.7,multiplicity:`q`,integration:2,assignment:`CH₂`}],footer:`The CH₃ triplet at 1.22 couples to the CH₂ quartet at 3.70 — a classic ethyl pattern. The broad OH singlet is the giveaway a mechanism problem always tests: it exchanges too fast to couple.`},fmeatable:{title:`Capstone build: line-follower FMEA`,icon:`alert`,iconColor:`var(--warning)`,items:[{failureMode:`IR sensor misreads the line in bright light`,effect:`Robot drifts off course`,cause:`Ambient IR interference saturates the fixed threshold`,severity:6,occurrence:7,detection:4,currentControl:`Fixed threshold calibrated once at bench`,action:`Add auto-gain calibration at startup`,owner:`Sensors`},{failureMode:`Battery voltage sags under load`,effect:`Motors stall mid-run`,cause:`Pack undersized for peak draw`,severity:8,occurrence:4,detection:3,currentControl:`Voltage-monitor LED`,action:`Upsize to a 2S 1300 mAh pack`,owner:`Power`},{failureMode:`Encoder wire pinched at the steering hinge`,effect:`Speed reading drops to zero`,cause:`Wire routed across a moving joint`,severity:4,occurrence:3,detection:7,currentControl:`Zip-tie strain relief`,action:`Re-route the encoder wire through a cable chain`,owner:`Mechanical`},{failureMode:`Firmware watchdog left disabled`,effect:`Robot freezes and needs a manual reset`,cause:`Watchdog timer off in the dev build`,severity:5,occurrence:2,detection:6,currentControl:`None`,action:`Enable the watchdog reset before demo day`,owner:`Firmware`},{failureMode:`Chassis screw backs out from vibration`,effect:`Wheel misalignment`,cause:`No thread-locker applied`,severity:3,occurrence:5,detection:2,currentControl:`Visual pre-run check`,action:`Apply thread-locker to every chassis screw`,owner:`Mechanical`}],footer:`The IR sensor misread is the top risk going into demo day — auto-gain calibration knocks out both its occurrence and detection score at once.`},billofmaterials:{title:`Capstone build: line-follower BOM`,icon:`layers`,iconColor:`var(--presence)`,currency:`USD`,rows:[{label:`Chassis`,kind:`subassembly`,indent:0},{label:`Acrylic base plate`,partNo:`CH-100`,qty:1,unitCost:8.5,indent:1},{label:`M3×10 screw`,partNo:`HW-203`,qty:12,unitCost:.08,indent:1},{label:`Standoff, 20 mm`,partNo:`HW-210`,qty:4,unitCost:.35,indent:1},{label:`Drive`,kind:`subassembly`,indent:0},{label:`N20 gear motor`,partNo:`MO-020`,qty:2,unitCost:4.75,indent:1},{label:`Wheel, 42 mm`,partNo:`WH-042`,qty:2,unitCost:1.2,indent:1},{label:`Motor driver board`,partNo:`DR-298`,qty:1,unitCost:3.9,indent:1},{label:`Electronics`,kind:`subassembly`,indent:0},{label:`Microcontroller board`,partNo:`MC-328`,qty:1,unitCost:6.5,indent:1},{label:`IR line-sensor array`,partNo:`SN-005`,qty:1,unitCost:5.2,indent:1},{label:`2S LiPo battery, 1300 mAh`,partNo:`BT-213`,qty:1,unitCost:9.8,indent:1},{label:`Total build cost`,kind:`total`,indent:0}],footer:`Under $50 a unit — the battery and the sensor array are the two line items worth shopping around on before the next build.`},complexitysummary:{title:`Same lookup, three approaches`,icon:`clock`,iconColor:`var(--presence)`,approaches:[{name:`Linear scan`,timeComplexity:`O(n)`,spaceComplexity:`O(1)`,notes:`No setup cost — fine for a one-off search over unsorted data.`},{name:`Binary search`,timeComplexity:`O(log n)`,spaceComplexity:`O(1)`,notes:`Needs the array sorted first; free here since merge sort already sorted it.`},{name:`Merge sort + binary search`,timeComplexity:`O(n log n)`,spaceComplexity:`O(n)`,notes:`Pays off once the same array is searched many times, not for a single query.`}],footer:`For a single lookup, linear scan wins on simplicity; sort once and binary search pays for itself by the third query.`},expressionheatmap:{title:`RNA-seq, tumor vs. matched normal`,icon:`table`,iconColor:`var(--presence)`,genes:[`TP53`,`MYC`,`EGFR`,`VEGFA`,`CDKN1A`,`BRCA1`],samples:[`Patient 1`,`Patient 2`,`Patient 3`,`Patient 4`],values:[[-.3,-.6,-.2,-.4],[2.8,3.1,2.4,2.9],[1.6,.9,1.8,1.3],[2.1,1.7,2.4,1.9],[-1.8,-2.1,-1.4,-1.9],[-.4,.1,-.2,0]],scaleLabel:`log2 fold-change vs. normal`,footer:`MYC and VEGFA run up in every tumor sample &mdash; classic proliferation and angiogenesis drivers. CDKN1A (p21) runs down in every sample, consistent with the TP53 pathway losing its brake.`},discoverytracker:{title:`Meanwhile: Meridian's discovery requests`,icon:`doc`,iconColor:`var(--presence)`,requests:[{num:1,description:`All communications regarding the Acme MSA renewal terms`,requestingParty:`Meridian Systems`,status:`produced`,batesRange:`ACME-000412–000488`,dueDate:`Apr 3, 2026`},{num:2,description:`Board minutes discussing the 2025 vendor consolidation`,requestingParty:`Meridian Systems`,status:`objected`,dueDate:`Apr 3, 2026`},{num:3,description:`Outside counsel's memo on liability-cap exposure`,requestingParty:`Meridian Systems`,status:`privileged`,privilegeBasis:`attorney-client privilege`,dueDate:`Apr 3, 2026`},{num:4,description:`All Order Forms executed under the MSA since 2024`,requestingParty:`Meridian Systems`,status:`outstanding`,dueDate:`Apr 17, 2026`},{num:5,description:`Internal escalation emails re: the 90-day notice miss`,requestingParty:`Meridian Systems`,status:`outstanding`,dueDate:`Apr 17, 2026`}],footer:`Same file, a different matter — Meridian is compelling production on the renewal dispute. Two requests are still open with two weeks left on the clock.`},dentaltreatmentplan:{title:`Mia's dental treatment plan`,icon:`shield`,iconColor:`var(--presence)`,entries:[{tooth:`#3`,procedure:`Routine cleaning & fluoride varnish`,priority:`elective`,visit:`Visit 1 · Jun 20`,cost:95,status:`planned`},{tooth:`#14`,procedure:`Composite filling`,surface:`occlusal`,priority:`recommended`,visit:`Visit 1 · Jun 20`,cost:180,status:`planned`},{tooth:`#19`,procedure:`Sealant`,priority:`elective`,visit:`Visit 1 · Jun 20`,cost:55,status:`planned`},{tooth:`#30`,procedure:`Composite filling, deep decay`,surface:`mesial-occlusal`,priority:`urgent`,visit:`Visit 2 · Jul 11`,cost:210,status:`planned`},{tooth:`#30`,procedure:`6-week follow-up check`,priority:`recommended`,visit:`Visit 3 · Aug 22`,cost:0,status:`planned`}],footer:`Tooth #30 is the one to move up if you can — the decay is close to the nerve. Everything else can wait for its scheduled visit.`},rollcall:{title:`Latest: how the vote went`,icon:`chart`,iconColor:`var(--presence)`,bill:`H.R. 4521, Infrastructure Modernization Act`,legislators:[{name:`A. Reyes`,party:`D`,vote:`yea`},{name:`B. Whitfield`,party:`R`,vote:`nay`},{name:`C. Okafor`,party:`D`,vote:`yea`},{name:`D. Larsen`,party:`R`,vote:`yea`},{name:`E. Marsh`,party:`D`,vote:`yea`},{name:`F. Nakamura`,party:`I`,vote:`yea`},{name:`G. Pruitt`,party:`R`,vote:`nay`},{name:`H. Delgado`,party:`D`,vote:`present`},{name:`I. Sato`,party:`R`,vote:`nay`},{name:`J. Kowalski`,party:`D`,vote:`absent`}],footer:`Passed 5–3, with 1 present and 1 absent. Heads to the Senate next.`},collectiontracker:{title:`Your vinyl collection, valued`,icon:`layers`,iconColor:`var(--presence)`,items:[{name:`Kind of Blue — Miles Davis, 1959 original`,acquiredDate:`Mar 2022`,value:340,condition:`good`,notes:`Light surface noise on side A, otherwise clean.`},{name:`Rumours — Fleetwood Mac`,acquiredDate:`Aug 2023`,value:45,condition:`mint`},{name:`The Dark Side of the Moon — first UK pressing`,acquiredDate:`Jan 2024`,value:220,condition:`mint`,notes:`Solid blue triangle label, no barcode.`},{name:`Blue Train — John Coltrane`,acquiredDate:`Nov 2021`,value:95,condition:`fair`,notes:`Warped edge, plays fine.`},{name:`Songs in the Key of Life — Stevie Wonder`,acquiredDate:`Jun 2024`,value:60,condition:`good`}],footer:`Up about $180 from last appraisal, mostly the Dark Side of the Moon pressing — that one alone doubled.`},cma:{title:`What your house would list for, today`,icon:`chart`,iconColor:`var(--presence)`,subject:{address:`412 Larkspur Ave`,beds:3,baths:2,sqft:1620,yearBuilt:1998},comps:[{address:`398 Larkspur Ave`,soldPrice:712e3,soldDate:`Apr 2026`,sqft:1580,distance:.1,adjustments:[{label:`40 sqft smaller`,amount:8e3},{label:`No garage`,amount:12e3}]},{address:`55 Fernwood Ct`,soldPrice:745e3,soldDate:`Mar 2026`,sqft:1690,distance:.4,adjustments:[{label:`70 sqft larger`,amount:-9e3},{label:`Updated kitchen`,amount:-15e3}]},{address:`210 Larkspur Ave`,soldPrice:698e3,soldDate:`Jan 2026`,sqft:1600,distance:.2,adjustments:[{label:`Original bathrooms`,amount:1e4}]}],suggestedListPrice:{low:715e3,high:735e3,point:725e3},footer:`All three comps are within 0.4 miles and sold in the last five months, a tight, reliable set. 55 Fernwood pulls the range up; 210 Larkspur pulls it down.`},taxreturnsummary:{title:`Your filed return, line by line`,icon:`doc`,iconColor:`var(--presence)`,filingStatus:`Single`,taxYear:2025,rows:[{label:`Wages (W-2 Box 1)`,amount:78e3},{label:`Interest & dividends`,amount:640},{label:`Total income`,amount:78640,kind:`subtotal`},{label:`Standard deduction`,amount:-14600,indent:1},{label:`Taxable income`,amount:64040,kind:`subtotal`},{label:`Tax before credits`,amount:9612,indent:1},{label:`Child tax credit`,amount:-2e3,indent:1},{label:`Total tax`,amount:7612,kind:`subtotal`},{label:`Federal withholding (W-2 Box 2)`,amount:8940,indent:1},{label:`Total payments`,amount:8940,kind:`total`}],refundOrOwed:{amount:1328,direction:`refund`},footer:`Withholding ran a little ahead of what you owed, mostly the child tax credit landing after your W-4 was set.`},depreciationschedule:{title:`The new server rack, on the books`,icon:`table`,iconColor:`var(--presence)`,assetDescription:`Dell PowerEdge server rack · placed in service Jan 2024`,cost:6e4,method:`Straight-line`,usefulLife:`5 years`,annualDepreciation:12e3,rows:[{period:`2024`,beginningBasis:6e4,depreciationExpense:12e3,accumulatedDepreciation:12e3,endingBasis:48e3},{period:`2025`,beginningBasis:48e3,depreciationExpense:12e3,accumulatedDepreciation:24e3,endingBasis:36e3},{period:`2026`,beginningBasis:36e3,depreciationExpense:12e3,accumulatedDepreciation:36e3,endingBasis:24e3},{period:`2027`,beginningBasis:24e3,depreciationExpense:12e3,accumulatedDepreciation:48e3,endingBasis:12e3},{period:`2028`,beginningBasis:12e3,depreciationExpense:12e3,accumulatedDepreciation:6e4,endingBasis:0}],footer:`Fully depreciated by end of 2028 — the same year we'd planned to refresh the hardware anyway.`},vendortracker:{title:`All six vendors`,icon:`layers`,iconColor:`var(--presence)`,vendors:[{name:`Willow & Stone Catering`,category:`catering`,status:`confirmed`,contractSigned:!0,depositAmount:1500,depositPaid:!0,balanceDue:3500,dueDate:`Aug 1`},{name:`The Old Mill Barn`,category:`venue`,status:`confirmed`,contractSigned:!0,depositAmount:2e3,depositPaid:!0,balanceDue:6e3,dueDate:`Jul 20`},{name:`Marisol Reyes Photography`,category:`photo`,status:`confirmed`,contractSigned:!0,depositAmount:900,depositPaid:!0,balanceDue:0},{name:`DJ Nova Sound`,category:`av`,status:`booked`,contractSigned:!0,depositAmount:300,depositPaid:!0,balanceDue:800,dueDate:`Jul 8`},{name:`Petal & Vine Florals`,category:`decor`,status:`inquired`},{name:`Sweetgrass Cake Co.`,category:`other`,status:`booked`,contractSigned:!1,depositAmount:150,depositPaid:!1,balanceDue:450,dueDate:`Jul 15`}],footer:`Catering and the venue are the big-ticket balances, both due within three weeks of each other, worth spacing out if the budget is tight.`},sponsorshiptracker:{title:`The brand deals sitting outside the tracker`,icon:`spark`,iconColor:`var(--presence)`,deals:[{brand:`Fieldnotes Co.`,deliverable:`Newsletter mention, 1 issue`,rate:1800,status:`paid`,paidDate:`May 28`},{brand:`Kerncraft Tools`,deliverable:`Dedicated newsletter feature`,rate:4200,status:`contracted`,dueDate:`Jun 30`},{brand:`Northline Studio`,deliverable:`X thread, 3 posts`,rate:1200,status:`negotiating`},{brand:`Verafirm`,deliverable:`LinkedIn post + newsletter blurb`,rate:2600,status:`delivered`,dueDate:`Jun 10`},{brand:`Loomstate`,deliverable:`Newsletter mention, 1 issue`,rate:1500,status:`pitched`}],footer:`Kerncraft is the one to invoice the moment the feature goes out — everything else is either settled or still in play.`},caseload:{title:`Open cases`,icon:`shield`,iconColor:`var(--presence)`,cases:[{clientRef:`J.M.-0192`,status:`Active · in-home visits`,nextContact:`Overdue since Thu`,riskLevel:`high`,note:`Housing instability, follow-up on shelter placement.`},{clientRef:`R.K.-0207`,status:`Active · monthly check-in`,nextContact:`Fri`,riskLevel:`high`,note:`Recently reunified; monitoring the transition closely.`},{clientRef:`A.T.-0118`,status:`Active · biweekly check-in`,nextContact:`Mon`,riskLevel:`medium`},{clientRef:`S.D.-0224`,status:`Active · monthly check-in`,nextContact:`Jun 30`,riskLevel:`low`},{clientRef:`M.P.-0055`,status:`Pending intake review`,nextContact:`Jul 3`},{clientRef:`C.W.-0163`,status:`Active · monthly check-in`,nextContact:`Jul 2`,riskLevel:`low`,note:`Stable for two consecutive reviews.`}],footer:`J.M.-0192 is the one to move today — overdue and high-risk is the combination that matters most.`}};export{e as default};
@@ -0,0 +1 @@
1
+ function e(e,t=Date.now()){let n=Math.max(0,Math.floor((t-e)/1e3));if(n<45)return`just now`;let r=Math.floor(n/60);if(r<60)return`${r}m ago`;let i=Math.floor(r/60);if(i<24)return`${i}h ago`;let a=Math.floor(i/24);return a<7?`${a}d ago`:`${Math.floor(a/7)}w ago`}export{e as t};
@@ -0,0 +1 @@
1
+ function e(e,t){if(typeof document>`u`)return;let n=document.getElementById(`mavea-toasts`);n||(n=document.createElement(`div`),n.id=`mavea-toasts`,document.body.appendChild(n));let r=document.createElement(`div`);r.className=`toast`+(t?` `+t:``);let i=document.createElement(`span`);i.className=`toast-dot`,r.appendChild(i),r.appendChild(document.createTextNode(e)),n.appendChild(r),setTimeout(()=>r.classList.add(`show`),20),setTimeout(()=>{r.classList.remove(`show`),setTimeout(()=>r.remove(),320)},2600)}export{e as t};
@@ -0,0 +1 @@
1
+ var e=[Object.freeze(JSON.parse(`{"displayName":"TOML","fileTypes":["toml"],"name":"toml","patterns":[{"include":"#comments"},{"include":"#groups"},{"include":"#key_pair"},{"include":"#invalid"}],"repository":{"comments":{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.toml"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.toml"}},"end":"\\\\n","name":"comment.line.number-sign.toml"}]},"groups":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.section.begin.toml"},"2":{"patterns":[{"match":"[^.\\\\s]+","name":"entity.name.section.toml"}]},"3":{"name":"punctuation.definition.section.begin.toml"}},"match":"^\\\\s*(\\\\[)([^]\\\\[]*)(])","name":"meta.group.toml"},{"captures":{"1":{"name":"punctuation.definition.section.begin.toml"},"2":{"patterns":[{"match":"[^.\\\\s]+","name":"entity.name.section.toml"}]},"3":{"name":"punctuation.definition.section.begin.toml"}},"match":"^\\\\s*(\\\\[\\\\[)([^]\\\\[]*)(]])","name":"meta.group.double.toml"}]},"invalid":{"match":"\\\\S+(\\\\s*(?=\\\\S))?","name":"invalid.illegal.not-allowed-here.toml"},"key_pair":{"patterns":[{"begin":"([-0-9A-Z_a-z]+)\\\\s*(=)\\\\s*","captures":{"1":{"name":"variable.other.key.toml"},"2":{"name":"punctuation.separator.key-value.toml"}},"end":"(?<=\\\\S)(?<!=)|$","patterns":[{"include":"#primatives"}]},{"begin":"((\\")(.*?)(\\"))\\\\s*(=)\\\\s*","captures":{"1":{"name":"variable.other.key.toml"},"2":{"name":"punctuation.definition.variable.begin.toml"},"3":{"patterns":[{"match":"\\\\\\\\([\\"\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.toml"},{"match":"\\\\\\\\[^\\"\\\\\\\\bfnrt]","name":"invalid.illegal.escape.toml"},{"match":"\\"","name":"invalid.illegal.not-allowed-here.toml"}]},"4":{"name":"punctuation.definition.variable.end.toml"},"5":{"name":"punctuation.separator.key-value.toml"}},"end":"(?<=\\\\S)(?<!=)|$","patterns":[{"include":"#primatives"}]},{"begin":"((')([^']*)('))\\\\s*(=)\\\\s*","captures":{"1":{"name":"variable.other.key.toml"},"2":{"name":"punctuation.definition.variable.begin.toml"},"4":{"name":"punctuation.definition.variable.end.toml"},"5":{"name":"punctuation.separator.key-value.toml"}},"end":"(?<=\\\\S)(?<!=)|$","patterns":[{"include":"#primatives"}]},{"begin":"(((?:[-0-9A-Z_a-z]+|\\"(?:[^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'[^']*')(?:\\\\s*\\\\.\\\\s*|(?=\\\\s*=))){2,})\\\\s*(=)\\\\s*","captures":{"1":{"name":"variable.other.key.toml","patterns":[{"match":"\\\\.","name":"punctuation.separator.variable.toml"},{"captures":{"1":{"name":"punctuation.definition.variable.begin.toml"},"2":{"patterns":[{"match":"\\\\\\\\([\\"\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.toml"},{"match":"\\\\\\\\[^\\"\\\\\\\\bfnrt]","name":"invalid.illegal.escape.toml"}]},"3":{"name":"punctuation.definition.variable.end.toml"}},"match":"(\\")((?:[^\\"\\\\\\\\]|\\\\\\\\.)*)(\\")"},{"captures":{"1":{"name":"punctuation.definition.variable.begin.toml"},"2":{"name":"punctuation.definition.variable.end.toml"}},"match":"(')[^']*(')"}]},"3":{"name":"punctuation.separator.key-value.toml"}},"end":"(?<=\\\\S)(?<!=)|$","patterns":[{"include":"#primatives"}]}]},"primatives":{"patterns":[{"begin":"\\\\G\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.toml"}},"end":"\\"{3,5}","endCaptures":{"0":{"name":"punctuation.definition.string.end.toml"}},"name":"string.quoted.triple.double.toml","patterns":[{"match":"\\\\\\\\([\\"\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.toml"},{"match":"\\\\\\\\[^\\\\n\\"\\\\\\\\bfnrt]","name":"invalid.illegal.escape.toml"}]},{"begin":"\\\\G\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.toml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.toml"}},"name":"string.quoted.double.toml","patterns":[{"match":"\\\\\\\\([\\"\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.toml"},{"match":"\\\\\\\\[^\\"\\\\\\\\bfnrt]","name":"invalid.illegal.escape.toml"}]},{"begin":"\\\\G'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.toml"}},"end":"'{3,5}","endCaptures":{"0":{"name":"punctuation.definition.string.end.toml"}},"name":"string.quoted.triple.single.toml"},{"begin":"\\\\G'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.toml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.toml"}},"name":"string.quoted.single.toml"},{"match":"\\\\G[0-9]{4}-(0[1-9]|1[012])-(?!00|3[2-9])[0-3][0-9]([ Tt](?!2[5-9])[012][0-9]:[0-5][0-9]:(?!6[1-9])[0-6][0-9](\\\\.[0-9]+)?(Z|[-+](?!2[5-9])[012][0-9]:[0-5][0-9])?)?","name":"constant.other.date.toml"},{"match":"\\\\G(?!2[5-9])[012][0-9]:[0-5][0-9]:(?!6[1-9])[0-6][0-9](\\\\.[0-9]+)?","name":"constant.other.time.toml"},{"match":"\\\\G(true|false)","name":"constant.language.boolean.toml"},{"match":"\\\\G0x\\\\h(_??\\\\h)*","name":"constant.numeric.hex.toml"},{"match":"\\\\G0o[0-7]([0-7]|_[0-7])*","name":"constant.numeric.octal.toml"},{"match":"\\\\G0b[01]([01]|_[01])*","name":"constant.numeric.binary.toml"},{"match":"\\\\G[-+]?(inf|nan)","name":"constant.numeric.toml"},{"match":"\\\\G([-+]?(0|([1-9](([0-9]|_[0-9])+)?)))(?=[.Ee])(\\\\.([0-9](([0-9]|_[0-9])+)?))?([Ee]([-+]?[0-9](([0-9]|_[0-9])+)?))?","name":"constant.numeric.float.toml"},{"match":"\\\\G([-+]?(0|([1-9](([0-9]|_[0-9])+)?)))","name":"constant.numeric.integer.toml"},{"begin":"\\\\G\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.array.begin.toml"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.array.end.toml"}},"name":"meta.array.toml","patterns":[{"begin":"(?=[\\"']|[-+]?[0-9]|[-+]?(inf|nan)|true|false|[\\\\[{])","end":",|(?=])","endCaptures":{"0":{"name":"punctuation.separator.array.toml"}},"patterns":[{"include":"#primatives"},{"include":"#comments"},{"include":"#invalid"}]},{"include":"#comments"},{"include":"#invalid"}]},{"begin":"\\\\G\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.inline-table.begin.toml"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.inline-table.end.toml"}},"name":"meta.inline-table.toml","patterns":[{"begin":"(?=\\\\S)","end":",|(?=})","endCaptures":{"0":{"name":"punctuation.separator.inline-table.toml"}},"patterns":[{"include":"#key_pair"}]},{"include":"#comments"}]}]}},"scopeName":"source.toml"}`))];export{e as default};
@@ -0,0 +1 @@
1
+ var e=1,t=`traveler`,n=1784149739432,r=`gemini-3.5-flash`,i=[{question:`Plan a long weekend in Lisbon. Three days, first visit, and we love food and views.`,narration:`Lisbon is all about pacing yourself between the steep hills, the incredible viewpoints, and the food. I've mapped out a three-day route that balances the classic sights with plenty of time to eat and take in the views without burning out on the climbs.`,mode:`replace`,tour:[{index:1,say:`On your first day, we'll head straight into the historic heart, climbing up through Alfama to the castle.`,mark:{kind:`circle`,at:`Alfama Wander`}},{index:3,say:`I've organized your meals and views into a clean grid, featuring a legendary seafood lunch at Ramiro on day three.`,mark:{kind:`frame`,at:`Cervejaria Ramiro`}},{index:5,say:`For your hotel, I highly recommend staying in Baixa or Chiado to keep your walks flat and central.`,mark:{kind:`star`,at:`Baixa / Chiado`,color:`key`}}],spec:{id:`live`,workspace:`Live`,title:`Three Days in Lisbon`,sub:`A curated weekend of hills, history, and coastal flavors.`,opener:`Lisbon is all about pacing yourself between the steep hills, the incredible viewpoints, and the food. I've mapped out a three-day route that balances the classic sights with plenty of time to eat and take in the views without burning out on the climbs.`,context:[],blocks:[{type:`insight`,col:4,delay:0,id:`live-1`,num:`1`,props:{title:`The Golden Rule: Pace the Hills`,summary:`Lisbon is famously steep. Mix walking with historic trams and rideshares to save your knees for the viewpoints.`,stat:`7 Hills`,conf:`inferred`},note:`Lisbon's hills are no joke, so the secret to a great trip is mixing scenic walks with strategic tram rides.`,section:`Trip Strategy`,order:1},{type:`maproute`,col:8,delay:70,props:{waypoints:[{lat:38.7138,lng:-9.1387,label:`Praça do Comércio`,leg:`Start · Grand riverside square and gateway to the city`},{lat:38.7114,lng:-9.1299,label:`Alfama Wander`,leg:`0.8 km · 12 min · Get lost in the oldest, winding alleys`},{lat:38.7139,lng:-9.1334,label:`Castelo de São Jorge`,leg:`0.5 km · 10 min uphill · Historic ramparts with 360-degree views`},{lat:38.7162,lng:-9.1315,label:`Miradouro da Graça`,leg:`0.6 km · 9 min · Sunset drinks overlooking the bridge and castle`}],title:`Day 1: Historic Heart & Sunset Views`,icon:`walk`,iconColor:`var(--presence)`,distanceKm:1.9,elevationGainM:110,caption:`A classic introduction climbing from the river through Alfama to the highest peaks.`},id:`live-2`,note:`Your first day takes you from the grand riverfront up through the ancient alleys of Alfama, ending at a stunning sunset viewpoint.`,section:`Itinerary`,order:2},{type:`maproute`,col:12,delay:140,props:{waypoints:[{lat:38.7104,lng:-9.1422,label:`A Brasileira, Chiado`,leg:`Morning · Coffee and pastry at a historic literary cafe`},{lat:38.6979,lng:-9.2064,label:`Mosteiro dos Jerónimos`,leg:`6.5 km · Take Tram 15 · Incredible Manueline architecture`},{lat:38.6975,lng:-9.2032,label:`Pastéis de Belém`,leg:`0.3 km · 4 min walk · The original, warm custard tarts`},{lat:38.6916,lng:-9.216,label:`Torre de Belém`,leg:`1.2 km · 15 min walk along the river · Iconic fortress`}],title:`Day 2: Bohemian Chiado & Belem Culture`,icon:`tram`,iconColor:`var(--insight)`,distanceKm:8,elevationGainM:15,caption:`Morning in the trendy shopping district, then a quick tram ride west to historic Belém.`},id:`live-3`,note:`Day two pairs the elegant streets of Chiado with a tram ride out to Belém for world-famous architecture and the original custard tarts.`,section:`Itinerary`,order:2},{type:`plangrid`,col:12,delay:210,props:{title:`The 3-Day Food & View Planner`,columns:[`Day 1: Alfama`,`Day 2: Belém & Chiado`,`Day 3: Bairro Alto`],rows:[{slot:`Morning View`,cells:[{col:`Day 1: Alfama`,label:`Portas do Sol`,sub:`Sunrise view over Alfama`,accent:`var(--presence-soft)`},{col:`Day 2: Belém & Chiado`,label:`Elevador de Santa Justa`,sub:`Gothic iron tower view`},{col:`Day 3: Bairro Alto`,label:`Miradouro de São Pedro`,sub:`Garden terrace view`}]},{slot:`Lunch Spot`,cells:[{col:`Day 1: Alfama`,label:`Tasca do Jaime`,sub:`Traditional small plates`},{col:`Day 2: Belém & Chiado`,label:`Time Out Market`,sub:`Gourmet food hall`,accent:`var(--insight)`},{col:`Day 3: Bairro Alto`,label:`Cervejaria Ramiro`,sub:`Legendary seafood feast`}]},{slot:`Sunset & Dinner`,cells:[{col:`Day 1: Alfama`,label:`Clube de Fado`,sub:`Dinner with live music`},{col:`Day 2: Belém & Chiado`,label:`Bairro do Avillez`,sub:`Modern Portuguese`},{col:`Day 3: Bairro Alto`,label:`Park Rooftop`,sub:`Bar on top of a garage`}]}],icon:`clock`,iconColor:`var(--presence-soft)`,caption:`A balanced mix of traditional tascas, modern food halls, and scenic drink spots.`,footer:`Reservations are highly recommended for Ramiro and Avillez at least 2 weeks in advance.`},id:`live-4`,note:`This grid maps out your best culinary bets, including the famous Time Out Market and a legendary seafood lunch at Ramiro.`,section:`Food & Views`,order:3},{type:`howtosteps`,col:12,delay:280,props:{title:`How to Eat a Pastel de Nata Like a Local`,steps:[{action:`Secure a warm, fresh tart`,detail:`The pastry must be crisp and flaky, and the custard should still be slightly warm.`,check:`The bottom of the pastry crackles when gently squeezed`},{action:`Dust with cinnamon and sugar`,detail:`Locals heavily dust the top with cinnamon. Add a tiny pinch of powdered sugar if you want it sweeter.`,tip:`Don't skip the cinnamon; it cuts through the rich egg custard beautifully.`},{action:`Pair with a 'Bica'`,detail:`Order a bica (a strong, dark Portuguese espresso) to balance the sweetness of the tart.`,check:`You take a bite, then a sip of espresso`}],icon:`check`,iconColor:`var(--insight)`,time:`5 min`,difficulty:`easy`,tools:[`A warm custard tart`,`Cinnamon shaker`,`Powdered sugar`,`Espresso (Bica)`],footer:`Pastéis de Belém is the historic birthplace, but Manteigaria in Chiado is just as spectacular.`},id:`live-5`,note:`To eat a custard tart like a local, dust it with plenty of cinnamon and pair it with a strong espresso called a bica.`,section:`Food & Views`,order:3},{type:`compare`,col:12,delay:350,props:{options:[{name:`Baixa / Chiado`,sub:`Central & Flat`,pick:!0},{name:`Alfama`,sub:`Historic & Steep`},{name:`Avenida da Liberdade`,sub:`Luxury & Quiet`}],criteria:[{label:`Walkability`,cells:[{v:`Excellent`,win:!0},{v:`Difficult (stairs)`},{v:`Good (flat)`}]},{label:`Atmosphere`,cells:[{v:`Bustling`},{v:`Charming & Romantic`,win:!0},{v:`Modern / Upscale`}]},{label:`Noise Level`,cells:[{v:`Medium`},{v:`Loud (Fado / bars)`},{v:`Very Quiet`,win:!0}]}],eyebrow:`Where to Stay`,recommendation:`For a first visit, Baixa or Chiado keeps you central, flat, and connected to all transit lines.`},id:`live-6`,note:`Staying in Baixa or Chiado is highly recommended for first-timers because it's central, relatively flat, and close to everything.`,section:`Logistics`,order:4},{type:`list`,col:12,delay:420,props:{title:`Essential Lisbon Tips`,items:[`Buy a Navegante card at any metro station and load it with 'zapping' credit for cheap transit fares.`,`Wear shoes with good grip. The traditional cobblestones (Calçada Portuguesa) are incredibly slippery, even when dry.`,`Appetizers brought to your table (bread, olives, cheese) are not free. If you eat them, you will be charged a few euros.`,`Skip the long lines for Tram 28 by riding it early in the morning or late in the evening.`]},id:`live-7`,note:`Watch out for the beautiful cobblestones—they get incredibly slick, so leave the heels at home and wear shoes with great grip.`,section:`Logistics`,order:4}],proof:null,topic:`Travel`,extras:{},group:`home`,suggests:[{label:`How do I get from the airport to downtown?`,icon:`chat`,route:`How do I get from the airport to downtown?`},{label:`What is a good day trip from Lisbon?`,icon:`chat`,route:`What is a good day trip from Lisbon?`},{label:`Can you recommend some vegetarian restaurants?`,icon:`chat`,route:`Can you recommend some vegetarian restaurants?`},{label:`How does the metro system work?`,icon:`chat`,route:`How does the metro system work?`}],keywords:[]},at:1784149722686},{question:`How do we plan a great day trip to Sintra on Saturday?`,narration:`Sintra is magical, but it can easily become a crowded tourist trap if you don't plan ahead. I've mapped out a seamless Saturday itinerary that beats the crowds at Pena Palace, gets you into the lush gardens of Regaleira, and finishes with a coastal sunset at Cabo da Roca.`,mode:`replace`,tour:[{index:0,say:`First, make sure you book the nine-thirty A-M slot for Pena Palace online a few days early.`,mark:{kind:`star`,at:`9:30 AM`,color:`key`}},{index:1,say:`Here is how your day flows geographically: starting at Rossio, heading up to the palaces, and finishing on the coast.`,mark:{kind:`circle`,at:`Pena Palace`},marks:[{kind:`circle`,at:`Pena Palace`},{kind:`circle`,at:`Cabo da Roca`}]},{index:3,say:`When comparing transport, train combined with rideshare is the clear winner for cost and flexibility.`,mark:{kind:`frame`,at:`Train + Rideshare`}}],spec:{id:`live`,workspace:`Live`,title:`Sintra Day Trip: Saturday Itinerary`,sub:`How to beat the crowds, see the best palaces, and catch a coastal sunset.`,opener:`Sintra is magical, but it can easily become a crowded tourist trap if you don't plan ahead. I've mapped out a seamless Saturday itinerary that beats the crowds at Pena Palace, gets you into the lush gardens of Regaleira, and finishes with a coastal sunset at Cabo da Roca.`,context:[],blocks:[{type:`insight`,col:4,delay:0,id:`live-1`,num:`1`,props:{title:`The Golden Rule: Buy the 9:30 AM Pena Palace ticket`,summary:`You must book the very first time slot of the day online in advance. Miss this, and you will spend hours shuffling in shoulder-to-shoulder lines.`,stat:`9:30 AM`,conf:`inferred`},note:`Getting the absolute first slot at Pena Palace is the single most important decision you will make for this trip.`,section:`The Strategy`,order:1},{type:`maproute`,col:8,delay:70,props:{waypoints:[{lat:38.7138,lng:-9.1394,label:`Rossio Station (Lisbon)`,leg:`Start · Take the 7:40 AM train to Sintra (40 min)`},{lat:38.7876,lng:-9.3906,label:`Pena Palace`,leg:`Take taxi/bolt straight from station to gate for 9:30 AM entry`},{lat:38.7964,lng:-9.4128,label:`Quinta da Regaleira`,leg:`Walk or ride down for the initiation well and mystical gardens`},{lat:38.7804,lng:-9.4989,label:`Cabo da Roca`,leg:`Bus 1253 or Bolt to the westernmost point of Europe for sunset`}],title:`Your Saturday Route: Lisbon to Sintra & Coast`,icon:`train`,iconColor:`var(--presence)`,distanceKm:42.5,elevationGainM:320,caption:`A perfect loop starting with early morning mountain palaces and ending on the wild Atlantic cliffs.`},id:`live-2`,note:`This route keeps you moving forward, avoiding the midday bottleneck in Sintra's historic town center.`,section:`The Route`,order:2},{type:`timeline`,col:12,delay:140,props:{events:[{time:`7:40 AM`,title:`Train from Rossio Station`,detail:`Buy a Viva Viagem card the night before to skip morning ticket machine lines.`},{time:`8:30 AM`,title:`Arrive Sintra & Ride Up`,detail:`Skip the 434 bus queue; grab a Bolt or Uber straight to Pena Palace's main gate.`},{time:`9:30 AM`,title:`Pena Palace & Gardens`,detail:`Explore the terraces first for clean photos, then walk the lush lakes trail.`},{time:`12:30 PM`,title:`Lunch in Sintra Town`,detail:`Avoid the main square. Head to Tascantiga for excellent, modern Portuguese tapas.`},{time:`2:30 PM`,title:`Quinta da Regaleira`,detail:`Descend the famous Initiation Well and explore the hidden tunnels.`},{time:`6:00 PM`,title:`Sunset at Cabo da Roca`,detail:`Watch the sun sink into the Atlantic from the dramatic, windy cliffs.`}],eyebrow:`Hour-by-Hour Playbook`,title:`Saturday Timeline`},id:`live-3`,note:`Following this timeline ensures you are always one step ahead of the massive tour bus groups.`,section:`The Route`,order:2},{type:`compare`,col:12,delay:210,props:{options:[{name:`Train + Rideshare`,sub:`Highly Recommended`,pick:!0},{name:`Guided Group Tour`,sub:`Easy but Rigid`},{name:`Rental Car`,sub:`Not Recommended`}],criteria:[{label:`Cost`,cells:[{v:`Low (~€15-25 pp)`,win:!0},{v:`Medium (~€60-80 pp)`},{v:`High (Gas + Parking)`}]},{label:`Crowd Control`,cells:[{v:`Excellent (You set pace)`,win:!0},{v:`Poor (Arrive with crowds)`},{v:`Poor (Stuck in traffic)`}]},{label:`Parking/Driving Ease`,cells:[{v:`No driving needed`,win:!0},{v:`No driving needed`,win:!0},{v:`Nightmare (No palace parking)`}]}],eyebrow:`Transit Options`,recommendation:`Take the train from Rossio to Sintra, then use Bolt/Uber to hop between palaces. Never rent a car; roads are narrow, one-way, and parking at the palaces is practically non-existent.`},id:`live-4`,note:`Taking the train combined with local rideshares gives you total freedom without the stress of Sintra's tight mountain roads.`,section:`Logistics`,order:3},{type:`list`,col:12,delay:280,props:{title:`Essential Packing & Prep Checklist`,items:[`Buy Pena Palace tickets online 3-5 days in advance (select the 9:30 AM slot).`,`Wear sturdy walking shoes with good grip—the cobblestones are steep and slippery.`,`Pack a light windbreaker; the microclimate in the Sintra hills is much cooler and windier than Lisbon.`,`Load €10 onto your Viva Viagem transit card on Friday to bypass the Saturday morning station rush.`]},id:`live-5`,note:`A little bit of Friday night prep will save you at least forty-five minutes of waiting in lines on Saturday morning.`,section:`Logistics`,order:3}],proof:null,topic:`Travel`,extras:{},group:`home`,suggests:[{label:`Where should we eat lunch in Sintra?`,icon:`chat`,route:`Where should we eat lunch in Sintra?`},{label:`How do we get from Sintra to Cascais?`,icon:`chat`,route:`How do we get from Sintra to Cascais?`},{label:`Is Monserrate Palace worth visiting instead?`,icon:`chat`,route:`Is Monserrate Palace worth visiting instead?`},{label:`What is the best viewpoint in Sintra?`,icon:`chat`,route:`What is the best viewpoint in Sintra?`}],keywords:[]},at:1784149739432}],a=[{role:`user`,content:`Plan a long weekend in Lisbon — three days, first visit, we love food and views.`},{role:`assistant`,content:`Lisbon is all about pacing yourself between the steep hills, the incredible viewpoints, and the food. I've mapped out a three-day route that balances the classic sights with plenty of time to eat and take in the views without burning out on the climbs.`},{role:`user`,content:`Day trip to Sintra on Saturday — how do we do it right?`},{role:`assistant`,content:`Sintra is magical, but it can easily become a crowded tourist trap if you don't plan ahead. I've mapped out a seamless Saturday itinerary that beats the crowds at Pena Palace, gets you into the lush gardens of Regaleira, and finishes with a coastal sunset at Cabo da Roca.`}],o={v:1,persona:t,generatedAt:n,model:r,frames:i,history:a};export{o as default,i as frames,n as generatedAt,a as history,r as model,t as persona,e as v};
@@ -0,0 +1 @@
1
+ import{t as e}from"./tsx-BOvsFOI6.js";export{e as default};