@elurjs/ionic 1.6.1

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 (388) hide show
  1. package/CHANGELOG.md +287 -0
  2. package/MIGRATION.md +221 -0
  3. package/README.md +695 -0
  4. package/dist/lib/IonRouterOutlet.d.ts +154 -0
  5. package/dist/lib/__tests__/IonRouterOutlet.test.d.ts +1 -0
  6. package/dist/lib/__tests__/bundles.test.d.ts +1 -0
  7. package/dist/lib/__tests__/cache-policy.test.d.ts +1 -0
  8. package/dist/lib/__tests__/capacitor.test.d.ts +1 -0
  9. package/dist/lib/__tests__/components.test.d.ts +1 -0
  10. package/dist/lib/__tests__/devtools.test.d.ts +1 -0
  11. package/dist/lib/__tests__/lifecycle.test.d.ts +1 -0
  12. package/dist/lib/__tests__/mocks/ionic.d.ts +61 -0
  13. package/dist/lib/__tests__/navigation.test.d.ts +1 -0
  14. package/dist/lib/__tests__/overlays.test.d.ts +1 -0
  15. package/dist/lib/__tests__/page-state.test.d.ts +1 -0
  16. package/dist/lib/__tests__/phase0-bugs.test.d.ts +1 -0
  17. package/dist/lib/__tests__/setup.d.ts +1 -0
  18. package/dist/lib/__tests__/setup.test.d.ts +1 -0
  19. package/dist/lib/__tests__/tabs.test.d.ts +1 -0
  20. package/dist/lib/__tests__/vite-plugin.test.d.ts +1 -0
  21. package/dist/lib/bundles/all.cjs +2 -0
  22. package/dist/lib/bundles/all.cjs.map +1 -0
  23. package/dist/lib/bundles/all.d.ts +16 -0
  24. package/dist/lib/bundles/all.js +21 -0
  25. package/dist/lib/bundles/all.js.map +1 -0
  26. package/dist/lib/bundles/buttons.cjs +2 -0
  27. package/dist/lib/bundles/buttons.cjs.map +1 -0
  28. package/dist/lib/bundles/buttons.d.ts +7 -0
  29. package/dist/lib/bundles/buttons.js +17 -0
  30. package/dist/lib/bundles/buttons.js.map +1 -0
  31. package/dist/lib/bundles/feedback.cjs +2 -0
  32. package/dist/lib/bundles/feedback.cjs.map +1 -0
  33. package/dist/lib/bundles/feedback.d.ts +8 -0
  34. package/dist/lib/bundles/feedback.js +19 -0
  35. package/dist/lib/bundles/feedback.js.map +1 -0
  36. package/dist/lib/bundles/forms.cjs +2 -0
  37. package/dist/lib/bundles/forms.cjs.map +1 -0
  38. package/dist/lib/bundles/forms.d.ts +11 -0
  39. package/dist/lib/bundles/forms.js +47 -0
  40. package/dist/lib/bundles/forms.js.map +1 -0
  41. package/dist/lib/bundles/layout.cjs +2 -0
  42. package/dist/lib/bundles/layout.cjs.map +1 -0
  43. package/dist/lib/bundles/layout.d.ts +9 -0
  44. package/dist/lib/bundles/layout.js +33 -0
  45. package/dist/lib/bundles/layout.js.map +1 -0
  46. package/dist/lib/bundles/lists.cjs +2 -0
  47. package/dist/lib/bundles/lists.cjs.map +1 -0
  48. package/dist/lib/bundles/lists.d.ts +15 -0
  49. package/dist/lib/bundles/lists.js +65 -0
  50. package/dist/lib/bundles/lists.js.map +1 -0
  51. package/dist/lib/bundles/navigation.cjs +2 -0
  52. package/dist/lib/bundles/navigation.cjs.map +1 -0
  53. package/dist/lib/bundles/navigation.d.ts +9 -0
  54. package/dist/lib/bundles/navigation.js +29 -0
  55. package/dist/lib/bundles/navigation.js.map +1 -0
  56. package/dist/lib/bundles/overlays.cjs +2 -0
  57. package/dist/lib/bundles/overlays.cjs.map +1 -0
  58. package/dist/lib/bundles/overlays.d.ts +9 -0
  59. package/dist/lib/bundles/overlays.js +25 -0
  60. package/dist/lib/bundles/overlays.js.map +1 -0
  61. package/dist/lib/capacitor.cjs +2 -0
  62. package/dist/lib/capacitor.cjs.map +1 -0
  63. package/dist/lib/capacitor.d.ts +217 -0
  64. package/dist/lib/capacitor.js +223 -0
  65. package/dist/lib/capacitor.js.map +1 -0
  66. package/dist/lib/components/accordion-group.cjs +1 -0
  67. package/dist/lib/components/accordion-group.d.ts +11 -0
  68. package/dist/lib/components/accordion-group.js +2 -0
  69. package/dist/lib/components/accordion.cjs +1 -0
  70. package/dist/lib/components/accordion.d.ts +11 -0
  71. package/dist/lib/components/accordion.js +2 -0
  72. package/dist/lib/components/action-sheet.cjs +1 -0
  73. package/dist/lib/components/action-sheet.d.ts +11 -0
  74. package/dist/lib/components/action-sheet.js +2 -0
  75. package/dist/lib/components/alert.cjs +1 -0
  76. package/dist/lib/components/alert.d.ts +11 -0
  77. package/dist/lib/components/alert.js +2 -0
  78. package/dist/lib/components/avatar.cjs +1 -0
  79. package/dist/lib/components/avatar.d.ts +11 -0
  80. package/dist/lib/components/avatar.js +2 -0
  81. package/dist/lib/components/backdrop.cjs +1 -0
  82. package/dist/lib/components/backdrop.d.ts +11 -0
  83. package/dist/lib/components/backdrop.js +2 -0
  84. package/dist/lib/components/badge.cjs +1 -0
  85. package/dist/lib/components/badge.d.ts +11 -0
  86. package/dist/lib/components/badge.js +2 -0
  87. package/dist/lib/components/breadcrumb.cjs +1 -0
  88. package/dist/lib/components/breadcrumb.d.ts +11 -0
  89. package/dist/lib/components/breadcrumb.js +2 -0
  90. package/dist/lib/components/breadcrumbs.cjs +1 -0
  91. package/dist/lib/components/breadcrumbs.d.ts +11 -0
  92. package/dist/lib/components/breadcrumbs.js +2 -0
  93. package/dist/lib/components/button.cjs +1 -0
  94. package/dist/lib/components/button.d.ts +11 -0
  95. package/dist/lib/components/button.js +2 -0
  96. package/dist/lib/components/buttons.cjs +1 -0
  97. package/dist/lib/components/buttons.d.ts +11 -0
  98. package/dist/lib/components/buttons.js +2 -0
  99. package/dist/lib/components/card-content.cjs +1 -0
  100. package/dist/lib/components/card-content.d.ts +11 -0
  101. package/dist/lib/components/card-content.js +2 -0
  102. package/dist/lib/components/card-header.cjs +1 -0
  103. package/dist/lib/components/card-header.d.ts +11 -0
  104. package/dist/lib/components/card-header.js +2 -0
  105. package/dist/lib/components/card-subtitle.cjs +1 -0
  106. package/dist/lib/components/card-subtitle.d.ts +11 -0
  107. package/dist/lib/components/card-subtitle.js +2 -0
  108. package/dist/lib/components/card-title.cjs +1 -0
  109. package/dist/lib/components/card-title.d.ts +11 -0
  110. package/dist/lib/components/card-title.js +2 -0
  111. package/dist/lib/components/card.cjs +1 -0
  112. package/dist/lib/components/card.d.ts +11 -0
  113. package/dist/lib/components/card.js +2 -0
  114. package/dist/lib/components/checkbox.cjs +1 -0
  115. package/dist/lib/components/checkbox.d.ts +11 -0
  116. package/dist/lib/components/checkbox.js +2 -0
  117. package/dist/lib/components/chip.cjs +1 -0
  118. package/dist/lib/components/chip.d.ts +11 -0
  119. package/dist/lib/components/chip.js +2 -0
  120. package/dist/lib/components/col.cjs +1 -0
  121. package/dist/lib/components/col.d.ts +11 -0
  122. package/dist/lib/components/col.js +2 -0
  123. package/dist/lib/components/content.cjs +1 -0
  124. package/dist/lib/components/content.d.ts +11 -0
  125. package/dist/lib/components/content.js +2 -0
  126. package/dist/lib/components/datetime-button.cjs +1 -0
  127. package/dist/lib/components/datetime-button.d.ts +11 -0
  128. package/dist/lib/components/datetime-button.js +2 -0
  129. package/dist/lib/components/datetime.cjs +1 -0
  130. package/dist/lib/components/datetime.d.ts +11 -0
  131. package/dist/lib/components/datetime.js +2 -0
  132. package/dist/lib/components/fab-button.cjs +1 -0
  133. package/dist/lib/components/fab-button.d.ts +11 -0
  134. package/dist/lib/components/fab-button.js +2 -0
  135. package/dist/lib/components/fab-list.cjs +1 -0
  136. package/dist/lib/components/fab-list.d.ts +11 -0
  137. package/dist/lib/components/fab-list.js +2 -0
  138. package/dist/lib/components/fab.cjs +1 -0
  139. package/dist/lib/components/fab.d.ts +11 -0
  140. package/dist/lib/components/fab.js +2 -0
  141. package/dist/lib/components/footer.cjs +1 -0
  142. package/dist/lib/components/footer.d.ts +11 -0
  143. package/dist/lib/components/footer.js +2 -0
  144. package/dist/lib/components/grid.cjs +1 -0
  145. package/dist/lib/components/grid.d.ts +11 -0
  146. package/dist/lib/components/grid.js +2 -0
  147. package/dist/lib/components/header.cjs +1 -0
  148. package/dist/lib/components/header.d.ts +11 -0
  149. package/dist/lib/components/header.js +2 -0
  150. package/dist/lib/components/img.cjs +1 -0
  151. package/dist/lib/components/img.d.ts +11 -0
  152. package/dist/lib/components/img.js +2 -0
  153. package/dist/lib/components/infinite-scroll-content.cjs +1 -0
  154. package/dist/lib/components/infinite-scroll-content.d.ts +11 -0
  155. package/dist/lib/components/infinite-scroll-content.js +2 -0
  156. package/dist/lib/components/infinite-scroll.cjs +1 -0
  157. package/dist/lib/components/infinite-scroll.d.ts +11 -0
  158. package/dist/lib/components/infinite-scroll.js +2 -0
  159. package/dist/lib/components/input-otp.cjs +1 -0
  160. package/dist/lib/components/input-otp.d.ts +11 -0
  161. package/dist/lib/components/input-otp.js +2 -0
  162. package/dist/lib/components/input-password-toggle.cjs +1 -0
  163. package/dist/lib/components/input-password-toggle.d.ts +11 -0
  164. package/dist/lib/components/input-password-toggle.js +2 -0
  165. package/dist/lib/components/input.cjs +1 -0
  166. package/dist/lib/components/input.d.ts +11 -0
  167. package/dist/lib/components/input.js +2 -0
  168. package/dist/lib/components/item-divider.cjs +1 -0
  169. package/dist/lib/components/item-divider.d.ts +11 -0
  170. package/dist/lib/components/item-divider.js +2 -0
  171. package/dist/lib/components/item-group.cjs +1 -0
  172. package/dist/lib/components/item-group.d.ts +11 -0
  173. package/dist/lib/components/item-group.js +2 -0
  174. package/dist/lib/components/item-option.cjs +1 -0
  175. package/dist/lib/components/item-option.d.ts +11 -0
  176. package/dist/lib/components/item-option.js +2 -0
  177. package/dist/lib/components/item-options.cjs +1 -0
  178. package/dist/lib/components/item-options.d.ts +11 -0
  179. package/dist/lib/components/item-options.js +2 -0
  180. package/dist/lib/components/item-sliding.cjs +1 -0
  181. package/dist/lib/components/item-sliding.d.ts +11 -0
  182. package/dist/lib/components/item-sliding.js +2 -0
  183. package/dist/lib/components/item.cjs +1 -0
  184. package/dist/lib/components/item.d.ts +11 -0
  185. package/dist/lib/components/item.js +2 -0
  186. package/dist/lib/components/label.cjs +1 -0
  187. package/dist/lib/components/label.d.ts +11 -0
  188. package/dist/lib/components/label.js +2 -0
  189. package/dist/lib/components/list-header.cjs +1 -0
  190. package/dist/lib/components/list-header.d.ts +11 -0
  191. package/dist/lib/components/list-header.js +2 -0
  192. package/dist/lib/components/list.cjs +1 -0
  193. package/dist/lib/components/list.d.ts +11 -0
  194. package/dist/lib/components/list.js +2 -0
  195. package/dist/lib/components/loading.cjs +1 -0
  196. package/dist/lib/components/loading.d.ts +11 -0
  197. package/dist/lib/components/loading.js +2 -0
  198. package/dist/lib/components/manifest.cjs +2 -0
  199. package/dist/lib/components/manifest.cjs.map +1 -0
  200. package/dist/lib/components/manifest.d.ts +43 -0
  201. package/dist/lib/components/manifest.js +647 -0
  202. package/dist/lib/components/manifest.js.map +1 -0
  203. package/dist/lib/components/menu-button.cjs +1 -0
  204. package/dist/lib/components/menu-button.d.ts +11 -0
  205. package/dist/lib/components/menu-button.js +2 -0
  206. package/dist/lib/components/menu-toggle.cjs +1 -0
  207. package/dist/lib/components/menu-toggle.d.ts +11 -0
  208. package/dist/lib/components/menu-toggle.js +2 -0
  209. package/dist/lib/components/menu.cjs +1 -0
  210. package/dist/lib/components/menu.d.ts +11 -0
  211. package/dist/lib/components/menu.js +2 -0
  212. package/dist/lib/components/modal.cjs +1 -0
  213. package/dist/lib/components/modal.d.ts +11 -0
  214. package/dist/lib/components/modal.js +2 -0
  215. package/dist/lib/components/nav-link.cjs +1 -0
  216. package/dist/lib/components/nav-link.d.ts +11 -0
  217. package/dist/lib/components/nav-link.js +2 -0
  218. package/dist/lib/components/nav.cjs +1 -0
  219. package/dist/lib/components/nav.d.ts +11 -0
  220. package/dist/lib/components/nav.js +2 -0
  221. package/dist/lib/components/note.cjs +1 -0
  222. package/dist/lib/components/note.d.ts +11 -0
  223. package/dist/lib/components/note.js +2 -0
  224. package/dist/lib/components/picker-column-option.cjs +1 -0
  225. package/dist/lib/components/picker-column-option.d.ts +11 -0
  226. package/dist/lib/components/picker-column-option.js +2 -0
  227. package/dist/lib/components/picker-column.cjs +1 -0
  228. package/dist/lib/components/picker-column.d.ts +11 -0
  229. package/dist/lib/components/picker-column.js +2 -0
  230. package/dist/lib/components/picker.cjs +1 -0
  231. package/dist/lib/components/picker.d.ts +11 -0
  232. package/dist/lib/components/picker.js +2 -0
  233. package/dist/lib/components/popover.cjs +1 -0
  234. package/dist/lib/components/popover.d.ts +11 -0
  235. package/dist/lib/components/popover.js +2 -0
  236. package/dist/lib/components/progress-bar.cjs +1 -0
  237. package/dist/lib/components/progress-bar.d.ts +11 -0
  238. package/dist/lib/components/progress-bar.js +2 -0
  239. package/dist/lib/components/radio-group.cjs +1 -0
  240. package/dist/lib/components/radio-group.d.ts +11 -0
  241. package/dist/lib/components/radio-group.js +2 -0
  242. package/dist/lib/components/radio.cjs +1 -0
  243. package/dist/lib/components/radio.d.ts +11 -0
  244. package/dist/lib/components/radio.js +2 -0
  245. package/dist/lib/components/range.cjs +1 -0
  246. package/dist/lib/components/range.d.ts +11 -0
  247. package/dist/lib/components/range.js +2 -0
  248. package/dist/lib/components/refresher-content.cjs +1 -0
  249. package/dist/lib/components/refresher-content.d.ts +11 -0
  250. package/dist/lib/components/refresher-content.js +2 -0
  251. package/dist/lib/components/refresher.cjs +1 -0
  252. package/dist/lib/components/refresher.d.ts +11 -0
  253. package/dist/lib/components/refresher.js +2 -0
  254. package/dist/lib/components/reorder-group.cjs +1 -0
  255. package/dist/lib/components/reorder-group.d.ts +11 -0
  256. package/dist/lib/components/reorder-group.js +2 -0
  257. package/dist/lib/components/reorder.cjs +1 -0
  258. package/dist/lib/components/reorder.d.ts +11 -0
  259. package/dist/lib/components/reorder.js +2 -0
  260. package/dist/lib/components/ripple-effect.cjs +1 -0
  261. package/dist/lib/components/ripple-effect.d.ts +11 -0
  262. package/dist/lib/components/ripple-effect.js +2 -0
  263. package/dist/lib/components/router-link.cjs +1 -0
  264. package/dist/lib/components/router-link.d.ts +11 -0
  265. package/dist/lib/components/router-link.js +2 -0
  266. package/dist/lib/components/row.cjs +1 -0
  267. package/dist/lib/components/row.d.ts +11 -0
  268. package/dist/lib/components/row.js +2 -0
  269. package/dist/lib/components/searchbar.cjs +1 -0
  270. package/dist/lib/components/searchbar.d.ts +11 -0
  271. package/dist/lib/components/searchbar.js +2 -0
  272. package/dist/lib/components/segment-button.cjs +1 -0
  273. package/dist/lib/components/segment-button.d.ts +11 -0
  274. package/dist/lib/components/segment-button.js +2 -0
  275. package/dist/lib/components/segment-content.cjs +1 -0
  276. package/dist/lib/components/segment-content.d.ts +11 -0
  277. package/dist/lib/components/segment-content.js +2 -0
  278. package/dist/lib/components/segment-view.cjs +1 -0
  279. package/dist/lib/components/segment-view.d.ts +11 -0
  280. package/dist/lib/components/segment-view.js +2 -0
  281. package/dist/lib/components/segment.cjs +1 -0
  282. package/dist/lib/components/segment.d.ts +11 -0
  283. package/dist/lib/components/segment.js +2 -0
  284. package/dist/lib/components/select-modal.cjs +1 -0
  285. package/dist/lib/components/select-modal.d.ts +11 -0
  286. package/dist/lib/components/select-modal.js +2 -0
  287. package/dist/lib/components/select-option.cjs +1 -0
  288. package/dist/lib/components/select-option.d.ts +11 -0
  289. package/dist/lib/components/select-option.js +2 -0
  290. package/dist/lib/components/select-popover.cjs +1 -0
  291. package/dist/lib/components/select-popover.d.ts +11 -0
  292. package/dist/lib/components/select-popover.js +2 -0
  293. package/dist/lib/components/select.cjs +1 -0
  294. package/dist/lib/components/select.d.ts +11 -0
  295. package/dist/lib/components/select.js +2 -0
  296. package/dist/lib/components/skeleton-text.cjs +1 -0
  297. package/dist/lib/components/skeleton-text.d.ts +11 -0
  298. package/dist/lib/components/skeleton-text.js +2 -0
  299. package/dist/lib/components/spinner.cjs +1 -0
  300. package/dist/lib/components/spinner.d.ts +11 -0
  301. package/dist/lib/components/spinner.js +2 -0
  302. package/dist/lib/components/split-pane.cjs +1 -0
  303. package/dist/lib/components/split-pane.d.ts +11 -0
  304. package/dist/lib/components/split-pane.js +2 -0
  305. package/dist/lib/components/tab-bar.cjs +1 -0
  306. package/dist/lib/components/tab-bar.d.ts +11 -0
  307. package/dist/lib/components/tab-bar.js +2 -0
  308. package/dist/lib/components/tab-button.cjs +1 -0
  309. package/dist/lib/components/tab-button.d.ts +11 -0
  310. package/dist/lib/components/tab-button.js +2 -0
  311. package/dist/lib/components/tab.cjs +1 -0
  312. package/dist/lib/components/tab.d.ts +11 -0
  313. package/dist/lib/components/tab.js +2 -0
  314. package/dist/lib/components/tabs.cjs +1 -0
  315. package/dist/lib/components/tabs.d.ts +11 -0
  316. package/dist/lib/components/tabs.js +2 -0
  317. package/dist/lib/components/text.cjs +1 -0
  318. package/dist/lib/components/text.d.ts +11 -0
  319. package/dist/lib/components/text.js +2 -0
  320. package/dist/lib/components/textarea.cjs +1 -0
  321. package/dist/lib/components/textarea.d.ts +11 -0
  322. package/dist/lib/components/textarea.js +2 -0
  323. package/dist/lib/components/thumbnail.cjs +1 -0
  324. package/dist/lib/components/thumbnail.d.ts +11 -0
  325. package/dist/lib/components/thumbnail.js +2 -0
  326. package/dist/lib/components/title.cjs +1 -0
  327. package/dist/lib/components/title.d.ts +11 -0
  328. package/dist/lib/components/title.js +2 -0
  329. package/dist/lib/components/toast.cjs +1 -0
  330. package/dist/lib/components/toast.d.ts +11 -0
  331. package/dist/lib/components/toast.js +2 -0
  332. package/dist/lib/components/toggle.cjs +1 -0
  333. package/dist/lib/components/toggle.d.ts +11 -0
  334. package/dist/lib/components/toggle.js +2 -0
  335. package/dist/lib/components/toolbar.cjs +1 -0
  336. package/dist/lib/components/toolbar.d.ts +11 -0
  337. package/dist/lib/components/toolbar.js +2 -0
  338. package/dist/lib/components.cjs +1 -0
  339. package/dist/lib/components.d.ts +110 -0
  340. package/dist/lib/components.js +94 -0
  341. package/dist/lib/definitions-CmPIrLhr.js +282 -0
  342. package/dist/lib/definitions-CmPIrLhr.js.map +1 -0
  343. package/dist/lib/definitions-CrcjkKEd.cjs +2 -0
  344. package/dist/lib/definitions-CrcjkKEd.cjs.map +1 -0
  345. package/dist/lib/devtools.cjs +2 -0
  346. package/dist/lib/devtools.cjs.map +1 -0
  347. package/dist/lib/devtools.d.ts +54 -0
  348. package/dist/lib/devtools.js +46 -0
  349. package/dist/lib/devtools.js.map +1 -0
  350. package/dist/lib/elur-ionic.cjs +1 -0
  351. package/dist/lib/elur-ionic.cjs.map +1 -0
  352. package/dist/lib/elur-ionic.js +1 -0
  353. package/dist/lib/elur-ionic.js.map +1 -0
  354. package/dist/lib/index.d.ts +47 -0
  355. package/dist/lib/lifecycle.d.ts +62 -0
  356. package/dist/lib/navigation.cjs +2 -0
  357. package/dist/lib/navigation.cjs.map +1 -0
  358. package/dist/lib/navigation.d.ts +214 -0
  359. package/dist/lib/navigation.js +205 -0
  360. package/dist/lib/navigation.js.map +1 -0
  361. package/dist/lib/overlays.cjs +2 -0
  362. package/dist/lib/overlays.cjs.map +1 -0
  363. package/dist/lib/overlays.d.ts +400 -0
  364. package/dist/lib/overlays.js +161 -0
  365. package/dist/lib/overlays.js.map +1 -0
  366. package/dist/lib/page-state.cjs +2 -0
  367. package/dist/lib/page-state.cjs.map +1 -0
  368. package/dist/lib/page-state.d.ts +160 -0
  369. package/dist/lib/page-state.js +91 -0
  370. package/dist/lib/page-state.js.map +1 -0
  371. package/dist/lib/setup.d.ts +105 -0
  372. package/dist/lib/tabs-ByPLrzax.cjs +50 -0
  373. package/dist/lib/tabs-ByPLrzax.cjs.map +1 -0
  374. package/dist/lib/tabs-DjD1_PTM.js +178 -0
  375. package/dist/lib/tabs-DjD1_PTM.js.map +1 -0
  376. package/dist/lib/tabs.cjs +1 -0
  377. package/dist/lib/tabs.d.ts +83 -0
  378. package/dist/lib/tabs.js +2 -0
  379. package/dist/lib/vite-plugin.cjs +38 -0
  380. package/dist/lib/vite-plugin.cjs.map +1 -0
  381. package/dist/lib/vite-plugin.d.ts +61 -0
  382. package/dist/lib/vite-plugin.js +25411 -0
  383. package/dist/lib/vite-plugin.js.map +1 -0
  384. package/dist/lib/web-Bnz2Zs_W.cjs +2 -0
  385. package/dist/lib/web-Bnz2Zs_W.cjs.map +1 -0
  386. package/dist/lib/web-Ce5OM4dv.js +56 -0
  387. package/dist/lib/web-Ce5OM4dv.js.map +1 -0
  388. package/package.json +216 -0
@@ -0,0 +1,38 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,o)=>(o=n==null?{}:e(i(n)),c(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));const u=require("./components/manifest.cjs");var d=class{constructor(e,t,n){this.line=void 0,this.column=void 0,n!==void 0&&(this.index=void 0),this.line=e,this.column=t,n!==void 0&&(this.index=n)}},f=class{start;end;filename;identifierName;constructor(e,t){this.start=e,this.end=t}};function p(e,t){let{line:n,column:r,index:i}=e;return new d(n,r+t,i+t)}var m=`BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED`,h={ImportMetaOutsideModule:{message:`import.meta may appear only with 'sourceType: "module"'`,code:m},ImportOutsideModule:{message:`'import' and 'export' may appear only with 'sourceType: "module"'`,code:m}},ee={ArrayPattern:`array destructuring pattern`,AssignmentExpression:`assignment expression`,AssignmentPattern:`assignment expression`,ArrowFunctionExpression:`arrow function expression`,ConditionalExpression:`conditional expression`,CatchClause:`catch clause`,ForOfStatement:`for-of statement`,ForInStatement:`for-in statement`,ForStatement:`for-loop`,FormalParameters:`function parameter list`,Identifier:`identifier`,ImportSpecifier:`import specifier`,ImportDefaultSpecifier:`import default specifier`,ImportNamespaceSpecifier:`import namespace specifier`,ObjectPattern:`object destructuring pattern`,ParenthesizedExpression:`parenthesized expression`,RestElement:`rest element`,UpdateExpression:{true:`prefix operation`,false:`postfix operation`},VariableDeclarator:`variable declaration`,YieldExpression:`yield expression`},te=e=>e.type===`UpdateExpression`?ee.UpdateExpression[`${e.prefix}`]:ee[e.type],ne={AccessorIsGenerator:({kind:e})=>`A ${e}ter cannot be a generator.`,ArgumentsInClass:`'arguments' is only allowed in functions and class methods.`,AsyncFunctionInSingleStatementContext:`Async functions can only be declared at the top level or inside a block.`,AwaitBindingIdentifier:`Can not use 'await' as identifier inside an async function.`,AwaitBindingIdentifierInStaticBlock:`Can not use 'await' as identifier inside a static block.`,AwaitExpressionFormalParameter:`'await' is not allowed in async function parameters.`,AwaitUsingNotInAsyncContext:`'await using' is only allowed within async functions and at the top levels of modules.`,AwaitNotInAsyncContext:`'await' is only allowed within async functions and at the top levels of modules.`,BadGetterArity:`A 'get' accessor must not have any formal parameters.`,BadSetterArity:`A 'set' accessor must have exactly one formal parameter.`,BadSetterRestParameter:`A 'set' accessor function argument must not be a rest parameter.`,ConstructorClassField:`Classes may not have a field named 'constructor'.`,ConstructorClassPrivateField:`Classes may not have a private field named '#constructor'.`,ConstructorIsAccessor:`Class constructor may not be an accessor.`,ConstructorIsAsync:`Constructor can't be an async function.`,ConstructorIsGenerator:`Constructor can't be a generator.`,DeclarationMissingInitializer:({kind:e})=>`Missing initializer in ${e} declaration.`,DecoratorArgumentsOutsideParentheses:`Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.`,DecoratorsBeforeAfterExport:`Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.`,DecoratorConstructor:`Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?`,DecoratorSemicolon:`Decorators must not be followed by a semicolon.`,DecoratorStaticBlock:`Decorators can't be used with a static block.`,DeferImportRequiresNamespace:'Only `import defer * as x from "./module"` is valid.',DeletePrivateField:`Deleting a private field is not allowed.`,DestructureNamedImport:`ES2015 named imports do not destructure. Use another statement for destructuring after the import.`,DuplicateConstructor:`Duplicate constructor in the same class.`,DuplicateDefaultExport:`Only one default export allowed per module.`,DuplicateExport:({exportName:e})=>`\`${e}\` has already been exported. Exported identifiers must be unique.`,DuplicateProto:`Redefinition of __proto__ property.`,DuplicateRegExpFlags:`Duplicate regular expression flag.`,ElementAfterRest:`Rest element must be last element.`,EscapedCharNotAnIdentifier:`Invalid Unicode escape.`,ExportBindingIsString:({localName:e,exportName:t})=>`A string literal cannot be used as an exported binding without \`from\`.\n- Did you mean \`export { '${e}' as '${t}' } from 'some-module'\`?`,ExportDefaultFromAsIdentifier:`'from' is not allowed as an identifier after 'export default'.`,ForInOfLoopInitializer:({type:e})=>`'${e===`ForInStatement`?`for-in`:`for-of`}' loop variable declaration may not have an initializer.`,ForInUsing:`For-in loop may not start with 'using' declaration.`,ForOfAsync:`The left-hand side of a for-of loop may not be 'async'.`,ForOfLet:`The left-hand side of a for-of loop may not start with 'let'.`,GeneratorInSingleStatementContext:`Generators can only be declared at the top level or inside a block.`,IllegalBreakContinue:({type:e})=>`Unsyntactic ${e===`BreakStatement`?`break`:`continue`}.`,IllegalLanguageModeDirective:`Illegal 'use strict' directive in function with non-simple parameter list.`,IllegalReturn:`'return' outside of function.`,ImportBindingIsString:({importName:e})=>`A string literal cannot be used as an imported binding.\n- Did you mean \`import { "${e}" as foo }\`?`,ImportCallArity:({phase:e})=>`\`import${e?`.${e}`:``}()\` requires exactly one or two arguments.`,ImportCallNotNewExpression:({phase:e})=>`Cannot use new with import${e?`.${e}`:``}().`,ImportCallSpreadArgument:({phase:e})=>`\`...\` is not allowed in \`import${e?`.${e}`:``}()\`.`,IncompatibleRegExpUVFlags:`The 'u' and 'v' regular expression flags cannot be enabled at the same time.`,InvalidBigIntLiteral:`Invalid BigIntLiteral.`,InvalidCodePoint:`Code point out of bounds.`,InvalidCoverDiscardElement:`'void' must be followed by an expression when not used in a binding position.`,InvalidCoverInitializedName:`Invalid shorthand property initializer.`,InvalidDigit:({radix:e})=>`Expected number in radix ${e}.`,InvalidEscapeSequence:`Bad character escape sequence.`,InvalidEscapeSequenceTemplate:`Invalid escape sequence in template.`,InvalidEscapedReservedWord:({reservedWord:e})=>`Escape sequence in keyword ${e}.`,InvalidIdentifier:({identifierName:e})=>`Invalid identifier ${e}.`,InvalidLhs:({ancestor:e})=>`Invalid left-hand side in ${te(e)}.`,InvalidLhsBinding:({ancestor:e})=>`Binding invalid left-hand side in ${te(e)}.`,InvalidLhsOptionalChaining:({ancestor:e})=>`Invalid optional chaining in the left-hand side of ${te(e)}.`,InvalidNumber:`Invalid number.`,InvalidOrMissingExponent:`Floating-point numbers require a valid exponent after the 'e'.`,InvalidOrUnexpectedToken:({unexpected:e})=>`Unexpected character '${e}'.`,InvalidParenthesizedAssignment:`Invalid parenthesized assignment pattern.`,InvalidPrivateFieldResolution:({identifierName:e})=>`Private name #${e} is not defined.`,InvalidPropertyBindingPattern:`Binding member expression.`,InvalidRestAssignmentPattern:`Invalid rest operator's argument.`,LabelRedeclaration:({labelName:e})=>`Label '${e}' is already declared.`,LetInLexicalBinding:`'let' is disallowed as a lexically bound name.`,LineTerminatorBeforeArrow:`No line break is allowed before '=>'.`,MalformedRegExpFlags:`Invalid regular expression flag.`,MissingClassName:`A class name is required.`,MissingEqInAssignment:`Only '=' operator can be used for specifying default value.`,MissingSemicolon:`Missing semicolon.`,MissingPlugin:({missingPlugin:e})=>`This experimental syntax requires enabling the parser plugin: ${e.map(e=>JSON.stringify(e)).join(`, `)}.`,MissingOneOfPlugins:({missingPlugin:e})=>`This experimental syntax requires enabling one of the following parser plugin(s): ${e.map(e=>JSON.stringify(e)).join(`, `)}.`,MissingUnicodeEscape:`Expecting Unicode escape sequence \\uXXXX.`,MixingCoalesceWithLogical:`Nullish coalescing operator(??) requires parens when mixing with logical operators.`,ModuleAttributeInvalidValue:`Only string literals are allowed as module attribute values.`,ModuleAttributesWithDuplicateKeys:({key:e})=>`Duplicate key "${e}" is not allowed in module attributes.`,ModuleExportNameHasLoneSurrogate:({surrogateCharCode:e})=>`An export name cannot include a lone surrogate, found '\\u${e.toString(16)}'.`,ModuleExportUndefined:({localName:e})=>`Export '${e}' is not defined.`,MultipleDefaultsInSwitch:`Multiple default clauses.`,NewlineAfterThrow:`Illegal newline after throw.`,NoCatchOrFinally:`Missing catch or finally clause.`,NumberIdentifier:`Identifier directly after number.`,NumericSeparatorInEscapeSequence:`Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.`,ObsoleteAwaitStar:`'await*' has been removed from the async functions proposal. Use Promise.all() instead.`,OptionalChainingNoNew:`Constructors in/after an Optional Chain are not allowed.`,OptionalChainingNoTemplate:`Tagged Template Literals are not allowed in optionalChain.`,OverrideOnConstructor:`'override' modifier cannot appear on a constructor declaration.`,ParamDupe:`Argument name clash.`,PatternHasAccessor:`Object pattern can't contain getter or setter.`,PatternHasMethod:`Object pattern can't contain methods.`,PrivateInExpectedIn:({identifierName:e})=>`Private names are only allowed in property accesses (\`obj.#${e}\`) or in \`in\` expressions (\`#${e} in obj\`).`,PrivateNameRedeclaration:({identifierName:e})=>`Duplicate private name #${e}.`,RestTrailingComma:`Unexpected trailing comma after rest element.`,SloppyFunction:`In non-strict mode code, functions can only be declared at top level or inside a block.`,SloppyFunctionAnnexB:`In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.`,SourcePhaseImportRequiresDefault:'Only `import source x from "./module"` is valid.',StaticPrototype:`Classes may not have static property named prototype.`,SuperCallNotNewExpression:`Cannot use new with super(...).`,SuperNotAllowed:"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:`Private fields can't be accessed on super.`,TrailingDecorator:`Decorators must be attached to a class element.`,UnexpectedArgumentPlaceholder:`Unexpected argument placeholder.`,UnexpectedDigitAfterHash:`Unexpected digit after hash token.`,UnexpectedImportExport:`'import' and 'export' may only appear at the top level.`,UnexpectedKeyword:({keyword:e})=>`Unexpected keyword '${e}'.`,UnexpectedLeadingDecorator:`Leading decorators must be attached to a class declaration.`,UnexpectedLexicalDeclaration:`Lexical declaration cannot appear in a single-statement context.`,UnexpectedNewTarget:"`new.target` can only be used in functions or class properties.",UnexpectedNumericSeparator:`A numeric separator is only allowed between two digits.`,UnexpectedPrivateField:`Unexpected private name.`,UnexpectedReservedWord:({reservedWord:e})=>`Unexpected reserved word '${e}'.`,UnexpectedSuper:`'super' is only allowed in object methods and classes.`,UnexpectedToken:({expected:e,unexpected:t})=>`Unexpected token${t?` '${t}'.`:``}${e?`, expected "${e}"`:``}`,UnexpectedTokenUnaryExponentiation:`Illegal expression. Wrap left hand side or entire exponentiation in parentheses.`,UnexpectedUsingDeclaration:"Using declaration cannot appear in the top level when source type is `script` or in the bare case statement.",UnexpectedVoidPattern:`Unexpected void binding.`,UnsupportedDecoratorExport:`A decorated export must export a class declaration.`,UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"`import` can only be used in `import()` or `import.meta`.",UnsupportedMetaProperty:({target:e,onlyValidPropertyName:t})=>`The only valid meta property for ${e} is ${e}.${t}.`,UnsupportedParameterDecorator:`Decorators cannot be used to decorate parameters.`,UnsupportedPropertyDecorator:`Decorators cannot be used to decorate object literal properties.`,UnsupportedSuper:`'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).`,UnterminatedComment:`Unterminated comment.`,UnterminatedRegExp:`Unterminated regular expression.`,UnterminatedString:`Unterminated string constant.`,UnterminatedTemplate:`Unterminated template.`,UsingDeclarationExport:`Using declaration cannot be exported.`,UsingDeclarationHasBindingPattern:`Using declaration cannot have destructuring patterns.`,VarRedeclaration:({identifierName:e})=>`Identifier '${e}' has already been declared.`,VoidPatternCatchClauseParam:"A void binding can not be the catch clause parameter. Use `try { ... } catch { ... }` if you want to discard the caught error.",VoidPatternInitializer:`A void binding may not have an initializer.`,YieldBindingIdentifier:`Can not use 'yield' as identifier inside a generator.`,YieldInParameter:`Yield expression is not allowed in formal parameters.`,YieldNotInGeneratorFunction:`'yield' is only allowed within generator functions.`,ZeroDigitNumericSeparator:`Numeric separator can not be used after leading 0.`},re={StrictDelete:`Deleting local variable in strict mode.`,StrictEvalArguments:({referenceName:e})=>`Assigning to '${e}' in strict mode.`,StrictEvalArgumentsBinding:({bindingName:e})=>`Binding '${e}' in strict mode.`,StrictFunction:`In strict mode code, functions can only be declared at top level or inside a block.`,StrictNumericEscape:`The only valid numeric escape in strict mode is '\\0'.`,StrictOctalLiteral:`Legacy octal literals are not allowed in strict mode.`,StrictWith:`'with' in strict mode.`},ie={ParseExpressionEmptyInput:`Unexpected parseExpression() input: The input is empty or contains only comments.`,ParseExpressionExpectsEOF:({unexpected:e})=>`Unexpected parseExpression() input: The input should contain exactly one expression, but the first expression is followed by the unexpected character \`${String.fromCodePoint(e)}\`.`},ae=new Set([`ArrowFunctionExpression`,`AssignmentExpression`,`ConditionalExpression`,`YieldExpression`]),oe={PipeTopicRequiresHackPipes:'Topic references are only supported when using the `"proposal": "hack"` version of the pipeline proposal.',PipeTopicUnbound:`Topic reference is unbound; it must be inside a pipe body.`,PipeTopicUnconfiguredToken:({token:e})=>`Invalid topic token ${e}. In order to use ${e} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${e}" }.`,PipeTopicUnused:`Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.`,PipeUnparenthesizedBody:({type:e})=>`Hack-style pipe body cannot be an unparenthesized ${te({type:e})}; please wrap it in parentheses.`,PipelineUnparenthesized:`Cannot mix binary operator with solo-await F#-style pipeline. Please wrap the pipeline in parentheses.`},se={UnsupportedBind:`Binding should be performed on object property.`,UnsupportedBindRHS:`The right-hand side of binding can not be super or import.`};function ce(e,t,n){Object.defineProperty(e,t,{enumerable:!1,configurable:!0,value:n})}function le({toMessage:e,code:t,reasonCode:n,syntaxPlugin:r}){let i=n===`MissingPlugin`||n===`MissingOneOfPlugins`;return function a(o,s,c){let l=SyntaxError();return l.code=t,l.reasonCode=n,l.loc=o,l.pos=s,l.syntaxPlugin=r,i&&(l.missingPlugin=c.missingPlugin),ce(l,`clone`,function(e={}){let{line:t,column:n,index:r=s}=e.loc??o;return a(new d(t,n),r,{...c,...e.details})}),ce(l,`details`,c),Object.defineProperty(l,"message",{configurable:!0,get(){let t=`${e(c)} (${o.line}:${o.column})`;return this.message=t,t},set(e){Object.defineProperty(this,"message",{value:e,writable:!0})}}),l}}function ue(e,t){if(Array.isArray(e))return t=>ue(t,e[0]);let n={};for(let r of Object.keys(e)){let i=e[r],{message:a,...o}=typeof i==`string`?{message:()=>i}:typeof i==`function`?{message:i}:i;n[r]=le({code:`BABEL_PARSER_SYNTAX_ERROR`,reasonCode:r,toMessage:typeof a==`string`?()=>a:a,...t?{syntaxPlugin:t}:{},...o})}return n}var g={...ue(h),...ue(ne),...ue(re),...ue(ie),...ue`pipelineOperator`(oe),...ue`functionBind`(se)};function de(){return{sourceType:`script`,sourceFilename:void 0,startIndex:0,startColumn:0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowNewTargetOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,allowYieldOutsideFunction:!1,plugins:[],strictMode:void 0,ranges:!1,locations:!0,tokens:!1,createImportExpressions:!0,createParenthesizedExpressions:!1,errorRecovery:!1,attachComment:!0,annexB:!0}}function fe(e){let t=de();if(e==null)return t;if(e.annexB!=null&&e.annexB!==!1)throw Error("The `annexB` option can only be set to `false`.");for(let n of Object.keys(t))e[n]!=null&&(t[n]=e[n]);if(t.startLine===1)e.startIndex==null&&t.startColumn>0?t.startIndex=t.startColumn:e.startColumn==null&&t.startIndex>0&&(t.startColumn=t.startIndex);else if(e.startColumn==null||e.startIndex==null)throw Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`.");if(t.sourceType===`commonjs`){if(e.allowAwaitOutsideFunction!=null)throw Error("The `allowAwaitOutsideFunction` option cannot be used with `sourceType: 'commonjs'`.");if(e.allowReturnOutsideFunction!=null)throw Error("`sourceType: 'commonjs'` implies `allowReturnOutsideFunction: true`, please remove the `allowReturnOutsideFunction` option or use `sourceType: 'script'`.");if(e.allowNewTargetOutsideFunction!=null)throw Error("`sourceType: 'commonjs'` implies `allowNewTargetOutsideFunction: true`, please remove the `allowNewTargetOutsideFunction` option or use `sourceType: 'script'`.")}return t}function pe(e){let{start:t,end:n}=e.loc;return e.loc.start=new d(t.line,t.column),e.loc.end=new d(n.line,n.column),e}var me=e=>class extends e{createPosition(e){return new d(e.line,e.column)}parse(){let e=super.parse();return this.optionFlags&512&&(e.tokens=e.tokens.map(pe)),pe(e)}parseRegExpLiteral({pattern:e,flags:t}){let n=null;try{n=new RegExp(e,t)}catch{}let r=this.estreeParseLiteral(n);return r.regex={pattern:e,flags:t},r}parseBigIntLiteral(e){let t;try{t=BigInt(e)}catch{t=null}let n=this.estreeParseLiteral(t);return n.bigint=String(n.value||e),n}estreeParseLiteral(e){return this.parseLiteral(e,`Literal`)}parseStringLiteral(e){return this.estreeParseLiteral(e)}parseNumericLiteral(e){return this.estreeParseLiteral(e)}parseNullLiteral(){return this.estreeParseLiteral(null)}parseBooleanLiteral(e){return this.estreeParseLiteral(e)}estreeParseChainExpression(e,t){let n=this.startNodeAtNode(e);return n.expression=e,this.finishNodeAtNode(n,`ChainExpression`,t)}directiveToStmt(e){let t=e.value;delete e.value,this.castNodeTo(t,`Literal`),t.raw=t.extra.raw,t.value=t.extra.expressionValue;let n=this.castNodeTo(e,`ExpressionStatement`);return n.expression=t,n.directive=t.extra.rawValue,delete t.extra,n}fillOptionalPropertiesForTSESLint(e){}cloneEstreeStringLiteral(e){let{start:t,end:n,loc:r,range:i,raw:a,value:o}=e,s=Object.create(e.constructor.prototype);return s.type=`Literal`,s.start=t,s.end=n,s.loc=r,s.range=i,s.raw=a,s.value=o,s}initFunction(e,t){super.initFunction(e,t),e.expression=!1}checkDeclaration(e){e!=null&&this.isObjectProperty(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}getObjectOrClassMethodParams(e){return e.value.params}isValidDirective(e){return e.type===`ExpressionStatement`&&e.expression.type===`Literal`&&typeof e.expression.value==`string`&&!e.expression.extra?.parenthesized}parseBlockBody(e,t,n,r,i){super.parseBlockBody(e,t,n,r,i),e.body=e.directives.map(e=>this.directiveToStmt(e)).concat(e.body),delete e.directives}parsePrivateName(){let e=super.parsePrivateName();return this.convertPrivateNameToPrivateIdentifier(e)}convertPrivateNameToPrivateIdentifier(e){let t=super.getPrivateNameSV(e);return delete e.id,e.name=t,this.castNodeTo(e,`PrivateIdentifier`)}isPrivateName(e){return e.type===`PrivateIdentifier`}getPrivateNameSV(e){return e.name}parseLiteral(e,t){let n=super.parseLiteral(e,t);return n.raw=n.extra.raw,delete n.extra,n}parseFunctionBody(e,t,n=!1){super.parseFunctionBody(e,t,n),e.expression=e.body.type!==`BlockStatement`}parseMethod(e,t,n,r,i,a,o=!1){let s=this.startNode();s.kind=e.kind,s=super.parseMethod(s,t,n,r,i,a,o),delete s.kind;let{typeParameters:c}=e;return c&&(delete e.typeParameters,s.typeParameters=c,this.resetStartLocationFromNode(s,c)),e.value=this.castNodeTo(s,this.hasPlugin(`typescript`)&&!s.body?`TSEmptyBodyFunctionExpression`:`FunctionExpression`),a===`ClassPrivateMethod`&&(e.computed=!1),this.hasPlugin(`typescript`)&&e.abstract?(delete e.abstract,this.finishNode(e,`TSAbstractMethodDefinition`)):a===`ObjectMethod`?(e.kind===`method`&&(e.kind=`init`),e.shorthand=!1,this.finishNode(e,`Property`)):this.finishNode(e,`MethodDefinition`)}nameIsConstructor(e){return e.type===`Literal`?e.value===`constructor`:super.nameIsConstructor(e)}parseClassProperty(...e){let t=super.parseClassProperty(...e);return t.abstract&&this.hasPlugin(`typescript`)?(delete t.abstract,this.castNodeTo(t,`TSAbstractPropertyDefinition`)):this.castNodeTo(t,`PropertyDefinition`),t}parseClassPrivateProperty(...e){let t=super.parseClassPrivateProperty(...e);return t.abstract&&this.hasPlugin(`typescript`)?this.castNodeTo(t,`TSAbstractPropertyDefinition`):this.castNodeTo(t,`PropertyDefinition`),t.computed=!1,t}parseClassAccessorProperty(e){let t=super.parseClassAccessorProperty(e);return t.abstract&&this.hasPlugin(`typescript`)?(delete t.abstract,this.castNodeTo(t,`TSAbstractAccessorProperty`)):this.castNodeTo(t,`AccessorProperty`),t}parseObjectProperty(e,t,n,r){let i=super.parseObjectProperty(e,t,n,r);return i&&(i.kind=`init`,this.castNodeTo(i,`Property`)),i}finishObjectProperty(e){return e.kind=`init`,this.finishNode(e,`Property`)}isValidLVal(e,t,n,r){return e===`Property`?`value`:super.isValidLVal(e,t,n,r)}isAssignable(e,t){return e!=null&&this.isObjectProperty(e)?this.isAssignable(e.value,t):super.isAssignable(e,t)}toAssignable(e,t=!1){if(e!=null&&this.isObjectProperty(e)){let{key:n,value:r}=e;this.isPrivateName(n)&&this.classScope.usePrivateName(this.getPrivateNameSV(n),n.start),this.toAssignable(r,t)}else super.toAssignable(e,t)}toAssignableObjectExpressionProp(e,t,n){e.type===`Property`&&(e.kind===`get`||e.kind===`set`)?this.raise(g.PatternHasAccessor,e.key):e.type===`Property`&&e.method?this.raise(g.PatternHasMethod,e.key):super.toAssignableObjectExpressionProp(e,t,n)}finishCallExpression(e,t){let n=super.finishCallExpression(e,t);return n.callee.type===`Import`?(this.castNodeTo(n,`ImportExpression`),n.source=n.arguments[0],n.options=n.arguments[1]??null,delete n.arguments,delete n.callee):n.type===`OptionalCallExpression`?this.castNodeTo(n,`CallExpression`):n.optional=!1,n}parseExport(e,t){let n=this.state.lastTokStartLoc,r=super.parseExport(e,t);switch(r.type){case`ExportAllDeclaration`:r.exported=null;break;case`ExportNamedDeclaration`:r.specifiers.length===1&&r.specifiers[0].type===`ExportNamespaceSpecifier`&&(this.castNodeTo(r,`ExportAllDeclaration`),r.exported=r.specifiers[0].exported,delete r.specifiers);case`ExportDefaultDeclaration`:{let{declaration:e}=r;e?.type===`ClassDeclaration`&&e.decorators?.length>0&&e.start===r.start&&this.resetStartLocation(r,n)}}return r}stopParseSubscript(e,t){let n=super.stopParseSubscript(e,t);return t.optionalChainMember?this.estreeParseChainExpression(n,e):n}parseMember(e,t,n,r,i){let a=super.parseMember(e,t,n,r,i);return a.type===`OptionalMemberExpression`?this.castNodeTo(a,`MemberExpression`):a.optional=!1,a}isOptionalMemberExpression(e){return e.type===`ChainExpression`?e.expression.type===`MemberExpression`:super.isOptionalMemberExpression(e)}hasPropertyAsPrivateName(e){return e.type===`ChainExpression`&&(e=e.expression),super.hasPropertyAsPrivateName(e)}isObjectProperty(e){return e.type===`Property`&&e.kind===`init`&&!e.method}isObjectMethod(e){return e.type===`Property`&&(e.method||e.kind===`get`||e.kind===`set`)}castNodeTo(e,t){let n=super.castNodeTo(e,t);return this.fillOptionalPropertiesForTSESLint(n),n}cloneIdentifier(e){let t=super.cloneIdentifier(e);return this.fillOptionalPropertiesForTSESLint(t),t}cloneStringLiteral(e){return e.type===`Literal`?this.cloneEstreeStringLiteral(e):super.cloneStringLiteral(e)}finishNodeAt(e,t,n){return pe(super.finishNodeAt(e,t,n))}finishNodeAtNode(e,t,n){return pe(super.finishNodeAtNode(e,t,n))}finishNode(e,t){let n=super.finishNode(e,t);return this.fillOptionalPropertiesForTSESLint(n),n}resetStartLocation(e,t){super.resetStartLocation(e,t),pe(e)}resetEndLocation(e,t=this.state.lastTokEndLoc){super.resetEndLocation(e,t),pe(e)}},_=!0,v=!0,y=!0,he=!0,ge=!0,_e=!0,ve=class{label;keyword;beforeExpr;startsExpr;rightAssociative;isLoop;isAssign;prefix;postfix;binop;constructor(e,t={}){this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.rightAssociative=!!t.rightAssociative,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop==null?null:t.binop}},ye=new Map;function b(e,t={}){t.keyword=e;let n=S(e,t);return ye.set(e,n),n}function x(e,t){return S(e,{beforeExpr:_,binop:t})}var be=-1,xe=[],Se=[],Ce=[],we=[],Te=[],Ee=[];function S(e,t={}){return++be,Se.push(e),Ce.push(t.binop??-1),we.push(t.beforeExpr??!1),Te.push(t.startsExpr??!1),Ee.push(t.prefix??!1),xe.push(new ve(e,t)),be}function C(e,t={}){return++be,ye.set(e,be),Se.push(e),Ce.push(t.binop??-1),we.push(t.beforeExpr??!1),Te.push(t.startsExpr??!1),Ee.push(t.prefix??!1),xe.push(new ve(`name`,t)),be}var De={bracketL:S(`[`,{beforeExpr:_,startsExpr:v}),bracketR:S(`]`),braceL:S(`{`,{beforeExpr:_,startsExpr:v}),braceBarL:S(`{|`,{beforeExpr:_,startsExpr:v}),braceR:S(`}`),braceBarR:S(`|}`),parenL:S(`(`,{beforeExpr:_,startsExpr:v}),parenR:S(`)`),comma:S(`,`,{beforeExpr:_}),semi:S(`;`,{beforeExpr:_}),colon:S(`:`,{beforeExpr:_}),doubleColon:S(`::`,{beforeExpr:_}),dot:S(`.`),question:S(`?`,{beforeExpr:_}),questionDot:S(`?.`),arrow:S(`=>`,{beforeExpr:_}),template:S(`template`),ellipsis:S(`...`,{beforeExpr:_}),backQuote:S("`",{startsExpr:v}),dollarBraceL:S("${",{beforeExpr:_,startsExpr:v}),templateTail:S("...`",{startsExpr:v}),templateNonTail:S("...${",{beforeExpr:_,startsExpr:v}),at:S(`@`),hash:S(`#`,{startsExpr:v}),interpreterDirective:S(`#!...`),eq:S(`=`,{beforeExpr:_,isAssign:he}),assign:S(`_=`,{beforeExpr:_,isAssign:he}),slashAssign:S(`_=`,{beforeExpr:_,isAssign:he}),xorAssign:S(`_=`,{beforeExpr:_,isAssign:he}),moduloAssign:S(`_=`,{beforeExpr:_,isAssign:he}),incDec:S(`++/--`,{prefix:ge,postfix:_e,startsExpr:v}),bang:S(`!`,{beforeExpr:_,prefix:ge,startsExpr:v}),tilde:S(`~`,{beforeExpr:_,prefix:ge,startsExpr:v}),doubleCaret:S(`^^`,{startsExpr:v}),doubleAt:S(`@@`,{startsExpr:v}),pipeline:x(`|>`,0),nullishCoalescing:x(`??`,1),logicalOR:x(`||`,1),logicalAND:x(`&&`,2),bitwiseOR:x(`|`,3),bitwiseXOR:x(`^`,4),bitwiseAND:x(`&`,5),equality:x(`==/!=/===/!==`,6),lt:x(`</>/<=/>=`,7),gt:x(`</>/<=/>=`,7),relational:x(`</>/<=/>=`,7),bitShift:x(`<</>>/>>>`,8),bitShiftL:x(`<</>>/>>>`,8),bitShiftR:x(`<</>>/>>>`,8),plusMin:S(`+/-`,{beforeExpr:_,binop:9,prefix:ge,startsExpr:v}),modulo:S(`%`,{binop:10,startsExpr:v}),star:S(`*`,{binop:10}),slash:x(`/`,10),exponent:S(`**`,{beforeExpr:_,binop:11,rightAssociative:!0}),_in:b(`in`,{beforeExpr:_,binop:7}),_instanceof:b(`instanceof`,{beforeExpr:_,binop:7}),_break:b(`break`),_case:b(`case`,{beforeExpr:_}),_catch:b(`catch`),_continue:b(`continue`),_debugger:b(`debugger`),_default:b(`default`,{beforeExpr:_}),_else:b(`else`,{beforeExpr:_}),_finally:b(`finally`),_function:b(`function`,{startsExpr:v}),_if:b(`if`),_return:b(`return`,{beforeExpr:_}),_switch:b(`switch`),_throw:b(`throw`,{beforeExpr:_,prefix:ge,startsExpr:v}),_try:b(`try`),_var:b(`var`),_const:b(`const`),_with:b(`with`),_new:b(`new`,{beforeExpr:_,startsExpr:v}),_this:b(`this`,{startsExpr:v}),_super:b(`super`,{startsExpr:v}),_class:b(`class`,{startsExpr:v}),_extends:b(`extends`,{beforeExpr:_}),_export:b(`export`),_import:b(`import`,{startsExpr:v}),_null:b(`null`,{startsExpr:v}),_true:b(`true`,{startsExpr:v}),_false:b(`false`,{startsExpr:v}),_typeof:b(`typeof`,{beforeExpr:_,prefix:ge,startsExpr:v}),_void:b(`void`,{beforeExpr:_,prefix:ge,startsExpr:v}),_delete:b(`delete`,{beforeExpr:_,prefix:ge,startsExpr:v}),_do:b(`do`,{isLoop:y,beforeExpr:_}),_for:b(`for`,{isLoop:y}),_while:b(`while`,{isLoop:y}),_as:C(`as`,{startsExpr:v}),_assert:C(`assert`,{startsExpr:v}),_async:C(`async`,{startsExpr:v}),_await:C(`await`,{startsExpr:v}),_defer:C(`defer`,{startsExpr:v}),_from:C(`from`,{startsExpr:v}),_get:C(`get`,{startsExpr:v}),_let:C(`let`,{startsExpr:v}),_meta:C(`meta`,{startsExpr:v}),_of:C(`of`,{startsExpr:v}),_sent:C(`sent`,{startsExpr:v}),_set:C(`set`,{startsExpr:v}),_source:C(`source`,{startsExpr:v}),_static:C(`static`,{startsExpr:v}),_using:C(`using`,{startsExpr:v}),_yield:C(`yield`,{startsExpr:v}),_asserts:C(`asserts`,{startsExpr:v}),_checks:C(`checks`,{startsExpr:v}),_exports:C(`exports`,{startsExpr:v}),_global:C(`global`,{startsExpr:v}),_implements:C(`implements`,{startsExpr:v}),_intrinsic:C(`intrinsic`,{startsExpr:v}),_infer:C(`infer`,{startsExpr:v}),_is:C(`is`,{startsExpr:v}),_mixins:C(`mixins`,{startsExpr:v}),_proto:C(`proto`,{startsExpr:v}),_require:C(`require`,{startsExpr:v}),_satisfies:C(`satisfies`,{startsExpr:v}),_keyof:C(`keyof`,{startsExpr:v}),_readonly:C(`readonly`,{startsExpr:v}),_unique:C(`unique`,{startsExpr:v}),_abstract:C(`abstract`,{startsExpr:v}),_declare:C(`declare`,{startsExpr:v}),_enum:C(`enum`,{startsExpr:v}),_module:C(`module`,{startsExpr:v}),_namespace:C(`namespace`,{startsExpr:v}),_interface:C(`interface`,{startsExpr:v}),_type:C(`type`,{startsExpr:v}),_opaque:C(`opaque`,{startsExpr:v}),name:S(`name`,{startsExpr:v}),placeholder:S(`%%`,{startsExpr:v}),string:S(`string`,{startsExpr:v}),num:S(`num`,{startsExpr:v}),bigint:S(`bigint`,{startsExpr:v}),regexp:S(`regexp`,{startsExpr:v}),privateName:S(`#name`,{startsExpr:v}),eof:S(`eof`),jsxName:S(`jsxName`),jsxText:S(`jsxText`,{beforeExpr:_}),jsxTagStart:S(`jsxTagStart`,{startsExpr:v}),jsxTagEnd:S(`jsxTagEnd`)};function w(e){return e>=89&&e<=129}function Oe(e){return e<=88}function ke(e){return e>=54&&e<=129}function Ae(e){return e>=54&&e<=132}function je(e){return we[e]}function Me(e){return Te[e]}function Ne(e){return e>=25&&e<=29}function Pe(e){return e>=125&&e<=127}function Fe(e){return e>=86&&e<=88}function Ie(e){return e>=54&&e<=88}function Le(e){return e>=35&&e<=55}function Re(e){return e===30}function ze(e){return Ee[e]}function Be(e){return e>=117&&e<=119}function Ve(e){return e>=120&&e<=126}function He(e){return Se[e]}function Ue(e){return Ce[e]}function We(e){return e===53}function Ge(e){return e>=20&&e<=21}function Ke(e){return xe[e]}var qe=class{constructor(e,t){this.token=e,this.preserveSpace=!!t}token;preserveSpace},T={brace:new qe(`{`),j_oTag:new qe(`<tag`),j_cTag:new qe(`</tag`),j_expr:new qe(`<tag>...</tag>`,!0)},Je=/[\p{ID_Start}\u088f\u0c5c\u0cdc\ua7ce\ua7cf\ua7d2\ua7d4\ua7f1]/u,Ye=/[\p{ID_Continue}\u088f\u0c5c\u0cdc\ua7ce\ua7cf\ua7d2\ua7d4\ua7f1\u1acf-\u1add\u1ae0-\u1aeb]/u,Xe=[2368,25,1388,2,3817,43,20677,24,3,24,287,4,6146,7,1290,21,98,114,22734,30,2,2,2,1,2,6,3,4,10,1,53307,5,5987,11,21763,4297],Ze=[3834,1,3173,7,633,9,51450,0,3,0,8,1,6,0];function Qe(e,t){let n=65536;for(let r=0,i=t.length;r<i;r+=2){if(n+=t[r],n>e)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function $e(e){return e<65?e===36:e<=90?!0:e<97?e===95:e<=122?!0:e<=65535?e>=170&&Je.test(String.fromCharCode(e)):!isNaN(e)&&e<=1114111&&(Je.test(String.fromCodePoint(e))||Qe(e,Xe))}function et(e){return e<48?e===36:e<58?!0:e<65?!1:e<=90?!0:e<97?e===95:e<=122?!0:e<=65535?e>=170&&Ye.test(String.fromCharCode(e)):!isNaN(e)&&e<=1114111&&(Ye.test(String.fromCodePoint(e))||Qe(e,Xe)||Qe(e,Ze))}var tt={keyword:`break.case.catch.continue.debugger.default.do.else.finally.for.function.if.return.switch.throw.try.var.const.while.with.new.this.super.class.extends.export.import.null.true.false.in.instanceof.typeof.void.delete`.split(`.`),strict:[`implements`,`interface`,`let`,`package`,`private`,`protected`,`public`,`static`,`yield`],strictBind:[`eval`,`arguments`]},nt=new Set(tt.keyword),rt=new Set(tt.strict),it=new Set(tt.strictBind);function at(e,t){return t&&e===`await`||e===`enum`}function ot(e,t){return at(e,t)||rt.has(e)}function st(e){return it.has(e)}function ct(e,t){return ot(e,t)||st(e)}function lt(e){return nt.has(e)}function ut(e,t,n){return e===64&&t===64&&$e(n)}var dt=new Set(`break.case.catch.continue.debugger.default.do.else.finally.for.function.if.return.switch.throw.try.var.const.while.with.new.this.super.class.extends.export.import.null.true.false.in.instanceof.typeof.void.delete.implements.interface.let.package.private.protected.public.static.yield.eval.arguments.enum.await`.split(`.`));function ft(e){return dt.has(e)}var pt=class{flags=0;names=new Map;firstLexicalName=``;constructor(e){this.flags=e}},mt=class{parser;scopeStack=[];inModule;undefinedExports=new Map;constructor(e,t){this.parser=e,this.inModule=t}get inTopLevel(){return(this.currentScope().flags&1)>0}get inFunction(){return(this.currentVarScopeFlags()&2)>0}get allowSuper(){return(this.currentThisScopeFlags()&16)>0}get allowDirectSuper(){return(this.currentThisScopeFlags()&32)>0}get allowNewTarget(){return(this.currentThisScopeFlags()&512)>0}get inClass(){return(this.currentThisScopeFlags()&64)>0}get inClassAndNotInNonArrowFunction(){let e=this.currentThisScopeFlags();return(e&64)>0&&!(e&2)}get inStaticBlock(){for(let e=this.scopeStack.length-1;;e--){let{flags:t}=this.scopeStack[e];if(t&128)return!0;if(t&3779)return!1}}get inNonArrowFunction(){return(this.currentThisScopeFlags()&2)>0}get inBareCaseStatement(){return(this.currentScope().flags&256)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(e){return new pt(e)}enter(e){this.scopeStack.push(this.createScope(e))}exit(){return this.scopeStack.pop().flags}treatFunctionsAsVarInScope(e){return!!(e.flags&130||!this.parser.inModule&&e.flags&1)}declareName(e,t,n){let r=this.currentScope();if(t&8||t&16){this.checkRedeclarationInScope(r,e,t,n);let i=r.names.get(e)||0;t&16?i|=4:(r.firstLexicalName||(r.firstLexicalName=e),i|=2),r.names.set(e,i),t&8&&this.maybeExportDefined(r,e)}else if(t&4)for(let i=this.scopeStack.length-1;i>=0&&(r=this.scopeStack[i],this.checkRedeclarationInScope(r,e,t,n),r.names.set(e,(r.names.get(e)||0)|1),this.maybeExportDefined(r,e),!(r.flags&3715));--i);this.parser.inModule&&r.flags&1&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.parser.inModule&&e.flags&1&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,n,r){this.isRedeclaredInScope(e,t,n)&&this.parser.raise(g.VarRedeclaration,r,{identifierName:t})}isRedeclaredInScope(e,t,n){if(!(n&1))return!1;if(n&8)return e.names.has(t);let r=e.names.get(t)||0;return n&16?(r&2)>0||!this.treatFunctionsAsVarInScope(e)&&(r&1)>0:(r&2)>0&&!(e.flags&8&&e.firstLexicalName===t)||!this.treatFunctionsAsVarInScope(e)&&(r&4)>0}checkLocalExport(e){let{name:t}=e;this.scopeStack[0].names.has(t)||this.undefinedExports.set(t,e.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScopeFlags(){for(let e=this.scopeStack.length-1;;e--){let{flags:t}=this.scopeStack[e];if(t&3715)return t}}currentThisScopeFlags(){for(let e=this.scopeStack.length-1;;e--){let{flags:t}=this.scopeStack[e];if(t&3779&&!(t&4))return t}}},ht=class extends pt{declareFunctions=new Set},gt=class extends mt{createScope(e){return new ht(e)}declareName(e,t,n){let r=this.currentScope();if(t&2048){this.checkRedeclarationInScope(r,e,t,n),this.maybeExportDefined(r,e),r.declareFunctions.add(e);return}super.declareName(e,t,n)}isRedeclaredInScope(e,t,n){if(super.isRedeclaredInScope(e,t,n))return!0;if(n&2048&&!e.declareFunctions.has(t)){let n=e.names.get(t);return(n&4)>0||(n&2)>0}return!1}checkLocalExport(e){this.scopeStack[0].declareFunctions.has(e.name)||super.checkLocalExport(e)}},_t=new Set([`_`,`any`,`bool`,`boolean`,`empty`,`extends`,`false`,`interface`,`mixed`,`null`,`number`,`static`,`string`,`true`,`typeof`,`void`]),E=ue`flow`({AmbiguousConditionalArrow:`Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.`,AmbiguousDeclareModuleKind:"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.",AssignReservedType:({reservedType:e})=>`Cannot overwrite reserved type ${e}.`,DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement.",EnumBooleanMemberNotInitialized:({memberName:e,enumName:t})=>`Boolean enum members need to be initialized. Use either \`${e} = true,\` or \`${e} = false,\` in enum \`${t}\`.`,EnumDuplicateMemberName:({memberName:e,enumName:t})=>`Enum member names need to be unique, but the name \`${e}\` has already been used before in enum \`${t}\`.`,EnumInconsistentMemberValues:({enumName:e})=>`Enum \`${e}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`,EnumInvalidExplicitType:({invalidEnumType:e,enumName:t})=>`Enum type \`${e}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${t}\`.`,EnumInvalidExplicitTypeUnknownSupplied:({enumName:e})=>`Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${e}\`.`,EnumInvalidMemberInitializerPrimaryType:({enumName:e,memberName:t,explicitType:n})=>`Enum \`${e}\` has type \`${n}\`, so the initializer of \`${t}\` needs to be a ${n} literal.`,EnumInvalidMemberInitializerSymbolType:({enumName:e,memberName:t})=>`Symbol enum members cannot be initialized. Use \`${t},\` in enum \`${e}\`.`,EnumInvalidMemberInitializerUnknownType:({enumName:e,memberName:t})=>`The enum member initializer for \`${t}\` needs to be a literal (either a boolean, number, or string) in enum \`${e}\`.`,EnumInvalidMemberName:({enumName:e,memberName:t,suggestion:n})=>`Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${t}\`, consider using \`${n}\`, in enum \`${e}\`.`,EnumNumberMemberNotInitialized:({enumName:e,memberName:t})=>`Number enum members need to be initialized, e.g. \`${t} = 1\` in enum \`${e}\`.`,EnumStringMemberInconsistentlyInitialized:({enumName:e})=>`String enum members need to consistently either all use initializers, or use no initializers, in enum \`${e}\`.`,GetterMayNotHaveThisParam:"A getter cannot have a `this` parameter.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.",InexactInsideExact:`Explicit inexact syntax cannot appear inside an explicit exact object type.`,InexactInsideNonObject:`Explicit inexact syntax cannot appear in class or interface definitions.`,InexactVariance:`Explicit inexact syntax cannot have variance.`,InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`.",MissingTypeParamDefault:`Type parameter declaration needs a default, since a preceding type parameter declaration has a default.`,NestedDeclareModule:"`declare module` cannot be used inside another `declare module`.",NestedFlowComment:`Cannot have a flow comment inside another flow comment.`,PatternIsOptional:{message:`A binding pattern parameter cannot be optional in an implementation signature.`},SetterMayNotHaveThisParam:"A setter cannot have a `this` parameter.",SpreadVariance:`Spread properties cannot have variance.`,ThisParamAnnotationRequired:"A type annotation is required for the `this` parameter.",ThisParamBannedInConstructor:"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",ThisParamMayNotBeOptional:"The `this` parameter cannot be optional.",ThisParamMustBeFirst:"The `this` parameter must be the first function parameter.",ThisParamNoDefault:"The `this` parameter may not have a default value.",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeCastInPattern:`The type cast expression is expected to be wrapped with parenthesis.`,UnexpectedExplicitInexactInObject:`Explicit inexact syntax must appear at the end of an inexact object.`,UnexpectedReservedType:({reservedType:e})=>`Unexpected reserved type ${e}.`,UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new.",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:`Spread operator cannot appear in class or interface definitions.`,UnexpectedSubtractionOperand:`Unexpected token, expected "number" or "bigint".`,UnexpectedTokenAfterTypeParameter:`Expected an arrow function after this type parameter declaration.`,UnexpectedTypeParameterBeforeAsyncArrowFunction:"Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}`, use `async <T>() => {}`.",UnsupportedDeclareExportKind:({unsupportedExportKind:e,suggestion:t})=>`\`declare export ${e}\` is not supported. Use \`${t}\` instead.`,UnsupportedStatementInDeclareModule:`Only declares and type imports are allowed inside declare module.`,UnterminatedFlowComment:`Unterminated flow-comment.`});function vt(e){return e.type===`DeclareExportAllDeclaration`||e.type===`DeclareExportDeclaration`&&(!e.declaration||e.declaration.type!==`TypeAlias`&&e.declaration.type!==`InterfaceDeclaration`)}function yt(e){return e.importKind===`type`||e.importKind===`typeof`}var bt={const:`declare export var`,let:`declare export var`,type:`export type`,interface:`export interface`};function xt(e,t){let n=[],r=[];for(let i=0;i<e.length;i++)(t(e[i],i,e)?n:r).push(e[i]);return[n,r]}var St=/\*?\s*@((?:no)?flow)\b/,Ct=e=>class extends e{flowPragma=void 0;getScopeHandler(){return gt}shouldParseTypes(){return this.getPluginOption(`flow`,`all`)||this.flowPragma===`flow`}finishToken(e,t){e!==130&&e!==9&&e!==24&&this.flowPragma===void 0&&(this.flowPragma=null),super.finishToken(e,t)}addComment(e){if(this.flowPragma===void 0){let t=St.exec(e.value);if(t){if(t[1]===`flow`)this.flowPragma=`flow`;else if(t[1]===`noflow`)this.flowPragma=`noflow`;else throw Error(`Unexpected flow pragma`)}}super.addComment(e)}flowParseTypeInitialiser(e){let t=this.state.inType;this.state.inType=!0,this.expect(e||10);let n=this.flowParseType();return this.state.inType=t,n}flowParsePredicate(){let e=this.startNode(),t=this.state.startLoc;return this.next(),this.expectContextual(106),this.state.lastTokStartLoc.index>t.index+1&&this.raise(E.UnexpectedSpaceBetweenModuloChecks,t),this.eat(6)?(e.value=super.parseExpression(),this.expect(7),this.finishNode(e,`DeclaredPredicate`)):this.finishNode(e,`InferredPredicate`)}flowParseTypeAndPredicateInitialiser(e){let t=this.state.inType;this.state.inType=!0,this.expect(10);let n=null,r=null;return e&&this.match(50)?(this.state.inType=t,r=this.flowParsePredicate()):(n=this.flowParseType(),this.state.inType=t,this.match(50)&&(r=this.flowParsePredicate())),[n,r]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,`DeclareClass`)}flowParseDeclareFunction(e){this.next();let t=e.id=this.parseIdentifier(),n=this.startNode(),r=this.startNode();n.typeParameters=this.match(43)?this.flowParseTypeParameterDeclaration():null,this.expect(6);let i=this.flowParseFunctionTypeParams();return n.params=i.params,n.rest=i.rest,n.this=i._this,this.expect(7),[n.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(!1),r.typeAnnotation=this.finishNode(n,`FunctionTypeAnnotation`),t.typeAnnotation=this.finishNode(r,`TypeAnnotation`),this.resetEndLocation(t),this.semicolon(),this.scope.declareName(e.id.name,2048,e.id.start),this.finishNode(e,`DeclareFunction`)}flowParseDeclare(e,t){if(this.match(76))return this.flowParseDeclareClass(e);if(this.match(64))return this.flowParseDeclareFunction(e);if(this.match(70))return this.flowParseDeclareVariable(e);if(this.eatContextual(123))return this.match(12)?this.flowParseDeclareModuleExports(e):(t&&this.raise(E.NestedDeclareModule,this.state.lastTokStartLoc),this.flowParseDeclareModule(e));if(this.isContextual(126))return this.flowParseDeclareTypeAlias(e);if(this.isContextual(127))return this.flowParseDeclareOpaqueType(e);if(this.isContextual(125))return this.flowParseDeclareInterface(e);if(this.match(78))return this.flowParseDeclareExportDeclaration(e,t);throw this.unexpected()}flowParseDeclareVariable(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(),this.scope.declareName(e.id.name,5,e.id.start),this.semicolon(),this.finishNode(e,`DeclareVariable`)}flowParseDeclareModule(e){this.scope.enter(0),e.id=this.match(130)?super.parseExprAtom():this.parseIdentifier();let t=this.startNode(),n=t.body=[];for(this.expect(2);!this.match(4);){let e=this.startNode();this.match(79)?(this.next(),!this.isContextual(126)&&!this.match(83)&&this.raise(E.InvalidNonTypeImportInDeclareModule,this.state.lastTokStartLoc),n.push(super.parseImport(e))):(this.expectContextual(121,E.UnsupportedStatementInDeclareModule),n.push(this.flowParseDeclare(e,!0)))}this.scope.exit(),this.expect(4),e.body=this.finishNode(t,`BlockStatement`);let r=null,i=!1;return n.forEach(e=>{vt(e)?(r===`CommonJS`&&this.raise(E.AmbiguousDeclareModuleKind,e),r=`ES`):e.type===`DeclareModuleExports`&&(i&&this.raise(E.DuplicateDeclareModuleExports,e),r===`ES`&&this.raise(E.AmbiguousDeclareModuleKind,e),r=`CommonJS`,i=!0)}),e.kind=r||`CommonJS`,this.finishNode(e,`DeclareModule`)}flowParseDeclareExportDeclaration(e,t){if(this.expect(78),this.eat(61))return this.match(64)||this.match(76)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,`DeclareExportDeclaration`);if(this.match(71)||this.isLet()||(this.isContextual(126)||this.isContextual(125))&&!t){let e=this.state.value;throw this.raise(E.UnsupportedDeclareExportKind,this.state.startLoc,{unsupportedExportKind:e,suggestion:bt[e]})}if(this.match(70)||this.match(64)||this.match(76)||this.isContextual(127))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,`DeclareExportDeclaration`);if(this.match(51)||this.match(2)||this.isContextual(125)||this.isContextual(126)||this.isContextual(127)){let t=this.parseExport(e,null);return t.type===`ExportNamedDeclaration`?(t.default=!1,delete t.exportKind,this.castNodeTo(t,`DeclareExportDeclaration`)):this.castNodeTo(t,`DeclareExportAllDeclaration`)}throw this.unexpected()}flowParseDeclareModuleExports(e){return this.next(),this.expectContextual(107),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,`DeclareModuleExports`)}flowParseDeclareTypeAlias(e){this.next();let t=this.flowParseTypeAlias(e);return this.castNodeTo(t,`DeclareTypeAlias`),t}flowParseDeclareOpaqueType(e){return this.next(),this.flowParseOpaqueType(e,!0)}flowParseDeclareInterface(e){return this.next(),this.flowParseInterfaceish(e,!1),this.finishNode(e,`DeclareInterface`)}flowParseInterfaceish(e,t){if(e.id=this.flowParseRestrictedIdentifier(!t,!0),this.scope.declareName(e.id.name,t?17:8201,e.id.start),e.typeParameters=this.match(43)?this.flowParseTypeParameterDeclaration():null,e.extends=[],this.eat(77))do e.extends.push(this.flowParseInterfaceExtends());while(!t&&this.eat(8));if(t){let t=[],n=[];if(this.eatContextual(113))do n.push(this.flowParseInterfaceExtends());while(this.eat(8));if(this.eatContextual(109))do t.push(this.flowParseClassImplements());while(this.eat(8));e.implements=t,e.mixins=n}e.body=this.flowParseObjectType({allowStatic:t,allowExact:!1,allowSpread:!1,allowProto:t,allowInexact:!1})}flowParseInterfaceExtends(){let e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),e.typeParameters=this.match(43)?this.flowParseTypeParameterInstantiation():null,this.finishNode(e,`InterfaceExtends`)}flowParseInterface(e){return this.flowParseInterfaceish(e,!1),this.finishNode(e,`InterfaceDeclaration`)}checkNotUnderscore(e){e===`_`&&this.raise(E.UnexpectedReservedUnderscore,this.state.startLoc)}checkReservedType(e,t,n){_t.has(e)&&this.raise(n?E.AssignReservedType:E.UnexpectedReservedType,t,{reservedType:e})}flowParseRestrictedIdentifierName(e,t){return this.checkReservedType(this.state.value,this.state.startLoc,t),this.parseIdentifierName(e)}flowParseRestrictedIdentifier(e,t){let n=this.startNode(),r=this.flowParseRestrictedIdentifierName(e,t);return this.createIdentifier(n,r)}flowParseTypeAlias(e){return e.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(e.id.name,8201,e.id.start),e.typeParameters=this.match(43)?this.flowParseTypeParameterDeclaration():null,e.right=this.flowParseTypeInitialiser(25),this.semicolon(),this.finishNode(e,`TypeAlias`)}flowParseOpaqueType(e,t){return this.expectContextual(126),e.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(e.id.name,8201,e.id.start),e.typeParameters=this.match(43)?this.flowParseTypeParameterDeclaration():null,e.supertype=null,this.match(10)&&(e.supertype=this.flowParseTypeInitialiser(10)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(25)),this.semicolon(),this.finishNode(e,t?`DeclareOpaqueType`:`OpaqueType`)}flowParseTypeParameterBound(){if(this.match(10)||this.isContextual(77)){let e=this.startNode();return this.next(),e.typeAnnotation=this.flowParseType(),this.finishNode(e,`TypeAnnotation`)}}flowParseTypeParameter(e=!1){let t=this.state.startLoc,n=this.startNode(),r=this.flowParseVariance();return n.name=this.flowParseRestrictedIdentifierName(),n.variance=r,n.bound=this.flowParseTypeParameterBound(),this.match(25)?(this.eat(25),n.default=this.flowParseType()):e&&this.raise(E.MissingTypeParamDefault,t),this.finishNode(n,`TypeParameter`)}flowParseTypeParameterDeclaration(){let e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.match(43)||this.match(138)?this.next():this.unexpected();let n=!1;do{let e=this.flowParseTypeParameter(n);t.params.push(e),e.default&&(n=!0),this.match(44)||this.expect(8)}while(!this.match(44));return this.expect(44),this.state.inType=e,this.finishNode(t,`TypeParameterDeclaration`)}flowInTopLevelContext(e){if(this.curContext()!==T.brace){let t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}else return e()}flowParseTypeParameterInstantiationInExpression(){if(this.reScan_lt()===43)return this.flowParseTypeParameterInstantiation()}flowParseTypeParameterInstantiation(){let e=this.startNode(),t=this.state.inType;return this.state.inType=!0,e.params=[],this.flowInTopLevelContext(()=>{this.expect(43);let t=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.match(44);)e.params.push(this.flowParseType()),this.match(44)||this.expect(8);this.state.noAnonFunctionType=t}),this.state.inType=t,!this.state.inType&&this.curContext()===T.brace&&this.reScan_lt_gt(),this.expect(44),this.finishNode(e,`TypeParameterInstantiation`)}flowParseTypeParameterInstantiationCallOrNew(){if(this.reScan_lt()!==43)return null;let e=this.startNode(),t=this.state.inType;for(e.params=[],this.state.inType=!0,this.expect(43);!this.match(44);)e.params.push(this.flowParseTypeOrImplicitInstantiation()),this.match(44)||this.expect(8);return this.expect(44),this.state.inType=t,this.finishNode(e,`TypeParameterInstantiation`)}flowParseInterfaceType(){let e=this.startNode();if(this.expectContextual(125),e.extends=[],this.eat(77))do e.extends.push(this.flowParseInterfaceExtends());while(this.eat(8));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,`InterfaceTypeAnnotation`)}flowParseObjectPropertyKey(){return this.match(131)||this.match(130)?super.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,t,n){return e.static=t,this.lookahead().type===10?(e.id=this.parseIdentifier(!0),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(1),e.value=this.flowParseTypeInitialiser(),e.variance=n,this.finishNode(e,`ObjectTypeIndexer`)}flowParseObjectTypeInternalSlot(e,t){return e.static=t,e.id=this.parseIdentifier(!0),this.expect(1),this.expect(1),this.match(43)||this.match(6)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAtNode(e))):(e.method=!1,this.eat(13)&&(e.optional=!0),e.value=this.flowParseTypeInitialiser()),this.finishNode(e,`ObjectTypeInternalSlot`)}flowParseObjectTypeMethodish(e){for(e.params=[],e.rest=null,e.typeParameters=null,e.this=null,this.match(43)&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(6),this.match(74)&&(e.this=this.flowParseFunctionTypeParam(!0),e.this.name=null,this.match(7)||this.expect(8));!this.match(7)&&!this.match(17);)e.params.push(this.flowParseFunctionTypeParam(!1)),this.match(7)||this.expect(8);return this.eat(17)&&(e.rest=this.flowParseFunctionTypeParam(!1)),this.expect(7),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,`FunctionTypeAnnotation`)}flowParseObjectTypeCallProperty(e,t){let n=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(n),this.finishNode(e,`ObjectTypeCallProperty`)}flowParseObjectType({allowStatic:e,allowExact:t,allowSpread:n,allowProto:r,allowInexact:i}){let a=this.state.inType;this.state.inType=!0;let o=this.startNode();o.callProperties=[],o.properties=[],o.indexers=[],o.internalSlots=[];let s,c,l=!1;for(t&&this.match(3)?(this.expect(3),s=5,c=!0):(this.expect(2),s=4,c=!1),o.exact=c;!this.match(s);){let t=!1,a=null,s=null,u=this.startNode();if(r&&this.isContextual(114)){let t=this.lookahead();t.type!==10&&t.type!==13&&(this.next(),a=this.state.startLoc,e=!1)}if(e&&this.isContextual(102)){let e=this.lookahead();e.type!==10&&e.type!==13&&(this.next(),t=!0)}let d=this.flowParseVariance();if(this.eat(0))a!=null&&this.unexpected(a),this.eat(0)?(d&&this.unexpected(d.start),o.internalSlots.push(this.flowParseObjectTypeInternalSlot(u,t))):o.indexers.push(this.flowParseObjectTypeIndexer(u,t,d));else if(this.match(6)||this.match(43))a!=null&&this.unexpected(a),d&&this.unexpected(d.start),o.callProperties.push(this.flowParseObjectTypeCallProperty(u,t));else{let e=`init`;(this.isContextual(95)||this.isContextual(100))&&Ae(this.lookahead().type)&&(e=this.state.value,this.next());let r=this.flowParseObjectTypeProperty(u,t,a,d,e,n,i??!c);r===null?(l=!0,s=this.state.lastTokStartLoc):o.properties.push(r)}this.flowObjectTypeSemicolon(),s&&!this.match(4)&&!this.match(5)&&this.raise(E.UnexpectedExplicitInexactInObject,s)}this.expect(s),n&&(o.inexact=l);let u=this.finishNode(o,`ObjectTypeAnnotation`);return this.state.inType=a,u}flowParseObjectTypeProperty(e,t,n,r,i,a,o){if(this.eat(17))return this.match(8)||this.match(9)||this.match(4)||this.match(5)?(a?o||this.raise(E.InexactInsideExact,this.state.lastTokStartLoc):this.raise(E.InexactInsideNonObject,this.state.lastTokStartLoc),r&&this.raise(E.InexactVariance,r),null):(a||this.raise(E.UnexpectedSpreadType,this.state.lastTokStartLoc),n!=null&&this.unexpected(n),r&&this.raise(E.SpreadVariance,r),e.argument=this.flowParseType(),this.finishNode(e,`ObjectTypeSpreadProperty`));{e.key=this.flowParseObjectPropertyKey(),e.static=t,e.proto=n!=null,e.kind=i;let o=!1;return this.match(43)||this.match(6)?(e.method=!0,n!=null&&this.unexpected(n),r&&this.unexpected(r.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAtNode(e)),i===`get`||i===`set`?this.flowCheckGetterSetterParams(e):!t&&!a&&e.key.name===`constructor`&&e.value.this&&this.raise(E.ThisParamBannedInConstructor,e.value.this)):(i!==`init`&&this.unexpected(),e.method=!1,this.eat(13)&&(o=!0),e.value=this.flowParseTypeInitialiser(),e.variance=r),e.optional=o,this.finishNode(e,`ObjectTypeProperty`)}}flowCheckGetterSetterParams(e){let t=e.kind===`get`?0:1,n=e.value,r=n.params.length+ +!!n.rest;n.this&&this.raise(e.kind===`get`?E.GetterMayNotHaveThisParam:E.SetterMayNotHaveThisParam,n.this),r!==t&&this.raise(e.kind===`get`?g.BadGetterArity:g.BadSetterArity,e),e.kind===`set`&&n.rest&&this.raise(g.BadSetterRestParameter,e)}flowObjectTypeSemicolon(){!this.eat(9)&&!this.eat(8)&&!this.match(4)&&!this.match(5)&&this.unexpected()}flowParseQualifiedTypeIdentifier(e,t){e??=this.state.startLoc;let n=t||this.flowParseRestrictedIdentifier(!0);for(;this.eat(12);){let t=this.startNodeAt(e);t.qualification=n,t.id=this.flowParseRestrictedIdentifier(!0),n=this.finishNode(t,`QualifiedTypeIdentifier`)}return n}flowParseGenericType(e,t){let n=this.startNodeAt(e);return n.typeParameters=null,n.id=this.flowParseQualifiedTypeIdentifier(e,t),this.match(43)&&(n.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(n,`GenericTypeAnnotation`)}flowParseTypeofType(){let e=this.startNode();return this.expect(83),e.argument=this.flowParsePrimaryType(),this.finishNode(e,`TypeofTypeAnnotation`)}flowParseTupleType(){let e=this.startNode();for(e.types=[],this.expect(0);this.state.pos<this.length&&!this.match(1)&&(e.types.push(this.flowParseType()),!this.match(1));)this.expect(8);return this.expect(1),this.finishNode(e,`TupleTypeAnnotation`)}flowParseFunctionTypeParam(e){let t=null,n=!1,r,i=this.startNode(),a=this.lookahead(),o=this.state.type===74;return a.type===10||a.type===13?(o&&!e&&this.raise(E.ThisParamMustBeFirst,i),t=this.parseIdentifier(o),this.eat(13)&&(n=!0,o&&this.raise(E.ThisParamMayNotBeOptional,i)),r=this.flowParseTypeInitialiser()):r=this.flowParseType(),i.name=t,i.optional=n,i.typeAnnotation=r,this.finishNode(i,`FunctionTypeParam`)}reinterpretTypeAsFunctionTypeParam(e){let t=this.startNodeAtNode(e);return t.name=null,t.optional=!1,t.typeAnnotation=e,this.finishNode(t,`FunctionTypeParam`)}flowParseFunctionTypeParams(e=[]){let t=null,n=null;for(this.match(74)&&(n=this.flowParseFunctionTypeParam(!0),n.name=null,this.match(7)||this.expect(8));!this.match(7)&&!this.match(17);)e.push(this.flowParseFunctionTypeParam(!1)),this.match(7)||this.expect(8);return this.eat(17)&&(t=this.flowParseFunctionTypeParam(!1)),{params:e,rest:t,_this:n}}flowIdentToTypeAnnotation(e,t,n){switch(n.name){case`any`:return this.finishNode(t,`AnyTypeAnnotation`);case`bool`:case`boolean`:return this.finishNode(t,`BooleanTypeAnnotation`);case`mixed`:return this.finishNode(t,`MixedTypeAnnotation`);case`empty`:return this.finishNode(t,`EmptyTypeAnnotation`);case`number`:return this.finishNode(t,`NumberTypeAnnotation`);case`string`:return this.finishNode(t,`StringTypeAnnotation`);case`symbol`:return this.finishNode(t,`SymbolTypeAnnotation`);default:return this.checkNotUnderscore(n.name),this.flowParseGenericType(e,n)}}flowParsePrimaryType(){let e=this.state.startLoc,t=this.startNode(),n,r,i=!1,a=this.state.noAnonFunctionType;switch(this.state.type){case 2:return this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!0,allowProto:!1,allowInexact:!0});case 3:return this.flowParseObjectType({allowStatic:!1,allowExact:!0,allowSpread:!0,allowProto:!1,allowInexact:!1});case 0:return this.state.noAnonFunctionType=!1,r=this.flowParseTupleType(),this.state.noAnonFunctionType=a,r;case 43:{let e=this.startNode();return e.typeParameters=this.flowParseTypeParameterDeclaration(),this.expect(6),n=this.flowParseFunctionTypeParams(),e.params=n.params,e.rest=n.rest,e.this=n._this,this.expect(7),this.expect(15),e.returnType=this.flowParseType(),this.finishNode(e,`FunctionTypeAnnotation`)}case 6:{let e=this.startNode();if(this.next(),!this.match(7)&&!this.match(17)){if(w(this.state.type)||this.match(74)){let e=this.lookahead().type;i=e!==13&&e!==10}else i=!0}if(i){if(this.state.noAnonFunctionType=!1,r=this.flowParseType(),this.state.noAnonFunctionType=a,this.state.noAnonFunctionType||!(this.match(8)||this.match(7)&&this.lookahead().type===15))return this.expect(7),r;this.eat(8)}return n=r?this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(r)]):this.flowParseFunctionTypeParams(),e.params=n.params,e.rest=n.rest,e.this=n._this,this.expect(7),this.expect(15),e.returnType=this.flowParseType(),e.typeParameters=null,this.finishNode(e,`FunctionTypeAnnotation`)}case 130:return this.parseLiteral(this.state.value,`StringLiteralTypeAnnotation`);case 81:case 82:return t.value=this.match(81),this.next(),this.finishNode(t,`BooleanLiteralTypeAnnotation`);case 49:if(this.state.value===`-`){if(this.next(),this.match(131))return this.parseLiteralAtNode(-this.state.value,`NumberLiteralTypeAnnotation`,t);if(this.match(132))return this.parseLiteralAtNode(-this.state.value,`BigIntLiteralTypeAnnotation`,t);throw this.raise(E.UnexpectedSubtractionOperand,this.state.startLoc)}throw this.unexpected();case 131:return this.parseLiteral(this.state.value,`NumberLiteralTypeAnnotation`);case 132:return this.parseLiteral(this.state.value,`BigIntLiteralTypeAnnotation`);case 84:return this.next(),this.finishNode(t,`VoidTypeAnnotation`);case 80:return this.next(),this.finishNode(t,`NullLiteralTypeAnnotation`);case 74:return this.next(),this.finishNode(t,`ThisTypeAnnotation`);case 51:return this.next(),this.finishNode(t,`ExistsTypeAnnotation`);case 83:return this.flowParseTypeofType();default:if(Ie(this.state.type)){let e=He(this.state.type);return this.next(),super.createIdentifier(t,e)}if(w(this.state.type))return this.isContextual(125)?this.flowParseInterfaceType():this.flowIdentToTypeAnnotation(e,t,this.parseIdentifier())}throw this.unexpected()}flowParsePostfixType(){let e=this.state.startLoc,t=this.flowParsePrimaryType(),n=!1;for(;(this.match(0)||this.match(14))&&!this.canInsertSemicolon();){let r=this.startNodeAt(e),i=this.eat(14);n||=i,this.expect(0),!i&&this.match(1)?(r.elementType=t,this.next(),t=this.finishNode(r,`ArrayTypeAnnotation`)):(r.objectType=t,r.indexType=this.flowParseType(),this.expect(1),n?(r.optional=i,t=this.finishNode(r,`OptionalIndexedAccessType`)):t=this.finishNode(r,`IndexedAccessType`))}return t}flowParsePrefixType(){let e=this.startNode();return this.eat(13)?(e.typeAnnotation=this.flowParsePrefixType(),this.finishNode(e,`NullableTypeAnnotation`)):this.flowParsePostfixType()}flowParseAnonFunctionWithoutParens(){let e=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(15)){let t=this.startNodeAtNode(e);return t.params=[this.reinterpretTypeAsFunctionTypeParam(e)],t.rest=null,t.this=null,t.returnType=this.flowParseType(),t.typeParameters=null,this.finishNode(t,`FunctionTypeAnnotation`)}return e}flowParseIntersectionType(){let e=this.startNode();this.eat(41);let t=this.flowParseAnonFunctionWithoutParens();for(e.types=[t];this.eat(41);)e.types.push(this.flowParseAnonFunctionWithoutParens());return e.types.length===1?t:this.finishNode(e,`IntersectionTypeAnnotation`)}flowParseUnionType(){let e=this.startNode();this.eat(39);let t=this.flowParseIntersectionType();for(e.types=[t];this.eat(39);)e.types.push(this.flowParseIntersectionType());return e.types.length===1?t:this.finishNode(e,`UnionTypeAnnotation`)}flowParseType(){let e=this.state.inType;this.state.inType=!0;let t=this.flowParseUnionType();return this.state.inType=e,t}flowParseTypeOrImplicitInstantiation(){if(this.state.type===128&&this.state.value===`_`){let e=this.state.startLoc,t=this.parseIdentifier();return this.flowParseGenericType(e,t)}return this.flowParseType()}flowParseTypeAnnotation(){let e=this.startNode();return e.typeAnnotation=this.flowParseTypeInitialiser(),this.finishNode(e,`TypeAnnotation`)}flowParseTypeAnnotatableIdentifier(){let e=this.startNode(),t=this.parseIdentifierName();return this.match(10)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),this.createIdentifier(e,t)}typeCastToParameter(e){return e.expression.typeAnnotation=e.typeAnnotation,this.resetEndLocationFromNode(e.expression,e.typeAnnotation),e.expression}flowParseVariance(){let e=null;return this.match(49)?(e=this.startNode(),this.state.value===`+`?e.kind=`plus`:e.kind=`minus`,this.next(),this.finishNode(e,`Variance`)):e}parseFunctionBody(e,t,n=!1){if(t){this.forwardNoArrowParamsConversionAt(e,()=>super.parseFunctionBody(e,!0,n));return}super.parseFunctionBody(e,!1,n)}parseFunctionBodyAndFinish(e,t,n=!1){if(this.match(10)){let n=this.startNode();t===`FunctionDeclaration`||t===`FunctionExpression`||t===`ArrowFunctionExpression`?[n.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(!0):n.typeAnnotation=this.flowParseTypeInitialiser(),e.returnType=n.typeAnnotation?this.finishNode(n,`TypeAnnotation`):null}return super.parseFunctionBodyAndFinish(e,t,n)}parseStatementLike(e){if(this.state.strict&&this.isContextual(125)){if(ke(this.lookahead().type)){let e=this.startNode();return this.next(),this.flowParseInterface(e)}}else if(this.isContextual(122)){let e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}let t=super.parseStatementLike(e);return this.flowPragma===void 0&&!this.isValidDirective(t)&&(this.flowPragma=null),t}parseExpressionStatement(e,t,n){if(t.type===`Identifier`){if(t.name===`declare`){if(this.match(76)||w(this.state.type)||this.match(64)||this.match(70)||this.match(78))return this.flowParseDeclare(e)}else if(w(this.state.type)){if(t.name===`interface`)return this.flowParseInterface(e);if(t.name===`type`)return this.flowParseTypeAlias(e);if(t.name===`opaque`)return this.flowParseOpaqueType(e,!1)}}return super.parseExpressionStatement(e,t,n)}shouldParseExportDeclaration(){let{type:e}=this.state;return e===122||Pe(e)?!this.state.containsEsc:super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){let{type:e}=this.state;return e===122||Pe(e)?this.state.containsEsc:super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.isContextual(122)){let e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDefaultExpression()}parseConditional(e,t,n){if(!this.match(13))return e;if(n!=null){let t=this.lookaheadCharCode();if(t===44||t===61||t===58||t===41)return this.setOptionalParametersError(n),e}this.expect(13);let r=this.state.clone(),i=this.state.noArrowAt,a=this.startNodeAt(t),{consequent:o,failed:s}=this.tryParseConditionalConsequent(),c=this.getArrowLikeExpressions(o),l=c[0],u=c[1];if(s||u.length>0){let e=[...i];if(u.length>0){this.state=r,this.state.noArrowAt=e;for(let t=0;t<u.length;t++)e.push(u[t].start);({consequent:o,failed:s}=this.tryParseConditionalConsequent()),[l]=this.getArrowLikeExpressions(o)}s&&l.length>1&&this.raise(E.AmbiguousConditionalArrow,r.startLoc),s&&l.length===1&&(this.state=r,e.push(l[0].start),this.state.noArrowAt=e,{consequent:o}=this.tryParseConditionalConsequent())}return this.getArrowLikeExpressions(o,!0),this.state.noArrowAt=i,this.expect(10),a.test=e,a.consequent=o,a.alternate=this.forwardNoArrowParamsConversionAt(a,()=>this.parseMaybeAssign(void 0,void 0)),this.finishNode(a,`ConditionalExpression`)}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);let e=this.parseMaybeAssignAllowIn(),t=!this.match(10);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:t}}getArrowLikeExpressions(e,t){let n=[e],r=[];for(;n.length!==0;){let e=n.pop();e.type===`ArrowFunctionExpression`&&e.body.type!==`BlockStatement`?(e.typeParameters||!e.returnType?this.finishArrowValidation(e):r.push(e),n.push(e.body)):e.type===`ConditionalExpression`&&(n.push(e.consequent),n.push(e.alternate))}return t?(r.forEach(e=>this.finishArrowValidation(e)),[r,[]]):xt(r,e=>e.params.every(e=>this.isAssignable(e,!0)))}finishArrowValidation(e){this.toAssignableList(e.params,e.extra?.trailingCommaLoc,!1),this.scope.enter(518),super.checkParams(e,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(e,t){let n;return this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(e.start))?(this.state.noArrowParamsConversionAt.push(this.state.start),n=t(),this.state.noArrowParamsConversionAt.pop()):n=t(),n}parseParenItem(e,t){let n=super.parseParenItem(e,t);if(this.eat(13)&&(n.optional=!0,this.resetEndLocation(e)),this.match(10)){let e=this.startNodeAt(t);return e.expression=n,e.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(e,`TypeCastExpression`)}return n}assertModuleNodeAllowed(e){e.type===`ImportDeclaration`&&(e.importKind===`type`||e.importKind===`typeof`)||e.type===`ExportNamedDeclaration`&&e.exportKind===`type`||e.type===`ExportAllDeclaration`&&e.exportKind===`type`||super.assertModuleNodeAllowed(e)}parseExportDeclaration(e){if(this.isContextual(126)){e.exportKind=`type`;let t=this.startNode();return this.next(),this.match(2)?(e.specifiers=this.parseExportSpecifiers(!0),super.parseExportFrom(e),null):this.flowParseTypeAlias(t)}if(this.isContextual(127)){e.exportKind=`type`;let t=this.startNode();return this.next(),this.flowParseOpaqueType(t,!1)}if(this.isContextual(125)){e.exportKind=`type`;let t=this.startNode();return this.next(),this.flowParseInterface(t)}if(this.isContextual(122)){e.exportKind=`value`;let t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}return super.parseExportDeclaration(e)}eatExportStar(e){return super.eatExportStar(e)?!0:this.isContextual(126)&&this.lookahead().type===51?(e.exportKind=`type`,this.next(),this.next(),!0):!1}maybeParseExportNamespaceSpecifier(e){let{startLoc:t}=this.state,n=super.maybeParseExportNamespaceSpecifier(e);return n&&e.exportKind===`type`&&this.unexpected(t),n}parseClassId(e,t,n){if((!t||n)&&this.isContextual(109)){e.id=null;return}super.parseClassId(e,t,n),this.match(43)&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,t,n){let{startLoc:r}=this.state;if(this.isContextual(121)){if(super.parseClassMemberFromModifier(e,t))return;t.declare=!0}super.parseClassMember(e,t,n),t.declare&&(t.type!==`ClassProperty`&&t.type!==`ClassPrivateProperty`&&t.type!==`PropertyDefinition`?this.raise(E.DeclareClassElement,r):t.value&&this.raise(E.DeclareClassFieldInitializer,t.value))}isIterator(e){return e===`iterator`||e===`asyncIterator`}readIterator(){let e=super.readWord1(),t=`@@`+e;(!this.isIterator(e)||!this.state.inType)&&this.raise(g.InvalidIdentifier,this.state.curPosition(),{identifierName:t}),this.finishToken(128,t)}getTokenFromCode(e){let t=this.input.charCodeAt(this.state.pos+1);e===123&&t===124?this.finishOp(3,2):this.state.inType&&(e===62||e===60)?this.finishOp(e===62?44:43,1):this.state.inType&&e===63?t===46?this.finishOp(14,2):this.finishOp(13,1):ut(e,t,this.input.charCodeAt(this.state.pos+2))?(this.state.pos+=2,this.readIterator()):super.getTokenFromCode(e)}isAssignable(e,t){return e.type===`TypeCastExpression`?this.isAssignable(e.expression,t):super.isAssignable(e,t)}toAssignable(e,t=!1){!t&&e.type===`AssignmentExpression`&&e.left.type===`TypeCastExpression`&&(e.left=this.typeCastToParameter(e.left)),super.toAssignable(e,t)}toAssignableListItem(e,t,n){let r=e[t];r.type===`TypeCastExpression`&&(e[t]=this.typeCastToParameter(r)),super.toAssignableListItem(e,t,n)}toReferencedList(e,t){for(let n=0;n<e.length;n++){let r=e[n];r?.type===`TypeCastExpression`&&!r.extra?.parenthesized&&(e.length>1||!t)&&this.raise(E.TypeCastInPattern,r.typeAnnotation)}return e}parseArrayLike(e,t){let n=super.parseArrayLike(e,t);return n.type===`ArrayExpression`&&this.toReferencedList(n.elements),n}isValidLVal(e,t,n,r){return e===`TypeCastExpression`||super.isValidLVal(e,t,n,r)}parseClassProperty(e){return this.match(10)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(e)}parseClassPrivateProperty(e){return this.match(10)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(e)}isClassMethod(){return this.match(43)||super.isClassMethod()}isClassProperty(){return this.match(10)||super.isClassProperty()}isNonstaticConstructor(e){return!this.match(10)&&super.isNonstaticConstructor(e)}pushClassMethod(e,t,n,r,i,a){if(t.variance&&this.unexpected(t.variance.start),delete t.variance,this.match(43)&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,t,n,r,i,a),t.params&&i){let e=t.params;e.length>0&&this.isThisParam(e[0])&&this.raise(E.ThisParamBannedInConstructor,t)}else if(t.type===`MethodDefinition`&&i&&t.value.params){let e=t.value.params;e.length>0&&this.isThisParam(e[0])&&this.raise(E.ThisParamBannedInConstructor,t)}}pushClassPrivateMethod(e,t,n,r){t.variance&&this.unexpected(t.variance.start),delete t.variance,this.match(43)&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,t,n,r)}flowParseClassImplements(){let e=this.startNode();return e.id=this.flowParseRestrictedIdentifier(!0),e.typeParameters=this.match(43)?this.flowParseTypeParameterInstantiation():null,this.finishNode(e,`ClassImplements`)}parseClassSuper(e){if(super.parseClassSuper(e),e.superClass&&(this.match(43)||this.match(47))&&(e.superTypeArguments=this.flowParseTypeParameterInstantiationInExpression()),this.eatContextual(109)){let t=e.implements=[];do t.push(this.flowParseClassImplements());while(this.eat(8))}}checkGetterSetterParams(e){super.checkGetterSetterParams(e);let t=this.getObjectOrClassMethodParams(e);if(t.length>0){let n=t[0];this.isThisParam(n)&&e.kind===`get`?this.raise(E.GetterMayNotHaveThisParam,n):this.isThisParam(n)&&this.raise(E.SetterMayNotHaveThisParam,n)}}parsePropertyNamePrefixOperator(e){e.variance=this.flowParseVariance()}parseObjPropValue(e,t,n,r,i,a,o){e.variance&&this.unexpected(e.variance.start),delete e.variance;let s;this.match(43)&&!a&&(s=this.flowParseTypeParameterDeclaration(),this.match(6)||this.unexpected());let c=super.parseObjPropValue(e,t,n,r,i,a,o);return s&&((c.value||c).typeParameters=s),c}parseFunctionParamType(e){return this.eat(13)&&(e.type!==`Identifier`&&this.raise(E.PatternIsOptional,e),this.isThisParam(e)&&this.raise(E.ThisParamMayNotBeOptional,e),e.optional=!0),this.match(10)?e.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(e)&&this.raise(E.ThisParamAnnotationRequired,e),this.match(25)&&this.isThisParam(e)&&this.raise(E.ThisParamNoDefault,e),this.resetEndLocation(e),e}parseMaybeDefault(e,t){let n=super.parseMaybeDefault(e,t);return n.type===`AssignmentPattern`&&n.typeAnnotation&&n.right.start<n.typeAnnotation.start&&this.raise(E.TypeBeforeInitializer,n.typeAnnotation),n}parseImportSpecifierLocal(e,t,n){t.local=yt(e)?this.flowParseRestrictedIdentifier(!0,!0):this.parseIdentifier(),e.specifiers.push(this.finishImportSpecifier(t,n))}isPotentialImportPhase(e){if(super.isPotentialImportPhase(e))return!0;if(this.isContextual(126)){if(!e)return!0;let t=this.lookaheadCharCode();return t===123||t===42}return!e&&this.isContextual(83)}applyImportPhase(e,t,n,r){if(super.applyImportPhase(e,t,n,r),t){if(!n&&this.match(61))return;e.exportKind=n===`type`?n:`value`}else n===`type`&&this.match(51)&&this.unexpected(),e.importKind=n===`type`||n===`typeof`?n:`value`}parseImportSpecifier(e,t,n,r,i){let a=e.imported,o=null;a.type===`Identifier`&&(a.name===`type`?o=`type`:a.name===`typeof`&&(o=`typeof`));let s=!1;if(this.isContextual(89)&&!this.isLookaheadContextual(`as`)){let t=this.parseIdentifier(!0);o!==null&&!ke(this.state.type)?(e.imported=t,e.importKind=o,e.local=this.cloneIdentifier(t)):(e.imported=a,e.importKind=null,e.local=this.parseIdentifier())}else{if(o!==null&&ke(this.state.type))e.imported=this.parseIdentifier(!0),e.importKind=o;else{if(t)throw this.raise(g.ImportBindingIsString,e,{importName:a.value});e.imported=a,e.importKind=null}this.eatContextual(89)?e.local=this.parseIdentifier():(s=!0,e.local=this.cloneIdentifier(e.imported))}let c=yt(e);return n&&c&&this.raise(E.ImportTypeShorthandOnlyInPureImport,e),(n||c)&&this.checkReservedType(e.local.name,e.local.start,!0),s&&!n&&!c&&this.checkReservedWord(e.local.name,e.start,!0,!0),this.finishImportSpecifier(e,`ImportSpecifier`)}parseBindingAtom(){switch(this.state.type){case 74:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseFunctionParams(e,t){let n=e.kind;n!==`get`&&n!==`set`&&this.match(43)&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),this.match(10)&&(e.id.typeAnnotation=this.flowParseTypeAnnotation(),this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){if(this.match(10)){let t=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0,e.returnType=this.flowParseTypeAnnotation(),this.state.noAnonFunctionType=t}return super.parseAsyncArrowFromCallExpression(e,t)}shouldParseAsyncArrow(){return this.match(10)||super.shouldParseAsyncArrow()}parseMaybeAssign(e,t){let n=null,r;if(this.hasPlugin(`jsx`)&&(this.match(138)||this.match(43))){if(n=this.state.clone(),r=this.tryParse(()=>super.parseMaybeAssign(e,t),n),!r.error)return r.node;let{context:i}=this.state,a=i[i.length-1];(a===T.j_oTag||a===T.j_expr)&&i.pop()}if(r?.error||this.match(43)){n||=this.state.clone();let i,a=this.tryParse(n=>{i=this.flowParseTypeParameterDeclaration();let r=this.forwardNoArrowParamsConversionAt(i,()=>{let n=super.parseMaybeAssign(e,t);return this.resetStartLocationFromNode(n,i),n});r.extra?.parenthesized&&n();let a=this.maybeUnwrapTypeCastExpression(r);return a.type!==`ArrowFunctionExpression`&&n(),a.typeParameters=i,this.resetStartLocationFromNode(a,i),r},n),o=null;if(a.node&&this.maybeUnwrapTypeCastExpression(a.node).type===`ArrowFunctionExpression`){if(!a.error&&!a.aborted)return a.node.async&&this.raise(E.UnexpectedTypeParameterBeforeAsyncArrowFunction,i),a.node;o=a.node}if(r?.node)return this.state=r.failState,r.node;if(o)return this.state=a.failState,o;throw r?.thrown?r.error:a.thrown?a.error:this.raise(E.UnexpectedTokenAfterTypeParameter,i)}return super.parseMaybeAssign(e,t)}parseArrow(e){if(this.match(10)){let t=this.tryParse(()=>{let t=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;let n=this.startNode();return[n.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(!0),this.state.noAnonFunctionType=t,this.canInsertSemicolon()&&this.unexpected(),this.match(15)||this.unexpected(),n});if(t.thrown)return null;t.error&&(this.state=t.failState),e.returnType=t.node.typeAnnotation?this.finishNode(t.node,`TypeAnnotation`):null}return super.parseArrow(e)}shouldParseArrow(e){return this.match(10)||super.shouldParseArrow(e)}setArrowFunctionParameters(e,t){this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(e.start))?e.params=t:super.setArrowFunctionParameters(e,t)}checkParams(e,t,n,r=!0){if(!(n&&this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(e.start)))){for(let t=0;t<e.params.length;t++)this.isThisParam(e.params[t])&&t>0&&this.raise(E.ThisParamMustBeFirst,e.params[t]);super.checkParams(e,t,n,r)}}parseParenAndDistinguishExpression(e){return super.parseParenAndDistinguishExpression(e&&!this.state.noArrowAt.includes(this.sourceToOffsetPos(this.state.start)))}parseSubscripts(e,t,n){if(e.type===`Identifier`&&e.name===`async`&&this.state.noArrowAt.includes(t.index)){this.next();let n=this.startNodeAt(t);n.callee=e,n.arguments=super.parseCallExpressionArguments(),e=this.finishNode(n,`CallExpression`)}else if(e.type===`Identifier`&&e.name===`async`&&this.match(43)){let r=this.state.clone(),i=this.tryParse(e=>this.parseAsyncArrowWithTypeParameters(t)||e(),r);if(!i.error&&!i.aborted)return i.node;let a=this.tryParse(()=>super.parseSubscripts(e,t,n),r);if(a.node&&!a.error)return a.node;if(i.node)return this.state=i.failState,i.node;if(a.node)return this.state=a.failState,a.node;throw i.error||a.error}return super.parseSubscripts(e,t,n)}parseSubscript(e,t,n,r){if(this.match(14)&&this.isLookaheadToken_lt()){if(r.optionalChainMember=!0,n)return r.stop=!0,e;this.next();let i=this.startNodeAt(t);return i.callee=e,i.typeArguments=this.flowParseTypeParameterInstantiationInExpression(),this.expect(6),i.arguments=this.parseCallExpressionArguments(),i.optional=!0,this.finishCallExpression(i,!0)}if(!n&&this.shouldParseTypes()&&(this.match(43)||this.match(47))){let n=this.startNodeAt(t);n.callee=e;let i=this.tryParse(()=>(n.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(6),n.arguments=super.parseCallExpressionArguments(),r.optionalChainMember&&(n.optional=!1),this.finishCallExpression(n,r.optionalChainMember)));if(i.node)return i.error&&(this.state=i.failState),i.node}return super.parseSubscript(e,t,n,r)}parseNewCallee(e){super.parseNewCallee(e);let t=null;this.shouldParseTypes()&&this.match(43)&&(t=this.tryParse(()=>this.flowParseTypeParameterInstantiationCallOrNew()).node),e.typeArguments=t}parseAsyncArrowWithTypeParameters(e){let t=this.startNodeAt(e);if(this.parseFunctionParams(t,!1),this.parseArrow(t))return super.parseArrowExpression(t,void 0,!0)}readToken_mult_modulo(e){let t=this.input.charCodeAt(this.state.pos+1);if(e===42&&t===47&&this.state.hasFlowComment){this.state.hasFlowComment=!1,this.state.pos+=2,this.nextToken();return}super.readToken_mult_modulo(e)}readToken_pipe_amp(e){let t=this.input.charCodeAt(this.state.pos+1);if(e===124&&t===125){this.finishOp(5,2);return}super.readToken_pipe_amp(e)}parseTopLevel(e,t){let n=super.parseTopLevel(e,t);return this.state.hasFlowComment&&this.raise(E.UnterminatedFlowComment,this.state.curPosition()),n}skipBlockComment(){if(this.hasPlugin(`flowComments`)&&this.skipFlowComment()){if(this.state.hasFlowComment)throw this.raise(E.NestedFlowComment,this.state.startLoc);this.hasFlowCommentCompletion();let e=this.skipFlowComment();e&&(this.state.pos+=e,this.state.hasFlowComment=!0);return}return super.skipBlockComment(this.state.hasFlowComment?`*-/`:`*/`)}skipFlowComment(){let{pos:e}=this.state,t=2;for(;[32,9].includes(this.input.charCodeAt(e+t));)t++;let n=this.input.charCodeAt(t+e),r=this.input.charCodeAt(t+e+1);return n===58&&r===58?t+2:this.input.slice(t+e,t+e+12)===`flow-include`?t+12:n===58&&r!==58&&t}hasFlowCommentCompletion(){if(this.input.indexOf(`*/`,this.state.pos)===-1)throw this.raise(g.UnterminatedComment,this.state.curPosition())}flowEnumErrorBooleanMemberNotInitialized(e,t){this.raise(E.EnumBooleanMemberNotInitialized,e,t)}flowEnumErrorInvalidMemberInitializer(e,t){return this.raise(t.explicitType?t.explicitType===`symbol`?E.EnumInvalidMemberInitializerSymbolType:E.EnumInvalidMemberInitializerPrimaryType:E.EnumInvalidMemberInitializerUnknownType,e,t)}flowEnumErrorNumberMemberNotInitialized(e,t){this.raise(E.EnumNumberMemberNotInitialized,e,t)}flowEnumErrorStringMemberInconsistentlyInitialized(e,t){this.raise(E.EnumStringMemberInconsistentlyInitialized,e,t)}flowEnumMemberInit(){let e=this.state.startLoc,t=()=>this.match(8)||this.match(4);switch(this.state.type){case 131:{let e=this.parseNumericLiteral(this.state.value);if(t())return{type:`number`,loc:e.start,value:e};break}case 130:{let e=this.parseStringLiteral(this.state.value);if(t())return{type:`string`,loc:e.start,value:e};break}case 81:case 82:{let e=this.parseBooleanLiteral(this.match(81));if(t())return{type:`boolean`,loc:e.start,value:e}}}return{type:`invalid`,loc:e}}flowEnumMemberRaw(){let e=this.state.startLoc;return{id:this.parseIdentifier(!0),init:this.eat(25)?this.flowEnumMemberInit():{type:`none`,loc:e}}}flowEnumCheckExplicitTypeMismatch(e,t,n){let{explicitType:r}=t;r!==null&&r!==n&&this.flowEnumErrorInvalidMemberInitializer(e,t)}flowEnumMembers({enumName:e,explicitType:t}){let n=new Set,r={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]},i=!1;for(;!this.match(4);){if(this.eat(17)){i=!0;break}let a=this.startNode(),{id:o,init:s}=this.flowEnumMemberRaw(),c=o.name;if(c===``)continue;/^[a-z]/.test(c)&&this.raise(E.EnumInvalidMemberName,o,{memberName:c,suggestion:c[0].toUpperCase()+c.slice(1),enumName:e}),n.has(c)&&this.raise(E.EnumDuplicateMemberName,o,{memberName:c,enumName:e}),n.add(c);let l={enumName:e,explicitType:t,memberName:c};switch(a.id=o,s.type){case`boolean`:this.flowEnumCheckExplicitTypeMismatch(s.loc,l,`boolean`),a.init=s.value,r.booleanMembers.push(this.finishNode(a,`EnumBooleanMember`));break;case`number`:this.flowEnumCheckExplicitTypeMismatch(s.loc,l,`number`),a.init=s.value,r.numberMembers.push(this.finishNode(a,`EnumNumberMember`));break;case`string`:this.flowEnumCheckExplicitTypeMismatch(s.loc,l,`string`),a.init=s.value,r.stringMembers.push(this.finishNode(a,`EnumStringMember`));break;case`invalid`:throw this.flowEnumErrorInvalidMemberInitializer(s.loc,l);case`none`:switch(t){case`boolean`:this.flowEnumErrorBooleanMemberNotInitialized(s.loc,l);break;case`number`:this.flowEnumErrorNumberMemberNotInitialized(s.loc,l);break;default:r.defaultedMembers.push(this.finishNode(a,`EnumDefaultedMember`))}}this.match(4)||this.expect(8)}return{members:r,hasUnknownMembers:i}}flowEnumStringMembers(e,t,{enumName:n}){if(e.length===0)return t;if(t.length===0)return e;if(t.length>e.length){for(let t of e)this.flowEnumErrorStringMemberInconsistentlyInitialized(t,{enumName:n});return t}for(let e of t)this.flowEnumErrorStringMemberInconsistentlyInitialized(e,{enumName:n});return e}flowEnumParseExplicitType({enumName:e}){if(!this.eatContextual(98))return null;if(!w(this.state.type))throw this.raise(E.EnumInvalidExplicitTypeUnknownSupplied,this.state.startLoc,{enumName:e});let{value:t}=this.state;return this.next(),t!==`boolean`&&t!==`number`&&t!==`string`&&t!==`symbol`&&this.raise(E.EnumInvalidExplicitType,this.state.startLoc,{enumName:e,invalidEnumType:t}),t}flowEnumBody(e,t){let n=t.name,r=t.start,i=this.flowEnumParseExplicitType({enumName:n});this.expect(2);let{members:a,hasUnknownMembers:o}=this.flowEnumMembers({enumName:n,explicitType:i});switch(e.hasUnknownMembers=o,i){case`boolean`:return e.explicitType=!0,e.members=a.booleanMembers,this.expect(4),this.finishNode(e,`EnumBooleanBody`);case`number`:return e.explicitType=!0,e.members=a.numberMembers,this.expect(4),this.finishNode(e,`EnumNumberBody`);case`string`:return e.explicitType=!0,e.members=this.flowEnumStringMembers(a.stringMembers,a.defaultedMembers,{enumName:n}),this.expect(4),this.finishNode(e,`EnumStringBody`);case`symbol`:return e.members=a.defaultedMembers,this.expect(4),this.finishNode(e,`EnumSymbolBody`);default:{let t=()=>(e.members=[],this.expect(4),this.finishNode(e,`EnumStringBody`));e.explicitType=!1;let i=a.booleanMembers.length,o=a.numberMembers.length,s=a.stringMembers.length,c=a.defaultedMembers.length;if(!i&&!o&&!s&&!c)return t();if(!i&&!o)return e.members=this.flowEnumStringMembers(a.stringMembers,a.defaultedMembers,{enumName:n}),this.expect(4),this.finishNode(e,`EnumStringBody`);if(!o&&!s&&i>=c){for(let e of a.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized(e.start,{enumName:n,memberName:e.id.name});return e.members=a.booleanMembers,this.expect(4),this.finishNode(e,`EnumBooleanBody`)}if(!i&&!s&&o>=c){for(let e of a.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized(e.start,{enumName:n,memberName:e.id.name});return e.members=a.numberMembers,this.expect(4),this.finishNode(e,`EnumNumberBody`)}return this.raise(E.EnumInconsistentMemberValues,r,{enumName:n}),t()}}}flowParseEnumDeclaration(e){let t=this.parseIdentifier();return e.id=t,e.body=this.flowEnumBody(this.startNode(),t),this.finishNode(e,`EnumDeclaration`)}jsxParseOpeningElementAfterName(e){return this.shouldParseTypes()&&(this.match(43)||this.match(47))&&(e.typeArguments=this.flowParseTypeParameterInstantiationInExpression()),super.jsxParseOpeningElementAfterName(e)}isLookaheadToken_lt(){let e=this.nextTokenStart();if(this.input.charCodeAt(e)===60){let t=this.input.charCodeAt(e+1);return t!==60&&t!==61}return!1}reScan_lt_gt(){let{type:e}=this.state;e===43?(--this.state.pos,this.readToken_lt()):e===44&&(--this.state.pos,this.readToken_gt())}reScan_lt(){let{type:e}=this.state;return e===47?(this.state.pos-=2,this.finishOp(43,1),43):e}maybeUnwrapTypeCastExpression(e){return e.type===`TypeCastExpression`?e.expression:e}},wt={__proto__:null,quot:`"`,amp:`&`,apos:`'`,lt:`<`,gt:`>`,nbsp:`\xA0`,iexcl:`¡`,cent:`¢`,pound:`£`,curren:`¤`,yen:`¥`,brvbar:`¦`,sect:`§`,uml:`¨`,copy:`©`,ordf:`ª`,laquo:`«`,not:`¬`,shy:`­`,reg:`®`,macr:`¯`,deg:`°`,plusmn:`±`,sup2:`²`,sup3:`³`,acute:`´`,micro:`µ`,para:`¶`,middot:`·`,cedil:`¸`,sup1:`¹`,ordm:`º`,raquo:`»`,frac14:`¼`,frac12:`½`,frac34:`¾`,iquest:`¿`,Agrave:`À`,Aacute:`Á`,Acirc:`Â`,Atilde:`Ã`,Auml:`Ä`,Aring:`Å`,AElig:`Æ`,Ccedil:`Ç`,Egrave:`È`,Eacute:`É`,Ecirc:`Ê`,Euml:`Ë`,Igrave:`Ì`,Iacute:`Í`,Icirc:`Î`,Iuml:`Ï`,ETH:`Ð`,Ntilde:`Ñ`,Ograve:`Ò`,Oacute:`Ó`,Ocirc:`Ô`,Otilde:`Õ`,Ouml:`Ö`,times:`×`,Oslash:`Ø`,Ugrave:`Ù`,Uacute:`Ú`,Ucirc:`Û`,Uuml:`Ü`,Yacute:`Ý`,THORN:`Þ`,szlig:`ß`,agrave:`à`,aacute:`á`,acirc:`â`,atilde:`ã`,auml:`ä`,aring:`å`,aelig:`æ`,ccedil:`ç`,egrave:`è`,eacute:`é`,ecirc:`ê`,euml:`ë`,igrave:`ì`,iacute:`í`,icirc:`î`,iuml:`ï`,eth:`ð`,ntilde:`ñ`,ograve:`ò`,oacute:`ó`,ocirc:`ô`,otilde:`õ`,ouml:`ö`,divide:`÷`,oslash:`ø`,ugrave:`ù`,uacute:`ú`,ucirc:`û`,uuml:`ü`,yacute:`ý`,thorn:`þ`,yuml:`ÿ`,OElig:`Œ`,oelig:`œ`,Scaron:`Š`,scaron:`š`,Yuml:`Ÿ`,fnof:`ƒ`,circ:`ˆ`,tilde:`˜`,Alpha:`Α`,Beta:`Β`,Gamma:`Γ`,Delta:`Δ`,Epsilon:`Ε`,Zeta:`Ζ`,Eta:`Η`,Theta:`Θ`,Iota:`Ι`,Kappa:`Κ`,Lambda:`Λ`,Mu:`Μ`,Nu:`Ν`,Xi:`Ξ`,Omicron:`Ο`,Pi:`Π`,Rho:`Ρ`,Sigma:`Σ`,Tau:`Τ`,Upsilon:`Υ`,Phi:`Φ`,Chi:`Χ`,Psi:`Ψ`,Omega:`Ω`,alpha:`α`,beta:`β`,gamma:`γ`,delta:`δ`,epsilon:`ε`,zeta:`ζ`,eta:`η`,theta:`θ`,iota:`ι`,kappa:`κ`,lambda:`λ`,mu:`μ`,nu:`ν`,xi:`ξ`,omicron:`ο`,pi:`π`,rho:`ρ`,sigmaf:`ς`,sigma:`σ`,tau:`τ`,upsilon:`υ`,phi:`φ`,chi:`χ`,psi:`ψ`,omega:`ω`,thetasym:`ϑ`,upsih:`ϒ`,piv:`ϖ`,ensp:` `,emsp:` `,thinsp:` `,zwnj:`‌`,zwj:`‍`,lrm:`‎`,rlm:`‏`,ndash:`–`,mdash:`—`,lsquo:`‘`,rsquo:`’`,sbquo:`‚`,ldquo:`“`,rdquo:`”`,bdquo:`„`,dagger:`†`,Dagger:`‡`,bull:`•`,hellip:`…`,permil:`‰`,prime:`′`,Prime:`″`,lsaquo:`‹`,rsaquo:`›`,oline:`‾`,frasl:`⁄`,euro:`€`,image:`ℑ`,weierp:`℘`,real:`ℜ`,trade:`™`,alefsym:`ℵ`,larr:`←`,uarr:`↑`,rarr:`→`,darr:`↓`,harr:`↔`,crarr:`↵`,lArr:`⇐`,uArr:`⇑`,rArr:`⇒`,dArr:`⇓`,hArr:`⇔`,forall:`∀`,part:`∂`,exist:`∃`,empty:`∅`,nabla:`∇`,isin:`∈`,notin:`∉`,ni:`∋`,prod:`∏`,sum:`∑`,minus:`−`,lowast:`∗`,radic:`√`,prop:`∝`,infin:`∞`,ang:`∠`,and:`∧`,or:`∨`,cap:`∩`,cup:`∪`,int:`∫`,there4:`∴`,sim:`∼`,cong:`≅`,asymp:`≈`,ne:`≠`,equiv:`≡`,le:`≤`,ge:`≥`,sub:`⊂`,sup:`⊃`,nsub:`⊄`,sube:`⊆`,supe:`⊇`,oplus:`⊕`,otimes:`⊗`,perp:`⊥`,sdot:`⋅`,lceil:`⌈`,rceil:`⌉`,lfloor:`⌊`,rfloor:`⌋`,lang:`〈`,rang:`〉`,loz:`◊`,spades:`♠`,clubs:`♣`,hearts:`♥`,diams:`♦`},Tt=RegExp(`\\r\\n|[\\r\\n\\u2028\\u2029]`,`g`);function Et(e){switch(e){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}function Dt(e,t,n){for(let r=t;r<n;r++)if(Et(e.charCodeAt(r)))return!0;return!1}var Ot=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,kt=/(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g;function At(e){switch(e){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}var jt=ue`jsx`({AttributeIsEmpty:`JSX attributes must only be assigned a non-empty expression.`,MissingClosingTagElement:({openingTagName:e})=>`Expected corresponding JSX closing tag for <${e}>.`,MissingClosingTagFragment:`Expected corresponding JSX closing tag for <>.`,UnexpectedSequenceExpression:`Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?`,UnexpectedToken:({unexpected:e,HTMLEntity:t})=>`Unexpected token \`${e}\`. Did you mean \`${t}\` or \`{'${e}'}\`?`,UnsupportedJsxValue:`JSX value should be either an expression or a quoted JSX text.`,UnterminatedJsxContent:`Unterminated JSX contents.`,UnwrappedAdjacentJSXElements:`Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?`});function Mt(e){return e?e.type===`JSXOpeningFragment`||e.type===`JSXClosingFragment`:!1}function Nt(e){if(e.type===`JSXIdentifier`)return e.name;if(e.type===`JSXNamespacedName`)return e.namespace.name+`:`+e.name.name;if(e.type===`JSXMemberExpression`)return Nt(e.object)+`.`+Nt(e.property);throw Error(`Node had unexpected type: `+e.type)}var Pt=e=>class extends e{jsxReadToken(){let e=``,t=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(jt.UnterminatedJsxContent,this.state.startLoc);let n=this.input.charCodeAt(this.state.pos);switch(n){case 60:case 123:if(this.state.pos===this.state.start){n===60&&this.state.canStartJSXElement?(++this.state.pos,this.finishToken(138)):super.getTokenFromCode(n);return}e+=this.input.slice(t,this.state.pos),this.finishToken(137,e);return;case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;case 62:case 125:this.raise(jt.UnexpectedToken,this.state.curPosition(),{unexpected:this.input[this.state.pos],HTMLEntity:n===125?`&rbrace;`:`&gt;`});default:Et(n)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}}jsxReadNewLine(e){let t=this.input.charCodeAt(this.state.pos),n;return++this.state.pos,t===13&&this.input.charCodeAt(this.state.pos)===10?(++this.state.pos,n=e?`
2
+ `:`\r
3
+ `):n=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(e){let t=``,n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(g.UnterminatedString,this.state.startLoc);let r=this.input.charCodeAt(this.state.pos);if(r===e)break;r===38?(t+=this.input.slice(n,this.state.pos),t+=this.jsxReadEntity(),n=this.state.pos):Et(r)?(t+=this.input.slice(n,this.state.pos),t+=this.jsxReadNewLine(!1),n=this.state.pos):++this.state.pos}t+=this.input.slice(n,this.state.pos++),this.finishToken(130,t)}jsxReadEntity(){let e=++this.state.pos;if(this.codePointAtPos(this.state.pos)===35){++this.state.pos;let e=10;this.codePointAtPos(this.state.pos)===120&&(e=16,++this.state.pos);let t=this.readInt(e,void 0,!1,`bail`);if(t!==null&&this.codePointAtPos(this.state.pos)===59)return++this.state.pos,String.fromCodePoint(t)}else{let t=0,n=!1;for(;t++<10&&this.state.pos<this.length&&!(n=this.codePointAtPos(this.state.pos)===59);)++this.state.pos;if(n){let t=wt[this.input.slice(e,this.state.pos)];if(++this.state.pos,t)return t}}return this.state.pos=e,`&`}jsxReadWord(){let e,t=this.state.pos;do e=this.input.charCodeAt(++this.state.pos);while(et(e)||e===45);this.finishToken(136,this.input.slice(t,this.state.pos))}jsxParseIdentifier(){let e=this.startNode();return this.match(136)?e.name=this.state.value:Ie(this.state.type)?e.name=He(this.state.type):this.unexpected(),this.next(),this.finishNode(e,`JSXIdentifier`)}jsxParseNamespacedName(){let e=this.state.startLoc,t=this.jsxParseIdentifier();if(!this.eat(10))return t;let n=this.startNodeAt(e);return n.namespace=t,n.name=this.jsxParseIdentifier(),this.finishNode(n,`JSXNamespacedName`)}jsxParseElementName(){let e=this.state.startLoc,t=this.jsxParseNamespacedName();if(t.type===`JSXNamespacedName`)return t;for(;this.eat(12);){let n=this.startNodeAt(e);n.object=t,n.property=this.jsxParseIdentifier(),t=this.finishNode(n,`JSXMemberExpression`)}return t}jsxParseAttributeValue(){let e;switch(this.state.type){case 2:return e=this.startNode(),this.setContext(T.brace),this.next(),e=this.jsxParseExpressionContainer(e,T.j_oTag),e.expression.type===`JSXEmptyExpression`&&this.raise(jt.AttributeIsEmpty,e),e;case 138:case 130:return this.parseExprAtom();default:throw this.raise(jt.UnsupportedJsxValue,this.state.startLoc)}}jsxParseEmptyExpression(){let e=this.startNodeAt(this.state.lastTokEndLoc);return this.finishNodeAt(e,`JSXEmptyExpression`,this.state.startLoc)}jsxParseSpreadChild(e){return this.next(),e.expression=this.parseExpression(),this.setContext(T.j_expr),this.state.canStartJSXElement=!0,this.expect(4),this.finishNode(e,`JSXSpreadChild`)}jsxParseExpressionContainer(e,t){if(this.match(4))e.expression=this.jsxParseEmptyExpression();else{let t=this.parseExpression();t.type===`SequenceExpression`&&!t.extra?.parenthesized&&this.raise(jt.UnexpectedSequenceExpression,t.expressions[1]),e.expression=t}return this.setContext(t),this.state.canStartJSXElement=!0,this.expect(4),this.finishNode(e,`JSXExpressionContainer`)}jsxParseAttribute(){if(this.match(2)){let e=this.startNode();return this.setContext(T.brace),this.next(),this.expect(17),e.argument=this.parseMaybeAssignAllowIn(),this.setContext(T.j_oTag),this.state.canStartJSXElement=!0,this.expect(4),this.finishNode(e,`JSXSpreadAttribute`)}let e=this.startNode();return e.name=this.jsxParseNamespacedName(),e.value=this.eat(25)?this.jsxParseAttributeValue():null,this.finishNode(e,`JSXAttribute`)}jsxParseOpeningElementAt(e){if(this.eat(139)){let t=this.startNodeAt(e);return this.finishNode(t,`JSXOpeningFragment`)}let t=this.startNodeAt(e);return t.name=this.jsxParseElementName(),this.jsxParseOpeningElementAfterName(t)}jsxParseOpeningElementAfterName(e){let t=[];for(;!this.match(52)&&!this.match(139);)t.push(this.jsxParseAttribute());return e.attributes=t,e.selfClosing=this.eat(52),this.expect(139),this.finishNode(e,`JSXOpeningElement`)}jsxParseClosingElementAt(e){if(this.eat(139)){let t=this.startNodeAt(e);return this.finishNode(t,`JSXClosingFragment`)}let t=this.startNodeAt(e);return t.name=this.jsxParseElementName(),this.expect(139),this.finishNode(t,`JSXClosingElement`)}jsxParseElementAt(e){let t=this.startNodeAt(e),n=[],r=this.jsxParseOpeningElementAt(e),i=null;if(!r.selfClosing){contents:for(;;)switch(this.state.type){case 138:if(e=this.state.startLoc,this.next(),this.eat(52)){this.setLoc(e),i=this.jsxParseClosingElementAt(e);break contents}n.push(this.jsxParseElementAt(e));break;case 137:n.push(this.parseLiteral(this.state.value,`JSXText`));break;case 2:{let e=this.startNode();this.setContext(T.brace),this.next(),this.match(17)?n.push(this.jsxParseSpreadChild(e)):n.push(this.jsxParseExpressionContainer(e,T.j_expr));break}default:this.unexpected()}Mt(r)&&!Mt(i)&&i!==null?this.raise(jt.MissingClosingTagFragment,i):(!Mt(r)&&Mt(i)||!Mt(r)&&!Mt(i)&&Nt(i.name)!==Nt(r.name))&&this.raise(jt.MissingClosingTagElement,i,{openingTagName:Nt(r.name)})}if(Mt(r)?(t.openingFragment=r,t.closingFragment=i):(t.openingElement=r,t.closingElement=i),t.children=n,this.match(43))throw this.raise(jt.UnwrappedAdjacentJSXElements,this.state.startLoc);return Mt(r)?this.finishNode(t,`JSXFragment`):this.finishNode(t,`JSXElement`)}jsxParseElement(){let e=this.state.startLoc;return this.next(),this.jsxParseElementAt(e)}setContext(e){let{context:t}=this.state;t[t.length-1]=e}parseExprAtom(e){return this.match(138)?this.jsxParseElement():this.match(43)&&this.input.charCodeAt(this.state.pos)!==33?(this.replaceToken(138),this.jsxParseElement()):super.parseExprAtom(e)}skipSpace(){this.curContext().preserveSpace||super.skipSpace()}getTokenFromCode(e){let t=this.curContext();if(t===T.j_expr){this.jsxReadToken();return}if(t===T.j_oTag||t===T.j_cTag){if($e(e)){this.jsxReadWord();return}if(e===62){++this.state.pos,this.finishToken(139);return}if((e===34||e===39)&&t===T.j_oTag){this.jsxReadString(e);return}}if(e===60&&this.state.canStartJSXElement&&this.input.charCodeAt(this.state.pos+1)!==33){++this.state.pos,this.finishToken(138);return}super.getTokenFromCode(e)}updateContext(e){let{context:t,type:n}=this.state;if(n===52&&e===138)t.splice(-2,2,T.j_cTag),this.state.canStartJSXElement=!1;else if(n===138)t.push(T.j_oTag);else if(n===139){let n=t[t.length-1];n===T.j_oTag&&e===52||n===T.j_cTag?(t.pop(),this.state.canStartJSXElement=t[t.length-1]===T.j_expr):(this.setContext(T.j_expr),this.state.canStartJSXElement=!0)}else this.state.canStartJSXElement=je(n)}},Ft=class extends pt{tsNames=new Map},It=class extends mt{get inTSNamespace(){let e=this.scopeStack;return e.length>=2&&e[e.length-1].flags===0&&(e[e.length-2].flags&2048)>0}importsStack=[];createScope(e){return this.importsStack.push(new Set),new Ft(e)}enter(e){e&3072&&this.importsStack.push(new Set),super.enter(e)}exit(){let e=super.exit();return e&3072&&this.importsStack.pop(),e}hasImport(e,t){let n=this.importsStack.length;if(this.importsStack[n-1].has(e))return!0;if(!t&&n>1){for(let t=0;t<n-1;t++)if(this.importsStack[t].has(e))return!0}return!1}declareName(e,t,n){if(t&4096){this.hasImport(e,!0)&&this.parser.raise(g.VarRedeclaration,n,{identifierName:e}),this.importsStack[this.importsStack.length-1].add(e);return}let r=this.currentScope(),i=r.tsNames.get(e)||0;if(t&1024){this.maybeExportDefined(r,e),r.tsNames.set(e,i|16);return}super.declareName(e,t,n),t&2&&(t&1||(this.checkRedeclarationInScope(r,e,t,n),this.maybeExportDefined(r,e)),i|=1),t&256&&(i|=2),t&512&&(i|=4),t&128&&(i|=8),i&&r.tsNames.set(e,i)}isRedeclaredInScope(e,t,n){let r=e.tsNames.get(t);return(r&2)>0?n&256?(n&512)>0!=(r&4)>0:!0:n&128&&(r&8)>0?e.names.get(t)&2?!!(n&1):!1:n&2&&(r&1)>0?!0:super.isRedeclaredInScope(e,t,n)}checkLocalExport(e){let{name:t}=e;if(this.hasImport(t))return;let n=this.scopeStack.length;for(let e=n-1;e>=0;e--){let n=this.scopeStack[e].tsNames.get(t);if((n&1)>0||(n&16)>0)return}super.checkLocalExport(e)}},Lt=class{sawUnambiguousESM=!1;ambiguousScriptDifferentAst=!1;sourceToOffsetPos(e){return e+this.startIndex}offsetToSourcePos(e){return e-this.startIndex}hasPlugin(e){if(typeof e==`string`)return this.plugins.has(e);{let[t,n]=e;if(!this.hasPlugin(t))return!1;let r=this.plugins.get(t);for(let e of Object.keys(n))if(r?.[e]!==n[e])return!1;return!0}}getPluginOption(e,t){return this.plugins.get(e)?.[t]}};function Rt(e,t){e.trailingComments===void 0?e.trailingComments=t:e.trailingComments.unshift(...t)}function zt(e,t){e.leadingComments===void 0?e.leadingComments=t:e.leadingComments.unshift(...t)}function Bt(e,t){e.innerComments===void 0?e.innerComments=t:e.innerComments.unshift(...t)}function Vt(e,t,n){let r=null,i=t.length;for(;r===null&&i>0;)r=t[--i];r===null||r.start>n.start?Bt(e,n.comments):Rt(r,n.comments)}var Ht=class extends Lt{addComment(e){this.filename&&(e.loc.filename=this.filename);let{commentsLen:t}=this.state;this.comments.length!==t&&(this.comments.length=t),this.comments.push(e),this.state.commentsLen++}processComment(e){let{commentStack:t}=this.state,n=t.length;if(n===0)return;let r=n-1,i=t[r];i.start===e.end&&(i.leadingNode=e,r--);let a=e.start;for(;r>=0;r--){let n=t[r],i=n.end;if(i>a)n.containingNode=e,this.finalizeComment(n),t.splice(r,1);else{i===a&&(n.trailingNode=e);break}}}finalizeComment(e){let{comments:t}=e;if(e.leadingNode!==null||e.trailingNode!==null)e.leadingNode!==null&&Rt(e.leadingNode,t),e.trailingNode!==null&&zt(e.trailingNode,t);else{let n=e.containingNode,r=e.start;if(this.input.charCodeAt(this.offsetToSourcePos(r)-1)===44)switch(n.type){case`ObjectExpression`:case`ObjectPattern`:Vt(n,n.properties,e);break;case`CallExpression`:case`NewExpression`:case`OptionalCallExpression`:Vt(n,n.arguments,e);break;case`ImportExpression`:Vt(n,[n.source,n.options??null],e);break;case`FunctionDeclaration`:case`FunctionExpression`:case`ArrowFunctionExpression`:case`ObjectMethod`:case`ClassMethod`:case`ClassPrivateMethod`:case`TSTypeParameterDeclaration`:Vt(n,n.params,e);break;case`ArrayExpression`:case`ArrayPattern`:Vt(n,n.elements,e);break;case`ExportNamedDeclaration`:case`ImportDeclaration`:Vt(n,n.specifiers,e);break;case`TSEnumBody`:Vt(n,n.members,e);break;case`TSInterfaceBody`:Vt(n,n.body,e);break;default:Bt(n,t)}else Bt(n,t)}}finalizeRemainingComments(){let{commentStack:e}=this.state;for(let t=e.length-1;t>=0;t--)this.finalizeComment(e[t]);this.state.commentStack=[]}resetPreviousNodeTrailingComments(e){let{commentStack:t}=this.state,{length:n}=t;if(n===0)return;let r=t[n-1];r.leadingNode===e&&(r.leadingNode=null)}takeSurroundingComments(e,t,n){let{commentStack:r}=this.state,i=r.length;if(i===0)return;let a=i-1;for(;a>=0;a--){let i=r[a],o=i.end;if(i.start===n)i.leadingNode=e;else if(o===t)i.trailingNode=e;else if(o<t)break}}},Ut=class e{flags=2048;get strict(){return(this.flags&1)>0}set strict(e){e?this.flags|=1:this.flags&=-2}startIndex;curLine;lineStart;startLoc;endLoc;init({strictMode:e,sourceType:t,startIndex:n,startLine:r,startColumn:i}){this.strict=e===!1?!1:e===!0||t===`module`,this.startIndex=n,this.curLine=r,this.lineStart=-i,this.startLoc=this.endLoc=new d(r,i,n)}errors=[];noArrowAt=[];noArrowParamsConversionAt=[];get canStartArrow(){return(this.flags&2)>0}set canStartArrow(e){e?this.flags|=2:this.flags&=-3}get inType(){return(this.flags&4)>0}set inType(e){e?this.flags|=4:this.flags&=-5}get noAnonFunctionType(){return(this.flags&8)>0}set noAnonFunctionType(e){e?this.flags|=8:this.flags&=-9}get hasFlowComment(){return(this.flags&16)>0}set hasFlowComment(e){e?this.flags|=16:this.flags&=-17}get isAmbientContext(){return(this.flags&32)>0}set isAmbientContext(e){e?this.flags|=32:this.flags&=-33}get inAbstractClass(){return(this.flags&64)>0}set inAbstractClass(e){e?this.flags|=64:this.flags&=-65}get inDisallowConditionalTypesContext(){return(this.flags&128)>0}set inDisallowConditionalTypesContext(e){e?this.flags|=128:this.flags&=-129}get inConditionalConsequent(){return(this.flags&256)>0}set inConditionalConsequent(e){e?this.flags|=256:this.flags&=-257}get inHackPipelineBody(){return(this.flags&512)>0}set inHackPipelineBody(e){e?this.flags|=512:this.flags&=-513}get seenTopicReference(){return(this.flags&1024)>0}set seenTopicReference(e){e?this.flags|=1024:this.flags&=-1025}labels=[];commentsLen=0;commentStack=[];pos=0;type=135;value=null;start=0;end=0;lastTokEndLoc=null;lastTokStartLoc=null;context=[T.brace];get canStartJSXElement(){return(this.flags&2048)>0}set canStartJSXElement(e){e?this.flags|=2048:this.flags&=-2049}get containsEsc(){return(this.flags&4096)>0}set containsEsc(e){e?this.flags|=4096:this.flags&=-4097}firstInvalidTemplateEscapePos=null;get hasTopLevelAwait(){return(this.flags&8192)>0}set hasTopLevelAwait(e){e?this.flags|=8192:this.flags&=-8193}strictErrors=new Map;tokensLength=0;curPosition(){return new d(this.curLine,this.pos-this.lineStart,this.pos+this.startIndex)}clone(){let t=new e;return t.flags=this.flags,t.startIndex=this.startIndex,t.curLine=this.curLine,t.lineStart=this.lineStart,t.startLoc=this.startLoc,t.endLoc=this.endLoc,t.errors=this.errors.slice(),t.noArrowAt=this.noArrowAt.slice(),t.noArrowParamsConversionAt=this.noArrowParamsConversionAt.slice(),t.labels=this.labels.slice(),t.commentsLen=this.commentsLen,t.commentStack=this.commentStack.slice(),t.pos=this.pos,t.type=this.type,t.value=this.value,t.start=this.start,t.end=this.end,t.lastTokEndLoc=this.lastTokEndLoc,t.lastTokStartLoc=this.lastTokStartLoc,t.context=this.context.slice(),t.firstInvalidTemplateEscapePos=this.firstInvalidTemplateEscapePos,t.strictErrors=this.strictErrors,t.tokensLength=this.tokensLength,t}},Wt=function(e){return e>=48&&e<=57},Gt={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},Kt={bin:e=>e===48||e===49,oct:e=>e>=48&&e<=55,dec:e=>e>=48&&e<=57,hex:e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};function qt(e,t,n,r,i,a){let o=n,s=r,c=i,l=``,u=null,d=n,{length:f}=t;for(;;){if(n>=f){a.unterminated(o,s,c),l+=t.slice(d,n);break}let p=t.charCodeAt(n);if(Jt(e,p,t,n)){l+=t.slice(d,n);break}if(p===92){l+=t.slice(d,n);let o=Yt(t,n,r,i,e===`template`,a);o.ch===null&&!u?u={pos:n,lineStart:r,curLine:i}:l+=o.ch,{pos:n,lineStart:r,curLine:i}=o,d=n}else p===8232||p===8233?(++n,++i,r=n):p===10||p===13?e===`template`?(l+=t.slice(d,n)+`
4
+ `,++n,p===13&&t.charCodeAt(n)===10&&++n,++i,d=r=n):a.unterminated(o,s,c):++n}return{pos:n,str:l,firstInvalidLoc:u,lineStart:r,curLine:i}}function Jt(e,t,n,r){return e===`template`?t===96||t===36&&n.charCodeAt(r+1)===123:t===(e===`double`?34:39)}function Yt(e,t,n,r,i,a){let o=!i;t++;let s=e=>({pos:t,ch:e,lineStart:n,curLine:r}),c=e.charCodeAt(t++);switch(c){case 110:return s(`
5
+ `);case 114:return s(`\r`);case 120:{let i;return{code:i,pos:t}=Xt(e,t,n,r,2,!1,o,a),s(i===null?null:String.fromCharCode(i))}case 117:{let i;return{code:i,pos:t}=Qt(e,t,n,r,o,a),s(i===null?null:String.fromCodePoint(i))}case 116:return s(` `);case 98:return s(`\b`);case 118:return s(`\v`);case 102:return s(`\f`);case 13:e.charCodeAt(t)===10&&++t;case 10:n=t,++r;case 8232:case 8233:return s(``);case 56:case 57:if(i)return s(null);a.strictNumericEscape(t-1,n,r);default:if(c>=48&&c<=55){let o=t-1,c=/^[0-7]+/.exec(e.slice(o,t+2))[0],l=parseInt(c,8);l>255&&(c=c.slice(0,-1),l=parseInt(c,8)),t+=c.length-1;let u=e.charCodeAt(t);if(c!==`0`||u===56||u===57){if(i)return s(null);a.strictNumericEscape(o,n,r)}return s(String.fromCharCode(l))}return s(String.fromCharCode(c))}}function Xt(e,t,n,r,i,a,o,s){let c=t,l;return{n:l,pos:t}=Zt(e,t,n,r,16,i,a,!1,s,!o),l===null&&(o?s.invalidEscapeSequence(c,n,r):t=c-1),{code:l,pos:t}}function Zt(e,t,n,r,i,a,o,s,c,l){let u=t,d=i===16?Gt.hex:Gt.decBinOct,f=i===16?Kt.hex:i===10?Kt.dec:i===8?Kt.oct:Kt.bin,p=!1,m=0;for(let u=0,h=a??1/0;u<h;++u){let a=e.charCodeAt(t),u;if(a===95&&s!==`bail`){let i=e.charCodeAt(t-1),a=e.charCodeAt(t+1);if(!s){if(l)return{n:null,pos:t};c.numericSeparatorInEscapeSequence(t,n,r)}else if(Number.isNaN(a)||!f(a)||d.has(i)||d.has(a)){if(l)return{n:null,pos:t};c.unexpectedNumericSeparator(t,n,r)}++t;continue}if(u=a>=97?a-97+10:a>=65?a-65+10:Wt(a)?a-48:1/0,u>=i){if(u<=9&&l)return{n:null,pos:t};if(u<=9&&c.invalidDigit(t,n,r,i))u=0;else if(o)u=0,p=!0;else break}++t,m=m*i+u}return t===u||a!=null&&t-u!==a||p?{n:null,pos:t}:{n:m,pos:t}}function Qt(e,t,n,r,i,a){let o=e.charCodeAt(t),s;if(o===123){if(++t,{code:s,pos:t}=Xt(e,t,n,r,e.indexOf(`}`,t)-t,!0,i,a),++t,s!==null&&s>1114111){if(i)a.invalidCodePoint(t,n,r);else return{code:null,pos:t}}}else({code:s,pos:t}=Xt(e,t,n,r,4,!1,i,a));return{code:s,pos:t}}function $t(e,t,n){return new d(n,e-t,e)}var en=new Set([103,109,115,105,121,117,100,118]),tn=class{constructor(e){let t=e.startIndex||0;this.type=e.type,this.value=e.value,this.start=t+e.start,this.end=t+e.end,this.loc=new f(e.startLoc,e.endLoc)}},nn,rn=class extends Ht{isLookahead;tokens=[];constructor(e,t){super(),this.state=new Ut,this.state.init(e),this.input=t,this.length=t.length,this.comments=[],this.isLookahead=!1,(!nn||nn.length<(this.length+1)*2)&&(nn=new Uint32Array((this.length+1)*2)),this.locData=nn}setLoc(e){let t=this.offsetToSourcePos(e.index);this.locData[t*2]=e.line,this.locData[t*2+1]=e.column}getLoc(e){let t=this.offsetToSourcePos(e);return new d(this.locData[t*2],this.locData[t*2+1],e)}pushToken(e){this.tokens.length=this.state.tokensLength,this.tokens.push(e),++this.state.tokensLength}next(){this.checkKeywordEscapes(),this.optionFlags&512&&this.pushToken(new tn(this.state)),this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(e){return this.match(e)?(this.next(),!0):!1}match(e){return this.state.type===e}createLookaheadState(e){return{pos:e.pos,value:null,type:e.type,start:e.start,end:e.end,context:[this.curContext()],inType:e.inType,startLoc:e.startLoc,lastTokEndLoc:e.lastTokEndLoc,curLine:e.curLine,lineStart:e.lineStart,curPosition:e.curPosition}}lookahead(){let e=this.state;this.state=this.createLookaheadState(e),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;let t=this.state;return this.state=e,t}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(e){return Ot.lastIndex=e,Ot.test(this.input)?Ot.lastIndex:e}lookaheadCharCode(){return this.lookaheadCharCodeSince(this.state.pos)}lookaheadCharCodeSince(e){return this.input.charCodeAt(this.nextTokenStartSince(e))}nextTokenInLineStart(){return this.nextTokenInLineStartSince(this.state.pos)}nextTokenInLineStartSince(e){return kt.lastIndex=e,kt.test(this.input)?kt.lastIndex:e}lookaheadInLineCharCode(){return this.input.charCodeAt(this.nextTokenInLineStart())}codePointAtPos(e){let t=this.input.charCodeAt(e);if((t&64512)==55296&&++e<this.input.length){let n=this.input.charCodeAt(e);(n&64512)==56320&&(t=65536+((t&1023)<<10)+(n&1023))}return t}setStrict(e){this.state.strict=e,e&&(this.state.strictErrors.forEach(([e,t])=>this.raise(e,t)),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){if(this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length){this.finishToken(135);return}this.getTokenFromCode(this.codePointAtPos(this.state.pos))}skipBlockComment(e){let t;this.isLookahead||(t=this.state.curPosition());let n=this.state.pos,r=this.input.indexOf(e,n+2);if(r===-1)throw this.raise(g.UnterminatedComment,this.state.curPosition());for(this.state.pos=r+e.length,Tt.lastIndex=n+2;Tt.test(this.input)&&Tt.lastIndex<=r;)++this.state.curLine,this.state.lineStart=Tt.lastIndex;if(this.isLookahead)return;let i={type:`CommentBlock`,value:this.input.slice(n+2,r),start:this.sourceToOffsetPos(n),end:this.sourceToOffsetPos(r+e.length),loc:new f(t,this.state.curPosition())};return this.optionFlags&512&&this.pushToken(i),i}skipLineComment(e){let t=this.state.pos,n;this.isLookahead||(n=this.state.curPosition());let r=this.input.charCodeAt(this.state.pos+=e);if(this.state.pos<this.length)for(;!Et(r)&&++this.state.pos<this.length;)r=this.input.charCodeAt(this.state.pos);if(this.isLookahead)return;let i=this.state.pos,a={type:`CommentLine`,value:this.input.slice(t+e,i),start:this.sourceToOffsetPos(t),end:this.sourceToOffsetPos(i),loc:new f(n,this.state.curPosition())};return this.optionFlags&512&&this.pushToken(a),a}skipSpace(){let e=this.state.pos,t=this.optionFlags&8192?[]:null;loop:for(;this.state.pos<this.length;){let n=this.input.charCodeAt(this.state.pos);switch(n){case 32:case 160:case 9:++this.state.pos;break;case 13:this.input.charCodeAt(this.state.pos+1)===10&&++this.state.pos;case 10:case 8232:case 8233:++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;break;case 47:switch(this.input.charCodeAt(this.state.pos+1)){case 42:{let e=this.skipBlockComment(`*/`);e!==void 0&&(this.addComment(e),t?.push(e));break}case 47:{let e=this.skipLineComment(2);e!==void 0&&(this.addComment(e),t?.push(e));break}default:break loop}break;default:if(At(n))++this.state.pos;else if(n===45&&!this.inModule&&this.optionFlags&16384){let n=this.state.pos;if(this.input.charCodeAt(n+1)===45&&this.input.charCodeAt(n+2)===62&&(e===0||this.state.lineStart>e)){let e=this.skipLineComment(3);e!==void 0&&(this.addComment(e),t?.push(e))}else break loop}else if(n===60&&!this.inModule&&this.optionFlags&16384){let e=this.state.pos;if(this.input.charCodeAt(e+1)===33&&this.input.charCodeAt(e+2)===45&&this.input.charCodeAt(e+3)===45){let e=this.skipLineComment(4);e!==void 0&&(this.addComment(e),t?.push(e))}else break loop}else break loop}}if(t?.length>0){let n=this.state.pos,r={start:this.sourceToOffsetPos(e),end:this.sourceToOffsetPos(n),comments:t,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(r)}}finishToken(e,t){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();let n=this.state.type;this.state.type=e,this.state.value=t,this.isLookahead||this.updateContext(n)}replaceToken(e){this.state.type=e,this.updateContext()}readToken_numberSign(){if(this.state.pos===0&&this.readToken_interpreter())return;let e=this.state.pos+1,t=this.codePointAtPos(e);if(t>=48&&t<=57)throw this.raise(g.UnexpectedDigitAfterHash,this.state.curPosition());$e(t)?(++this.state.pos,this.finishToken(134,this.readWord1(t))):t===92?(++this.state.pos,this.finishToken(134,this.readWord1())):this.finishOp(23,1)}readToken_dot(){let e=this.input.charCodeAt(this.state.pos+1);if(e>=48&&e<=57){this.readNumber(!0);return}e===46&&this.input.charCodeAt(this.state.pos+2)===46?(this.state.pos+=3,this.finishToken(17)):(++this.state.pos,this.finishToken(12))}readToken_slash(){this.input.charCodeAt(this.state.pos+1)===61?this.finishOp(27,2):this.finishOp(52,1)}readToken_interpreter(){if(this.state.pos!==0||this.length<2)return!1;let e=this.input.charCodeAt(this.state.pos+1);if(e!==33)return!1;let t=this.state.pos;for(this.state.pos+=1;!Et(e)&&++this.state.pos<this.length;)e=this.input.charCodeAt(this.state.pos);let n=this.input.slice(t+2,this.state.pos);return this.finishToken(24,n),!0}readToken_mult_modulo(e){let t=e===42?51:50,n=1,r=this.input.charCodeAt(this.state.pos+1);e===42&&r===42&&(n++,r=this.input.charCodeAt(this.state.pos+2),t=53),r===61&&!this.state.inType&&(n++,t=e===37?29:26),this.finishOp(t,n)}readToken_pipe_amp(e){let t=this.input.charCodeAt(this.state.pos+1);if(t===e){this.input.charCodeAt(this.state.pos+2)===61?this.finishOp(26,3):this.finishOp(e===124?37:38,2);return}if(e===124&&t===62){this.finishOp(35,2);return}if(t===61){this.finishOp(26,2);return}this.finishOp(e===124?39:41,1)}readToken_caret(){let e=this.input.charCodeAt(this.state.pos+1);e===61&&!this.state.inType?this.finishOp(28,2):e===94&&this.hasPlugin([`pipelineOperator`,{proposal:`hack`,topicToken:`^^`}])?(this.finishOp(33,2),this.input.codePointAt(this.state.pos)===94&&this.unexpected()):this.finishOp(40,1)}readToken_atSign(){this.input.charCodeAt(this.state.pos+1)===64&&this.hasPlugin([`pipelineOperator`,{proposal:`hack`,topicToken:`@@`}])?this.finishOp(34,2):this.finishOp(22,1)}readToken_plus_min(e){let t=this.input.charCodeAt(this.state.pos+1);if(t===e){this.finishOp(30,2);return}t===61?this.finishOp(26,2):this.finishOp(49,1)}readToken_lt(){let{pos:e}=this.state,t=this.input.charCodeAt(e+1);if(t===60){if(this.input.charCodeAt(e+2)===61){this.finishOp(26,3);return}this.finishOp(47,2);return}if(t===61){this.finishOp(45,2);return}this.finishOp(43,1)}readToken_gt(){let{pos:e}=this.state,t=this.input.charCodeAt(e+1);if(t===62){let t=this.input.charCodeAt(e+2)===62?3:2;if(this.input.charCodeAt(e+t)===61){this.finishOp(26,t+1);return}this.finishOp(48,t);return}if(t===61){this.finishOp(45,2);return}this.finishOp(44,1)}readToken_eq_excl(e){let t=this.input.charCodeAt(this.state.pos+1);if(t===61){this.finishOp(42,this.input.charCodeAt(this.state.pos+2)===61?3:2);return}if(e===61&&t===62){this.state.pos+=2,this.finishToken(15);return}this.finishOp(e===61?25:31,1)}readToken_question(){let e=this.input.charCodeAt(this.state.pos+1),t=this.input.charCodeAt(this.state.pos+2);e===63?t===61?this.finishOp(26,3):this.finishOp(36,2):e===46&&!(t>=48&&t<=57)?(this.state.pos+=2,this.finishToken(14)):(++this.state.pos,this.finishToken(13))}getTokenFromCode(e){switch(e){case 46:this.readToken_dot();return;case 40:++this.state.pos,this.finishToken(6);return;case 41:++this.state.pos,this.finishToken(7);return;case 59:++this.state.pos,this.finishToken(9);return;case 44:++this.state.pos,this.finishToken(8);return;case 91:++this.state.pos,this.finishToken(0);return;case 93:++this.state.pos,this.finishToken(1);return;case 123:++this.state.pos,this.finishToken(2);return;case 125:++this.state.pos,this.finishToken(4);return;case 58:this.hasPlugin(`functionBind`)&&this.input.charCodeAt(this.state.pos+1)===58?this.finishOp(11,2):(++this.state.pos,this.finishToken(10));return;case 63:this.readToken_question();return;case 96:this.readTemplateToken();return;case 48:{let e=this.input.charCodeAt(this.state.pos+1);if(e===120||e===88){this.readRadixNumber(16);return}if(e===111||e===79){this.readRadixNumber(8);return}if(e===98||e===66){this.readRadixNumber(2);return}}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:this.readNumber(!1);return;case 34:case 39:this.readString(e);return;case 47:this.readToken_slash();return;case 37:case 42:this.readToken_mult_modulo(e);return;case 124:case 38:this.readToken_pipe_amp(e);return;case 94:this.readToken_caret();return;case 43:case 45:this.readToken_plus_min(e);return;case 60:this.readToken_lt();return;case 62:this.readToken_gt();return;case 61:case 33:this.readToken_eq_excl(e);return;case 126:this.finishOp(32,1);return;case 64:this.readToken_atSign();return;case 35:this.readToken_numberSign();return;case 92:this.readWord();return;default:if($e(e)){this.readWord(e);return}}throw this.raise(g.InvalidOrUnexpectedToken,this.state.curPosition(),{unexpected:String.fromCodePoint(e)})}finishOp(e,t){let n=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,n)}readRegexp(){let e=this.state.startLoc,t=this.state.start+1,n,r,{pos:i}=this.state;for(;;++i){if(i>=this.length)throw this.raise(g.UnterminatedRegExp,p(e,1));let t=this.input.charCodeAt(i);if(Et(t))throw this.raise(g.UnterminatedRegExp,p(e,1));if(n)n=!1;else{if(t===91)r=!0;else if(t===93&&r)r=!1;else if(t===47&&!r)break;n=t===92}}let a=this.input.slice(t,i);++i;let o=``,s=()=>p(e,i+2-t);for(;i<this.length;){let e=this.codePointAtPos(i),t=String.fromCharCode(e);if(en.has(e))e===118?o.includes(`u`)&&this.raise(g.IncompatibleRegExpUVFlags,s()):e===117&&o.includes(`v`)&&this.raise(g.IncompatibleRegExpUVFlags,s()),o.includes(t)&&this.raise(g.DuplicateRegExpFlags,s());else if(et(e)||e===92)this.raise(g.MalformedRegExpFlags,s());else break;++i,o+=t}this.state.pos=i,this.finishToken(133,{pattern:a,flags:o})}readInt(e,t,n=!1,r=!0){let{n:i,pos:a}=Zt(this.input,this.state.pos,this.state.lineStart,this.state.curLine,e,t,n,r,this.errorHandlers_readInt,!1);return this.state.pos=a,i}readRadixNumber(e){let t=this.state.pos,n=this.state.curPosition(),r=!1;this.state.pos+=2;let i=this.readInt(e);if(i??this.raise(g.InvalidDigit,p(n,2),{radix:e}),this.input.charCodeAt(this.state.pos)===110&&(++this.state.pos,r=!0),$e(this.codePointAtPos(this.state.pos)))throw this.raise(g.NumberIdentifier,this.state.curPosition());if(r){let e=this.input.slice(t,this.state.pos).replace(/[_n]/g,``);this.finishToken(132,e);return}this.finishToken(131,i)}readNumber(e){let t=this.state.pos,n=this.state.curPosition(),r=!1,i=!1,a=!1;!e&&this.readInt(10)===null&&this.raise(g.InvalidNumber,this.state.curPosition());let o=this.state.pos-t>=2&&this.input.charCodeAt(t)===48;if(o){let e=this.input.slice(t,this.state.pos);if(this.recordStrictModeErrors(g.StrictOctalLiteral,n),!this.state.strict){let t=e.indexOf(`_`);t>0&&this.raise(g.ZeroDigitNumericSeparator,p(n,t))}a=o&&!/[89]/.test(e)}let s=this.input.charCodeAt(this.state.pos);s===46&&!a&&(++this.state.pos,this.readInt(10),r=!0,s=this.input.charCodeAt(this.state.pos)),(s===69||s===101)&&!a&&(s=this.input.charCodeAt(++this.state.pos),(s===43||s===45)&&++this.state.pos,this.readInt(10)===null&&this.raise(g.InvalidOrMissingExponent,n),r=!0,s=this.input.charCodeAt(this.state.pos));let c=this.input.slice(t,this.state.pos).replaceAll(`_`,``);if(s===110&&((r||o)&&this.raise(g.InvalidBigIntLiteral,n),++this.state.pos,i=!0),$e(this.codePointAtPos(this.state.pos)))throw this.raise(g.NumberIdentifier,this.state.curPosition());if(i){this.finishToken(132,c);return}let l=a?parseInt(c,8):parseFloat(c);this.finishToken(131,l)}readCodePoint(e){let{code:t,pos:n}=Qt(this.input,this.state.pos,this.state.lineStart,this.state.curLine,e,this.errorHandlers_readCodePoint);return this.state.pos=n,t}readString(e){let{str:t,pos:n,curLine:r,lineStart:i}=qt(e===34?`double`:`single`,this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_string);this.state.pos=n+1,this.state.lineStart=i,this.state.curLine=r,this.finishToken(130,t)}readTemplateContinuation(){this.match(4)||this.unexpected(null,4),this.state.pos--,this.readTemplateToken()}readTemplateToken(){let e=this.input[this.state.pos],{str:t,firstInvalidLoc:n,pos:r,curLine:i,lineStart:a}=qt(`template`,this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_template);this.state.pos=r+1,this.state.lineStart=a,this.state.curLine=i,n&&(this.state.firstInvalidTemplateEscapePos=new d(n.curLine,n.pos-n.lineStart,this.sourceToOffsetPos(n.pos))),this.input.codePointAt(r)===96?this.finishToken(20,n?null:e+t+"`"):(this.state.pos++,this.finishToken(21,n?null:e+t+"${"))}recordStrictModeErrors(e,t){let n=t.index;this.state.strict&&!this.state.strictErrors.has(n)?this.raise(e,t):this.state.strictErrors.set(n,[e,t])}readWord1(e){this.state.containsEsc=!1;let t=``,n=this.state.pos,r=this.state.pos;for(e!==void 0&&(this.state.pos+=e<=65535?1:2);this.state.pos<this.length;){let e=this.codePointAtPos(this.state.pos);if(et(e))this.state.pos+=e<=65535?1:2;else if(e===92){this.state.containsEsc=!0,t+=this.input.slice(r,this.state.pos);let e=this.state.curPosition(),i=this.state.pos===n?$e:et;if(this.input.charCodeAt(++this.state.pos)!==117){this.raise(g.MissingUnicodeEscape,this.state.curPosition()),r=this.state.pos-1;continue}++this.state.pos;let a=this.readCodePoint(!0);a!==null&&(i(a)||this.raise(g.EscapedCharNotAnIdentifier,e),t+=String.fromCodePoint(a)),r=this.state.pos}else break}return t+this.input.slice(r,this.state.pos)}readWord(e){let t=this.readWord1(e),n=ye.get(t);n===void 0?this.finishToken(128,t):this.finishToken(n,He(n))}checkKeywordEscapes(){let{type:e}=this.state;Ie(e)&&this.state.containsEsc&&this.raise(g.InvalidEscapedReservedWord,this.state.startLoc,{reservedWord:He(e)})}raise(e,t,n={}){let r=t instanceof d?t:typeof t==`number`?this.getLoc(t):this.optionFlags&256?t.loc.start:this.getLoc(t.start),i=e(r,t instanceof d?r.index:typeof t==`number`?t:t.start,n);if(!(this.optionFlags&4096))throw i;return this.isLookahead||this.state.errors.push(i),i}raiseOverwrite(e,t,n={}){let r=t instanceof d?t:this.optionFlags&256?t.loc.start:this.getLoc(t.start),i=t instanceof d?r.index:t.start,a=this.state.errors;for(let t=a.length-1;t>=0;t--){let o=a[t];if(o.pos===i)return a[t]=e(r,i,n);if(o.pos<i)break}return this.raise(e,r,n)}updateContext(e){}unexpected(e,t){throw this.raise(g.UnexpectedToken,e??this.state.startLoc,{expected:t?He(t):null})}expectPlugin(e,t){if(this.hasPlugin(e))return!0;throw this.raise(g.MissingPlugin,t??this.state.startLoc,{missingPlugin:[e]})}expectOnePlugin(e){if(!e.some(e=>this.hasPlugin(e)))throw this.raise(g.MissingOneOfPlugins,this.state.startLoc,{missingPlugin:e})}errorBuilder(e){return(t,n,r)=>{this.raise(e,$t(t,n,r))}}errorHandlers_readInt={invalidDigit:(e,t,n,r)=>this.optionFlags&4096?(this.raise(g.InvalidDigit,$t(e,t,n),{radix:r}),!0):!1,numericSeparatorInEscapeSequence:this.errorBuilder(g.NumericSeparatorInEscapeSequence),unexpectedNumericSeparator:this.errorBuilder(g.UnexpectedNumericSeparator)};errorHandlers_readCodePoint={...this.errorHandlers_readInt,invalidEscapeSequence:this.errorBuilder(g.InvalidEscapeSequence),invalidCodePoint:this.errorBuilder(g.InvalidCodePoint)};errorHandlers_readStringContents_string={...this.errorHandlers_readCodePoint,strictNumericEscape:(e,t,n)=>{this.recordStrictModeErrors(g.StrictNumericEscape,$t(e,t,n))},unterminated:(e,t,n)=>{throw this.raise(g.UnterminatedString,$t(e-1,t,n))}};errorHandlers_readStringContents_template={...this.errorHandlers_readCodePoint,strictNumericEscape:this.errorBuilder(g.StrictNumericEscape),unterminated:(e,t,n)=>{throw this.raise(g.UnterminatedTemplate,$t(e,t,n))}}},an=class{privateNames=new Set;loneAccessors=new Map;undefinedPrivateNames=new Map},on=class{parser;stack=[];constructor(e){this.parser=e}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new an)}exit(){let e=this.stack.pop(),t=this.current();for(let[n,r]of Array.from(e.undefinedPrivateNames))t?t.undefinedPrivateNames.has(n)||t.undefinedPrivateNames.set(n,r):this.parser.raise(g.InvalidPrivateFieldResolution,r,{identifierName:n})}declarePrivateName(e,t,n){let{privateNames:r,loneAccessors:i,undefinedPrivateNames:a}=this.current(),o=r.has(e);if(t&3){let n=o&&i.get(e);if(n){let r=n&4,a=t&4;o=(n&3)==(t&3)||r!==a,o||i.delete(e)}else o||i.set(e,t)}o&&this.parser.raise(g.PrivateNameRedeclaration,n,{identifierName:e}),r.add(e),a.delete(e)}usePrivateName(e,t){let n;for(n of this.stack)if(n.privateNames.has(e))return;n?n.undefinedPrivateNames.set(e,t):this.parser.raise(g.InvalidPrivateFieldResolution,t,{identifierName:e})}},sn=class{constructor(e=0){this.type=e}canBeArrowParameterDeclaration(){return this.type===2||this.type===1}isCertainlyParameterDeclaration(){return this.type===3}},cn=class extends sn{declarationErrors=new Map;constructor(e){super(e)}recordDeclarationError(e,t){this.declarationErrors.set(t,e)}clearDeclarationError(e){this.declarationErrors.delete(e)}iterateErrors(e){this.declarationErrors.forEach(e)}},ln=class{parser;stack=[new sn];constructor(e){this.parser=e}enter(e){this.stack.push(e)}exit(){this.stack.pop()}recordParameterInitializerError(e,t){let{stack:n}=this,r=n.length-1,i=n[r];for(;!i.isCertainlyParameterDeclaration();){if(i.canBeArrowParameterDeclaration())i.recordDeclarationError(e,t);else return;i=n[--r]}this.parser.raise(e,t)}recordArrowParameterBindingError(e,t){let{stack:n}=this,r=n[n.length-1],i=t.start;if(r.isCertainlyParameterDeclaration())this.parser.raise(e,i);else if(r.canBeArrowParameterDeclaration())r.recordDeclarationError(e,i);else return}recordAsyncArrowParametersError(e){let{stack:t}=this,n=t.length-1,r=t[n];for(;r.canBeArrowParameterDeclaration();)r.type===2&&r.recordDeclarationError(g.AwaitBindingIdentifier,e),r=t[--n]}validateAsPattern(){let{stack:e}=this,t=e[e.length-1];t.canBeArrowParameterDeclaration()&&t.iterateErrors((t,n)=>{this.parser.raise(t,n);let r=e.length-2,i=e[r];for(;i.canBeArrowParameterDeclaration();)i.clearDeclarationError(n),i=e[--r]})}};function un(){return new sn(3)}function dn(){return new cn(1)}function fn(){return new cn(2)}function pn(){return new sn}var mn=class{stacks=[];enter(e){this.stacks.push(e)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(this.currentFlags()&2)>0}get hasYield(){return(this.currentFlags()&1)>0}get hasReturn(){return(this.currentFlags()&4)>0}get hasIn(){return(this.currentFlags()&8)>0}get inFSharpPipelineDirectBody(){return!(this.currentFlags()&16)}};function hn(e,t){return(e?2:0)|!!t}var gn=class extends rn{addExtra(e,t,n,r=!0){if(!e)return;let{extra:i}=e;i??(i={},e.extra=i),r?i[t]=n:Object.defineProperty(i,t,{enumerable:r,value:n})}isContextual(e){return this.state.type===e&&!this.state.containsEsc}isUnparsedContextual(e,t){if(this.input.startsWith(t,e)){let n=this.input.charCodeAt(e+t.length);return!(et(n)||(n&64512)==55296)}return!1}isLookaheadContextual(e){let t=this.nextTokenStart();return this.isUnparsedContextual(t,e)}eatContextual(e){return this.isContextual(e)?(this.next(),!0):!1}expectContextual(e,t){if(!this.eatContextual(e)){if(t!=null)throw this.raise(t,this.state.startLoc);this.unexpected(null,e)}}canInsertSemicolon(){return this.match(135)||this.match(4)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return Dt(this.input,this.offsetToSourcePos(this.state.lastTokEndLoc.index),this.state.start)}hasFollowingLineBreak(){return Dt(this.input,this.state.end,this.nextTokenStart())}isLineTerminator(){return this.eat(9)||this.canInsertSemicolon()}semicolon(e=!0){(e?this.isLineTerminator():this.eat(9))||this.raise(g.MissingSemicolon,this.state.lastTokEndLoc)}expect(e,t){this.eat(e)||this.unexpected(t,e)}tryParse(e,t=this.state.clone()){let n={node:null};try{let r=e((e=null)=>{throw n.node=e,n});if(this.state.errors.length>t.errors.length){let e=this.state;return this.state=t,this.state.tokensLength=e.tokensLength,{node:r,error:e.errors[t.errors.length],thrown:!1,aborted:!1,failState:e}}return{node:r,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){let r=this.state;if(this.state=t,e instanceof SyntaxError)return{node:null,error:e,thrown:!0,aborted:!1,failState:r};if(e===n)return{node:n.node,error:null,thrown:!1,aborted:!0,failState:r};throw e}}checkExpressionErrors(e,t){if(!e)return!1;let{shorthandAssignLoc:n,doubleProtoLoc:r,privateKeyLoc:i,optionalParametersLoc:a,voidPatternLoc:o}=e,s=!!n||!!r||!!a||!!i||!!o;if(!t)return s;n!=null&&this.raise(g.InvalidCoverInitializedName,n),r!=null&&this.raise(g.DuplicateProto,r),i!=null&&this.raise(g.UnexpectedPrivateField,i),a!=null&&this.unexpected(a),o!=null&&this.raise(g.InvalidCoverDiscardElement,o)}isLiteralPropertyName(){return Ae(this.state.type)}isPrivateName(e){return e.type===`PrivateName`}getPrivateNameSV(e){return e.id.name}hasPropertyAsPrivateName(e){return(e.type===`MemberExpression`||e.type===`OptionalMemberExpression`)&&this.isPrivateName(e.property)}isObjectProperty(e){return e.type===`ObjectProperty`}isObjectMethod(e){return e.type===`ObjectMethod`}initializeScopes(e=this.options.sourceType===`module`){let t=this.state.labels;this.state.labels=[];let n=this.exportedIdentifiers;this.exportedIdentifiers=new Set;let r=this.inModule;this.inModule=e;let i=this.scope,a=this.getScopeHandler();this.scope=new a(this,e);let o=this.prodParam;this.prodParam=new mn;let s=this.classScope;this.classScope=new on(this);let c=this.expressionScope;return this.expressionScope=new ln(this),()=>{this.state.labels=t,this.exportedIdentifiers=n,this.inModule=r,this.scope=i,this.prodParam=o,this.classScope=s,this.expressionScope=c}}enterInitialScopes(){let e=0;(this.inModule||this.optionFlags&1)&&(e|=2),this.optionFlags&32&&(e|=1);let t=!this.inModule&&this.options.sourceType===`commonjs`;(t||this.optionFlags&2)&&(e|=4),this.prodParam.enter(e);let n=t?514:1;this.optionFlags&4&&(n|=512),this.optionFlags&16&&(n|=48),this.scope.enter(n)}checkDestructuringPrivate(e){let{privateKeyLoc:t}=e;t!==null&&this.expectPlugin(`destructuringPrivate`,t)}},_n=class{shorthandAssignLoc=null;doubleProtoLoc=null;privateKeyLoc=null;optionalParametersLoc=null;voidPatternLoc=null},vn=class{constructor(e,t,n,r){this.start=n,this.end=0,r!==void 0&&(this.loc=new f(r)),e&128&&(this.range=[n,0]),r!==void 0&&t&&(this.loc.filename=t)}type=``},yn=vn.prototype,bn=class extends gn{createPosition(e){return e}startNode(){let{startLoc:e}=this.state;return this.setLoc(e),this.startNodeAt(e)}startNodeAt(e){let{optionFlags:t,filename:n}=this;return t&256?new vn(t,n,e.index,this.createPosition(e)):new vn(t,n,e.index)}startNodeAtNode(e){let{optionFlags:t,filename:n}=this;return t&256?new vn(t,n,e.start,e.loc.start):new vn(t,n,e.start)}finishNode(e,t){return this.finishNodeAt(e,t,this.state.lastTokEndLoc)}finishNodeAt(e,t,n){e.type=t,e.end=n.index;let{optionFlags:r}=this;return r&256&&(e.loc.end=this.createPosition(n)),r&128&&(e.range[1]=n.index),r&8192&&this.processComment(e),e}finishNodeAtNode(e,t,n){e.type=t,e.end=n.end;let{optionFlags:r}=this;return r&256&&(e.loc.end=n.loc.end),r&128&&(e.range[1]=e.end),r&8192&&this.processComment(e),e}resetStartLocation(e,t){e.start=t.index;let{optionFlags:n}=this;n&256&&(e.loc.start=this.createPosition(t)),n&128&&(e.range[0]=t.index)}resetEndLocation(e,t=this.state.lastTokEndLoc){e.end=t.index;let{optionFlags:n}=this;n&256&&(e.loc.end=this.createPosition(t)),n&128&&(e.range[1]=t.index)}resetStartLocationFromNode(e,t){e.start=t.start;let{optionFlags:n}=this;n&256&&(e.loc.start=t.loc.start),n&128&&(e.range[0]=t.start)}resetEndLocationFromNode(e,t){e.end=t.end;let{optionFlags:n}=this;n&256&&(e.loc.end=t.loc.end),n&128&&(e.range[1]=t.end)}castNodeTo(e,t){return e.type=t,e}cloneIdentifier(e){let{type:t,start:n,end:r,loc:i,range:a,name:o}=e,s=Object.create(yn);return s.type=t,s.start=n,s.end=r,s.loc=i,s.range=a,s.name=o,e.extra&&(s.extra=e.extra),s}cloneStringLiteral(e){let{type:t,start:n,end:r,loc:i,range:a,extra:o}=e,s=Object.create(yn);return s.type=t,s.start=n,s.end=r,s.loc=i,s.range=a,s.extra=o,s.value=e.value,s}},xn=e=>e.type===`ParenthesizedExpression`?xn(e.expression):e,Sn=class extends bn{toAssignable(e,t=!1){let n;switch((e.type===`ParenthesizedExpression`||e.extra?.parenthesized)&&(n=xn(e),t?n.type===`Identifier`?this.expressionScope.recordArrowParameterBindingError(g.InvalidParenthesizedAssignment,e):n.type!==`CallExpression`&&n.type!==`MemberExpression`&&!this.isOptionalMemberExpression(n)&&this.raise(g.InvalidParenthesizedAssignment,e):this.raise(g.InvalidParenthesizedAssignment,e)),e.type){case`Identifier`:case`ObjectPattern`:case`ArrayPattern`:case`AssignmentPattern`:case`RestElement`:case`VoidPattern`:break;case`ObjectExpression`:this.castNodeTo(e,`ObjectPattern`);for(let n=0,r=e.properties.length,i=r-1;n<r;n++){let r=e.properties[n],a=n===i;this.toAssignableObjectExpressionProp(r,a,t),a&&r.type===`RestElement`&&e.extra?.trailingCommaLoc&&this.raise(g.RestTrailingComma,e.extra.trailingCommaLoc)}break;case`ObjectProperty`:{let{key:n,value:r}=e;this.isPrivateName(n)&&this.classScope.usePrivateName(this.getPrivateNameSV(n),n.start),this.toAssignable(r,t);break}case`SpreadElement`:throw Error(`Internal @babel/parser error (this is a bug, please report it). SpreadElement should be converted by .toAssignable's caller.`);case`ArrayExpression`:this.castNodeTo(e,`ArrayPattern`),this.toAssignableList(e.elements,e.extra?.trailingCommaLoc,t);break;case`AssignmentExpression`:e.operator!==`=`&&this.raise(g.MissingEqInAssignment,this.optionFlags&256?e.left.loc.end:e.left),this.castNodeTo(e,`AssignmentPattern`),delete e.operator,e.left.type===`VoidPattern`&&this.raise(g.VoidPatternInitializer,e.left),this.toAssignable(e.left,t);break;case`ParenthesizedExpression`:this.toAssignable(n,t)}}toAssignableObjectExpressionProp(e,t,n){if(e.type===`ObjectMethod`)this.raise(e.kind===`get`||e.kind===`set`?g.PatternHasAccessor:g.PatternHasMethod,e.key);else if(e.type===`SpreadElement`){this.castNodeTo(e,`RestElement`);let r=e.argument;this.checkToRestConversion(r,!1),this.toAssignable(r,n),t||this.raise(g.RestTrailingComma,e)}else this.toAssignable(e,n)}toAssignableList(e,t,n){let r=e.length-1;for(let i=0;i<=r;i++){let a=e[i];a&&(this.toAssignableListItem(e,i,n),a.type===`RestElement`&&(i<r?this.raise(g.RestTrailingComma,a):t&&this.raise(g.RestTrailingComma,t)))}}toAssignableListItem(e,t,n){let r=e[t];if(r.type===`SpreadElement`){this.castNodeTo(r,`RestElement`);let e=r.argument;this.checkToRestConversion(e,!0),this.toAssignable(e,n)}else this.toAssignable(r,n)}isAssignable(e,t){switch(e.type){case`Identifier`:case`ObjectPattern`:case`ArrayPattern`:case`AssignmentPattern`:case`RestElement`:case`VoidPattern`:return!0;case`ObjectExpression`:{let t=e.properties.length-1;return e.properties.every((e,n)=>e.type!==`ObjectMethod`&&(n===t||e.type!==`SpreadElement`)&&this.isAssignable(e))}case`ObjectProperty`:return this.isAssignable(e.value);case`SpreadElement`:return this.isAssignable(e.argument);case`ArrayExpression`:return e.elements.every(e=>e===null||this.isAssignable(e));case`AssignmentExpression`:return e.operator===`=`;case`ParenthesizedExpression`:return this.isAssignable(e.expression);case`MemberExpression`:case`OptionalMemberExpression`:return!t;default:return!1}}toReferencedList(e,t){return e}parseSpread(e){let t=this.startNode();return this.next(),t.argument=this.parseMaybeAssignAllowIn(e,void 0),this.finishNode(t,`SpreadElement`)}parseRestBinding(){let e=this.startNode();this.next();let t=this.parseBindingAtom();return t.type===`VoidPattern`&&this.raise(g.UnexpectedVoidPattern,t),e.argument=t,this.finishNode(e,`RestElement`)}parseBindingAtom(){switch(this.state.type){case 0:{let e=this.startNode();return this.next(),e.elements=this.parseBindingList(1,93,1),this.finishNode(e,`ArrayPattern`)}case 2:return this.parseObjectLike(4,!0);case 84:return this.parseVoidPattern(null)}return this.parseIdentifier()}parseBindingList(e,t,n){let r=n&1,i=[],a=!0;for(;!this.eat(e);)if(a?a=!1:this.expect(8),r&&this.match(8))i.push(null);else if(this.eat(e))break;else if(this.match(17)){let r=this.parseRestBinding();if(n&2&&(r=this.parseFunctionParamType(r)),i.push(r),!this.checkCommaAfterRest(t)){this.expect(e);break}}else{let e=[];if(n&2)for(this.match(22)&&this.hasPlugin(`decorators`)&&this.raise(g.UnsupportedParameterDecorator,this.state.startLoc);this.match(22);)e.push(this.parseDecorator());i.push(this.parseBindingElement(n,e))}return i}parseBindingRestProperty(e){return this.next(),this.hasPlugin(`discardBinding`)&&this.match(84)?(e.argument=this.parseVoidPattern(null),this.raise(g.UnexpectedVoidPattern,e.argument)):e.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(e,`RestElement`)}parseBindingProperty(){let{type:e,startLoc:t}=this.state;if(e===17)return this.parseBindingRestProperty(this.startNode());let n=this.startNode();return e===134?(this.expectPlugin(`destructuringPrivate`,t),this.classScope.usePrivateName(this.state.value,t),n.key=this.parsePrivateName()):this.parsePropertyName(n),n.method=!1,this.parseObjPropValue(n,t,!1,!1,!0,!1)}parseBindingElement(e,t){let{startLoc:n}=this.state,r=this.parseMaybeDefault();return e&2&&this.parseFunctionParamType(r),t.length&&(r.decorators=t,this.resetStartLocationFromNode(r,t[0])),this.parseMaybeDefault(n,r)}parseFunctionParamType(e){return e}parseMaybeDefault(e,t){if(e??=this.state.startLoc,t??=this.parseBindingAtom(),!this.eat(25))return t;let n=this.startNodeAt(e);return t.type===`VoidPattern`&&this.raise(g.VoidPatternInitializer,t),n.left=t,n.right=this.parseMaybeAssignAllowIn(),this.finishNode(n,`AssignmentPattern`)}isValidLVal(e,t,n,r){switch(e){case`AssignmentPattern`:return`left`;case`RestElement`:return`argument`;case`ObjectProperty`:return`value`;case`ParenthesizedExpression`:return`expression`;case`ArrayPattern`:return`elements`;case`ObjectPattern`:return`properties`;case`VoidPattern`:return!0;case`CallExpression`:if(!t&&!this.state.strict&&this.optionFlags&16384)return!0}return!1}isOptionalMemberExpression(e){return e.type===`OptionalMemberExpression`}checkLVal(e,t,n=64,r=!1,i=!1,a=!1,o=!1){let s=e.type;if(this.isObjectMethod(e))return;let c=this.isOptionalMemberExpression(e);if(c||s===`MemberExpression`){c&&(this.expectPlugin(`optionalChainingAssign`,e.start),t.type!==`AssignmentExpression`&&this.raise(g.InvalidLhsOptionalChaining,e,{ancestor:t})),n!==64&&this.raise(g.InvalidPropertyBindingPattern,e);return}if(s===`Identifier`){this.checkIdentifier(e,n,i);let{name:t}=e;r&&(r.has(t)?this.raise(g.ParamDupe,e):r.add(t));return}s===`VoidPattern`&&t.type===`CatchClause`&&this.raise(g.VoidPatternCatchClauseParam,e);let l=xn(e);o||=l.type===`CallExpression`&&(l.callee.type===`Import`||l.callee.type===`Super`);let u=this.isValidLVal(s,o,!(a||e.extra?.parenthesized)&&t.type===`AssignmentExpression`,n);if(u===!0)return;if(u===!1){let r=n===64?g.InvalidLhs:g.InvalidLhsBinding;this.raise(r,e,{ancestor:t});return}let d,f;typeof u==`string`?(d=u,f=s===`ParenthesizedExpression`):[d,f]=u;let p=s===`ArrayPattern`||s===`ObjectPattern`?{type:s}:t,m=e[d];if(Array.isArray(m))for(let e of m)e&&this.checkLVal(e,p,n,r,i,f,!0);else m&&this.checkLVal(m,p,n,r,i,f,o)}checkIdentifier(e,t,n=!1){this.state.strict&&(n?ct(e.name,this.inModule):st(e.name))&&(t===64?this.raise(g.StrictEvalArguments,e,{referenceName:e.name}):this.raise(g.StrictEvalArgumentsBinding,e,{bindingName:e.name})),t&8192&&e.name===`let`&&this.raise(g.LetInLexicalBinding,e),t&64||this.declareNameFromIdentifier(e,t)}declareNameFromIdentifier(e,t){this.scope.declareName(e.name,t,e.start)}checkToRestConversion(e,t){switch(e.type){case`ParenthesizedExpression`:this.checkToRestConversion(e.expression,t);break;case`Identifier`:case`MemberExpression`:break;case`ArrayExpression`:case`ObjectExpression`:if(t)break;default:this.raise(g.InvalidRestAssignmentPattern,e)}}checkCommaAfterRest(e){return this.match(8)?(this.raise(this.lookaheadCharCode()===e?g.RestTrailingComma:g.ElementAfterRest,this.state.startLoc),!0):!1}},Cn=class extends Sn{checkProto(e,t,n){if(e.type===`SpreadElement`||this.isObjectMethod(e)||e.computed||e.shorthand)return t;let r=e.key;return(r.type===`Identifier`?r.name:r.value)===`__proto__`?(t&&(n?n.doubleProtoLoc===null&&(n.doubleProtoLoc=this.getLoc(r.start)):this.raise(g.DuplicateProto,r)),!0):t}shouldExitDescending(e){return e.type===`ArrowFunctionExpression`&&!e.extra?.parenthesized}getExpression(){if(this.enterInitialScopes(),this.nextToken(),this.match(135))throw this.raise(g.ParseExpressionEmptyInput,this.state.startLoc);let e=this.parseExpression();if(!this.match(135))throw this.raise(g.ParseExpressionExpectsEOF,this.state.startLoc,{unexpected:this.input.codePointAt(this.state.start)});return this.finalizeRemainingComments(),e.comments=this.comments,e.errors=this.state.errors,this.optionFlags&512&&(e.tokens=On(this.tokens)),e}parseExpression(e,t){return e?this.disallowInAnd(()=>this.parseExpressionBase(t)):this.allowInAnd(()=>this.parseExpressionBase(t))}parseExpressionBase(e){let t=this.state.startLoc,n=this.parseMaybeAssign(e);if(this.match(8)){let r=this.startNodeAt(t);for(r.expressions=[n];this.eat(8);)r.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(r.expressions),this.finishNode(r,`SequenceExpression`)}return n}parseMaybeAssignDisallowIn(e,t){return this.disallowInAnd(()=>this.parseMaybeAssign(e,t))}parseMaybeAssignAllowIn(e,t){return this.allowInAnd(()=>this.parseMaybeAssign(e,t))}setOptionalParametersError(e){e.optionalParametersLoc=this.state.startLoc}parseMaybeAssign(e,t){let n=this.state.startLoc,r=this.isContextual(104);if(r&&this.prodParam.hasYield){this.next();let e=this.parseYield(n);return t&&(e=t.call(this,e,n)),e}let i;e?i=!1:(e=new _n,i=!0),this.state.canStartArrow=!0;let a=this.parseMaybeConditional(e);if(t&&(a=t.call(this,a,n)),Ne(this.state.type)){let t=this.startNodeAt(n),r=this.state.value;if(t.operator=r,this.match(25)){this.toAssignable(a,!0),t.left=a;let r=n.index;e.doubleProtoLoc!=null&&e.doubleProtoLoc.index>=r&&(e.doubleProtoLoc=null),e.shorthandAssignLoc!=null&&e.shorthandAssignLoc.index>=r&&(e.shorthandAssignLoc=null),e.privateKeyLoc!=null&&e.privateKeyLoc.index>=r&&(this.checkDestructuringPrivate(e),e.privateKeyLoc=null),e.voidPatternLoc!=null&&e.voidPatternLoc.index>=r&&(e.voidPatternLoc=null)}else t.left=a;return this.next(),t.right=this.parseMaybeAssign(),this.checkLVal(a,this.finishNode(t,`AssignmentExpression`),void 0,void 0,void 0,void 0,r===`||=`||r===`&&=`||r===`??=`),t}if(i&&this.checkExpressionErrors(e,!0),r){let{type:e}=this.state;if((this.hasPlugin(`v8intrinsic`)?Me(e):Me(e)&&!this.match(50))&&!this.isAmbiguousPrefixOrIdentifier())return this.raiseOverwrite(g.YieldNotInGeneratorFunction,n),this.parseYield(n)}return a}parseMaybeConditional(e){let t=this.state.startLoc,n=this.parseExprOps(e);return this.shouldExitDescending(n)?n:this.parseConditional(n,t,e)}parseConditional(e,t,n){if(this.eat(13)){let n=this.startNodeAt(t);return n.test=e,n.consequent=this.parseMaybeAssignAllowIn(),this.expect(10),n.alternate=this.parseMaybeAssign(),this.finishNode(n,`ConditionalExpression`)}return e}parseMaybeUnaryOrPrivate(e){return this.match(134)?this.parsePrivateName():this.parseMaybeUnary(e)}parseExprOps(e){let t=this.state.startLoc,n=this.parseMaybeUnaryOrPrivate(e);return this.shouldExitDescending(n)?n:(this.state.canStartArrow=!1,this.parseExprOp(n,t,-1))}parseExprOp(e,t,n){if(this.isPrivateName(e)){let r=this.getPrivateNameSV(e);(n>=Ue(54)||!this.prodParam.hasIn||!this.match(54))&&this.raise(g.PrivateInExpectedIn,t,{identifierName:r}),this.classScope.usePrivateName(r,t)}let r=this.state.type;if(Le(r)&&(this.prodParam.hasIn||!this.match(54))){let i=Ue(r);if(i>n){if(r===35&&(this.expectPlugin(`pipelineOperator`),this.prodParam.inFSharpPipelineDirectBody))return e;let a=this.startNodeAt(t);a.left=e,a.operator=this.state.value;let o=r===37||r===38,s=r===36;s&&(i=Ue(38)),this.next(),a.right=this.parseExprOpRightExpr(r,i);let c=this.finishNode(a,o||s?`LogicalExpression`:`BinaryExpression`),l=this.state.type;if(s&&(l===37||l===38)||o&&l===36)throw this.raise(g.MixingCoalesceWithLogical,this.state.startLoc);return this.parseExprOp(c,t,n)}}return e}parseExprOpRightExpr(e,t){switch(e){case 35:switch(this.getPluginOption(`pipelineOperator`,`proposal`)){case`hack`:return this.withTopicBindingContext(()=>this.parseHackPipeBody());case`fsharp`:return this.parseFSharpPipelineBody(t)}default:return this.parseExprOpBaseRightExpr(e,t)}}parseExprOpBaseRightExpr(e,t){let n=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnaryOrPrivate(),n,We(e)?t-1:t)}parseHackPipeBody(){let{startLoc:e}=this.state,t=this.parseMaybeAssign();return ae.has(t.type)&&!t.extra?.parenthesized&&this.raise(g.PipeUnparenthesizedBody,e,{type:t.type}),this.topicReferenceWasUsedInCurrentContext()||this.raise(g.PipeTopicUnused,e),t}checkExponentialAfterUnary(e){this.match(53)&&this.raise(g.UnexpectedTokenUnaryExponentiation,e.argument)}parseMaybeUnary(e,t){let n=this.state.startLoc,r=this.isContextual(92);if(r&&this.recordAwaitIfAllowed()){this.next();let e=this.parseAwait(n);return t||this.checkExponentialAfterUnary(e),e}let i=this.match(30),a=this.startNode();if(ze(this.state.type)){a.operator=this.state.value,a.prefix=!0,this.state.canStartArrow=!1,this.match(68)&&this.expectPlugin(`throwExpressions`);let n=this.match(85);if(this.next(),a.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),this.state.strict&&n){let e=a.argument;e.type===`Identifier`?this.raise(g.StrictDelete,a):this.hasPropertyAsPrivateName(e)&&this.raise(g.DeletePrivateField,a)}if(!i)return t||this.checkExponentialAfterUnary(a),this.finishNode(a,`UnaryExpression`)}let o=this.parseUpdate(a,i,e);if(r){let{type:e}=this.state;if((this.hasPlugin(`v8intrinsic`)?Me(e):Me(e)&&!this.match(50))&&!this.isAmbiguousPrefixOrIdentifier())return this.raiseOverwrite(g.AwaitNotInAsyncContext,n),this.parseAwait(n)}return o}parseUpdate(e,t,n){if(t){let t=this.finishNode(e,`UpdateExpression`);return this.checkLVal(t.argument,t),t}let r=this.state.startLoc,i=this.parseExprSubscripts(n);if(this.checkExpressionErrors(n,!1))return i;for(;Re(this.state.type)&&!this.canInsertSemicolon();){let e=this.startNodeAt(r);e.operator=this.state.value,e.prefix=!1,e.argument=i,this.next(),this.checkLVal(i,i=this.finishNode(e,`UpdateExpression`))}return i}parseExprSubscripts(e){let t=this.state.startLoc;this.setLoc(t);let n=this.parseExprAtom(e);return this.shouldExitDescending(n)?n:this.parseSubscripts(n,t)}parseSubscripts(e,t,n){let r={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do e=this.parseSubscript(e,t,n,r),r.maybeAsyncArrow=!1;while(!r.stop);return e}parseSubscript(e,t,n,r){let{type:i}=this.state;if(!n&&i===11)return this.parseBind(e,t,r);if(Ge(i))return this.parseTaggedTemplateExpression(e,t,r);let a=!1;if(i===14){if(n&&(this.raise(g.OptionalChainingNoNew,this.state.startLoc),this.lookaheadCharCode()===40))return this.stopParseSubscript(e,r);r.optionalChainMember=a=!0,this.next()}if(!n&&this.match(6))return this.parseCoverCallAndAsyncArrowHead(e,t,r,a);{let n=this.eat(0);return n||a||this.eat(12)?this.parseMember(e,t,r,n,a):this.stopParseSubscript(e,r)}}stopParseSubscript(e,t){return t.stop=!0,e}parseMember(e,t,n,r,i){let a=this.startNodeAt(t);return a.object=e,a.computed=r,r?(a.property=this.parseExpression(),this.expect(1)):this.match(134)?(e.type===`Super`&&this.raise(g.SuperPrivateField,t),this.classScope.usePrivateName(this.state.value,this.state.startLoc),a.property=this.parsePrivateName()):a.property=this.parseIdentifier(!0),n.optionalChainMember?(a.optional=i,this.finishNode(a,`OptionalMemberExpression`)):this.finishNode(a,`MemberExpression`)}parseBind(e,t,n){let r=this.startNodeAt(t);r.object=e,this.next();let i=this.match(79),a=this.parseNoCallExpr();if(a.type===`Super`||i&&a.type===`ImportExpression`||a.type===`Import`)throw this.raise(g.UnsupportedBindRHS,a);return r.callee=a,n.stop=!0,this.parseSubscripts(this.finishNode(r,`BindExpression`),t,!1)}parseCoverCallAndAsyncArrowHead(e,t,n,r){let i=null;this.next();let a=this.startNodeAt(t);a.callee=e;let{maybeAsyncArrow:o,optionalChainMember:s}=n;o&&(this.expressionScope.enter(fn()),i=new _n),s&&(a.optional=r),a.arguments=r?this.parseCallExpressionArguments():this.parseCallExpressionArguments(e.type!==`Super`,a,i);let c=this.finishCallExpression(a,s);return o&&this.shouldParseAsyncArrow()&&!r?(n.stop=!0,this.checkDestructuringPrivate(i),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),c=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t),c)):(o&&(this.checkExpressionErrors(i,!0),this.expressionScope.exit()),this.toReferencedList(a.arguments)),c}parseTaggedTemplateExpression(e,t,n){let r=this.startNodeAt(t);return r.tag=e,r.quasi=this.parseTemplate(!0),n.optionalChainMember&&this.raise(g.OptionalChainingNoTemplate,t),this.finishNode(r,`TaggedTemplateExpression`)}atPossibleAsyncArrow(e){return e.type===`Identifier`&&e.name===`async`&&this.state.lastTokEndLoc.index===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.state.canStartArrow}finishCallExpression(e,t){if(e.callee.type===`Import`){if(e.arguments.length===0||e.arguments.length>2)this.raise(g.ImportCallArity,e);else for(let t of e.arguments)t.type===`SpreadElement`&&this.raise(g.ImportCallSpreadArgument,t)}return this.finishNode(e,t?`OptionalCallExpression`:`CallExpression`)}parseCallExpressionArguments(e,t,n){let r=[],i=!0;for(;!this.eat(7);){if(i)i=!1;else if(this.expect(8),this.match(7)){t&&this.addTrailingCommaExtraToNode(t),this.next();break}r.push(this.parseExprListItem(7,!1,n,e))}return r}shouldParseAsyncArrow(){return this.match(15)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(e,t){return this.resetPreviousNodeTrailingComments(t),this.expect(15),this.parseArrowExpression(e,t.arguments,!0,t.extra?.trailingCommaLoc),t.innerComments&&Bt(e,t.innerComments),t.callee.trailingComments&&Bt(e,t.callee.trailingComments),e}parseNoCallExpr(){let e=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),e,!0)}parseExprAtom(e){let t,n=null,{type:r}=this.state;switch(r){case 75:return this.parseSuper();case 79:return t=this.startNode(),this.next(),this.match(12)?this.parseImportMetaPropertyOrPhaseCall(t):this.match(6)?this.optionFlags&1024?this.parseImportCall(t):this.finishNode(t,`Import`):(this.raise(g.UnsupportedImport,this.state.lastTokStartLoc),this.finishNode(t,`Import`));case 74:return t=this.startNode(),this.next(),this.finishNode(t,`ThisExpression`);case 86:return this.parseDo(this.startNode(),!1);case 52:case 27:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case 131:return this.parseNumericLiteral(this.state.value);case 132:return this.parseBigIntLiteral(this.state.value);case 130:return this.parseStringLiteral(this.state.value);case 80:return this.parseNullLiteral();case 81:return this.parseBooleanLiteral(!0);case 82:return this.parseBooleanLiteral(!1);case 6:return this.parseParenAndDistinguishExpression(this.state.canStartArrow);case 0:return this.parseArrayLike(1,e);case 2:return this.parseObjectLike(4,!1,e);case 64:return this.parseFunctionOrFunctionSent();case 22:n=this.parseDecorators();case 76:return this.parseClass(this.maybeTakeDecorators(n,this.startNode()),!1);case 73:return this.parseNewOrNewTarget();case 21:case 20:return this.parseTemplate(!1);case 11:{t=this.startNode(),this.next(),t.object=null;let e=t.callee=this.parseNoCallExpr();if(e.type===`MemberExpression`)return this.finishNode(t,`BindExpression`);throw this.raise(g.UnsupportedBind,e)}case 134:return this.raise(g.PrivateInExpectedIn,this.state.startLoc,{identifierName:this.state.value}),this.parsePrivateName();case 29:return this.parseTopicReferenceThenEqualsSign(50,`%`);case 28:return this.parseTopicReferenceThenEqualsSign(40,`^`);case 33:case 34:return this.parseTopicReference(`hack`);case 40:case 50:case 23:{let e=this.getPluginOption(`pipelineOperator`,`proposal`);if(e)return this.parseTopicReference(e);throw this.unexpected()}case 43:{let e=this.input.codePointAt(this.nextTokenStart());throw $e(e)||e===62?this.expectOnePlugin([`jsx`,`flow`,`typescript`]):this.unexpected()}default:if(w(r)){if(this.isContextual(123)&&this.lookaheadInLineCharCode()===123)return this.parseModuleExpression();let{canStartArrow:e,containsEsc:t}=this.state,n=this.parseIdentifier();if(!t&&n.name===`async`&&!this.canInsertSemicolon()){let{type:t}=this.state;if(t===64)return this.resetPreviousNodeTrailingComments(n),this.next(),this.parseAsyncFunctionExpression(this.startNodeAtNode(n));if(w(t))return e&&this.lookaheadCharCode()===61?this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(n)):n;if(t===86)return this.resetPreviousNodeTrailingComments(n),this.parseDo(this.startNodeAtNode(n),!0)}return e&&this.match(15)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(n),[n],!1)):n}throw this.unexpected()}}parseTopicReferenceThenEqualsSign(e,t){let n=this.getPluginOption(`pipelineOperator`,`proposal`);if(n)return this.state.type=e,this.state.value=t,this.state.pos--,this.state.end--,this.state.endLoc=p(this.state.endLoc,-1),this.parseTopicReference(n);throw this.unexpected()}parseTopicReference(e){let t=this.startNode(),n=this.state.startLoc,r=this.state.type;return this.next(),this.finishTopicReference(t,n,e,r)}finishTopicReference(e,t,n,r){if(this.testTopicReferenceConfiguration(n,t,r))return this.topicReferenceIsAllowedInCurrentContext()||this.raise(g.PipeTopicUnbound,t),this.registerTopicReference(),this.finishNode(e,`TopicReference`);throw this.raise(g.PipeTopicUnconfiguredToken,t,{token:He(r)})}testTopicReferenceConfiguration(e,t,n){switch(e){case`hack`:return this.hasPlugin([`pipelineOperator`,{topicToken:He(n)}]);default:throw this.raise(g.PipeTopicRequiresHackPipes,t)}}parseAsyncArrowUnaryFunction(e){this.prodParam.enter(hn(!0,this.prodParam.hasYield));let t=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(g.LineTerminatorBeforeArrow,this.state.curPosition()),this.expect(15),this.parseArrowExpression(e,t,!0)}parseDo(e,t){this.expectPlugin(`doExpressions`),t&&this.expectPlugin(`asyncDoExpressions`),e.async=t,this.next();let n=this.state.labels;return this.state.labels=[],t?(this.prodParam.enter(2),e.body=this.parseBlock(),this.prodParam.exit()):e.body=this.parseBlock(),this.state.labels=n,this.finishNode(e,`DoExpression`)}parseSuper(){let e=this.startNode();return this.next(),this.match(6)&&!this.scope.allowDirectSuper?this.raise(g.SuperNotAllowed,e):this.scope.allowSuper||this.raise(g.UnexpectedSuper,e),!this.match(6)&&!this.match(0)&&!this.match(12)&&this.raise(g.UnsupportedSuper,e),this.finishNode(e,`Super`)}parsePrivateName(){let e=this.startNode(),t=this.startNodeAt(p(this.state.startLoc,1)),n=this.state.value;return this.next(),e.id=this.createIdentifier(t,n),this.finishNode(e,`PrivateName`)}parseFunctionOrFunctionSent(){let e=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(12)){let t=this.createIdentifier(this.startNodeAtNode(e),`function`);return this.next(),this.match(99)?this.expectPlugin(`functionSent`):this.hasPlugin(`functionSent`)||this.unexpected(),this.parseMetaProperty(e,t,`sent`)}return this.parseFunction(e)}parseMetaProperty(e,t,n){e.meta=t;let r=this.state.containsEsc;return e.property=this.parseIdentifier(!0),(e.property.name!==n||r)&&this.raise(g.UnsupportedMetaProperty,e.property,{target:t.name,onlyValidPropertyName:n}),this.finishNode(e,`MetaProperty`)}parseImportMetaPropertyOrPhaseCall(e){if(this.next(),this.isContextual(101)||this.isContextual(93)){let t=this.isContextual(101);return this.expectPlugin(t?`sourcePhaseImports`:`deferredImportEvaluation`),this.next(),e.phase=t?`source`:`defer`,this.parseImportCall(e)}{let t=this.createIdentifierAt(this.startNodeAtNode(e),`import`,this.state.lastTokStartLoc);return this.isContextual(97)&&(this.inModule||this.raise(g.ImportMetaOutsideModule,t),this.sawUnambiguousESM=!0),this.parseMetaProperty(e,t,`meta`)}}parseLiteralAtNode(e,t,n){return this.addExtra(n,`rawValue`,e),this.addExtra(n,`raw`,this.input.slice(this.offsetToSourcePos(n.start),this.state.end)),n.value=e,this.next(),this.finishNode(n,t)}parseLiteral(e,t){let n=this.startNode();return this.parseLiteralAtNode(e,t,n)}parseStringLiteral(e){return this.parseLiteral(e,`StringLiteral`)}parseNumericLiteral(e){return this.parseLiteral(e,`NumericLiteral`)}parseBigIntLiteral(e){let t;try{t=BigInt(e)}catch{t=null}return this.parseLiteral(t,`BigIntLiteral`)}parseRegExpLiteral(e){let t=this.startNode();return this.addExtra(t,`raw`,this.input.slice(this.offsetToSourcePos(t.start),this.state.end)),t.pattern=e.pattern,t.flags=e.flags,this.next(),this.finishNode(t,`RegExpLiteral`)}parseBooleanLiteral(e){let t=this.startNode();return t.value=e,this.next(),this.finishNode(t,`BooleanLiteral`)}parseNullLiteral(){let e=this.startNode();return this.next(),this.finishNode(e,`NullLiteral`)}parseParenAndDistinguishExpression(e){let t=this.state.startLoc,n;this.next(),this.expressionScope.enter(dn());let r=this.state.startLoc,i=[],a=new _n,o=!0,s,c;for(;!this.match(7);){if(o)o=!1;else if(this.expect(8,a.optionalParametersLoc===null?null:a.optionalParametersLoc),this.match(7)){c=this.state.startLoc;break}if(this.match(17)){let e=this.state.startLoc;if(s=this.state.startLoc,i.push(this.parseParenItem(this.parseRestBinding(),e)),!this.checkCommaAfterRest(41))break}else i.push(this.parseMaybeAssignAllowInOrVoidPattern(7,a,this.parseParenItem))}let l=this.state.lastTokEndLoc;this.expect(7);let u=this.startNodeAt(t);return e&&this.shouldParseArrow(i)&&(u=this.parseArrow(u))?(this.checkDestructuringPrivate(a),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(u,i,!1),u):(this.expressionScope.exit(),i.length||this.unexpected(this.state.lastTokStartLoc),c&&this.unexpected(c),s&&this.unexpected(s),this.checkExpressionErrors(a,!0),this.toReferencedList(i,!0),i.length>1?(n=this.startNodeAt(r),n.expressions=i,this.finishNode(n,`SequenceExpression`),this.resetEndLocation(n,l)):n=i[0],this.wrapParenthesis(t,n))}wrapParenthesis(e,t){if(!(this.optionFlags&2048))return this.addExtra(t,`parenthesized`,!0),this.addExtra(t,`parenStart`,e.index),this.takeSurroundingComments(t,e.index,this.state.lastTokEndLoc.index),t;let n=this.startNodeAt(e);return n.expression=t,this.finishNode(n,`ParenthesizedExpression`)}shouldParseArrow(e){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(15))return e}parseParenItem(e,t){return e}parseNewOrNewTarget(){let e=this.startNode();if(this.next(),this.match(12)){let t=this.createIdentifier(this.startNodeAtNode(e),`new`);this.next();let n=this.parseMetaProperty(e,t,`target`);return this.scope.allowNewTarget||this.raise(g.UnexpectedNewTarget,n),n}return this.parseNew(e)}parseNew(e){if(this.parseNewCallee(e),this.eat(6)){let t=this.parseExprList(7);this.toReferencedList(t),e.arguments=t}else e.arguments=[];return this.finishNode(e,`NewExpression`)}parseNewCallee(e){let t=this.match(79),n=this.parseNoCallExpr();e.callee=n,t&&n.type===`ImportExpression`&&this.raise(g.ImportCallNotNewExpression,n,n),n.type===`Import`&&this.raise(g.ImportCallNotNewExpression,n),n.type===`Super`&&this.raise(g.SuperCallNotNewExpression,n)}parseTemplateElement(e){let{start:t,startLoc:n,end:r,value:i}=this.state,a=t+1,o=this.startNodeAt(p(n,1));i===null&&(e||this.raise(g.InvalidEscapeSequenceTemplate,p(this.state.firstInvalidTemplateEscapePos,1)));let s=this.match(20),c=s?-1:-2,l=r+c;o.value={raw:this.input.slice(a,l).replace(/\r\n?/g,`
6
+ `),cooked:i===null?null:i.slice(1,c)},o.tail=s,this.next();let u=this.finishNode(o,`TemplateElement`);return this.resetEndLocation(u,p(this.state.lastTokEndLoc,c)),u}parseTemplate(e){let t=this.startNode(),n=this.parseTemplateElement(e),r=[n],i=[];for(;!n.tail;)i.push(this.parseTemplateSubstitution()),this.readTemplateContinuation(),r.push(n=this.parseTemplateElement(e));return t.expressions=i,t.quasis=r,this.finishNode(t,`TemplateLiteral`)}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,n){let r=!1,i=!0,a=this.startNode();for(a.properties=[],this.next();!this.match(e);){if(i)i=!1;else if(this.expect(8),this.match(e)){this.addTrailingCommaExtraToNode(a);break}let o;t?o=this.parseBindingProperty():(o=this.parsePropertyDefinition(n),r=this.checkProto(o,r,n)),a.properties.push(o)}this.next();let o=t?`ObjectPattern`:`ObjectExpression`;return this.finishNode(a,o)}addTrailingCommaExtraToNode(e){this.addExtra(e,`trailingComma`,this.state.lastTokStartLoc.index),this.addExtra(e,`trailingCommaLoc`,this.state.lastTokStartLoc,!1)}maybeAsyncOrAccessorProp(e){return!e.computed&&e.key.type===`Identifier`&&(this.isLiteralPropertyName()||this.match(0)||this.match(51))}parsePropertyDefinition(e){let t=[];if(this.match(22))for(this.hasPlugin(`decorators`)&&this.raise(g.UnsupportedPropertyDecorator,this.state.startLoc);this.match(22);)t.push(this.parseDecorator());let n=this.startNode(),r=!1,i=!1,a;if(this.match(17))return t.length&&this.unexpected(),this.parseSpread();t.length&&(n.decorators=t),n.method=!1,e&&(a=this.state.startLoc);let o=this.eat(51);this.parsePropertyNamePrefixOperator(n);let s=this.state.containsEsc;if(this.parsePropertyName(n,e),!o&&!s&&this.maybeAsyncOrAccessorProp(n)){let{key:e}=n,t=e.name;t===`async`&&!this.hasPrecedingLineBreak()&&(r=!0,this.resetPreviousNodeTrailingComments(e),o=this.eat(51),this.parsePropertyName(n)),(t===`get`||t===`set`)&&(i=!0,this.resetPreviousNodeTrailingComments(e),n.kind=t,this.match(51)&&(o=!0,this.raise(g.AccessorIsGenerator,this.state.curPosition(),{kind:t}),this.next()),this.parsePropertyName(n))}return this.parseObjPropValue(n,a,o,r,!1,i,e)}getGetterSetterExpectedParamCount(e){return e.kind===`get`?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){let t=this.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e);n.length!==t&&this.raise(e.kind===`get`?g.BadGetterArity:g.BadSetterArity,e),e.kind===`set`&&n[n.length-1]?.type===`RestElement`&&this.raise(g.BadSetterRestParameter,e)}parseObjectMethod(e,t,n,r,i){if(i){let n=this.parseMethod(e,t,!1,!1,!1,`ObjectMethod`);return this.checkGetterSetterParams(n),n}if(n||t||this.match(6))return r&&this.unexpected(),e.kind=`method`,e.method=!0,this.parseMethod(e,t,n,!1,!1,`ObjectMethod`)}parseObjectProperty(e,t,n,r){if(e.shorthand=!1,this.eat(10))return e.value=n?this.parseMaybeDefault(this.state.startLoc):this.parseMaybeAssignAllowInOrVoidPattern(4,r),this.finishObjectProperty(e);if(!e.computed&&e.key.type===`Identifier`){if(this.checkReservedWord(e.key.name,e.key.start,!0,!1),n)e.value=this.parseMaybeDefault(t,this.cloneIdentifier(e.key));else if(this.match(25)){let n=this.state.startLoc;r==null?this.raise(g.InvalidCoverInitializedName,n):r.shorthandAssignLoc===null&&(r.shorthandAssignLoc=n),e.value=this.parseMaybeDefault(t,this.cloneIdentifier(e.key))}else e.value=this.cloneIdentifier(e.key);return e.shorthand=!0,this.finishObjectProperty(e)}}finishObjectProperty(e){return this.finishNode(e,`ObjectProperty`)}parseObjPropValue(e,t,n,r,i,a,o){let s=this.parseObjectMethod(e,n,r,i,a)||this.parseObjectProperty(e,t,i,o);return s||this.unexpected(),s}parsePropertyName(e,t){if(this.eat(0))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(1);else{let{type:n,value:r}=this.state,i;if(ke(n))i=this.parseIdentifier(!0);else switch(n){case 131:i=this.parseNumericLiteral(r);break;case 130:i=this.parseStringLiteral(r);break;case 132:i=this.parseBigIntLiteral(r);break;case 134:{let e=this.state.startLoc;t==null?this.raise(g.UnexpectedPrivateField,e):t.privateKeyLoc===null&&(t.privateKeyLoc=e),i=this.parsePrivateName();break}default:this.unexpected()}e.key=i,n!==134&&(e.computed=!1)}}initFunction(e,t){e.id=null,e.generator=!1,e.async=t}parseMethod(e,t,n,r,i,a,o=!1){this.initFunction(e,n),e.generator=t,this.scope.enter(530|(o?576:0)|(i?32:0)),this.prodParam.enter(hn(n,e.generator)),this.parseFunctionParams(e,r);let s=this.parseFunctionBodyAndFinish(e,a,!0);return this.prodParam.exit(),this.scope.exit(),s}parseArrayLike(e,t){let n=this.startNode();return this.next(),n.elements=this.parseExprList(e,!0,t,n),this.finishNode(n,`ArrayExpression`)}parseArrowExpression(e,t,n,r){this.scope.enter(518);let i=hn(n,!1);return this.match(2)||(i|=this.prodParam.currentFlags()&24),this.prodParam.enter(i),this.initFunction(e,n),t&&this.setArrowFunctionParameters(e,t,r),this.parseFunctionBody(e,!0),this.prodParam.exit(),this.scope.exit(),this.finishNode(e,`ArrowFunctionExpression`)}setArrowFunctionParameters(e,t,n){this.toAssignableList(t,n,!1),e.params=t}parseFunctionBodyAndFinish(e,t,n=!1){return this.parseFunctionBody(e,!1,n),this.finishNode(e,t)}parseFunctionBody(e,t,n=!1){let r=t&&!this.match(2);if(this.expressionScope.enter(pn()),r)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{let r=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(this.prodParam.currentFlags()|4),e.body=this.parseBlock(!0,!1,i=>{let a=!this.isSimpleParamList(e.params);i&&a&&this.raise(g.IllegalLanguageModeDirective,(e.kind===`method`||e.kind===`constructor`)&&e.key?this.optionFlags&256?e.key.loc.end:e.key:e);let o=!r&&this.state.strict;this.checkParams(e,!this.state.strict&&!t&&!n&&!a,t,o),this.state.strict&&e.id&&this.checkIdentifier(e.id,65,o)}),this.prodParam.exit(),this.state.labels=i}this.expressionScope.exit()}isSimpleParameter(e){return e.type===`Identifier`}isSimpleParamList(e){for(let t=0,n=e.length;t<n;t++)if(!this.isSimpleParameter(e[t]))return!1;return!0}checkParams(e,t,n,r=!0){let i=!t&&new Set,a={type:`FormalParameters`};for(let t of e.params)this.checkLVal(t,a,5,i,r)}parseExprList(e,t,n,r){let i=[],a=!0;for(;!this.eat(e);){if(a)a=!1;else if(this.expect(8),this.match(e)){r&&this.addTrailingCommaExtraToNode(r),this.next();break}i.push(this.parseExprListItem(e,t,n))}return i}parseExprListItem(e,t,n,r){let i;if(this.match(8))t||this.raise(g.UnexpectedToken,this.state.curPosition(),{unexpected:`,`}),i=null;else if(this.match(17)){let e=this.state.startLoc;i=this.parseParenItem(this.parseSpread(n),e)}else if(this.match(13)){this.expectPlugin(`partialApplication`),r||this.raise(g.UnexpectedArgumentPlaceholder,this.state.startLoc);let e=this.startNode();this.next(),i=this.finishNode(e,`ArgumentPlaceholder`)}else i=this.parseMaybeAssignAllowInOrVoidPattern(e,n,this.parseParenItem);return i}parseIdentifier(e){let t=this.startNode(),n=this.parseIdentifierName(e);return this.createIdentifier(t,n)}createIdentifier(e,t){return e.name=t,this.optionFlags&256&&(e.loc.identifierName=t),this.finishNode(e,`Identifier`)}createIdentifierAt(e,t,n){return e.name=t,this.optionFlags&256&&(e.loc.identifierName=t),this.finishNodeAt(e,`Identifier`,n)}parseIdentifierName(e){let t,{start:n,type:r}=this.state;ke(r)?t=this.state.value:this.unexpected();let i=Oe(r);return e?i&&this.replaceToken(128):this.checkReservedWord(t,this.sourceToOffsetPos(n),i,!1),this.next(),t}checkReservedWord(e,t,n,r){if(!(e.length>10)&&ft(e)){if(n&&lt(e)){this.raise(g.UnexpectedKeyword,t,{keyword:e});return}if((this.state.strict?r?ct:ot:at)(e,this.inModule)){this.raise(g.UnexpectedReservedWord,t,{reservedWord:e});return}if(e===`yield`){if(this.prodParam.hasYield){this.raise(g.YieldBindingIdentifier,t);return}}else if(e===`await`){if(this.prodParam.hasAwait){this.raise(g.AwaitBindingIdentifier,t);return}if(this.scope.inStaticBlock){this.raise(g.AwaitBindingIdentifierInStaticBlock,t);return}this.expressionScope.recordAsyncArrowParametersError(t)}else if(e===`arguments`&&this.scope.inClassAndNotInNonArrowFunction){this.raise(g.ArgumentsInClass,t);return}}}recordAwaitIfAllowed(){let e=this.prodParam.hasAwait;return e&&!this.scope.inFunction&&(this.state.hasTopLevelAwait=!0),e}parseAwait(e,t){let n=e.index;this.setLoc(e);let r=this.startNodeAt(e);return this.expressionScope.recordParameterInitializerError(g.AwaitExpressionFormalParameter,n),this.eat(51)&&this.raise(g.ObsoleteAwaitStar,e),!this.scope.inFunction&&!(this.optionFlags&1)&&(this.isAmbiguousPrefixOrIdentifier()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),t||(r.argument=this.parseMaybeUnary(null,!0)),this.finishNode(r,`AwaitExpression`)}isAmbiguousPrefixOrIdentifier(){if(this.hasPrecedingLineBreak())return!0;let{type:e}=this.state;return e===49||e===6||e===0||Ge(e)||e===98&&!this.state.containsEsc||e===133||e===52||this.hasPlugin(`v8intrinsic`)&&e===50}parseYield(e){this.setLoc(e);let t=this.startNodeAt(e);this.expressionScope.recordParameterInitializerError(g.YieldInParameter,e.index);let n=!1,r=null;if(!this.hasPrecedingLineBreak())switch(n=this.eat(51),this.state.type){case 9:case 135:case 4:case 7:case 1:case 5:case 10:case 8:if(!n)break;default:r=this.parseMaybeAssign()}return t.delegate=n,t.argument=r,this.finishNode(t,`YieldExpression`)}parseImportCall(e){this.next();let t=this.parseCallExpressionArguments();if(t.length===0||t.length>2)this.raise(g.ImportCallArity,e,e);else for(let n of t)n.type===`SpreadElement`&&this.raise(g.ImportCallSpreadArgument,n,e);return e.source=t[0],e.options=t[1]??null,this.finishNode(e,`ImportExpression`)}withTopicBindingContext(e){let t=this.state.inHackPipelineBody;this.state.inHackPipelineBody=!0;let n=this.state.seenTopicReference;this.state.seenTopicReference=!1;try{return e()}finally{this.state.inHackPipelineBody=t,this.state.seenTopicReference=n}}allowInAnd(e){let t=this.prodParam.currentFlags();if(24&~t){this.prodParam.enter(t|24);try{return e()}finally{this.prodParam.exit()}}return e()}disallowInAnd(e){let t=this.prodParam.currentFlags(),n=8&t,r=16&~t;if(n||r){this.prodParam.enter(t&-9|16);try{return e()}finally{this.prodParam.exit()}}return e()}registerTopicReference(){this.state.seenTopicReference=!0}topicReferenceIsAllowedInCurrentContext(){return this.state.inHackPipelineBody}topicReferenceWasUsedInCurrentContext(){return this.state.seenTopicReference}parseFSharpPipelineBody(e){let t=this.state.startLoc;this.prodParam.enter(this.prodParam.currentFlags()&-17);let n;if(this.isContextual(92)&&this.recordAwaitIfAllowed()){this.next(),n=this.parseAwait(t,!0);let e=this.state.type;Le(e)&&e!==35&&(this.prodParam.hasIn||e!==54)&&this.raise(g.PipelineUnparenthesized,t)}else this.state.canStartArrow=!0,n=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),t,e);return this.prodParam.exit(),n}parseModuleExpression(){this.expectPlugin(`moduleBlocks`);let e=this.startNode();this.next(),this.match(2)||this.unexpected(null,2);let t=this.startNodeAt(this.state.endLoc);this.next();let n=this.initializeScopes(!0);this.enterInitialScopes();try{e.body=this.parseProgram(t,4,`module`)}finally{n()}return this.finishNode(e,`ModuleExpression`)}parseVoidPattern(e){this.expectPlugin(`discardBinding`);let t=this.startNode();return e!=null&&(e.voidPatternLoc=this.state.startLoc),this.next(),this.finishNode(t,`VoidPattern`)}parseMaybeAssignAllowInOrVoidPattern(e,t,n){if(t!=null&&this.match(84)){let n=this.lookaheadCharCode();if(n===44||n===(e===1?93:e===4?125:41)||n===61)return this.parseMaybeDefault(this.state.startLoc,this.parseVoidPattern(t))}return this.parseMaybeAssignAllowIn(t,n)}parsePropertyNamePrefixOperator(e){}},wn={kind:1},Tn={kind:2},En=/[\uD800-\uDFFF]/u,Dn=/in(?:stanceof)?/y;function On(e){for(let t=0;t<e.length;t++){let n=e[t],{type:r}=n;typeof r==`number`&&(n.type=Ke(r))}return e}var kn=class extends Cn{parseTopLevel(e,t){return e.program=this.parseProgram(t,135,this.options.sourceType===`module`?`module`:`script`),e.comments=this.comments,this.optionFlags&512&&(e.tokens=On(this.tokens)),this.finishNode(e,`File`)}parseProgram(e,t,n){if(e.sourceType=n,e.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(e,!0,!0,t),this.inModule){if(!(this.optionFlags&64)&&this.scope.undefinedExports.size>0)for(let[e,t]of Array.from(this.scope.undefinedExports))this.raise(g.ModuleExportUndefined,t,{localName:e});this.addExtra(e,`topLevelAwait`,this.state.hasTopLevelAwait)}let r;return r=t===135?this.finishNode(e,`Program`):this.finishNodeAt(e,`Program`,p(this.state.startLoc,-1)),r}stmtToDirective(e){let t=this.castNodeTo(e,`Directive`),n=this.castNodeTo(e.expression,`DirectiveLiteral`),r=n.value,i=this.input.slice(this.offsetToSourcePos(n.start),this.offsetToSourcePos(n.end)),a=n.value=i.slice(1,-1);return this.addExtra(n,`raw`,i),this.addExtra(n,`rawValue`,a),this.addExtra(n,`expressionValue`,r),t.value=n,delete e.expression,t}parseInterpreterDirective(){if(!this.match(24))return null;let e=this.startNode();return e.value=this.state.value,this.next(),this.finishNode(e,`InterpreterDirective`)}isLet(){return this.isContextual(96)?this.hasFollowingBindingAtom():!1}isUsing(){return this.isContextual(103)?this.nextTokenIsIdentifierOnSameLine():!1}isForUsing(){if(!this.isContextual(103))return!1;let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);if(this.isUnparsedContextual(e,`of`)){let t=this.lookaheadCharCodeSince(e+2);if(t!==61&&t!==58&&t!==59)return!1}return!!(this.chStartsBindingIdentifier(t,e)||this.isUnparsedContextual(e,`void`))}nextTokenIsIdentifierOnSameLine(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifier(t,e)}isAwaitUsing(){if(!this.isContextual(92))return!1;let e=this.nextTokenInLineStart();if(this.isUnparsedContextual(e,`using`)){e=this.nextTokenInLineStartSince(e+5);let t=this.codePointAtPos(e);if(this.chStartsBindingIdentifier(t,e))return!0}return!1}chStartsBindingIdentifier(e,t){if($e(e)){if(Dn.lastIndex=t,Dn.test(this.input)){let e=this.codePointAtPos(Dn.lastIndex);if(!et(e)&&e!==92)return!1}return!0}return e===92}chStartsBindingPattern(e){return e===91||e===123}hasFollowingBindingAtom(){let e=this.nextTokenStart(),t=this.codePointAtPos(e);return this.chStartsBindingPattern(t)||this.chStartsBindingIdentifier(t,e)}hasInLineFollowingBindingIdentifierOrBrace(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return t===123||this.chStartsBindingIdentifier(t,e)}allowsUsing(){return(this.scope.inModule||!this.scope.inTopLevel)&&!this.scope.inBareCaseStatement}parseModuleItem(){return this.parseStatementLike(15)}parseStatementListItem(){return this.parseStatementLike(6|(!this.options.annexB||this.state.strict?0:8))}parseStatementOrSloppyAnnexBFunctionDeclaration(e=!1){let t=0;return this.options.annexB&&!this.state.strict&&(t|=4,e&&(t|=8)),this.parseStatementLike(t)}parseStatement(){return this.parseStatementLike(0)}parseStatementLike(e){let t=null;return this.match(22)&&(t=this.parseDecorators(!0)),this.parseStatementContent(e,t)}parseStatementContent(e,t){let n=this.state.type,r=this.startNode(),i=!!(e&2),a=!!(e&4),o=e&1;switch(n){case 56:return this.parseBreakContinueStatement(r,!0);case 59:return this.parseBreakContinueStatement(r,!1);case 60:return this.parseDebuggerStatement(r);case 86:return this.parseDoWhileStatement(r);case 87:return this.parseForStatement(r);case 64:if(this.lookaheadCharCode()===46)break;return a||this.raise(this.state.strict?g.StrictFunction:this.options.annexB?g.SloppyFunctionAnnexB:g.SloppyFunction,this.state.startLoc),this.parseFunctionStatement(r,!1,!i&&a);case 76:return i||this.unexpected(),this.parseClass(this.maybeTakeDecorators(t,r),!0);case 65:return this.parseIfStatement(r);case 66:return this.parseReturnStatement(r);case 67:return this.parseSwitchStatement(r);case 68:return this.parseThrowStatement(r);case 69:return this.parseTryStatement(r);case 92:if(this.isAwaitUsing())return this.allowsUsing()?i?this.recordAwaitIfAllowed()||this.raise(g.AwaitUsingNotInAsyncContext,r):this.raise(g.UnexpectedLexicalDeclaration,r):this.raise(g.UnexpectedUsingDeclaration,r),this.next(),this.parseVarStatement(r,`await using`);break;case 103:if(this.state.containsEsc||!this.hasInLineFollowingBindingIdentifierOrBrace())break;return this.allowsUsing()?i||this.raise(g.UnexpectedLexicalDeclaration,this.state.startLoc):this.raise(g.UnexpectedUsingDeclaration,this.state.startLoc),this.parseVarStatement(r,`using`);case 96:{if(this.state.containsEsc)break;let e=this.nextTokenStart(),t=this.codePointAtPos(e);if(t!==91&&(!i&&this.hasFollowingLineBreak()||!this.chStartsBindingIdentifier(t,e)&&t!==123))break}case 71:i||this.raise(g.UnexpectedLexicalDeclaration,this.state.startLoc);case 70:{let e=this.state.value;return this.parseVarStatement(r,e)}case 88:return this.parseWhileStatement(r);case 72:return this.parseWithStatement(r);case 2:return this.parseBlock();case 9:return this.parseEmptyStatement(r);case 79:{let e=this.lookaheadCharCode();if(e===40||e===46)break}case 78:{!(this.optionFlags&8)&&!o&&this.raise(g.UnexpectedImportExport,this.state.startLoc),this.next();let e;return e=n===79?this.parseImport(r):this.parseExport(r,t),this.assertModuleNodeAllowed(e),e}default:if(this.isAsyncFunction())return i||this.raise(g.AsyncFunctionInSingleStatementContext,this.state.startLoc),this.next(),this.parseFunctionStatement(r,!0,!i&&a)}let s=this.state.value,c=this.parseExpression();return w(n)&&c.type===`Identifier`&&this.eat(10)?this.parseLabeledStatement(r,s,c,e):this.parseExpressionStatement(r,c,t)}assertModuleNodeAllowed(e){!(this.optionFlags&8)&&!this.inModule&&this.raise(g.ImportOutsideModule,e)}maybeTakeDecorators(e,t,n){return e&&(t.decorators?.length?(this.raise(g.DecoratorsBeforeAfterExport,t.decorators[0]),t.decorators.unshift(...e)):t.decorators=e,this.resetStartLocationFromNode(t,e[0]),n&&this.resetStartLocationFromNode(n,t)),t}canHaveLeadingDecorator(){return this.match(76)}parseDecorators(e){let t=[];do t.push(this.parseDecorator());while(this.match(22));if(this.match(78))e||this.unexpected();else if(!this.canHaveLeadingDecorator())throw this.raise(g.UnexpectedLeadingDecorator,this.state.startLoc);return t}parseDecorator(){this.expectOnePlugin([`decorators`,`decorators-legacy`]);let e=this.startNode();if(this.next(),this.hasPlugin(`decorators`)){let t=this.state.startLoc,n;if(this.match(6)){let t=this.state.startLoc;this.next(),n=this.parseExpression(),this.expect(7),n=this.wrapParenthesis(t,n);let r=this.state.startLoc;e.expression=this.parseMaybeDecoratorArguments(n,t),e.expression!==n&&this.raise(g.DecoratorArgumentsOutsideParentheses,r)}else{for(n=this.parseIdentifier(!1);this.eat(12);){let e=this.startNodeAt(t);e.object=n,this.match(134)?(this.classScope.usePrivateName(this.state.value,this.state.startLoc),e.property=this.parsePrivateName()):e.property=this.parseIdentifier(!0),e.computed=!1,n=this.finishNode(e,`MemberExpression`)}e.expression=this.parseMaybeDecoratorArguments(n,t)}}else this.state.canStartArrow=!1,e.expression=this.parseExprSubscripts();return this.finishNode(e,`Decorator`)}parseMaybeDecoratorArguments(e,t){if(this.eat(6)){let n=this.startNodeAt(t);return n.callee=e,n.arguments=this.parseCallExpressionArguments(),this.toReferencedList(n.arguments),this.finishNode(n,`CallExpression`)}return e}parseBreakContinueStatement(e,t){return this.next(),this.isLineTerminator()?e.label=null:(e.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(e,t),this.finishNode(e,t?`BreakStatement`:`ContinueStatement`)}verifyBreakContinue(e,t){let n=0;for(;n<this.state.labels.length;++n){let r=this.state.labels[n];if((e.label==null||r.name===e.label.name)&&(r.kind!=null&&(t||r.kind===1)||e.label&&t))break}if(n===this.state.labels.length){let n=t?`BreakStatement`:`ContinueStatement`;this.raise(g.IllegalBreakContinue,e,{type:n})}}parseDebuggerStatement(e){return this.next(),this.semicolon(),this.finishNode(e,`DebuggerStatement`)}parseHeaderExpression(){this.expect(6);let e=this.parseExpression();return this.expect(7),e}parseDoWhileStatement(e){return this.next(),this.state.labels.push(wn),e.body=this.parseStatement(),this.state.labels.pop(),this.expect(88),e.test=this.parseHeaderExpression(),this.eat(9),this.finishNode(e,`DoWhileStatement`)}parseForStatement(e){this.next(),this.state.labels.push(wn);let t=null;if(this.isContextual(92)&&this.recordAwaitIfAllowed()&&(t=this.state.startLoc,this.next()),this.scope.enter(0),this.expect(6),this.match(9))return t!==null&&this.unexpected(t),this.parseFor(e,null);let n=this.isContextual(96);{let r=this.isAwaitUsing(),i=r||this.isForUsing(),a=n&&this.hasFollowingBindingAtom()||i;if(this.match(70)||this.match(71)||a){let n=this.startNode(),a;r?(a=`await using`,this.recordAwaitIfAllowed()||this.raise(g.AwaitUsingNotInAsyncContext,this.state.startLoc),this.next()):a=this.state.value,this.next(),this.parseVar(n,!0,a);let o=this.finishNode(n,`VariableDeclaration`),s=this.match(54);return s&&i&&this.raise(g.ForInUsing,o),(s||this.isContextual(98))&&o.declarations.length===1?this.parseForIn(e,o,t):(t!==null&&this.unexpected(t),this.parseFor(e,o))}}let r=this.isContextual(91),i=new _n,a=this.parseExpression(!0,i),o=this.isContextual(98);if(o&&(n&&this.raise(g.ForOfLet,a),t===null&&r&&a.type===`Identifier`&&this.raise(g.ForOfAsync,a)),o||this.match(54)){this.checkDestructuringPrivate(i),this.toAssignable(a,!0);let n=o?`ForOfStatement`:`ForInStatement`;return this.checkLVal(a,{type:n}),this.parseForIn(e,a,t)}return this.checkExpressionErrors(i,!0),t!==null&&this.unexpected(t),this.parseFor(e,a)}parseFunctionStatement(e,t,n){return this.next(),this.parseFunction(e,1|(n?2:0)|(t?8:0))}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatementOrSloppyAnnexBFunctionDeclaration(),e.alternate=this.eat(62)?this.parseStatementOrSloppyAnnexBFunctionDeclaration():null,this.finishNode(e,`IfStatement`)}parseReturnStatement(e){return this.prodParam.hasReturn||this.raise(g.IllegalReturn,this.state.startLoc),this.next(),this.isLineTerminator()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,`ReturnStatement`)}parseSwitchStatement(e){this.next(),e.discriminant=this.parseHeaderExpression();let t=e.cases=[];this.expect(2),this.state.labels.push(Tn),this.scope.enter(256);let n;for(let e;!this.match(4);)if(this.match(57)||this.match(61)){let r=this.match(57);n&&this.finishNode(n,`SwitchCase`),t.push(n=this.startNode()),n.consequent=[],this.next(),r?n.test=this.parseExpression():(e&&this.raise(g.MultipleDefaultsInSwitch,this.state.lastTokStartLoc),e=!0,n.test=null),this.expect(10)}else n?n.consequent.push(this.parseStatementListItem()):this.unexpected();return this.scope.exit(),n&&this.finishNode(n,`SwitchCase`),this.next(),this.state.labels.pop(),this.finishNode(e,`SwitchStatement`)}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(g.NewlineAfterThrow,this.state.lastTokEndLoc),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,`ThrowStatement`)}parseCatchClauseParam(){let e=this.parseBindingAtom();return this.scope.enter(this.options.annexB&&e.type===`Identifier`?8:0),this.checkLVal(e,{type:`CatchClause`},9),e}parseTryStatement(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(58)){let t=this.startNode();this.next(),this.match(6)?(this.expect(6),t.param=this.parseCatchClauseParam(),this.expect(7)):(t.param=null,this.scope.enter(0)),t.body=this.parseBlock(!1,!1),this.scope.exit(),e.handler=this.finishNode(t,`CatchClause`)}return e.finalizer=this.eat(63)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(g.NoCatchOrFinally,e),this.finishNode(e,`TryStatement`)}parseVarStatement(e,t,n=!1){return this.next(),this.parseVar(e,!1,t,n),this.semicolon(),this.finishNode(e,`VariableDeclaration`)}parseWhileStatement(e){return this.next(),e.test=this.parseHeaderExpression(),this.state.labels.push(wn),e.body=this.parseStatement(),this.state.labels.pop(),this.finishNode(e,`WhileStatement`)}parseWithStatement(e){return this.state.strict&&this.raise(g.StrictWith,this.state.startLoc),this.next(),e.object=this.parseHeaderExpression(),e.body=this.parseStatement(),this.finishNode(e,`WithStatement`)}parseEmptyStatement(e){return this.next(),this.finishNode(e,`EmptyStatement`)}parseLabeledStatement(e,t,n,r){for(let e of this.state.labels)e.name===t&&this.raise(g.LabelRedeclaration,n,{labelName:t});let i=Fe(this.state.type)?1:this.match(67)?2:null;for(let t=this.state.labels.length-1;t>=0;t--){let n=this.state.labels[t];if(n.statementStart===e.start)n.statementStart=this.sourceToOffsetPos(this.state.start),n.kind=i;else break}return this.state.labels.push({name:t,kind:i,statementStart:this.sourceToOffsetPos(this.state.start)}),e.body=r&8?this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0):this.parseStatement(),this.state.labels.pop(),e.label=n,this.finishNode(e,`LabeledStatement`)}parseExpressionStatement(e,t,n){return e.expression=t,this.semicolon(),this.finishNode(e,`ExpressionStatement`)}parseBlock(e=!1,t=!0,n){let r=this.startNode();return e&&this.state.strictErrors.clear(),this.expect(2),t&&this.scope.enter(0),this.parseBlockBody(r,e,!1,4,n),t&&this.scope.exit(),this.finishNode(r,`BlockStatement`)}isValidDirective(e){return e.type===`ExpressionStatement`&&e.expression.type===`StringLiteral`&&!e.expression.extra.parenthesized}parseBlockBody(e,t,n,r,i){let a=e.body=[],o=e.directives=[];this.parseBlockOrModuleBlockBody(a,t?o:void 0,n,r,i)}parseBlockOrModuleBlockBody(e,t,n,r,i){let a=this.state.strict,o=!1,s=!1;for(;!this.match(r);){let r=n?this.parseModuleItem():this.parseStatementListItem();if(t&&!s){if(this.isValidDirective(r)){let e=this.stmtToDirective(r);t.push(e),!o&&e.value.value===`use strict`&&(o=!0,this.setStrict(!0));continue}s=!0,this.state.strictErrors.clear()}e.push(r)}i?.call(this,o),a||this.setStrict(!1),this.next()}parseFor(e,t){return e.init=t,this.semicolon(!1),e.test=this.match(9)?null:this.parseExpression(),this.semicolon(!1),e.update=this.match(7)?null:this.parseExpression(),this.expect(7),e.body=this.parseStatement(),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,`ForStatement`)}parseForIn(e,t,n){let r=this.match(54);return this.next(),r?n!==null&&this.unexpected(n):e.await=n!==null,t.type===`VariableDeclaration`&&t.declarations[0].init!=null&&(!r||!this.options.annexB||this.state.strict||t.kind!==`var`||t.declarations[0].id.type!==`Identifier`)&&this.raise(g.ForInOfLoopInitializer,t,{type:r?`ForInStatement`:`ForOfStatement`}),t.type===`AssignmentPattern`&&this.raise(g.InvalidLhs,t,{ancestor:{type:`ForStatement`}}),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(7),e.body=this.parseStatement(),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,r?`ForInStatement`:`ForOfStatement`)}parseVar(e,t,n,r=!1){let i=e.declarations=[];for(e.kind=n;;){let e=this.startNode();if(this.parseVarId(e,n),e.init=this.eat(25)?t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():null,e.init===null&&!r&&(e.id.type!==`Identifier`&&!(t&&(this.match(54)||this.isContextual(98)))?this.raise(g.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:`destructuring`}):(n===`const`||n===`using`||n===`await using`)&&!(this.match(54)||this.isContextual(98))&&this.raise(g.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:n})),i.push(this.finishNode(e,`VariableDeclarator`)),!this.eat(8))break}return e}parseVarId(e,t){let n=this.parseBindingAtom();t===`using`||t===`await using`?(n.type===`ArrayPattern`||n.type===`ObjectPattern`)&&this.raise(g.UsingDeclarationHasBindingPattern,n):n.type===`VoidPattern`&&this.raise(g.UnexpectedVoidPattern,n),this.checkLVal(n,{type:`VariableDeclarator`},t===`var`?5:8201),e.id=n}parseAsyncFunctionExpression(e){return this.parseFunction(e,8)}parseFunction(e,t=0){let n=t&2,r=!!(t&1),i=r&&!(t&4),a=!!(t&8);return this.initFunction(e,a),this.match(51)&&(n&&this.raise(g.GeneratorInSingleStatementContext,this.state.startLoc),this.next(),e.generator=!0),r&&(e.id=this.parseFunctionId(i)),this.scope.enter(514),this.prodParam.enter(hn(a,e.generator)),r||(e.id=this.parseFunctionId()),this.parseFunctionParams(e,!1),this.parseFunctionBodyAndFinish(e,r?`FunctionDeclaration`:`FunctionExpression`),this.prodParam.exit(),this.scope.exit(),r&&!n&&this.registerFunctionStatementId(e),e}parseFunctionId(e){return e||w(this.state.type)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(6),this.expressionScope.enter(un()),e.params=this.parseBindingList(7,41,2|(t?4:0)),this.expressionScope.exit()}registerFunctionStatementId(e){e.id&&this.scope.declareName(e.id.name,!this.options.annexB||this.state.strict||e.generator||e.async?this.scope.treatFunctionsAsVar?5:8201:17,e.id.start)}parseClass(e,t,n){this.next();let r=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,n),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,r),this.finishNode(e,t?`ClassDeclaration`:`ClassExpression`)}isClassProperty(){return this.match(25)||this.match(9)||this.match(4)}isClassMethod(){return this.match(6)}nameIsConstructor(e){return e.type===`Identifier`&&e.name===`constructor`||e.type===`StringLiteral`&&e.value===`constructor`}isNonstaticConstructor(e){return!e.computed&&!e.static&&this.nameIsConstructor(e.key)}parseClassBody(e,t){this.classScope.enter();let n={hadConstructor:!1,hadSuperClass:e},r=[],i=this.startNode();for(i.body=[],this.expect(2);!this.match(4);){if(this.eat(9)){if(r.length>0)throw this.raise(g.DecoratorSemicolon,this.state.lastTokEndLoc);continue}if(this.match(22)){r.push(this.parseDecorator());continue}let e=this.startNode();r.length&&(e.decorators=r,this.resetStartLocationFromNode(e,r[0]),r=[]),this.parseClassMember(i,e,n)}if(this.state.strict=t,this.next(),r.length)throw this.raise(g.TrailingDecorator,this.state.startLoc);return this.classScope.exit(),this.finishNode(i,`ClassBody`)}parseClassMemberFromModifier(e,t){let n=this.parseIdentifier(!0);if(this.isClassMethod()){let r=t;return r.kind=`method`,r.computed=!1,r.key=n,r.static=!1,this.pushClassMethod(e,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){let r=t;return r.computed=!1,r.key=n,r.static=!1,e.body.push(this.parseClassProperty(r)),!0}return this.resetPreviousNodeTrailingComments(n),!1}parseClassMember(e,t,n){let r=this.isContextual(102);if(r){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(2)){this.parseClassStaticBlock(e,t);return}}this.parseClassMemberWithIsStatic(e,t,n,r)}parseClassMemberWithIsStatic(e,t,n,r){let i=t,a=t,o=t,s=t,c=t,l=i,u=i;if(t.static=r,this.parsePropertyNamePrefixOperator(t),this.eat(51)){l.kind=`method`;let t=this.match(134);if(this.parseClassElementName(l),this.parsePostMemberNameModifiers(l),t){this.pushClassPrivateMethod(e,a,!0,!1);return}this.isNonstaticConstructor(i)&&this.raise(g.ConstructorIsGenerator,i.key),this.pushClassMethod(e,i,!0,!1,!1,!1);return}let d=!this.state.containsEsc&&w(this.state.type),f=this.parseClassElementName(t),p=d?f.name:null,m=this.isPrivateName(f),h=this.state.startLoc;if(this.parsePostMemberNameModifiers(u),this.isClassMethod()){if(l.kind=`method`,m){this.pushClassPrivateMethod(e,a,!1,!1);return}let r=this.isNonstaticConstructor(i),o=!1;r&&(i.kind=`constructor`,i.decorators&&i.decorators.length>0&&this.raise(g.DecoratorConstructor,t),n.hadConstructor&&!this.hasPlugin(`typescript`)&&this.raise(g.DuplicateConstructor,f),r&&this.hasPlugin(`typescript`)&&t.override&&this.raise(g.OverrideOnConstructor,f),n.hadConstructor=!0,o=n.hadSuperClass),this.pushClassMethod(e,i,!1,!1,r,o)}else if(this.isClassProperty())m?this.pushClassPrivateProperty(e,s):this.pushClassProperty(e,o);else if(p===`async`&&!this.isLineTerminator()){this.resetPreviousNodeTrailingComments(f);let t=this.eat(51);u.optional&&this.unexpected(h),l.kind=`method`;let n=this.match(134);this.parseClassElementName(l),this.parsePostMemberNameModifiers(u),n?this.pushClassPrivateMethod(e,a,t,!0):(this.isNonstaticConstructor(i)&&this.raise(g.ConstructorIsAsync,i.key),this.pushClassMethod(e,i,t,!0,!1,!1))}else if((p===`get`||p===`set`)&&!(this.match(51)&&this.isLineTerminator())){this.resetPreviousNodeTrailingComments(f),l.kind=p;let t=this.match(134);this.parseClassElementName(i),t?this.pushClassPrivateMethod(e,a,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(g.ConstructorIsAccessor,i.key),this.pushClassMethod(e,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i)}else if(p===`accessor`&&!this.isLineTerminator()){this.expectPlugin(`decoratorAutoAccessors`),this.resetPreviousNodeTrailingComments(f);let t=this.match(134);this.parseClassElementName(o),this.pushClassAccessorProperty(e,c,t)}else this.isLineTerminator()?m?this.pushClassPrivateProperty(e,s):this.pushClassProperty(e,o):this.unexpected()}parseClassElementName(e){let{type:t,value:n}=this.state;if((t===128||t===130)&&e.static&&n===`prototype`&&this.raise(g.StaticPrototype,this.state.startLoc),t===134){n===`constructor`&&this.raise(g.ConstructorClassPrivateField,this.state.startLoc);let t=this.parsePrivateName();return e.key=t,t}return this.parsePropertyName(e),e.key}parseClassStaticBlock(e,t){this.scope.enter(720);let n=this.state.labels;this.state.labels=[],this.prodParam.enter(0);let r=t.body=[];this.parseBlockOrModuleBlockBody(r,void 0,!1,4),this.prodParam.exit(),this.scope.exit(),this.state.labels=n,e.body.push(this.finishNode(t,`StaticBlock`)),t.decorators?.length&&this.raise(g.DecoratorStaticBlock,t)}pushClassProperty(e,t){!t.computed&&this.nameIsConstructor(t.key)&&this.raise(g.ConstructorClassField,t.key),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){let n=this.parseClassPrivateProperty(t);e.body.push(n),this.classScope.declarePrivateName(this.getPrivateNameSV(n.key),0,n.key.start)}pushClassAccessorProperty(e,t,n){!n&&!t.computed&&this.nameIsConstructor(t.key)&&this.raise(g.ConstructorClassField,t.key);let r=this.parseClassAccessorProperty(t);e.body.push(r),n&&this.classScope.declarePrivateName(this.getPrivateNameSV(r.key),0,r.key.start)}pushClassMethod(e,t,n,r,i,a){e.body.push(this.parseMethod(t,n,r,i,a,`ClassMethod`,!0))}pushClassPrivateMethod(e,t,n,r){let i=this.parseMethod(t,n,r,!1,!1,`ClassPrivateMethod`,!0);e.body.push(i);let a=i.kind===`get`?i.static?6:2:i.kind===`set`?i.static?5:1:0;this.declareClassPrivateMethodInScope(i,a)}declareClassPrivateMethodInScope(e,t){this.classScope.declarePrivateName(this.getPrivateNameSV(e.key),t,e.key.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,`ClassPrivateProperty`)}parseClassProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,`ClassProperty`)}parseClassAccessorProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,`ClassAccessorProperty`)}parseInitializer(e){this.scope.enter(592),this.expressionScope.enter(pn()),this.prodParam.enter(0),e.value=this.eat(25)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,n,r=8331){if(w(this.state.type))e.id=this.parseIdentifier(),t&&this.declareNameFromIdentifier(e.id,r);else if(n||!t)e.id=null;else throw this.raise(g.MissingClassName,this.state.startLoc)}parseClassSuper(e){this.eat(77)?(this.state.canStartArrow=!1,e.superClass=this.parseExprSubscripts()):e.superClass=null}parseExport(e,t){let n=this.parseMaybeImportPhase(e,!0),r=this.maybeParseExportDefaultSpecifier(e,n),i=!r||this.eat(8),a=i&&this.eatExportStar(e),o=a&&this.maybeParseExportNamespaceSpecifier(e),s=i&&(!o||this.eat(8)),c=r||a;if(a&&!o){if(r&&this.unexpected(),t)throw this.raise(g.UnsupportedDecoratorExport,e);return this.parseExportFrom(e,!0),this.sawUnambiguousESM=!0,this.finishNode(e,`ExportAllDeclaration`)}let l=this.maybeParseExportNamedSpecifiers(e);r&&i&&!a&&!l&&this.unexpected(null,2),o&&s&&this.unexpected(null,94);let u;if(c||l){if(u=!1,t)throw this.raise(g.UnsupportedDecoratorExport,e);this.parseExportFrom(e,c)}else u=this.maybeParseExportDeclaration(e);if(c||l||u){let n=e;if(this.checkExport(n,!0,!1,!!n.source),n.declaration?.type===`ClassDeclaration`)this.maybeTakeDecorators(t,n.declaration,n);else if(t)throw this.raise(g.UnsupportedDecoratorExport,e);return this.sawUnambiguousESM=!0,this.finishNode(n,`ExportNamedDeclaration`)}if(this.eat(61)){let n=e,r=this.parseExportDefaultExpression();if(n.declaration=r,r.type===`ClassDeclaration`)this.maybeTakeDecorators(t,r,n);else if(t)throw this.raise(g.UnsupportedDecoratorExport,e);return this.checkExport(n,!0,!0),this.sawUnambiguousESM=!0,this.finishNode(n,`ExportDefaultDeclaration`)}throw this.unexpected(null,2)}eatExportStar(e){return this.eat(51)}maybeParseExportDefaultSpecifier(e,t){if(t||this.isExportDefaultSpecifier()){this.expectPlugin(`exportDefaultFrom`,t?.start);let n=t||this.parseIdentifier(!0),r=this.startNodeAtNode(n);return r.exported=n,e.specifiers=[this.finishNode(r,`ExportDefaultSpecifier`)],!0}return!1}maybeParseExportNamespaceSpecifier(e){if(this.isContextual(89)){e.specifiers??=[];let t=this.startNodeAt(this.state.lastTokStartLoc);return this.next(),t.exported=this.parseModuleExportName(),e.specifiers.push(this.finishNode(t,`ExportNamespaceSpecifier`)),!0}return!1}maybeParseExportNamedSpecifiers(e){if(this.match(2)){let t=e;t.specifiers||=[];let n=t.exportKind===`type`;return t.specifiers.push(...this.parseExportSpecifiers(n)),t.source=null,t.attributes=[],t.declaration=null,!0}return!1}maybeParseExportDeclaration(e){return this.shouldParseExportDeclaration()?(e.specifiers=[],e.source=null,e.attributes=[],e.declaration=this.parseExportDeclaration(e),!0):!1}isAsyncFunction(){if(!this.isContextual(91))return!1;let e=this.nextTokenInLineStart();return this.isUnparsedContextual(e,`function`)}parseExportDefaultExpression(){let e=this.startNode();if(this.match(64))return this.next(),this.parseFunction(e,5);if(this.isAsyncFunction())return this.next(),this.next(),this.parseFunction(e,13);if(this.match(76))return this.parseClass(e,!0,!0);if(this.match(22))return this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1),this.startNode()),!0,!0);if(this.match(71)||this.match(70)||this.isLet()||this.isUsing()||this.isAwaitUsing())throw this.raise(g.UnsupportedDefaultExport,this.state.startLoc);let t=this.parseMaybeAssignAllowIn();return this.semicolon(),t}parseExportDeclaration(e){return this.match(76)?this.parseClass(this.startNode(),!0,!1):this.parseStatementListItem()}isExportDefaultSpecifier(){let{type:e}=this.state;if(w(e)){if(e===91&&!this.state.containsEsc||e===96)return!1;if((e===126||e===125)&&!this.state.containsEsc){let e=this.nextTokenStart(),t=this.input.charCodeAt(e);if(t===123||this.chStartsBindingIdentifier(t,e)&&!this.input.startsWith(`from`,e))return this.expectOnePlugin([`flow`,`typescript`]),!1}}else if(!this.match(61))return!1;let t=this.nextTokenStart(),n=this.isUnparsedContextual(t,`from`);if(this.input.charCodeAt(t)===44||w(this.state.type)&&n)return!0;if(this.match(61)&&n){let e=this.input.charCodeAt(this.nextTokenStartSince(t+4));return e===34||e===39}return!1}parseExportFrom(e,t){this.eatContextual(94)?(e.source=this.parseImportSource(),this.checkExport(e),this.maybeParseImportAttributes(e)):t&&this.unexpected(),this.semicolon()}shouldParseExportDeclaration(){let{type:e}=this.state;return e===22&&(this.expectOnePlugin([`decorators`,`decorators-legacy`]),this.hasPlugin(`decorators`))?!0:this.isUsing()||this.isAwaitUsing()?(this.raise(g.UsingDeclarationExport,this.state.startLoc),!0):e===70||e===71||e===64||e===76||this.isLet()||this.isAsyncFunction()}checkExport(e,t,n,r){if(t){if(n){if(this.checkDuplicateExports(e,`default`),this.hasPlugin(`exportDefaultFrom`)){let t=e.declaration;t.type===`Identifier`&&t.name===`from`&&t.end-t.start===4&&!t.extra?.parenthesized&&this.raise(g.ExportDefaultFromAsIdentifier,t)}}else if(e.specifiers?.length)for(let t of e.specifiers){let{exported:e}=t,n=e.type===`Identifier`?e.name:e.value;if(this.checkDuplicateExports(t,n),!r&&t.local){let{local:e}=t;e.type===`Identifier`?(this.checkReservedWord(e.name,e.start,!0,!1),this.scope.checkLocalExport(e)):this.raise(g.ExportBindingIsString,t,{localName:e.value,exportName:n})}}else if(e.declaration){let t=e.declaration;if(t.type===`FunctionDeclaration`||t.type===`ClassDeclaration`){let{id:n}=t;if(!n)throw Error(`Assertion failure`);this.checkDuplicateExports(e,n.name)}else if(t.type===`VariableDeclaration`)for(let e of t.declarations)this.checkDeclaration(e.id)}}}checkDeclaration(e){if(e.type===`Identifier`)this.checkDuplicateExports(e,e.name);else if(e.type===`ObjectPattern`)for(let t of e.properties)this.checkDeclaration(t);else if(e.type===`ArrayPattern`)for(let t of e.elements)t&&this.checkDeclaration(t);else e.type===`ObjectProperty`?this.checkDeclaration(e.value):e.type===`RestElement`?this.checkDeclaration(e.argument):e.type===`AssignmentPattern`&&this.checkDeclaration(e.left)}checkDuplicateExports(e,t){this.exportedIdentifiers.has(t)&&(t==="default"?this.raise(g.DuplicateDefaultExport,e):this.raise(g.DuplicateExport,e,{exportName:t})),this.exportedIdentifiers.add(t)}parseExportSpecifiers(e){let t=[],n=!0;for(this.expect(2);!this.eat(4);){if(n)n=!1;else if(this.expect(8),this.eat(4))break;let r=this.isContextual(126),i=this.match(130),a=this.startNode();a.local=this.parseModuleExportName(),t.push(this.parseExportSpecifier(a,i,e,r))}return t}parseExportSpecifier(e,t,n,r){return this.eatContextual(89)?e.exported=this.parseModuleExportName():t?e.exported=this.cloneStringLiteral(e.local):e.exported||=this.cloneIdentifier(e.local),this.finishNode(e,`ExportSpecifier`)}parseModuleExportName(){if(this.match(130)){let e=this.parseStringLiteral(this.state.value),t=En.exec(e.value);return t&&this.raise(g.ModuleExportNameHasLoneSurrogate,e,{surrogateCharCode:t[0].charCodeAt(0)}),e}return this.parseIdentifier(!0)}checkImportPhase(e){let{specifiers:t}=e,n=t.length===1?t[0].type:null;e.phase===`source`?n!==`ImportDefaultSpecifier`&&this.raise(g.SourcePhaseImportRequiresDefault,t[0]):e.phase===`defer`&&n!==`ImportNamespaceSpecifier`&&this.raise(g.DeferImportRequiresNamespace,t[0])}isPotentialImportPhase(e){return e?!1:this.isContextual(101)||this.isContextual(93)}applyImportPhase(e,t,n,r){t||(n===`source`?(this.expectPlugin(`sourcePhaseImports`,r),e.phase=`source`):n===`defer`?(this.expectPlugin(`deferredImportEvaluation`,r),e.phase=`defer`):this.hasPlugin(`sourcePhaseImports`)&&(e.phase=null))}parseMaybeImportPhase(e,t){if(!this.isPotentialImportPhase(t))return this.applyImportPhase(e,t,null),null;let n=this.startNode(),r=this.parseIdentifierName(!0),{type:i}=this.state;return(ke(i)?i!==94||this.lookaheadCharCode()===102:i!==8)?(this.applyImportPhase(e,t,r,n.start),null):(this.applyImportPhase(e,t,null),this.createIdentifier(n,r))}isPrecedingIdImportPhase(e){let{type:t}=this.state;return w(t)?t!==94||this.lookaheadCharCode()===102:t!==8}parseImport(e){return this.match(130)?this.parseImportSourceAndAttributes(e):this.parseImportSpecifiersAndAfter(e,this.parseMaybeImportPhase(e,!1))}parseImportSpecifiersAndAfter(e,t){e.specifiers=[];let n=!this.maybeParseDefaultImportSpecifier(e,t)||this.eat(8),r=n&&this.maybeParseStarImportSpecifier(e);return n&&!r&&this.parseNamedImportSpecifiers(e),this.expectContextual(94),this.parseImportSourceAndAttributes(e)}parseImportSourceAndAttributes(e){return e.specifiers??=[],e.source=this.parseImportSource(),this.maybeParseImportAttributes(e),this.checkImportPhase(e),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(e,`ImportDeclaration`)}parseImportSource(){return this.match(130)||this.unexpected(),this.parseExprAtom()}parseImportSpecifierLocal(e,t,n){t.local=this.parseIdentifier(),e.specifiers.push(this.finishImportSpecifier(t,n))}finishImportSpecifier(e,t,n=8201){return this.checkLVal(e.local,{type:t},n),this.finishNode(e,t)}parseImportAttributes(){this.expect(2);let e=[],t=new Set;do{if(this.match(4))break;let n=this.startNode(),r=this.state.value;if(t.has(r)&&this.raise(g.ModuleAttributesWithDuplicateKeys,this.state.startLoc,{key:r}),t.add(r),n.key=this.match(130)?this.parseStringLiteral(r):this.parseIdentifier(!0),this.expect(10),!this.match(130))throw this.raise(g.ModuleAttributeInvalidValue,this.state.startLoc);n.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(n,`ImportAttribute`))}while(this.eat(8));return this.expect(4),e}maybeParseImportAttributes(e){let t;if(this.match(72)){if(this.hasPrecedingLineBreak()&&this.lookaheadCharCode()===40)return;this.next(),t=this.parseImportAttributes()}else t=[];e.attributes=t}maybeParseDefaultImportSpecifier(e,t){if(t){let n=this.startNodeAtNode(t);return n.local=t,e.specifiers.push(this.finishImportSpecifier(n,`ImportDefaultSpecifier`)),!0}return ke(this.state.type)?(this.parseImportSpecifierLocal(e,this.startNode(),`ImportDefaultSpecifier`),!0):!1}maybeParseStarImportSpecifier(e){if(this.match(51)){let t=this.startNode();return this.next(),this.expectContextual(89),this.parseImportSpecifierLocal(e,t,`ImportNamespaceSpecifier`),!0}return!1}parseNamedImportSpecifiers(e){let t=!0;for(this.expect(2);!this.eat(4);){if(t)t=!1;else{if(this.eat(10))throw this.raise(g.DestructureNamedImport,this.state.startLoc);if(this.expect(8),this.eat(4))break}let n=this.startNode(),r=this.match(130),i=this.isContextual(126);n.imported=this.parseModuleExportName();let a=this.parseImportSpecifier(n,r,e.importKind===`type`||e.importKind===`typeof`,i,void 0);e.specifiers.push(a)}}parseImportSpecifier(e,t,n,r,i){if(this.eatContextual(89))e.local=this.parseIdentifier();else{let{imported:n}=e;if(t)throw this.raise(g.ImportBindingIsString,e,{importName:n.value});this.checkReservedWord(n.name,e.start,!0,!0),e.local||=this.cloneIdentifier(n)}return this.finishImportSpecifier(e,`ImportSpecifier`,i)}isThisParam(e){return e.type===`Identifier`&&e.name===`this`}},An=/in(?:stanceof)?|as|satisfies/y;function jn(e){if(e==null)throw Error(`Unexpected ${e} value.`);return e}function Mn(e){if(!e)throw Error(`Assert fail`)}var D=ue`typescript`({AbstractMethodHasImplementation:({methodName:e})=>`Method '${e}' cannot have an implementation because it is marked abstract.`,AbstractPropertyHasInitializer:({propertyName:e})=>`Property '${e}' cannot have an initializer because it is marked abstract.`,AccessorCannotBeOptional:`An 'accessor' property cannot be declared optional.`,AccessorCannotDeclareThisParameter:`'get' and 'set' accessors cannot declare 'this' parameters.`,AccessorCannotHaveTypeParameters:`An accessor cannot have type parameters.`,ClassMethodHasDeclare:`Class methods cannot have the 'declare' modifier.`,ClassMethodHasReadonly:`Class methods cannot have the 'readonly' modifier.`,ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference:`A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.`,ConstructorHasTypeParameters:`Type parameters cannot appear on a constructor declaration.`,DeclaratorDefiniteAssertionRequiresTypeAnnotation:`Declarations with definite assignment assertions must also have type annotations.`,DeclaratorDefiniteAssertionWithInitializer:`Declarations with initializers cannot also have definite assignment assertions.`,DeclareAccessor:({kind:e})=>`'declare' is not allowed in ${e}ters.`,DeclareClassFieldHasInitializer:`Initializers are not allowed in ambient contexts.`,DeclareFunctionHasImplementation:`An implementation cannot be declared in ambient contexts.`,DecoratorAbstractMethod:({kind:e})=>`Decorators can't be used with ${e.startsWith(`a`)?`an`:`a`} ${e}.`,DuplicateAccessibilityModifier:({modifier:e})=>`Accessibility modifier already seen: '${e}'.`,DuplicateModifier:({modifier:e})=>`Duplicate modifier: '${e}'.`,EmptyHeritageClauseType:({token:e})=>`'${e}' list cannot be empty.`,EmptyNamespaceName:`Namespace must be given a name.`,EmptyTypeArguments:`Type argument list cannot be empty.`,EmptyTypeParameters:`Type parameter list cannot be empty.`,ExpectedAmbientAfterExportDeclare:`'export declare' must be followed by an ambient declaration.`,ExportAssignmentInTSNamespace:`An export assignment cannot be used in a namespace.`,ExportInTSNamespace:`Export declarations are not permitted in a namespace.`,ImportAliasHasImportType:`An import alias can not use 'import type'.`,ImportInTSNamespace:`Import declarations in a namespace cannot reference a module.`,IncompatibleModifiers:({modifiers:e})=>`'${e[0]}' modifier cannot be used with '${e[1]}' modifier.`,IndexSignatureHasAbstract:`Index signatures cannot have the 'abstract' modifier.`,IndexSignatureHasAccessibility:({modifier:e})=>`Index signatures cannot have an accessibility modifier ('${e}').`,IndexSignatureHasDeclare:`Index signatures cannot have the 'declare' modifier.`,IndexSignatureHasOverride:`'override' modifier cannot appear on an index signature.`,IndexSignatureHasStatic:`Index signatures cannot have the 'static' modifier.`,InitializerNotAllowedInAmbientContext:`Initializers are not allowed in ambient contexts.`,InlineModuleDeclarationMustUseString:"`module ... {}` declarations must have a string name. Use `namespace ... {}` instead.",InvalidHeritageClauseType:({token:e})=>`'${e}' list can only include identifiers or qualified-names with optional type arguments.`,InvalidModifierOnAwaitUsingDeclaration:e=>`'${e}' modifier cannot appear on an await using declaration.`,InvalidModifierOnTypeMember:({modifier:e})=>`'${e}' modifier cannot appear on a type member.`,InvalidModifierOnTypeParameter:({modifier:e})=>`'${e}' modifier cannot appear on a type parameter.`,InvalidModifierOnTypeParameterPositions:({modifier:e})=>`'${e}' modifier can only appear on a type parameter of a class, interface or type alias.`,InvalidModifierOnUsingDeclaration:e=>`'${e}' modifier cannot appear on a using declaration.`,InvalidModifiersOrder:({orderedModifiers:e})=>`'${e[0]}' modifier must precede '${e[1]}' modifier.`,InvalidNamespaceName:e=>`Namespace name cannot be '${e}'.`,InvalidPropertyAccessAfterInstantiationExpression:`Invalid property access after an instantiation expression. You can either wrap the instantiation expression in parentheses, or delete the type arguments.`,InvalidTupleMemberLabel:`Tuple members must be labeled with a simple identifier.`,MissingInterfaceName:`'interface' declarations must be followed by an identifier.`,NamespaceExportInTSNamespace:`Global module exports may only appear at top level.`,NonAbstractClassHasAbstractMethod:`Abstract methods can only appear within an abstract class.`,NonClassMethodPropertyHasAbstractModifier:`'abstract' modifier can only appear on a class, method, or property declaration.`,OptionalTypeBeforeRequired:`A required element cannot follow an optional element.`,OverrideNotInSubClass:`This member cannot have an 'override' modifier because its containing class does not extend another class.`,PatternIsOptional:`A binding pattern parameter cannot be optional in an implementation signature.`,PrivateElementHasAbstract:`Private elements cannot have the 'abstract' modifier.`,PrivateElementHasAccessibility:({modifier:e})=>`Private elements cannot have an accessibility modifier ('${e}').`,ReadonlyForMethodSignature:`'readonly' modifier can only appear on a property declaration or index signature.`,ReservedArrowTypeParam:"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.",ReservedTypeAssertion:"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",SetAccessorCannotHaveOptionalParameter:`A 'set' accessor cannot have an optional parameter.`,SetAccessorCannotHaveRestParameter:`A 'set' accessor cannot have rest parameter.`,SetAccessorCannotHaveReturnType:`A 'set' accessor cannot have a return type annotation.`,SingleTypeParameterWithoutTrailingComma:({typeParameterName:e})=>`Single type parameter ${e} should have a trailing comma. Example usage: <${e},>.`,StaticBlockCannotHaveModifier:`Static class blocks cannot have any modifier.`,TupleOptionalAfterType:"A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:`A type-only import can specify a default import or named bindings, but not both.`,TypeModifierIsUsedInTypeExports:`The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.`,TypeModifierIsUsedInTypeImports:`The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.`,UnexpectedParameterInitializer:`A parameter initializer is only allowed in a function or constructor implementation.`,UnexpectedParameterModifier:`A parameter property is only allowed in a constructor implementation.`,UnexpectedReadonly:`'readonly' type modifier is only permitted on array and tuple literal types.`,UnexpectedTypeAnnotation:`Did not expect a type annotation here.`,UnexpectedTypeCastInParameter:`Unexpected type cast in parameter position.`,UnexpectedTypeDeclaration:e=>`'${e}' declarations can only be declared inside a block.`,UnsupportedImportTypeArgument:`Argument in a type import must be a string literal.`,UnsupportedParameterPropertyKind:`A parameter property may not be declared using a binding pattern.`,UnsupportedSignatureParameterKind:({type:e})=>`Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${e}.`,UsingDeclarationInAmbientContext:e=>`'${e}' declarations are not allowed in ambient contexts.`});function Nn(e){switch(e){case`any`:return`TSAnyKeyword`;case`boolean`:return`TSBooleanKeyword`;case`bigint`:return`TSBigIntKeyword`;case`never`:return`TSNeverKeyword`;case`number`:return`TSNumberKeyword`;case`object`:return`TSObjectKeyword`;case`string`:return`TSStringKeyword`;case`symbol`:return`TSSymbolKeyword`;case`undefined`:return`TSUndefinedKeyword`;case`unknown`:return`TSUnknownKeyword`;default:return}}function Pn(e){return e===`private`||e===`public`||e===`protected`}function Fn(e){return e===`in`||e===`out`}function In(e){if(e.extra?.parenthesized)return!1;switch(e.type){case`Identifier`:return!0;case`MemberExpression`:return!e.computed&&In(e.object);case`TSInstantiationExpression`:return In(e.expression);default:return!1}}var Ln=e=>class extends e{getScopeHandler(){return It}tsIsIdentifier(){return w(this.state.type)}tsTokenCanFollowModifier(){return this.match(0)||this.match(2)||this.match(51)||this.match(17)||this.match(134)||this.isLiteralPropertyName()}tsNextTokenOnSameLineAndCanFollowModifier(){return this.next(),!this.hasPrecedingLineBreak()&&this.tsTokenCanFollowModifier()}tsNextTokenCanFollowModifier(){return this.match(102)?(this.next(),this.tsTokenCanFollowModifier()):this.tsNextTokenOnSameLineAndCanFollowModifier()}tsParseModifier(e,t,n){if(!w(this.state.type)&&this.state.type!==54&&this.state.type!==71)return;let r=this.state.value;if(e.includes(r)){if(n&&this.match(102)||t&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return r}}tsParseModifiers({allowedModifiers:e,disallowedModifiers:t,stopOnStartOfClassStaticBlock:n,errorTemplate:r=D.InvalidModifierOnTypeMember},i){let a=(e,t,n,r)=>{t===n&&i[r]&&this.raise(D.InvalidModifiersOrder,e,{orderedModifiers:[n,r]})},o=(e,t,n,r)=>{(i[n]&&t===r||i[r]&&t===n)&&this.raise(D.IncompatibleModifiers,e,{modifiers:[n,r]})};for(;;){let{startLoc:s}=this.state,c=this.tsParseModifier(e.concat(t??[]),n,i.static);if(!c)break;Pn(c)?i.accessibility?this.raise(D.DuplicateAccessibilityModifier,s,{modifier:c}):(a(s,c,c,`override`),a(s,c,c,`static`),a(s,c,c,`readonly`),i.accessibility=c):Fn(c)?(i[c]&&this.raise(D.DuplicateModifier,s,{modifier:c}),i[c]=!0,a(s,c,`in`,`out`)):(Object.hasOwn(i,c)?this.raise(D.DuplicateModifier,s,{modifier:c}):(a(s,c,`static`,`readonly`),a(s,c,`static`,`override`),a(s,c,`override`,`readonly`),a(s,c,`abstract`,`override`),o(s,c,`declare`,`override`),o(s,c,`static`,`abstract`)),i[c]=!0),t?.includes(c)&&this.raise(r,s,{modifier:c})}}tsIsListTerminator(e){switch(e){case`EnumMembers`:case`TypeMembers`:return this.match(4);case`HeritageClauseElement`:return this.match(2);case`TupleElementTypes`:return this.match(1);case`TypeParametersOrArguments`:return this.match(44)}}tsParseList(e,t){let n=[];for(;!this.tsIsListTerminator(e);)n.push(t());return n}tsParseDelimitedList(e,t,n){return jn(this.tsParseDelimitedListWorker(e,t,!0,n))}tsParseDelimitedListWorker(e,t,n,r){let i=[],a=-1;for(;!this.tsIsListTerminator(e);){a=-1;let r=t();if(r==null)return;if(i.push(r),this.eat(8)){a=this.state.lastTokStartLoc.index;continue}if(this.tsIsListTerminator(e))break;n&&this.expect(8);return}return r&&(r.value=a),i}tsParseBracketedList(e,t,n,r,i){r||(n?this.expect(0):this.expect(43));let a=this.tsParseDelimitedList(e,t,i);return n?this.expect(1):this.expect(44),a}tsParseImportType(){let e=this.startNode();return this.expect(79),this.expect(6),this.match(130)?e.source=this.parseStringLiteral(this.state.value):(this.raise(D.UnsupportedImportTypeArgument,this.state.startLoc),e.source=this.tsParseNonConditionalType()),e.options=this.eat(8)?this.tsParseImportTypeOptions():null,this.expect(7),this.eat(12)&&(e.qualifier=this.tsParseEntityName(3)),this.match(43)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,`TSImportType`)}tsParseImportTypeOptions(){let e=this.startNode();this.expect(2);let t=this.startNode();return this.isContextual(72)?(t.method=!1,t.key=this.parseIdentifier(!0),t.computed=!1,t.shorthand=!1):this.unexpected(null,72),this.expect(10),t.value=this.tsParseImportTypeWithPropertyValue(),e.properties=[this.finishObjectProperty(t)],this.eat(8),this.expect(4),this.finishNode(e,`ObjectExpression`)}tsParseImportTypeWithPropertyValue(){let e=this.startNode(),t=[];for(this.expect(2);!this.match(4);){let e=this.state.type;w(e)||e===130?t.push(super.parsePropertyDefinition(null)):this.unexpected(),this.eat(8)}return e.properties=t,this.next(),this.finishNode(e,`ObjectExpression`)}tsParseEntityName(e){let t;if(e&1&&this.match(74)){if(e&2)t=this.parseIdentifier(!0);else{let e=this.startNode();this.next(),t=this.finishNode(e,`ThisExpression`)}}else t=this.parseIdentifier(!!(e&1));for(;this.eat(12);){let n=this.startNodeAtNode(t);n.left=t,n.right=this.parseIdentifier(!!(e&1)),t=this.finishNode(n,`TSQualifiedName`)}return t}tsParseTypeReference(){let e=this.startNode();return e.typeName=this.tsParseEntityName(1),!this.hasPrecedingLineBreak()&&this.match(43)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,`TSTypeReference`)}tsParseThisTypePredicate(e){this.next();let t=this.startNodeAtNode(e);return t.parameterName=e,t.typeAnnotation=this.tsParseTypeAnnotation(!1),t.asserts=!1,this.finishNode(t,`TSTypePredicate`)}tsParseThisTypeNode(){let e=this.startNode();return this.next(),this.finishNode(e,`TSThisType`)}tsParseTypeQuery(){let e=this.startNode();return this.expect(83),e.exprName=this.match(79)?this.tsParseImportType():this.tsParseEntityName(1),!this.hasPrecedingLineBreak()&&this.match(43)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,`TSTypeQuery`)}tsParseInOutModifiers=this.tsParseModifiers.bind(this,{allowedModifiers:[`in`,`out`],disallowedModifiers:[`const`,`public`,`private`,`protected`,`readonly`,`declare`,`abstract`,`override`],errorTemplate:D.InvalidModifierOnTypeParameter});tsParseConstModifier=this.tsParseModifiers.bind(this,{allowedModifiers:[`const`],disallowedModifiers:[`in`,`out`],errorTemplate:D.InvalidModifierOnTypeParameterPositions});tsParseInOutConstModifiers=this.tsParseModifiers.bind(this,{allowedModifiers:[`in`,`out`,`const`],disallowedModifiers:[`public`,`private`,`protected`,`readonly`,`declare`,`abstract`,`override`],errorTemplate:D.InvalidModifierOnTypeParameter});tsParseTypeParameter(e){let t=this.startNode();return e(t),t.name=this.tsParseTypeParameterName(),t.constraint=this.tsEatThenParseType(77),t.default=this.tsEatThenParseType(25),this.finishNode(t,`TSTypeParameter`)}tsTryParseTypeParameters(e){if(this.match(43))return this.tsParseTypeParameters(e)}tsParseTypeParameters(e){let t=this.startNode();this.match(43)||this.match(138)?this.next():this.unexpected();let n={value:-1};return t.params=this.tsParseBracketedList(`TypeParametersOrArguments`,this.tsParseTypeParameter.bind(this,e),!1,!0,n),t.params.length===0&&this.raise(D.EmptyTypeParameters,t),n.value!==-1&&this.addExtra(t,`trailingComma`,n.value),this.finishNode(t,`TSTypeParameterDeclaration`)}tsFillSignature(e,t){let n=e===15;t.typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier),this.expect(6),t.params=this.tsParseBindingListForSignature(),(n||this.match(e))&&(t.returnType=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){let e=super.parseBindingList(7,41,2);for(let t of e){let{type:e}=t;(e===`AssignmentPattern`||e===`TSParameterProperty`)&&this.raise(D.UnsupportedSignatureParameterKind,t,{type:e})}return e}tsParseTypeMemberSemicolon(){!this.eat(8)&&!this.isLineTerminator()&&this.expect(9)}tsParseSignatureMember(e,t){return this.tsFillSignature(10,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),w(this.state.type)?(this.next(),this.match(10)):!1}tsTryParseIndexSignature(e){if(!(this.match(0)&&this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))))return;this.expect(0);let t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(1),e.parameters=[t];let n=this.tsTryParseTypeAnnotation();return n&&(e.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(e,`TSIndexSignature`)}tsParsePropertyOrMethodSignature(e,t){if(this.eat(13)&&(e.optional=!0),this.match(6)||this.match(43)){t&&this.raise(D.ReadonlyForMethodSignature,e);let n=e;if(n.kind&&this.match(43)&&this.raise(D.AccessorCannotHaveTypeParameters,this.state.curPosition()),this.tsFillSignature(10,n),this.tsParseTypeMemberSemicolon(),n.kind===`get`)n.params.length>0&&(this.raise(g.BadGetterArity,this.state.curPosition()),this.isThisParam(n.params[0])&&this.raise(D.AccessorCannotDeclareThisParameter,this.state.curPosition()));else if(n.kind===`set`){if(n.params.length!==1)this.raise(g.BadSetterArity,this.state.curPosition());else{let e=n.params[0];this.isThisParam(e)&&this.raise(D.AccessorCannotDeclareThisParameter,this.state.curPosition()),e.type===`Identifier`&&e.optional&&this.raise(D.SetAccessorCannotHaveOptionalParameter,this.state.curPosition()),e.type===`RestElement`&&this.raise(D.SetAccessorCannotHaveRestParameter,this.state.curPosition())}n.returnType&&this.raise(D.SetAccessorCannotHaveReturnType,n.returnType)}else n.kind=`method`;return this.finishNode(n,`TSMethodSignature`)}{let n=e;t&&(n.readonly=!0);let r=this.tsTryParseTypeAnnotation();return r&&(n.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(n,`TSPropertySignature`)}}tsParseTypeMember(){let e=this.startNode();if(this.match(6)||this.match(43))return this.tsParseSignatureMember(`TSCallSignatureDeclaration`,e);if(this.match(73)){let t=this.startNode();return this.next(),this.match(6)||this.match(43)?this.tsParseSignatureMember(`TSConstructSignatureDeclaration`,e):(e.key=this.createIdentifier(t,`new`),this.tsParsePropertyOrMethodSignature(e,!1))}return this.tsParseModifiers({allowedModifiers:[`readonly`],disallowedModifiers:[`declare`,`abstract`,`private`,`protected`,`public`,`static`,`override`]},e),this.tsTryParseIndexSignature(e)||(super.parsePropertyName(e),!e.computed&&e.key.type===`Identifier`&&(e.key.name===`get`||e.key.name===`set`)&&this.tsTokenCanFollowModifier()&&(e.kind=e.key.name,super.parsePropertyName(e),!this.match(6)&&!this.match(43)&&this.unexpected(null,6)),this.tsParsePropertyOrMethodSignature(e,!!e.readonly))}tsParseTypeLiteral(){let e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,`TSTypeLiteral`)}tsParseObjectTypeMembers(){this.expect(2);let e=this.tsParseList(`TypeMembers`,this.tsParseTypeMember.bind(this));return this.expect(4),e}tsIsStartOfMappedType(){return this.next(),this.eat(49)?this.isContextual(118):(this.isContextual(118)&&this.next(),!this.match(0)||(this.next(),!this.tsIsIdentifier())?!1:(this.next(),this.match(54)))}tsParseMappedType(){let e=this.startNode();return this.expect(2),this.match(49)?(e.readonly=this.state.value,this.next(),this.expectContextual(118)):this.eatContextual(118)&&(e.readonly=!0),this.expect(0),e.key=this.tsParseTypeParameterName(),e.constraint=this.tsExpectThenParseType(54),e.nameType=this.eatContextual(89)?this.tsParseType():null,this.expect(1),this.match(49)?(e.optional=this.state.value,this.next(),this.expect(13)):this.eat(13)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(4),this.finishNode(e,`TSMappedType`)}tsParseTupleType(){let e=this.startNode();e.elementTypes=this.tsParseBracketedList(`TupleElementTypes`,this.tsParseTupleElementType.bind(this),!0,!1);let t=!1;return e.elementTypes.forEach(e=>{let{type:n}=e;t&&n!==`TSRestType`&&n!==`TSOptionalType`&&!(n===`TSNamedTupleMember`&&e.optional)&&this.raise(D.OptionalTypeBeforeRequired,e),t||=n===`TSNamedTupleMember`&&e.optional||n===`TSOptionalType`}),this.finishNode(e,`TSTupleType`)}tsParseTupleElementType(){let e=this.state.startLoc,t=this.eat(17),{startLoc:n}=this.state,r,i,a,o,s=ke(this.state.type)?this.lookaheadCharCode():null;if(s===58)r=!0,a=!1,i=this.parseIdentifier(!0),this.expect(10),o=this.tsParseType();else if(s===63){a=!0;let e=this.state.value,t=this.tsParseNonArrayType();this.lookaheadCharCode()===58?(r=!0,i=this.createIdentifier(this.startNodeAt(n),e),this.expect(13),this.expect(10),o=this.tsParseType()):(r=!1,o=t,this.expect(13))}else o=this.tsParseType(),a=this.eat(13),r=this.eat(10);if(r){let e;i?(e=this.startNodeAt(n),e.optional=a,e.label=i,e.elementType=o,this.eat(13)&&(e.optional=!0,this.raise(D.TupleOptionalAfterType,this.state.lastTokStartLoc))):(e=this.startNodeAt(n),e.optional=a,this.raise(D.InvalidTupleMemberLabel,o),e.label=o,e.elementType=this.tsParseType()),o=this.finishNode(e,`TSNamedTupleMember`)}else if(a){let e=this.startNodeAt(n);e.typeAnnotation=o,o=this.finishNode(e,`TSOptionalType`)}if(t){let t=this.startNodeAt(e);t.typeAnnotation=o,o=this.finishNode(t,`TSRestType`)}return o}tsParseParenthesizedType(){let e=this.startNode();return this.expect(6),e.typeAnnotation=this.tsParseType(),this.expect(7),this.finishNode(e,`TSParenthesizedType`)}tsParseFunctionOrConstructorType(e,t){let n=this.startNode();return e===`TSConstructorType`&&(n.abstract=!!t,t&&this.next(),this.next()),this.tsInAllowConditionalTypesContext(()=>this.tsFillSignature(15,n)),this.finishNode(n,e)}tsParseLiteralTypeNode(){let e=this.startNode();switch(this.state.type){case 131:case 132:case 130:case 81:case 82:e.literal=super.parseExprAtom();break;default:this.unexpected()}return this.finishNode(e,`TSLiteralType`)}tsParseTemplateLiteralType(){let e=this.state.startLoc,t=this.parseTemplateElement(!1),n=[t];if(t.tail){let t=this.startNodeAt(e),r=this.startNodeAt(e);return r.expressions=[],r.quasis=n,t.literal=this.finishNode(r,`TemplateLiteral`),this.finishNode(t,`TSLiteralType`)}{let r=[];for(;!t.tail;)r.push(this.tsParseType()),this.readTemplateContinuation(),n.push(t=this.parseTemplateElement(!1));let i=this.startNodeAt(e);return i.types=r,i.quasis=n,this.finishNode(i,`TSTemplateLiteralType`)}}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){let e=this.tsParseThisTypeNode();return this.isContextual(112)&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}tsParseNonArrayType(){switch(this.state.type){case 130:case 131:case 132:case 81:case 82:return this.tsParseLiteralTypeNode();case 49:if(this.state.value===`-`){let e=this.startNode(),t=this.lookahead();return t.type!==131&&t.type!==132&&this.unexpected(),e.literal=this.parseMaybeUnary(),this.finishNode(e,`TSLiteralType`)}break;case 74:return this.tsParseThisTypeOrThisTypePredicate();case 83:return this.tsParseTypeQuery();case 79:return this.tsParseImportType();case 2:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 6:if(!(this.optionFlags&2048)){let e=this.state.startLoc;this.next();let t=this.tsParseType();return this.expect(7),this.addExtra(t,`parenthesized`,!0),this.addExtra(t,`parenStart`,e.index),t}return this.tsParseParenthesizedType();case 21:case 20:return this.tsParseTemplateLiteralType();default:{let{type:e}=this.state;if(w(e)||e===84||e===80){let t=e===84?`TSVoidKeyword`:e===80?`TSNullKeyword`:Nn(this.state.value);if(t!==void 0&&this.lookaheadCharCode()!==46){let e=this.startNode();return this.next(),this.finishNode(e,t)}return this.tsParseTypeReference()}}}throw this.unexpected()}tsParseArrayTypeOrHigher(){let{startLoc:e}=this.state,t=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(0);)if(this.match(1)){let n=this.startNodeAt(e);n.elementType=t,this.expect(1),t=this.finishNode(n,`TSArrayType`)}else{let n=this.startNodeAt(e);n.objectType=t,n.indexType=this.tsParseType(),this.expect(1),t=this.finishNode(n,`TSIndexedAccessType`)}return t}tsParseTypeOperator(){let e=this.startNode(),t=this.state.value;return this.next(),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),t===`readonly`&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,`TSTypeOperator`)}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case`TSTupleType`:case`TSArrayType`:return;default:this.raise(D.UnexpectedReadonly,e)}}tsParseInferType(){let e=this.startNode();this.expectContextual(111);let t=this.startNode();return t.name=this.tsParseTypeParameterName(),t.constraint=this.tsTryParse(()=>this.tsParseConstraintForInferType()),e.typeParameter=this.finishNode(t,`TSTypeParameter`),this.finishNode(e,`TSInferType`)}tsParseConstraintForInferType(){if(this.eat(77)){let e=this.tsInDisallowConditionalTypesContext(()=>this.tsParseType());if(this.state.inDisallowConditionalTypesContext||!this.match(13))return e}}tsParseTypeOperatorOrHigher(){return Be(this.state.type)&&!this.state.containsEsc?this.tsParseTypeOperator():this.isContextual(111)?this.tsParseInferType():this.tsInAllowConditionalTypesContext(()=>this.tsParseArrayTypeOrHigher())}tsParseUnionOrIntersectionType(e,t,n){let r=this.startNode(),i=this.eat(n),a=[];do a.push(t());while(this.eat(n));return a.length===1&&!i?a[0]:(r.types=a,this.finishNode(r,e))}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType(`TSIntersectionType`,this.tsParseTypeOperatorOrHigher.bind(this),41)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType(`TSUnionType`,this.tsParseIntersectionTypeOrHigher.bind(this),39)}tsIsStartOfFunctionType(){return this.match(43)?!0:this.match(6)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(w(this.state.type)||this.match(74))return this.next(),!0;if(this.match(2)){let{errors:e}=this.state,t=e.length;try{return this.parseObjectLike(4,!0),e.length===t}catch{return!1}}if(this.match(0)){this.next();let{errors:e}=this.state,t=e.length;try{return super.parseBindingList(1,93,1),e.length===t}catch{return!1}}return!1}tsIsUnambiguouslyStartOfFunctionType(){return this.next(),!!(this.match(7)||this.match(17)||this.tsSkipParameterStart()&&(this.match(10)||this.match(8)||this.match(13)||this.match(25)||this.match(7)&&(this.next(),this.match(15))))}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType(()=>{let t=this.startNode();this.expect(e);let n=this.startNode(),r=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(r&&this.match(74)){let e=this.tsParseThisTypeOrThisTypePredicate();return e.type===`TSThisType`?(n.parameterName=e,n.asserts=!0,n.typeAnnotation=null,e=this.finishNode(n,`TSTypePredicate`)):(this.resetStartLocationFromNode(e,n),e.asserts=!0),t.typeAnnotation=e,this.finishNode(t,`TSTypeAnnotation`)}let i=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!i)return r?(n.parameterName=this.parseIdentifier(),n.asserts=r,n.typeAnnotation=null,t.typeAnnotation=this.finishNode(n,`TSTypePredicate`),this.finishNode(t,`TSTypeAnnotation`)):this.tsParseTypeAnnotation(!1,t);let a=this.tsParseTypeAnnotation(!1);return n.parameterName=i,n.typeAnnotation=a,n.asserts=r,t.typeAnnotation=this.finishNode(n,`TSTypePredicate`),this.finishNode(t,`TSTypeAnnotation`)})}tsTryParseTypeOrTypePredicateAnnotation(){if(this.match(10))return this.tsParseTypeOrTypePredicateAnnotation(10)}tsTryParseTypeAnnotation(){if(this.match(10))return this.tsParseTypeAnnotation()}tsTryParseType(){return this.tsEatThenParseType(10)}tsParseTypePredicatePrefix(){let e=this.parseIdentifier();if(this.isContextual(112)&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(this.state.type!==105)return!1;let e=this.state.containsEsc;return this.next(),!w(this.state.type)&&!this.match(74)?!1:(e&&this.raise(g.InvalidEscapedReservedWord,this.state.lastTokStartLoc,{reservedWord:`asserts`}),!0)}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType(()=>{e&&this.expect(10),t.typeAnnotation=this.tsParseType()}),this.finishNode(t,`TSTypeAnnotation`)}tsParseType(){Mn(this.state.inType);let e=this.tsParseNonConditionalType();if(this.state.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(77))return e;let t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsInDisallowConditionalTypesContext(()=>this.tsParseNonConditionalType()),this.expect(13),t.trueType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.expect(10),t.falseType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.finishNode(t,`TSConditionalType`)}isAbstractConstructorSignature(){return this.isContextual(120)&&this.isLookaheadContextual(`new`)}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType(`TSFunctionType`):this.match(73)?this.tsParseFunctionOrConstructorType(`TSConstructorType`):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType(`TSConstructorType`,!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){this.getPluginOption(`typescript`,`disallowAmbiguousJSXLike`)&&this.raise(D.ReservedTypeAssertion,this.state.startLoc);let e=this.startNode();return e.typeAnnotation=this.tsInType(()=>(this.next(),this.match(71)?this.tsParseTypeReference():this.tsParseType())),this.expect(44),e.expression=this.parseMaybeUnary(),this.finishNode(e,`TSTypeAssertion`)}tsParseHeritageClause(e){let t=this.state.startLoc,n=this.tsParseDelimitedList(`HeritageClauseElement`,()=>{let t=(this.state.canStartArrow=!1,super.parseExprSubscripts());In(t)||this.raise(D.InvalidHeritageClauseType,t.start,{token:e});let n=e===`extends`?`TSInterfaceHeritage`:`TSClassImplements`;if(t.type===`TSInstantiationExpression`)return t.type=n,t;let r=this.startNodeAtNode(t);return r.expression=t,(this.match(43)||this.match(47))&&(r.typeArguments=this.tsParseTypeArgumentsInExpression()),this.finishNode(r,n)});return n.length||this.raise(D.EmptyHeritageClauseType,t,{token:e}),n}tsParseInterfaceDeclaration(e,t={}){if(this.hasFollowingLineBreak())return null;this.expectContextual(125),t.declare&&(e.declare=!0),w(this.state.type)?(e.id=this.parseIdentifier(),this.checkIdentifier(e.id,130)):(e.id=null,this.raise(D.MissingInterfaceName,this.state.startLoc)),e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers),this.eat(77)&&(e.extends=this.tsParseHeritageClause(`extends`));let n=this.startNode();return n.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(n,`TSInterfaceBody`),this.finishNode(e,`TSInterfaceDeclaration`)}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkIdentifier(e.id,2),e.typeAnnotation=this.tsInType(()=>{if(e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutModifiers),this.expect(25),this.isContextual(110)&&this.lookaheadCharCode()!==46){let e=this.startNode();return this.next(),this.finishNode(e,`TSIntrinsicKeyword`)}return this.tsParseType()}),this.semicolon(),this.finishNode(e,`TSTypeAliasDeclaration`)}tsInTopLevelContext(e){if(this.curContext()!==T.brace){let t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}else return e()}tsInType(e){let t=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=t}}tsInDisallowConditionalTypesContext(e){let t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!0;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsInAllowConditionalTypesContext(e){let t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!1;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsEatThenParseType(e){if(this.match(e))return this.tsNextThenParseType()}tsExpectThenParseType(e){return this.tsInType(()=>(this.expect(e),this.tsParseType()))}tsNextThenParseType(){return this.tsInType(()=>(this.next(),this.tsParseType()))}tsParseEnumMember(){let e=this.startNode();return e.id=this.match(130)?super.parseStringLiteral(this.state.value):this.parseIdentifier(!0),this.eat(25)&&(e.initializer=super.parseMaybeAssignAllowIn()),this.finishNode(e,`TSEnumMember`)}tsParseEnumDeclaration(e,t={}){return t.const&&(e.const=!0),t.declare&&(e.declare=!0),this.expectContextual(122),e.id=this.parseIdentifier(),this.checkIdentifier(e.id,e.const?8971:8459),e.body=this.tsParseEnumBody(),this.finishNode(e,`TSEnumDeclaration`)}tsParseEnumBody(){let e=this.startNode();return this.expect(2),e.members=this.tsParseDelimitedList(`EnumMembers`,this.tsParseEnumMember.bind(this)),this.expect(4),this.finishNode(e,`TSEnumBody`)}tsParseModuleBlock(e){let t=this.startNode();return e||this.scope.enter(0),this.expect(2),super.parseBlockOrModuleBlockBody(t.body=[],void 0,!0,4),e||this.scope.exit(),this.finishNode(t,`TSModuleBlock`)}tsParseNamespaceDeclaration(e){return e.id=this.tsParseEntityName(0),e.id.type===`Identifier`&&this.checkIdentifier(e.id,1024),this.scope.enter(2048),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(!1),this.prodParam.exit(),this.scope.exit(),this.finishNode(e,`TSModuleDeclaration`)}tsParseAmbientExternalModuleDeclaration(e){let t=this.isContextual(108);if(t)e.kind=`global`,e.id=this.parseIdentifier();else{e.kind=`module`;let{type:t,value:n}=this.state;t===130?e.id=super.parseStringLiteral(n):w(t)?(this.raise(D.InlineModuleDeclarationMustUseString,this.state.startLoc),e.id=this.tsParseEntityName(0)):t===2?this.raise(D.EmptyNamespaceName,this.state.startLoc):(this.raise(D.InvalidNamespaceName,this.state.startLoc,n),e.id=super.parseExprAtom())}return this.match(2)?(t||this.scope.enter(1024),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(t),this.prodParam.exit(),t||this.scope.exit()):this.semicolon(),this.finishNode(e,`TSModuleDeclaration`)}tsParseImportEqualsDeclaration(e,t){e.id=t||this.parseIdentifier(),this.checkIdentifier(e.id,4096),this.expect(25);let n=this.tsParseModuleReference();return e.importKind===`type`&&n.type!==`TSExternalModuleReference`&&this.raise(D.ImportAliasHasImportType,n),e.moduleReference=n,this.semicolon(),this.finishNode(e,`TSImportEqualsDeclaration`)}tsIsExternalModuleReference(){return this.isContextual(115)&&this.lookaheadCharCode()===40}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(0)}tsParseExternalModuleReference(){let e=this.startNode();return this.expectContextual(115),this.expect(6),this.match(130)||this.unexpected(),e.expression=super.parseExprAtom(),this.expect(7),this.sawUnambiguousESM=!0,this.finishNode(e,`TSExternalModuleReference`)}tsLookAhead(e){let t=this.state.clone(),n=e();return this.state=t,n}tsTryParseAndCatch(e){let t=this.tryParse(t=>e()||t());if(!t.aborted&&t.node)return t.error&&(this.state=t.failState),t.node}tsTryParse(e){let t=this.state.clone(),n=e();if(n!==void 0&&n!==!1)return n;this.state=t}tsTryParseDeclare(e){if(this.isLineTerminator())return;let t=this.state.type;return this.tsInAmbientContext(()=>{switch(t){case 64:return e.declare=!0,super.parseFunctionStatement(e,!1,!1);case 76:return e.declare=!0,this.parseClass(e,!0,!1);case 122:return this.tsParseEnumDeclaration(e,{declare:!0});case 108:return this.tsParseAmbientExternalModuleDeclaration(e);case 96:if(this.state.containsEsc)return;case 71:case 70:return!this.match(71)||!this.isLookaheadContextual(`enum`)?(e.declare=!0,this.parseVarStatement(e,this.state.value,!0)):(this.expect(71),this.tsParseEnumDeclaration(e,{const:!0,declare:!0}));case 103:if(this.isUsing())return this.raise(D.InvalidModifierOnUsingDeclaration,this.state.startLoc,`declare`),e.declare=!0,this.parseVarStatement(e,`using`,!0);break;case 92:if(this.isAwaitUsing())return this.raise(D.InvalidModifierOnAwaitUsingDeclaration,this.state.startLoc,`declare`),e.declare=!0,this.next(),this.parseVarStatement(e,`await using`,!0);break;case 125:{let t=this.tsParseInterfaceDeclaration(e,{declare:!0});if(t)return t}default:if(w(t))return this.tsParseDeclaration(e,this.state.type,!0,null)}})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.type,!0,null)}tsParseDeclaration(e,t,n,r){switch(t){case 120:if(this.tsCheckLineTerminator(n)&&(this.match(76)||w(this.state.type)))return this.tsParseAbstractDeclaration(e,r);break;case 123:if(this.tsCheckLineTerminator(n))return this.tsParseAmbientExternalModuleDeclaration(e);break;case 124:if(this.tsCheckLineTerminator(n)&&w(this.state.type))return e.kind=`namespace`,this.tsParseNamespaceDeclaration(e);break;case 126:if(this.tsCheckLineTerminator(n)&&w(this.state.type))return this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminator(e){return e?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e){if(!this.match(43))return;let t=this.tsTryParseAndCatch(()=>{let t=this.startNodeAt(e);return t.typeParameters=this.tsParseTypeParameters(this.tsParseConstModifier),super.parseFunctionParams(t),t.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(15),t});if(t)return super.parseArrowExpression(t,null,!0)}tsParseTypeArgumentsInExpression(){if(this.reScan_lt()===43)return this.tsParseTypeArguments()}tsParseTypeArguments(){let e=this.startNode();return e.params=this.tsInType(()=>this.tsInTopLevelContext(()=>(this.expect(43),this.tsParseDelimitedList(`TypeParametersOrArguments`,this.tsParseType.bind(this))))),e.params.length===0?this.raise(D.EmptyTypeArguments,e):!this.state.inType&&this.curContext()===T.brace&&this.reScan_lt_gt(),this.expect(44),this.finishNode(e,`TSTypeParameterInstantiation`)}tsIsDeclarationStart(){return Ve(this.state.type)}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseBindingElement(e,t){let n=t.length?null:this.state.startLoc,r={};this.tsParseModifiers({allowedModifiers:[`public`,`private`,`protected`,`override`,`readonly`]},r);let i=r.accessibility,a=r.override,o=r.readonly;!(e&4)&&(i||o||a)&&this.raise(D.UnexpectedParameterModifier,n||t[0]);let s=this.state.startLoc,c=this.parseMaybeDefault(s);e&2&&this.parseFunctionParamType(c);let l=this.parseMaybeDefault(s,c);if(i||o||a){let e=n?this.startNodeAt(n):this.startNodeAtNode(t[0]);return t.length?e.decorators=t:this.setLoc(n),i&&(e.accessibility=i),o&&(e.readonly=o),a&&(e.override=a),l.type!==`Identifier`&&l.type!==`AssignmentPattern`&&this.raise(D.UnsupportedParameterPropertyKind,n||t[0]),e.parameter=l,this.finishNode(e,`TSParameterProperty`)}return t.length&&(c.decorators=t),l}isSimpleParameter(e){return e.type===`TSParameterProperty`&&super.isSimpleParameter(e.parameter)||super.isSimpleParameter(e)}tsDisallowOptionalPattern(e){for(let t of e.params)t.type!==`Identifier`&&t.optional&&!this.state.isAmbientContext&&this.raise(D.PatternIsOptional,t)}setArrowFunctionParameters(e,t,n){super.setArrowFunctionParameters(e,t,n),this.tsDisallowOptionalPattern(e)}parseFunctionBodyAndFinish(e,t,n=!1){this.match(10)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(10));let r=t===`FunctionDeclaration`?`TSDeclareFunction`:t===`ClassMethod`||t===`ClassPrivateMethod`?`TSDeclareMethod`:void 0;if(r&&!this.match(2)&&this.isLineTerminator()){if(r===`TSDeclareMethod`&&e.kind===`constructor`)for(let t of e.params)t.type===`TSParameterProperty`?this.raise(D.UnexpectedParameterModifier,t):t.type===`AssignmentPattern`&&this.raise(D.UnexpectedParameterInitializer,t);else for(let t of e.params)t.type===`AssignmentPattern`&&this.raise(D.UnexpectedParameterInitializer,t);return this.finishNode(e,r)}return r&&this.state.isAmbientContext&&(this.raise(D.DeclareFunctionHasImplementation,this.state.startLoc),r===`TSDeclareFunction`&&e.declare)?super.parseFunctionBodyAndFinish(e,r,n):(this.tsDisallowOptionalPattern(e),super.parseFunctionBodyAndFinish(e,t,n))}registerFunctionStatementId(e){!e.body&&e.id?this.checkIdentifier(e.id,1024):super.registerFunctionStatementId(e)}tsCheckForInvalidTypeCasts(e){e.forEach(e=>{e?.type===`TSTypeCastExpression`&&this.raise(D.UnexpectedTypeAnnotation,e.typeAnnotation)})}toReferencedList(e,t){return this.tsCheckForInvalidTypeCasts(e),e}parseArrayLike(e,t){let n=super.parseArrayLike(e,t);return n.type===`ArrayExpression`&&this.tsCheckForInvalidTypeCasts(n.elements),n}parseSubscript(e,t,n,r){if(!this.hasPrecedingLineBreak()&&this.match(31)){this.state.canStartJSXElement=!1,this.next();let n=this.startNodeAt(t);return n.expression=e,this.finishNode(n,`TSNonNullExpression`)}let i=!1;if(this.match(14)&&this.lookaheadCharCode()===60){if(n)return r.stop=!0,e;r.optionalChainMember=i=!0,this.next()}if(this.match(43)||this.match(47)){let a,o=this.tsTryParseAndCatch(()=>{if(!n&&this.atPossibleAsyncArrow(e)){let e=this.tsTryParseGenericAsyncArrowFunction(t);if(e)return r.stop=!0,e}let o=this.tsParseTypeArgumentsInExpression();if(!o)return;if(i&&!this.match(6)){a=this.state.curPosition();return}if(Ge(this.state.type)){let n=super.parseTaggedTemplateExpression(e,t,r);return n.typeArguments=o,n}if(!n&&this.eat(6)){let n=this.startNodeAt(t);return n.callee=e,n.arguments=this.parseCallExpressionArguments(),this.tsCheckForInvalidTypeCasts(n.arguments),n.typeArguments=o,r.optionalChainMember&&(n.optional=i),this.finishCallExpression(n,r.optionalChainMember)}let s=this.state.type;if(s===44||s===48||s!==6&&s!==89&&s!==116&&Me(s)&&!this.hasPrecedingLineBreak())return;let c=this.startNodeAt(t);return c.expression=e,c.typeArguments=o,this.finishNode(c,`TSInstantiationExpression`)});if(a&&this.unexpected(a,6),o)return o.type===`TSInstantiationExpression`&&((this.match(12)||this.match(14)&&this.lookaheadCharCode()!==40)&&this.raise(D.InvalidPropertyAccessAfterInstantiationExpression,this.state.startLoc),!this.match(12)&&!this.match(14)&&(o.expression=super.stopParseSubscript(e,r))),o}return super.parseSubscript(e,t,n,r)}parseNewCallee(e){super.parseNewCallee(e);let{callee:t}=e;t.type===`TSInstantiationExpression`&&!t.extra?.parenthesized&&(e.typeArguments=t.typeArguments,e.callee=t.expression)}parseExprOp(e,t,n){let r;if(Ue(54)>n&&!this.hasPrecedingLineBreak()&&(this.isContextual(89)||(r=this.isContextual(116)))){let i=this.startNodeAt(t);i.expression=e,i.typeAnnotation=this.tsInType(()=>(this.next(),this.match(71)?(r&&this.raise(g.UnexpectedKeyword,this.state.startLoc,{keyword:`const`}),this.tsParseTypeReference()):this.tsParseType()));let a=this.finishNode(i,r?`TSSatisfiesExpression`:`TSAsExpression`);return this.reScan_lt_gt(),this.parseExprOp(a,t,n)}return super.parseExprOp(e,t,n)}checkReservedWord(e,t,n,r){this.state.isAmbientContext||super.checkReservedWord(e,t,n,r)}checkDuplicateExports(){}isPotentialImportPhase(e){if(super.isPotentialImportPhase(e))return!0;if(this.isContextual(126)){let t=this.lookaheadCharCode();return e?t===123||t===42:t!==61}return!e&&this.isContextual(83)}applyImportPhase(e,t,n,r){super.applyImportPhase(e,t,n,r),t?e.exportKind=n===`type`?`type`:`value`:e.importKind=n===`type`||n===`typeof`?n:`value`}parseImport(e){if(this.match(130))return e.importKind=`value`,this.scope.inTSNamespace&&this.raise(D.ImportInTSNamespace,e),super.parseImport(e);let t;if(w(this.state.type)&&this.lookaheadCharCode()===61){e.importKind=`value`;let t=this.tsParseImportEqualsDeclaration(e);return this.scope.inTSNamespace&&t.moduleReference.type===`TSExternalModuleReference`&&this.raise(D.ImportInTSNamespace,e),t}if(this.isContextual(126)){let n=this.parseMaybeImportPhase(e,!1);if(this.lookaheadCharCode()===61)return this.scope.inTSNamespace&&this.raise(D.ImportInTSNamespace,e),this.tsParseImportEqualsDeclaration(e,n);t=super.parseImportSpecifiersAndAfter(e,n)}else t=super.parseImport(e);return t.importKind===`type`&&t.specifiers.length>1&&t.specifiers[0].type===`ImportDefaultSpecifier`?this.raise(D.TypeImportCannotSpecifyDefaultAndNamed,t):this.scope.inTSNamespace&&this.raise(D.ImportInTSNamespace,t),t}parseExport(e,t){if(this.match(79)){let t=this.startNode();this.next();let n=null;this.isContextual(126)&&this.isPotentialImportPhase(!1)?n=this.parseMaybeImportPhase(t,!1):t.importKind=`value`;let r=this.tsParseImportEqualsDeclaration(t,n);return e.attributes=[],e.declaration=r,e.exportKind=`value`,e.source=null,e.specifiers=[],this.finishNode(e,`ExportNamedDeclaration`)}if(this.eat(25)){let t=e;return t.expression=super.parseExpression(),this.semicolon(),this.sawUnambiguousESM=!0,this.scope.inTSNamespace&&this.raise(D.ExportAssignmentInTSNamespace,t),this.finishNode(t,`TSExportAssignment`)}if(this.eatContextual(89)){let t=e;return this.expectContextual(124),t.id=this.parseIdentifier(),this.checkIdentifier(t.id,8201),this.semicolon(),this.scope.inTSNamespace&&this.raise(D.NamespaceExportInTSNamespace,t),this.finishNode(t,`TSNamespaceExportDeclaration`)}{let n=super.parseExport(e,t);return this.scope.inTSNamespace&&(n.type!==`ExportNamedDeclaration`||n.source||!n.declaration&&!this.state.isAmbientContext)&&this.raise(D.ExportInTSNamespace,n),n}}isAbstractClass(){return this.isContextual(120)&&this.isLookaheadContextual(`class`)}parseExportDefaultExpression(){if(this.isAbstractClass()){let e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0,!0)}if(this.match(125)){let e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e}return super.parseExportDefaultExpression()}parseVarStatement(e,t,n=!1){let{isAmbientContext:r}=this.state,i=super.parseVarStatement(e,t,n||r);if(r&&!e.declare&&(t===`using`||t===`await using`))return this.raiseOverwrite(D.UsingDeclarationInAmbientContext,e,t),i;for(let e of i.declarations){let{id:n,init:i,definite:a}=e;a&&(i?this.raise(D.DeclaratorDefiniteAssertionWithInitializer,n):n.typeAnnotation||this.raise(D.DeclaratorDefiniteAssertionRequiresTypeAnnotation,n)),r&&i&&(t===`var`||t===`let`||n.typeAnnotation?this.raise(D.InitializerNotAllowedInAmbientContext,i):zn(i,this.hasPlugin(`estree`))||this.raise(D.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference,i))}return i}parseStatementContent(e,t){let n=!!(e&2);if(!this.state.containsEsc)switch(this.state.type){case 71:if(this.isLookaheadContextual(`enum`)){let e=this.startNode();return this.next(),this.tsParseEnumDeclaration(e,{const:!0})}break;case 120:case 121:if(this.nextTokenIsIdentifierAndNotTSRelationalOperatorOnSameLine()){let e=this.state.type,n=this.startNode();this.next();let r=e===121?this.tsTryParseDeclare(n):this.tsParseAbstractDeclaration(n,t);return r?(e===121&&(r.declare=!0),r):(n.expression=this.createIdentifier(this.startNodeAtNode(n),e===121?`declare`:`abstract`),this.semicolon(!1),this.finishNode(n,`ExpressionStatement`))}break;case 122:return this.tsParseEnumDeclaration(this.startNode());case 108:if(this.lookaheadCharCode()===123){let e=this.startNode();return this.tsParseAmbientExternalModuleDeclaration(e)}break;case 125:{let e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return n||this.raise(D.UnexpectedTypeDeclaration,e,`interface`),e;break}case 123:if(this.nextTokenIsStringLiteralOnSameLine()){let e=this.startNode();return this.next(),this.tsParseDeclaration(e,123,!1,t)}if(this.nextTokenIsIdentifierOnSameLine()){this.raise(D.InlineModuleDeclarationMustUseString,this.state.startLoc);let e=this.startNode();return this.next(),this.tsParseDeclaration(e,124,!1,t)}break;case 124:if(this.nextTokenIsIdentifierOnSameLine()){let e=this.startNode();return this.next(),this.tsParseDeclaration(e,124,!1,t)}break;case 126:if(this.nextTokenIsIdentifierOnSameLine()){let e=this.startNode();return n||this.raise(D.UnexpectedTypeDeclaration,e,`type`),this.next(),this.tsParseTypeAliasDeclaration(e)}}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier([`public`,`protected`,`private`])}tsHasSomeModifiers(e,t){return t.some(t=>Pn(t)?e.accessibility===t:!!e[t])}tsIsStartOfStaticBlocks(){return this.isContextual(102)&&this.lookaheadCharCode()===123}parseClassMember(e,t,n){let r=[`declare`,`private`,`public`,`protected`,`override`,`abstract`,`readonly`,`static`];this.tsParseModifiers({allowedModifiers:r,disallowedModifiers:[`in`,`out`],stopOnStartOfClassStaticBlock:!0,errorTemplate:D.InvalidModifierOnTypeParameterPositions},t);let i=()=>{this.tsIsStartOfStaticBlocks()?(this.next(),this.next(),this.tsHasSomeModifiers(t,r)&&this.raise(D.StaticBlockCannotHaveModifier,this.state.curPosition()),super.parseClassStaticBlock(e,t)):this.parseClassMemberWithIsStatic(e,t,n,!!t.static)};t.declare?this.tsInAmbientContext(i):i(),t.decorators&&t.decorators.length>0&&!this.hasPlugin(`decorators-legacy`)&&(t.type===`TSAbstractMethodDefinition`||t.type===`TSDeclareMethod`?this.raise(D.DecoratorAbstractMethod,t,{kind:`abstract method`}):(t.type===`ClassProperty`&&t.abstract||t.type===`ClassProperty`&&t.declare||t.type===`TSAbstractPropertyDefinition`||t.type===`PropertyDefinition`&&t.declare)&&this.raise(D.DecoratorAbstractMethod,t,{kind:t.declare?`declare field`:`abstract field`}))}parseClassMemberWithIsStatic(e,t,n,r){let i=this.tsTryParseIndexSignature(t);if(i){e.body.push(i),t.abstract&&this.raise(D.IndexSignatureHasAbstract,t),t.accessibility&&this.raise(D.IndexSignatureHasAccessibility,t,{modifier:t.accessibility}),t.declare&&this.raise(D.IndexSignatureHasDeclare,t),t.override&&this.raise(D.IndexSignatureHasOverride,t);return}!this.state.inAbstractClass&&t.abstract&&this.raise(D.NonAbstractClassHasAbstractMethod,t),t.override&&(n.hadSuperClass||this.raise(D.OverrideNotInSubClass,t)),super.parseClassMemberWithIsStatic(e,t,n,r)}parsePostMemberNameModifiers(e){this.eat(13)&&(e.optional=!0),e.readonly&&this.match(6)&&this.raise(D.ClassMethodHasReadonly,e),e.declare&&this.match(6)&&this.raise(D.ClassMethodHasDeclare,e)}shouldParseExportDeclaration(){return this.tsIsDeclarationStart()?!0:super.shouldParseExportDeclaration()}parseConditional(e,t,n){if(!this.match(13))return e;if(n!=null){let t=this.lookaheadCharCode();if(t===44||t===61||t===58||t===41)return this.setOptionalParametersError(n),e}this.next();let r=this.startNodeAt(t);r.test=e;let i=this.state.inConditionalConsequent;return this.state.inConditionalConsequent=!0,r.consequent=this.parseMaybeAssignAllowIn(),this.state.inConditionalConsequent=i,this.expect(10),r.alternate=this.parseMaybeAssign(),this.finishNode(r,`ConditionalExpression`)}parseParenItem(e,t){let n=super.parseParenItem(e,t);if(this.eat(13)&&(n.optional=!0,this.resetEndLocation(e)),this.match(10)){let n=this.startNodeAt(t);return n.expression=e,n.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(n,`TSTypeCastExpression`)}return e}parseExportDeclaration(e){if(!this.state.isAmbientContext&&this.isContextual(121))return this.tsInAmbientContext(()=>this.parseExportDeclaration(e));let t=this.state.startLoc,n=this.eatContextual(121);if(n&&(this.isContextual(121)||!this.shouldParseExportDeclaration()))throw this.raise(D.ExpectedAmbientAfterExportDeclare,this.state.startLoc);let r=w(this.state.type)&&this.tsTryParseExportDeclaration()||super.parseExportDeclaration(e);return r?((r.type===`TSInterfaceDeclaration`||r.type===`TSTypeAliasDeclaration`||n)&&(e.exportKind=`type`),n&&r.type!==`TSImportEqualsDeclaration`&&(this.resetStartLocation(r,t),r.declare=!0),r):null}parseClassId(e,t,n,r){if((!t||n)&&this.isContextual(109)){e.id=null;return}super.parseClassId(e,t,n,e.declare?1024:8331);let i=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);i&&(e.typeParameters=i)}parseClassPropertyAnnotation(e){e.optional||(this.eat(31)?e.definite=!0:this.eat(13)&&(e.optional=!0));let t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t),e.definite&&(this.match(25)?this.raise(D.DeclaratorDefiniteAssertionWithInitializer,e):t||this.raise(D.DeclaratorDefiniteAssertionRequiresTypeAnnotation,e))}parseClassProperty(e){if(this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&(!e.readonly||e.typeAnnotation)&&this.match(25)&&this.raise(D.DeclareClassFieldHasInitializer,this.state.startLoc),e.abstract&&this.match(25)){let{key:t}=e;this.raise(D.AbstractPropertyHasInitializer,this.state.startLoc,{propertyName:t.type===`Identifier`&&!e.computed?t.name:`[${this.input.slice(this.offsetToSourcePos(t.start),this.offsetToSourcePos(t.end))}]`})}return super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(D.PrivateElementHasAbstract,e),e.accessibility&&this.raise(D.PrivateElementHasAccessibility,e,{modifier:e.accessibility}),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}parseClassAccessorProperty(e){return this.parseClassPropertyAnnotation(e),e.optional&&this.raise(D.AccessorCannotBeOptional,e),super.parseClassAccessorProperty(e)}pushClassMethod(e,t,n,r,i,a){let o=this.tsTryParseTypeParameters(this.tsParseConstModifier);o&&i&&this.raise(D.ConstructorHasTypeParameters,o);let{declare:s=!1,kind:c}=t;s&&(c===`get`||c===`set`)&&this.raise(D.DeclareAccessor,t,{kind:c}),o&&(t.typeParameters=o),super.pushClassMethod(e,t,n,r,i,a)}pushClassPrivateMethod(e,t,n,r){let i=this.tsTryParseTypeParameters(this.tsParseConstModifier);i&&(t.typeParameters=i),super.pushClassPrivateMethod(e,t,n,r)}declareClassPrivateMethodInScope(e,t){e.type!==`TSDeclareMethod`&&(e.type!==`MethodDefinition`||e.value.body!=null)&&super.declareClassPrivateMethodInScope(e,t)}parseClassSuper(e){if(super.parseClassSuper(e),e.superClass){if(e.superClass.type===`TSInstantiationExpression`){let t=e.superClass,n=t.expression;this.takeSurroundingComments(n,n.start,n.end);let r=t.typeArguments;this.takeSurroundingComments(r,r.start,r.end),e.superClass=n,e.superTypeArguments=r}else(this.match(43)||this.match(47))&&(e.superTypeArguments=this.tsParseTypeArgumentsInExpression())}this.eatContextual(109)&&(e.implements=this.tsParseHeritageClause(`implements`))}parseObjPropValue(e,t,n,r,i,a,o){let s=this.tsTryParseTypeParameters(this.tsParseConstModifier);return s&&(e.typeParameters=s),super.parseObjPropValue(e,t,n,r,i,a,o)}parseFunctionParams(e,t){let n=this.tsTryParseTypeParameters(this.tsParseConstModifier);n&&(e.typeParameters=n),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),e.id.type===`Identifier`&&!this.hasPrecedingLineBreak()&&this.eat(31)&&(e.definite=!0);let n=this.tsTryParseTypeAnnotation();n&&(e.id.typeAnnotation=n,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(10)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(e,t){let n,r,i;if(this.hasPlugin(`jsx`)&&(this.match(138)||this.match(43))){if(n=this.state.clone(),r=this.tryParse(()=>super.parseMaybeAssign(e,t),n),!r.error)return r.node;let{context:i}=this.state,a=i[i.length-1];(a===T.j_oTag||a===T.j_expr)&&i.pop()}if(!r?.error&&!this.match(43))return super.parseMaybeAssign(e,t);(!n||n===this.state)&&(n=this.state.clone());let a,o=this.tryParse(n=>{a=this.tsParseTypeParameters(this.tsParseConstModifier);let r=super.parseMaybeAssign(e,t);if((r.type!==`ArrowFunctionExpression`||r.extra?.parenthesized)&&n(),a?.params.length!==0&&this.resetStartLocationFromNode(r,a),r.typeParameters=a,this.hasPlugin(`jsx`)&&r.typeParameters.params.length===1&&!r.typeParameters.extra?.trailingComma){let e=r.typeParameters.params[0];e.constraint||this.raise(D.SingleTypeParameterWithoutTrailingComma,this.optionFlags&256?p(e.loc.end,1):e,{typeParameterName:e.name.name})}return r},n);if(!o.error&&!o.aborted)return a&&this.reportReservedArrowTypeParam(a),o.node;if(!r&&(Mn(!this.hasPlugin(`jsx`)),i=this.tryParse(()=>super.parseMaybeAssign(e,t),n),!i.error))return i.node;if(r?.node)return this.state=r.failState,r.node;if(o.node)return this.state=o.failState,a&&this.reportReservedArrowTypeParam(a),o.node;if(i?.node)return this.state=i.failState,i.node;throw r?.error||o.error||i?.error}reportReservedArrowTypeParam(e){e.params.length===1&&!e.params[0].constraint&&!e.extra?.trailingComma&&this.getPluginOption(`typescript`,`disallowAmbiguousJSXLike`)&&this.raise(D.ReservedArrowTypeParam,e)}parseMaybeUnary(e,t){return!this.hasPlugin(`jsx`)&&this.match(43)?this.tsParseTypeAssertion():super.parseMaybeUnary(e,t)}parseArrow(e){if(this.match(10)){let t=this.tryParse(e=>{let t=this.tsParseTypeOrTypePredicateAnnotation(10);return(this.canInsertSemicolon()||!this.match(15))&&e(),t});if(t.aborted)return;t.thrown||(t.error&&(this.state=t.failState),e.returnType=t.node)}return super.parseArrow(e)}parseFunctionParamType(e){this.eat(13)&&(e.optional=!0);let t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t),this.resetEndLocation(e),e}isAssignable(e,t){switch(e.type){case`TSTypeCastExpression`:return this.isAssignable(e.expression,t);case`TSParameterProperty`:return!0;default:return super.isAssignable(e,t)}}toAssignable(e,t=!1){switch(e.type){case`ParenthesizedExpression`:this.toAssignableParenthesizedExpression(e,t);break;case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSNonNullExpression`:case`TSTypeAssertion`:t?this.expressionScope.recordArrowParameterBindingError(D.UnexpectedTypeCastInParameter,e):this.raise(D.UnexpectedTypeCastInParameter,e),this.toAssignable(e.expression,t);break;case`AssignmentExpression`:!t&&e.left.type===`TSTypeCastExpression`&&(e.left=this.typeCastToParameter(e.left));default:super.toAssignable(e,t)}}toAssignableParenthesizedExpression(e,t){switch(e.expression.type){case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSNonNullExpression`:case`TSTypeAssertion`:case`ParenthesizedExpression`:this.toAssignable(e.expression,t);break;default:super.toAssignable(e,t)}}checkToRestConversion(e,t){switch(e.type){case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSTypeAssertion`:case`TSNonNullExpression`:this.checkToRestConversion(e.expression,!1);break;default:super.checkToRestConversion(e,t)}}isValidLVal(e,t,n,r){switch(e){case`TSTypeCastExpression`:return!0;case`TSParameterProperty`:return`parameter`;case`TSNonNullExpression`:return`expression`;case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSTypeAssertion`:return(r!==64||!n)&&[`expression`,!0];default:return super.isValidLVal(e,t,n,r)}}parseBindingAtom(){return this.state.type===74?this.parseIdentifier(!0):super.parseBindingAtom()}parseMaybeDecoratorArguments(e,t){if(this.match(43)||this.match(47)){let n=this.tsParseTypeArgumentsInExpression();if(this.match(6)){let r=super.parseMaybeDecoratorArguments(e,t);return r.typeArguments=n,r}this.unexpected(null,6)}return super.parseMaybeDecoratorArguments(e,t)}checkCommaAfterRest(e){return this.state.isAmbientContext&&this.match(8)&&this.lookaheadCharCode()===e?(this.next(),!1):super.checkCommaAfterRest(e)}isClassMethod(){return this.match(43)||super.isClassMethod()}isClassProperty(){return this.match(31)||this.match(10)||super.isClassProperty()}parseMaybeDefault(e,t){let n=super.parseMaybeDefault(e,t);return n.type===`AssignmentPattern`&&n.typeAnnotation&&n.right.start<n.typeAnnotation.start&&this.raise(D.TypeAnnotationAfterAssign,n.typeAnnotation),n}getTokenFromCode(e){if(this.state.inType){if(e===62){this.finishOp(44,1);return}if(e===60){this.finishOp(43,1);return}}super.getTokenFromCode(e)}reScan_lt_gt(){let{type:e}=this.state;e===43?(--this.state.pos,this.readToken_lt()):e===44&&(--this.state.pos,this.readToken_gt())}reScan_lt(){let{type:e}=this.state;return e===47?(this.state.pos-=2,this.finishOp(43,1),43):e}toAssignableListItem(e,t,n){let r=e[t];r.type===`TSTypeCastExpression`&&(e[t]=this.typeCastToParameter(r)),super.toAssignableListItem(e,t,n)}typeCastToParameter(e){return e.expression.typeAnnotation=e.typeAnnotation,this.resetEndLocationFromNode(e.expression,e.typeAnnotation),e.expression}shouldParseArrow(e){return this.match(10)?e.every(e=>this.isAssignable(e,!0)):super.shouldParseArrow(e)}shouldParseAsyncArrow(){return this.match(10)?!this.state.inConditionalConsequent:super.shouldParseAsyncArrow()}parseParenAndDistinguishExpression(e){let t=this.state.inConditionalConsequent;this.state.inConditionalConsequent=!1;let n=super.parseParenAndDistinguishExpression(e);return this.state.inConditionalConsequent=t,n}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(e){if(this.match(43)||this.match(47)){let t=this.tsTryParseAndCatch(()=>this.tsParseTypeArgumentsInExpression());t&&(e.typeArguments=t)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){let t=super.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e)[0];return n&&this.isThisParam(n)?t+1:t}parseCatchClauseParam(){let e=super.parseCatchClauseParam(),t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t,this.resetEndLocation(e)),e}tsInAmbientContext(e){let{isAmbientContext:t,strict:n}=this.state;this.state.isAmbientContext=!0,this.state.strict=!1;try{return e()}finally{this.state.isAmbientContext=t,this.state.strict=n}}parseClass(e,t,n){let r=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,t,n)}finally{this.state.inAbstractClass=r}}tsParseAbstractDeclaration(e,t){if(this.match(76))return e.abstract=!0,this.maybeTakeDecorators(t,this.parseClass(e,!0,!1));if(this.isContextual(125))return this.hasFollowingLineBreak()?null:(e.abstract=!0,this.raise(D.NonClassMethodPropertyHasAbstractModifier,e),this.tsParseInterfaceDeclaration(e));throw this.unexpected(null,76)}parseMethod(e,t,n,r,i,a,o){let s=super.parseMethod(e,t,n,r,i,a,o);if((s.abstract||s.type===`TSAbstractMethodDefinition`)&&(this.hasPlugin(`estree`)?s.value:s).body){let{key:e}=s;this.raise(D.AbstractMethodHasImplementation,s,{methodName:e.type===`Identifier`&&!s.computed?e.name:`[${this.input.slice(this.offsetToSourcePos(e.start),this.offsetToSourcePos(e.end))}]`})}return s}tsParseTypeParameterName(){return this.parseIdentifier()}shouldParseAsAmbientContext(){return!!this.getPluginOption(`typescript`,`dts`)}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}parseExportSpecifier(e,t,n,r){return!t&&r?(this.parseTypeOnlyImportExportSpecifier(e,!1,n),this.finishNode(e,`ExportSpecifier`)):(e.exportKind=`value`,super.parseExportSpecifier(e,t,n,r))}parseImportSpecifier(e,t,n,r,i){return!t&&r?(this.parseTypeOnlyImportExportSpecifier(e,!0,n),this.finishNode(e,`ImportSpecifier`)):(e.importKind=`value`,super.parseImportSpecifier(e,t,n,r,n?4098:4096))}parseTypeOnlyImportExportSpecifier(e,t,n){let r=t?`imported`:`local`,i=t?`local`:`exported`,a=e[r],o,s=!1,c=!0,l=a.start;if(this.isContextual(89)){let e=this.parseIdentifier();if(this.isContextual(89)){let n=this.parseIdentifier();ke(this.state.type)?(s=!0,a=e,o=t?this.parseIdentifier():this.parseModuleExportName(),c=!1):(o=n,c=!1)}else ke(this.state.type)?(c=!1,o=t?this.parseIdentifier():this.parseModuleExportName()):(s=!0,a=e)}else ke(this.state.type)&&(s=!0,t?(a=this.parseIdentifier(!0),this.isContextual(89)||this.checkReservedWord(a.name,a.start,!0,!0)):a=this.parseModuleExportName());s&&n&&this.raise(t?D.TypeModifierIsUsedInTypeImports:D.TypeModifierIsUsedInTypeExports,l),e[r]=a,e[i]=o;let u=t?`importKind`:`exportKind`;e[u]=s?`type`:`value`,c&&this.eatContextual(89)&&(e[i]=t?this.parseIdentifier():this.parseModuleExportName()),e[i]||(e[i]=this.cloneIdentifier(e[r])),t&&this.checkIdentifier(e[i],s?4098:4096)}fillOptionalPropertiesForTSESLint(e){switch(e.type){case`ExpressionStatement`:e.directive??=void 0;return;case`RestElement`:e.value=void 0;case`Identifier`:case`ArrayPattern`:case`AssignmentPattern`:case`ObjectPattern`:e.decorators??=[],e.optional??=!1,e.typeAnnotation??=void 0;return;case`TSParameterProperty`:e.accessibility??=void 0,e.decorators??=[],e.override??=!1,e.readonly??=!1,e.static??=!1;return;case`TSEmptyBodyFunctionExpression`:e.body=null;case`TSDeclareFunction`:case`FunctionDeclaration`:case`FunctionExpression`:case`ClassMethod`:case`ClassPrivateMethod`:e.declare??=!1,e.returnType??=void 0,e.typeParameters??=void 0;return;case`Property`:e.optional??=!1;return;case`TSMethodSignature`:case`TSPropertySignature`:e.optional??=!1;case`TSIndexSignature`:e.accessibility??=void 0,e.readonly??=!1,e.static??=!1;return;case`TSAbstractPropertyDefinition`:case`PropertyDefinition`:case`TSAbstractAccessorProperty`:case`AccessorProperty`:e.declare??=!1,e.definite??=!1,e.readonly??=!1,e.typeAnnotation??=void 0;case`TSAbstractMethodDefinition`:case`MethodDefinition`:e.accessibility??=void 0,e.decorators??=[],e.override??=!1,e.optional??=!1;return;case`ClassExpression`:e.id??=null;case`ClassDeclaration`:e.abstract??=!1,e.declare??=!1,e.decorators??=[],e.implements??=[],e.superTypeArguments??=void 0,e.typeParameters??=void 0;return;case`TSTypeAliasDeclaration`:case`VariableDeclaration`:e.declare??=!1;return;case`VariableDeclarator`:e.definite??=!1;return;case`TSEnumDeclaration`:e.const??=!1,e.declare??=!1;return;case`TSEnumMember`:e.computed??=!1;return;case`TSImportType`:e.qualifier??=null,e.options??=null,e.typeArguments??=null;return;case`TSInterfaceDeclaration`:e.declare??=!1,e.extends??=[];return;case`TSMappedType`:e.optional??=!1,e.readonly??=void 0;return;case`TSModuleDeclaration`:e.declare??=!1,e.global??=e.kind===`global`;return;case`TSTypeParameter`:e.const??=!1,e.in??=!1,e.out??=!1;return}}chStartsBindingIdentifierAndNotRelationalOperator(e,t){if($e(e)){if(An.lastIndex=t,An.test(this.input)){let e=this.codePointAtPos(An.lastIndex);if(!et(e)&&e!==92)return!1}return!0}return e===92}nextTokenIsIdentifierAndNotTSRelationalOperatorOnSameLine(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifierAndNotRelationalOperator(t,e)}nextTokenIsStringLiteralOnSameLine(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return t===34||t===39}};function Rn(e){if(e.type!==`MemberExpression`)return!1;let{computed:t,property:n}=e;return t&&n.type!==`StringLiteral`&&(n.type!==`TemplateLiteral`||n.expressions.length>0)?!1:Hn(e.object)}function zn(e,t){let{type:n}=e;if(e.extra?.parenthesized)return!1;if(t){if(n===`Literal`){let{value:t}=e;if(typeof t==`string`||typeof t==`boolean`)return!0}}else if(n===`StringLiteral`||n===`BooleanLiteral`)return!0;return!!(Bn(e,t)||Vn(e,t)||n===`TemplateLiteral`&&e.expressions.length===0||Rn(e))}function Bn(e,t){return t?e.type===`Literal`&&(typeof e.value==`number`||`bigint`in e):e.type===`NumericLiteral`||e.type===`BigIntLiteral`}function Vn(e,t){if(e.type===`UnaryExpression`){let{operator:n,argument:r}=e;if(n===`-`&&Bn(r,t))return!0}return!1}function Hn(e){return e.type===`Identifier`?!0:e.type!==`MemberExpression`||e.computed?!1:Hn(e.object)}var Un=ue`placeholders`({ClassNameIsRequired:`A class name is required.`,UnexpectedSpace:`Unexpected space in placeholder.`}),Wn=e=>class extends e{parsePlaceholder(e){if(this.match(129)){let t=this.startNode();return this.next(),this.assertNoSpace(),t.name=super.parseIdentifier(!0),this.assertNoSpace(),this.expect(129),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){let n=e;return(!n.expectedNode||!n.type)&&(n=this.finishNode(n,`Placeholder`)),n.expectedNode=t,n}getTokenFromCode(e){e===37&&this.input.charCodeAt(this.state.pos+1)===37?this.finishOp(129,2):super.getTokenFromCode(e)}parseExprAtom(e){return this.parsePlaceholder(`Expression`)||super.parseExprAtom(e)}parseIdentifier(e){return this.parsePlaceholder(`Identifier`)||super.parseIdentifier(e)}checkReservedWord(e,t,n,r){e!==void 0&&super.checkReservedWord(e,t,n,r)}cloneIdentifier(e){let t=super.cloneIdentifier(e);return t.type===`Placeholder`&&(t.expectedNode=e.expectedNode),t}cloneStringLiteral(e){return e.type===`Placeholder`?this.cloneIdentifier(e):super.cloneStringLiteral(e)}parseBindingAtom(){return this.parsePlaceholder(`Pattern`)||super.parseBindingAtom()}isValidLVal(e,t,n,r){return e===`Placeholder`||super.isValidLVal(e,t,n,r)}toAssignable(e,t){e&&e.type===`Placeholder`&&e.expectedNode===`Expression`?e.expectedNode=`Pattern`:super.toAssignable(e,t)}chStartsBindingIdentifier(e,t){if(super.chStartsBindingIdentifier(e,t))return!0;let n=this.nextTokenStart();return this.input.charCodeAt(n)===37&&this.input.charCodeAt(n+1)===37}verifyBreakContinue(e,t){e.label?.type!==`Placeholder`&&super.verifyBreakContinue(e,t)}parseExpressionStatement(e,t){if(t.type!==`Placeholder`||t.extra?.parenthesized)return super.parseExpressionStatement(e,t);if(this.match(10)){let n=e;return n.label=this.finishPlaceholder(t,`Identifier`),this.next(),n.body=super.parseStatementOrSloppyAnnexBFunctionDeclaration(),this.finishNode(n,`LabeledStatement`)}this.semicolon();let n=e;return n.name=t.name,this.finishPlaceholder(n,`Statement`)}parseBlock(e,t,n){return this.parsePlaceholder(`BlockStatement`)||super.parseBlock(e,t,n)}parseFunctionId(e){return this.parsePlaceholder(`Identifier`)||super.parseFunctionId(e)}parseClass(e,t,n){let r=t?`ClassDeclaration`:`ClassExpression`;this.next();let i=this.state.strict,a=this.parsePlaceholder(`Identifier`);if(a){if(this.match(77)||this.match(129)||this.match(2))e.id=a;else if(n||!t)return e.id=null,e.body=this.finishPlaceholder(a,`ClassBody`),this.finishNode(e,r);else throw this.raise(Un.ClassNameIsRequired,this.state.startLoc)}else this.parseClassId(e,t,n);return super.parseClassSuper(e),e.body=this.parsePlaceholder(`ClassBody`)||super.parseClassBody(!!e.superClass,i),this.finishNode(e,r)}parseExport(e,t){let n=this.parsePlaceholder(`Identifier`);if(!n)return super.parseExport(e,t);let r=e;if(!this.isContextual(94)&&!this.match(8))return r.specifiers=[],r.source=null,r.declaration=this.finishPlaceholder(n,`Declaration`),this.finishNode(r,`ExportNamedDeclaration`);this.expectPlugin(`exportDefaultFrom`);let i=this.startNode();return i.exported=n,r.specifiers=[this.finishNode(i,`ExportDefaultSpecifier`)],super.parseExport(r,t)}isExportDefaultSpecifier(){if(this.match(61)){let e=this.nextTokenStart();if(this.isUnparsedContextual(e,`from`)&&this.input.startsWith(He(129),this.nextTokenStartSince(e+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(e,t){return e.specifiers?.length?!0:super.maybeParseExportDefaultSpecifier(e,t)}checkExport(e){let{specifiers:t}=e;t?.length&&(e.specifiers=t.filter(e=>e.exported.type===`Placeholder`)),super.checkExport(e),e.specifiers=t}parseImport(e){let t=this.parsePlaceholder(`Identifier`);if(!t)return super.parseImport(e);if(e.specifiers=[],!this.isContextual(94)&&!this.match(8))return e.source=this.finishPlaceholder(t,`StringLiteral`),this.semicolon(),this.finishNode(e,`ImportDeclaration`);let n=this.startNodeAtNode(t);return n.local=t,e.specifiers.push(this.finishNode(n,`ImportDefaultSpecifier`)),this.eat(8)&&(this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)),this.expectContextual(94),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,`ImportDeclaration`)}parseImportSource(){return this.parsePlaceholder(`StringLiteral`)||super.parseImportSource()}assertNoSpace(){this.state.start>this.offsetToSourcePos(this.state.lastTokEndLoc.index)&&this.raise(Un.UnexpectedSpace,this.state.lastTokEndLoc)}},Gn=e=>class extends e{parseV8Intrinsic(){if(this.match(50)){let e=this.state.startLoc,t=this.startNode();if(this.next(),w(this.state.type)){let e=this.parseIdentifierName(),n=this.createIdentifier(t,e);if(this.castNodeTo(n,`V8IntrinsicIdentifier`),this.match(6))return n}this.unexpected(e)}}parseExprAtom(e){return this.parseV8Intrinsic()||super.parseExprAtom(e)}},Kn=[`fsharp`,`hack`],qn=[`^^`,`@@`,`^`,`%`,`#`];function Jn(e){if(e.has(`decorators`)&&e.has(`decorators-legacy`))throw Error(`Cannot use the decorators and decorators-legacy plugin together`);if(e.has(`flow`)&&e.has(`typescript`))throw Error(`Cannot combine flow and typescript plugins.`);if(e.has(`placeholders`)&&e.has(`v8intrinsic`))throw Error(`Cannot combine placeholders and v8intrinsic plugins.`);if(e.has(`pipelineOperator`)){let t=e.get(`pipelineOperator`).proposal;if(!Kn.includes(t)){let e=Kn.map(e=>`"${e}"`).join(`, `);throw Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${e}.`)}if(t===`hack`){if(e.has(`placeholders`))throw Error(`Cannot combine placeholders plugin and Hack-style pipes.`);if(e.has(`v8intrinsic`))throw Error(`Cannot combine v8intrinsic plugin and Hack-style pipes.`);let t=e.get(`pipelineOperator`).topicToken;if(!qn.includes(t)){let e=qn.map(e=>`"${e}"`).join(`, `);throw Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${e}.`)}}}if(e.has(`moduleAttributes`))throw Error("`moduleAttributes` has been removed in Babel 8, please migrate to import attributes instead.");if(e.has(`importAssertions`))throw Error("`importAssertions` has been removed in Babel 8, please use import attributes instead.");if(e.has(`deprecatedImportAssert`)?console.warn("`deprecatedImportAssert` has been removed in Babel 8, please use import attributes instead."):e.has(`importAttributes`)&&e.get(`importAttributes`).deprecatedAssertSyntax&&console.warn("The 'importAttributes' plugin has been removed in Babel 8. Please migrate any usage of `assert`-style attributes to `with`."),e.has(`recordAndTuple`))throw Error(`The 'recordAndTuple' plugin has been removed in Babel 8. Please remove it from your configuration.`);if(e.has(`asyncDoExpressions`)&&!e.has(`doExpressions`)){let e=Error(`'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.`);throw e.missingPlugins=`doExpressions`,e}if(e.has(`optionalChainingAssign`)&&e.get(`optionalChainingAssign`).version!==`2023-07`)throw Error(`The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is '2023-07'.`);if(e.has(`discardBinding`)&&e.get(`discardBinding`).syntaxType!==`void`)throw Error(`The 'discardBinding' plugin requires a 'syntaxType' option. Currently the only supported value is 'void'.`);if(e.has(`decimal`))throw Error(`The 'decimal' plugin has been removed in Babel 8. Please remove it from your configuration.`);if(e.has(`importReflection`))throw Error(`The 'importReflection' plugin has been removed in Babel 8. Use 'sourcePhaseImports' instead, and replace 'import module' with 'import source' in your code.`)}var Yn={estree:me,jsx:Pt,flow:Ct,typescript:Ln,v8intrinsic:Gn,placeholders:Wn},Xn=Object.keys(Yn),Zn=class extends kn{constructor(e,t,n){let r=fe(e);super(r,t),this.options=r,this.initializeScopes(),this.plugins=n,this.filename=r.sourceFilename,this.startIndex=r.startIndex;let i=0;r.allowAwaitOutsideFunction&&(i|=1),r.allowReturnOutsideFunction&&(i|=2),r.allowImportExportEverywhere&&(i|=8),r.allowSuperOutsideMethod&&(i|=16),r.allowUndeclaredExports&&(i|=64),r.allowNewTargetOutsideFunction&&(i|=4),r.allowYieldOutsideFunction&&(i|=32),r.ranges&&(i|=128),r.locations===!0&&(i|=256),r.tokens&&(i|=512),r.createImportExpressions&&(i|=1024),r.createParenthesizedExpressions&&(i|=2048),r.errorRecovery&&(i|=4096),r.attachComment&&(i|=8192),r.annexB&&(i|=16384),this.optionFlags=i}getScopeHandler(){return mt}parse(){this.enterInitialScopes();let e=this.startNode(),t=this.startNode();this.nextToken(),e.errors=[];let n=this.parseTopLevel(e,t);return n.errors=this.state.errors,n.comments.length=this.state.commentsLen,n}};function Qn(e,t){if(t?.sourceType===`unambiguous`){t={...t};try{t.sourceType=`module`;let n=er(t,e),r=n.parse();if(n.sawUnambiguousESM)return r;if(n.ambiguousScriptDifferentAst)try{return t.sourceType=`script`,er(t,e).parse()}catch{}else r.program.sourceType=`script`;return r}catch(n){try{return t.sourceType=`script`,er(t,e).parse()}catch{}throw n}}return er(t,e).parse()}function $n(e){let t={};for(let n of Object.keys(e))t[n]=Ke(e[n]);return t}$n(De);function er(e,t){let n=Zn,r=new Map;if(e?.plugins){for(let t of e.plugins){let e,n;typeof t==`string`?e=t:[e,n]=t,r.has(e)||r.set(e,n||{})}Jn(r),n=nr(r)}return new n(e,t,r)}var tr=new Map;function nr(e){let t=[];for(let n of Xn)e.has(n)&&t.push(n);let n=t.join(`|`),r=tr.get(n);if(!r){r=Zn;for(let e of t)r=Yn[e](r);tr.set(n,r)}return r}function rr(e){return e instanceof Error?e.stack||e.message:e}function ir(e,t){let n=0;for(let e=0;e<t.length;e++)n=(n<<5)-n+t.charCodeAt(e),n|=0;return e[Math.abs(n)%e.length]}function ar(e,t){let n=0,r=0,i=-1,a=0;for(;n<e.length;)if(r<t.length&&(t[r]===e[n]||t[r]===`*`))t[r]===`*`?(i=r,a=n,r++):(n++,r++);else if(i!==-1)r=i+1,a++,n=a;else return!1;for(;r<t.length&&t[r]===`*`;)r++;return r===t.length}function or(e){return e>=1e3?`${(e/1e3).toFixed(1)}s`:`${e}ms`}var sr=``;function cr(e,t){let n,r,i,a,o=(...e)=>{if(!o.enabled)return;let r=Date.now(),i=r-(n||r);n=r,e[0]=rr(e[0]),typeof e[0]!=`string`&&e.unshift(`%O`);let a=0;e[0]=e[0].replace(/%([a-z%])/gi,(n,r)=>{if(n===`%%`)return`%`;a++;let i=t.formatters[r];if(typeof i==`function`){let t=e[a];n=i.call(o,t),e.splice(a,1),a--}return n}),t.formatArgs.call(o,i,e),o.log(...e)};return o.extend=function(e,t=`:`){return cr(this.namespace+t+e,{useColors:this.useColors,color:this.color,formatArgs:this.formatArgs,formatters:this.formatters,inspectOpts:this.inspectOpts,log:this.log,humanize:this.humanize})},Object.assign(o,t),o.namespace=e,Object.defineProperty(o,"enabled",{enumerable:!0,configurable:!1,get:()=>r??(i!==sr&&(i=sr,a=fr(e)),a),set:e=>{r=e}}),o}var lr=[],ur=[];function dr(e){sr=e,lr=[],ur=[];let t=sr.trim().replace(/\s+/g,`,`).split(`,`).filter(Boolean);for(let e of t)e[0]===`-`?ur.push(e.slice(1)):lr.push(e)}function fr(e){for(let t of ur)if(ar(e,t))return!1;for(let t of lr)if(ar(e,t))return!0;return!1}var pr=`#0000CC.#0000FF.#0033CC.#0033FF.#0066CC.#0066FF.#0099CC.#0099FF.#00CC00.#00CC33.#00CC66.#00CC99.#00CCCC.#00CCFF.#3300CC.#3300FF.#3333CC.#3333FF.#3366CC.#3366FF.#3399CC.#3399FF.#33CC00.#33CC33.#33CC66.#33CC99.#33CCCC.#33CCFF.#6600CC.#6600FF.#6633CC.#6633FF.#66CC00.#66CC33.#9900CC.#9900FF.#9933CC.#9933FF.#99CC00.#99CC33.#CC0000.#CC0033.#CC0066.#CC0099.#CC00CC.#CC00FF.#CC3300.#CC3333.#CC3366.#CC3399.#CC33CC.#CC33FF.#CC6600.#CC6633.#CC9900.#CC9933.#CCCC00.#CCCC33.#FF0000.#FF0033.#FF0066.#FF0099.#FF00CC.#FF00FF.#FF3300.#FF3333.#FF3366.#FF3399.#FF33CC.#FF33FF.#FF6600.#FF6633.#FF9900.#FF9933.#FFCC00.#FFCC33`.split(`.`);function mr(e,t){let{useColors:n}=this;if(t[0]=`${(n?`%c`:``)+this.namespace+(n?` %c`:` `)+t[0]+(n?`%c `:` `)}+${this.humanize(e)}`,!n)return;let r=`color: ${this.color}`;t.splice(1,0,r,`color: inherit`);let i=0,a=0;t[0].replace(/%[a-z%]/gi,e=>{e!==`%%`&&(i++,e===`%c`&&(a=i))}),t.splice(a,0,r)}var hr=console.debug||console.log||(()=>{}),gr=yr(),_r={useColors:!0,formatArgs:mr,formatters:{j(e){try{return JSON.stringify(e)}catch(e){return`[UnexpectedJSONParseError]: ${e.message}`}}},inspectOpts:{},humanize:or,log:hr};function vr(e,t){let n=(t&&t.color)??ir(pr,e);return cr(e,Object.assign(_r,{color:n},t))}function yr(){try{return localStorage}catch{}}function br(){let e;try{e=gr.getItem(`debug`)||gr.getItem(`DEBUG`)}catch{}return!e&&typeof process<`u`&&`env`in process&&(e=process.env.DEBUG),e||``}dr(br());var xr=/\r\n|[\n\r\u2028\u2029]/;function Sr(e,t,n,r){let i={column:null,line:-1,...e.start},a={...i,...e.end},{linesAbove:o=2,linesBelow:s=3}=n||{},c=i.line-r,l=i.column,u=a.line-r,d=a.column,f=Math.max(c-(o+1),0),p=Math.min(t.length,u+s);c===-1&&(f=0),u===-1&&(p=t.length);let m=u-c,h={};if(m)for(let e=0;e<=m;e++){let n=e+c;h[n]=l==null?!0:e===0?[l,t[n-1].length-l]:e===m?[0,d]:[0,t[n-1].length]}else if(l===d)h[c]=l==null||[l,0];else{let e=l??0;h[c]=[e,(d??e)-e]}return{start:f,end:p,markerLines:h}}function Cr(e,t,n={},r){let{defs:i,highlight:a}=r||{defs:{gutter:String,marker:String,message:String,reset:String},highlight:String},o=(n.startLine||1)-1,{start:s,end:c,markerLines:l}=Sr(t,e.split(xr),n,o),u=t.start&&typeof t.start.column==`number`,d=String(c+o).length,f=a(e).split(xr,c).slice(s,c).map((e,t)=>{let r=s+1+t,a=` ${` ${r+o}`.slice(-d)} |`,c=l[r],u=!l[r+1];if(c){let t=``;if(Array.isArray(c)){let r=e.slice(0,c[0]).replace(/[^\t]/g,` `),o=c[1]||1;t=[`
7
+ `,i.gutter(a.replace(/\d/g,` `)),` `,r,i.marker(`^`).repeat(o)].join(``),u&&n.message&&(t+=` `+i.message(n.message))}return[i.marker(`>`),i.gutter(a),e.length>0?` ${e}`:``,t].join(``)}return` ${i.gutter(a)}${e.length>0?` ${e}`:``}`}).join(`
8
+ `);return n.message&&!u&&(f=`${` `.repeat(d+1)}${n.message}\n${f}`),i.reset(f)}function wr(e,t,n={}){return Cr(e,t,n)}var Tr=`ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-࢏ࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚ౜ౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ೜-ೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲊᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-Ƛ꟱-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ`,Er=`·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࢗ-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-᫝᫠-᫫ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‌‍‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・`,Dr=RegExp(`[`+Tr+`]`),Or=RegExp(`[`+Tr+Er+`]`),kr=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,7,25,39,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,5,57,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,24,43,261,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,33,24,3,24,45,74,6,0,67,12,65,1,2,0,15,4,10,7381,42,31,98,114,8702,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,208,30,2,2,2,1,2,6,3,4,10,1,225,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4381,3,5773,3,7472,16,621,2467,541,1507,4938,6,8489],Ar=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,78,5,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,199,7,137,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,55,9,266,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,233,0,3,0,8,1,6,0,475,6,110,6,6,9,4759,9,787719,239];function jr(e,t){let n=65536;for(let r=0,i=t.length;r<i;r+=2){if(n+=t[r],n>e)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function Mr(e){return e<65?e===36:e<=90?!0:e<97?e===95:e<=122?!0:e<=65535?e>=170&&Dr.test(String.fromCharCode(e)):jr(e,kr)}function Nr(e){return e<48?e===36:e<58?!0:e<65?!1:e<=90?!0:e<97?e===95:e<=122?!0:e<=65535?e>=170&&Or.test(String.fromCharCode(e)):jr(e,kr)||jr(e,Ar)}function Pr(e){let t=!0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if((r&64512)==55296&&n+1<e.length){let t=e.charCodeAt(++n);(t&64512)==56320&&(r=65536+((r&1023)<<10)+(t&1023))}if(t){if(t=!1,!Mr(r))return!1}else if(!Nr(r))return!1}return!t}var Fr={keyword:`break.case.catch.continue.debugger.default.do.else.finally.for.function.if.return.switch.throw.try.var.const.while.with.new.this.super.class.extends.export.import.null.true.false.in.instanceof.typeof.void.delete`.split(`.`),strict:[`implements`,`interface`,`let`,`package`,`private`,`protected`,`public`,`static`,`yield`],strictBind:[`eval`,`arguments`]},Ir=new Set(Fr.keyword),Lr=new Set(Fr.strict);new Set(Fr.strictBind);function Rr(e,t){return t&&e===`await`||e===`enum`}function zr(e,t){return Rr(e,t)||Lr.has(e)}function Br(e){return Ir.has(e)}var Vr=function(e){return e>=48&&e<=57},Hr={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},Ur={bin:e=>e===48||e===49,oct:e=>e>=48&&e<=55,dec:e=>e>=48&&e<=57,hex:e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};function Wr(e,t,n,r,i,a){let o=n,s=r,c=i,l=``,u=null,d=n,{length:f}=t;for(;;){if(n>=f){a.unterminated(o,s,c),l+=t.slice(d,n);break}let p=t.charCodeAt(n);if(Gr(e,p,t,n)){l+=t.slice(d,n);break}if(p===92){l+=t.slice(d,n);let o=Kr(t,n,r,i,e===`template`,a);o.ch===null&&!u?u={pos:n,lineStart:r,curLine:i}:l+=o.ch,{pos:n,lineStart:r,curLine:i}=o,d=n}else p===8232||p===8233?(++n,++i,r=n):p===10||p===13?e===`template`?(l+=t.slice(d,n)+`
9
+ `,++n,p===13&&t.charCodeAt(n)===10&&++n,++i,d=r=n):a.unterminated(o,s,c):++n}return{pos:n,str:l,firstInvalidLoc:u,lineStart:r,curLine:i}}function Gr(e,t,n,r){return e===`template`?t===96||t===36&&n.charCodeAt(r+1)===123:t===(e===`double`?34:39)}function Kr(e,t,n,r,i,a){let o=!i;t++;let s=e=>({pos:t,ch:e,lineStart:n,curLine:r}),c=e.charCodeAt(t++);switch(c){case 110:return s(`
10
+ `);case 114:return s(`\r`);case 120:{let i;return{code:i,pos:t}=qr(e,t,n,r,2,!1,o,a),s(i===null?null:String.fromCharCode(i))}case 117:{let i;return{code:i,pos:t}=Yr(e,t,n,r,o,a),s(i===null?null:String.fromCodePoint(i))}case 116:return s(` `);case 98:return s(`\b`);case 118:return s(`\v`);case 102:return s(`\f`);case 13:e.charCodeAt(t)===10&&++t;case 10:n=t,++r;case 8232:case 8233:return s(``);case 56:case 57:if(i)return s(null);a.strictNumericEscape(t-1,n,r);default:if(c>=48&&c<=55){let o=t-1,c=/^[0-7]+/.exec(e.slice(o,t+2))[0],l=parseInt(c,8);l>255&&(c=c.slice(0,-1),l=parseInt(c,8)),t+=c.length-1;let u=e.charCodeAt(t);if(c!==`0`||u===56||u===57){if(i)return s(null);a.strictNumericEscape(o,n,r)}return s(String.fromCharCode(l))}return s(String.fromCharCode(c))}}function qr(e,t,n,r,i,a,o,s){let c=t,l;return{n:l,pos:t}=Jr(e,t,n,r,16,i,a,!1,s,!o),l===null&&(o?s.invalidEscapeSequence(c,n,r):t=c-1),{code:l,pos:t}}function Jr(e,t,n,r,i,a,o,s,c,l){let u=t,d=i===16?Hr.hex:Hr.decBinOct,f=i===16?Ur.hex:i===10?Ur.dec:i===8?Ur.oct:Ur.bin,p=!1,m=0;for(let u=0,h=a??1/0;u<h;++u){let a=e.charCodeAt(t),u;if(a===95&&s!==`bail`){let i=e.charCodeAt(t-1),a=e.charCodeAt(t+1);if(!s){if(l)return{n:null,pos:t};c.numericSeparatorInEscapeSequence(t,n,r)}else if(Number.isNaN(a)||!f(a)||d.has(i)||d.has(a)){if(l)return{n:null,pos:t};c.unexpectedNumericSeparator(t,n,r)}++t;continue}if(u=a>=97?a-97+10:a>=65?a-65+10:Vr(a)?a-48:1/0,u>=i){if(u<=9&&l)return{n:null,pos:t};if(u<=9&&c.invalidDigit(t,n,r,i))u=0;else if(o)u=0,p=!0;else break}++t,m=m*i+u}return t===u||a!=null&&t-u!==a||p?{n:null,pos:t}:{n:m,pos:t}}function Yr(e,t,n,r,i,a){let o=e.charCodeAt(t),s;if(o===123){if(++t,{code:s,pos:t}=qr(e,t,n,r,e.indexOf(`}`,t)-t,!0,i,a),++t,s!==null&&s>1114111){if(i)a.invalidCodePoint(t,n,r);else return{code:null,pos:t}}}else({code:s,pos:t}=qr(e,t,n,r,4,!1,i,a));return{code:s,pos:t}}var O=s({ACCESSOR_TYPES:()=>gD,ALIAS_KEYS:()=>iu,ASSIGNMENT_OPERATORS:()=>Zl,AnyTypeAnnotation:()=>v_,ArgumentPlaceholder:()=>qv,ArrayExpression:()=>Rh,ArrayPattern:()=>Ig,ArrayTypeAnnotation:()=>y_,ArrowFunctionExpression:()=>Lg,AssignmentExpression:()=>zh,AssignmentPattern:()=>Fg,AwaitExpression:()=>a_,BINARY_OPERATORS:()=>Xl,BINARY_TYPES:()=>DE,BLOCKPARENT_TYPES:()=>kE,BLOCK_TYPES:()=>AE,BOOLEAN_BINARY_OPERATORS:()=>Jl,BOOLEAN_NUMBER_BINARY_OPERATORS:()=>Gl,BOOLEAN_UNARY_OPERATORS:()=>Ql,BUILDER_KEYS:()=>ou,BigIntLiteral:()=>c_,BigIntLiteralTypeAnnotation:()=>J_,BinaryExpression:()=>Bh,BindExpression:()=>Jv,BlockStatement:()=>Wh,BooleanLiteral:()=>dg,BooleanLiteralTypeAnnotation:()=>x_,BooleanTypeAnnotation:()=>b_,BreakStatement:()=>Gh,CLASS_TYPES:()=>nD,COMMENT_KEYS:()=>Hl,COMPARISON_BINARY_OPERATORS:()=>ql,COMPLETIONSTATEMENT_TYPES:()=>NE,CONDITIONAL_TYPES:()=>PE,CallExpression:()=>Kh,CatchClause:()=>qh,ClassAccessorProperty:()=>Yv,ClassBody:()=>Rg,ClassDeclaration:()=>Bg,ClassExpression:()=>zg,ClassImplements:()=>C_,ClassMethod:()=>Zg,ClassPrivateMethod:()=>m_,ClassPrivateProperty:()=>p_,ClassProperty:()=>f_,ConditionalExpression:()=>Jh,ContinueStatement:()=>Yh,DECLARATION_TYPES:()=>UE,DEPRECATED_ALIASES:()=>Ju,DEPRECATED_KEYS:()=>su,DebuggerStatement:()=>Xh,DeclareClass:()=>w_,DeclareExportAllDeclaration:()=>N_,DeclareExportDeclaration:()=>M_,DeclareFunction:()=>T_,DeclareInterface:()=>E_,DeclareModule:()=>D_,DeclareModuleExports:()=>O_,DeclareOpaqueType:()=>A_,DeclareTypeAlias:()=>k_,DeclareVariable:()=>j_,DeclaredPredicate:()=>P_,Decorator:()=>Xv,Directive:()=>Hh,DirectiveLiteral:()=>Uh,DoExpression:()=>Zv,DoWhileStatement:()=>Zh,ENUMBODY_TYPES:()=>fD,ENUMMEMBER_TYPES:()=>pD,EQUALITY_BINARY_OPERATORS:()=>Kl,EXPORTDECLARATION_TYPES:()=>iD,EXPRESSIONWRAPPER_TYPES:()=>LE,EXPRESSION_TYPES:()=>EE,EmptyStatement:()=>Qh,EmptyTypeAnnotation:()=>G_,EnumBooleanBody:()=>bv,EnumBooleanMember:()=>wv,EnumDeclaration:()=>yv,EnumDefaultedMember:()=>Dv,EnumNumberBody:()=>xv,EnumNumberMember:()=>Tv,EnumStringBody:()=>Sv,EnumStringMember:()=>Ev,EnumSymbolBody:()=>Cv,ExistsTypeAnnotation:()=>F_,ExportAllDeclaration:()=>Vg,ExportDefaultDeclaration:()=>Hg,ExportDefaultSpecifier:()=>Qv,ExportNamedDeclaration:()=>Ug,ExportNamespaceSpecifier:()=>l_,ExportSpecifier:()=>Wg,ExpressionStatement:()=>$h,FLATTENABLE_KEYS:()=>Bl,FLIPPED_ALIAS_KEYS:()=>M,FLOWBASEANNOTATION_TYPES:()=>lD,FLOWDECLARATION_TYPES:()=>uD,FLOWPREDICATE_TYPES:()=>dD,FLOWTYPE_TYPES:()=>cD,FLOW_TYPES:()=>sD,FORXSTATEMENT_TYPES:()=>zE,FOR_INIT_KEYS:()=>Vl,FOR_TYPES:()=>RE,FUNCTIONPARAMETER_TYPES:()=>WE,FUNCTIONPARENT_TYPES:()=>VE,FUNCTION_TYPES:()=>BE,File:()=>eg,ForInStatement:()=>tg,ForOfStatement:()=>Gg,ForStatement:()=>ng,FunctionDeclaration:()=>rg,FunctionExpression:()=>ig,FunctionTypeAnnotation:()=>I_,FunctionTypeParam:()=>L_,GenericTypeAnnotation:()=>R_,IMMUTABLE_TYPES:()=>YE,IMPORTOREXPORTDECLARATION_TYPES:()=>rD,INHERIT_KEYS:()=>nu,Identifier:()=>ag,IfStatement:()=>og,Import:()=>s_,ImportAttribute:()=>__,ImportDeclaration:()=>Kg,ImportDefaultSpecifier:()=>qg,ImportExpression:()=>o_,ImportNamespaceSpecifier:()=>Jg,ImportSpecifier:()=>Yg,IndexedAccessType:()=>Ov,InferredPredicate:()=>z_,InterfaceDeclaration:()=>V_,InterfaceExtends:()=>B_,InterfaceTypeAnnotation:()=>H_,InterpreterDirective:()=>Vh,IntersectionTypeAnnotation:()=>U_,JSXAttribute:()=>Av,JSXClosingElement:()=>jv,JSXClosingFragment:()=>Wv,JSXElement:()=>Mv,JSXEmptyExpression:()=>Nv,JSXExpressionContainer:()=>Pv,JSXFragment:()=>Hv,JSXIdentifier:()=>Iv,JSXMemberExpression:()=>Lv,JSXNamespacedName:()=>Rv,JSXOpeningElement:()=>zv,JSXOpeningFragment:()=>Uv,JSXSpreadAttribute:()=>Bv,JSXSpreadChild:()=>Fv,JSXText:()=>Vv,JSX_TYPES:()=>mD,LITERAL_TYPES:()=>JE,LOGICAL_OPERATORS:()=>Ul,LOOP_TYPES:()=>FE,LVAL_TYPES:()=>KE,LabeledStatement:()=>sg,LogicalExpression:()=>pg,METHOD_TYPES:()=>ZE,MISCELLANEOUS_TYPES:()=>hD,MODULEDECLARATION_TYPES:()=>xD,MODULESPECIFIER_TYPES:()=>aD,MemberExpression:()=>mg,MetaProperty:()=>Xg,MixedTypeAnnotation:()=>W_,ModuleExpression:()=>$v,NODE_FIELDS:()=>au,NODE_PARENT_VALIDATIONS:()=>cu,NODE_UNION_SHAPES__PRIVATE:()=>lu,NUMBER_BINARY_OPERATORS:()=>Yl,NUMBER_UNARY_OPERATORS:()=>$l,NewExpression:()=>hg,NullLiteral:()=>ug,NullLiteralTypeAnnotation:()=>S_,NullableTypeAnnotation:()=>K_,NumberLiteralTypeAnnotation:()=>q_,NumberTypeAnnotation:()=>Y_,NumericLiteral:()=>lg,OBJECTMEMBER_TYPES:()=>QE,ObjectExpression:()=>_g,ObjectMethod:()=>vg,ObjectPattern:()=>Qg,ObjectProperty:()=>yg,ObjectTypeAnnotation:()=>X_,ObjectTypeCallProperty:()=>Q_,ObjectTypeIndexer:()=>$_,ObjectTypeInternalSlot:()=>Z_,ObjectTypeProperty:()=>ev,ObjectTypeSpreadProperty:()=>tv,OpaqueType:()=>nv,OptionalCallExpression:()=>d_,OptionalIndexedAccessType:()=>kv,OptionalMemberExpression:()=>u_,PATTERNLIKE_TYPES:()=>GE,PATTERN_TYPES:()=>tD,PLACEHOLDERS:()=>Iu,PLACEHOLDERS_ALIAS:()=>Lu,PLACEHOLDERS_FLIPPED_ALIAS:()=>Ru,PRIVATE_TYPES:()=>oD,PROPERTY_TYPES:()=>$E,PUREISH_TYPES:()=>HE,ParenthesizedExpression:()=>Cg,Placeholder:()=>Gv,PrivateName:()=>h_,Program:()=>gg,QualifiedTypeIdentifier:()=>rv,RegExpLiteral:()=>fg,RestElement:()=>bg,ReturnStatement:()=>xg,SCOPABLE_TYPES:()=>OE,STANDARDIZED_TYPES:()=>TE,STATEMENT_OR_BLOCK_KEYS:()=>zl,STATEMENT_TYPES:()=>jE,STRING_UNARY_OPERATORS:()=>eu,SequenceExpression:()=>Sg,SpreadElement:()=>$g,StaticBlock:()=>g_,StringLiteral:()=>cg,StringLiteralTypeAnnotation:()=>iv,StringTypeAnnotation:()=>av,Super:()=>e_,SwitchCase:()=>wg,SwitchStatement:()=>Tg,SymbolTypeAnnotation:()=>ov,TERMINATORLESS_TYPES:()=>ME,TSAnyKeyword:()=>dy,TSArrayType:()=>jy,TSAsExpression:()=>Qy,TSBASETYPE_TYPES:()=>bD,TSBigIntKeyword:()=>py,TSBooleanKeyword:()=>fy,TSCallSignatureDeclaration:()=>oy,TSClassImplements:()=>Ky,TSConditionalType:()=>Ry,TSConstructSignatureDeclaration:()=>sy,TSConstructorType:()=>Ey,TSDeclareFunction:()=>ry,TSDeclareMethod:()=>iy,TSENTITYNAME_TYPES:()=>qE,TSEnumBody:()=>tb,TSEnumDeclaration:()=>nb,TSEnumMember:()=>rb,TSExportAssignment:()=>ub,TSExternalModuleReference:()=>cb,TSFunctionType:()=>Ty,TSImportEqualsDeclaration:()=>sb,TSImportType:()=>ob,TSIndexSignature:()=>uy,TSIndexedAccessType:()=>Hy,TSInferType:()=>zy,TSInstantiationExpression:()=>Zy,TSInterfaceBody:()=>Yy,TSInterfaceDeclaration:()=>Jy,TSInterfaceHeritage:()=>qy,TSIntersectionType:()=>Ly,TSIntrinsicKeyword:()=>my,TSLiteralType:()=>Gy,TSMappedType:()=>Uy,TSMethodSignature:()=>ly,TSModuleBlock:()=>ab,TSModuleDeclaration:()=>ib,TSNamedTupleMember:()=>Fy,TSNamespaceExportDeclaration:()=>db,TSNeverKeyword:()=>hy,TSNonNullExpression:()=>lb,TSNullKeyword:()=>gy,TSNumberKeyword:()=>_y,TSObjectKeyword:()=>vy,TSOptionalType:()=>Ny,TSParameterProperty:()=>ny,TSParenthesizedType:()=>By,TSPropertySignature:()=>cy,TSQualifiedName:()=>ay,TSRestType:()=>Py,TSSatisfiesExpression:()=>$y,TSStringKeyword:()=>yy,TSSymbolKeyword:()=>by,TSTYPEELEMENT_TYPES:()=>vD,TSTYPE_TYPES:()=>yD,TSTemplateLiteralType:()=>Wy,TSThisType:()=>wy,TSTupleType:()=>My,TSTypeAliasDeclaration:()=>Xy,TSTypeAnnotation:()=>fb,TSTypeAssertion:()=>eb,TSTypeLiteral:()=>Ay,TSTypeOperator:()=>Vy,TSTypeParameter:()=>hb,TSTypeParameterDeclaration:()=>mb,TSTypeParameterInstantiation:()=>pb,TSTypePredicate:()=>Oy,TSTypeQuery:()=>ky,TSTypeReference:()=>Dy,TSUndefinedKeyword:()=>xy,TSUnionType:()=>Iy,TSUnknownKeyword:()=>Sy,TSVoidKeyword:()=>Cy,TYPES:()=>Yu,TYPESCRIPT_TYPES:()=>_D,TaggedTemplateExpression:()=>t_,TemplateElement:()=>n_,TemplateLiteral:()=>r_,ThisExpression:()=>Eg,ThisTypeAnnotation:()=>sv,ThrowStatement:()=>Dg,TopicReference:()=>ey,TryStatement:()=>Og,TupleTypeAnnotation:()=>cv,TypeAlias:()=>uv,TypeAnnotation:()=>dv,TypeCastExpression:()=>fv,TypeParameter:()=>pv,TypeParameterDeclaration:()=>mv,TypeParameterInstantiation:()=>hv,TypeofTypeAnnotation:()=>lv,UNARYLIKE_TYPES:()=>eD,UNARY_OPERATORS:()=>tu,UPDATE_OPERATORS:()=>Wl,USERWHITESPACABLE_TYPES:()=>XE,UnaryExpression:()=>kg,UnionTypeAnnotation:()=>gv,UpdateExpression:()=>Ag,V8IntrinsicIdentifier:()=>Kv,VISITOR_KEYS:()=>ru,VariableDeclaration:()=>jg,VariableDeclarator:()=>Mg,Variance:()=>_v,VoidPattern:()=>ty,VoidTypeAnnotation:()=>vv,WHILE_TYPES:()=>IE,WhileStatement:()=>Ng,WithStatement:()=>Pg,YieldExpression:()=>i_,__internal__deprecationWarning:()=>A,addComment:()=>vE,addComments:()=>_E,anyTypeAnnotation:()=>Ff,appendToMemberExpression:()=>VD,argumentPlaceholder:()=>um,arrayExpression:()=>ed,arrayPattern:()=>Qd,arrayTypeAnnotation:()=>If,arrowFunctionExpression:()=>$d,assertAccessor:()=>UT,assertAnyTypeAnnotation:()=>eS,assertArgumentPlaceholder:()=>kC,assertArrayExpression:()=>bb,assertArrayPattern:()=>vx,assertArrayTypeAnnotation:()=>tS,assertArrowFunctionExpression:()=>yx,assertAssignmentExpression:()=>xb,assertAssignmentPattern:()=>_x,assertAwaitExpression:()=>Vx,assertBigIntLiteral:()=>Wx,assertBigIntLiteralTypeAnnotation:()=>AS,assertBinary:()=>eT,assertBinaryExpression:()=>Sb,assertBindExpression:()=>AC,assertBlock:()=>rT,assertBlockParent:()=>nT,assertBlockStatement:()=>Eb,assertBooleanLiteral:()=>qb,assertBooleanLiteralTypeAnnotation:()=>rS,assertBooleanTypeAnnotation:()=>nS,assertBreakStatement:()=>Db,assertCallExpression:()=>Ob,assertCatchClause:()=>kb,assertClass:()=>kT,assertClassAccessorProperty:()=>jC,assertClassBody:()=>bx,assertClassDeclaration:()=>Sx,assertClassExpression:()=>xx,assertClassImplements:()=>aS,assertClassMethod:()=>Nx,assertClassPrivateMethod:()=>Xx,assertClassPrivateProperty:()=>Yx,assertClassProperty:()=>Jx,assertCompletionStatement:()=>oT,assertConditional:()=>sT,assertConditionalExpression:()=>Ab,assertContinueStatement:()=>jb,assertDebuggerStatement:()=>Mb,assertDeclaration:()=>gT,assertDeclareClass:()=>oS,assertDeclareExportAllDeclaration:()=>hS,assertDeclareExportDeclaration:()=>mS,assertDeclareFunction:()=>sS,assertDeclareInterface:()=>cS,assertDeclareModule:()=>lS,assertDeclareModuleExports:()=>uS,assertDeclareOpaqueType:()=>fS,assertDeclareTypeAlias:()=>dS,assertDeclareVariable:()=>pS,assertDeclaredPredicate:()=>gS,assertDecorator:()=>MC,assertDirective:()=>wb,assertDirectiveLiteral:()=>Tb,assertDoExpression:()=>NC,assertDoWhileStatement:()=>Nb,assertEmptyStatement:()=>Pb,assertEmptyTypeAnnotation:()=>DS,assertEnumBody:()=>zT,assertEnumBooleanBody:()=>nC,assertEnumBooleanMember:()=>oC,assertEnumDeclaration:()=>tC,assertEnumDefaultedMember:()=>lC,assertEnumMember:()=>BT,assertEnumNumberBody:()=>rC,assertEnumNumberMember:()=>sC,assertEnumStringBody:()=>iC,assertEnumStringMember:()=>cC,assertEnumSymbolBody:()=>aC,assertExistsTypeAnnotation:()=>_S,assertExportAllDeclaration:()=>Cx,assertExportDeclaration:()=>jT,assertExportDefaultDeclaration:()=>wx,assertExportDefaultSpecifier:()=>PC,assertExportNamedDeclaration:()=>Tx,assertExportNamespaceSpecifier:()=>Gx,assertExportSpecifier:()=>Ex,assertExpression:()=>$w,assertExpressionStatement:()=>Fb,assertExpressionWrapper:()=>uT,assertFile:()=>Ib,assertFlow:()=>PT,assertFlowBaseAnnotation:()=>IT,assertFlowDeclaration:()=>LT,assertFlowPredicate:()=>RT,assertFlowType:()=>FT,assertFor:()=>dT,assertForInStatement:()=>Lb,assertForOfStatement:()=>Dx,assertForStatement:()=>Rb,assertForXStatement:()=>fT,assertFunction:()=>pT,assertFunctionDeclaration:()=>zb,assertFunctionExpression:()=>Bb,assertFunctionParameter:()=>_T,assertFunctionParent:()=>mT,assertFunctionTypeAnnotation:()=>vS,assertFunctionTypeParam:()=>yS,assertGenericTypeAnnotation:()=>bS,assertIdentifier:()=>Vb,assertIfStatement:()=>Hb,assertImmutable:()=>ST,assertImport:()=>Ux,assertImportAttribute:()=>$x,assertImportDeclaration:()=>Ox,assertImportDefaultSpecifier:()=>kx,assertImportExpression:()=>Hx,assertImportNamespaceSpecifier:()=>Ax,assertImportOrExportDeclaration:()=>AT,assertImportSpecifier:()=>jx,assertIndexedAccessType:()=>uC,assertInferredPredicate:()=>xS,assertInterfaceDeclaration:()=>CS,assertInterfaceExtends:()=>SS,assertInterfaceTypeAnnotation:()=>wS,assertInterpreterDirective:()=>Cb,assertIntersectionTypeAnnotation:()=>TS,assertJSX:()=>VT,assertJSXAttribute:()=>fC,assertJSXClosingElement:()=>pC,assertJSXClosingFragment:()=>EC,assertJSXElement:()=>mC,assertJSXEmptyExpression:()=>hC,assertJSXExpressionContainer:()=>gC,assertJSXFragment:()=>wC,assertJSXIdentifier:()=>vC,assertJSXMemberExpression:()=>yC,assertJSXNamespacedName:()=>bC,assertJSXOpeningElement:()=>xC,assertJSXOpeningFragment:()=>TC,assertJSXSpreadAttribute:()=>SC,assertJSXSpreadChild:()=>_C,assertJSXText:()=>CC,assertLVal:()=>yT,assertLabeledStatement:()=>Ub,assertLiteral:()=>xT,assertLogicalExpression:()=>Yb,assertLoop:()=>cT,assertMemberExpression:()=>Xb,assertMetaProperty:()=>Mx,assertMethod:()=>wT,assertMiscellaneous:()=>HT,assertMixedTypeAnnotation:()=>ES,assertModuleDeclaration:()=>QT,assertModuleExpression:()=>FC,assertModuleSpecifier:()=>MT,assertNewExpression:()=>Zb,assertNode:()=>yb,assertNullLiteral:()=>Kb,assertNullLiteralTypeAnnotation:()=>iS,assertNullableTypeAnnotation:()=>OS,assertNumberLiteral:()=>JT,assertNumberLiteralTypeAnnotation:()=>kS,assertNumberTypeAnnotation:()=>jS,assertNumericLiteral:()=>Gb,assertObjectExpression:()=>$b,assertObjectMember:()=>TT,assertObjectMethod:()=>ex,assertObjectPattern:()=>Px,assertObjectProperty:()=>tx,assertObjectTypeAnnotation:()=>MS,assertObjectTypeCallProperty:()=>PS,assertObjectTypeIndexer:()=>FS,assertObjectTypeInternalSlot:()=>NS,assertObjectTypeProperty:()=>IS,assertObjectTypeSpreadProperty:()=>LS,assertOpaqueType:()=>RS,assertOptionalCallExpression:()=>qx,assertOptionalIndexedAccessType:()=>dC,assertOptionalMemberExpression:()=>Kx,assertParenthesizedExpression:()=>ax,assertPattern:()=>OT,assertPatternLike:()=>vT,assertPlaceholder:()=>DC,assertPrivate:()=>NT,assertPrivateName:()=>Zx,assertProgram:()=>Qb,assertProperty:()=>ET,assertPureish:()=>hT,assertQualifiedTypeIdentifier:()=>zS,assertRegExpLiteral:()=>Jb,assertRegexLiteral:()=>YT,assertRestElement:()=>nx,assertRestProperty:()=>XT,assertReturnStatement:()=>rx,assertScopable:()=>tT,assertSequenceExpression:()=>ix,assertSpreadElement:()=>Fx,assertSpreadProperty:()=>ZT,assertStandardized:()=>Qw,assertStatement:()=>iT,assertStaticBlock:()=>Qx,assertStringLiteral:()=>Wb,assertStringLiteralTypeAnnotation:()=>BS,assertStringTypeAnnotation:()=>VS,assertSuper:()=>Ix,assertSwitchCase:()=>ox,assertSwitchStatement:()=>sx,assertSymbolTypeAnnotation:()=>HS,assertTSAnyKeyword:()=>qC,assertTSArrayType:()=>pw,assertTSAsExpression:()=>Pw,assertTSBaseType:()=>qT,assertTSBigIntKeyword:()=>YC,assertTSBooleanKeyword:()=>JC,assertTSCallSignatureDeclaration:()=>HC,assertTSClassImplements:()=>Ow,assertTSConditionalType:()=>bw,assertTSConstructSignatureDeclaration:()=>UC,assertTSConstructorType:()=>cw,assertTSDeclareFunction:()=>zC,assertTSDeclareMethod:()=>BC,assertTSEntityName:()=>bT,assertTSEnumBody:()=>Lw,assertTSEnumDeclaration:()=>Rw,assertTSEnumMember:()=>zw,assertTSExportAssignment:()=>Kw,assertTSExternalModuleReference:()=>Ww,assertTSFunctionType:()=>sw,assertTSImportEqualsDeclaration:()=>Uw,assertTSImportType:()=>Hw,assertTSIndexSignature:()=>KC,assertTSIndexedAccessType:()=>ww,assertTSInferType:()=>xw,assertTSInstantiationExpression:()=>Nw,assertTSInterfaceBody:()=>jw,assertTSInterfaceDeclaration:()=>Aw,assertTSInterfaceHeritage:()=>kw,assertTSIntersectionType:()=>yw,assertTSIntrinsicKeyword:()=>XC,assertTSLiteralType:()=>Dw,assertTSMappedType:()=>Tw,assertTSMethodSignature:()=>GC,assertTSModuleBlock:()=>Vw,assertTSModuleDeclaration:()=>Bw,assertTSNamedTupleMember:()=>_w,assertTSNamespaceExportDeclaration:()=>qw,assertTSNeverKeyword:()=>ZC,assertTSNonNullExpression:()=>Gw,assertTSNullKeyword:()=>QC,assertTSNumberKeyword:()=>$C,assertTSObjectKeyword:()=>ew,assertTSOptionalType:()=>hw,assertTSParameterProperty:()=>RC,assertTSParenthesizedType:()=>Sw,assertTSPropertySignature:()=>WC,assertTSQualifiedName:()=>VC,assertTSRestType:()=>gw,assertTSSatisfiesExpression:()=>Fw,assertTSStringKeyword:()=>tw,assertTSSymbolKeyword:()=>nw,assertTSTemplateLiteralType:()=>Ew,assertTSThisType:()=>ow,assertTSTupleType:()=>mw,assertTSType:()=>KT,assertTSTypeAliasDeclaration:()=>Mw,assertTSTypeAnnotation:()=>Jw,assertTSTypeAssertion:()=>Iw,assertTSTypeElement:()=>GT,assertTSTypeLiteral:()=>fw,assertTSTypeOperator:()=>Cw,assertTSTypeParameter:()=>Zw,assertTSTypeParameterDeclaration:()=>Xw,assertTSTypeParameterInstantiation:()=>Yw,assertTSTypePredicate:()=>uw,assertTSTypeQuery:()=>dw,assertTSTypeReference:()=>lw,assertTSUndefinedKeyword:()=>rw,assertTSUnionType:()=>vw,assertTSUnknownKeyword:()=>iw,assertTSVoidKeyword:()=>aw,assertTaggedTemplateExpression:()=>Lx,assertTemplateElement:()=>Rx,assertTemplateLiteral:()=>zx,assertTerminatorless:()=>aT,assertThisExpression:()=>cx,assertThisTypeAnnotation:()=>US,assertThrowStatement:()=>lx,assertTopicReference:()=>IC,assertTryStatement:()=>ux,assertTupleTypeAnnotation:()=>WS,assertTypeAlias:()=>KS,assertTypeAnnotation:()=>qS,assertTypeCastExpression:()=>JS,assertTypeParameter:()=>YS,assertTypeParameterDeclaration:()=>XS,assertTypeParameterInstantiation:()=>ZS,assertTypeScript:()=>WT,assertTypeofTypeAnnotation:()=>GS,assertUnaryExpression:()=>dx,assertUnaryLike:()=>DT,assertUnionTypeAnnotation:()=>QS,assertUpdateExpression:()=>fx,assertUserWhitespacable:()=>CT,assertV8IntrinsicIdentifier:()=>OC,assertVariableDeclaration:()=>px,assertVariableDeclarator:()=>mx,assertVariance:()=>$S,assertVoidPattern:()=>LC,assertVoidTypeAnnotation:()=>eC,assertWhile:()=>lT,assertWhileStatement:()=>hx,assertWithStatement:()=>gx,assertYieldExpression:()=>Bx,assignmentExpression:()=>td,assignmentPattern:()=>Zd,awaitExpression:()=>Sf,bigIntLiteral:()=>Tf,bigIntLiteralTypeAnnotation:()=>dp,binaryExpression:()=>nd,bindExpression:()=>dm,blockStatement:()=>od,booleanLiteral:()=>Dd,booleanLiteralTypeAnnotation:()=>Rf,booleanTypeAnnotation:()=>Lf,breakStatement:()=>sd,buildMatchMemberExpression:()=>Nl,buildUndefinedNode:()=>oE,callExpression:()=>cd,catchClause:()=>ld,classAccessorProperty:()=>fm,classBody:()=>ef,classDeclaration:()=>nf,classExpression:()=>tf,classImplements:()=>Bf,classMethod:()=>mf,classPrivateMethod:()=>jf,classPrivateProperty:()=>Af,classProperty:()=>kf,clone:()=>pE,cloneDeep:()=>mE,cloneDeepWithoutLoc:()=>hE,cloneNode:()=>uE,cloneWithoutLoc:()=>gE,conditionalExpression:()=>ud,continueStatement:()=>dd,createFlowUnionType:()=>nE,createTSUnionType:()=>aE,createTypeAnnotationBasedOnTypeof:()=>$T,createUnionTypeAnnotation:()=>nE,debuggerStatement:()=>fd,declareClass:()=>Vf,declareExportAllDeclaration:()=>Xf,declareExportDeclaration:()=>Yf,declareFunction:()=>Hf,declareInterface:()=>Uf,declareModule:()=>Wf,declareModuleExports:()=>Gf,declareOpaqueType:()=>qf,declareTypeAlias:()=>Kf,declareVariable:()=>Jf,declaredPredicate:()=>Zf,decorator:()=>pm,directive:()=>id,directiveLiteral:()=>ad,doExpression:()=>mm,doWhileStatement:()=>pd,emptyStatement:()=>md,emptyTypeAnnotation:()=>cp,ensureBlock:()=>CD,enumBooleanBody:()=>Lp,enumBooleanMember:()=>Vp,enumDeclaration:()=>Ip,enumDefaultedMember:()=>Wp,enumNumberBody:()=>Rp,enumNumberMember:()=>Hp,enumStringBody:()=>zp,enumStringMember:()=>Up,enumSymbolBody:()=>Bp,existsTypeAnnotation:()=>Qf,exportAllDeclaration:()=>rf,exportDefaultDeclaration:()=>af,exportDefaultSpecifier:()=>hm,exportNamedDeclaration:()=>of,exportNamespaceSpecifier:()=>Ef,exportSpecifier:()=>sf,expressionStatement:()=>hd,file:()=>gd,forInStatement:()=>_d,forOfStatement:()=>cf,forStatement:()=>vd,functionDeclaration:()=>yd,functionExpression:()=>bd,functionTypeAnnotation:()=>$f,functionTypeParam:()=>ep,genericTypeAnnotation:()=>tp,getAssignmentIdentifiers:()=>WD,getBindingIdentifiers:()=>GD,getFunctionName:()=>YD,getOuterBindingIdentifiers:()=>KD,identifier:()=>xd,ifStatement:()=>Sd,import:()=>wf,importAttribute:()=>Pf,importDeclaration:()=>lf,importDefaultSpecifier:()=>uf,importExpression:()=>Cf,importNamespaceSpecifier:()=>df,importSpecifier:()=>ff,indexedAccessType:()=>Gp,inferredPredicate:()=>np,inheritInnerComments:()=>bE,inheritLeadingComments:()=>xE,inheritTrailingComments:()=>SE,inherits:()=>HD,inheritsComments:()=>CE,interfaceDeclaration:()=>ip,interfaceExtends:()=>rp,interfaceTypeAnnotation:()=>ap,interpreterDirective:()=>rd,intersectionTypeAnnotation:()=>op,is:()=>j,isAccessor:()=>xl,isAnyTypeAnnotation:()=>Ma,isArgumentPlaceholder:()=>cs,isArrayExpression:()=>Qr,isArrayPattern:()=>Xi,isArrayTypeAnnotation:()=>Na,isArrowFunctionExpression:()=>Zi,isAssignmentExpression:()=>$r,isAssignmentPattern:()=>Yi,isAwaitExpression:()=>ya,isBigIntLiteral:()=>Sa,isBigIntLiteralTypeAnnotation:()=>co,isBinary:()=>Nc,isBinaryExpression:()=>ei,isBindExpression:()=>ls,isBinding:()=>QD,isBlock:()=>Ic,isBlockParent:()=>Fc,isBlockScoped:()=>eO,isBlockStatement:()=>ii,isBooleanLiteral:()=>Ti,isBooleanLiteralTypeAnnotation:()=>Fa,isBooleanTypeAnnotation:()=>Pa,isBreakStatement:()=>ai,isCallExpression:()=>oi,isCatchClause:()=>si,isClass:()=>sl,isClassAccessorProperty:()=>us,isClassBody:()=>Qi,isClassDeclaration:()=>ea,isClassExpression:()=>$i,isClassImplements:()=>La,isClassMethod:()=>da,isClassPrivateMethod:()=>Oa,isClassPrivateProperty:()=>Da,isClassProperty:()=>Ea,isCompletionStatement:()=>zc,isConditional:()=>Bc,isConditionalExpression:()=>ci,isContinueStatement:()=>li,isDebuggerStatement:()=>ui,isDeclaration:()=>Yc,isDeclareClass:()=>Ra,isDeclareExportAllDeclaration:()=>qa,isDeclareExportDeclaration:()=>Ka,isDeclareFunction:()=>za,isDeclareInterface:()=>Ba,isDeclareModule:()=>Va,isDeclareModuleExports:()=>Ha,isDeclareOpaqueType:()=>Wa,isDeclareTypeAlias:()=>Ua,isDeclareVariable:()=>Ga,isDeclaredPredicate:()=>Ja,isDecorator:()=>ds,isDirective:()=>ni,isDirectiveLiteral:()=>ri,isDoExpression:()=>fs,isDoWhileStatement:()=>di,isEmptyStatement:()=>fi,isEmptyTypeAnnotation:()=>ao,isEnumBody:()=>_l,isEnumBooleanBody:()=>Fo,isEnumBooleanMember:()=>zo,isEnumDeclaration:()=>Po,isEnumDefaultedMember:()=>Ho,isEnumMember:()=>vl,isEnumNumberBody:()=>Io,isEnumNumberMember:()=>Bo,isEnumStringBody:()=>Lo,isEnumStringMember:()=>Vo,isEnumSymbolBody:()=>Ro,isExistsTypeAnnotation:()=>Ya,isExportAllDeclaration:()=>ta,isExportDeclaration:()=>ll,isExportDefaultDeclaration:()=>na,isExportDefaultSpecifier:()=>ps,isExportNamedDeclaration:()=>ra,isExportNamespaceSpecifier:()=>Ca,isExportSpecifier:()=>ia,isExpression:()=>Mc,isExpressionStatement:()=>pi,isExpressionWrapper:()=>Uc,isFile:()=>mi,isFlow:()=>fl,isFlowBaseAnnotation:()=>ml,isFlowDeclaration:()=>hl,isFlowPredicate:()=>gl,isFlowType:()=>pl,isFor:()=>Wc,isForInStatement:()=>hi,isForOfStatement:()=>aa,isForStatement:()=>gi,isForXStatement:()=>Gc,isFunction:()=>Kc,isFunctionDeclaration:()=>_i,isFunctionExpression:()=>vi,isFunctionParameter:()=>Xc,isFunctionParent:()=>qc,isFunctionTypeAnnotation:()=>Xa,isFunctionTypeParam:()=>Za,isGenericTypeAnnotation:()=>Qa,isIdentifier:()=>yi,isIfStatement:()=>bi,isImmutable:()=>tO,isImport:()=>xa,isImportAttribute:()=>ja,isImportDeclaration:()=>oa,isImportDefaultSpecifier:()=>sa,isImportExpression:()=>ba,isImportNamespaceSpecifier:()=>ca,isImportOrExportDeclaration:()=>cl,isImportSpecifier:()=>la,isIndexedAccessType:()=>Uo,isInferredPredicate:()=>$a,isInterfaceDeclaration:()=>to,isInterfaceExtends:()=>eo,isInterfaceTypeAnnotation:()=>no,isInterpreterDirective:()=>ti,isIntersectionTypeAnnotation:()=>ro,isJSX:()=>yl,isJSXAttribute:()=>Go,isJSXClosingElement:()=>Ko,isJSXClosingFragment:()=>as,isJSXElement:()=>qo,isJSXEmptyExpression:()=>Jo,isJSXExpressionContainer:()=>Yo,isJSXFragment:()=>rs,isJSXIdentifier:()=>Zo,isJSXMemberExpression:()=>Qo,isJSXNamespacedName:()=>$o,isJSXOpeningElement:()=>es,isJSXOpeningFragment:()=>is,isJSXSpreadAttribute:()=>ts,isJSXSpreadChild:()=>Xo,isJSXText:()=>ns,isLVal:()=>Qc,isLabeledStatement:()=>xi,isLet:()=>$D,isLiteral:()=>el,isLogicalExpression:()=>Di,isLoop:()=>Vc,isMemberExpression:()=>Oi,isMetaProperty:()=>ua,isMethod:()=>nl,isMiscellaneous:()=>bl,isMixedTypeAnnotation:()=>io,isModuleDeclaration:()=>Al,isModuleExpression:()=>ms,isModuleSpecifier:()=>ul,isNewExpression:()=>ki,isNode:()=>vb,isNodesEquivalent:()=>nO,isNullLiteral:()=>wi,isNullLiteralTypeAnnotation:()=>Ia,isNullableTypeAnnotation:()=>oo,isNumberLiteral:()=>El,isNumberLiteralTypeAnnotation:()=>so,isNumberTypeAnnotation:()=>lo,isNumericLiteral:()=>Ci,isObjectExpression:()=>ji,isObjectMember:()=>rl,isObjectMethod:()=>Mi,isObjectPattern:()=>fa,isObjectProperty:()=>Ni,isObjectTypeAnnotation:()=>uo,isObjectTypeCallProperty:()=>po,isObjectTypeIndexer:()=>mo,isObjectTypeInternalSlot:()=>fo,isObjectTypeProperty:()=>ho,isObjectTypeSpreadProperty:()=>go,isOpaqueType:()=>_o,isOptionalCallExpression:()=>Ta,isOptionalIndexedAccessType:()=>Wo,isOptionalMemberExpression:()=>wa,isParenthesizedExpression:()=>Li,isPattern:()=>ol,isPatternLike:()=>Zc,isPlaceholder:()=>os,isPlaceholderType:()=>Ll,isPrivate:()=>dl,isPrivateName:()=>ka,isProgram:()=>Ai,isProperty:()=>il,isPureish:()=>Jc,isQualifiedTypeIdentifier:()=>vo,isReferenced:()=>rO,isRegExpLiteral:()=>Ei,isRegexLiteral:()=>Dl,isRestElement:()=>Pi,isRestProperty:()=>Ol,isReturnStatement:()=>Fi,isScopable:()=>Pc,isScope:()=>iO,isSequenceExpression:()=>Ii,isSpecifierDefault:()=>aO,isSpreadElement:()=>pa,isSpreadProperty:()=>kl,isStandardized:()=>jc,isStatement:()=>Lc,isStaticBlock:()=>Aa,isStringLiteral:()=>Si,isStringLiteralTypeAnnotation:()=>yo,isStringTypeAnnotation:()=>bo,isSuper:()=>ma,isSwitchCase:()=>Ri,isSwitchStatement:()=>zi,isSymbolTypeAnnotation:()=>xo,isTSAnyKeyword:()=>Es,isTSArrayType:()=>Ks,isTSAsExpression:()=>pc,isTSBaseType:()=>Tl,isTSBigIntKeyword:()=>Os,isTSBooleanKeyword:()=>Ds,isTSCallSignatureDeclaration:()=>xs,isTSClassImplements:()=>sc,isTSConditionalType:()=>$s,isTSConstructSignatureDeclaration:()=>Ss,isTSConstructorType:()=>Vs,isTSDeclareFunction:()=>vs,isTSDeclareMethod:()=>ys,isTSEntityName:()=>$c,isTSEnumBody:()=>gc,isTSEnumDeclaration:()=>_c,isTSEnumMember:()=>vc,isTSExportAssignment:()=>Tc,isTSExternalModuleReference:()=>Cc,isTSFunctionType:()=>Bs,isTSImportEqualsDeclaration:()=>Sc,isTSImportType:()=>xc,isTSIndexSignature:()=>Ts,isTSIndexedAccessType:()=>rc,isTSInferType:()=>ec,isTSInstantiationExpression:()=>fc,isTSInterfaceBody:()=>uc,isTSInterfaceDeclaration:()=>lc,isTSInterfaceHeritage:()=>cc,isTSIntersectionType:()=>Qs,isTSIntrinsicKeyword:()=>ks,isTSLiteralType:()=>oc,isTSMappedType:()=>ic,isTSMethodSignature:()=>ws,isTSModuleBlock:()=>bc,isTSModuleDeclaration:()=>yc,isTSNamedTupleMember:()=>Xs,isTSNamespaceExportDeclaration:()=>Ec,isTSNeverKeyword:()=>As,isTSNonNullExpression:()=>wc,isTSNullKeyword:()=>js,isTSNumberKeyword:()=>Ms,isTSObjectKeyword:()=>Ns,isTSOptionalType:()=>Js,isTSParameterProperty:()=>_s,isTSParenthesizedType:()=>tc,isTSPropertySignature:()=>Cs,isTSQualifiedName:()=>bs,isTSRestType:()=>Ys,isTSSatisfiesExpression:()=>mc,isTSStringKeyword:()=>Ps,isTSSymbolKeyword:()=>Fs,isTSTemplateLiteralType:()=>ac,isTSThisType:()=>zs,isTSTupleType:()=>qs,isTSType:()=>wl,isTSTypeAliasDeclaration:()=>dc,isTSTypeAnnotation:()=>Dc,isTSTypeAssertion:()=>hc,isTSTypeElement:()=>Cl,isTSTypeLiteral:()=>Gs,isTSTypeOperator:()=>nc,isTSTypeParameter:()=>Ac,isTSTypeParameterDeclaration:()=>kc,isTSTypeParameterInstantiation:()=>Oc,isTSTypePredicate:()=>Us,isTSTypeQuery:()=>Ws,isTSTypeReference:()=>Hs,isTSUndefinedKeyword:()=>Is,isTSUnionType:()=>Zs,isTSUnknownKeyword:()=>Ls,isTSVoidKeyword:()=>Rs,isTaggedTemplateExpression:()=>ha,isTemplateElement:()=>ga,isTemplateLiteral:()=>_a,isTerminatorless:()=>Rc,isThisExpression:()=>Bi,isThisTypeAnnotation:()=>So,isThrowStatement:()=>Vi,isTopicReference:()=>hs,isTryStatement:()=>Hi,isTupleTypeAnnotation:()=>Co,isType:()=>Il,isTypeAlias:()=>To,isTypeAnnotation:()=>Eo,isTypeCastExpression:()=>Do,isTypeParameter:()=>Oo,isTypeParameterDeclaration:()=>ko,isTypeParameterInstantiation:()=>Ao,isTypeScript:()=>Sl,isTypeofTypeAnnotation:()=>wo,isUnaryExpression:()=>Ui,isUnaryLike:()=>al,isUnionTypeAnnotation:()=>jo,isUpdateExpression:()=>Wi,isUserWhitespacable:()=>tl,isV8IntrinsicIdentifier:()=>ss,isValidES3Identifier:()=>sO,isValidIdentifier:()=>Rl,isVar:()=>cO,isVariableDeclaration:()=>Gi,isVariableDeclarator:()=>Ki,isVariance:()=>Mo,isVoidPattern:()=>gs,isVoidTypeAnnotation:()=>No,isWhile:()=>Hc,isWhileStatement:()=>qi,isWithStatement:()=>Ji,isYieldExpression:()=>va,jsxAttribute:()=>qp,jsxClosingElement:()=>Jp,jsxClosingFragment:()=>sm,jsxElement:()=>Yp,jsxEmptyExpression:()=>Xp,jsxExpressionContainer:()=>Zp,jsxFragment:()=>am,jsxIdentifier:()=>$p,jsxMemberExpression:()=>em,jsxNamespacedName:()=>tm,jsxOpeningElement:()=>nm,jsxOpeningFragment:()=>om,jsxSpreadAttribute:()=>rm,jsxSpreadChild:()=>Qp,jsxText:()=>im,labeledStatement:()=>Cd,logicalExpression:()=>kd,matchesPattern:()=>Ml,memberExpression:()=>Ad,metaProperty:()=>pf,mixedTypeAnnotation:()=>sp,moduleExpression:()=>gm,newExpression:()=>jd,nullLiteral:()=>Ed,nullLiteralTypeAnnotation:()=>zf,nullableTypeAnnotation:()=>lp,numberLiteral:()=>Nh,numberLiteralTypeAnnotation:()=>up,numberTypeAnnotation:()=>fp,numericLiteral:()=>Td,objectExpression:()=>Nd,objectMethod:()=>Pd,objectPattern:()=>hf,objectProperty:()=>Fd,objectTypeAnnotation:()=>pp,objectTypeCallProperty:()=>hp,objectTypeIndexer:()=>gp,objectTypeInternalSlot:()=>mp,objectTypeProperty:()=>_p,objectTypeSpreadProperty:()=>vp,opaqueType:()=>yp,optionalCallExpression:()=>Of,optionalIndexedAccessType:()=>Kp,optionalMemberExpression:()=>Df,parenthesizedExpression:()=>zd,placeholder:()=>cm,prependToMemberExpression:()=>UD,privateName:()=>Mf,program:()=>Md,qualifiedTypeIdentifier:()=>bp,react:()=>lO,regExpLiteral:()=>Od,regexLiteral:()=>Ph,removeComments:()=>wE,removeProperties:()=>ND,removePropertiesDeep:()=>PD,removeTypeDuplicates:()=>tE,restElement:()=>Id,restProperty:()=>Fh,returnStatement:()=>Ld,sequenceExpression:()=>Rd,shallowEqual:()=>k,spreadElement:()=>gf,spreadProperty:()=>Ih,staticBlock:()=>Nf,stringLiteral:()=>wd,stringLiteralTypeAnnotation:()=>xp,stringTypeAnnotation:()=>Sp,super:()=>_f,switchCase:()=>Bd,switchStatement:()=>Vd,symbolTypeAnnotation:()=>Cp,taggedTemplateExpression:()=>vf,templateElement:()=>yf,templateLiteral:()=>bf,thisExpression:()=>Hd,thisTypeAnnotation:()=>wp,throwStatement:()=>Ud,toBindingIdentifierName:()=>TD,toBlock:()=>SD,toComputedKey:()=>ED,toExpression:()=>DD,toIdentifier:()=>wD,toKeyAlias:()=>FD,toStatement:()=>ID,topicReference:()=>_m,traverse:()=>XD,traverseFast:()=>AD,tryStatement:()=>Wd,tsAnyKeyword:()=>Om,tsArrayType:()=>Jm,tsAsExpression:()=>hh,tsBigIntKeyword:()=>Am,tsBooleanKeyword:()=>km,tsCallSignatureDeclaration:()=>Cm,tsClassImplements:()=>lh,tsConditionalType:()=>th,tsConstructSignatureDeclaration:()=>wm,tsConstructorType:()=>Um,tsDeclareFunction:()=>bm,tsDeclareMethod:()=>xm,tsEnumBody:()=>vh,tsEnumDeclaration:()=>yh,tsEnumMember:()=>bh,tsExportAssignment:()=>Dh,tsExternalModuleReference:()=>Th,tsFunctionType:()=>Hm,tsImportEqualsDeclaration:()=>wh,tsImportType:()=>Ch,tsIndexSignature:()=>Dm,tsIndexedAccessType:()=>ah,tsInferType:()=>nh,tsInstantiationExpression:()=>mh,tsInterfaceBody:()=>fh,tsInterfaceDeclaration:()=>dh,tsInterfaceHeritage:()=>uh,tsIntersectionType:()=>eh,tsIntrinsicKeyword:()=>jm,tsLiteralType:()=>ch,tsMappedType:()=>oh,tsMethodSignature:()=>Em,tsModuleBlock:()=>Sh,tsModuleDeclaration:()=>xh,tsNamedTupleMember:()=>Qm,tsNamespaceExportDeclaration:()=>Oh,tsNeverKeyword:()=>Mm,tsNonNullExpression:()=>Eh,tsNullKeyword:()=>Nm,tsNumberKeyword:()=>Pm,tsObjectKeyword:()=>Fm,tsOptionalType:()=>Xm,tsParameterProperty:()=>ym,tsParenthesizedType:()=>rh,tsPropertySignature:()=>Tm,tsQualifiedName:()=>Sm,tsRestType:()=>Zm,tsSatisfiesExpression:()=>gh,tsStringKeyword:()=>Im,tsSymbolKeyword:()=>Lm,tsTemplateLiteralType:()=>sh,tsThisType:()=>Vm,tsTupleType:()=>Ym,tsTypeAliasDeclaration:()=>ph,tsTypeAnnotation:()=>kh,tsTypeAssertion:()=>_h,tsTypeLiteral:()=>qm,tsTypeOperator:()=>ih,tsTypeParameter:()=>Mh,tsTypeParameterDeclaration:()=>jh,tsTypeParameterInstantiation:()=>Ah,tsTypePredicate:()=>Gm,tsTypeQuery:()=>Km,tsTypeReference:()=>Wm,tsUndefinedKeyword:()=>Rm,tsUnionType:()=>$m,tsUnknownKeyword:()=>zm,tsVoidKeyword:()=>Bm,tupleTypeAnnotation:()=>Tp,typeAlias:()=>Dp,typeAnnotation:()=>Op,typeCastExpression:()=>kp,typeParameter:()=>Ap,typeParameterDeclaration:()=>jp,typeParameterInstantiation:()=>Mp,typeofTypeAnnotation:()=>Ep,unaryExpression:()=>Gd,unionTypeAnnotation:()=>Np,updateExpression:()=>Kd,v8IntrinsicIdentifier:()=>lm,validate:()=>Xu,valueToNode:()=>BD,variableDeclaration:()=>qd,variableDeclarator:()=>Jd,variance:()=>Pp,voidPattern:()=>vm,voidTypeAnnotation:()=>Fp,whileStatement:()=>Yd,withStatement:()=>Xd,yieldExpression:()=>xf});function k(e,t){let n=Object.keys(t);for(let r of n)if(e[r]!==t[r])return!1;return!0}var Xr=new Set;function A(e,t,n=``,r=e){if(Xr.has(r))return;Xr.add(r);let{internal:i,trace:a}=Zr(1,2);i||console.warn(`${n}\`${e}\` has been deprecated, please migrate to \`${t}\`\n${a}`)}function Zr(e,t){let{stackTraceLimit:n,prepareStackTrace:r}=Error,i;if(Error.stackTraceLimit=1+e+t,Error.prepareStackTrace=function(e,t){i=t},Error().stack,Error.stackTraceLimit=n,Error.prepareStackTrace=r,!i)return{internal:!1,trace:``};let a=i.slice(1+e,1+e+t);return{internal:/[\\/]@babel[\\/]/.test(a[1].getFileName()),trace:a.map(e=>` at ${e}`).join(`
11
+ `)}}function Qr(e,t){return!e||e.type!==`ArrayExpression`?!1:t==null||k(e,t)}function $r(e,t){return!e||e.type!==`AssignmentExpression`?!1:t==null||k(e,t)}function ei(e,t){return!e||e.type!==`BinaryExpression`?!1:t==null||k(e,t)}function ti(e,t){return!e||e.type!==`InterpreterDirective`?!1:t==null||k(e,t)}function ni(e,t){return!e||e.type!==`Directive`?!1:t==null||k(e,t)}function ri(e,t){return!e||e.type!==`DirectiveLiteral`?!1:t==null||k(e,t)}function ii(e,t){return!e||e.type!==`BlockStatement`?!1:t==null||k(e,t)}function ai(e,t){return!e||e.type!==`BreakStatement`?!1:t==null||k(e,t)}function oi(e,t){return!e||e.type!==`CallExpression`?!1:t==null||k(e,t)}function si(e,t){return!e||e.type!==`CatchClause`?!1:t==null||k(e,t)}function ci(e,t){return!e||e.type!==`ConditionalExpression`?!1:t==null||k(e,t)}function li(e,t){return!e||e.type!==`ContinueStatement`?!1:t==null||k(e,t)}function ui(e,t){return!e||e.type!==`DebuggerStatement`?!1:t==null||k(e,t)}function di(e,t){return!e||e.type!==`DoWhileStatement`?!1:t==null||k(e,t)}function fi(e,t){return!e||e.type!==`EmptyStatement`?!1:t==null||k(e,t)}function pi(e,t){return!e||e.type!==`ExpressionStatement`?!1:t==null||k(e,t)}function mi(e,t){return!e||e.type!==`File`?!1:t==null||k(e,t)}function hi(e,t){return!e||e.type!==`ForInStatement`?!1:t==null||k(e,t)}function gi(e,t){return!e||e.type!==`ForStatement`?!1:t==null||k(e,t)}function _i(e,t){return!e||e.type!==`FunctionDeclaration`?!1:t==null||k(e,t)}function vi(e,t){return!e||e.type!==`FunctionExpression`?!1:t==null||k(e,t)}function yi(e,t){return!e||e.type!==`Identifier`?!1:t==null||k(e,t)}function bi(e,t){return!e||e.type!==`IfStatement`?!1:t==null||k(e,t)}function xi(e,t){return!e||e.type!==`LabeledStatement`?!1:t==null||k(e,t)}function Si(e,t){return!e||e.type!==`StringLiteral`?!1:t==null||k(e,t)}function Ci(e,t){return!e||e.type!==`NumericLiteral`?!1:t==null||k(e,t)}function wi(e,t){return!e||e.type!==`NullLiteral`?!1:t==null||k(e,t)}function Ti(e,t){return!e||e.type!==`BooleanLiteral`?!1:t==null||k(e,t)}function Ei(e,t){return!e||e.type!==`RegExpLiteral`?!1:t==null||k(e,t)}function Di(e,t){return!e||e.type!==`LogicalExpression`?!1:t==null||k(e,t)}function Oi(e,t){return!e||e.type!==`MemberExpression`?!1:t==null||k(e,t)}function ki(e,t){return!e||e.type!==`NewExpression`?!1:t==null||k(e,t)}function Ai(e,t){return!e||e.type!==`Program`?!1:t==null||k(e,t)}function ji(e,t){return!e||e.type!==`ObjectExpression`?!1:t==null||k(e,t)}function Mi(e,t){return!e||e.type!==`ObjectMethod`?!1:t==null||k(e,t)}function Ni(e,t){return!e||e.type!==`ObjectProperty`?!1:t==null||k(e,t)}function Pi(e,t){return!e||e.type!==`RestElement`?!1:t==null||k(e,t)}function Fi(e,t){return!e||e.type!==`ReturnStatement`?!1:t==null||k(e,t)}function Ii(e,t){return!e||e.type!==`SequenceExpression`?!1:t==null||k(e,t)}function Li(e,t){return!e||e.type!==`ParenthesizedExpression`?!1:t==null||k(e,t)}function Ri(e,t){return!e||e.type!==`SwitchCase`?!1:t==null||k(e,t)}function zi(e,t){return!e||e.type!==`SwitchStatement`?!1:t==null||k(e,t)}function Bi(e,t){return!e||e.type!==`ThisExpression`?!1:t==null||k(e,t)}function Vi(e,t){return!e||e.type!==`ThrowStatement`?!1:t==null||k(e,t)}function Hi(e,t){return!e||e.type!==`TryStatement`?!1:t==null||k(e,t)}function Ui(e,t){return!e||e.type!==`UnaryExpression`?!1:t==null||k(e,t)}function Wi(e,t){return!e||e.type!==`UpdateExpression`?!1:t==null||k(e,t)}function Gi(e,t){return!e||e.type!==`VariableDeclaration`?!1:t==null||k(e,t)}function Ki(e,t){return!e||e.type!==`VariableDeclarator`?!1:t==null||k(e,t)}function qi(e,t){return!e||e.type!==`WhileStatement`?!1:t==null||k(e,t)}function Ji(e,t){return!e||e.type!==`WithStatement`?!1:t==null||k(e,t)}function Yi(e,t){return!e||e.type!==`AssignmentPattern`?!1:t==null||k(e,t)}function Xi(e,t){return!e||e.type!==`ArrayPattern`?!1:t==null||k(e,t)}function Zi(e,t){return!e||e.type!==`ArrowFunctionExpression`?!1:t==null||k(e,t)}function Qi(e,t){return!e||e.type!==`ClassBody`?!1:t==null||k(e,t)}function $i(e,t){return!e||e.type!==`ClassExpression`?!1:t==null||k(e,t)}function ea(e,t){return!e||e.type!==`ClassDeclaration`?!1:t==null||k(e,t)}function ta(e,t){return!e||e.type!==`ExportAllDeclaration`?!1:t==null||k(e,t)}function na(e,t){return!e||e.type!==`ExportDefaultDeclaration`?!1:t==null||k(e,t)}function ra(e,t){return!e||e.type!==`ExportNamedDeclaration`?!1:t==null||k(e,t)}function ia(e,t){return!e||e.type!==`ExportSpecifier`?!1:t==null||k(e,t)}function aa(e,t){return!e||e.type!==`ForOfStatement`?!1:t==null||k(e,t)}function oa(e,t){return!e||e.type!==`ImportDeclaration`?!1:t==null||k(e,t)}function sa(e,t){return!e||e.type!==`ImportDefaultSpecifier`?!1:t==null||k(e,t)}function ca(e,t){return!e||e.type!==`ImportNamespaceSpecifier`?!1:t==null||k(e,t)}function la(e,t){return!e||e.type!==`ImportSpecifier`?!1:t==null||k(e,t)}function ua(e,t){return!e||e.type!==`MetaProperty`?!1:t==null||k(e,t)}function da(e,t){return!e||e.type!==`ClassMethod`?!1:t==null||k(e,t)}function fa(e,t){return!e||e.type!==`ObjectPattern`?!1:t==null||k(e,t)}function pa(e,t){return!e||e.type!==`SpreadElement`?!1:t==null||k(e,t)}function ma(e,t){return!e||e.type!==`Super`?!1:t==null||k(e,t)}function ha(e,t){return!e||e.type!==`TaggedTemplateExpression`?!1:t==null||k(e,t)}function ga(e,t){return!e||e.type!==`TemplateElement`?!1:t==null||k(e,t)}function _a(e,t){return!e||e.type!==`TemplateLiteral`?!1:t==null||k(e,t)}function va(e,t){return!e||e.type!==`YieldExpression`?!1:t==null||k(e,t)}function ya(e,t){return!e||e.type!==`AwaitExpression`?!1:t==null||k(e,t)}function ba(e,t){return!e||e.type!==`ImportExpression`?!1:t==null||k(e,t)}function xa(e,t){return!e||e.type!==`Import`?!1:t==null||k(e,t)}function Sa(e,t){return!e||e.type!==`BigIntLiteral`?!1:t==null||k(e,t)}function Ca(e,t){return!e||e.type!==`ExportNamespaceSpecifier`?!1:t==null||k(e,t)}function wa(e,t){return!e||e.type!==`OptionalMemberExpression`?!1:t==null||k(e,t)}function Ta(e,t){return!e||e.type!==`OptionalCallExpression`?!1:t==null||k(e,t)}function Ea(e,t){return!e||e.type!==`ClassProperty`?!1:t==null||k(e,t)}function Da(e,t){return!e||e.type!==`ClassPrivateProperty`?!1:t==null||k(e,t)}function Oa(e,t){return!e||e.type!==`ClassPrivateMethod`?!1:t==null||k(e,t)}function ka(e,t){return!e||e.type!==`PrivateName`?!1:t==null||k(e,t)}function Aa(e,t){return!e||e.type!==`StaticBlock`?!1:t==null||k(e,t)}function ja(e,t){return!e||e.type!==`ImportAttribute`?!1:t==null||k(e,t)}function Ma(e,t){return!e||e.type!==`AnyTypeAnnotation`?!1:t==null||k(e,t)}function Na(e,t){return!e||e.type!==`ArrayTypeAnnotation`?!1:t==null||k(e,t)}function Pa(e,t){return!e||e.type!==`BooleanTypeAnnotation`?!1:t==null||k(e,t)}function Fa(e,t){return!e||e.type!==`BooleanLiteralTypeAnnotation`?!1:t==null||k(e,t)}function Ia(e,t){return!e||e.type!==`NullLiteralTypeAnnotation`?!1:t==null||k(e,t)}function La(e,t){return!e||e.type!==`ClassImplements`?!1:t==null||k(e,t)}function Ra(e,t){return!e||e.type!==`DeclareClass`?!1:t==null||k(e,t)}function za(e,t){return!e||e.type!==`DeclareFunction`?!1:t==null||k(e,t)}function Ba(e,t){return!e||e.type!==`DeclareInterface`?!1:t==null||k(e,t)}function Va(e,t){return!e||e.type!==`DeclareModule`?!1:t==null||k(e,t)}function Ha(e,t){return!e||e.type!==`DeclareModuleExports`?!1:t==null||k(e,t)}function Ua(e,t){return!e||e.type!==`DeclareTypeAlias`?!1:t==null||k(e,t)}function Wa(e,t){return!e||e.type!==`DeclareOpaqueType`?!1:t==null||k(e,t)}function Ga(e,t){return!e||e.type!==`DeclareVariable`?!1:t==null||k(e,t)}function Ka(e,t){return!e||e.type!==`DeclareExportDeclaration`?!1:t==null||k(e,t)}function qa(e,t){return!e||e.type!==`DeclareExportAllDeclaration`?!1:t==null||k(e,t)}function Ja(e,t){return!e||e.type!==`DeclaredPredicate`?!1:t==null||k(e,t)}function Ya(e,t){return!e||e.type!==`ExistsTypeAnnotation`?!1:t==null||k(e,t)}function Xa(e,t){return!e||e.type!==`FunctionTypeAnnotation`?!1:t==null||k(e,t)}function Za(e,t){return!e||e.type!==`FunctionTypeParam`?!1:t==null||k(e,t)}function Qa(e,t){return!e||e.type!==`GenericTypeAnnotation`?!1:t==null||k(e,t)}function $a(e,t){return!e||e.type!==`InferredPredicate`?!1:t==null||k(e,t)}function eo(e,t){return!e||e.type!==`InterfaceExtends`?!1:t==null||k(e,t)}function to(e,t){return!e||e.type!==`InterfaceDeclaration`?!1:t==null||k(e,t)}function no(e,t){return!e||e.type!==`InterfaceTypeAnnotation`?!1:t==null||k(e,t)}function ro(e,t){return!e||e.type!==`IntersectionTypeAnnotation`?!1:t==null||k(e,t)}function io(e,t){return!e||e.type!==`MixedTypeAnnotation`?!1:t==null||k(e,t)}function ao(e,t){return!e||e.type!==`EmptyTypeAnnotation`?!1:t==null||k(e,t)}function oo(e,t){return!e||e.type!==`NullableTypeAnnotation`?!1:t==null||k(e,t)}function so(e,t){return!e||e.type!==`NumberLiteralTypeAnnotation`?!1:t==null||k(e,t)}function co(e,t){return!e||e.type!==`BigIntLiteralTypeAnnotation`?!1:t==null||k(e,t)}function lo(e,t){return!e||e.type!==`NumberTypeAnnotation`?!1:t==null||k(e,t)}function uo(e,t){return!e||e.type!==`ObjectTypeAnnotation`?!1:t==null||k(e,t)}function fo(e,t){return!e||e.type!==`ObjectTypeInternalSlot`?!1:t==null||k(e,t)}function po(e,t){return!e||e.type!==`ObjectTypeCallProperty`?!1:t==null||k(e,t)}function mo(e,t){return!e||e.type!==`ObjectTypeIndexer`?!1:t==null||k(e,t)}function ho(e,t){return!e||e.type!==`ObjectTypeProperty`?!1:t==null||k(e,t)}function go(e,t){return!e||e.type!==`ObjectTypeSpreadProperty`?!1:t==null||k(e,t)}function _o(e,t){return!e||e.type!==`OpaqueType`?!1:t==null||k(e,t)}function vo(e,t){return!e||e.type!==`QualifiedTypeIdentifier`?!1:t==null||k(e,t)}function yo(e,t){return!e||e.type!==`StringLiteralTypeAnnotation`?!1:t==null||k(e,t)}function bo(e,t){return!e||e.type!==`StringTypeAnnotation`?!1:t==null||k(e,t)}function xo(e,t){return!e||e.type!==`SymbolTypeAnnotation`?!1:t==null||k(e,t)}function So(e,t){return!e||e.type!==`ThisTypeAnnotation`?!1:t==null||k(e,t)}function Co(e,t){return!e||e.type!==`TupleTypeAnnotation`?!1:t==null||k(e,t)}function wo(e,t){return!e||e.type!==`TypeofTypeAnnotation`?!1:t==null||k(e,t)}function To(e,t){return!e||e.type!==`TypeAlias`?!1:t==null||k(e,t)}function Eo(e,t){return!e||e.type!==`TypeAnnotation`?!1:t==null||k(e,t)}function Do(e,t){return!e||e.type!==`TypeCastExpression`?!1:t==null||k(e,t)}function Oo(e,t){return!e||e.type!==`TypeParameter`?!1:t==null||k(e,t)}function ko(e,t){return!e||e.type!==`TypeParameterDeclaration`?!1:t==null||k(e,t)}function Ao(e,t){return!e||e.type!==`TypeParameterInstantiation`?!1:t==null||k(e,t)}function jo(e,t){return!e||e.type!==`UnionTypeAnnotation`?!1:t==null||k(e,t)}function Mo(e,t){return!e||e.type!==`Variance`?!1:t==null||k(e,t)}function No(e,t){return!e||e.type!==`VoidTypeAnnotation`?!1:t==null||k(e,t)}function Po(e,t){return!e||e.type!==`EnumDeclaration`?!1:t==null||k(e,t)}function Fo(e,t){return!e||e.type!==`EnumBooleanBody`?!1:t==null||k(e,t)}function Io(e,t){return!e||e.type!==`EnumNumberBody`?!1:t==null||k(e,t)}function Lo(e,t){return!e||e.type!==`EnumStringBody`?!1:t==null||k(e,t)}function Ro(e,t){return!e||e.type!==`EnumSymbolBody`?!1:t==null||k(e,t)}function zo(e,t){return!e||e.type!==`EnumBooleanMember`?!1:t==null||k(e,t)}function Bo(e,t){return!e||e.type!==`EnumNumberMember`?!1:t==null||k(e,t)}function Vo(e,t){return!e||e.type!==`EnumStringMember`?!1:t==null||k(e,t)}function Ho(e,t){return!e||e.type!==`EnumDefaultedMember`?!1:t==null||k(e,t)}function Uo(e,t){return!e||e.type!==`IndexedAccessType`?!1:t==null||k(e,t)}function Wo(e,t){return!e||e.type!==`OptionalIndexedAccessType`?!1:t==null||k(e,t)}function Go(e,t){return!e||e.type!==`JSXAttribute`?!1:t==null||k(e,t)}function Ko(e,t){return!e||e.type!==`JSXClosingElement`?!1:t==null||k(e,t)}function qo(e,t){return!e||e.type!==`JSXElement`?!1:t==null||k(e,t)}function Jo(e,t){return!e||e.type!==`JSXEmptyExpression`?!1:t==null||k(e,t)}function Yo(e,t){return!e||e.type!==`JSXExpressionContainer`?!1:t==null||k(e,t)}function Xo(e,t){return!e||e.type!==`JSXSpreadChild`?!1:t==null||k(e,t)}function Zo(e,t){return!e||e.type!==`JSXIdentifier`?!1:t==null||k(e,t)}function Qo(e,t){return!e||e.type!==`JSXMemberExpression`?!1:t==null||k(e,t)}function $o(e,t){return!e||e.type!==`JSXNamespacedName`?!1:t==null||k(e,t)}function es(e,t){return!e||e.type!==`JSXOpeningElement`?!1:t==null||k(e,t)}function ts(e,t){return!e||e.type!==`JSXSpreadAttribute`?!1:t==null||k(e,t)}function ns(e,t){return!e||e.type!==`JSXText`?!1:t==null||k(e,t)}function rs(e,t){return!e||e.type!==`JSXFragment`?!1:t==null||k(e,t)}function is(e,t){return!e||e.type!==`JSXOpeningFragment`?!1:t==null||k(e,t)}function as(e,t){return!e||e.type!==`JSXClosingFragment`?!1:t==null||k(e,t)}function os(e,t){return!e||e.type!==`Placeholder`?!1:t==null||k(e,t)}function ss(e,t){return!e||e.type!==`V8IntrinsicIdentifier`?!1:t==null||k(e,t)}function cs(e,t){return!e||e.type!==`ArgumentPlaceholder`?!1:t==null||k(e,t)}function ls(e,t){return!e||e.type!==`BindExpression`?!1:t==null||k(e,t)}function us(e,t){return!e||e.type!==`ClassAccessorProperty`?!1:t==null||k(e,t)}function ds(e,t){return!e||e.type!==`Decorator`?!1:t==null||k(e,t)}function fs(e,t){return!e||e.type!==`DoExpression`?!1:t==null||k(e,t)}function ps(e,t){return!e||e.type!==`ExportDefaultSpecifier`?!1:t==null||k(e,t)}function ms(e,t){return!e||e.type!==`ModuleExpression`?!1:t==null||k(e,t)}function hs(e,t){return!e||e.type!==`TopicReference`?!1:t==null||k(e,t)}function gs(e,t){return!e||e.type!==`VoidPattern`?!1:t==null||k(e,t)}function _s(e,t){return!e||e.type!==`TSParameterProperty`?!1:t==null||k(e,t)}function vs(e,t){return!e||e.type!==`TSDeclareFunction`?!1:t==null||k(e,t)}function ys(e,t){return!e||e.type!==`TSDeclareMethod`?!1:t==null||k(e,t)}function bs(e,t){return!e||e.type!==`TSQualifiedName`?!1:t==null||k(e,t)}function xs(e,t){return!e||e.type!==`TSCallSignatureDeclaration`?!1:t==null||k(e,t)}function Ss(e,t){return!e||e.type!==`TSConstructSignatureDeclaration`?!1:t==null||k(e,t)}function Cs(e,t){return!e||e.type!==`TSPropertySignature`?!1:t==null||k(e,t)}function ws(e,t){return!e||e.type!==`TSMethodSignature`?!1:t==null||k(e,t)}function Ts(e,t){return!e||e.type!==`TSIndexSignature`?!1:t==null||k(e,t)}function Es(e,t){return!e||e.type!==`TSAnyKeyword`?!1:t==null||k(e,t)}function Ds(e,t){return!e||e.type!==`TSBooleanKeyword`?!1:t==null||k(e,t)}function Os(e,t){return!e||e.type!==`TSBigIntKeyword`?!1:t==null||k(e,t)}function ks(e,t){return!e||e.type!==`TSIntrinsicKeyword`?!1:t==null||k(e,t)}function As(e,t){return!e||e.type!==`TSNeverKeyword`?!1:t==null||k(e,t)}function js(e,t){return!e||e.type!==`TSNullKeyword`?!1:t==null||k(e,t)}function Ms(e,t){return!e||e.type!==`TSNumberKeyword`?!1:t==null||k(e,t)}function Ns(e,t){return!e||e.type!==`TSObjectKeyword`?!1:t==null||k(e,t)}function Ps(e,t){return!e||e.type!==`TSStringKeyword`?!1:t==null||k(e,t)}function Fs(e,t){return!e||e.type!==`TSSymbolKeyword`?!1:t==null||k(e,t)}function Is(e,t){return!e||e.type!==`TSUndefinedKeyword`?!1:t==null||k(e,t)}function Ls(e,t){return!e||e.type!==`TSUnknownKeyword`?!1:t==null||k(e,t)}function Rs(e,t){return!e||e.type!==`TSVoidKeyword`?!1:t==null||k(e,t)}function zs(e,t){return!e||e.type!==`TSThisType`?!1:t==null||k(e,t)}function Bs(e,t){return!e||e.type!==`TSFunctionType`?!1:t==null||k(e,t)}function Vs(e,t){return!e||e.type!==`TSConstructorType`?!1:t==null||k(e,t)}function Hs(e,t){return!e||e.type!==`TSTypeReference`?!1:t==null||k(e,t)}function Us(e,t){return!e||e.type!==`TSTypePredicate`?!1:t==null||k(e,t)}function Ws(e,t){return!e||e.type!==`TSTypeQuery`?!1:t==null||k(e,t)}function Gs(e,t){return!e||e.type!==`TSTypeLiteral`?!1:t==null||k(e,t)}function Ks(e,t){return!e||e.type!==`TSArrayType`?!1:t==null||k(e,t)}function qs(e,t){return!e||e.type!==`TSTupleType`?!1:t==null||k(e,t)}function Js(e,t){return!e||e.type!==`TSOptionalType`?!1:t==null||k(e,t)}function Ys(e,t){return!e||e.type!==`TSRestType`?!1:t==null||k(e,t)}function Xs(e,t){return!e||e.type!==`TSNamedTupleMember`?!1:t==null||k(e,t)}function Zs(e,t){return!e||e.type!==`TSUnionType`?!1:t==null||k(e,t)}function Qs(e,t){return!e||e.type!==`TSIntersectionType`?!1:t==null||k(e,t)}function $s(e,t){return!e||e.type!==`TSConditionalType`?!1:t==null||k(e,t)}function ec(e,t){return!e||e.type!==`TSInferType`?!1:t==null||k(e,t)}function tc(e,t){return!e||e.type!==`TSParenthesizedType`?!1:t==null||k(e,t)}function nc(e,t){return!e||e.type!==`TSTypeOperator`?!1:t==null||k(e,t)}function rc(e,t){return!e||e.type!==`TSIndexedAccessType`?!1:t==null||k(e,t)}function ic(e,t){return!e||e.type!==`TSMappedType`?!1:t==null||k(e,t)}function ac(e,t){return!e||e.type!==`TSTemplateLiteralType`?!1:t==null||k(e,t)}function oc(e,t){return!e||e.type!==`TSLiteralType`?!1:t==null||k(e,t)}function sc(e,t){return!e||e.type!==`TSClassImplements`?!1:t==null||k(e,t)}function cc(e,t){return!e||e.type!==`TSInterfaceHeritage`?!1:t==null||k(e,t)}function lc(e,t){return!e||e.type!==`TSInterfaceDeclaration`?!1:t==null||k(e,t)}function uc(e,t){return!e||e.type!==`TSInterfaceBody`?!1:t==null||k(e,t)}function dc(e,t){return!e||e.type!==`TSTypeAliasDeclaration`?!1:t==null||k(e,t)}function fc(e,t){return!e||e.type!==`TSInstantiationExpression`?!1:t==null||k(e,t)}function pc(e,t){return!e||e.type!==`TSAsExpression`?!1:t==null||k(e,t)}function mc(e,t){return!e||e.type!==`TSSatisfiesExpression`?!1:t==null||k(e,t)}function hc(e,t){return!e||e.type!==`TSTypeAssertion`?!1:t==null||k(e,t)}function gc(e,t){return!e||e.type!==`TSEnumBody`?!1:t==null||k(e,t)}function _c(e,t){return!e||e.type!==`TSEnumDeclaration`?!1:t==null||k(e,t)}function vc(e,t){return!e||e.type!==`TSEnumMember`?!1:t==null||k(e,t)}function yc(e,t){return!e||e.type!==`TSModuleDeclaration`?!1:t==null||k(e,t)}function bc(e,t){return!e||e.type!==`TSModuleBlock`?!1:t==null||k(e,t)}function xc(e,t){return!e||e.type!==`TSImportType`?!1:t==null||k(e,t)}function Sc(e,t){return!e||e.type!==`TSImportEqualsDeclaration`?!1:t==null||k(e,t)}function Cc(e,t){return!e||e.type!==`TSExternalModuleReference`?!1:t==null||k(e,t)}function wc(e,t){return!e||e.type!==`TSNonNullExpression`?!1:t==null||k(e,t)}function Tc(e,t){return!e||e.type!==`TSExportAssignment`?!1:t==null||k(e,t)}function Ec(e,t){return!e||e.type!==`TSNamespaceExportDeclaration`?!1:t==null||k(e,t)}function Dc(e,t){return!e||e.type!==`TSTypeAnnotation`?!1:t==null||k(e,t)}function Oc(e,t){return!e||e.type!==`TSTypeParameterInstantiation`?!1:t==null||k(e,t)}function kc(e,t){return!e||e.type!==`TSTypeParameterDeclaration`?!1:t==null||k(e,t)}function Ac(e,t){return!e||e.type!==`TSTypeParameter`?!1:t==null||k(e,t)}function jc(e,t){if(!e)return!1;switch(e.type){case`ArrayExpression`:case`AssignmentExpression`:case`BinaryExpression`:case`InterpreterDirective`:case`Directive`:case`DirectiveLiteral`:case`BlockStatement`:case`BreakStatement`:case`CallExpression`:case`CatchClause`:case`ConditionalExpression`:case`ContinueStatement`:case`DebuggerStatement`:case`DoWhileStatement`:case`EmptyStatement`:case`ExpressionStatement`:case`File`:case`ForInStatement`:case`ForStatement`:case`FunctionDeclaration`:case`FunctionExpression`:case`Identifier`:case`IfStatement`:case`LabeledStatement`:case`StringLiteral`:case`NumericLiteral`:case`NullLiteral`:case`BooleanLiteral`:case`RegExpLiteral`:case`LogicalExpression`:case`MemberExpression`:case`NewExpression`:case`Program`:case`ObjectExpression`:case`ObjectMethod`:case`ObjectProperty`:case`RestElement`:case`ReturnStatement`:case`SequenceExpression`:case`ParenthesizedExpression`:case`SwitchCase`:case`SwitchStatement`:case`ThisExpression`:case`ThrowStatement`:case`TryStatement`:case`UnaryExpression`:case`UpdateExpression`:case`VariableDeclaration`:case`VariableDeclarator`:case`WhileStatement`:case`WithStatement`:case`AssignmentPattern`:case`ArrayPattern`:case`ArrowFunctionExpression`:case`ClassBody`:case`ClassExpression`:case`ClassDeclaration`:case`ExportAllDeclaration`:case`ExportDefaultDeclaration`:case`ExportNamedDeclaration`:case`ExportSpecifier`:case`ForOfStatement`:case`ImportDeclaration`:case`ImportDefaultSpecifier`:case`ImportNamespaceSpecifier`:case`ImportSpecifier`:case`MetaProperty`:case`ClassMethod`:case`ObjectPattern`:case`SpreadElement`:case`Super`:case`TaggedTemplateExpression`:case`TemplateElement`:case`TemplateLiteral`:case`YieldExpression`:case`AwaitExpression`:case`ImportExpression`:case`Import`:case`BigIntLiteral`:case`ExportNamespaceSpecifier`:case`OptionalMemberExpression`:case`OptionalCallExpression`:case`ClassProperty`:case`ClassPrivateProperty`:case`ClassPrivateMethod`:case`PrivateName`:case`StaticBlock`:case`ImportAttribute`:break;case`Placeholder`:switch(e.expectedNode){case`Identifier`:case`StringLiteral`:case`BlockStatement`:case`ClassBody`:break;default:return!1}break;default:return!1}return t==null||k(e,t)}function Mc(e,t){if(!e)return!1;switch(e.type){case`ArrayExpression`:case`AssignmentExpression`:case`BinaryExpression`:case`CallExpression`:case`ConditionalExpression`:case`FunctionExpression`:case`Identifier`:case`StringLiteral`:case`NumericLiteral`:case`NullLiteral`:case`BooleanLiteral`:case`RegExpLiteral`:case`LogicalExpression`:case`MemberExpression`:case`NewExpression`:case`ObjectExpression`:case`SequenceExpression`:case`ParenthesizedExpression`:case`ThisExpression`:case`UnaryExpression`:case`UpdateExpression`:case`ArrowFunctionExpression`:case`ClassExpression`:case`MetaProperty`:case`TaggedTemplateExpression`:case`TemplateLiteral`:case`YieldExpression`:case`AwaitExpression`:case`ImportExpression`:case`BigIntLiteral`:case`OptionalMemberExpression`:case`OptionalCallExpression`:case`TypeCastExpression`:case`JSXElement`:case`JSXFragment`:case`BindExpression`:case`DoExpression`:case`ModuleExpression`:case`TopicReference`:case`TSInstantiationExpression`:case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSTypeAssertion`:case`TSNonNullExpression`:break;case`Placeholder`:switch(e.expectedNode){case`Expression`:case`Identifier`:case`StringLiteral`:break;default:return!1}break;default:return!1}return t==null||k(e,t)}function Nc(e,t){if(!e)return!1;switch(e.type){case`BinaryExpression`:case`LogicalExpression`:break;default:return!1}return t==null||k(e,t)}function Pc(e,t){if(!e)return!1;switch(e.type){case`BlockStatement`:case`CatchClause`:case`DoWhileStatement`:case`ForInStatement`:case`ForStatement`:case`FunctionDeclaration`:case`FunctionExpression`:case`Program`:case`ObjectMethod`:case`SwitchStatement`:case`WhileStatement`:case`ArrowFunctionExpression`:case`ClassExpression`:case`ClassDeclaration`:case`ForOfStatement`:case`ClassMethod`:case`ClassPrivateMethod`:case`StaticBlock`:case`TSModuleBlock`:break;case`Placeholder`:if(e.expectedNode===`BlockStatement`)break;default:return!1}return t==null||k(e,t)}function Fc(e,t){if(!e)return!1;switch(e.type){case`BlockStatement`:case`CatchClause`:case`DoWhileStatement`:case`ForInStatement`:case`ForStatement`:case`FunctionDeclaration`:case`FunctionExpression`:case`Program`:case`ObjectMethod`:case`SwitchStatement`:case`WhileStatement`:case`ArrowFunctionExpression`:case`ForOfStatement`:case`ClassMethod`:case`ClassPrivateMethod`:case`StaticBlock`:case`TSModuleBlock`:break;case`Placeholder`:if(e.expectedNode===`BlockStatement`)break;default:return!1}return t==null||k(e,t)}function Ic(e,t){if(!e)return!1;switch(e.type){case`BlockStatement`:case`Program`:case`TSModuleBlock`:break;case`Placeholder`:if(e.expectedNode===`BlockStatement`)break;default:return!1}return t==null||k(e,t)}function Lc(e,t){if(!e)return!1;switch(e.type){case`BlockStatement`:case`BreakStatement`:case`ContinueStatement`:case`DebuggerStatement`:case`DoWhileStatement`:case`EmptyStatement`:case`ExpressionStatement`:case`ForInStatement`:case`ForStatement`:case`FunctionDeclaration`:case`IfStatement`:case`LabeledStatement`:case`ReturnStatement`:case`SwitchStatement`:case`ThrowStatement`:case`TryStatement`:case`VariableDeclaration`:case`WhileStatement`:case`WithStatement`:case`ClassDeclaration`:case`ExportAllDeclaration`:case`ExportDefaultDeclaration`:case`ExportNamedDeclaration`:case`ForOfStatement`:case`ImportDeclaration`:case`DeclareClass`:case`DeclareFunction`:case`DeclareInterface`:case`DeclareModule`:case`DeclareModuleExports`:case`DeclareTypeAlias`:case`DeclareOpaqueType`:case`DeclareVariable`:case`DeclareExportDeclaration`:case`DeclareExportAllDeclaration`:case`InterfaceDeclaration`:case`OpaqueType`:case`TypeAlias`:case`EnumDeclaration`:case`TSDeclareFunction`:case`TSInterfaceDeclaration`:case`TSTypeAliasDeclaration`:case`TSEnumDeclaration`:case`TSModuleDeclaration`:case`TSImportEqualsDeclaration`:case`TSExportAssignment`:case`TSNamespaceExportDeclaration`:break;case`Placeholder`:switch(e.expectedNode){case`Statement`:case`Declaration`:case`BlockStatement`:break;default:return!1}break;default:return!1}return t==null||k(e,t)}function Rc(e,t){if(!e)return!1;switch(e.type){case`BreakStatement`:case`ContinueStatement`:case`ReturnStatement`:case`ThrowStatement`:case`YieldExpression`:case`AwaitExpression`:break;default:return!1}return t==null||k(e,t)}function zc(e,t){if(!e)return!1;switch(e.type){case`BreakStatement`:case`ContinueStatement`:case`ReturnStatement`:case`ThrowStatement`:break;default:return!1}return t==null||k(e,t)}function Bc(e,t){if(!e)return!1;switch(e.type){case`ConditionalExpression`:case`IfStatement`:break;default:return!1}return t==null||k(e,t)}function Vc(e,t){if(!e)return!1;switch(e.type){case`DoWhileStatement`:case`ForInStatement`:case`ForStatement`:case`WhileStatement`:case`ForOfStatement`:break;default:return!1}return t==null||k(e,t)}function Hc(e,t){if(!e)return!1;switch(e.type){case`DoWhileStatement`:case`WhileStatement`:break;default:return!1}return t==null||k(e,t)}function Uc(e,t){if(!e)return!1;switch(e.type){case`ExpressionStatement`:case`ParenthesizedExpression`:case`TypeCastExpression`:break;default:return!1}return t==null||k(e,t)}function Wc(e,t){if(!e)return!1;switch(e.type){case`ForInStatement`:case`ForStatement`:case`ForOfStatement`:break;default:return!1}return t==null||k(e,t)}function Gc(e,t){if(!e)return!1;switch(e.type){case`ForInStatement`:case`ForOfStatement`:break;default:return!1}return t==null||k(e,t)}function Kc(e,t){if(!e)return!1;switch(e.type){case`FunctionDeclaration`:case`FunctionExpression`:case`ObjectMethod`:case`ArrowFunctionExpression`:case`ClassMethod`:case`ClassPrivateMethod`:break;default:return!1}return t==null||k(e,t)}function qc(e,t){if(!e)return!1;switch(e.type){case`FunctionDeclaration`:case`FunctionExpression`:case`ObjectMethod`:case`ArrowFunctionExpression`:case`ClassMethod`:case`ClassPrivateMethod`:case`StaticBlock`:case`TSModuleBlock`:break;default:return!1}return t==null||k(e,t)}function Jc(e,t){if(!e)return!1;switch(e.type){case`FunctionDeclaration`:case`FunctionExpression`:case`StringLiteral`:case`NumericLiteral`:case`NullLiteral`:case`BooleanLiteral`:case`RegExpLiteral`:case`ArrowFunctionExpression`:case`BigIntLiteral`:break;case`Placeholder`:if(e.expectedNode===`StringLiteral`)break;default:return!1}return t==null||k(e,t)}function Yc(e,t){if(!e)return!1;switch(e.type){case`FunctionDeclaration`:case`VariableDeclaration`:case`ClassDeclaration`:case`ExportAllDeclaration`:case`ExportDefaultDeclaration`:case`ExportNamedDeclaration`:case`ImportDeclaration`:case`DeclareClass`:case`DeclareFunction`:case`DeclareInterface`:case`DeclareModule`:case`DeclareModuleExports`:case`DeclareTypeAlias`:case`DeclareOpaqueType`:case`DeclareVariable`:case`DeclareExportDeclaration`:case`DeclareExportAllDeclaration`:case`InterfaceDeclaration`:case`OpaqueType`:case`TypeAlias`:case`EnumDeclaration`:case`TSDeclareFunction`:case`TSInterfaceDeclaration`:case`TSTypeAliasDeclaration`:case`TSEnumDeclaration`:case`TSModuleDeclaration`:case`TSImportEqualsDeclaration`:break;case`Placeholder`:if(e.expectedNode===`Declaration`)break;default:return!1}return t==null||k(e,t)}function Xc(e,t){if(!e)return!1;switch(e.type){case`Identifier`:case`RestElement`:case`AssignmentPattern`:case`ArrayPattern`:case`ObjectPattern`:case`VoidPattern`:break;case`Placeholder`:if(e.expectedNode===`Identifier`)break;default:return!1}return t==null||k(e,t)}function Zc(e,t){if(!e)return!1;switch(e.type){case`Identifier`:case`MemberExpression`:case`RestElement`:case`AssignmentPattern`:case`ArrayPattern`:case`ObjectPattern`:case`VoidPattern`:case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSTypeAssertion`:case`TSNonNullExpression`:break;case`Placeholder`:switch(e.expectedNode){case`Pattern`:case`Identifier`:break;default:return!1}break;default:return!1}return t==null||k(e,t)}function Qc(e,t){if(!e)return!1;switch(e.type){case`Identifier`:case`MemberExpression`:case`ArrayPattern`:case`ObjectPattern`:case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSTypeAssertion`:case`TSNonNullExpression`:break;case`Placeholder`:switch(e.expectedNode){case`Pattern`:case`Identifier`:break;default:return!1}break;default:return!1}return t==null||k(e,t)}function $c(e,t){if(!e)return!1;switch(e.type){case`Identifier`:case`ThisExpression`:case`TSQualifiedName`:break;case`Placeholder`:if(e.expectedNode===`Identifier`)break;default:return!1}return t==null||k(e,t)}function el(e,t){if(!e)return!1;switch(e.type){case`StringLiteral`:case`NumericLiteral`:case`NullLiteral`:case`BooleanLiteral`:case`RegExpLiteral`:case`TemplateLiteral`:case`BigIntLiteral`:break;case`Placeholder`:if(e.expectedNode===`StringLiteral`)break;default:return!1}return t==null||k(e,t)}function tl(e,t){if(!e)return!1;switch(e.type){case`ObjectMethod`:case`ObjectProperty`:case`ObjectTypeInternalSlot`:case`ObjectTypeCallProperty`:case`ObjectTypeIndexer`:case`ObjectTypeProperty`:case`ObjectTypeSpreadProperty`:break;default:return!1}return t==null||k(e,t)}function nl(e,t){if(!e)return!1;switch(e.type){case`ObjectMethod`:case`ClassMethod`:case`ClassPrivateMethod`:break;default:return!1}return t==null||k(e,t)}function rl(e,t){if(!e)return!1;switch(e.type){case`ObjectMethod`:case`ObjectProperty`:break;default:return!1}return t==null||k(e,t)}function il(e,t){if(!e)return!1;switch(e.type){case`ObjectProperty`:case`ClassProperty`:case`ClassPrivateProperty`:case`ClassAccessorProperty`:break;default:return!1}return t==null||k(e,t)}function al(e,t){if(!e)return!1;switch(e.type){case`UnaryExpression`:case`SpreadElement`:break;default:return!1}return t==null||k(e,t)}function ol(e,t){if(!e)return!1;switch(e.type){case`AssignmentPattern`:case`ArrayPattern`:case`ObjectPattern`:case`VoidPattern`:break;case`Placeholder`:if(e.expectedNode===`Pattern`)break;default:return!1}return t==null||k(e,t)}function sl(e,t){if(!e)return!1;switch(e.type){case`ClassExpression`:case`ClassDeclaration`:break;default:return!1}return t==null||k(e,t)}function cl(e,t){if(!e)return!1;switch(e.type){case`ExportAllDeclaration`:case`ExportDefaultDeclaration`:case`ExportNamedDeclaration`:case`ImportDeclaration`:break;default:return!1}return t==null||k(e,t)}function ll(e,t){if(!e)return!1;switch(e.type){case`ExportAllDeclaration`:case`ExportDefaultDeclaration`:case`ExportNamedDeclaration`:break;default:return!1}return t==null||k(e,t)}function ul(e,t){if(!e)return!1;switch(e.type){case`ExportSpecifier`:case`ImportDefaultSpecifier`:case`ImportNamespaceSpecifier`:case`ImportSpecifier`:case`ExportNamespaceSpecifier`:case`ExportDefaultSpecifier`:break;default:return!1}return t==null||k(e,t)}function dl(e,t){if(!e)return!1;switch(e.type){case`ClassPrivateProperty`:case`ClassPrivateMethod`:case`PrivateName`:break;default:return!1}return t==null||k(e,t)}function fl(e,t){if(!e)return!1;switch(e.type){case`AnyTypeAnnotation`:case`ArrayTypeAnnotation`:case`BooleanTypeAnnotation`:case`BooleanLiteralTypeAnnotation`:case`NullLiteralTypeAnnotation`:case`ClassImplements`:case`DeclareClass`:case`DeclareFunction`:case`DeclareInterface`:case`DeclareModule`:case`DeclareModuleExports`:case`DeclareTypeAlias`:case`DeclareOpaqueType`:case`DeclareVariable`:case`DeclareExportDeclaration`:case`DeclareExportAllDeclaration`:case`DeclaredPredicate`:case`ExistsTypeAnnotation`:case`FunctionTypeAnnotation`:case`FunctionTypeParam`:case`GenericTypeAnnotation`:case`InferredPredicate`:case`InterfaceExtends`:case`InterfaceDeclaration`:case`InterfaceTypeAnnotation`:case`IntersectionTypeAnnotation`:case`MixedTypeAnnotation`:case`EmptyTypeAnnotation`:case`NullableTypeAnnotation`:case`NumberLiteralTypeAnnotation`:case`BigIntLiteralTypeAnnotation`:case`NumberTypeAnnotation`:case`ObjectTypeAnnotation`:case`ObjectTypeInternalSlot`:case`ObjectTypeCallProperty`:case`ObjectTypeIndexer`:case`ObjectTypeProperty`:case`ObjectTypeSpreadProperty`:case`OpaqueType`:case`QualifiedTypeIdentifier`:case`StringLiteralTypeAnnotation`:case`StringTypeAnnotation`:case`SymbolTypeAnnotation`:case`ThisTypeAnnotation`:case`TupleTypeAnnotation`:case`TypeofTypeAnnotation`:case`TypeAlias`:case`TypeAnnotation`:case`TypeCastExpression`:case`TypeParameter`:case`TypeParameterDeclaration`:case`TypeParameterInstantiation`:case`UnionTypeAnnotation`:case`Variance`:case`VoidTypeAnnotation`:case`EnumDeclaration`:case`EnumBooleanBody`:case`EnumNumberBody`:case`EnumStringBody`:case`EnumSymbolBody`:case`EnumBooleanMember`:case`EnumNumberMember`:case`EnumStringMember`:case`EnumDefaultedMember`:case`IndexedAccessType`:case`OptionalIndexedAccessType`:break;default:return!1}return t==null||k(e,t)}function pl(e,t){if(!e)return!1;switch(e.type){case`AnyTypeAnnotation`:case`ArrayTypeAnnotation`:case`BooleanTypeAnnotation`:case`BooleanLiteralTypeAnnotation`:case`NullLiteralTypeAnnotation`:case`ExistsTypeAnnotation`:case`FunctionTypeAnnotation`:case`GenericTypeAnnotation`:case`InterfaceTypeAnnotation`:case`IntersectionTypeAnnotation`:case`MixedTypeAnnotation`:case`EmptyTypeAnnotation`:case`NullableTypeAnnotation`:case`NumberLiteralTypeAnnotation`:case`BigIntLiteralTypeAnnotation`:case`NumberTypeAnnotation`:case`ObjectTypeAnnotation`:case`StringLiteralTypeAnnotation`:case`StringTypeAnnotation`:case`SymbolTypeAnnotation`:case`ThisTypeAnnotation`:case`TupleTypeAnnotation`:case`TypeofTypeAnnotation`:case`UnionTypeAnnotation`:case`VoidTypeAnnotation`:case`IndexedAccessType`:case`OptionalIndexedAccessType`:break;default:return!1}return t==null||k(e,t)}function ml(e,t){if(!e)return!1;switch(e.type){case`AnyTypeAnnotation`:case`BooleanTypeAnnotation`:case`NullLiteralTypeAnnotation`:case`MixedTypeAnnotation`:case`EmptyTypeAnnotation`:case`NumberTypeAnnotation`:case`StringTypeAnnotation`:case`SymbolTypeAnnotation`:case`ThisTypeAnnotation`:case`VoidTypeAnnotation`:break;default:return!1}return t==null||k(e,t)}function hl(e,t){if(!e)return!1;switch(e.type){case`DeclareClass`:case`DeclareFunction`:case`DeclareInterface`:case`DeclareModule`:case`DeclareModuleExports`:case`DeclareTypeAlias`:case`DeclareOpaqueType`:case`DeclareVariable`:case`DeclareExportDeclaration`:case`DeclareExportAllDeclaration`:case`InterfaceDeclaration`:case`OpaqueType`:case`TypeAlias`:break;default:return!1}return t==null||k(e,t)}function gl(e,t){if(!e)return!1;switch(e.type){case`DeclaredPredicate`:case`InferredPredicate`:break;default:return!1}return t==null||k(e,t)}function _l(e,t){if(!e)return!1;switch(e.type){case`EnumBooleanBody`:case`EnumNumberBody`:case`EnumStringBody`:case`EnumSymbolBody`:break;default:return!1}return t==null||k(e,t)}function vl(e,t){if(!e)return!1;switch(e.type){case`EnumBooleanMember`:case`EnumNumberMember`:case`EnumStringMember`:case`EnumDefaultedMember`:break;default:return!1}return t==null||k(e,t)}function yl(e,t){if(!e)return!1;switch(e.type){case`JSXAttribute`:case`JSXClosingElement`:case`JSXElement`:case`JSXEmptyExpression`:case`JSXExpressionContainer`:case`JSXSpreadChild`:case`JSXIdentifier`:case`JSXMemberExpression`:case`JSXNamespacedName`:case`JSXOpeningElement`:case`JSXSpreadAttribute`:case`JSXText`:case`JSXFragment`:case`JSXOpeningFragment`:case`JSXClosingFragment`:break;default:return!1}return t==null||k(e,t)}function bl(e,t){if(!e)return!1;switch(e.type){case`Placeholder`:case`V8IntrinsicIdentifier`:break;default:return!1}return t==null||k(e,t)}function xl(e,t){if(!e)return!1;switch(e.type){case`ClassAccessorProperty`:break;default:return!1}return t==null||k(e,t)}function Sl(e,t){if(!e)return!1;switch(e.type){case`TSParameterProperty`:case`TSDeclareFunction`:case`TSDeclareMethod`:case`TSQualifiedName`:case`TSCallSignatureDeclaration`:case`TSConstructSignatureDeclaration`:case`TSPropertySignature`:case`TSMethodSignature`:case`TSIndexSignature`:case`TSAnyKeyword`:case`TSBooleanKeyword`:case`TSBigIntKeyword`:case`TSIntrinsicKeyword`:case`TSNeverKeyword`:case`TSNullKeyword`:case`TSNumberKeyword`:case`TSObjectKeyword`:case`TSStringKeyword`:case`TSSymbolKeyword`:case`TSUndefinedKeyword`:case`TSUnknownKeyword`:case`TSVoidKeyword`:case`TSThisType`:case`TSFunctionType`:case`TSConstructorType`:case`TSTypeReference`:case`TSTypePredicate`:case`TSTypeQuery`:case`TSTypeLiteral`:case`TSArrayType`:case`TSTupleType`:case`TSOptionalType`:case`TSRestType`:case`TSNamedTupleMember`:case`TSUnionType`:case`TSIntersectionType`:case`TSConditionalType`:case`TSInferType`:case`TSParenthesizedType`:case`TSTypeOperator`:case`TSIndexedAccessType`:case`TSMappedType`:case`TSTemplateLiteralType`:case`TSLiteralType`:case`TSClassImplements`:case`TSInterfaceHeritage`:case`TSInterfaceDeclaration`:case`TSInterfaceBody`:case`TSTypeAliasDeclaration`:case`TSInstantiationExpression`:case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSTypeAssertion`:case`TSEnumBody`:case`TSEnumDeclaration`:case`TSEnumMember`:case`TSModuleDeclaration`:case`TSModuleBlock`:case`TSImportType`:case`TSImportEqualsDeclaration`:case`TSExternalModuleReference`:case`TSNonNullExpression`:case`TSExportAssignment`:case`TSNamespaceExportDeclaration`:case`TSTypeAnnotation`:case`TSTypeParameterInstantiation`:case`TSTypeParameterDeclaration`:case`TSTypeParameter`:break;default:return!1}return t==null||k(e,t)}function Cl(e,t){if(!e)return!1;switch(e.type){case`TSCallSignatureDeclaration`:case`TSConstructSignatureDeclaration`:case`TSPropertySignature`:case`TSMethodSignature`:case`TSIndexSignature`:break;default:return!1}return t==null||k(e,t)}function wl(e,t){if(!e)return!1;switch(e.type){case`TSAnyKeyword`:case`TSBooleanKeyword`:case`TSBigIntKeyword`:case`TSIntrinsicKeyword`:case`TSNeverKeyword`:case`TSNullKeyword`:case`TSNumberKeyword`:case`TSObjectKeyword`:case`TSStringKeyword`:case`TSSymbolKeyword`:case`TSUndefinedKeyword`:case`TSUnknownKeyword`:case`TSVoidKeyword`:case`TSThisType`:case`TSFunctionType`:case`TSConstructorType`:case`TSTypeReference`:case`TSTypePredicate`:case`TSTypeQuery`:case`TSTypeLiteral`:case`TSArrayType`:case`TSTupleType`:case`TSOptionalType`:case`TSRestType`:case`TSUnionType`:case`TSIntersectionType`:case`TSConditionalType`:case`TSInferType`:case`TSParenthesizedType`:case`TSTypeOperator`:case`TSIndexedAccessType`:case`TSMappedType`:case`TSTemplateLiteralType`:case`TSLiteralType`:case`TSClassImplements`:case`TSInterfaceHeritage`:case`TSImportType`:break;default:return!1}return t==null||k(e,t)}function Tl(e,t){if(!e)return!1;switch(e.type){case`TSAnyKeyword`:case`TSBooleanKeyword`:case`TSBigIntKeyword`:case`TSIntrinsicKeyword`:case`TSNeverKeyword`:case`TSNullKeyword`:case`TSNumberKeyword`:case`TSObjectKeyword`:case`TSStringKeyword`:case`TSSymbolKeyword`:case`TSUndefinedKeyword`:case`TSUnknownKeyword`:case`TSVoidKeyword`:case`TSThisType`:case`TSTemplateLiteralType`:case`TSLiteralType`:break;default:return!1}return t==null||k(e,t)}function El(e,t){return A(`isNumberLiteral`,`isNumericLiteral`),!e||e.type!==`NumberLiteral`?!1:t==null||k(e,t)}function Dl(e,t){return A(`isRegexLiteral`,`isRegExpLiteral`),!e||e.type!==`RegexLiteral`?!1:t==null||k(e,t)}function Ol(e,t){return A(`isRestProperty`,`isRestElement`),!e||e.type!==`RestProperty`?!1:t==null||k(e,t)}function kl(e,t){return A(`isSpreadProperty`,`isSpreadElement`),!e||e.type!==`SpreadProperty`?!1:t==null||k(e,t)}function Al(e,t){return A(`isModuleDeclaration`,`isImportOrExportDeclaration`),cl(e,t)}function jl(e){return Oi(e)||ua(e)}function Ml(e,t,n){if(!jl(e))return!1;let r=Array.isArray(t)?t:t.split(`.`),i=[],a;for(a=e;jl(a);a=a.object??a.meta)i.push(a.property);if(i.push(a),i.length<r.length||!n&&i.length>r.length)return!1;for(let e=0,t=i.length-1;e<r.length;e++,t--){let n=i[t],a;if(yi(n))a=n.name;else if(Si(n))a=n.value;else if(Bi(n))a=`this`;else if(ma(n))a=`super`;else if(ka(n))a=`#`+n.id.name;else return!1;if(r[e]!==a)return!1}return!0}function Nl(e,t){let n=e.split(`.`);return e=>Ml(e,n,t)}var Pl=Nl(`React.Component`);function Fl(e){return!!e&&/^[a-z]/.test(e)}function Il(e,t){return e===t?!0:e==null||iu[t]?!1:!!M[t]?.includes(e)}function Ll(e,t){return!!(e===t||Lu[e]?.includes(t))}function j(e,t,n){return t?Il(t.type,e)?n===void 0||k(t,n):!n&&t.type===`Placeholder`&&e in M&&Ll(t.expectedNode,e):!1}function Rl(e,t=!0){return typeof e!=`string`||t&&(Br(e)||zr(e,!0))?!1:Pr(e)}var zl=[`consequent`,`body`,`alternate`],Bl=[`body`,`expressions`],Vl=[`left`,`init`],Hl=[`leadingComments`,`trailingComments`,`innerComments`],Ul=[`||`,`&&`,`??`],Wl=[`++`,`--`],Gl=[`>`,`<`,`>=`,`<=`],Kl=[`==`,`===`,`!=`,`!==`],ql=[...Kl,`in`,`instanceof`],Jl=[...ql,...Gl],Yl=[`-`,`/`,`%`,`*`,`**`,`&`,`|`,`>>`,`>>>`,`<<`,`^`],Xl=[`+`,...Yl,...Jl,`|>`],Zl=[`=`,`+=`,...Yl.map(e=>e+`=`),...Ul.map(e=>e+`=`)],Ql=[`delete`,`!`],$l=[`+`,`-`,`~`],eu=[`typeof`],tu=[`void`,`throw`,...Ql,...$l,...eu],nu={optional:[`typeAnnotation`,`typeParameters`,`returnType`],force:[`start`,`loc`,`end`]},ru={},iu={},M={},au={},ou={},su={},cu={},lu={};function uu(e){return Array.isArray(e)?`array`:e===null?`null`:typeof e}function N(e,...t){return Object.assign(e,...t)}function P(e){return{validate:e}}function F(...e){return P(V(...e))}function I(e){return{validate:e,optional:!0}}function du(e,t){return{validate:e,default:t,optional:!1}}function L(...e){return{validate:V(...e),optional:!0}}function fu(e){return U(H(`array`),pu(e))}function R(...e){return fu(V(...e))}function z(...e){return P(R(...e))}function pu(e){let t=$u;function n(n,r,i){if(!Array.isArray(i))return;let a=0,o={toString(){return`${r}[${a}]`}};for(;a<i.length;a++){let r=i[a];e(n,o,r),t(n,o,r)}}return n.each=e,n}function B(...e){function t(t,n,r){if(!e.includes(r))throw TypeError(`Property ${n} expected value to be one of ${JSON.stringify(e)} but got ${JSON.stringify(r)}`)}return t.oneOf=e,t}var mu=[];function V(...e){let t=new Set;mu.push({types:e,set:t});function n(n,r,i){let a=i?.type;if(a!=null){if(t.has(a)){$u(n,r,i);return}if(a===`Placeholder`){for(let t of e)if(j(t,i)){$u(n,r,i);return}}}throw TypeError(`Property ${r} of ${n.type} expected node to be of a type ${JSON.stringify(e)} but instead got ${JSON.stringify(a)}`)}return n.oneOfNodeTypes=e,n}function hu(...e){function t(t,n,r){let i=uu(r);for(let a of e)if(i===a||j(a,r)){$u(t,n,r);return}throw TypeError(`Property ${n} of ${t.type} expected node to be of a type ${JSON.stringify(e)} but instead got ${JSON.stringify(r?.type)}`)}return t.oneOfNodeOrValueTypes=e,t}function H(e){function t(t,n,r){if(uu(r)!==e)throw TypeError(`Property ${n} expected type of ${e} but got ${uu(r)}`)}return t.type=e,t}function gu(e){let t=Object.keys(e);function n(n,r,i){let a=[];for(let r of t)try{Qu(n,r,i[r],e[r])}catch(e){if(e instanceof TypeError){a.push(e.message);continue}throw e}if(a.length)throw TypeError(`Property ${r} of ${n.type} expected to have the following:\n${a.join(`
12
+ `)}`)}return n.shapeOf=e,n}function _u(){function e(e){let t=e;for(;e;){let{type:e}=t;if(e===`OptionalCallExpression`){if(t.optional)return;t=t.callee;continue}if(e===`OptionalMemberExpression`){if(t.optional)return;t=t.object;continue}break}throw TypeError(`Non-optional ${e.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${t?.type}`)}return e}function U(...e){function t(...t){for(let n of e)n(...t)}if(t.chainOf=e,e.length>=2&&`type`in e[0]&&e[0].type===`array`&&!(`each`in e[1]))throw Error(`An assertValueType("array") validator can only be followed by an assertEach(...) validator.`);return t}var vu=new Set([`aliases`,`builder`,`deprecatedAlias`,`fields`,`inherits`,`visitor`,`validate`,`unionShape`]),yu=new Set([`default`,`optional`,`deprecated`,`validate`]),bu={};function xu(...e){return(t,n={})=>{let r=n.aliases;r||(n.inherits&&(r=bu[n.inherits].aliases?.slice()),r??=[],n.aliases=r);let i=e.filter(e=>!r.includes(e));r.unshift(...i),Su(t,n)}}function Su(e,t={}){let n=t.inherits&&bu[t.inherits]||{},r=t.visitor||n.visitor||[],i=t.aliases||n.aliases||[],a=t.builder||n.builder||t.visitor||[],o=t.fields;if(!o&&(o={},n.fields)){let e=Object.getOwnPropertyNames(n.fields);for(let t of e){let e=n.fields[t],r=e.default;if(Array.isArray(r)?r.length>0:r&&typeof r==`object`)throw Error(`field defaults can only be primitives or empty arrays currently`);o[t]={default:Array.isArray(r)?[]:r,optional:e.optional,deprecated:e.deprecated,validate:e.validate}}}for(let n of Object.keys(t))if(!vu.has(n))throw Error(`Unknown type option "${n}" on ${e}`);t.deprecatedAlias&&(su[t.deprecatedAlias]=e);for(let e of r.concat(a))o[e]=o[e]||{};for(let t of Object.keys(o)){let n=o[t];n.default===null&&(n.optional??=!0),n.default===void 0?(n.default=null,n.optional??=!1):!n.validate&&n.default!=null&&(n.validate=H(uu(n.default)));for(let r of Object.keys(n))if(!yu.has(r))throw Error(`Unknown field key "${r}" on ${e}.${t}`)}ru[e]=t.visitor=r,ou[e]=t.builder=a,au[e]=t.fields=o,iu[e]=t.aliases=i,i.forEach(t=>{M[t]=M[t]||[],M[t].push(e)}),t.validate&&(cu[e]=t.validate),t.unionShape&&(lu[e]=t.unionShape),bu[e]=t}var Cu=Object.defineProperty({__proto__:null,ALIAS_KEYS:iu,BUILDER_KEYS:ou,DEPRECATED_KEYS:su,FLIPPED_ALIAS_KEYS:M,NODE_FIELDS:au,NODE_PARENT_VALIDATIONS:cu,NODE_UNION_SHAPES__PRIVATE:lu,VISITOR_KEYS:ru,allExpandedTypes:mu,arrayOf:fu,arrayOfType:R,assertEach:pu,assertNodeOrValueType:hu,assertNodeType:V,assertOneOf:B,assertOptionalChainStart:_u,assertShape:gu,assertValueType:H,chain:U,combine:N,default:Su,defineAliasedType:xu,validate:P,validateArrayOfType:z,validateDefault:du,validateOptional:I,validateOptionalType:L,validateType:F},Symbol.toStringTag,{value:`Module`}),wu=(e=!1)=>({unionShape:{discriminator:`computed`,shapes:[{name:`computed`,value:[!0],properties:{key:{validate:V(`Expression`)}}},{name:`nonComputed`,value:[!1],properties:{key:{validate:e?V(`Identifier`,`StringLiteral`,`NumericLiteral`,`BigIntLiteral`,`PrivateName`):V(`Identifier`,`StringLiteral`,`NumericLiteral`,`BigIntLiteral`)}}}]}}),Tu={unionShape:{discriminator:`computed`,shapes:[{name:`computed`,value:[!0],properties:{property:{validate:V(`Expression`)}}},{name:`nonComputed`,value:[!1],properties:{property:{validate:V(`Identifier`,`PrivateName`)}}}]}},W=xu(`Standardized`);W(`ArrayExpression`,{fields:{elements:{validate:fu(hu(`null`,`Expression`,`SpreadElement`)),default:void 0}},visitor:[`elements`],aliases:[`Expression`]}),W(`AssignmentExpression`,{fields:{operator:{validate:N(function(){let e=B(...Zl),t=B(`=`);return function(n,r,i){(j(`Pattern`,n.left)?t:e)(n,r,i)}}(),{oneOf:Zl})},left:{validate:V(`Identifier`,`MemberExpression`,`OptionalMemberExpression`,`ArrayPattern`,`ObjectPattern`,`TSAsExpression`,`TSSatisfiesExpression`,`TSTypeAssertion`,`TSNonNullExpression`)},right:{validate:V(`Expression`)}},builder:[`operator`,`left`,`right`],visitor:[`left`,`right`],aliases:[`Expression`]}),W(`BinaryExpression`,{builder:[`operator`,`left`,`right`],fields:{operator:{validate:B(...Xl)},left:{validate:function(){let e=V(`Expression`),t=V(`Expression`,`PrivateName`);return N(function(n,r,i){(n.operator===`in`?t:e)(n,r,i)},{oneOfNodeTypes:[`Expression`,`PrivateName`]})}()},right:{validate:V(`Expression`)}},unionShape:{discriminator:`operator`,shapes:[{name:`in`,value:[`in`],properties:{left:{validate:V(`Expression`,`PrivateName`)}}},{name:`notIn`,value:Xl.filter(e=>e!==`in`),properties:{left:{validate:V(`Expression`)}}}]},visitor:[`left`,`right`],aliases:[`Binary`,`Expression`]}),W(`InterpreterDirective`,{builder:[`value`],fields:{value:{validate:H(`string`)}}}),W(`Directive`,{visitor:[`value`],fields:{value:{validate:V(`DirectiveLiteral`)}}}),W(`DirectiveLiteral`,{builder:[`value`],fields:{value:{validate:H(`string`)}}}),W(`BlockStatement`,{builder:[`body`,`directives`],visitor:[`directives`,`body`],fields:{directives:{validate:R(`Directive`),default:[]},body:z(`Statement`)},aliases:[`Scopable`,`BlockParent`,`Block`,`Statement`]}),W(`BreakStatement`,{visitor:[`label`],fields:{label:{validate:V(`Identifier`),optional:!0}},aliases:[`Statement`,`Terminatorless`,`CompletionStatement`]}),W(`CallExpression`,{visitor:[`callee`,`typeArguments`,`arguments`],builder:[`callee`,`arguments`],aliases:[`Expression`],fields:{callee:{validate:V(`Expression`,`Super`,`Import`,`V8IntrinsicIdentifier`)},arguments:z(`Expression`,`SpreadElement`,`ArgumentPlaceholder`),typeArguments:{validate:V(`TypeParameterInstantiation`,`TSTypeParameterInstantiation`),optional:!0}}}),W(`CatchClause`,{visitor:[`param`,`body`],fields:{param:{validate:V(`Identifier`,`ArrayPattern`,`ObjectPattern`),optional:!0},body:{validate:V(`BlockStatement`)}},aliases:[`Scopable`,`BlockParent`]}),W(`ConditionalExpression`,{visitor:[`test`,`consequent`,`alternate`],fields:{test:{validate:V(`Expression`)},consequent:{validate:V(`Expression`)},alternate:{validate:V(`Expression`)}},aliases:[`Expression`,`Conditional`]}),W(`ContinueStatement`,{visitor:[`label`],fields:{label:{validate:V(`Identifier`),optional:!0}},aliases:[`Statement`,`Terminatorless`,`CompletionStatement`]}),W(`DebuggerStatement`,{aliases:[`Statement`]}),W(`DoWhileStatement`,{builder:[`test`,`body`],visitor:[`body`,`test`],fields:{test:{validate:V(`Expression`)},body:{validate:V(`Statement`)}},aliases:[`Statement`,`BlockParent`,`Loop`,`While`,`Scopable`]}),W(`EmptyStatement`,{aliases:[`Statement`]}),W(`ExpressionStatement`,{visitor:[`expression`],fields:{expression:{validate:V(`Expression`)}},aliases:[`Statement`,`ExpressionWrapper`]}),W(`File`,{builder:[`program`,`comments`,`tokens`],visitor:[`program`],fields:{program:{validate:V(`Program`)},comments:{validate:pu(V(`CommentBlock`,`CommentLine`)),optional:!0},tokens:{validate:pu(Object.assign(()=>{},{type:`any`})),optional:!0}}}),W(`ForInStatement`,{visitor:[`left`,`right`,`body`],aliases:[`Scopable`,`Statement`,`For`,`BlockParent`,`Loop`,`ForXStatement`],fields:{left:{validate:V(`VariableDeclaration`,`Identifier`,`MemberExpression`,`ArrayPattern`,`ObjectPattern`,`TSAsExpression`,`TSSatisfiesExpression`,`TSTypeAssertion`,`TSNonNullExpression`)},right:{validate:V(`Expression`)},body:{validate:V(`Statement`)}}}),W(`ForStatement`,{visitor:[`init`,`test`,`update`,`body`],aliases:[`Scopable`,`Statement`,`For`,`BlockParent`,`Loop`],fields:{init:{validate:V(`VariableDeclaration`,`Expression`),optional:!0},test:{validate:V(`Expression`),optional:!0},update:{validate:V(`Expression`),optional:!0},body:{validate:V(`Statement`)}}});var Eu=()=>({params:z(`FunctionParameter`),generator:{default:!1},async:{default:!1}}),Du=()=>({returnType:{validate:V(`TypeAnnotation`,`TSTypeAnnotation`),optional:!0},typeParameters:{validate:V(`TypeParameterDeclaration`,`TSTypeParameterDeclaration`),optional:!0}}),Ou=()=>({...Eu(),declare:{validate:H(`boolean`),optional:!0},id:{validate:V(`Identifier`),optional:!0}});W(`FunctionDeclaration`,{builder:[`id`,`params`,`body`,`generator`,`async`],visitor:[`id`,`typeParameters`,`params`,`predicate`,`returnType`,`body`],fields:{...Ou(),...Du(),body:{validate:V(`BlockStatement`)},predicate:{validate:V(`FlowPredicate`),optional:!0}},aliases:[`Scopable`,`Function`,`BlockParent`,`FunctionParent`,`Statement`,`Pureish`,`Declaration`],validate:function(){let e=V(`Identifier`);return function(t,n,r){j(`ExportDefaultDeclaration`,t)||e(r,`id`,r.id)}}()}),W(`FunctionExpression`,{inherits:`FunctionDeclaration`,aliases:[`Scopable`,`Function`,`BlockParent`,`FunctionParent`,`Expression`,`Pureish`],fields:{...Eu(),...Du(),id:{validate:V(`Identifier`),optional:!0},body:{validate:V(`BlockStatement`)},predicate:{validate:V(`FlowPredicate`),optional:!0}}});var ku=()=>({typeAnnotation:{validate:V(`TypeAnnotation`,`TSTypeAnnotation`),optional:!0},optional:{validate:H(`boolean`),optional:!0},decorators:{validate:R(`Decorator`),optional:!0}});W(`Identifier`,{builder:[`name`],visitor:[`typeAnnotation`,`decorators`],aliases:[`Expression`,`FunctionParameter`,`PatternLike`,`LVal`,`TSEntityName`],fields:{...ku(),name:{validate:U(H(`string`),N(function(e,t,n){if(!Rl(n,!1))throw TypeError(`"${n}" is not a valid identifier name`)},{type:`string`}))}},validate:function(e,t,n){let r=/\.(\w+)$/.exec(t.toString());if(!r)return;let[,i]=r,a={computed:!1};if(i===`property`){if(j(`MemberExpression`,e,a)||j(`OptionalMemberExpression`,e,a))return}else if(i===`key`){if(j(`Property`,e,a)||j(`Method`,e,a))return}else if(i===`exported`){if(j(`ExportSpecifier`,e))return}else if(i===`imported`){if(j(`ImportSpecifier`,e,{imported:n}))return}else if(i===`meta`&&j(`MetaProperty`,e,{meta:n}))return;if((Br(n.name)||Rr(n.name,!1))&&n.name!==`this`)throw TypeError(`"${n.name}" is not a valid identifier`)}}),W(`IfStatement`,{visitor:[`test`,`consequent`,`alternate`],aliases:[`Statement`,`Conditional`],fields:{test:{validate:V(`Expression`)},consequent:{validate:V(`Statement`)},alternate:{optional:!0,validate:V(`Statement`)}}}),W(`LabeledStatement`,{visitor:[`label`,`body`],aliases:[`Statement`],fields:{label:{validate:V(`Identifier`)},body:{validate:V(`Statement`)}}}),W(`StringLiteral`,{builder:[`value`],fields:{value:{validate:H(`string`)}},aliases:[`Expression`,`Pureish`,`Literal`,`Immutable`]}),W(`NumericLiteral`,{builder:[`value`],deprecatedAlias:`NumberLiteral`,fields:{value:{validate:U(H(`number`),N(function(e,t,n){if(1/n<0||!Number.isFinite(n)){let e=Error(`NumericLiterals must be non-negative finite numbers. You can use t.valueToNode(${n}) instead.`);if(!Error().stack.includes(`regenerator`))throw e}},{type:`number`}))}},aliases:[`Expression`,`Pureish`,`Literal`,`Immutable`]}),W(`NullLiteral`,{aliases:[`Expression`,`Pureish`,`Literal`,`Immutable`]}),W(`BooleanLiteral`,{builder:[`value`],fields:{value:{validate:H(`boolean`)}},aliases:[`Expression`,`Pureish`,`Literal`,`Immutable`]}),W(`RegExpLiteral`,{builder:[`pattern`,`flags`],deprecatedAlias:`RegexLiteral`,aliases:[`Expression`,`Pureish`,`Literal`],fields:{pattern:{validate:H(`string`)},flags:{validate:U(H(`string`),N(function(e,t,n){let r=/[^dgimsuvy]/.exec(n);if(r)throw TypeError(`"${r[0]}" is not a valid RegExp flag`)},{type:`string`})),default:``}}}),W(`LogicalExpression`,{builder:[`operator`,`left`,`right`],visitor:[`left`,`right`],aliases:[`Binary`,`Expression`],fields:{operator:{validate:B(...Ul)},left:{validate:V(`Expression`)},right:{validate:V(`Expression`)}}}),W(`MemberExpression`,{builder:[`object`,`property`,`computed`],visitor:[`object`,`property`],aliases:[`Expression`,`LVal`,`PatternLike`],...Tu,fields:{object:{validate:V(`Expression`,`Super`)},property:{validate:function(){let e=V(`Identifier`,`PrivateName`),t=V(`Expression`);return N(function(n,r,i){(n.computed?t:e)(n,r,i)},{oneOfNodeTypes:[`Expression`,`Identifier`,`PrivateName`]})}()},computed:{default:!1}}}),W(`NewExpression`,{inherits:`CallExpression`,fields:{callee:{validate:V(`Expression`)},arguments:z(`Expression`,`SpreadElement`,`ArgumentPlaceholder`),typeArguments:{validate:V(`TypeParameterInstantiation`,`TSTypeParameterInstantiation`),optional:!0}}}),W(`Program`,{visitor:[`directives`,`body`],builder:[`body`,`directives`,`sourceType`,`interpreter`],fields:{sourceType:{validate:B(`script`,`module`),default:`script`},interpreter:{validate:V(`InterpreterDirective`),default:null,optional:!0},directives:{validate:R(`Directive`),default:[]},body:z(`Statement`)},aliases:[`Scopable`,`BlockParent`,`Block`]}),W(`ObjectExpression`,{visitor:[`properties`],aliases:[`Expression`],fields:{properties:z(`ObjectMethod`,`ObjectProperty`,`SpreadElement`)}}),W(`ObjectMethod`,{builder:[`kind`,`key`,`params`,`body`,`computed`,`generator`,`async`],visitor:[`decorators`,`key`,`typeParameters`,`params`,`returnType`,`body`],...wu(),fields:{...Eu(),...Du(),kind:{validate:B(`method`,`get`,`set`)},computed:{default:!1},key:{validate:function(){let e=V(`Identifier`,`StringLiteral`,`NumericLiteral`,`BigIntLiteral`),t=V(`Expression`);return N(function(n,r,i){(n.computed?t:e)(n,r,i)},{oneOfNodeTypes:[`Expression`,`Identifier`,`StringLiteral`,`NumericLiteral`,`BigIntLiteral`]})}()},decorators:{validate:R(`Decorator`),optional:!0},body:{validate:V(`BlockStatement`)}},aliases:[`UserWhitespacable`,`Function`,`Scopable`,`BlockParent`,`FunctionParent`,`Method`,`ObjectMember`]}),W(`ObjectProperty`,{builder:[`key`,`value`,`computed`,`shorthand`],...wu(!0),fields:{computed:{default:!1},key:{validate:function(){let e=V(`Identifier`,`StringLiteral`,`NumericLiteral`,`BigIntLiteral`,`PrivateName`),t=V(`Expression`);return N(function(n,r,i){(n.computed?t:e)(n,r,i)},{oneOfNodeTypes:[`Expression`,`Identifier`,`StringLiteral`,`NumericLiteral`,`BigIntLiteral`,`PrivateName`]})}()},value:{validate:V(`Expression`,`PatternLike`)},shorthand:{validate:U(H(`boolean`),N(function(e,t,n){if(n){if(e.computed)throw TypeError(`Property shorthand of ObjectProperty cannot be true if computed is true`);if(!j(`Identifier`,e.key))throw TypeError(`Property shorthand of ObjectProperty cannot be true if key is not an Identifier`)}},{type:`boolean`})),default:!1},decorators:{validate:R(`Decorator`),optional:!0}},visitor:[`decorators`,`key`,`value`],aliases:[`UserWhitespacable`,`Property`,`ObjectMember`],validate:function(){let e=V(`Identifier`,`Pattern`,`TSAsExpression`,`TSSatisfiesExpression`,`TSNonNullExpression`,`TSTypeAssertion`),t=V(`Expression`);return function(n,r,i){(j(`ObjectPattern`,n)?e:t)(i,`value`,i.value)}}()}),W(`RestElement`,{visitor:[`argument`,`typeAnnotation`],builder:[`argument`],aliases:[`FunctionParameter`,`PatternLike`],deprecatedAlias:`RestProperty`,fields:{...ku(),argument:{validate:V(`Identifier`,`ArrayPattern`,`ObjectPattern`,`MemberExpression`,`TSAsExpression`,`TSSatisfiesExpression`,`TSTypeAssertion`,`TSNonNullExpression`)}},validate:function(e,t){let n=/(\w+)\[(\d+)\]/.exec(t.toString());if(!n)throw Error(`Internal Babel error: malformed key.`);let[,r,i]=n;if(e[r].length>+i+1)throw TypeError(`RestElement must be last element of ${r}`)}}),W(`ReturnStatement`,{visitor:[`argument`],aliases:[`Statement`,`Terminatorless`,`CompletionStatement`],fields:{argument:{validate:V(`Expression`),optional:!0}}}),W(`SequenceExpression`,{visitor:[`expressions`],fields:{expressions:z(`Expression`)},aliases:[`Expression`]}),W(`ParenthesizedExpression`,{visitor:[`expression`],aliases:[`Expression`,`ExpressionWrapper`],fields:{expression:{validate:V(`Expression`)}}}),W(`SwitchCase`,{visitor:[`test`,`consequent`],fields:{test:{validate:V(`Expression`),optional:!0},consequent:z(`Statement`)}}),W(`SwitchStatement`,{visitor:[`discriminant`,`cases`],aliases:[`Statement`,`BlockParent`,`Scopable`],fields:{discriminant:{validate:V(`Expression`)},cases:z(`SwitchCase`)}}),W(`ThisExpression`,{aliases:[`Expression`,`TSEntityName`]}),W(`ThrowStatement`,{visitor:[`argument`],aliases:[`Statement`,`Terminatorless`,`CompletionStatement`],fields:{argument:{validate:V(`Expression`)}}}),W(`TryStatement`,{visitor:[`block`,`handler`,`finalizer`],aliases:[`Statement`],fields:{block:{validate:U(V(`BlockStatement`),N(function(e){if(!e.handler&&!e.finalizer)throw TypeError(`TryStatement expects either a handler or finalizer, or both`)},{oneOfNodeTypes:[`BlockStatement`]}))},handler:{optional:!0,validate:V(`CatchClause`)},finalizer:{optional:!0,validate:V(`BlockStatement`)}}}),W(`UnaryExpression`,{builder:[`operator`,`argument`,`prefix`],fields:{prefix:{default:!0},argument:{validate:V(`Expression`)},operator:{validate:B(...tu)}},visitor:[`argument`],aliases:[`UnaryLike`,`Expression`]}),W(`UpdateExpression`,{builder:[`operator`,`argument`,`prefix`],fields:{prefix:{default:!1},argument:{validate:V(`Identifier`,`MemberExpression`)},operator:{validate:B(...Wl)}},visitor:[`argument`],aliases:[`Expression`]}),W(`VariableDeclaration`,{builder:[`kind`,`declarations`],visitor:[`declarations`],aliases:[`Statement`,`Declaration`],fields:{declare:{validate:H(`boolean`),optional:!0},kind:{validate:B(`var`,`let`,`const`,`using`,`await using`)},declarations:z(`VariableDeclarator`)},validate:(()=>{let e=V(`Identifier`,`Placeholder`),t=V(`Identifier`,`ArrayPattern`,`ObjectPattern`,`Placeholder`),n=V(`Identifier`,`VoidPattern`,`Placeholder`);return function(r,i,a){let{kind:o,declarations:s}=a,c=j(`ForXStatement`,r,{left:a});if(c&&s.length!==1)throw TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${r.type}`);for(let r of s)o===`const`||o===`let`||o===`var`?!c&&!r.init?e(r,`id`,r.id):t(r,`id`,r.id):n(r,`id`,r.id)}})()}),W(`VariableDeclarator`,{visitor:[`id`,`init`],fields:{id:{validate:V(`Identifier`,`ArrayPattern`,`ObjectPattern`,`VoidPattern`)},definite:{optional:!0,validate:H(`boolean`)},init:{optional:!0,validate:V(`Expression`)}}}),W(`WhileStatement`,{visitor:[`test`,`body`],aliases:[`Statement`,`BlockParent`,`Loop`,`While`,`Scopable`],fields:{test:{validate:V(`Expression`)},body:{validate:V(`Statement`)}}}),W(`WithStatement`,{visitor:[`object`,`body`],aliases:[`Statement`],fields:{object:{validate:V(`Expression`)},body:{validate:V(`Statement`)}}}),W(`AssignmentPattern`,{visitor:[`left`,`right`,`decorators`],builder:[`left`,`right`],aliases:[`FunctionParameter`,`Pattern`,`PatternLike`],fields:{...ku(),left:{validate:V(`Identifier`,`ObjectPattern`,`ArrayPattern`,`MemberExpression`,`TSAsExpression`,`TSSatisfiesExpression`,`TSTypeAssertion`,`TSNonNullExpression`)},right:{validate:V(`Expression`)},decorators:{validate:R(`Decorator`),optional:!0}}}),W(`ArrayPattern`,{visitor:[`elements`,`typeAnnotation`],builder:[`elements`],aliases:[`FunctionParameter`,`Pattern`,`PatternLike`,`LVal`],fields:{...ku(),elements:{validate:U(H(`array`),pu(hu(`null`,`PatternLike`)))}}}),W(`ArrowFunctionExpression`,{builder:[`params`,`body`,`async`],visitor:[`typeParameters`,`params`,`predicate`,`returnType`,`body`],aliases:[`Scopable`,`Function`,`BlockParent`,`FunctionParent`,`Expression`,`Pureish`],fields:{...Eu(),generator:{default:null,optional:!0,validate:N((e,t,n)=>{if(n)throw TypeError(`ArrowFunctionExpression cannot be a generator`)},{type:`boolean`})},...Du(),expression:{optional:!0,validate:H(`boolean`)},body:{validate:V(`BlockStatement`,`Expression`)},predicate:{validate:V(`FlowPredicate`),optional:!0}}}),W(`ClassBody`,{visitor:[`body`],fields:{body:z(`ClassMethod`,`ClassPrivateMethod`,`ClassProperty`,`ClassPrivateProperty`,`ClassAccessorProperty`,`TSDeclareMethod`,`TSIndexSignature`,`StaticBlock`)}}),W(`ClassExpression`,{builder:[`id`,`superClass`,`body`,`decorators`],visitor:[`decorators`,`id`,`typeParameters`,`superClass`,`superTypeArguments`,`mixins`,`implements`,`body`],aliases:[`Scopable`,`Class`,`Expression`],fields:{id:{validate:V(`Identifier`),optional:!0},typeParameters:{validate:V(`TypeParameterDeclaration`,`TSTypeParameterDeclaration`),optional:!0},body:{validate:V(`ClassBody`)},superClass:{optional:!0,validate:V(`Expression`)},superTypeArguments:{validate:V(`TypeParameterInstantiation`,`TSTypeParameterInstantiation`),optional:!0},implements:{validate:R(`TSClassImplements`,`ClassImplements`),optional:!0},decorators:{validate:R(`Decorator`),optional:!0},mixins:{validate:V(`InterfaceExtends`),optional:!0}}}),W(`ClassDeclaration`,{inherits:`ClassExpression`,aliases:[`Scopable`,`Class`,`Statement`,`Declaration`],fields:{id:{validate:V(`Identifier`),optional:!0},typeParameters:{validate:V(`TypeParameterDeclaration`,`TSTypeParameterDeclaration`),optional:!0},body:{validate:V(`ClassBody`)},superClass:{optional:!0,validate:V(`Expression`)},superTypeArguments:{validate:V(`TypeParameterInstantiation`,`TSTypeParameterInstantiation`),optional:!0},implements:{validate:R(`TSClassImplements`,`ClassImplements`),optional:!0},decorators:{validate:R(`Decorator`),optional:!0},mixins:{validate:V(`InterfaceExtends`),optional:!0},declare:{validate:H(`boolean`),optional:!0},abstract:{validate:H(`boolean`),optional:!0}},validate:function(){let e=V(`Identifier`);return function(t,n,r){j(`ExportDefaultDeclaration`,t)||e(r,`id`,r.id)}}()});var Au={attributes:{optional:!0,validate:R(`ImportAttribute`)}};W(`ExportAllDeclaration`,{visitor:[`source`,`attributes`],aliases:[`Statement`,`Declaration`,`ImportOrExportDeclaration`,`ExportDeclaration`],fields:{source:{validate:V(`StringLiteral`)},exportKind:I(B(`type`,`value`)),...Au}}),W(`ExportDefaultDeclaration`,{visitor:[`declaration`],aliases:[`Statement`,`Declaration`,`ImportOrExportDeclaration`,`ExportDeclaration`],fields:{declaration:F(`FunctionDeclaration`,`ClassDeclaration`,`Expression`,`TSDeclareFunction`,`TSInterfaceDeclaration`,`EnumDeclaration`),exportKind:I(B(`value`))}}),W(`ExportNamedDeclaration`,{builder:[`declaration`,`specifiers`,`source`,`attributes`],visitor:[`declaration`,`specifiers`,`source`,`attributes`],aliases:[`Statement`,`Declaration`,`ImportOrExportDeclaration`,`ExportDeclaration`],fields:{declaration:{optional:!0,validate:U(V(`Declaration`),N(function(e,t,n){if(n&&e.specifiers.length)throw TypeError(`Only declaration or specifiers is allowed on ExportNamedDeclaration`);if(n&&e.source)throw TypeError(`Cannot export a declaration from a source`)},{oneOfNodeTypes:[`VariableDeclaration`,`FunctionDeclaration`,`ClassDeclaration`,`TSDeclareFunction`,`TSEnumDeclaration`,`TSImportEqualsDeclaration`,`TSInterfaceDeclaration`,`TSModuleDeclaration`,`TSTypeAliasDeclaration`,`EnumDeclaration`,`InterfaceDeclaration`,`OpaqueType`,`TypeAlias`]}))},...Au,specifiers:{default:[],validate:fu(function(){let e=V(`ExportSpecifier`,`ExportDefaultSpecifier`,`ExportNamespaceSpecifier`),t=V(`ExportSpecifier`);return N(function(n,r,i){(n.source?e:t)(n,r,i)},{oneOfNodeTypes:[`ExportSpecifier`,`ExportDefaultSpecifier`,`ExportNamespaceSpecifier`]})}())},source:{validate:V(`StringLiteral`),optional:!0},exportKind:I(B(`type`,`value`))}}),W(`ExportSpecifier`,{visitor:[`local`,`exported`],aliases:[`ModuleSpecifier`],fields:{local:{validate:V(`Identifier`)},exported:{validate:V(`Identifier`,`StringLiteral`)},exportKind:{validate:B(`type`,`value`),optional:!0}}}),W(`ForOfStatement`,{visitor:[`left`,`right`,`body`],builder:[`left`,`right`,`body`,`await`],aliases:[`Scopable`,`Statement`,`For`,`BlockParent`,`Loop`,`ForXStatement`],fields:{left:{validate:function(){let e=V(`VariableDeclaration`),t=V(`Identifier`,`MemberExpression`,`ArrayPattern`,`ObjectPattern`,`TSAsExpression`,`TSSatisfiesExpression`,`TSTypeAssertion`,`TSNonNullExpression`);return N(function(n,r,i){j(`VariableDeclaration`,i)?e(n,r,i):t(n,r,i)},{oneOfNodeTypes:[`VariableDeclaration`,`Identifier`,`MemberExpression`,`ArrayPattern`,`ObjectPattern`,`TSAsExpression`,`TSSatisfiesExpression`,`TSTypeAssertion`,`TSNonNullExpression`]})}()},right:{validate:V(`Expression`)},body:{validate:V(`Statement`)},await:{default:!1}}}),W(`ImportDeclaration`,{builder:[`specifiers`,`source`,`attributes`],visitor:[`specifiers`,`source`,`attributes`],aliases:[`Statement`,`Declaration`,`ImportOrExportDeclaration`],fields:{...Au,module:{optional:!0,validate:H(`boolean`)},phase:{default:null,validate:B(`source`,`defer`)},specifiers:z(`ImportSpecifier`,`ImportDefaultSpecifier`,`ImportNamespaceSpecifier`),source:{validate:V(`StringLiteral`)},importKind:{validate:B(`type`,`typeof`,`value`),optional:!0}}}),W(`ImportDefaultSpecifier`,{visitor:[`local`],aliases:[`ModuleSpecifier`],fields:{local:{validate:V(`Identifier`)}}}),W(`ImportNamespaceSpecifier`,{visitor:[`local`],aliases:[`ModuleSpecifier`],fields:{local:{validate:V(`Identifier`)}}}),W(`ImportSpecifier`,{visitor:[`imported`,`local`],builder:[`local`,`imported`],aliases:[`ModuleSpecifier`],fields:{local:{validate:V(`Identifier`)},imported:{validate:V(`Identifier`,`StringLiteral`)},importKind:{validate:B(`type`,`typeof`,`value`),optional:!0}}}),W(`MetaProperty`,{visitor:[`meta`,`property`],aliases:[`Expression`],fields:{meta:{validate:U(V(`Identifier`),N(function(e,t,n){let r;switch(n.name){case`function`:r=`sent`;break;case`new`:r=`target`;break;case`import`:r=`meta`}if(!j(`Identifier`,e.property,{name:r}))throw TypeError(`Unrecognised MetaProperty`)},{oneOfNodeTypes:[`Identifier`]}))},property:{validate:V(`Identifier`)}}});var ju=()=>({abstract:{validate:H(`boolean`),default:!1,optional:!0},accessibility:{validate:B(`public`,`private`,`protected`),optional:!0},static:{default:!1},override:{optional:!0,validate:H(`boolean`),default:!1},computed:{default:!1},optional:{validate:H(`boolean`),optional:!0},key:{validate:U(function(){let e=V(`Identifier`,`StringLiteral`,`NumericLiteral`,`BigIntLiteral`),t=V(`Expression`);return function(n,r,i){(n.computed?t:e)(n,r,i)}}(),V(`Identifier`,`StringLiteral`,`NumericLiteral`,`BigIntLiteral`,`Expression`))}}),Mu=(e=!0)=>({...Eu(),...ju(),params:z(`FunctionParameter`,`TSParameterProperty`),kind:{validate:B(`get`,`set`,`method`,`constructor`),default:`method`},access:{validate:U(H(`string`),B(`public`,`private`,`protected`)),optional:!0},...e?{decorators:{validate:R(`Decorator`),optional:!0}}:{}});W(`ClassMethod`,{aliases:[`Function`,`Scopable`,`BlockParent`,`FunctionParent`,`Method`],builder:[`kind`,`key`,`params`,`body`,`computed`,`static`,`generator`,`async`],visitor:[`decorators`,`key`,`typeParameters`,`params`,`returnType`,`body`],...wu(),fields:{...Mu(),...Du(),body:{validate:V(`BlockStatement`)}}}),W(`ObjectPattern`,{visitor:[`decorators`,`properties`,`typeAnnotation`],builder:[`properties`],aliases:[`FunctionParameter`,`Pattern`,`PatternLike`,`LVal`],fields:{...ku(),properties:z(`RestElement`,`ObjectProperty`)}}),W(`SpreadElement`,{visitor:[`argument`],aliases:[`UnaryLike`],deprecatedAlias:`SpreadProperty`,fields:{argument:{validate:V(`Expression`)}}}),W(`Super`),W(`TaggedTemplateExpression`,{visitor:[`tag`,`typeArguments`,`quasi`],builder:[`tag`,`quasi`],aliases:[`Expression`],fields:{tag:{validate:V(`Expression`)},quasi:{validate:V(`TemplateLiteral`)},typeArguments:{validate:V(`TypeParameterInstantiation`,`TSTypeParameterInstantiation`),optional:!0}}}),W(`TemplateElement`,{builder:[`value`,`tail`],fields:{value:{validate:U(gu({raw:{validate:H(`string`)},cooked:{validate:H(`string`),optional:!0}}),function(e){let t=e.value.raw,n=!1,r=()=>{throw Error(`Internal @babel/types error.`)},{str:i,firstInvalidLoc:a}=Wr(`template`,t,0,0,0,{unterminated(){n=!0},strictNumericEscape:r,invalidEscapeSequence:r,numericSeparatorInEscapeSequence:r,unexpectedNumericSeparator:r,invalidDigit:r,invalidCodePoint:r});if(!n)throw Error(`Invalid raw`);e.value.cooked=a?null:i})},tail:{default:!1}}}),W(`TemplateLiteral`,{visitor:[`quasis`,`expressions`],aliases:[`Expression`,`Literal`],fields:{quasis:z(`TemplateElement`),expressions:{validate:U(H(`array`),pu(V(`Expression`,`TSType`)),function(e,t,n){if(e.quasis.length!==n.length+1)throw TypeError(`Number of ${e.type} quasis should be exactly one more than the number of expressions.\nExpected ${n.length+1} quasis but got ${e.quasis.length}`)})}}}),W(`YieldExpression`,{builder:[`argument`,`delegate`],visitor:[`argument`],aliases:[`Expression`,`Terminatorless`],fields:{delegate:{validate:U(H(`boolean`),N(function(e,t,n){if(n&&!e.argument)throw TypeError(`Property delegate of YieldExpression cannot be true if there is no argument`)},{type:`boolean`})),default:!1},argument:{optional:!0,validate:V(`Expression`)}}}),W(`AwaitExpression`,{builder:[`argument`],visitor:[`argument`],aliases:[`Expression`,`Terminatorless`],fields:{argument:{validate:V(`Expression`)}}}),W(`ImportExpression`,{visitor:[`source`,`options`],aliases:[`Expression`],fields:{phase:{default:null,validate:B(`source`,`defer`)},source:{validate:V(`Expression`)},options:{validate:V(`Expression`),optional:!0}}}),W(`Import`),W(`BigIntLiteral`,{builder:[`value`],fields:{value:{validate:H(`bigint`)}},aliases:[`Expression`,`Pureish`,`Literal`,`Immutable`]}),W(`ExportNamespaceSpecifier`,{visitor:[`exported`],aliases:[`ModuleSpecifier`],fields:{exported:{validate:V(`Identifier`,`StringLiteral`)}}}),W(`OptionalMemberExpression`,{builder:[`object`,`property`,`computed`,`optional`],visitor:[`object`,`property`],aliases:[`Expression`],...Tu,fields:{object:{validate:V(`Expression`)},property:{validate:function(){let e=V(`Identifier`,`PrivateName`),t=V(`Expression`);return N(function(n,r,i){(n.computed?t:e)(n,r,i)},{oneOfNodeTypes:[`Expression`,`PrivateName`]})}()},computed:{default:!1},optional:{validate:U(H(`boolean`),_u())}}}),W(`OptionalCallExpression`,{visitor:[`callee`,`typeArguments`,`arguments`],builder:[`callee`,`arguments`,`optional`],aliases:[`Expression`],fields:{callee:{validate:V(`Expression`)},arguments:z(`Expression`,`SpreadElement`,`ArgumentPlaceholder`),optional:{validate:U(H(`boolean`),_u())},typeArguments:{validate:V(`TypeParameterInstantiation`,`TSTypeParameterInstantiation`),optional:!0}}}),W(`ClassProperty`,{visitor:[`decorators`,`variance`,`key`,`typeAnnotation`,`value`],builder:[`key`,`value`,`typeAnnotation`,`decorators`,`computed`,`static`],aliases:[`Property`],...wu(),fields:{...ju(),value:{validate:V(`Expression`),optional:!0},definite:{validate:H(`boolean`),optional:!0},typeAnnotation:{validate:V(`TypeAnnotation`,`TSTypeAnnotation`),optional:!0},decorators:{validate:R(`Decorator`),optional:!0},readonly:{validate:H(`boolean`),optional:!0},declare:{validate:H(`boolean`),optional:!0},variance:{validate:V(`Variance`),optional:!0}}}),W(`ClassPrivateProperty`,{visitor:[`decorators`,`variance`,`key`,`typeAnnotation`,`value`],builder:[`key`,`value`,`decorators`,`static`],aliases:[`Property`,`Private`],fields:{key:{validate:V(`PrivateName`)},value:{validate:V(`Expression`),optional:!0},typeAnnotation:{validate:V(`TypeAnnotation`,`TSTypeAnnotation`),optional:!0},decorators:{validate:R(`Decorator`),optional:!0},static:{validate:H(`boolean`),default:!1},readonly:{validate:H(`boolean`),optional:!0},optional:{validate:H(`boolean`),optional:!0},definite:{validate:H(`boolean`),optional:!0},variance:{validate:V(`Variance`),optional:!0}}}),W(`ClassPrivateMethod`,{builder:[`kind`,`key`,`params`,`body`,`static`],visitor:[`decorators`,`key`,`typeParameters`,`params`,`returnType`,`body`],aliases:[`Function`,`Scopable`,`BlockParent`,`FunctionParent`,`Method`,`Private`],fields:{...Mu(),...Du(),kind:{validate:B(`get`,`set`,`method`),default:`method`},key:{validate:V(`PrivateName`)},body:{validate:V(`BlockStatement`)}}}),W(`PrivateName`,{visitor:[`id`],aliases:[`Private`],fields:{id:{validate:V(`Identifier`)}}}),W(`StaticBlock`,{visitor:[`body`],fields:{body:z(`Statement`)},aliases:[`Scopable`,`BlockParent`,`FunctionParent`]}),W(`ImportAttribute`,{visitor:[`key`,`value`],fields:{key:{validate:V(`Identifier`,`StringLiteral`)},value:{validate:V(`StringLiteral`)}}});var G=xu(`Flow`),Nu=e=>{let t=e===`DeclareClass`;G(e,{builder:[`id`,`typeParameters`,`extends`,`body`],visitor:[`id`,`typeParameters`,`extends`,...t?[`mixins`,`implements`]:[],`body`],aliases:[`FlowDeclaration`,`Statement`,`Declaration`],fields:{id:F(`Identifier`),typeParameters:L(`TypeParameterDeclaration`),extends:I(R(`InterfaceExtends`)),...t?{mixins:I(R(`InterfaceExtends`)),implements:I(R(`ClassImplements`))}:{},body:F(`ObjectTypeAnnotation`)}})};G(`AnyTypeAnnotation`,{aliases:[`FlowType`,`FlowBaseAnnotation`]}),G(`ArrayTypeAnnotation`,{visitor:[`elementType`],aliases:[`FlowType`],fields:{elementType:F(`FlowType`)}}),G(`BooleanTypeAnnotation`,{aliases:[`FlowType`,`FlowBaseAnnotation`]}),G(`BooleanLiteralTypeAnnotation`,{builder:[`value`],aliases:[`FlowType`],fields:{value:P(H(`boolean`))}}),G(`NullLiteralTypeAnnotation`,{aliases:[`FlowType`,`FlowBaseAnnotation`]}),G(`ClassImplements`,{visitor:[`id`,`typeParameters`],fields:{id:F(`Identifier`),typeParameters:L(`TypeParameterInstantiation`)}}),Nu(`DeclareClass`),G(`DeclareFunction`,{builder:[`id`],visitor:[`id`,`predicate`],aliases:[`FlowDeclaration`,`Statement`,`Declaration`],fields:{id:F(`Identifier`),predicate:L(`FlowPredicate`)}}),Nu(`DeclareInterface`),G(`DeclareModule`,{builder:[`id`,`body`,`kind`],visitor:[`id`,`body`],aliases:[`FlowDeclaration`,`Statement`,`Declaration`],fields:{id:F(`Identifier`,`StringLiteral`),body:F(`BlockStatement`),kind:I(B(`CommonJS`,`ES`))}}),G(`DeclareModuleExports`,{visitor:[`typeAnnotation`],aliases:[`FlowDeclaration`,`Statement`,`Declaration`],fields:{typeAnnotation:F(`TypeAnnotation`)}}),G(`DeclareTypeAlias`,{visitor:[`id`,`typeParameters`,`right`],aliases:[`FlowDeclaration`,`Statement`,`Declaration`],fields:{id:F(`Identifier`),typeParameters:L(`TypeParameterDeclaration`),right:F(`FlowType`)}}),G(`DeclareOpaqueType`,{visitor:[`id`,`typeParameters`,`supertype`],aliases:[`FlowDeclaration`,`Statement`,`Declaration`],fields:{id:F(`Identifier`),typeParameters:L(`TypeParameterDeclaration`),supertype:L(`FlowType`),impltype:L(`FlowType`)}}),G(`DeclareVariable`,{visitor:[`id`],aliases:[`FlowDeclaration`,`Statement`,`Declaration`],fields:{id:F(`Identifier`)}}),G(`DeclareExportDeclaration`,{visitor:[`declaration`,`specifiers`,`source`,`attributes`],aliases:[`FlowDeclaration`,`Statement`,`Declaration`],fields:{declaration:L(`Flow`),specifiers:I(R(`ExportSpecifier`,`ExportNamespaceSpecifier`)),source:L(`StringLiteral`),default:I(H(`boolean`)),...Au}}),G(`DeclareExportAllDeclaration`,{visitor:[`source`,`attributes`],aliases:[`FlowDeclaration`,`Statement`,`Declaration`],fields:{source:F(`StringLiteral`),exportKind:I(B(`type`,`value`)),...Au}}),G(`DeclaredPredicate`,{visitor:[`value`],aliases:[`FlowPredicate`],fields:{value:F(`Expression`)}}),G(`ExistsTypeAnnotation`,{aliases:[`FlowType`]}),G(`FunctionTypeAnnotation`,{builder:[`typeParameters`,`params`,`rest`,`returnType`],visitor:[`typeParameters`,`this`,`params`,`rest`,`returnType`],aliases:[`FlowType`],fields:{typeParameters:L(`TypeParameterDeclaration`),params:z(`FunctionTypeParam`),rest:L(`FunctionTypeParam`),this:L(`FunctionTypeParam`),returnType:F(`FlowType`)}}),G(`FunctionTypeParam`,{visitor:[`name`,`typeAnnotation`],fields:{name:L(`Identifier`),typeAnnotation:F(`FlowType`),optional:I(H(`boolean`))}}),G(`GenericTypeAnnotation`,{visitor:[`id`,`typeParameters`],aliases:[`FlowType`],fields:{id:F(`Identifier`,`QualifiedTypeIdentifier`),typeParameters:L(`TypeParameterInstantiation`)}}),G(`InferredPredicate`,{aliases:[`FlowPredicate`]}),G(`InterfaceExtends`,{visitor:[`id`,`typeParameters`],fields:{id:F(`Identifier`,`QualifiedTypeIdentifier`),typeParameters:L(`TypeParameterInstantiation`)}}),Nu(`InterfaceDeclaration`),G(`InterfaceTypeAnnotation`,{visitor:[`extends`,`body`],aliases:[`FlowType`],fields:{extends:I(R(`InterfaceExtends`)),body:F(`ObjectTypeAnnotation`)}}),G(`IntersectionTypeAnnotation`,{visitor:[`types`],aliases:[`FlowType`],fields:{types:P(R(`FlowType`))}}),G(`MixedTypeAnnotation`,{aliases:[`FlowType`,`FlowBaseAnnotation`]}),G(`EmptyTypeAnnotation`,{aliases:[`FlowType`,`FlowBaseAnnotation`]}),G(`NullableTypeAnnotation`,{visitor:[`typeAnnotation`],aliases:[`FlowType`],fields:{typeAnnotation:F(`FlowType`)}}),G(`NumberLiteralTypeAnnotation`,{builder:[`value`],aliases:[`FlowType`],fields:{value:P(H(`number`))}}),G(`BigIntLiteralTypeAnnotation`,{builder:[`value`],aliases:[`FlowType`],fields:{value:P(H(`bigint`))}}),G(`NumberTypeAnnotation`,{aliases:[`FlowType`,`FlowBaseAnnotation`]}),G(`ObjectTypeAnnotation`,{visitor:[`properties`,`indexers`,`callProperties`,`internalSlots`],aliases:[`FlowType`],builder:[`properties`,`indexers`,`callProperties`,`internalSlots`,`exact`],fields:{properties:P(R(`ObjectTypeProperty`,`ObjectTypeSpreadProperty`)),indexers:{validate:R(`ObjectTypeIndexer`),optional:!1,default:[]},callProperties:{validate:R(`ObjectTypeCallProperty`),optional:!1,default:[]},internalSlots:{validate:R(`ObjectTypeInternalSlot`),optional:!1,default:[]},exact:{validate:H(`boolean`),default:!1},inexact:I(H(`boolean`))}}),G(`ObjectTypeInternalSlot`,{visitor:[`id`,`value`],builder:[`id`,`value`,`optional`,`static`,`method`],aliases:[`UserWhitespacable`],fields:{id:F(`Identifier`),value:F(`FlowType`),optional:P(H(`boolean`)),static:P(H(`boolean`)),method:P(H(`boolean`))}}),G(`ObjectTypeCallProperty`,{visitor:[`value`],aliases:[`UserWhitespacable`],fields:{value:F(`FlowType`),static:du(H(`boolean`),!1)}}),G(`ObjectTypeIndexer`,{visitor:[`variance`,`id`,`key`,`value`],builder:[`id`,`key`,`value`,`variance`],aliases:[`UserWhitespacable`],fields:{id:L(`Identifier`),key:F(`FlowType`),value:F(`FlowType`),static:du(H(`boolean`),!1),variance:L(`Variance`)}}),G(`ObjectTypeProperty`,{visitor:[`key`,`value`,`variance`],aliases:[`UserWhitespacable`],fields:{key:F(`Identifier`,`StringLiteral`,`NumericLiteral`),value:F(`FlowType`),kind:{validate:B(`init`,`get`,`set`),default:`init`,optional:!1},static:du(H(`boolean`),!1),proto:du(H(`boolean`),!1),optional:du(H(`boolean`),!1),variance:L(`Variance`),method:du(H(`boolean`),!1)}}),G(`ObjectTypeSpreadProperty`,{visitor:[`argument`],aliases:[`UserWhitespacable`],fields:{argument:F(`FlowType`)}}),G(`OpaqueType`,{visitor:[`id`,`typeParameters`,`supertype`,`impltype`],aliases:[`FlowDeclaration`,`Statement`,`Declaration`],fields:{id:F(`Identifier`),typeParameters:L(`TypeParameterDeclaration`),supertype:L(`FlowType`),impltype:F(`FlowType`)}}),G(`QualifiedTypeIdentifier`,{visitor:[`qualification`,`id`],builder:[`id`,`qualification`],fields:{id:F(`Identifier`),qualification:F(`Identifier`,`QualifiedTypeIdentifier`)}}),G(`StringLiteralTypeAnnotation`,{builder:[`value`],aliases:[`FlowType`],fields:{value:P(H(`string`))}}),G(`StringTypeAnnotation`,{aliases:[`FlowType`,`FlowBaseAnnotation`]}),G(`SymbolTypeAnnotation`,{aliases:[`FlowType`,`FlowBaseAnnotation`]}),G(`ThisTypeAnnotation`,{aliases:[`FlowType`,`FlowBaseAnnotation`]}),G(`TupleTypeAnnotation`,{visitor:[`types`],aliases:[`FlowType`],fields:{types:P(R(`FlowType`))}}),G(`TypeofTypeAnnotation`,{visitor:[`argument`],aliases:[`FlowType`],fields:{argument:F(`FlowType`)}}),G(`TypeAlias`,{visitor:[`id`,`typeParameters`,`right`],aliases:[`FlowDeclaration`,`Statement`,`Declaration`],fields:{id:F(`Identifier`),typeParameters:L(`TypeParameterDeclaration`),right:F(`FlowType`)}}),G(`TypeAnnotation`,{visitor:[`typeAnnotation`],fields:{typeAnnotation:F(`FlowType`)}}),G(`TypeCastExpression`,{visitor:[`expression`,`typeAnnotation`],aliases:[`ExpressionWrapper`,`Expression`],fields:{expression:F(`Expression`),typeAnnotation:F(`TypeAnnotation`)}}),G(`TypeParameter`,{builder:[`name`,`bound`,`default`,`variance`],visitor:[`bound`,`default`,`variance`],fields:{name:P(H(`string`)),bound:L(`TypeAnnotation`),default:L(`FlowType`),variance:L(`Variance`)}}),G(`TypeParameterDeclaration`,{visitor:[`params`],fields:{params:P(R(`TypeParameter`))}}),G(`TypeParameterInstantiation`,{visitor:[`params`],fields:{params:P(R(`FlowType`))}}),G(`UnionTypeAnnotation`,{visitor:[`types`],aliases:[`FlowType`],fields:{types:P(R(`FlowType`))}}),G(`Variance`,{builder:[`kind`],fields:{kind:P(B(`minus`,`plus`))}}),G(`VoidTypeAnnotation`,{aliases:[`FlowType`,`FlowBaseAnnotation`]}),G(`EnumDeclaration`,{aliases:[`Statement`,`Declaration`],visitor:[`id`,`body`],fields:{id:F(`Identifier`),body:F(`EnumBooleanBody`,`EnumNumberBody`,`EnumStringBody`,`EnumSymbolBody`)}});var Pu={explicitType:du(H(`boolean`),!1),hasUnknownMembers:du(H(`boolean`),!1)};G(`EnumBooleanBody`,{aliases:[`EnumBody`],visitor:[`members`],fields:{...Pu,members:z(`EnumBooleanMember`)}}),G(`EnumNumberBody`,{aliases:[`EnumBody`],visitor:[`members`],fields:{...Pu,members:z(`EnumNumberMember`)}}),G(`EnumStringBody`,{aliases:[`EnumBody`],visitor:[`members`],fields:{...Pu,members:z(`EnumStringMember`,`EnumDefaultedMember`)}}),G(`EnumSymbolBody`,{aliases:[`EnumBody`],visitor:[`members`],fields:{members:z(`EnumDefaultedMember`),hasUnknownMembers:du(H(`boolean`),!1)}}),G(`EnumBooleanMember`,{aliases:[`EnumMember`],visitor:[`id`,`init`],fields:{id:F(`Identifier`),init:F(`BooleanLiteral`)}}),G(`EnumNumberMember`,{aliases:[`EnumMember`],visitor:[`id`,`init`],fields:{id:F(`Identifier`),init:F(`NumericLiteral`)}}),G(`EnumStringMember`,{aliases:[`EnumMember`],visitor:[`id`,`init`],fields:{id:F(`Identifier`),init:F(`StringLiteral`)}}),G(`EnumDefaultedMember`,{aliases:[`EnumMember`],visitor:[`id`],fields:{id:F(`Identifier`)}}),G(`IndexedAccessType`,{visitor:[`objectType`,`indexType`],aliases:[`FlowType`],fields:{objectType:F(`FlowType`),indexType:F(`FlowType`)}}),G(`OptionalIndexedAccessType`,{visitor:[`objectType`,`indexType`],aliases:[`FlowType`],fields:{objectType:F(`FlowType`),indexType:F(`FlowType`),optional:du(H(`boolean`),!1)}});var Fu=xu(`JSX`);Fu(`JSXAttribute`,{visitor:[`name`,`value`],aliases:[`Immutable`],fields:{name:{validate:V(`JSXIdentifier`,`JSXNamespacedName`)},value:{optional:!0,validate:V(`JSXElement`,`JSXFragment`,`StringLiteral`,`JSXExpressionContainer`)}}}),Fu(`JSXClosingElement`,{visitor:[`name`],aliases:[`Immutable`],fields:{name:{validate:V(`JSXIdentifier`,`JSXMemberExpression`,`JSXNamespacedName`)}}}),Fu(`JSXElement`,{builder:[`openingElement`,`closingElement`,`children`],visitor:[`openingElement`,`children`,`closingElement`],aliases:[`Immutable`,`Expression`],fields:{openingElement:{validate:V(`JSXOpeningElement`)},closingElement:{optional:!0,validate:V(`JSXClosingElement`)},children:z(`JSXText`,`JSXExpressionContainer`,`JSXSpreadChild`,`JSXElement`,`JSXFragment`)}}),Fu(`JSXEmptyExpression`,{}),Fu(`JSXExpressionContainer`,{visitor:[`expression`],aliases:[`Immutable`],fields:{expression:{validate:V(`Expression`,`JSXEmptyExpression`)}}}),Fu(`JSXSpreadChild`,{visitor:[`expression`],aliases:[`Immutable`],fields:{expression:{validate:V(`Expression`)}}}),Fu(`JSXIdentifier`,{builder:[`name`],fields:{name:{validate:H(`string`)}}}),Fu(`JSXMemberExpression`,{visitor:[`object`,`property`],fields:{object:{validate:V(`JSXMemberExpression`,`JSXIdentifier`)},property:{validate:V(`JSXIdentifier`)}}}),Fu(`JSXNamespacedName`,{visitor:[`namespace`,`name`],fields:{namespace:{validate:V(`JSXIdentifier`)},name:{validate:V(`JSXIdentifier`)}}}),Fu(`JSXOpeningElement`,{builder:[`name`,`attributes`,`selfClosing`],visitor:[`name`,`typeArguments`,`attributes`],aliases:[`Immutable`],fields:{name:{validate:V(`JSXIdentifier`,`JSXMemberExpression`,`JSXNamespacedName`)},selfClosing:{default:!1},attributes:z(`JSXAttribute`,`JSXSpreadAttribute`),typeArguments:{validate:V(`TypeParameterInstantiation`,`TSTypeParameterInstantiation`),optional:!0}}}),Fu(`JSXSpreadAttribute`,{visitor:[`argument`],fields:{argument:{validate:V(`Expression`)}}}),Fu(`JSXText`,{aliases:[`Immutable`],builder:[`value`],fields:{value:{validate:H(`string`)}}}),Fu(`JSXFragment`,{builder:[`openingFragment`,`closingFragment`,`children`],visitor:[`openingFragment`,`children`,`closingFragment`],aliases:[`Immutable`,`Expression`],fields:{openingFragment:{validate:V(`JSXOpeningFragment`)},closingFragment:{validate:V(`JSXClosingFragment`)},children:z(`JSXText`,`JSXExpressionContainer`,`JSXSpreadChild`,`JSXElement`,`JSXFragment`)}}),Fu(`JSXOpeningFragment`,{aliases:[`Immutable`]}),Fu(`JSXClosingFragment`,{aliases:[`Immutable`]});var Iu=[`Identifier`,`StringLiteral`,`Expression`,`Statement`,`Declaration`,`BlockStatement`,`ClassBody`,`Pattern`],Lu={Declaration:[`Statement`],Pattern:[`PatternLike`,`LVal`]};for(let e of Iu){let t=iu[e];t?.length&&(Lu[e]=t)}var Ru={};Object.keys(Lu).forEach(e=>{Lu[e].forEach(t=>{Object.hasOwn(Ru,t)||(Ru[t]=[]),Ru[t].push(e)})});var zu=xu(`Miscellaneous`);zu(`Placeholder`,{visitor:[],builder:[`expectedNode`,`name`],fields:{name:{validate:V(`Identifier`)},expectedNode:{validate:B(...Iu)},...ku()}}),zu(`V8IntrinsicIdentifier`,{builder:[`name`],fields:{name:{validate:H(`string`)}}}),Su(`ArgumentPlaceholder`,{}),Su(`BindExpression`,{visitor:[`object`,`callee`],aliases:[`Expression`],fields:{object:{validate:hu(`null`,`Expression`)},callee:{validate:V(`Expression`)}}}),Su(`ClassAccessorProperty`,{visitor:[`decorators`,`key`,`typeAnnotation`,`value`],builder:[`key`,`value`,`typeAnnotation`,`decorators`,`computed`,`static`],aliases:[`Property`,`Accessor`],...wu(!0),fields:{...ju(),key:{validate:U(function(){let e=V(`Identifier`,`StringLiteral`,`NumericLiteral`,`BigIntLiteral`,`PrivateName`),t=V(`Expression`);return function(n,r,i){(n.computed?t:e)(n,r,i)}}(),V(`Identifier`,`StringLiteral`,`NumericLiteral`,`BigIntLiteral`,`Expression`,`PrivateName`))},value:{validate:V(`Expression`),optional:!0},definite:{validate:H(`boolean`),optional:!0},typeAnnotation:{validate:V(`TypeAnnotation`,`TSTypeAnnotation`),optional:!0},decorators:{validate:R(`Decorator`),optional:!0},readonly:{validate:H(`boolean`),optional:!0},declare:{validate:H(`boolean`),optional:!0},variance:{validate:V(`Variance`),optional:!0}}}),Su(`Decorator`,{visitor:[`expression`],fields:{expression:{validate:V(`Expression`)}}}),Su(`DoExpression`,{visitor:[`body`],builder:[`body`,`async`],aliases:[`Expression`],fields:{body:{validate:V(`BlockStatement`)},async:{validate:H(`boolean`),default:!1}}}),Su(`ExportDefaultSpecifier`,{visitor:[`exported`],aliases:[`ModuleSpecifier`],fields:{exported:{validate:V(`Identifier`)}}}),Su(`ModuleExpression`,{visitor:[`body`],fields:{body:{validate:V(`Program`)}},aliases:[`Expression`]}),Su(`TopicReference`,{aliases:[`Expression`]}),Su(`VoidPattern`,{aliases:[`Pattern`,`PatternLike`,`FunctionParameter`]});var K=xu(`TypeScript`),Bu=H(`boolean`),Vu=()=>({returnType:{validate:V(`TSTypeAnnotation`),optional:!0},typeParameters:{validate:V(`TSTypeParameterDeclaration`),optional:!0}});K(`TSParameterProperty`,{aliases:[],visitor:[`parameter`],fields:{accessibility:{validate:B(`public`,`private`,`protected`),optional:!0},readonly:{validate:H(`boolean`),optional:!0},parameter:{validate:V(`Identifier`,`AssignmentPattern`)},override:{validate:H(`boolean`),optional:!0},decorators:{validate:R(`Decorator`),optional:!0}}}),K(`TSDeclareFunction`,{aliases:[`Statement`,`Declaration`],visitor:[`id`,`typeParameters`,`params`,`returnType`],fields:{...Ou(),...Vu()}}),K(`TSDeclareMethod`,{visitor:[`key`,`typeParameters`,`params`,`returnType`],...wu(),fields:{...Mu(!1),...Vu()}}),K(`TSQualifiedName`,{aliases:[`TSEntityName`],visitor:[`left`,`right`],fields:{left:F(`TSEntityName`),right:F(`Identifier`)}});var Hu=()=>({typeParameters:L(`TSTypeParameterDeclaration`),params:z(`ArrayPattern`,`Identifier`,`ObjectPattern`,`RestElement`),returnType:L(`TSTypeAnnotation`)}),Uu={aliases:[`TSTypeElement`],visitor:[`typeParameters`,`params`,`returnType`],fields:Hu()};K(`TSCallSignatureDeclaration`,Uu),K(`TSConstructSignatureDeclaration`,Uu);var Wu=()=>({key:F(`Expression`),computed:{default:!1},optional:I(Bu)});K(`TSPropertySignature`,{aliases:[`TSTypeElement`],visitor:[`key`,`typeAnnotation`],fields:{...Wu(),readonly:I(Bu),typeAnnotation:L(`TSTypeAnnotation`),kind:{optional:!0,validate:B(`get`,`set`)}}}),K(`TSMethodSignature`,{aliases:[`TSTypeElement`],visitor:[`key`,`typeParameters`,`params`,`returnType`],fields:{...Hu(),...Wu(),kind:{validate:B(`method`,`get`,`set`),default:`method`}}}),K(`TSIndexSignature`,{aliases:[`TSTypeElement`],visitor:[`parameters`,`typeAnnotation`],fields:{readonly:I(Bu),static:I(Bu),parameters:z(`Identifier`),typeAnnotation:L(`TSTypeAnnotation`)}});for(let e of[`TSAnyKeyword`,`TSBooleanKeyword`,`TSBigIntKeyword`,`TSIntrinsicKeyword`,`TSNeverKeyword`,`TSNullKeyword`,`TSNumberKeyword`,`TSObjectKeyword`,`TSStringKeyword`,`TSSymbolKeyword`,`TSUndefinedKeyword`,`TSUnknownKeyword`,`TSVoidKeyword`])K(e,{aliases:[`TSType`,`TSBaseType`],visitor:[],fields:{}});K(`TSThisType`,{aliases:[`TSType`,`TSBaseType`],visitor:[],fields:{}});var Gu={aliases:[`TSType`],visitor:[`typeParameters`,`params`,`returnType`]};K(`TSFunctionType`,{...Gu,fields:Hu()}),K(`TSConstructorType`,{...Gu,fields:{...Hu(),abstract:I(Bu)}}),K(`TSTypeReference`,{aliases:[`TSType`],visitor:[`typeName`,`typeArguments`],fields:{typeName:F(`TSEntityName`),typeArguments:L(`TSTypeParameterInstantiation`)}}),K(`TSTypePredicate`,{aliases:[`TSType`],visitor:[`parameterName`,`typeAnnotation`],builder:[`parameterName`,`typeAnnotation`,`asserts`],fields:{parameterName:F(`Identifier`,`TSThisType`),typeAnnotation:L(`TSTypeAnnotation`),asserts:I(Bu)}}),K(`TSTypeQuery`,{aliases:[`TSType`],visitor:[`exprName`,`typeArguments`],fields:{exprName:F(`TSEntityName`,`TSImportType`),typeArguments:L(`TSTypeParameterInstantiation`)}}),K(`TSTypeLiteral`,{aliases:[`TSType`],visitor:[`members`],fields:{members:z(`TSTypeElement`)}}),K(`TSArrayType`,{aliases:[`TSType`],visitor:[`elementType`],fields:{elementType:F(`TSType`)}}),K(`TSTupleType`,{aliases:[`TSType`],visitor:[`elementTypes`],fields:{elementTypes:z(`TSType`,`TSNamedTupleMember`)}}),K(`TSOptionalType`,{aliases:[`TSType`],visitor:[`typeAnnotation`],fields:{typeAnnotation:F(`TSType`)}}),K(`TSRestType`,{aliases:[`TSType`],visitor:[`typeAnnotation`],fields:{typeAnnotation:F(`TSType`)}}),K(`TSNamedTupleMember`,{visitor:[`label`,`elementType`],builder:[`label`,`elementType`,`optional`],fields:{label:F(`Identifier`),optional:{validate:Bu,default:!1},elementType:F(`TSType`)}});var Ku={aliases:[`TSType`],visitor:[`types`],fields:{types:z(`TSType`)}};K(`TSUnionType`,Ku),K(`TSIntersectionType`,Ku),K(`TSConditionalType`,{aliases:[`TSType`],visitor:[`checkType`,`extendsType`,`trueType`,`falseType`],fields:{checkType:F(`TSType`),extendsType:F(`TSType`),trueType:F(`TSType`),falseType:F(`TSType`)}}),K(`TSInferType`,{aliases:[`TSType`],visitor:[`typeParameter`],fields:{typeParameter:F(`TSTypeParameter`)}}),K(`TSParenthesizedType`,{aliases:[`TSType`],visitor:[`typeAnnotation`],fields:{typeAnnotation:F(`TSType`)}}),K(`TSTypeOperator`,{aliases:[`TSType`],visitor:[`typeAnnotation`],builder:[`typeAnnotation`,`operator`],fields:{operator:{validate:B(`keyof`,`readonly`,`unique`),default:void 0},typeAnnotation:F(`TSType`)}}),K(`TSIndexedAccessType`,{aliases:[`TSType`],visitor:[`objectType`,`indexType`],fields:{objectType:F(`TSType`),indexType:F(`TSType`)}}),K(`TSMappedType`,{aliases:[`TSType`],visitor:[`key`,`constraint`,`nameType`,`typeAnnotation`],builder:[`key`,`constraint`,`nameType`,`typeAnnotation`],fields:{key:F(`Identifier`),constraint:F(`TSType`),readonly:I(B(!0,!1,`+`,`-`)),optional:I(B(!0,!1,`+`,`-`)),typeAnnotation:L(`TSType`),nameType:L(`TSType`)}}),K(`TSTemplateLiteralType`,{aliases:[`TSType`,`TSBaseType`],visitor:[`quasis`,`types`],fields:{quasis:z(`TemplateElement`),types:{validate:U(H(`array`),pu(V(`TSType`)),function(e,t,n){if(e.quasis.length!==n.length+1)throw TypeError(`Number of ${e.type} quasis should be exactly one more than the number of types.\nExpected ${n.length+1} quasis but got ${e.quasis.length}`)})}}}),K(`TSLiteralType`,{aliases:[`TSType`,`TSBaseType`],visitor:[`literal`],fields:{literal:{validate:function(){let e=V(`NumericLiteral`,`BigIntLiteral`),t=B(`-`),n=V(`NumericLiteral`,`StringLiteral`,`BooleanLiteral`,`BigIntLiteral`,`TemplateLiteral`);return N(function(r,i,a){j(`UnaryExpression`,a)?(t(a,`operator`,a.operator),e(a,`argument`,a.argument)):n(r,i,a)},{oneOfNodeTypes:[`NumericLiteral`,`StringLiteral`,`BooleanLiteral`,`BigIntLiteral`,`TemplateLiteral`,`UnaryExpression`]})}()}}}),K(`TSClassImplements`,{aliases:[`TSType`],visitor:[`expression`,`typeArguments`],fields:{expression:F(`Expression`),typeArguments:L(`TSTypeParameterInstantiation`)}}),K(`TSInterfaceHeritage`,{aliases:[`TSType`],visitor:[`expression`,`typeArguments`],fields:{expression:F(`Expression`),typeArguments:L(`TSTypeParameterInstantiation`)}}),K(`TSInterfaceDeclaration`,{aliases:[`Statement`,`Declaration`],visitor:[`id`,`typeParameters`,`extends`,`body`],fields:{declare:I(Bu),id:F(`Identifier`),typeParameters:L(`TSTypeParameterDeclaration`),extends:I(R(`TSInterfaceHeritage`)),body:F(`TSInterfaceBody`)}}),K(`TSInterfaceBody`,{visitor:[`body`],fields:{body:z(`TSTypeElement`)}}),K(`TSTypeAliasDeclaration`,{aliases:[`Statement`,`Declaration`],visitor:[`id`,`typeParameters`,`typeAnnotation`],fields:{declare:I(Bu),id:F(`Identifier`),typeParameters:L(`TSTypeParameterDeclaration`),typeAnnotation:F(`TSType`)}}),K(`TSInstantiationExpression`,{aliases:[`Expression`],visitor:[`expression`,`typeArguments`],fields:{expression:F(`Expression`),typeArguments:L(`TSTypeParameterInstantiation`)}});var qu={aliases:[`Expression`,`LVal`,`PatternLike`],visitor:[`expression`,`typeAnnotation`],fields:{expression:F(`Expression`),typeAnnotation:F(`TSType`)}};K(`TSAsExpression`,qu),K(`TSSatisfiesExpression`,qu),K(`TSTypeAssertion`,{aliases:[`Expression`,`LVal`,`PatternLike`],visitor:[`typeAnnotation`,`expression`],fields:{typeAnnotation:F(`TSType`),expression:F(`Expression`)}}),K(`TSEnumBody`,{visitor:[`members`],fields:{members:z(`TSEnumMember`)}}),K(`TSEnumDeclaration`,{aliases:[`Statement`,`Declaration`],visitor:[`id`,`body`],fields:{declare:I(Bu),const:I(Bu),id:F(`Identifier`),body:F(`TSEnumBody`)}}),K(`TSEnumMember`,{visitor:[`id`,`initializer`],fields:{id:F(`Identifier`,`StringLiteral`),initializer:L(`Expression`)}}),K(`TSModuleDeclaration`,{aliases:[`Statement`,`Declaration`],visitor:[`id`,`body`],fields:{kind:{validate:B(`global`,`namespace`,`module`),default:`namespace`},declare:I(Bu),id:{validate:U(V(`TSEntityName`,`StringLiteral`),N(function(e,t,n){if(e.kind===`namespace`&&j(`StringLiteral`,n))throw TypeError(`TSModuleDeclaration of kind 'namespace' cannot have a StringLiteral id.`)},{oneOfNodeTypes:[`TSEntityName`,`StringLiteral`]}))},body:F(`TSModuleBlock`)}}),K(`TSModuleBlock`,{aliases:[`Scopable`,`Block`,`BlockParent`,`FunctionParent`],visitor:[`body`],fields:{body:z(`Statement`)}}),K(`TSImportType`,{aliases:[`TSType`],builder:[`source`,`qualifier`,`typeArguments`],visitor:[`source`,`options`,`qualifier`,`typeArguments`],fields:{source:F(`StringLiteral`),qualifier:L(`TSEntityName`),typeArguments:L(`TSTypeParameterInstantiation`),options:{validate:V(`ObjectExpression`),optional:!0}}}),K(`TSImportEqualsDeclaration`,{aliases:[`Statement`,`Declaration`],visitor:[`id`,`moduleReference`],fields:{id:F(`Identifier`),moduleReference:F(`TSEntityName`,`TSExternalModuleReference`),importKind:{validate:B(`type`,`value`),optional:!0}}}),K(`TSExternalModuleReference`,{visitor:[`expression`],fields:{expression:F(`StringLiteral`)}}),K(`TSNonNullExpression`,{aliases:[`Expression`,`LVal`,`PatternLike`],visitor:[`expression`],fields:{expression:F(`Expression`)}}),K(`TSExportAssignment`,{aliases:[`Statement`],visitor:[`expression`],fields:{expression:F(`Expression`)}}),K(`TSNamespaceExportDeclaration`,{aliases:[`Statement`],visitor:[`id`],fields:{id:F(`Identifier`)}}),K(`TSTypeAnnotation`,{visitor:[`typeAnnotation`],fields:{typeAnnotation:{validate:V(`TSType`)}}}),K(`TSTypeParameterInstantiation`,{visitor:[`params`],fields:{params:z(`TSType`)}}),K(`TSTypeParameterDeclaration`,{visitor:[`params`],fields:{params:z(`TSTypeParameter`)}}),K(`TSTypeParameter`,{builder:[`constraint`,`default`,`name`],visitor:[`name`,`constraint`,`default`],fields:{name:{validate:V(`Identifier`)},in:{validate:H(`boolean`),optional:!0},out:{validate:H(`boolean`),optional:!0},const:{validate:H(`boolean`),optional:!0},constraint:{validate:V(`TSType`),optional:!0},default:{validate:V(`TSType`),optional:!0}}});var Ju={ModuleDeclaration:`ImportOrExportDeclaration`};Object.keys(Ju).forEach(e=>{M[e]=M[Ju[e]]});for(let{types:e,set:t}of mu)for(let n of e){let e=M[n];e?e.forEach(t.add,t):t.add(n)}var Yu=[].concat(Object.keys(ru),Object.keys(M),Object.keys(su));function Xu(e,t,n){if(!e)return;let r=au[e.type];if(!r)return;let i=r[t];Qu(e,t,n,i),$u(e,t,n)}function Zu(e,t,n,r,i){if(e?.validate&&!(e.optional&&r==null)&&(e.validate(t,n,r),i)){let e=r.type;if(e==null)return;cu[e]?.(t,n,r)}}function Qu(e,t,n,r){r?.validate&&(r.optional&&n==null||r.validate(e,t,n))}function $u(e,t,n){let r=n?.type;r!=null&&cu[r]?.(e,t,n)}var{validateInternal:q}=Object.defineProperty({__proto__:null,default:Xu,validateChild:$u,validateField:Qu,validateInternal:Zu},Symbol.toStringTag,{value:`Module`}),{NODE_FIELDS:J}=Cu;function ed(e){let t={type:`ArrayExpression`,elements:e},n=J.ArrayExpression;return q(n.elements,t,`elements`,e,1),t}function td(e,t,n){let r={type:`AssignmentExpression`,operator:e,left:t,right:n},i=J.AssignmentExpression;return q(i.operator,r,`operator`,e),q(i.left,r,`left`,t,1),q(i.right,r,`right`,n,1),r}function nd(e,t,n){let r={type:`BinaryExpression`,operator:e,left:t,right:n},i=J.BinaryExpression;return q(i.operator,r,`operator`,e),q(i.left,r,`left`,t,1),q(i.right,r,`right`,n,1),r}function rd(e){let t={type:`InterpreterDirective`,value:e},n=J.InterpreterDirective;return q(n.value,t,`value`,e),t}function id(e){let t={type:`Directive`,value:e},n=J.Directive;return q(n.value,t,`value`,e,1),t}function ad(e){let t={type:`DirectiveLiteral`,value:e},n=J.DirectiveLiteral;return q(n.value,t,`value`,e),t}function od(e,t=[]){let n={type:`BlockStatement`,body:e,directives:t},r=J.BlockStatement;return q(r.body,n,`body`,e,1),q(r.directives,n,`directives`,t,1),n}function sd(e=null){let t={type:`BreakStatement`,label:e},n=J.BreakStatement;return q(n.label,t,`label`,e,1),t}function cd(e,t){let n={type:`CallExpression`,callee:e,arguments:t},r=J.CallExpression;return q(r.callee,n,`callee`,e,1),q(r.arguments,n,`arguments`,t,1),n}function ld(e=null,t){let n={type:`CatchClause`,param:e,body:t},r=J.CatchClause;return q(r.param,n,`param`,e,1),q(r.body,n,`body`,t,1),n}function ud(e,t,n){let r={type:`ConditionalExpression`,test:e,consequent:t,alternate:n},i=J.ConditionalExpression;return q(i.test,r,`test`,e,1),q(i.consequent,r,`consequent`,t,1),q(i.alternate,r,`alternate`,n,1),r}function dd(e=null){let t={type:`ContinueStatement`,label:e},n=J.ContinueStatement;return q(n.label,t,`label`,e,1),t}function fd(){return{type:`DebuggerStatement`}}function pd(e,t){let n={type:`DoWhileStatement`,test:e,body:t},r=J.DoWhileStatement;return q(r.test,n,`test`,e,1),q(r.body,n,`body`,t,1),n}function md(){return{type:`EmptyStatement`}}function hd(e){let t={type:`ExpressionStatement`,expression:e},n=J.ExpressionStatement;return q(n.expression,t,`expression`,e,1),t}function gd(e,t=null,n=null){let r={type:`File`,program:e,comments:t,tokens:n},i=J.File;return q(i.program,r,`program`,e,1),q(i.comments,r,`comments`,t,1),q(i.tokens,r,`tokens`,n),r}function _d(e,t,n){let r={type:`ForInStatement`,left:e,right:t,body:n},i=J.ForInStatement;return q(i.left,r,`left`,e,1),q(i.right,r,`right`,t,1),q(i.body,r,`body`,n,1),r}function vd(e=null,t=null,n=null,r){let i={type:`ForStatement`,init:e,test:t,update:n,body:r},a=J.ForStatement;return q(a.init,i,`init`,e,1),q(a.test,i,`test`,t,1),q(a.update,i,`update`,n,1),q(a.body,i,`body`,r,1),i}function yd(e=null,t,n,r=!1,i=!1){let a={type:`FunctionDeclaration`,id:e,params:t,body:n,generator:r,async:i},o=J.FunctionDeclaration;return q(o.id,a,`id`,e,1),q(o.params,a,`params`,t,1),q(o.body,a,`body`,n,1),q(o.generator,a,`generator`,r),q(o.async,a,`async`,i),a}function bd(e=null,t,n,r=!1,i=!1){let a={type:`FunctionExpression`,id:e,params:t,body:n,generator:r,async:i},o=J.FunctionExpression;return q(o.id,a,`id`,e,1),q(o.params,a,`params`,t,1),q(o.body,a,`body`,n,1),q(o.generator,a,`generator`,r),q(o.async,a,`async`,i),a}function xd(e){let t={type:`Identifier`,name:e},n=J.Identifier;return q(n.name,t,`name`,e),t}function Sd(e,t,n=null){let r={type:`IfStatement`,test:e,consequent:t,alternate:n},i=J.IfStatement;return q(i.test,r,`test`,e,1),q(i.consequent,r,`consequent`,t,1),q(i.alternate,r,`alternate`,n,1),r}function Cd(e,t){let n={type:`LabeledStatement`,label:e,body:t},r=J.LabeledStatement;return q(r.label,n,`label`,e,1),q(r.body,n,`body`,t,1),n}function wd(e){let t={type:`StringLiteral`,value:e},n=J.StringLiteral;return q(n.value,t,`value`,e),t}function Td(e){let t={type:`NumericLiteral`,value:e},n=J.NumericLiteral;return q(n.value,t,`value`,e),t}function Ed(){return{type:`NullLiteral`}}function Dd(e){let t={type:`BooleanLiteral`,value:e},n=J.BooleanLiteral;return q(n.value,t,`value`,e),t}function Od(e,t=``){let n={type:`RegExpLiteral`,pattern:e,flags:t},r=J.RegExpLiteral;return q(r.pattern,n,`pattern`,e),q(r.flags,n,`flags`,t),n}function kd(e,t,n){let r={type:`LogicalExpression`,operator:e,left:t,right:n},i=J.LogicalExpression;return q(i.operator,r,`operator`,e),q(i.left,r,`left`,t,1),q(i.right,r,`right`,n,1),r}function Ad(e,t,n=!1){let r={type:`MemberExpression`,object:e,property:t,computed:n},i=J.MemberExpression;return q(i.object,r,`object`,e,1),q(i.property,r,`property`,t,1),q(i.computed,r,`computed`,n),r}function jd(e,t){let n={type:`NewExpression`,callee:e,arguments:t},r=J.NewExpression;return q(r.callee,n,`callee`,e,1),q(r.arguments,n,`arguments`,t,1),n}function Md(e,t=[],n=`script`,r=null){let i={type:`Program`,body:e,directives:t,sourceType:n,interpreter:r},a=J.Program;return q(a.body,i,`body`,e,1),q(a.directives,i,`directives`,t,1),q(a.sourceType,i,`sourceType`,n),q(a.interpreter,i,`interpreter`,r,1),i}function Nd(e){let t={type:`ObjectExpression`,properties:e},n=J.ObjectExpression;return q(n.properties,t,`properties`,e,1),t}function Pd(e,t,n,r,i=!1,a=!1,o=!1){let s={type:`ObjectMethod`,kind:e,key:t,params:n,body:r,computed:i,generator:a,async:o},c=J.ObjectMethod;return q(c.kind,s,`kind`,e),q(c.key,s,`key`,t,1),q(c.params,s,`params`,n,1),q(c.body,s,`body`,r,1),q(c.computed,s,`computed`,i),q(c.generator,s,`generator`,a),q(c.async,s,`async`,o),s}function Fd(e,t,n=!1,r=!1){let i={type:`ObjectProperty`,key:e,value:t,computed:n,shorthand:r},a=J.ObjectProperty;return q(a.key,i,`key`,e,1),q(a.value,i,`value`,t,1),q(a.computed,i,`computed`,n),q(a.shorthand,i,`shorthand`,r),i}function Id(e){let t={type:`RestElement`,argument:e},n=J.RestElement;return q(n.argument,t,`argument`,e,1),t}function Ld(e=null){let t={type:`ReturnStatement`,argument:e},n=J.ReturnStatement;return q(n.argument,t,`argument`,e,1),t}function Rd(e){let t={type:`SequenceExpression`,expressions:e},n=J.SequenceExpression;return q(n.expressions,t,`expressions`,e,1),t}function zd(e){let t={type:`ParenthesizedExpression`,expression:e},n=J.ParenthesizedExpression;return q(n.expression,t,`expression`,e,1),t}function Bd(e=null,t){let n={type:`SwitchCase`,test:e,consequent:t},r=J.SwitchCase;return q(r.test,n,`test`,e,1),q(r.consequent,n,`consequent`,t,1),n}function Vd(e,t){let n={type:`SwitchStatement`,discriminant:e,cases:t},r=J.SwitchStatement;return q(r.discriminant,n,`discriminant`,e,1),q(r.cases,n,`cases`,t,1),n}function Hd(){return{type:`ThisExpression`}}function Ud(e){let t={type:`ThrowStatement`,argument:e},n=J.ThrowStatement;return q(n.argument,t,`argument`,e,1),t}function Wd(e,t=null,n=null){let r={type:`TryStatement`,block:e,handler:t,finalizer:n},i=J.TryStatement;return q(i.block,r,`block`,e,1),q(i.handler,r,`handler`,t,1),q(i.finalizer,r,`finalizer`,n,1),r}function Gd(e,t,n=!0){let r={type:`UnaryExpression`,operator:e,argument:t,prefix:n},i=J.UnaryExpression;return q(i.operator,r,`operator`,e),q(i.argument,r,`argument`,t,1),q(i.prefix,r,`prefix`,n),r}function Kd(e,t,n=!1){let r={type:`UpdateExpression`,operator:e,argument:t,prefix:n},i=J.UpdateExpression;return q(i.operator,r,`operator`,e),q(i.argument,r,`argument`,t,1),q(i.prefix,r,`prefix`,n),r}function qd(e,t){let n={type:`VariableDeclaration`,kind:e,declarations:t},r=J.VariableDeclaration;return q(r.kind,n,`kind`,e),q(r.declarations,n,`declarations`,t,1),n}function Jd(e,t=null){let n={type:`VariableDeclarator`,id:e,init:t},r=J.VariableDeclarator;return q(r.id,n,`id`,e,1),q(r.init,n,`init`,t,1),n}function Yd(e,t){let n={type:`WhileStatement`,test:e,body:t},r=J.WhileStatement;return q(r.test,n,`test`,e,1),q(r.body,n,`body`,t,1),n}function Xd(e,t){let n={type:`WithStatement`,object:e,body:t},r=J.WithStatement;return q(r.object,n,`object`,e,1),q(r.body,n,`body`,t,1),n}function Zd(e,t){let n={type:`AssignmentPattern`,left:e,right:t},r=J.AssignmentPattern;return q(r.left,n,`left`,e,1),q(r.right,n,`right`,t,1),n}function Qd(e){let t={type:`ArrayPattern`,elements:e},n=J.ArrayPattern;return q(n.elements,t,`elements`,e,1),t}function $d(e,t,n=!1){let r={type:`ArrowFunctionExpression`,params:e,body:t,async:n},i=J.ArrowFunctionExpression;return q(i.params,r,`params`,e,1),q(i.body,r,`body`,t,1),q(i.async,r,`async`,n),r}function ef(e){let t={type:`ClassBody`,body:e},n=J.ClassBody;return q(n.body,t,`body`,e,1),t}function tf(e=null,t=null,n,r=null){let i={type:`ClassExpression`,id:e,superClass:t,body:n,decorators:r},a=J.ClassExpression;return q(a.id,i,`id`,e,1),q(a.superClass,i,`superClass`,t,1),q(a.body,i,`body`,n,1),q(a.decorators,i,`decorators`,r,1),i}function nf(e=null,t=null,n,r=null){let i={type:`ClassDeclaration`,id:e,superClass:t,body:n,decorators:r},a=J.ClassDeclaration;return q(a.id,i,`id`,e,1),q(a.superClass,i,`superClass`,t,1),q(a.body,i,`body`,n,1),q(a.decorators,i,`decorators`,r,1),i}function rf(e,t=null){let n={type:`ExportAllDeclaration`,source:e,attributes:t},r=J.ExportAllDeclaration;return q(r.source,n,`source`,e,1),q(r.attributes,n,`attributes`,t,1),n}function af(e){let t={type:`ExportDefaultDeclaration`,declaration:e},n=J.ExportDefaultDeclaration;return q(n.declaration,t,`declaration`,e,1),t}function of(e=null,t=[],n=null,r=null){let i={type:`ExportNamedDeclaration`,declaration:e,specifiers:t,source:n,attributes:r},a=J.ExportNamedDeclaration;return q(a.declaration,i,`declaration`,e,1),q(a.specifiers,i,`specifiers`,t,1),q(a.source,i,`source`,n,1),q(a.attributes,i,`attributes`,r,1),i}function sf(e,t){let n={type:`ExportSpecifier`,local:e,exported:t},r=J.ExportSpecifier;return q(r.local,n,`local`,e,1),q(r.exported,n,`exported`,t,1),n}function cf(e,t,n,r=!1){let i={type:`ForOfStatement`,left:e,right:t,body:n,await:r},a=J.ForOfStatement;return q(a.left,i,`left`,e,1),q(a.right,i,`right`,t,1),q(a.body,i,`body`,n,1),q(a.await,i,`await`,r),i}function lf(e,t,n=null){let r={type:`ImportDeclaration`,specifiers:e,source:t,attributes:n},i=J.ImportDeclaration;return q(i.specifiers,r,`specifiers`,e,1),q(i.source,r,`source`,t,1),q(i.attributes,r,`attributes`,n,1),r}function uf(e){let t={type:`ImportDefaultSpecifier`,local:e},n=J.ImportDefaultSpecifier;return q(n.local,t,`local`,e,1),t}function df(e){let t={type:`ImportNamespaceSpecifier`,local:e},n=J.ImportNamespaceSpecifier;return q(n.local,t,`local`,e,1),t}function ff(e,t){let n={type:`ImportSpecifier`,local:e,imported:t},r=J.ImportSpecifier;return q(r.local,n,`local`,e,1),q(r.imported,n,`imported`,t,1),n}function pf(e,t){let n={type:`MetaProperty`,meta:e,property:t},r=J.MetaProperty;return q(r.meta,n,`meta`,e,1),q(r.property,n,`property`,t,1),n}function mf(e=`method`,t,n,r,i=!1,a=!1,o=!1,s=!1){let c={type:`ClassMethod`,kind:e,key:t,params:n,body:r,computed:i,static:a,generator:o,async:s},l=J.ClassMethod;return q(l.kind,c,`kind`,e),q(l.key,c,`key`,t,1),q(l.params,c,`params`,n,1),q(l.body,c,`body`,r,1),q(l.computed,c,`computed`,i),q(l.static,c,`static`,a),q(l.generator,c,`generator`,o),q(l.async,c,`async`,s),c}function hf(e){let t={type:`ObjectPattern`,properties:e},n=J.ObjectPattern;return q(n.properties,t,`properties`,e,1),t}function gf(e){let t={type:`SpreadElement`,argument:e},n=J.SpreadElement;return q(n.argument,t,`argument`,e,1),t}function _f(){return{type:`Super`}}function vf(e,t){let n={type:`TaggedTemplateExpression`,tag:e,quasi:t},r=J.TaggedTemplateExpression;return q(r.tag,n,`tag`,e,1),q(r.quasi,n,`quasi`,t,1),n}function yf(e,t=!1){let n={type:`TemplateElement`,value:e,tail:t},r=J.TemplateElement;return q(r.value,n,`value`,e),q(r.tail,n,`tail`,t),n}function bf(e,t){let n={type:`TemplateLiteral`,quasis:e,expressions:t},r=J.TemplateLiteral;return q(r.quasis,n,`quasis`,e,1),q(r.expressions,n,`expressions`,t,1),n}function xf(e=null,t=!1){let n={type:`YieldExpression`,argument:e,delegate:t},r=J.YieldExpression;return q(r.argument,n,`argument`,e,1),q(r.delegate,n,`delegate`,t),n}function Sf(e){let t={type:`AwaitExpression`,argument:e},n=J.AwaitExpression;return q(n.argument,t,`argument`,e,1),t}function Cf(e,t=null){let n={type:`ImportExpression`,source:e,options:t},r=J.ImportExpression;return q(r.source,n,`source`,e,1),q(r.options,n,`options`,t,1),n}function wf(){return{type:`Import`}}function Tf(e){let t={type:`BigIntLiteral`,value:e},n=J.BigIntLiteral;return q(n.value,t,`value`,e),t}function Ef(e){let t={type:`ExportNamespaceSpecifier`,exported:e},n=J.ExportNamespaceSpecifier;return q(n.exported,t,`exported`,e,1),t}function Df(e,t,n=!1,r){let i={type:`OptionalMemberExpression`,object:e,property:t,computed:n,optional:r},a=J.OptionalMemberExpression;return q(a.object,i,`object`,e,1),q(a.property,i,`property`,t,1),q(a.computed,i,`computed`,n),q(a.optional,i,`optional`,r),i}function Of(e,t,n){let r={type:`OptionalCallExpression`,callee:e,arguments:t,optional:n},i=J.OptionalCallExpression;return q(i.callee,r,`callee`,e,1),q(i.arguments,r,`arguments`,t,1),q(i.optional,r,`optional`,n),r}function kf(e,t=null,n=null,r=null,i=!1,a=!1){let o={type:`ClassProperty`,key:e,value:t,typeAnnotation:n,decorators:r,computed:i,static:a},s=J.ClassProperty;return q(s.key,o,`key`,e,1),q(s.value,o,`value`,t,1),q(s.typeAnnotation,o,`typeAnnotation`,n,1),q(s.decorators,o,`decorators`,r,1),q(s.computed,o,`computed`,i),q(s.static,o,`static`,a),o}function Af(e,t=null,n=null,r=!1){let i={type:`ClassPrivateProperty`,key:e,value:t,decorators:n,static:r},a=J.ClassPrivateProperty;return q(a.key,i,`key`,e,1),q(a.value,i,`value`,t,1),q(a.decorators,i,`decorators`,n,1),q(a.static,i,`static`,r),i}function jf(e=`method`,t,n,r,i=!1){let a={type:`ClassPrivateMethod`,kind:e,key:t,params:n,body:r,static:i,async:!1,computed:!1,generator:!1},o=J.ClassPrivateMethod;return q(o.kind,a,`kind`,e),q(o.key,a,`key`,t,1),q(o.params,a,`params`,n,1),q(o.body,a,`body`,r,1),q(o.static,a,`static`,i),a}function Mf(e){let t={type:`PrivateName`,id:e},n=J.PrivateName;return q(n.id,t,`id`,e,1),t}function Nf(e){let t={type:`StaticBlock`,body:e},n=J.StaticBlock;return q(n.body,t,`body`,e,1),t}function Pf(e,t){let n={type:`ImportAttribute`,key:e,value:t},r=J.ImportAttribute;return q(r.key,n,`key`,e,1),q(r.value,n,`value`,t,1),n}function Ff(){return{type:`AnyTypeAnnotation`}}function If(e){let t={type:`ArrayTypeAnnotation`,elementType:e},n=J.ArrayTypeAnnotation;return q(n.elementType,t,`elementType`,e,1),t}function Lf(){return{type:`BooleanTypeAnnotation`}}function Rf(e){let t={type:`BooleanLiteralTypeAnnotation`,value:e},n=J.BooleanLiteralTypeAnnotation;return q(n.value,t,`value`,e),t}function zf(){return{type:`NullLiteralTypeAnnotation`}}function Bf(e,t=null){let n={type:`ClassImplements`,id:e,typeParameters:t},r=J.ClassImplements;return q(r.id,n,`id`,e,1),q(r.typeParameters,n,`typeParameters`,t,1),n}function Vf(e,t=null,n=null,r){let i={type:`DeclareClass`,id:e,typeParameters:t,extends:n,body:r},a=J.DeclareClass;return q(a.id,i,`id`,e,1),q(a.typeParameters,i,`typeParameters`,t,1),q(a.extends,i,`extends`,n,1),q(a.body,i,`body`,r,1),i}function Hf(e){let t={type:`DeclareFunction`,id:e},n=J.DeclareFunction;return q(n.id,t,`id`,e,1),t}function Uf(e,t=null,n=null,r){let i={type:`DeclareInterface`,id:e,typeParameters:t,extends:n,body:r},a=J.DeclareInterface;return q(a.id,i,`id`,e,1),q(a.typeParameters,i,`typeParameters`,t,1),q(a.extends,i,`extends`,n,1),q(a.body,i,`body`,r,1),i}function Wf(e,t,n=null){let r={type:`DeclareModule`,id:e,body:t,kind:n},i=J.DeclareModule;return q(i.id,r,`id`,e,1),q(i.body,r,`body`,t,1),q(i.kind,r,`kind`,n),r}function Gf(e){let t={type:`DeclareModuleExports`,typeAnnotation:e},n=J.DeclareModuleExports;return q(n.typeAnnotation,t,`typeAnnotation`,e,1),t}function Kf(e,t=null,n){let r={type:`DeclareTypeAlias`,id:e,typeParameters:t,right:n},i=J.DeclareTypeAlias;return q(i.id,r,`id`,e,1),q(i.typeParameters,r,`typeParameters`,t,1),q(i.right,r,`right`,n,1),r}function qf(e,t=null,n=null){let r={type:`DeclareOpaqueType`,id:e,typeParameters:t,supertype:n},i=J.DeclareOpaqueType;return q(i.id,r,`id`,e,1),q(i.typeParameters,r,`typeParameters`,t,1),q(i.supertype,r,`supertype`,n,1),r}function Jf(e){let t={type:`DeclareVariable`,id:e},n=J.DeclareVariable;return q(n.id,t,`id`,e,1),t}function Yf(e=null,t=null,n=null,r=null){let i={type:`DeclareExportDeclaration`,declaration:e,specifiers:t,source:n,attributes:r},a=J.DeclareExportDeclaration;return q(a.declaration,i,`declaration`,e,1),q(a.specifiers,i,`specifiers`,t,1),q(a.source,i,`source`,n,1),q(a.attributes,i,`attributes`,r,1),i}function Xf(e,t=null){let n={type:`DeclareExportAllDeclaration`,source:e,attributes:t},r=J.DeclareExportAllDeclaration;return q(r.source,n,`source`,e,1),q(r.attributes,n,`attributes`,t,1),n}function Zf(e){let t={type:`DeclaredPredicate`,value:e},n=J.DeclaredPredicate;return q(n.value,t,`value`,e,1),t}function Qf(){return{type:`ExistsTypeAnnotation`}}function $f(e=null,t,n=null,r){let i={type:`FunctionTypeAnnotation`,typeParameters:e,params:t,rest:n,returnType:r},a=J.FunctionTypeAnnotation;return q(a.typeParameters,i,`typeParameters`,e,1),q(a.params,i,`params`,t,1),q(a.rest,i,`rest`,n,1),q(a.returnType,i,`returnType`,r,1),i}function ep(e=null,t){let n={type:`FunctionTypeParam`,name:e,typeAnnotation:t},r=J.FunctionTypeParam;return q(r.name,n,`name`,e,1),q(r.typeAnnotation,n,`typeAnnotation`,t,1),n}function tp(e,t=null){let n={type:`GenericTypeAnnotation`,id:e,typeParameters:t},r=J.GenericTypeAnnotation;return q(r.id,n,`id`,e,1),q(r.typeParameters,n,`typeParameters`,t,1),n}function np(){return{type:`InferredPredicate`}}function rp(e,t=null){let n={type:`InterfaceExtends`,id:e,typeParameters:t},r=J.InterfaceExtends;return q(r.id,n,`id`,e,1),q(r.typeParameters,n,`typeParameters`,t,1),n}function ip(e,t=null,n=null,r){let i={type:`InterfaceDeclaration`,id:e,typeParameters:t,extends:n,body:r},a=J.InterfaceDeclaration;return q(a.id,i,`id`,e,1),q(a.typeParameters,i,`typeParameters`,t,1),q(a.extends,i,`extends`,n,1),q(a.body,i,`body`,r,1),i}function ap(e=null,t){let n={type:`InterfaceTypeAnnotation`,extends:e,body:t},r=J.InterfaceTypeAnnotation;return q(r.extends,n,`extends`,e,1),q(r.body,n,`body`,t,1),n}function op(e){let t={type:`IntersectionTypeAnnotation`,types:e},n=J.IntersectionTypeAnnotation;return q(n.types,t,`types`,e,1),t}function sp(){return{type:`MixedTypeAnnotation`}}function cp(){return{type:`EmptyTypeAnnotation`}}function lp(e){let t={type:`NullableTypeAnnotation`,typeAnnotation:e},n=J.NullableTypeAnnotation;return q(n.typeAnnotation,t,`typeAnnotation`,e,1),t}function up(e){let t={type:`NumberLiteralTypeAnnotation`,value:e},n=J.NumberLiteralTypeAnnotation;return q(n.value,t,`value`,e),t}function dp(e){let t={type:`BigIntLiteralTypeAnnotation`,value:e},n=J.BigIntLiteralTypeAnnotation;return q(n.value,t,`value`,e),t}function fp(){return{type:`NumberTypeAnnotation`}}function pp(e,t=[],n=[],r=[],i=!1){let a={type:`ObjectTypeAnnotation`,properties:e,indexers:t,callProperties:n,internalSlots:r,exact:i},o=J.ObjectTypeAnnotation;return q(o.properties,a,`properties`,e,1),q(o.indexers,a,`indexers`,t,1),q(o.callProperties,a,`callProperties`,n,1),q(o.internalSlots,a,`internalSlots`,r,1),q(o.exact,a,`exact`,i),a}function mp(e,t,n,r,i){let a={type:`ObjectTypeInternalSlot`,id:e,value:t,optional:n,static:r,method:i},o=J.ObjectTypeInternalSlot;return q(o.id,a,`id`,e,1),q(o.value,a,`value`,t,1),q(o.optional,a,`optional`,n),q(o.static,a,`static`,r),q(o.method,a,`method`,i),a}function hp(e){let t={type:`ObjectTypeCallProperty`,value:e,static:!1},n=J.ObjectTypeCallProperty;return q(n.value,t,`value`,e,1),t}function gp(e=null,t,n,r=null){let i={type:`ObjectTypeIndexer`,id:e,key:t,value:n,variance:r,static:!1},a=J.ObjectTypeIndexer;return q(a.id,i,`id`,e,1),q(a.key,i,`key`,t,1),q(a.value,i,`value`,n,1),q(a.variance,i,`variance`,r,1),i}function _p(e,t,n=null){let r={type:`ObjectTypeProperty`,key:e,value:t,variance:n,kind:`init`,method:!1,optional:!1,proto:!1,static:!1},i=J.ObjectTypeProperty;return q(i.key,r,`key`,e,1),q(i.value,r,`value`,t,1),q(i.variance,r,`variance`,n,1),r}function vp(e){let t={type:`ObjectTypeSpreadProperty`,argument:e},n=J.ObjectTypeSpreadProperty;return q(n.argument,t,`argument`,e,1),t}function yp(e,t=null,n=null,r){let i={type:`OpaqueType`,id:e,typeParameters:t,supertype:n,impltype:r},a=J.OpaqueType;return q(a.id,i,`id`,e,1),q(a.typeParameters,i,`typeParameters`,t,1),q(a.supertype,i,`supertype`,n,1),q(a.impltype,i,`impltype`,r,1),i}function bp(e,t){let n={type:`QualifiedTypeIdentifier`,id:e,qualification:t},r=J.QualifiedTypeIdentifier;return q(r.id,n,`id`,e,1),q(r.qualification,n,`qualification`,t,1),n}function xp(e){let t={type:`StringLiteralTypeAnnotation`,value:e},n=J.StringLiteralTypeAnnotation;return q(n.value,t,`value`,e),t}function Sp(){return{type:`StringTypeAnnotation`}}function Cp(){return{type:`SymbolTypeAnnotation`}}function wp(){return{type:`ThisTypeAnnotation`}}function Tp(e){let t={type:`TupleTypeAnnotation`,types:e},n=J.TupleTypeAnnotation;return q(n.types,t,`types`,e,1),t}function Ep(e){let t={type:`TypeofTypeAnnotation`,argument:e},n=J.TypeofTypeAnnotation;return q(n.argument,t,`argument`,e,1),t}function Dp(e,t=null,n){let r={type:`TypeAlias`,id:e,typeParameters:t,right:n},i=J.TypeAlias;return q(i.id,r,`id`,e,1),q(i.typeParameters,r,`typeParameters`,t,1),q(i.right,r,`right`,n,1),r}function Op(e){let t={type:`TypeAnnotation`,typeAnnotation:e},n=J.TypeAnnotation;return q(n.typeAnnotation,t,`typeAnnotation`,e,1),t}function kp(e,t){let n={type:`TypeCastExpression`,expression:e,typeAnnotation:t},r=J.TypeCastExpression;return q(r.expression,n,`expression`,e,1),q(r.typeAnnotation,n,`typeAnnotation`,t,1),n}function Ap(e,t=null,n=null,r=null){let i={type:`TypeParameter`,name:e,bound:t,default:n,variance:r},a=J.TypeParameter;return q(a.name,i,`name`,e),q(a.bound,i,`bound`,t,1),q(a.default,i,`default`,n,1),q(a.variance,i,`variance`,r,1),i}function jp(e){let t={type:`TypeParameterDeclaration`,params:e},n=J.TypeParameterDeclaration;return q(n.params,t,`params`,e,1),t}function Mp(e){let t={type:`TypeParameterInstantiation`,params:e},n=J.TypeParameterInstantiation;return q(n.params,t,`params`,e,1),t}function Np(e){let t={type:`UnionTypeAnnotation`,types:e},n=J.UnionTypeAnnotation;return q(n.types,t,`types`,e,1),t}function Pp(e){let t={type:`Variance`,kind:e},n=J.Variance;return q(n.kind,t,`kind`,e),t}function Fp(){return{type:`VoidTypeAnnotation`}}function Ip(e,t){let n={type:`EnumDeclaration`,id:e,body:t},r=J.EnumDeclaration;return q(r.id,n,`id`,e,1),q(r.body,n,`body`,t,1),n}function Lp(e){let t={type:`EnumBooleanBody`,members:e,explicitType:!1,hasUnknownMembers:!1},n=J.EnumBooleanBody;return q(n.members,t,`members`,e,1),t}function Rp(e){let t={type:`EnumNumberBody`,members:e,explicitType:!1,hasUnknownMembers:!1},n=J.EnumNumberBody;return q(n.members,t,`members`,e,1),t}function zp(e){let t={type:`EnumStringBody`,members:e,explicitType:!1,hasUnknownMembers:!1},n=J.EnumStringBody;return q(n.members,t,`members`,e,1),t}function Bp(e){let t={type:`EnumSymbolBody`,members:e,hasUnknownMembers:!1},n=J.EnumSymbolBody;return q(n.members,t,`members`,e,1),t}function Vp(e,t){let n={type:`EnumBooleanMember`,id:e,init:t},r=J.EnumBooleanMember;return q(r.id,n,`id`,e,1),q(r.init,n,`init`,t,1),n}function Hp(e,t){let n={type:`EnumNumberMember`,id:e,init:t},r=J.EnumNumberMember;return q(r.id,n,`id`,e,1),q(r.init,n,`init`,t,1),n}function Up(e,t){let n={type:`EnumStringMember`,id:e,init:t},r=J.EnumStringMember;return q(r.id,n,`id`,e,1),q(r.init,n,`init`,t,1),n}function Wp(e){let t={type:`EnumDefaultedMember`,id:e},n=J.EnumDefaultedMember;return q(n.id,t,`id`,e,1),t}function Gp(e,t){let n={type:`IndexedAccessType`,objectType:e,indexType:t},r=J.IndexedAccessType;return q(r.objectType,n,`objectType`,e,1),q(r.indexType,n,`indexType`,t,1),n}function Kp(e,t){let n={type:`OptionalIndexedAccessType`,objectType:e,indexType:t,optional:!1},r=J.OptionalIndexedAccessType;return q(r.objectType,n,`objectType`,e,1),q(r.indexType,n,`indexType`,t,1),n}function qp(e,t=null){let n={type:`JSXAttribute`,name:e,value:t},r=J.JSXAttribute;return q(r.name,n,`name`,e,1),q(r.value,n,`value`,t,1),n}function Jp(e){let t={type:`JSXClosingElement`,name:e},n=J.JSXClosingElement;return q(n.name,t,`name`,e,1),t}function Yp(e,t=null,n){let r={type:`JSXElement`,openingElement:e,closingElement:t,children:n},i=J.JSXElement;return q(i.openingElement,r,`openingElement`,e,1),q(i.closingElement,r,`closingElement`,t,1),q(i.children,r,`children`,n,1),r}function Xp(){return{type:`JSXEmptyExpression`}}function Zp(e){let t={type:`JSXExpressionContainer`,expression:e},n=J.JSXExpressionContainer;return q(n.expression,t,`expression`,e,1),t}function Qp(e){let t={type:`JSXSpreadChild`,expression:e},n=J.JSXSpreadChild;return q(n.expression,t,`expression`,e,1),t}function $p(e){let t={type:`JSXIdentifier`,name:e},n=J.JSXIdentifier;return q(n.name,t,`name`,e),t}function em(e,t){let n={type:`JSXMemberExpression`,object:e,property:t},r=J.JSXMemberExpression;return q(r.object,n,`object`,e,1),q(r.property,n,`property`,t,1),n}function tm(e,t){let n={type:`JSXNamespacedName`,namespace:e,name:t},r=J.JSXNamespacedName;return q(r.namespace,n,`namespace`,e,1),q(r.name,n,`name`,t,1),n}function nm(e,t,n=!1){let r={type:`JSXOpeningElement`,name:e,attributes:t,selfClosing:n},i=J.JSXOpeningElement;return q(i.name,r,`name`,e,1),q(i.attributes,r,`attributes`,t,1),q(i.selfClosing,r,`selfClosing`,n),r}function rm(e){let t={type:`JSXSpreadAttribute`,argument:e},n=J.JSXSpreadAttribute;return q(n.argument,t,`argument`,e,1),t}function im(e){let t={type:`JSXText`,value:e},n=J.JSXText;return q(n.value,t,`value`,e),t}function am(e,t,n){let r={type:`JSXFragment`,openingFragment:e,closingFragment:t,children:n},i=J.JSXFragment;return q(i.openingFragment,r,`openingFragment`,e,1),q(i.closingFragment,r,`closingFragment`,t,1),q(i.children,r,`children`,n,1),r}function om(){return{type:`JSXOpeningFragment`}}function sm(){return{type:`JSXClosingFragment`}}function cm(e,t){let n={type:`Placeholder`,expectedNode:e,name:t},r=J.Placeholder;return q(r.expectedNode,n,`expectedNode`,e),q(r.name,n,`name`,t,1),n}function lm(e){let t={type:`V8IntrinsicIdentifier`,name:e},n=J.V8IntrinsicIdentifier;return q(n.name,t,`name`,e),t}function um(){return{type:`ArgumentPlaceholder`}}function dm(e,t){let n={type:`BindExpression`,object:e,callee:t},r=J.BindExpression;return q(r.object,n,`object`,e,1),q(r.callee,n,`callee`,t,1),n}function fm(e,t=null,n=null,r=null,i=!1,a=!1){let o={type:`ClassAccessorProperty`,key:e,value:t,typeAnnotation:n,decorators:r,computed:i,static:a},s=J.ClassAccessorProperty;return q(s.key,o,`key`,e,1),q(s.value,o,`value`,t,1),q(s.typeAnnotation,o,`typeAnnotation`,n,1),q(s.decorators,o,`decorators`,r,1),q(s.computed,o,`computed`,i),q(s.static,o,`static`,a),o}function pm(e){let t={type:`Decorator`,expression:e},n=J.Decorator;return q(n.expression,t,`expression`,e,1),t}function mm(e,t=!1){let n={type:`DoExpression`,body:e,async:t},r=J.DoExpression;return q(r.body,n,`body`,e,1),q(r.async,n,`async`,t),n}function hm(e){let t={type:`ExportDefaultSpecifier`,exported:e},n=J.ExportDefaultSpecifier;return q(n.exported,t,`exported`,e,1),t}function gm(e){let t={type:`ModuleExpression`,body:e},n=J.ModuleExpression;return q(n.body,t,`body`,e,1),t}function _m(){return{type:`TopicReference`}}function vm(){return{type:`VoidPattern`}}function ym(e){let t={type:`TSParameterProperty`,parameter:e},n=J.TSParameterProperty;return q(n.parameter,t,`parameter`,e,1),t}function bm(e=null,t=null,n,r=null){let i={type:`TSDeclareFunction`,id:e,typeParameters:t,params:n,returnType:r,async:!1,generator:!1},a=J.TSDeclareFunction;return q(a.id,i,`id`,e,1),q(a.typeParameters,i,`typeParameters`,t,1),q(a.params,i,`params`,n,1),q(a.returnType,i,`returnType`,r,1),i}function xm(e,t=null,n,r=null){let i={type:`TSDeclareMethod`,key:e,typeParameters:t,params:n,returnType:r,async:!1,computed:!1,generator:!1,kind:`method`,static:!1},a=J.TSDeclareMethod;return q(a.key,i,`key`,e,1),q(a.typeParameters,i,`typeParameters`,t,1),q(a.params,i,`params`,n,1),q(a.returnType,i,`returnType`,r,1),i}function Sm(e,t){let n={type:`TSQualifiedName`,left:e,right:t},r=J.TSQualifiedName;return q(r.left,n,`left`,e,1),q(r.right,n,`right`,t,1),n}function Cm(e=null,t,n=null){let r={type:`TSCallSignatureDeclaration`,typeParameters:e,params:t,returnType:n},i=J.TSCallSignatureDeclaration;return q(i.typeParameters,r,`typeParameters`,e,1),q(i.params,r,`params`,t,1),q(i.returnType,r,`returnType`,n,1),r}function wm(e=null,t,n=null){let r={type:`TSConstructSignatureDeclaration`,typeParameters:e,params:t,returnType:n},i=J.TSConstructSignatureDeclaration;return q(i.typeParameters,r,`typeParameters`,e,1),q(i.params,r,`params`,t,1),q(i.returnType,r,`returnType`,n,1),r}function Tm(e,t=null){let n={type:`TSPropertySignature`,key:e,typeAnnotation:t,computed:!1},r=J.TSPropertySignature;return q(r.key,n,`key`,e,1),q(r.typeAnnotation,n,`typeAnnotation`,t,1),n}function Em(e,t=null,n,r=null){let i={type:`TSMethodSignature`,key:e,typeParameters:t,params:n,returnType:r,computed:!1,kind:`method`},a=J.TSMethodSignature;return q(a.key,i,`key`,e,1),q(a.typeParameters,i,`typeParameters`,t,1),q(a.params,i,`params`,n,1),q(a.returnType,i,`returnType`,r,1),i}function Dm(e,t=null){let n={type:`TSIndexSignature`,parameters:e,typeAnnotation:t},r=J.TSIndexSignature;return q(r.parameters,n,`parameters`,e,1),q(r.typeAnnotation,n,`typeAnnotation`,t,1),n}function Om(){return{type:`TSAnyKeyword`}}function km(){return{type:`TSBooleanKeyword`}}function Am(){return{type:`TSBigIntKeyword`}}function jm(){return{type:`TSIntrinsicKeyword`}}function Mm(){return{type:`TSNeverKeyword`}}function Nm(){return{type:`TSNullKeyword`}}function Pm(){return{type:`TSNumberKeyword`}}function Fm(){return{type:`TSObjectKeyword`}}function Im(){return{type:`TSStringKeyword`}}function Lm(){return{type:`TSSymbolKeyword`}}function Rm(){return{type:`TSUndefinedKeyword`}}function zm(){return{type:`TSUnknownKeyword`}}function Bm(){return{type:`TSVoidKeyword`}}function Vm(){return{type:`TSThisType`}}function Hm(e=null,t,n=null){let r={type:`TSFunctionType`,typeParameters:e,params:t,returnType:n},i=J.TSFunctionType;return q(i.typeParameters,r,`typeParameters`,e,1),q(i.params,r,`params`,t,1),q(i.returnType,r,`returnType`,n,1),r}function Um(e=null,t,n=null){let r={type:`TSConstructorType`,typeParameters:e,params:t,returnType:n},i=J.TSConstructorType;return q(i.typeParameters,r,`typeParameters`,e,1),q(i.params,r,`params`,t,1),q(i.returnType,r,`returnType`,n,1),r}function Wm(e,t=null){let n={type:`TSTypeReference`,typeName:e,typeArguments:t},r=J.TSTypeReference;return q(r.typeName,n,`typeName`,e,1),q(r.typeArguments,n,`typeArguments`,t,1),n}function Gm(e,t=null,n=null){let r={type:`TSTypePredicate`,parameterName:e,typeAnnotation:t,asserts:n},i=J.TSTypePredicate;return q(i.parameterName,r,`parameterName`,e,1),q(i.typeAnnotation,r,`typeAnnotation`,t,1),q(i.asserts,r,`asserts`,n),r}function Km(e,t=null){let n={type:`TSTypeQuery`,exprName:e,typeArguments:t},r=J.TSTypeQuery;return q(r.exprName,n,`exprName`,e,1),q(r.typeArguments,n,`typeArguments`,t,1),n}function qm(e){let t={type:`TSTypeLiteral`,members:e},n=J.TSTypeLiteral;return q(n.members,t,`members`,e,1),t}function Jm(e){let t={type:`TSArrayType`,elementType:e},n=J.TSArrayType;return q(n.elementType,t,`elementType`,e,1),t}function Ym(e){let t={type:`TSTupleType`,elementTypes:e},n=J.TSTupleType;return q(n.elementTypes,t,`elementTypes`,e,1),t}function Xm(e){let t={type:`TSOptionalType`,typeAnnotation:e},n=J.TSOptionalType;return q(n.typeAnnotation,t,`typeAnnotation`,e,1),t}function Zm(e){let t={type:`TSRestType`,typeAnnotation:e},n=J.TSRestType;return q(n.typeAnnotation,t,`typeAnnotation`,e,1),t}function Qm(e,t,n=!1){let r={type:`TSNamedTupleMember`,label:e,elementType:t,optional:n},i=J.TSNamedTupleMember;return q(i.label,r,`label`,e,1),q(i.elementType,r,`elementType`,t,1),q(i.optional,r,`optional`,n),r}function $m(e){let t={type:`TSUnionType`,types:e},n=J.TSUnionType;return q(n.types,t,`types`,e,1),t}function eh(e){let t={type:`TSIntersectionType`,types:e},n=J.TSIntersectionType;return q(n.types,t,`types`,e,1),t}function th(e,t,n,r){let i={type:`TSConditionalType`,checkType:e,extendsType:t,trueType:n,falseType:r},a=J.TSConditionalType;return q(a.checkType,i,`checkType`,e,1),q(a.extendsType,i,`extendsType`,t,1),q(a.trueType,i,`trueType`,n,1),q(a.falseType,i,`falseType`,r,1),i}function nh(e){let t={type:`TSInferType`,typeParameter:e},n=J.TSInferType;return q(n.typeParameter,t,`typeParameter`,e,1),t}function rh(e){let t={type:`TSParenthesizedType`,typeAnnotation:e},n=J.TSParenthesizedType;return q(n.typeAnnotation,t,`typeAnnotation`,e,1),t}function ih(e,t){let n={type:`TSTypeOperator`,typeAnnotation:e,operator:t},r=J.TSTypeOperator;return q(r.typeAnnotation,n,`typeAnnotation`,e,1),q(r.operator,n,`operator`,t),n}function ah(e,t){let n={type:`TSIndexedAccessType`,objectType:e,indexType:t},r=J.TSIndexedAccessType;return q(r.objectType,n,`objectType`,e,1),q(r.indexType,n,`indexType`,t,1),n}function oh(e,t,n=null,r=null){let i={type:`TSMappedType`,key:e,constraint:t,nameType:n,typeAnnotation:r},a=J.TSMappedType;return q(a.key,i,`key`,e,1),q(a.constraint,i,`constraint`,t,1),q(a.nameType,i,`nameType`,n,1),q(a.typeAnnotation,i,`typeAnnotation`,r,1),i}function sh(e,t){let n={type:`TSTemplateLiteralType`,quasis:e,types:t},r=J.TSTemplateLiteralType;return q(r.quasis,n,`quasis`,e,1),q(r.types,n,`types`,t,1),n}function ch(e){let t={type:`TSLiteralType`,literal:e},n=J.TSLiteralType;return q(n.literal,t,`literal`,e,1),t}function lh(e,t=null){let n={type:`TSClassImplements`,expression:e,typeArguments:t},r=J.TSClassImplements;return q(r.expression,n,`expression`,e,1),q(r.typeArguments,n,`typeArguments`,t,1),n}function uh(e,t=null){let n={type:`TSInterfaceHeritage`,expression:e,typeArguments:t},r=J.TSInterfaceHeritage;return q(r.expression,n,`expression`,e,1),q(r.typeArguments,n,`typeArguments`,t,1),n}function dh(e,t=null,n=null,r){let i={type:`TSInterfaceDeclaration`,id:e,typeParameters:t,extends:n,body:r},a=J.TSInterfaceDeclaration;return q(a.id,i,`id`,e,1),q(a.typeParameters,i,`typeParameters`,t,1),q(a.extends,i,`extends`,n,1),q(a.body,i,`body`,r,1),i}function fh(e){let t={type:`TSInterfaceBody`,body:e},n=J.TSInterfaceBody;return q(n.body,t,`body`,e,1),t}function ph(e,t=null,n){let r={type:`TSTypeAliasDeclaration`,id:e,typeParameters:t,typeAnnotation:n},i=J.TSTypeAliasDeclaration;return q(i.id,r,`id`,e,1),q(i.typeParameters,r,`typeParameters`,t,1),q(i.typeAnnotation,r,`typeAnnotation`,n,1),r}function mh(e,t=null){let n={type:`TSInstantiationExpression`,expression:e,typeArguments:t},r=J.TSInstantiationExpression;return q(r.expression,n,`expression`,e,1),q(r.typeArguments,n,`typeArguments`,t,1),n}function hh(e,t){let n={type:`TSAsExpression`,expression:e,typeAnnotation:t},r=J.TSAsExpression;return q(r.expression,n,`expression`,e,1),q(r.typeAnnotation,n,`typeAnnotation`,t,1),n}function gh(e,t){let n={type:`TSSatisfiesExpression`,expression:e,typeAnnotation:t},r=J.TSSatisfiesExpression;return q(r.expression,n,`expression`,e,1),q(r.typeAnnotation,n,`typeAnnotation`,t,1),n}function _h(e,t){let n={type:`TSTypeAssertion`,typeAnnotation:e,expression:t},r=J.TSTypeAssertion;return q(r.typeAnnotation,n,`typeAnnotation`,e,1),q(r.expression,n,`expression`,t,1),n}function vh(e){let t={type:`TSEnumBody`,members:e},n=J.TSEnumBody;return q(n.members,t,`members`,e,1),t}function yh(e,t){let n={type:`TSEnumDeclaration`,id:e,body:t},r=J.TSEnumDeclaration;return q(r.id,n,`id`,e,1),q(r.body,n,`body`,t,1),n}function bh(e,t=null){let n={type:`TSEnumMember`,id:e,initializer:t},r=J.TSEnumMember;return q(r.id,n,`id`,e,1),q(r.initializer,n,`initializer`,t,1),n}function xh(e,t){let n={type:`TSModuleDeclaration`,id:e,body:t,kind:`namespace`},r=J.TSModuleDeclaration;return q(r.id,n,`id`,e,1),q(r.body,n,`body`,t,1),n}function Sh(e){let t={type:`TSModuleBlock`,body:e},n=J.TSModuleBlock;return q(n.body,t,`body`,e,1),t}function Ch(e,t=null,n=null){let r={type:`TSImportType`,source:e,qualifier:t,typeArguments:n},i=J.TSImportType;return q(i.source,r,`source`,e,1),q(i.qualifier,r,`qualifier`,t,1),q(i.typeArguments,r,`typeArguments`,n,1),r}function wh(e,t){let n={type:`TSImportEqualsDeclaration`,id:e,moduleReference:t},r=J.TSImportEqualsDeclaration;return q(r.id,n,`id`,e,1),q(r.moduleReference,n,`moduleReference`,t,1),n}function Th(e){let t={type:`TSExternalModuleReference`,expression:e},n=J.TSExternalModuleReference;return q(n.expression,t,`expression`,e,1),t}function Eh(e){let t={type:`TSNonNullExpression`,expression:e},n=J.TSNonNullExpression;return q(n.expression,t,`expression`,e,1),t}function Dh(e){let t={type:`TSExportAssignment`,expression:e},n=J.TSExportAssignment;return q(n.expression,t,`expression`,e,1),t}function Oh(e){let t={type:`TSNamespaceExportDeclaration`,id:e},n=J.TSNamespaceExportDeclaration;return q(n.id,t,`id`,e,1),t}function kh(e){let t={type:`TSTypeAnnotation`,typeAnnotation:e},n=J.TSTypeAnnotation;return q(n.typeAnnotation,t,`typeAnnotation`,e,1),t}function Ah(e){let t={type:`TSTypeParameterInstantiation`,params:e},n=J.TSTypeParameterInstantiation;return q(n.params,t,`params`,e,1),t}function jh(e){let t={type:`TSTypeParameterDeclaration`,params:e},n=J.TSTypeParameterDeclaration;return q(n.params,t,`params`,e,1),t}function Mh(e=null,t=null,n){let r={type:`TSTypeParameter`,constraint:e,default:t,name:n},i=J.TSTypeParameter;return q(i.constraint,r,`constraint`,e,1),q(i.default,r,`default`,t,1),q(i.name,r,`name`,n,1),r}function Nh(e){return A(`NumberLiteral`,`NumericLiteral`,`The node type `),Td(e)}function Ph(e,t=``){return A(`RegexLiteral`,`RegExpLiteral`,`The node type `),Od(e,t)}function Fh(e){return A(`RestProperty`,`RestElement`,`The node type `),Id(e)}function Ih(e){return A(`SpreadProperty`,`SpreadElement`,`The node type `),gf(e)}var Lh=Object.defineProperty({__proto__:null,anyTypeAnnotation:Ff,argumentPlaceholder:um,arrayExpression:ed,arrayPattern:Qd,arrayTypeAnnotation:If,arrowFunctionExpression:$d,assignmentExpression:td,assignmentPattern:Zd,awaitExpression:Sf,bigIntLiteral:Tf,bigIntLiteralTypeAnnotation:dp,binaryExpression:nd,bindExpression:dm,blockStatement:od,booleanLiteral:Dd,booleanLiteralTypeAnnotation:Rf,booleanTypeAnnotation:Lf,breakStatement:sd,callExpression:cd,catchClause:ld,classAccessorProperty:fm,classBody:ef,classDeclaration:nf,classExpression:tf,classImplements:Bf,classMethod:mf,classPrivateMethod:jf,classPrivateProperty:Af,classProperty:kf,conditionalExpression:ud,continueStatement:dd,debuggerStatement:fd,declareClass:Vf,declareExportAllDeclaration:Xf,declareExportDeclaration:Yf,declareFunction:Hf,declareInterface:Uf,declareModule:Wf,declareModuleExports:Gf,declareOpaqueType:qf,declareTypeAlias:Kf,declareVariable:Jf,declaredPredicate:Zf,decorator:pm,directive:id,directiveLiteral:ad,doExpression:mm,doWhileStatement:pd,emptyStatement:md,emptyTypeAnnotation:cp,enumBooleanBody:Lp,enumBooleanMember:Vp,enumDeclaration:Ip,enumDefaultedMember:Wp,enumNumberBody:Rp,enumNumberMember:Hp,enumStringBody:zp,enumStringMember:Up,enumSymbolBody:Bp,existsTypeAnnotation:Qf,exportAllDeclaration:rf,exportDefaultDeclaration:af,exportDefaultSpecifier:hm,exportNamedDeclaration:of,exportNamespaceSpecifier:Ef,exportSpecifier:sf,expressionStatement:hd,file:gd,forInStatement:_d,forOfStatement:cf,forStatement:vd,functionDeclaration:yd,functionExpression:bd,functionTypeAnnotation:$f,functionTypeParam:ep,genericTypeAnnotation:tp,identifier:xd,ifStatement:Sd,import:wf,importAttribute:Pf,importDeclaration:lf,importDefaultSpecifier:uf,importExpression:Cf,importNamespaceSpecifier:df,importSpecifier:ff,indexedAccessType:Gp,inferredPredicate:np,interfaceDeclaration:ip,interfaceExtends:rp,interfaceTypeAnnotation:ap,interpreterDirective:rd,intersectionTypeAnnotation:op,jsxAttribute:qp,jsxClosingElement:Jp,jsxClosingFragment:sm,jsxElement:Yp,jsxEmptyExpression:Xp,jsxExpressionContainer:Zp,jsxFragment:am,jsxIdentifier:$p,jsxMemberExpression:em,jsxNamespacedName:tm,jsxOpeningElement:nm,jsxOpeningFragment:om,jsxSpreadAttribute:rm,jsxSpreadChild:Qp,jsxText:im,labeledStatement:Cd,logicalExpression:kd,memberExpression:Ad,metaProperty:pf,mixedTypeAnnotation:sp,moduleExpression:gm,newExpression:jd,nullLiteral:Ed,nullLiteralTypeAnnotation:zf,nullableTypeAnnotation:lp,numberLiteral:Nh,numberLiteralTypeAnnotation:up,numberTypeAnnotation:fp,numericLiteral:Td,objectExpression:Nd,objectMethod:Pd,objectPattern:hf,objectProperty:Fd,objectTypeAnnotation:pp,objectTypeCallProperty:hp,objectTypeIndexer:gp,objectTypeInternalSlot:mp,objectTypeProperty:_p,objectTypeSpreadProperty:vp,opaqueType:yp,optionalCallExpression:Of,optionalIndexedAccessType:Kp,optionalMemberExpression:Df,parenthesizedExpression:zd,placeholder:cm,privateName:Mf,program:Md,qualifiedTypeIdentifier:bp,regExpLiteral:Od,regexLiteral:Ph,restElement:Id,restProperty:Fh,returnStatement:Ld,sequenceExpression:Rd,spreadElement:gf,spreadProperty:Ih,staticBlock:Nf,stringLiteral:wd,stringLiteralTypeAnnotation:xp,stringTypeAnnotation:Sp,super:_f,switchCase:Bd,switchStatement:Vd,symbolTypeAnnotation:Cp,taggedTemplateExpression:vf,templateElement:yf,templateLiteral:bf,thisExpression:Hd,thisTypeAnnotation:wp,throwStatement:Ud,topicReference:_m,tryStatement:Wd,tsAnyKeyword:Om,tsArrayType:Jm,tsAsExpression:hh,tsBigIntKeyword:Am,tsBooleanKeyword:km,tsCallSignatureDeclaration:Cm,tsClassImplements:lh,tsConditionalType:th,tsConstructSignatureDeclaration:wm,tsConstructorType:Um,tsDeclareFunction:bm,tsDeclareMethod:xm,tsEnumBody:vh,tsEnumDeclaration:yh,tsEnumMember:bh,tsExportAssignment:Dh,tsExternalModuleReference:Th,tsFunctionType:Hm,tsImportEqualsDeclaration:wh,tsImportType:Ch,tsIndexSignature:Dm,tsIndexedAccessType:ah,tsInferType:nh,tsInstantiationExpression:mh,tsInterfaceBody:fh,tsInterfaceDeclaration:dh,tsInterfaceHeritage:uh,tsIntersectionType:eh,tsIntrinsicKeyword:jm,tsLiteralType:ch,tsMappedType:oh,tsMethodSignature:Em,tsModuleBlock:Sh,tsModuleDeclaration:xh,tsNamedTupleMember:Qm,tsNamespaceExportDeclaration:Oh,tsNeverKeyword:Mm,tsNonNullExpression:Eh,tsNullKeyword:Nm,tsNumberKeyword:Pm,tsObjectKeyword:Fm,tsOptionalType:Xm,tsParameterProperty:ym,tsParenthesizedType:rh,tsPropertySignature:Tm,tsQualifiedName:Sm,tsRestType:Zm,tsSatisfiesExpression:gh,tsStringKeyword:Im,tsSymbolKeyword:Lm,tsTemplateLiteralType:sh,tsThisType:Vm,tsTupleType:Ym,tsTypeAliasDeclaration:ph,tsTypeAnnotation:kh,tsTypeAssertion:_h,tsTypeLiteral:qm,tsTypeOperator:ih,tsTypeParameter:Mh,tsTypeParameterDeclaration:jh,tsTypeParameterInstantiation:Ah,tsTypePredicate:Gm,tsTypeQuery:Km,tsTypeReference:Wm,tsUndefinedKeyword:Rm,tsUnionType:$m,tsUnknownKeyword:zm,tsVoidKeyword:Bm,tupleTypeAnnotation:Tp,typeAlias:Dp,typeAnnotation:Op,typeCastExpression:kp,typeParameter:Ap,typeParameterDeclaration:jp,typeParameterInstantiation:Mp,typeofTypeAnnotation:Ep,unaryExpression:Gd,unionTypeAnnotation:Np,updateExpression:Kd,v8IntrinsicIdentifier:lm,variableDeclaration:qd,variableDeclarator:Jd,variance:Pp,voidPattern:vm,voidTypeAnnotation:Fp,whileStatement:Yd,withStatement:Xd,yieldExpression:xf},Symbol.toStringTag,{value:`Module`});function Y(e){return function(){return A(e.replace(/^(?:ts|jsx|[a-z])/,e=>e.toUpperCase()),e,`Usage of builders starting with an uppercase letter such as `,`uppercase builders`),Lh[e](...arguments)}}var Rh=Y(`arrayExpression`),zh=Y(`assignmentExpression`),Bh=Y(`binaryExpression`),Vh=Y(`interpreterDirective`),Hh=Y(`directive`),Uh=Y(`directiveLiteral`),Wh=Y(`blockStatement`),Gh=Y(`breakStatement`),Kh=Y(`callExpression`),qh=Y(`catchClause`),Jh=Y(`conditionalExpression`),Yh=Y(`continueStatement`),Xh=Y(`debuggerStatement`),Zh=Y(`doWhileStatement`),Qh=Y(`emptyStatement`),$h=Y(`expressionStatement`),eg=Y(`file`),tg=Y(`forInStatement`),ng=Y(`forStatement`),rg=Y(`functionDeclaration`),ig=Y(`functionExpression`),ag=Y(`identifier`),og=Y(`ifStatement`),sg=Y(`labeledStatement`),cg=Y(`stringLiteral`),lg=Y(`numericLiteral`),ug=Y(`nullLiteral`),dg=Y(`booleanLiteral`),fg=Y(`regExpLiteral`),pg=Y(`logicalExpression`),mg=Y(`memberExpression`),hg=Y(`newExpression`),gg=Y(`program`),_g=Y(`objectExpression`),vg=Y(`objectMethod`),yg=Y(`objectProperty`),bg=Y(`restElement`),xg=Y(`returnStatement`),Sg=Y(`sequenceExpression`),Cg=Y(`parenthesizedExpression`),wg=Y(`switchCase`),Tg=Y(`switchStatement`),Eg=Y(`thisExpression`),Dg=Y(`throwStatement`),Og=Y(`tryStatement`),kg=Y(`unaryExpression`),Ag=Y(`updateExpression`),jg=Y(`variableDeclaration`),Mg=Y(`variableDeclarator`),Ng=Y(`whileStatement`),Pg=Y(`withStatement`),Fg=Y(`assignmentPattern`),Ig=Y(`arrayPattern`),Lg=Y(`arrowFunctionExpression`),Rg=Y(`classBody`),zg=Y(`classExpression`),Bg=Y(`classDeclaration`),Vg=Y(`exportAllDeclaration`),Hg=Y(`exportDefaultDeclaration`),Ug=Y(`exportNamedDeclaration`),Wg=Y(`exportSpecifier`),Gg=Y(`forOfStatement`),Kg=Y(`importDeclaration`),qg=Y(`importDefaultSpecifier`),Jg=Y(`importNamespaceSpecifier`),Yg=Y(`importSpecifier`),Xg=Y(`metaProperty`),Zg=Y(`classMethod`),Qg=Y(`objectPattern`),$g=Y(`spreadElement`),e_=Y(`super`),t_=Y(`taggedTemplateExpression`),n_=Y(`templateElement`),r_=Y(`templateLiteral`),i_=Y(`yieldExpression`),a_=Y(`awaitExpression`),o_=Y(`importExpression`),s_=Y(`import`),c_=Y(`bigIntLiteral`),l_=Y(`exportNamespaceSpecifier`),u_=Y(`optionalMemberExpression`),d_=Y(`optionalCallExpression`),f_=Y(`classProperty`),p_=Y(`classPrivateProperty`),m_=Y(`classPrivateMethod`),h_=Y(`privateName`),g_=Y(`staticBlock`),__=Y(`importAttribute`),v_=Y(`anyTypeAnnotation`),y_=Y(`arrayTypeAnnotation`),b_=Y(`booleanTypeAnnotation`),x_=Y(`booleanLiteralTypeAnnotation`),S_=Y(`nullLiteralTypeAnnotation`),C_=Y(`classImplements`),w_=Y(`declareClass`),T_=Y(`declareFunction`),E_=Y(`declareInterface`),D_=Y(`declareModule`),O_=Y(`declareModuleExports`),k_=Y(`declareTypeAlias`),A_=Y(`declareOpaqueType`),j_=Y(`declareVariable`),M_=Y(`declareExportDeclaration`),N_=Y(`declareExportAllDeclaration`),P_=Y(`declaredPredicate`),F_=Y(`existsTypeAnnotation`),I_=Y(`functionTypeAnnotation`),L_=Y(`functionTypeParam`),R_=Y(`genericTypeAnnotation`),z_=Y(`inferredPredicate`),B_=Y(`interfaceExtends`),V_=Y(`interfaceDeclaration`),H_=Y(`interfaceTypeAnnotation`),U_=Y(`intersectionTypeAnnotation`),W_=Y(`mixedTypeAnnotation`),G_=Y(`emptyTypeAnnotation`),K_=Y(`nullableTypeAnnotation`),q_=Y(`numberLiteralTypeAnnotation`),J_=Y(`bigIntLiteralTypeAnnotation`),Y_=Y(`numberTypeAnnotation`),X_=Y(`objectTypeAnnotation`),Z_=Y(`objectTypeInternalSlot`),Q_=Y(`objectTypeCallProperty`),$_=Y(`objectTypeIndexer`),ev=Y(`objectTypeProperty`),tv=Y(`objectTypeSpreadProperty`),nv=Y(`opaqueType`),rv=Y(`qualifiedTypeIdentifier`),iv=Y(`stringLiteralTypeAnnotation`),av=Y(`stringTypeAnnotation`),ov=Y(`symbolTypeAnnotation`),sv=Y(`thisTypeAnnotation`),cv=Y(`tupleTypeAnnotation`),lv=Y(`typeofTypeAnnotation`),uv=Y(`typeAlias`),dv=Y(`typeAnnotation`),fv=Y(`typeCastExpression`),pv=Y(`typeParameter`),mv=Y(`typeParameterDeclaration`),hv=Y(`typeParameterInstantiation`),gv=Y(`unionTypeAnnotation`),_v=Y(`variance`),vv=Y(`voidTypeAnnotation`),yv=Y(`enumDeclaration`),bv=Y(`enumBooleanBody`),xv=Y(`enumNumberBody`),Sv=Y(`enumStringBody`),Cv=Y(`enumSymbolBody`),wv=Y(`enumBooleanMember`),Tv=Y(`enumNumberMember`),Ev=Y(`enumStringMember`),Dv=Y(`enumDefaultedMember`),Ov=Y(`indexedAccessType`),kv=Y(`optionalIndexedAccessType`),Av=Y(`jsxAttribute`),jv=Y(`jsxClosingElement`),Mv=Y(`jsxElement`),Nv=Y(`jsxEmptyExpression`),Pv=Y(`jsxExpressionContainer`),Fv=Y(`jsxSpreadChild`),Iv=Y(`jsxIdentifier`),Lv=Y(`jsxMemberExpression`),Rv=Y(`jsxNamespacedName`),zv=Y(`jsxOpeningElement`),Bv=Y(`jsxSpreadAttribute`),Vv=Y(`jsxText`),Hv=Y(`jsxFragment`),Uv=Y(`jsxOpeningFragment`),Wv=Y(`jsxClosingFragment`),Gv=Y(`placeholder`),Kv=Y(`v8IntrinsicIdentifier`),qv=Y(`argumentPlaceholder`),Jv=Y(`bindExpression`),Yv=Y(`classAccessorProperty`),Xv=Y(`decorator`),Zv=Y(`doExpression`),Qv=Y(`exportDefaultSpecifier`),$v=Y(`moduleExpression`),ey=Y(`topicReference`),ty=Y(`voidPattern`),ny=Y(`tsParameterProperty`),ry=Y(`tsDeclareFunction`),iy=Y(`tsDeclareMethod`),ay=Y(`tsQualifiedName`),oy=Y(`tsCallSignatureDeclaration`),sy=Y(`tsConstructSignatureDeclaration`),cy=Y(`tsPropertySignature`),ly=Y(`tsMethodSignature`),uy=Y(`tsIndexSignature`),dy=Y(`tsAnyKeyword`),fy=Y(`tsBooleanKeyword`),py=Y(`tsBigIntKeyword`),my=Y(`tsIntrinsicKeyword`),hy=Y(`tsNeverKeyword`),gy=Y(`tsNullKeyword`),_y=Y(`tsNumberKeyword`),vy=Y(`tsObjectKeyword`),yy=Y(`tsStringKeyword`),by=Y(`tsSymbolKeyword`),xy=Y(`tsUndefinedKeyword`),Sy=Y(`tsUnknownKeyword`),Cy=Y(`tsVoidKeyword`),wy=Y(`tsThisType`),Ty=Y(`tsFunctionType`),Ey=Y(`tsConstructorType`),Dy=Y(`tsTypeReference`),Oy=Y(`tsTypePredicate`),ky=Y(`tsTypeQuery`),Ay=Y(`tsTypeLiteral`),jy=Y(`tsArrayType`),My=Y(`tsTupleType`),Ny=Y(`tsOptionalType`),Py=Y(`tsRestType`),Fy=Y(`tsNamedTupleMember`),Iy=Y(`tsUnionType`),Ly=Y(`tsIntersectionType`),Ry=Y(`tsConditionalType`),zy=Y(`tsInferType`),By=Y(`tsParenthesizedType`),Vy=Y(`tsTypeOperator`),Hy=Y(`tsIndexedAccessType`),Uy=Y(`tsMappedType`),Wy=Y(`tsTemplateLiteralType`),Gy=Y(`tsLiteralType`),Ky=Y(`tsClassImplements`),qy=Y(`tsInterfaceHeritage`),Jy=Y(`tsInterfaceDeclaration`),Yy=Y(`tsInterfaceBody`),Xy=Y(`tsTypeAliasDeclaration`),Zy=Y(`tsInstantiationExpression`),Qy=Y(`tsAsExpression`),$y=Y(`tsSatisfiesExpression`),eb=Y(`tsTypeAssertion`),tb=Y(`tsEnumBody`),nb=Y(`tsEnumDeclaration`),rb=Y(`tsEnumMember`),ib=Y(`tsModuleDeclaration`),ab=Y(`tsModuleBlock`),ob=Y(`tsImportType`),sb=Y(`tsImportEqualsDeclaration`),cb=Y(`tsExternalModuleReference`),lb=Y(`tsNonNullExpression`),ub=Y(`tsExportAssignment`),db=Y(`tsNamespaceExportDeclaration`),fb=Y(`tsTypeAnnotation`),pb=Y(`tsTypeParameterInstantiation`),mb=Y(`tsTypeParameterDeclaration`),hb=Y(`tsTypeParameter`);function gb(e,t){let n=e.value.split(/\r\n|\n|\r/),r=0;for(let e=0;e<n.length;e++)/[^ \t]/.exec(n[e])&&(r=e);let i=``;for(let e=0;e<n.length;e++){let t=n[e],a=e===0,o=e===n.length-1,s=e===r,c=t.replace(/\t/g,` `);a||(c=c.replace(/^ +/,``)),o||(c=c.replace(/ +$/,``)),c&&(s||(c+=` `),i+=c)}i&&t.push(HD(wd(i),e))}function _b(e){let t=[];for(let n=0;n<e.children.length;n++){let r=e.children[n];if(ns(r)){gb(r,t);continue}Yo(r)&&(r=r.expression),!Jo(r)&&t.push(r)}return t}function vb(e){return!!(e&&ru[e.type])}function yb(e){if(!vb(e)){let t=e?.type??JSON.stringify(e);throw TypeError(`Not a valid node of type "${t}"`)}}function X(e,t,n){if(!j(e,t,n))throw Error(`Expected type "${e}" with option ${JSON.stringify(n)}, but instead got "${t.type}".`)}function bb(e,t){X(`ArrayExpression`,e,t)}function xb(e,t){X(`AssignmentExpression`,e,t)}function Sb(e,t){X(`BinaryExpression`,e,t)}function Cb(e,t){X(`InterpreterDirective`,e,t)}function wb(e,t){X(`Directive`,e,t)}function Tb(e,t){X(`DirectiveLiteral`,e,t)}function Eb(e,t){X(`BlockStatement`,e,t)}function Db(e,t){X(`BreakStatement`,e,t)}function Ob(e,t){X(`CallExpression`,e,t)}function kb(e,t){X(`CatchClause`,e,t)}function Ab(e,t){X(`ConditionalExpression`,e,t)}function jb(e,t){X(`ContinueStatement`,e,t)}function Mb(e,t){X(`DebuggerStatement`,e,t)}function Nb(e,t){X(`DoWhileStatement`,e,t)}function Pb(e,t){X(`EmptyStatement`,e,t)}function Fb(e,t){X(`ExpressionStatement`,e,t)}function Ib(e,t){X(`File`,e,t)}function Lb(e,t){X(`ForInStatement`,e,t)}function Rb(e,t){X(`ForStatement`,e,t)}function zb(e,t){X(`FunctionDeclaration`,e,t)}function Bb(e,t){X(`FunctionExpression`,e,t)}function Vb(e,t){X(`Identifier`,e,t)}function Hb(e,t){X(`IfStatement`,e,t)}function Ub(e,t){X(`LabeledStatement`,e,t)}function Wb(e,t){X(`StringLiteral`,e,t)}function Gb(e,t){X(`NumericLiteral`,e,t)}function Kb(e,t){X(`NullLiteral`,e,t)}function qb(e,t){X(`BooleanLiteral`,e,t)}function Jb(e,t){X(`RegExpLiteral`,e,t)}function Yb(e,t){X(`LogicalExpression`,e,t)}function Xb(e,t){X(`MemberExpression`,e,t)}function Zb(e,t){X(`NewExpression`,e,t)}function Qb(e,t){X(`Program`,e,t)}function $b(e,t){X(`ObjectExpression`,e,t)}function ex(e,t){X(`ObjectMethod`,e,t)}function tx(e,t){X(`ObjectProperty`,e,t)}function nx(e,t){X(`RestElement`,e,t)}function rx(e,t){X(`ReturnStatement`,e,t)}function ix(e,t){X(`SequenceExpression`,e,t)}function ax(e,t){X(`ParenthesizedExpression`,e,t)}function ox(e,t){X(`SwitchCase`,e,t)}function sx(e,t){X(`SwitchStatement`,e,t)}function cx(e,t){X(`ThisExpression`,e,t)}function lx(e,t){X(`ThrowStatement`,e,t)}function ux(e,t){X(`TryStatement`,e,t)}function dx(e,t){X(`UnaryExpression`,e,t)}function fx(e,t){X(`UpdateExpression`,e,t)}function px(e,t){X(`VariableDeclaration`,e,t)}function mx(e,t){X(`VariableDeclarator`,e,t)}function hx(e,t){X(`WhileStatement`,e,t)}function gx(e,t){X(`WithStatement`,e,t)}function _x(e,t){X(`AssignmentPattern`,e,t)}function vx(e,t){X(`ArrayPattern`,e,t)}function yx(e,t){X(`ArrowFunctionExpression`,e,t)}function bx(e,t){X(`ClassBody`,e,t)}function xx(e,t){X(`ClassExpression`,e,t)}function Sx(e,t){X(`ClassDeclaration`,e,t)}function Cx(e,t){X(`ExportAllDeclaration`,e,t)}function wx(e,t){X(`ExportDefaultDeclaration`,e,t)}function Tx(e,t){X(`ExportNamedDeclaration`,e,t)}function Ex(e,t){X(`ExportSpecifier`,e,t)}function Dx(e,t){X(`ForOfStatement`,e,t)}function Ox(e,t){X(`ImportDeclaration`,e,t)}function kx(e,t){X(`ImportDefaultSpecifier`,e,t)}function Ax(e,t){X(`ImportNamespaceSpecifier`,e,t)}function jx(e,t){X(`ImportSpecifier`,e,t)}function Mx(e,t){X(`MetaProperty`,e,t)}function Nx(e,t){X(`ClassMethod`,e,t)}function Px(e,t){X(`ObjectPattern`,e,t)}function Fx(e,t){X(`SpreadElement`,e,t)}function Ix(e,t){X(`Super`,e,t)}function Lx(e,t){X(`TaggedTemplateExpression`,e,t)}function Rx(e,t){X(`TemplateElement`,e,t)}function zx(e,t){X(`TemplateLiteral`,e,t)}function Bx(e,t){X(`YieldExpression`,e,t)}function Vx(e,t){X(`AwaitExpression`,e,t)}function Hx(e,t){X(`ImportExpression`,e,t)}function Ux(e,t){X(`Import`,e,t)}function Wx(e,t){X(`BigIntLiteral`,e,t)}function Gx(e,t){X(`ExportNamespaceSpecifier`,e,t)}function Kx(e,t){X(`OptionalMemberExpression`,e,t)}function qx(e,t){X(`OptionalCallExpression`,e,t)}function Jx(e,t){X(`ClassProperty`,e,t)}function Yx(e,t){X(`ClassPrivateProperty`,e,t)}function Xx(e,t){X(`ClassPrivateMethod`,e,t)}function Zx(e,t){X(`PrivateName`,e,t)}function Qx(e,t){X(`StaticBlock`,e,t)}function $x(e,t){X(`ImportAttribute`,e,t)}function eS(e,t){X(`AnyTypeAnnotation`,e,t)}function tS(e,t){X(`ArrayTypeAnnotation`,e,t)}function nS(e,t){X(`BooleanTypeAnnotation`,e,t)}function rS(e,t){X(`BooleanLiteralTypeAnnotation`,e,t)}function iS(e,t){X(`NullLiteralTypeAnnotation`,e,t)}function aS(e,t){X(`ClassImplements`,e,t)}function oS(e,t){X(`DeclareClass`,e,t)}function sS(e,t){X(`DeclareFunction`,e,t)}function cS(e,t){X(`DeclareInterface`,e,t)}function lS(e,t){X(`DeclareModule`,e,t)}function uS(e,t){X(`DeclareModuleExports`,e,t)}function dS(e,t){X(`DeclareTypeAlias`,e,t)}function fS(e,t){X(`DeclareOpaqueType`,e,t)}function pS(e,t){X(`DeclareVariable`,e,t)}function mS(e,t){X(`DeclareExportDeclaration`,e,t)}function hS(e,t){X(`DeclareExportAllDeclaration`,e,t)}function gS(e,t){X(`DeclaredPredicate`,e,t)}function _S(e,t){X(`ExistsTypeAnnotation`,e,t)}function vS(e,t){X(`FunctionTypeAnnotation`,e,t)}function yS(e,t){X(`FunctionTypeParam`,e,t)}function bS(e,t){X(`GenericTypeAnnotation`,e,t)}function xS(e,t){X(`InferredPredicate`,e,t)}function SS(e,t){X(`InterfaceExtends`,e,t)}function CS(e,t){X(`InterfaceDeclaration`,e,t)}function wS(e,t){X(`InterfaceTypeAnnotation`,e,t)}function TS(e,t){X(`IntersectionTypeAnnotation`,e,t)}function ES(e,t){X(`MixedTypeAnnotation`,e,t)}function DS(e,t){X(`EmptyTypeAnnotation`,e,t)}function OS(e,t){X(`NullableTypeAnnotation`,e,t)}function kS(e,t){X(`NumberLiteralTypeAnnotation`,e,t)}function AS(e,t){X(`BigIntLiteralTypeAnnotation`,e,t)}function jS(e,t){X(`NumberTypeAnnotation`,e,t)}function MS(e,t){X(`ObjectTypeAnnotation`,e,t)}function NS(e,t){X(`ObjectTypeInternalSlot`,e,t)}function PS(e,t){X(`ObjectTypeCallProperty`,e,t)}function FS(e,t){X(`ObjectTypeIndexer`,e,t)}function IS(e,t){X(`ObjectTypeProperty`,e,t)}function LS(e,t){X(`ObjectTypeSpreadProperty`,e,t)}function RS(e,t){X(`OpaqueType`,e,t)}function zS(e,t){X(`QualifiedTypeIdentifier`,e,t)}function BS(e,t){X(`StringLiteralTypeAnnotation`,e,t)}function VS(e,t){X(`StringTypeAnnotation`,e,t)}function HS(e,t){X(`SymbolTypeAnnotation`,e,t)}function US(e,t){X(`ThisTypeAnnotation`,e,t)}function WS(e,t){X(`TupleTypeAnnotation`,e,t)}function GS(e,t){X(`TypeofTypeAnnotation`,e,t)}function KS(e,t){X(`TypeAlias`,e,t)}function qS(e,t){X(`TypeAnnotation`,e,t)}function JS(e,t){X(`TypeCastExpression`,e,t)}function YS(e,t){X(`TypeParameter`,e,t)}function XS(e,t){X(`TypeParameterDeclaration`,e,t)}function ZS(e,t){X(`TypeParameterInstantiation`,e,t)}function QS(e,t){X(`UnionTypeAnnotation`,e,t)}function $S(e,t){X(`Variance`,e,t)}function eC(e,t){X(`VoidTypeAnnotation`,e,t)}function tC(e,t){X(`EnumDeclaration`,e,t)}function nC(e,t){X(`EnumBooleanBody`,e,t)}function rC(e,t){X(`EnumNumberBody`,e,t)}function iC(e,t){X(`EnumStringBody`,e,t)}function aC(e,t){X(`EnumSymbolBody`,e,t)}function oC(e,t){X(`EnumBooleanMember`,e,t)}function sC(e,t){X(`EnumNumberMember`,e,t)}function cC(e,t){X(`EnumStringMember`,e,t)}function lC(e,t){X(`EnumDefaultedMember`,e,t)}function uC(e,t){X(`IndexedAccessType`,e,t)}function dC(e,t){X(`OptionalIndexedAccessType`,e,t)}function fC(e,t){X(`JSXAttribute`,e,t)}function pC(e,t){X(`JSXClosingElement`,e,t)}function mC(e,t){X(`JSXElement`,e,t)}function hC(e,t){X(`JSXEmptyExpression`,e,t)}function gC(e,t){X(`JSXExpressionContainer`,e,t)}function _C(e,t){X(`JSXSpreadChild`,e,t)}function vC(e,t){X(`JSXIdentifier`,e,t)}function yC(e,t){X(`JSXMemberExpression`,e,t)}function bC(e,t){X(`JSXNamespacedName`,e,t)}function xC(e,t){X(`JSXOpeningElement`,e,t)}function SC(e,t){X(`JSXSpreadAttribute`,e,t)}function CC(e,t){X(`JSXText`,e,t)}function wC(e,t){X(`JSXFragment`,e,t)}function TC(e,t){X(`JSXOpeningFragment`,e,t)}function EC(e,t){X(`JSXClosingFragment`,e,t)}function DC(e,t){X(`Placeholder`,e,t)}function OC(e,t){X(`V8IntrinsicIdentifier`,e,t)}function kC(e,t){X(`ArgumentPlaceholder`,e,t)}function AC(e,t){X(`BindExpression`,e,t)}function jC(e,t){X(`ClassAccessorProperty`,e,t)}function MC(e,t){X(`Decorator`,e,t)}function NC(e,t){X(`DoExpression`,e,t)}function PC(e,t){X(`ExportDefaultSpecifier`,e,t)}function FC(e,t){X(`ModuleExpression`,e,t)}function IC(e,t){X(`TopicReference`,e,t)}function LC(e,t){X(`VoidPattern`,e,t)}function RC(e,t){X(`TSParameterProperty`,e,t)}function zC(e,t){X(`TSDeclareFunction`,e,t)}function BC(e,t){X(`TSDeclareMethod`,e,t)}function VC(e,t){X(`TSQualifiedName`,e,t)}function HC(e,t){X(`TSCallSignatureDeclaration`,e,t)}function UC(e,t){X(`TSConstructSignatureDeclaration`,e,t)}function WC(e,t){X(`TSPropertySignature`,e,t)}function GC(e,t){X(`TSMethodSignature`,e,t)}function KC(e,t){X(`TSIndexSignature`,e,t)}function qC(e,t){X(`TSAnyKeyword`,e,t)}function JC(e,t){X(`TSBooleanKeyword`,e,t)}function YC(e,t){X(`TSBigIntKeyword`,e,t)}function XC(e,t){X(`TSIntrinsicKeyword`,e,t)}function ZC(e,t){X(`TSNeverKeyword`,e,t)}function QC(e,t){X(`TSNullKeyword`,e,t)}function $C(e,t){X(`TSNumberKeyword`,e,t)}function ew(e,t){X(`TSObjectKeyword`,e,t)}function tw(e,t){X(`TSStringKeyword`,e,t)}function nw(e,t){X(`TSSymbolKeyword`,e,t)}function rw(e,t){X(`TSUndefinedKeyword`,e,t)}function iw(e,t){X(`TSUnknownKeyword`,e,t)}function aw(e,t){X(`TSVoidKeyword`,e,t)}function ow(e,t){X(`TSThisType`,e,t)}function sw(e,t){X(`TSFunctionType`,e,t)}function cw(e,t){X(`TSConstructorType`,e,t)}function lw(e,t){X(`TSTypeReference`,e,t)}function uw(e,t){X(`TSTypePredicate`,e,t)}function dw(e,t){X(`TSTypeQuery`,e,t)}function fw(e,t){X(`TSTypeLiteral`,e,t)}function pw(e,t){X(`TSArrayType`,e,t)}function mw(e,t){X(`TSTupleType`,e,t)}function hw(e,t){X(`TSOptionalType`,e,t)}function gw(e,t){X(`TSRestType`,e,t)}function _w(e,t){X(`TSNamedTupleMember`,e,t)}function vw(e,t){X(`TSUnionType`,e,t)}function yw(e,t){X(`TSIntersectionType`,e,t)}function bw(e,t){X(`TSConditionalType`,e,t)}function xw(e,t){X(`TSInferType`,e,t)}function Sw(e,t){X(`TSParenthesizedType`,e,t)}function Cw(e,t){X(`TSTypeOperator`,e,t)}function ww(e,t){X(`TSIndexedAccessType`,e,t)}function Tw(e,t){X(`TSMappedType`,e,t)}function Ew(e,t){X(`TSTemplateLiteralType`,e,t)}function Dw(e,t){X(`TSLiteralType`,e,t)}function Ow(e,t){X(`TSClassImplements`,e,t)}function kw(e,t){X(`TSInterfaceHeritage`,e,t)}function Aw(e,t){X(`TSInterfaceDeclaration`,e,t)}function jw(e,t){X(`TSInterfaceBody`,e,t)}function Mw(e,t){X(`TSTypeAliasDeclaration`,e,t)}function Nw(e,t){X(`TSInstantiationExpression`,e,t)}function Pw(e,t){X(`TSAsExpression`,e,t)}function Fw(e,t){X(`TSSatisfiesExpression`,e,t)}function Iw(e,t){X(`TSTypeAssertion`,e,t)}function Lw(e,t){X(`TSEnumBody`,e,t)}function Rw(e,t){X(`TSEnumDeclaration`,e,t)}function zw(e,t){X(`TSEnumMember`,e,t)}function Bw(e,t){X(`TSModuleDeclaration`,e,t)}function Vw(e,t){X(`TSModuleBlock`,e,t)}function Hw(e,t){X(`TSImportType`,e,t)}function Uw(e,t){X(`TSImportEqualsDeclaration`,e,t)}function Ww(e,t){X(`TSExternalModuleReference`,e,t)}function Gw(e,t){X(`TSNonNullExpression`,e,t)}function Kw(e,t){X(`TSExportAssignment`,e,t)}function qw(e,t){X(`TSNamespaceExportDeclaration`,e,t)}function Jw(e,t){X(`TSTypeAnnotation`,e,t)}function Yw(e,t){X(`TSTypeParameterInstantiation`,e,t)}function Xw(e,t){X(`TSTypeParameterDeclaration`,e,t)}function Zw(e,t){X(`TSTypeParameter`,e,t)}function Qw(e,t){X(`Standardized`,e,t)}function $w(e,t){X(`Expression`,e,t)}function eT(e,t){X(`Binary`,e,t)}function tT(e,t){X(`Scopable`,e,t)}function nT(e,t){X(`BlockParent`,e,t)}function rT(e,t){X(`Block`,e,t)}function iT(e,t){X(`Statement`,e,t)}function aT(e,t){X(`Terminatorless`,e,t)}function oT(e,t){X(`CompletionStatement`,e,t)}function sT(e,t){X(`Conditional`,e,t)}function cT(e,t){X(`Loop`,e,t)}function lT(e,t){X(`While`,e,t)}function uT(e,t){X(`ExpressionWrapper`,e,t)}function dT(e,t){X(`For`,e,t)}function fT(e,t){X(`ForXStatement`,e,t)}function pT(e,t){X(`Function`,e,t)}function mT(e,t){X(`FunctionParent`,e,t)}function hT(e,t){X(`Pureish`,e,t)}function gT(e,t){X(`Declaration`,e,t)}function _T(e,t){X(`FunctionParameter`,e,t)}function vT(e,t){X(`PatternLike`,e,t)}function yT(e,t){X(`LVal`,e,t)}function bT(e,t){X(`TSEntityName`,e,t)}function xT(e,t){X(`Literal`,e,t)}function ST(e,t){X(`Immutable`,e,t)}function CT(e,t){X(`UserWhitespacable`,e,t)}function wT(e,t){X(`Method`,e,t)}function TT(e,t){X(`ObjectMember`,e,t)}function ET(e,t){X(`Property`,e,t)}function DT(e,t){X(`UnaryLike`,e,t)}function OT(e,t){X(`Pattern`,e,t)}function kT(e,t){X(`Class`,e,t)}function AT(e,t){X(`ImportOrExportDeclaration`,e,t)}function jT(e,t){X(`ExportDeclaration`,e,t)}function MT(e,t){X(`ModuleSpecifier`,e,t)}function NT(e,t){X(`Private`,e,t)}function PT(e,t){X(`Flow`,e,t)}function FT(e,t){X(`FlowType`,e,t)}function IT(e,t){X(`FlowBaseAnnotation`,e,t)}function LT(e,t){X(`FlowDeclaration`,e,t)}function RT(e,t){X(`FlowPredicate`,e,t)}function zT(e,t){X(`EnumBody`,e,t)}function BT(e,t){X(`EnumMember`,e,t)}function VT(e,t){X(`JSX`,e,t)}function HT(e,t){X(`Miscellaneous`,e,t)}function UT(e,t){X(`Accessor`,e,t)}function WT(e,t){X(`TypeScript`,e,t)}function GT(e,t){X(`TSTypeElement`,e,t)}function KT(e,t){X(`TSType`,e,t)}function qT(e,t){X(`TSBaseType`,e,t)}function JT(e,t){A(`assertNumberLiteral`,`assertNumericLiteral`),X(`NumberLiteral`,e,t)}function YT(e,t){A(`assertRegexLiteral`,`assertRegExpLiteral`),X(`RegexLiteral`,e,t)}function XT(e,t){A(`assertRestProperty`,`assertRestElement`),X(`RestProperty`,e,t)}function ZT(e,t){A(`assertSpreadProperty`,`assertSpreadElement`),X(`SpreadProperty`,e,t)}function QT(e,t){A(`assertModuleDeclaration`,`assertImportOrExportDeclaration`),X(`ModuleDeclaration`,e,t)}function $T(e){switch(e){case`string`:return Sp();case`number`:return fp();case`undefined`:return Fp();case`boolean`:return Lf();case`function`:return tp(xd(`Function`));case`object`:return tp(xd(`Object`));case`symbol`:return tp(xd(`Symbol`));case`bigint`:return Ff()}throw Error(`Invalid typeof value: `+e)}function eE(e){return yi(e)?e.name:`${e.id.name}.${eE(e.qualification)}`}function tE(e){let t=Array.from(e),n=new Map,r=new Map,i=new Set,a=[];for(let e=0;e<t.length;e++){let o=t[e];if(o&&!a.includes(o)){if(Ma(o))return[o];if(ml(o)){r.set(o.type,o);continue}if(jo(o)){i.has(o.types)||(t.push(...o.types),i.add(o.types));continue}if(Qa(o)){let e=eE(o.id);if(n.has(e)){let t=n.get(e).typeParameters;t&&o.typeParameters&&(t.params.push(...o.typeParameters.params),t.params=tE(t.params))}else n.set(e,o);continue}a.push(o)}}for(let[,e]of r)a.push(e);for(let[,e]of n)a.push(e);return a}function nE(e){let t=tE(e);return t.length===1?t[0]:Np(t)}function rE(e){return yi(e)?e.name:Bi(e)?`this`:`${e.right.name}.${rE(e.left)}`}function iE(e){let t=Array.from(e),n=new Map,r=new Map,i=new Set,a=[];for(let e=0;e<t.length;e++){let o=t[e];if(!o||a.includes(o))continue;if(Es(o))return[o];if(Tl(o)){r.set(o.type,o);continue}if(Zs(o)){i.has(o.types)||(t.push(...o.types),i.add(o.types));continue}let s=`typeArguments`;if(Hs(o)&&o[s]){let e=o[s],t=rE(o.typeName);if(n.has(t)){let r=n.get(t)[s];r&&(r.params.push(...e.params),r.params=iE(r.params))}else n.set(t,o);continue}a.push(o)}for(let[,e]of r)a.push(e);for(let[,e]of n)a.push(e);return a}function aE(e){let t=iE(e.map(e=>Dc(e)?e.typeAnnotation:e));return t.length===1?t[0]:$m(t)}function oE(){return Gd(`void`,Td(0),!0)}var{hasOwn:sE}=Object;function cE(e,t,n,r){return e&&typeof e.type==`string`?dE(e,t,n,r):e}function lE(e,t,n,r){return Array.isArray(e)?e.map(e=>cE(e,t,n,r)):cE(e,t,n,r)}function uE(e,t=!0,n=!1){return e&&dE(e,t,n,new Map)}function dE(e,t=!0,n=!1,r){if(!e)return e;let{type:i}=e,a={type:e.type};if(yi(e))a.name=e.name,sE(e,`optional`)&&typeof e.optional==`boolean`&&(a.optional=e.optional),sE(e,`typeAnnotation`)&&(a.typeAnnotation=t?lE(e.typeAnnotation,!0,n,r):e.typeAnnotation),sE(e,`decorators`)&&(a.decorators=t?lE(e.decorators,!0,n,r):e.decorators);else if(sE(au,i))for(let o of Object.keys(au[i]))sE(e,o)&&(a[o]=t?mi(e)&&o===`comments`?fE(e.comments,t,n,r):lE(e[o],!0,n,r):e[o]);else throw Error(`Unknown node type: "${i}"`);return sE(e,`loc`)&&(a.loc=n?null:e.loc),sE(e,`leadingComments`)&&(a.leadingComments=fE(e.leadingComments,t,n,r)),sE(e,`innerComments`)&&(a.innerComments=fE(e.innerComments,t,n,r)),sE(e,`trailingComments`)&&(a.trailingComments=fE(e.trailingComments,t,n,r)),sE(e,`extra`)&&(a.extra={...e.extra}),a}function fE(e,t,n,r){return!e||!t?e:e.map(e=>{let t=r.get(e);if(t)return t;let{type:i,value:a,loc:o}=e,s={type:i,value:a,loc:o};return n&&(s.loc=void 0),r.set(e,s),s})}function pE(e){return uE(e,!1)}function mE(e){return uE(e)}function hE(e){return uE(e,!0,!0)}function gE(e){return uE(e,!1,!0)}function _E(e,t,n){if(!n||!e)return e;let r=`${t}Comments`;return e[r]?t===`leading`?e[r]=n.concat(e[r]):e[r].push(...n):e[r]=n,e}function vE(e,t,n,r){return _E(e,t,[{type:r?`CommentLine`:`CommentBlock`,value:n}])}function yE(e,t,n){if(t&&n){let r=n[e];if(!r)return;let i=t[e];t[e]=Array.from(i?new Set([...i,...r].filter(Boolean)):r)}}function bE(e,t){yE(`innerComments`,e,t)}function xE(e,t){yE(`leadingComments`,e,t)}function SE(e,t){yE(`trailingComments`,e,t)}function CE(e,t){return SE(e,t),xE(e,t),bE(e,t),e}function wE(e){return Hl.forEach(t=>{e[t]=null}),e}var TE=M.Standardized,EE=M.Expression,DE=M.Binary,OE=M.Scopable,kE=M.BlockParent,AE=M.Block,jE=M.Statement,ME=M.Terminatorless,NE=M.CompletionStatement,PE=M.Conditional,FE=M.Loop,IE=M.While,LE=M.ExpressionWrapper,RE=M.For,zE=M.ForXStatement,BE=M.Function,VE=M.FunctionParent,HE=M.Pureish,UE=M.Declaration,WE=M.FunctionParameter,GE=M.PatternLike,KE=M.LVal,qE=M.TSEntityName,JE=M.Literal,YE=M.Immutable,XE=M.UserWhitespacable,ZE=M.Method,QE=M.ObjectMember,$E=M.Property,eD=M.UnaryLike,tD=M.Pattern,nD=M.Class,rD=M.ImportOrExportDeclaration,iD=M.ExportDeclaration,aD=M.ModuleSpecifier,oD=M.Private,sD=M.Flow,cD=M.FlowType,lD=M.FlowBaseAnnotation,uD=M.FlowDeclaration,dD=M.FlowPredicate,fD=M.EnumBody,pD=M.EnumMember,mD=M.JSX,hD=M.Miscellaneous,gD=M.Accessor,_D=M.TypeScript,vD=M.TSTypeElement,yD=M.TSType,bD=M.TSBaseType,xD=rD;function SD(e,t){if(ii(e))return e;let n;return fi(e)?n=[]:(Lc(e)||(e=Kc(t)?Ld(e):hd(e)),n=[e]),od(n)}function CD(e,t=`body`){let n=SD(e[t],e);return e[t]=n,n}function wD(e){e+=``;let t=``;for(let n of e)t+=Nr(n.codePointAt(0))?n:`-`;return t=t.replace(/^[-0-9]+/,``),t=t.replace(/[-\s]+(.)?/g,function(e,t){return t?t.toUpperCase():``}),Rl(t)||(t=`_${t}`),t||`_`}function TD(e){return e=wD(e),(e===`eval`||e===`arguments`)&&(e=`_`+e),e}function ED(e,t=e.key||e.property){return!e.computed&&yi(t)&&(t=wd(t.name)),t}function DD(e){if(pi(e)&&(e=e.expression),Mc(e))return e;if(sl(e)?(e.type=`ClassExpression`,e.abstract=!1):Kc(e)&&(e.type=`FunctionExpression`),!Mc(e))throw Error(`cannot turn ${e.type} to an expression`);return e}var OD=Symbol(),kD=Symbol();function AD(e,t,n){if(!e)return!1;let r=ru[e.type];if(!r)return!1;n||={};let i=t(e,n);if(i!==void 0)switch(i){case OD:return!1;case kD:return!0}for(let i of r){let r=e[i];if(r){if(Array.isArray(r)){for(let e of r)if(AD(e,t,n))return!0}else if(AD(r,t,n))return!0}}return!1}AD.skip=OD,AD.stop=kD;var jD=[`tokens`,`start`,`end`,`loc`,`raw`,`rawValue`],MD=[...Hl,`comments`,...jD];function ND(e,t={}){let n=t.preserveComments?jD:MD;for(let t of n)e[t]!=null&&(e[t]=void 0);for(let t of Object.keys(e))t.startsWith(`_`)&&e[t]!=null&&(e[t]=void 0);let r=Object.getOwnPropertySymbols(e);for(let t of r)e[t]=null}function PD(e,t){return AD(e,ND,t),e}function FD(e,t=e.key){let n;return e.kind===`method`?FD.increment()+``:(n=yi(t)?t.name:Si(t)?JSON.stringify(t.value):JSON.stringify(PD(uE(t))),e.computed&&(n=`[${n}]`),e.static&&(n=`static:${n}`),n)}FD.uid=0,FD.increment=function(){return FD.uid>=2**53-1?FD.uid=0:FD.uid++};function ID(e,t){if(Lc(e))return e;let n=!1,r;if(sl(e))n=!0,r=`ClassDeclaration`;else if(Kc(e))n=!0,r=`FunctionDeclaration`;else if($r(e))return hd(e);if(n&&!e.id&&(r=!1),!r){if(t)return!1;throw Error(`cannot turn ${e.type} to a statement`)}return e.type=r,e}var LD=Function.call.bind(Object.prototype.toString);function RD(e){return LD(e)===`[object RegExp]`}function zD(e){if(typeof e!=`object`||!e||Object.prototype.toString.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);return t===null||Object.getPrototypeOf(t)===null}function BD(e){if(e===void 0)return xd(`undefined`);if(e===!0||e===!1)return Dd(e);if(e===null)return Ed();if(typeof e==`string`)return wd(e);if(typeof e==`number`){let t;if(Number.isFinite(e))t=Td(Math.abs(e));else{let n;n=Td(+!Number.isNaN(e)),t=nd(`/`,n,Td(0))}return(e<0||Object.is(e,-0))&&(t=Gd(`-`,t)),t}if(typeof e==`bigint`)return e<0?Gd(`-`,Tf(-e)):Tf(e);if(RD(e)){let t=e.source,n=/\/([a-z]*)$/.exec(e.toString())[1];return Od(t,n)}if(Array.isArray(e))return ed(e.map(BD));if(zD(e)){let t=[];for(let n of Object.keys(e)){let r,i=!1;Rl(n)?n===`__proto__`?(i=!0,r=wd(n)):r=xd(n):r=wd(n),t.push(Fd(r,BD(e[n]),i))}return Nd(t)}throw Error(`don't know how to turn this value into a node`)}function VD(e,t,n=!1){return e.object=Ad(e.object,e.property,e.computed),e.property=t,e.computed=!!n,e}function HD(e,t){if(!e||!t)return e;for(let n of nu.optional)e[n]??(e[n]=t[n]);for(let n of Object.keys(t))n.startsWith(`_`)&&n!==`__clone`&&(e[n]=t[n]);for(let n of nu.force)e[n]=t[n];return CE(e,t),e}function UD(e,t){if(ma(e.object))throw Error("Cannot prepend node to super property access (`super.foo`).");return e.object=Ad(t,e.object),e}function WD(e){let t=[].concat(e),n=Object.create(null);for(;t.length;){let e=t.pop();if(e)switch(e.type){case`ArrayPattern`:t.push(...e.elements);break;case`AssignmentExpression`:case`AssignmentPattern`:case`ForInStatement`:case`ForOfStatement`:t.push(e.left);break;case`ObjectPattern`:t.push(...e.properties);break;case`ObjectProperty`:t.push(e.value);break;case`RestElement`:case`UpdateExpression`:t.push(e.argument);break;case`UnaryExpression`:e.operator===`delete`&&t.push(e.argument);break;case`Identifier`:n[e.name]=e}}return n}function GD(e,t,n,r){let i=[].concat(e),a=Object.create(null);for(;i.length;){let e=i.shift();if(!e||r&&($r(e)||Ui(e)||Wi(e)))continue;if(yi(e)){t?(a[e.name]=a[e.name]||[]).push(e):a[e.name]=e;continue}if(ll(e)&&!ta(e)){Yc(e.declaration)&&i.push(e.declaration);continue}if(n){if(_i(e)){i.push(e.id);continue}if(vi(e)||$i(e))continue}let o=GD.keys[e.type];if(o)for(let t=0;t<o.length;t++){let n=e[o[t]];n&&(Array.isArray(n)?i.push(...n):i.push(n))}}return a}GD.keys={DeclareClass:[`id`],DeclareFunction:[`id`],DeclareModule:[`id`],DeclareVariable:[`id`],DeclareInterface:[`id`],DeclareTypeAlias:[`id`],DeclareOpaqueType:[`id`],InterfaceDeclaration:[`id`],TypeAlias:[`id`],OpaqueType:[`id`],CatchClause:[`param`],LabeledStatement:[`label`],UnaryExpression:[`argument`],AssignmentExpression:[`left`],ImportSpecifier:[`local`],ImportNamespaceSpecifier:[`local`],ImportDefaultSpecifier:[`local`],ImportDeclaration:[`specifiers`],TSImportEqualsDeclaration:[`id`],ExportSpecifier:[`exported`],ExportNamespaceSpecifier:[`exported`],ExportDefaultSpecifier:[`exported`],FunctionDeclaration:[`id`,`params`],FunctionExpression:[`id`,`params`],ArrowFunctionExpression:[`params`],ObjectMethod:[`params`],ClassMethod:[`params`],ClassPrivateMethod:[`params`],ForInStatement:[`left`],ForOfStatement:[`left`],ClassDeclaration:[`id`],ClassExpression:[`id`],RestElement:[`argument`],UpdateExpression:[`argument`],ObjectProperty:[`value`],AssignmentPattern:[`left`],ArrayPattern:[`elements`],ObjectPattern:[`properties`],VariableDeclaration:[`declarations`],VariableDeclarator:[`id`]};function KD(e,t){return GD(e,t,!0)}function qD(e){return wi(e)?`null`:Ei(e)?`/${e.pattern}/${e.flags}`:_a(e)?e.quasis.map(e=>e.value.raw).join(``):e.value===void 0?null:String(e.value)}function JD(e){return!e.computed||el(e.key)?e.key:null}function YD(e,t){if(`id`in e&&e.id)return{name:e.id.name,originalNode:e.id};let n=``,r;if(Ni(t,{value:e})?r=JD(t):Mi(e)||da(e)?(r=JD(e),e.kind===`get`?n=`get `:e.kind===`set`&&(n=`set `)):Ki(t)&&t.init===e?r=t.id:$r(t,{operator:`=`,right:e})&&(r=t.left),!r)return null;let i=el(r)?qD(r):yi(r)?r.name:ka(r)?r.id.name:null;return i==null?null:{name:n+i,originalNode:r}}function XD(e,t,n){typeof t==`function`&&(t={enter:t});let{enter:r,exit:i}=t;ZD(e,r,i,n,[])}function ZD(e,t,n,r,i){let a=ru[e.type];if(a){t&&t(e,i,r);for(let o of a){let a=e[o];if(Array.isArray(a))for(let s=0;s<a.length;s++){let c=a[s];c&&(i.push({node:e,key:o,index:s}),ZD(c,t,n,r,i),i.pop())}else a&&(i.push({node:e,key:o}),ZD(a,t,n,r,i),i.pop())}n&&n(e,i,r)}}function QD(e,t,n){if(n&&e.type===`Identifier`&&t.type===`ObjectProperty`&&n.type===`ObjectExpression`)return!1;let r=GD.keys[t.type];if(r)for(let n=0;n<r.length;n++){let i=t[r[n]];if(Array.isArray(i)){if(i.includes(e))return!0}else if(i===e)return!0}return!1}function $D(e){return Gi(e)&&e.kind!==`var`}function eO(e){return _i(e)||ea(e)||$D(e)}function tO(e){return Il(e.type,`Immutable`)?!0:yi(e)?e.name===`undefined`:!1}function nO(e,t){if(typeof e!=`object`||typeof t!=`object`||e==null||t==null)return e===t;if(e.type!==t.type)return!1;let n=Object.keys(au[e.type]||e.type),r=ru[e.type];for(let i of n){let n=e[i],a=t[i];if(typeof n!=typeof a)return!1;if(n!=null||a!=null){if(n==null||a==null)return!1;if(Array.isArray(n)){if(!Array.isArray(a)||n.length!==a.length)return!1;for(let e=0;e<n.length;e++)if(!nO(n[e],a[e]))return!1;continue}if(typeof n==`object`&&!r?.includes(i)){for(let e of Object.keys(n))if(n[e]!==a[e])return!1;continue}if(!nO(n,a))return!1}}return!0}function rO(e,t,n){switch(t.type){case`MemberExpression`:case`OptionalMemberExpression`:return t.property===e?!!t.computed:t.object===e;case`JSXMemberExpression`:return t.object===e;case`VariableDeclarator`:return t.init===e;case`ArrowFunctionExpression`:return t.body===e;case`PrivateName`:return!1;case`ClassMethod`:case`ClassPrivateMethod`:case`ObjectMethod`:return t.key===e&&!!t.computed;case`ObjectProperty`:return t.key===e?!!t.computed:n?.type!==`ObjectPattern`;case`ClassProperty`:case`ClassAccessorProperty`:return t.key!==e||!!t.computed;case`ClassPrivateProperty`:return t.key!==e;case`ClassDeclaration`:case`ClassExpression`:return t.superClass===e;case`AssignmentExpression`:return t.right===e;case`AssignmentPattern`:return t.right===e;case`LabeledStatement`:return!1;case`CatchClause`:return!1;case`RestElement`:return!1;case`BreakStatement`:case`ContinueStatement`:return!1;case`FunctionDeclaration`:case`FunctionExpression`:return!1;case`ExportNamespaceSpecifier`:case`ExportDefaultSpecifier`:return!1;case`ExportSpecifier`:return!n?.source&&t.local===e;case`ImportDefaultSpecifier`:case`ImportNamespaceSpecifier`:case`ImportSpecifier`:return!1;case`ImportAttribute`:return!1;case`JSXAttribute`:return!1;case`ObjectPattern`:case`ArrayPattern`:return!1;case`MetaProperty`:return!1;case`ObjectTypeProperty`:return t.key!==e;case`TSEnumMember`:return t.id!==e;case`TSPropertySignature`:return t.key!==e||!!t.computed}return!0}function iO(e,t){return ii(e)&&(Kc(t)||si(t))?!1:ol(e)&&(Kc(t)||si(t))?!0:Pc(e)}function aO(e){return sa(e)||yi(e.imported||e.exported,{name:`default`})}var oO=new Set([`abstract`,`boolean`,`byte`,`char`,`double`,`enum`,`final`,`float`,`goto`,`implements`,`int`,`interface`,`long`,`native`,`package`,`private`,`protected`,`public`,`short`,`static`,`synchronized`,`throws`,`transient`,`volatile`]);function sO(e){return Rl(e)&&!oO.has(e)}function cO(e){return Gi(e)&&e.kind===`var`}var lO={isReactComponent:Pl,isCompatTag:Fl,buildChildren:_b},uO=[`decodeURI`,`decodeURIComponent`,`encodeURI`,`encodeURIComponent`,`escape`,`eval`,`globalThis`,`isFinite`,`isNaN`,`parseFloat`,`parseInt`,`undefined`,`unescape`],dO=`AggregateError.Array.ArrayBuffer.Atomics.BigInt.BigInt64Array.BigUint64Array.Boolean.DataView.Date.Error.EvalError.FinalizationRegistry.Float16Array.Float32Array.Float64Array.Function.Infinity.Int16Array.Int32Array.Int8Array.Intl.Iterator.JSON.Map.Math.NaN.Number.Object.Promise.Proxy.RangeError.ReferenceError.Reflect.RegExp.Set.SharedArrayBuffer.String.Symbol.SyntaxError.TypeError.Uint16Array.Uint32Array.Uint8Array.Uint8ClampedArray.URIError.WeakMap.WeakRef.WeakSet`.split(`.`),fO=44,pO=59,mO=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,hO=new Uint8Array(64),gO=new Uint8Array(128);for(let e=0;e<mO.length;e++){let t=mO.charCodeAt(e);hO[e]=t,gO[t]=e}function _O(e){let t=0,n=0,r=0;do r=gO[e.next()],t|=(r&31)<<n,n+=5;while(r&32);return t}function vO(e){return e&1?-2147483648|-(e>>>1):e>>>1}function yO(e,t){do{let n=t&31;t>>>=5,t>0&&(n|=32),e.write(hO[n])}while(t>0)}function bO(e){return e<0?-e<<1|1:e<<1}function xO(e,t){return e.pos>=t?!1:e.peek()!==fO}var SO=16384,CO=typeof TextDecoder<`u`?new TextDecoder:typeof Buffer<`u`?{decode(e){return Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString()}}:{decode(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t}},wO=class{constructor(){this.pos=0,this.out=``,this.buffer=new Uint8Array(SO)}write(e){let{buffer:t}=this;t[this.pos++]=e,this.pos===SO&&(this.out+=CO.decode(t),this.pos=0)}flush(){let{buffer:e,out:t,pos:n}=this;return n>0?t+CO.decode(e.subarray(0,n)):t}},TO=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){let{buffer:t,pos:n}=this,r=t.indexOf(e,n);return r===-1?t.length:r}};function EO(e){let{length:t}=e,n=new TO(e),r=[],i=0,a=0,o=0,s=0,c=0;do{let e=n.indexOf(`;`),t=[],l=!0,u=0;for(i=0;n.pos<e;){let r;i+=vO(_O(n)),i<u&&(l=!1),u=i,xO(n,e)?(a+=vO(_O(n)),o+=vO(_O(n)),s+=vO(_O(n)),xO(n,e)?(c+=vO(_O(n)),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||DO(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function DO(e){e.sort(OO)}function OO(e,t){return e[0]-t[0]}function kO(e){let t=new wO,n=0,r=0,i=0,a=0;for(let o=0;o<e.length;o++){let s=e[o];if(o>0&&t.write(pO),s.length===0)continue;let c=0;for(let e=0;e<s.length;e++){let o=s[e];e>0&&t.write(fO),yO(t,bO(o[0]-c)),c=o[0],o.length!==1&&(yO(t,bO(o[1]-n)),yO(t,bO(o[2]-r)),yO(t,bO(o[3]-i)),n=o[1],r=o[2],i=o[3],o.length!==4&&(yO(t,bO(o[4]-a)),a=o[4]))}}return t.flush()}var AO=l(o(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.resolveURI=r())})(e,(function(){"use strict";let e=/^[\w+.-]+:\/\//,t=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,n=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function r(t){return e.test(t)}function i(e){return e.startsWith(`//`)}function a(e){return e.startsWith(`/`)}function o(e){return e.startsWith(`file:`)}function s(e){return/^[.?#]/.test(e)}function c(e){let n=t.exec(e);return u(n[1],n[2]||``,n[3],n[4]||``,n[5]||`/`,n[6]||``,n[7]||``)}function l(e){let t=n.exec(e),r=t[2];return u(`file:`,``,t[1]||``,``,a(r)?r:`/`+r,t[3]||``,t[4]||``)}function u(e,t,n,r,i,a,o){return{scheme:e,user:t,host:n,port:r,path:i,query:a,hash:o,type:7}}function d(e){if(i(e)){let t=c(`http:`+e);return t.scheme=``,t.type=6,t}if(a(e)){let t=c(`http://foo.com`+e);return t.scheme=``,t.host=``,t.type=5,t}if(o(e))return l(e);if(r(e))return c(e);let t=c(`http://foo.com/`+e);return t.scheme=``,t.host=``,t.type=e?e.startsWith(`?`)?3:e.startsWith(`#`)?2:4:1,t}function f(e){if(e.endsWith(`/..`))return e;let t=e.lastIndexOf(`/`);return e.slice(0,t+1)}function p(e,t){m(t,t.type),e.path=e.path===`/`?t.path:f(t.path)+e.path}function m(e,t){let n=t<=4,r=e.path.split(`/`),i=1,a=0,o=!1;for(let e=1;e<r.length;e++){let t=r[e];if(!t){o=!0;continue}if(o=!1,t!==`.`){if(t===`..`){a?(o=!0,a--,i--):n&&(r[i++]=t);continue}r[i++]=t,a++}}let s=``;for(let e=1;e<i;e++)s+=`/`+r[e];(!s||o&&!s.endsWith(`/..`))&&(s+=`/`),e.path=s}function h(e,t){if(!e&&!t)return``;let n=d(e),r=n.type;if(t&&r!==7){let e=d(t),i=e.type;switch(r){case 1:n.hash=e.hash;case 2:n.query=e.query;case 3:case 4:p(n,e);case 5:n.user=e.user,n.host=e.host,n.port=e.port;case 6:n.scheme=e.scheme}i>r&&(r=i)}m(n,r);let i=n.query+n.hash;switch(r){case 2:case 3:return i;case 4:{let r=n.path.slice(1);return r?s(t||e)&&!s(r)?`./`+r+i:r+i:i||`.`}case 5:return n.path+i;default:return n.scheme+`//`+n.user+n.host+n.port+n.path+i}}return h}))}))(),1);function jO(e){if(!e)return``;let t=e.lastIndexOf(`/`);return e.slice(0,t+1)}function MO(e,t){let n=jO(e),r=t?t+`/`:``;return e=>(0,AO.default)(r+(e||``),n)}var NO=0,PO=1,FO=2,IO=3,LO=4;function RO(e,t){let n=zO(e,0);if(n===e.length)return e;t||(e=e.slice());for(let r=n;r<e.length;r=zO(e,r+1))e[r]=VO(e[r],t);return e}function zO(e,t){for(let n=t;n<e.length;n++)if(!BO(e[n]))return n;return e.length}function BO(e){for(let t=1;t<e.length;t++)if(e[t][NO]<e[t-1][NO])return!1;return!0}function VO(e,t){return t||(e=e.slice()),e.sort(HO)}function HO(e,t){return e[NO]-t[NO]}var UO=!1;function WO(e,t,n,r){for(;n<=r;){let i=n+(r-n>>1),a=e[i][NO]-t;if(a===0)return UO=!0,i;a<0?n=i+1:r=i-1}return UO=!1,n-1}function GO(e,t,n){for(let r=n+1;r<e.length&&e[r][NO]===t;n=r++);return n}function KO(e,t,n){for(let r=n-1;r>=0&&e[r][NO]===t;n=r--);return n}function qO(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function JO(e,t,n,r){let{lastKey:i,lastNeedle:a,lastIndex:o}=n,s=0,c=e.length-1;if(r===i){if(t===a)return UO=o!==-1&&e[o][NO]===t,o;t>=a?s=o===-1?0:o:c=o}return n.lastKey=r,n.lastNeedle=t,n.lastIndex=WO(e,t,s,c)}function YO(e){return typeof e==`string`?JSON.parse(e):e}var XO="`line` must be greater than 0 (lines start at line 1)",ZO="`column` must be greater than or equal to 0 (columns start at column 0)",QO=class{constructor(e,t){let n=typeof e==`string`;if(!n&&e._decodedMemo)return e;let r=YO(e),{version:i,file:a,names:o,sourceRoot:s,sources:c,sourcesContent:l}=r;this.version=i,this.file=a,this.names=o||[],this.sourceRoot=s,this.sources=c,this.sourcesContent=l,this.ignoreList=r.ignoreList||r.x_google_ignoreList||void 0;let u=MO(t,s);this.resolvedSources=c.map(u);let{mappings:d}=r;if(typeof d==`string`)this._encoded=d,this._decoded=void 0;else if(Array.isArray(d))this._encoded=void 0,this._decoded=RO(d,n);else if(r.sections)throw Error(`TraceMap passed sectioned source map, please use FlattenMap export instead`);else throw Error(`invalid source map: ${JSON.stringify(r)}`);this._decodedMemo=qO(),this._bySources=void 0,this._bySourceMemos=void 0}};function $O(e){return e}function ek(e){var t;return(t=$O(e))._decoded||(t._decoded=EO($O(e)._encoded))}function tk(e,t){let{line:n,column:r,bias:i}=t;if(n--,n<0)throw Error(XO);if(r<0)throw Error(ZO);let a=ek(e);if(n>=a.length)return nk(null,null,null,null);let o=a[n],s=rk(o,$O(e)._decodedMemo,n,r,i||1);if(s===-1)return nk(null,null,null,null);let c=o[s];if(c.length===1)return nk(null,null,null,null);let{names:l,resolvedSources:u}=e;return nk(u[c[PO]],c[FO]+1,c[IO],c.length===5?l[c[LO]]:null)}function nk(e,t,n,r){return{source:e,line:t,column:n,name:r}}function rk(e,t,n,r,i){let a=JO(e,r,t,n);return UO?a=(i===-1?GO:KO)(e,r,a):i===-1&&a++,a===-1||a===e.length?-1:a}var ik=class{constructor(){this._indexes={__proto__:null},this.array=[]}};function ak(e){return e}function ok(e,t){return ak(e)._indexes[t]}function sk(e,t){let n=ok(e,t);if(n!==void 0)return n;let{array:r,_indexes:i}=ak(e);return i[t]=r.push(t)-1}var ck=0,lk=1,uk=2,dk=3,fk=4,pk=-1,mk=class{constructor({file:e,sourceRoot:t}={}){this._names=new ik,this._sources=new ik,this._sourcesContent=[],this._mappings=[],this.file=e,this.sourceRoot=t,this._ignoreList=new ik}};function hk(e){return e}var gk=(e,t)=>Ok(!0,e,t);function _k(e,t,n){let{_sources:r,_sourcesContent:i}=hk(e),a=sk(r,t);i[a]=n}function vk(e){let{_mappings:t,_sources:n,_sourcesContent:r,_names:i,_ignoreList:a}=hk(e);return Tk(t),{version:3,file:e.file||void 0,names:i.array,sourceRoot:e.sourceRoot||void 0,sources:n.array,sourcesContent:r,mappings:t,ignoreList:a.array}}function yk(e){let t=vk(e);return Object.assign({},t,{mappings:kO(t.mappings)})}function bk(e){let t=[],{_mappings:n,_sources:r,_names:i}=hk(e);for(let e=0;e<n.length;e++){let a=n[e];for(let n=0;n<a.length;n++){let o=a[n],s={line:e+1,column:o[ck]},c,l,u;o.length!==1&&(c=r.array[o[lk]],l={line:o[uk]+1,column:o[dk]},o.length===5&&(u=i.array[o[fk]])),t.push({generated:s,source:c,original:l,name:u})}}return t}function xk(e,t,n,r,i,a,o,s,c){let{_mappings:l,_sources:u,_sourcesContent:d,_names:f}=hk(t),p=Sk(l,n),m=Ck(p,r);if(!i)return e&&Ek(p,m)?void 0:wk(p,m,[r]);let h=sk(u,i),ee=s?sk(f,s):pk;if(h===d.length&&(d[h]=c??null),!(e&&Dk(p,m,h,a,o,ee)))return wk(p,m,s?[r,h,a,o,ee]:[r,h,a,o])}function Sk(e,t){for(let n=e.length;n<=t;n++)e[n]=[];return e[t]}function Ck(e,t){let n=e.length;for(let r=n-1;r>=0&&!(t>=e[r][ck]);n=r--);return n}function wk(e,t,n){for(let n=e.length;n>t;n--)e[n]=e[n-1];e[t]=n}function Tk(e){let{length:t}=e,n=t;for(let t=n-1;t>=0&&!(e[t].length>0);n=t,t--);n<t&&(e.length=n)}function Ek(e,t){return t===0||e[t-1].length===1}function Dk(e,t,n,r,i,a){if(t===0)return!1;let o=e[t-1];return o.length!==1&&n===o[lk]&&r===o[uk]&&i===o[dk]&&a===(o.length===5?o[fk]:pk)}function Ok(e,t,n){let{generated:r,source:i,original:a,name:o,content:s}=n;return i?xk(e,t,r.line-1,r.column,i,a.line-1,a.column,o,s):xk(e,t,r.line-1,r.column,null,null,null,null,null)}var kk=l(o(((e,t)=>{var n={},r=n.hasOwnProperty,i=(e,t)=>{for(let n in e)r.call(e,n)&&t(n,e[n])},a=(e,t)=>(t&&i(t,(t,n)=>{e[t]=n}),e),o=(e,t)=>{let n=e.length,r=-1;for(;++r<n;)t(e[r])},s=e=>`\\u`+(`0000`+e).slice(-4),c=(e,t)=>{let n=e.toString(16);return t?n:n.toUpperCase()},l=n.toString,u=Array.isArray,d=e=>typeof Buffer==`function`&&Buffer.isBuffer(e),f=e=>l.call(e)==`[object Object]`,p=e=>typeof e==`string`||l.call(e)==`[object String]`,m=e=>typeof e==`number`||l.call(e)==`[object Number]`,h=e=>typeof e==`bigint`,ee=e=>typeof e==`function`,te=e=>l.call(e)==`[object Map]`,ne=e=>l.call(e)==`[object Set]`,re={"\\":`\\\\`,"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`},ie=/[\\\b\f\n\r\t]/,ae=/[0-9]/,oe=/[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,se=/([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^]/g,ce=/([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^ !#-&\(-\[\]-_a-~]/g,le=(e,t)=>{let n=()=>{pe=fe,++t.indentLevel,fe=t.indent.repeat(t.indentLevel)},r={escapeEverything:!1,minimal:!1,isScriptContext:!1,quotes:`single`,wrap:!1,es6:!1,json:!1,compact:!0,lowercaseHex:!1,numbers:`decimal`,indent:` `,indentLevel:0,__inline1__:!1,__inline2__:!1},l=t&&t.json;l&&(r.quotes=`double`,r.wrap=!0),t=a(r,t),t.quotes!=`single`&&t.quotes!=`double`&&t.quotes!=`backtick`&&(t.quotes=`single`);let ue=t.quotes==`double`?`"`:t.quotes==`backtick`?"`":`'`,g=t.compact,de=t.lowercaseHex,fe=t.indent.repeat(t.indentLevel),pe=``,me=t.__inline1__,_=t.__inline2__,v=g?``:`
13
+ `,y,he=!0,ge=t.numbers==`binary`,_e=t.numbers==`octal`,ve=t.numbers==`decimal`,ye=t.numbers==`hexadecimal`;if(l&&e&&ee(e.toJSON)&&(e=e.toJSON()),!p(e)){if(te(e))return e.size==0?`new Map()`:(g||(t.__inline1__=!0,t.__inline2__=!1),`new Map(`+le(Array.from(e),t)+`)`);if(ne(e))return e.size==0?`new Set()`:`new Set(`+le(Array.from(e),t)+`)`;if(d(e))return e.length==0?`Buffer.from([])`:`Buffer.from(`+le(Array.from(e),t)+`)`;if(u(e))return y=[],t.wrap=!0,me&&(t.__inline1__=!1,t.__inline2__=!0),_||n(),o(e,e=>{he=!1,_&&(t.__inline2__=!1),y.push((g||_?``:fe)+le(e,t))}),he?`[]`:_?`[`+y.join(`, `)+`]`:`[`+v+y.join(`,`+v)+v+(g?``:pe)+`]`;if(m(e)||h(e)){if(l)return JSON.stringify(Number(e));let t;if(ve)t=String(e);else if(ye){let n=e.toString(16);de||(n=n.toUpperCase()),t=`0x`+n}else ge?t=`0b`+e.toString(2):_e&&(t=`0o`+e.toString(8));return h(e)?t+`n`:t}return h(e)?l?JSON.stringify(Number(e)):e+`n`:f(e)?(y=[],t.wrap=!0,n(),i(e,(e,n)=>{he=!1,y.push((g?``:fe)+le(e,t)+`:`+(g?``:` `)+le(n,t))}),he?`{}`:`{`+v+y.join(`,`+v)+v+(g?``:pe)+`}`):l?JSON.stringify(e)||`null`:String(e)}let b=t.escapeEverything?se:ce;return y=e.replace(b,(e,n,r,i,a,o)=>{if(n){if(t.minimal)return n;let e=n.charCodeAt(0),r=n.charCodeAt(1);return t.es6?`\\u{`+c((e-55296)*1024+r-56320+65536,de)+`}`:s(c(e,de))+s(c(r,de))}if(r)return s(c(r.charCodeAt(0),de));if(e==`\0`&&!l&&!ae.test(o.charAt(a+1)))return`\\0`;if(i)return i==ue||t.escapeEverything?`\\`+i:i;if(ie.test(e))return re[e];if(t.minimal&&!oe.test(e))return e;let u=c(e.charCodeAt(0),de);return l||u.length>2?s(u):`\\x`+(`00`+u).slice(-2)}),ue=="`"&&(y=y.replace(/\$\{/g,"\\${")),t.isScriptContext&&(y=y.replace(/<\/(script|style)/gi,`<\\/$1`).replace(/<!--/g,l?`\\u003C!--`:`\\x3C!--`)),t.wrap&&(y=ue+y+ue),y};le.version=`3.0.2`,t.exports=le}))(),1),Ak=class{_map;_rawMappings;_sourceFileName;_lastGenLine=0;_lastSourceLine=0;_lastSourceColumn=0;_inputMap=null;constructor(e,t){let n=this._map=new mk({sourceRoot:e.sourceRoot});if(this._sourceFileName=e.sourceFileName?.replace(/\\/g,`/`),this._rawMappings=void 0,e.inputSourceMap){this._inputMap=new QO(e.inputSourceMap);let t=this._inputMap.resolvedSources;if(t.length)for(let e=0;e<t.length;e++)_k(n,t[e],this._inputMap.sourcesContent?.[e])}if(typeof t==`string`&&!e.inputSourceMap)_k(n,this._sourceFileName,t);else if(typeof t==`object`)for(let e of Object.keys(t))_k(n,e.replace(/\\/g,`/`),t[e])}get(){return yk(this._map)}getDecoded(){return vk(this._map)}getRawMappings(){return this._rawMappings||=bk(this._map)}mark(e,t,n,r,i,a,o){this._rawMappings=void 0;let s;if(n!=null){if(this._inputMap){if(s=tk(this._inputMap,{line:n,column:r}),s.name&&(a||i!=null&&s.column===r))i=s.name;else if(a){let e=tk(this._inputMap,a);e.name&&(i=e.name)}}else s={name:null,source:o?.replace(/\\/g,`/`)||this._sourceFileName,line:n,column:r}}i!=null&&i===t&&(i=null),gk(this._map,{name:i,generated:e,source:s?.source,original:s})}},jk=[];for(let e=0;e<32;e++)jk.push(` `.repeat(e*2));var Mk=class{constructor(e,t){this._map=e,this._indentChar=t}_map=null;_buf=``;_str=``;_appendCount=0;_last=0;_canMarkIdName=!0;_indentChar=``;_queuedChar=0;_position={line:1,column:0};_sourcePosition={identifierName:void 0,identifierNamePos:void 0,line:void 0,column:void 0,filename:void 0};get(){let{_map:e,_last:t}=this;this._queuedChar!==32&&this._flush();let n=t===10?(this._buf+this._str).trimRight():this._buf+this._str;if(e===null)return{code:n,decodedMap:void 0,map:null,rawMappings:void 0};let r={code:n,decodedMap:e.getDecoded(),get map(){let t=e.get();return r.map=t,t},set map(e){Object.defineProperty(r,"map",{value:e,writable:!0})},get rawMappings(){let t=e.getRawMappings();return r.rawMappings=t,t},set rawMappings(e){Object.defineProperty(r,"rawMappings",{value:e,writable:!0})}};return r}append(e,t,n=!1){this._flush(),this._append(e,t,n)}appendChar(e){this._flush(),this._appendChar(e,1,!0)}queue(e){this._flush(),this._queuedChar=e}_flush(){let e=this._queuedChar;e!==0&&(this._appendChar(e,1,!0),this._queuedChar=0)}_appendChar(e,t,n){if(this._last=e,e===-1){let e=t>=64?this._indentChar.repeat(t):jk[t/2];this._str+=e}else this._str+=t>1?String.fromCharCode(e).repeat(t):String.fromCharCode(e);let r=e===32,i=this._position;if(e!==10){if(this._map){let e=this._sourcePosition;n&&e?(this._map.mark(i,null,e.line,e.column,r?void 0:e.identifierName,r?void 0:e.identifierNamePos,e.filename),!r&&this._canMarkIdName&&(e.identifierName=void 0,e.identifierNamePos=void 0)):this._map.mark(i,null)}i.column+=t}else i.line++,i.column=0}_append(e,t,n){let r=e.length,i=this._position,a=this._sourcePosition;this._last=-1,++this._appendCount>4096?(+this._str,this._buf+=this._str,this._str=e,this._appendCount=0):this._str+=e;let o=!n&&this._map!==null;if(!t&&!o){i.column+=r;return}let{column:s,identifierName:c,identifierNamePos:l,filename:u}=a,d=a.line;(c!=null||l!=null)&&this._canMarkIdName&&(a.identifierName=void 0,a.identifierNamePos=void 0);let f=e.indexOf(`
14
+ `),p=0;for(o&&f!==0&&this._map.mark(i,e,d,s,c,l,u);f!==-1;)i.line++,i.column=0,p=f+1,p<r&&d!==void 0&&(d++,o&&this._map.mark(i,e,d,0,void 0,void 0,u)),f=e.indexOf(`
15
+ `,p);i.column+=r-p}removeLastSemicolon(){this._queuedChar===59&&(this._queuedChar=0)}getLastChar(e){if(!e)return this._last;let t=this._queuedChar;return t===0?this._last:t}getNewlineCount(){return+(this._queuedChar===0&&this._last===10)}hasContent(){return this._last!==0}exactSource(e,t){if(!this._map){t();return}this.source(`start`,e);let n=e.identifierName,r=this._sourcePosition;n!=null&&(this._canMarkIdName=!1,r.identifierName=n),t(),n!=null&&(this._canMarkIdName=!0,r.identifierName=void 0,r.identifierNamePos=void 0),this.source(`end`,e)}source(e,t){this._map&&this._normalizePosition(e,t,0)}sourceWithOffset(e,t,n){this._map&&this._normalizePosition(e,t,n)}_normalizePosition(e,t,n){this._flush();let r=t[e];r&&(this.setSourcePosition(r.line,Math.max(r.column+n,0)),this._sourcePosition.filename=t.filename)}setSourcePosition(e,t){let n=this._sourcePosition;n.line=e,n.column=t}getCurrentColumn(){return this._position.column+ +!!this._queuedChar}getCurrentLine(){return this._position.line}},{isMemberExpression:Nk,isOptionalMemberExpression:Pk,isYieldExpression:Fk,isStatement:Ik}=O,Lk=new Map([[`||`,0],[`??`,1],[`&&`,2],[`|`,3],[`^`,4],[`&`,5],[`==`,6],[`===`,6],[`!=`,6],[`!==`,6],[`<`,7],[`>`,7],[`<=`,7],[`>=`,7],[`in`,7],[`instanceof`,7],[`>>`,8],[`<<`,8],[`>>>`,8],[`+`,9],[`-`,9],[`*`,10],[`/`,10],[`%`,10],[`**`,11]]);function Rk(e){return e===154||e===199||e===207}var zk=(e,t,n)=>(n===22||n===23)&&t.superClass===e,Bk=(e,t,n)=>{switch(n){case 109:case 133:return t.object===e;case 18:case 131:case 113:return t.callee===e;case 220:return t.tag===e;case 189:return!0}return!1};function Vk(e,t,n){return n===4}function Hk(e,t,n,r){return n===237||n===91||n===4||(r&8)>0}function Uk(e,t,n){return Bk(e,t,n)||zk(e,t,n)}function Wk(e){return(e&3)>0}function Gk(e,t,n,r){return Wk(r)}function Kk(e,t,n,r){return(r&1)>0&&!e.async}function qk(e,t,n,r){if(zk(e,t,n)||Bk(e,t,n)||n===236||n===143||n===8)return!0;let i;switch(n){case 11:case 108:i=Lk.get(t.operator);break;case 154:case 199:i=7}if(i!==void 0){let a=r===2?7:Lk.get(e.operator);if(i>a||i===a&&n===11&&(a===11?t.left===e:t.right===e)||r===1&&n===108&&(a===1&&i!==1||i===1&&a!==1))return!0}return!1}function Jk(e,t,n){switch(n){case 4:case 116:case 91:case 237:return!0}return!1}function Yk(e,t,n){return n===85&&t.objectType===e}function Xk(e,t,n){return(n===6||n===7)&&t.left===e||n===11&&(t.operator===`|`||t.operator===`&`)&&e===t.left||qk(e,t,n,2)}function Zk(e,t,n){switch(n){case 153:case 193:case 209:case 210:case 179:case 217:return!0;case 173:return t.objectType===e;case 159:return t.checkType===e||t.extendsType===e}return!1}function Qk(e,t,n){switch(n){case 179:case 209:case 153:case 193:return!0;case 173:return t.objectType===e}return!1}function $k(e,t,n){return n===209||tA(e,t,n)}function eA(e,t,n){return!!(tA(e,t,n)||(n===179||n===217)&&e.typeParameter.constraint!=null)}function tA(e,t,n){switch(n){case 153:case 193:return!0;case 173:if(t.objectType===e)return!0}return!1}function nA(e,t,n){switch(n){case 18:case 131:case 113:case 175:return t.typeArguments!=null}return!1}function rA(e,t,n){return Qk(e,t,n)?!0:n===217||n===159&&(t.checkType===e||t.extendsType===e)}function iA(e,t,n,r){return qk(e,t,n,0)?!0:(r&128)>0&&e.operator===`in`}function aA(e,t,n){return qk(e,t,n,1)}function oA(e,t,n){return n===142||n===134||n===109&&t.property===e||n===133&&t.property===e||n===222?!1:n===22?!0:n===69?t.right===e:n===61||!Ik(t)}function sA(e,t,n){return n===11||n===108||n===236||n===143||Bk(e,t,n)||n===8&&Fk(e)||n===29&&e===t.test||zk(e,t,n)||Rk(n)}function cA(e,t,n,r){return(r&5)>0}function lA(e,t,n){return Bk(e,t,n)||n===11&&t.operator===`**`&&t.left===e||zk(e,t,n)}function uA(e,t,n,r){return(r&5)>0}function dA(e,t,n){switch(n){case 236:case 143:case 11:case 108:case 8:return!0;case 29:if(t.test===e)return!0}return Rk(n)?!0:lA(e,t,n)}function fA(e,t,n){switch(n){case 18:return t.callee===e;case 109:return t.object===e}return!1}function pA(e,t,n,r){return Wk(r)&&e.left.type===`ObjectPattern`?!0:dA(e,t,n)}function mA(e,t,n,r,i){if(i&&i(e)!==e.name)return!1;if(n===6&&e.extra?.parenthesized&&t.left===e){let e=t.right.type;if((e===`FunctionExpression`||e===`ClassExpression`)&&t.right.id==null)return!0}return(r&64||(n===109||n===133)&&r&49)&&e.name===`let`?(Nk(t,{object:e,computed:!0})||Pk(t,{object:e,computed:!0,optional:!1}))&&r&49?!0:(r&64)>0:n===69&&t.left===e&&e.name===`async`&&!t.await}var hA=Object.defineProperty({__proto__:null,ArrowFunctionExpression:dA,AssignmentExpression:pA,AwaitExpression:sA,BinaryExpression:iA,ClassExpression:cA,ConditionalExpression:dA,DoExpression:Kk,FunctionExpression:uA,FunctionTypeAnnotation:Hk,Identifier:mA,IntersectionTypeAnnotation:Jk,LogicalExpression:aA,NullableTypeAnnotation:Vk,ObjectExpression:Gk,OptionalCallExpression:fA,OptionalIndexedAccessType:Yk,OptionalMemberExpression:fA,SequenceExpression:oA,SpreadElement:lA,TSAsExpression:Xk,TSConditionalType:Zk,TSConstructorType:rA,TSFunctionType:rA,TSInferType:eA,TSInstantiationExpression:nA,TSIntersectionType:$k,TSSatisfiesExpression:Xk,TSTypeAssertion:lA,TSTypeOperator:tA,TSUnionType:Qk,UnaryExpression:lA,UnionTypeAnnotation:Jk,UpdateExpression:Uk,YieldExpression:sA},Symbol.toStringTag,{value:`Module`});function gA(e){this.print(e.tag),this.print(e.typeArguments),this.print(e.quasi)}function _A(){throw Error(`TemplateElement printing is handled in TemplateLiteral`)}function vA(e,t){let n=e.quasis,r="`";for(let e=0;e<n.length-1;e++)r+=n[e].value.raw,this.token(r+"${",!0),this.print(t[e]),r=`}`;r+=n[n.length-1].value.raw,this.token(r+"`",!0)}function yA(e){vA.call(this,e,e.expressions)}var{isCallExpression:bA,isLiteral:xA,isMemberExpression:SA,isNewExpression:CA,isPattern:wA}=O;function TA(e){let{operator:t}=e,n=t.charCodeAt(0);n>=97&&n<=122?(this.word(t),this.space()):this.tokenChar(n),this.print(e.argument)}function EA(e){e.async&&(this.word(`async`,!0),this.space()),this.word(`do`),this.space(),this.print(e.body)}function DA(e){this.tokenChar(40);let t=this.enterDelimited();this.print(e.expression,void 0,!0),this._noLineTerminatorAfterNode=t,this.rightParens(e)}function OA(e){e.prefix?(this.token(e.operator,!1,0,!0),this.print(e.argument)):(this.print(e.argument,!0),this.token(e.operator,!1,0,!0))}function kA(e){this.print(e.test),this.space(),this.tokenChar(63),this.space(),this.print(e.consequent),this.space(),this.tokenChar(58),this.space(),this.print(e.alternate)}function AA(e){this.tokenChar(40);let t=this.enterDelimited();this.printList(e.arguments,this.shouldPrintTrailingComma(`)`),void 0,void 0,void 0,!0),this._noLineTerminatorAfterNode=t,this.rightParens(e)}function jA(e,t){this.word(`new`),this.space(),this.print(e.callee),(!this.format.minified||e.arguments.length!==0||bA(t,{callee:e})||SA(t)||CA(t))&&(this.print(e.typeArguments),(e.arguments.length!==0||!this.tokenMap||this.tokenMap.endMatches(e,`)`))&&AA.call(this,e))}function MA(e){this.printList(e.expressions)}function NA(){this.word(`this`)}function PA(){this.word(`super`)}function FA(e){return typeof e.start==`number`&&e.start===e.declaration.start}function IA(e){this.tokenChar(64);let{expression:t}=e;this.print(t),this.newline()}function LA(e){let{computed:t}=e,{optional:n,property:r}=e;if(this.print(e.object),!t&&SA(r))throw TypeError(`Got a MemberExpression for MemberExpression property`);xA(r)&&typeof r.value==`number`&&(t=!0),n&&this.token(`?.`),t?(this.tokenChar(91),this.print(r),this.tokenChar(93)):(n||this.tokenChar(46),this.print(r))}function RA(e){this.print(e.callee),e.optional&&this.token(`?.`),this.print(e.typeArguments),AA.call(this,e)}function zA(e){this.print(e.callee),this.print(e.typeArguments),AA.call(this,e)}function BA(){this.word(`import`)}function VA(e){this.word(`await`),this.space(),this.print(e.argument)}function HA(e){e.delegate?(this.word(`yield`,!0),this.tokenChar(42),e.argument&&(this.space(),this.print(e.argument))):e.argument?(this.word(`yield`,!0),this.space(),this.print(e.argument)):this.word(`yield`)}function UA(){this.semicolon(!0)}function WA(e){this.tokenContext|=1,this.print(e.expression),this.semicolon()}function GA(e){this.print(e.left),(e.left.type===`Identifier`||wA(e.left))&&(e.left.optional&&this.tokenChar(63),this.print(e.left.typeAnnotation)),this.space(),this.tokenChar(61),this.space(),this.print(e.right)}function KA(e){this.print(e.left),this.space(),this.token(e.operator,!1,0,!0),this.space(),this.print(e.right)}function qA(e){this.print(e.left),this.space();let{operator:t}=e;t.charCodeAt(0)===105?this.word(t):(this.token(t,!1,0,!0),this.setLastChar(t.charCodeAt(t.length-1))),this.space(),this.print(e.right)}function JA(e){this.print(e.object),this.token(`::`),this.print(e.callee)}function YA(e){if(this.print(e.object),!e.computed&&SA(e.property))throw TypeError(`Got a MemberExpression for MemberExpression property`);let t=e.computed;if(xA(e.property)&&typeof e.property.value==`number`&&(t=!0),t){let t=this.enterDelimited();this.tokenChar(91),this.print(e.property,void 0,!0),this.tokenChar(93),this._noLineTerminatorAfterNode=t}else this.tokenChar(46),this.print(e.property)}function XA(e){this.print(e.meta),this.tokenChar(46),this.print(e.property)}function ZA(e){this.tokenChar(35),this.print(e.id)}function QA(e){this.tokenChar(37),this.word(e.name)}function $A(e){this.word(`module`,!0),this.space(),this.tokenChar(123),this.indent();let{body:t}=e;(t.body.length||t.directives.length)&&this.newline(),this.print(t),this.dedent(),this.rightBrace(e)}var{isFor:ej,isIfStatement:tj,isStatement:nj,isVoidPattern:rj}=O;function ij(e){this.word(`with`),this.space(),this.tokenChar(40),this.print(e.object),this.tokenChar(41),this.printBlock(e.body)}function aj(e){this.word(`if`),this.space(),this.tokenChar(40),this.print(e.test),this.tokenChar(41),this.space();let t=e.alternate&&tj(oj(e.consequent));t&&(this.tokenChar(123),this.newline(),this.indent()),this.printAndIndentOnComments(e.consequent),t&&(this.dedent(),this.newline(),this.tokenChar(125)),e.alternate&&(this.endsWith(125)&&this.space(),this.word(`else`),this.space(),this.printAndIndentOnComments(e.alternate))}function oj(e){let{body:t}=e;return nj(t)===!1?e:oj(t)}function sj(e){this.word(`for`),this.space(),this.tokenChar(40),this.tokenContext|=144,this.print(e.init),this.tokenContext=0,this.tokenChar(59),e.test&&(this.space(),this.print(e.test)),this.tokenChar(59,1),e.update&&(this.space(),this.print(e.update)),this.tokenChar(41),this.printBlock(e.body)}function cj(e){this.word(`while`),this.space(),this.tokenChar(40),this.print(e.test),this.tokenChar(41),this.printBlock(e.body)}function lj(e){this.word(`for`),this.space(),this.noIndentInnerCommentsHere(),this.tokenChar(40),this.tokenContext|=160,this.print(e.left),this.tokenContext=0,this.space(),this.word(`in`),this.space(),this.print(e.right),this.tokenChar(41),this.printBlock(e.body)}function uj(e){this.word(`for`),this.space(),e.await&&(this.word(`await`),this.space()),this.noIndentInnerCommentsHere(),this.tokenChar(40),this.tokenContext|=64,this.print(e.left),this.space(),this.word(`of`),this.space(),this.print(e.right),this.tokenChar(41),this.printBlock(e.body)}function dj(e){this.word(`do`),this.space(),this.print(e.body),this.space(),this.word(`while`),this.space(),this.tokenChar(40),this.print(e.test),this.tokenChar(41),this.semicolon()}function fj(e,t){t&&(e.space(),e.printTerminatorless(t)),e.semicolon()}function pj(e){this.word(`break`),fj(this,e.label)}function mj(e){this.word(`continue`),fj(this,e.label)}function hj(e){this.word(`return`),fj(this,e.argument)}function gj(e){this.word(`throw`),fj(this,e.argument)}function _j(e){this.print(e.label),this.tokenChar(58),this.space(),this.print(e.body)}function vj(e){this.word(`try`),this.space(),this.print(e.block),this.space(),e.handlers?this.print(e.handlers[0]):this.print(e.handler),e.finalizer&&(this.space(),this.word(`finally`),this.space(),this.print(e.finalizer))}function yj(e){this.word(`catch`),this.space(),e.param&&(this.tokenChar(40),this.print(e.param),this.print(e.param.typeAnnotation),this.tokenChar(41),this.space()),this.print(e.body)}function bj(e){this.word(`switch`),this.space(),this.tokenChar(40),this.print(e.discriminant),this.tokenChar(41),this.space(),this.tokenChar(123),this.printSequence(e.cases,!0),this.rightBrace(e)}function xj(e){e.test?(this.word(`case`),this.space(),this.print(e.test),this.tokenChar(58)):(this.word(`default`),this.tokenChar(58)),e.consequent.length&&(this.newline(),this.printSequence(e.consequent,!0))}function Sj(){this.word(`debugger`),this.semicolon()}function Cj(e){this.tokenChar(44,e),this.newline()}function wj(e,t){e.declare&&(this.word(`declare`),this.space());let{kind:n}=e;switch(n){case`await using`:this.word(`await`),this.space();case`using`:this.word(`using`,!0);break;default:this.word(n)}this.space();let r=!1;if(!ej(t)){for(let t of e.declarations)if(t.init){r=!0;break}}if(this.printList(e.declarations,void 0,void 0,e.declarations.length>1,r?Cj:void 0),t!=null)switch(t.type){case`ForStatement`:if(t.init===e)return;break;case`ForInStatement`:case`ForOfStatement`:if(t.left===e)return}this.semicolon()}function Tj(e){this.print(e.id),e.definite&&this.tokenChar(33),rj(e.id)||this.print(e.id.typeAnnotation),e.init&&(this.space(),this.tokenChar(61),this.space(),this.print(e.init))}var{isIdentifier:Ej}=O;function Dj(e,t,n,r){if(this.print(e.typeParameters),n!==void 0||r!==void 0){let e=Lj.call(this,n,r);e&&this.sourceIdentifierName(e.name,e.pos)}this.tokenChar(40),Oj.call(this,e.params,41),this.print(e.returnType,t),this._noLineTerminator=t}function Oj(e,t){let n=this.enterDelimited(),r=this.shouldPrintTrailingComma(t),i=e.length;for(let t=0;t<i;t++)kj.call(this,e[t]),(r||t<i-1)&&(this.tokenChar(44,t),this.space());this.tokenChar(t),this._noLineTerminatorAfterNode=n}function kj(e){this.printJoin(e.decorators,void 0,void 0,void 0,void 0,!0),this.print(e,void 0,!0),e.optional&&this.tokenChar(63),this.print(e.typeAnnotation,void 0,!0)}function Aj(e){let t=e.kind,n=e.key;(t===`get`||t===`set`)&&(this.word(t),this.space()),e.async&&(this.word(`async`,!0),this.space()),(t===`method`||t===`init`)&&e.generator&&this.tokenChar(42),e.computed?(this.tokenChar(91),this.print(n),this.tokenChar(93)):this.print(n),e.optional&&this.tokenChar(63),this._buf._map?Dj.call(this,e,!1,e.computed&&e.key.type!==`StringLiteral`?void 0:e.key):Dj.call(this,e,!1)}function jj(e,t){e.predicate&&(e.returnType||this.tokenChar(58),this.space(),this.print(e.predicate,t))}function Mj(e,t,n){e.async&&(this.word(`async`),this.format.preserveFormat||(this._innerCommentsState=0),this.space()),this.word(`function`),e.generator&&(this.format.preserveFormat||(this._innerCommentsState=0),this.tokenChar(42)),this.space(),e.id&&this.print(e.id),this._buf._map?Dj.call(this,e,!1,e.id,t):Dj.call(this,e,!1),n&&jj.call(this,e)}function Nj(e,t){Mj.call(this,e,t,!0),this.space(),this.print(e.body)}function Pj(e,t){e.async&&(this.word(`async`,!0),this.space()),Fj.call(this,e)?Dj.call(this,e,!0,void 0,this._buf._map?t:void 0):this.print(e.params[0],!0),jj.call(this,e,!0),this.space(),this.printInnerComments(),this.token(`=>`),this.space(),this.tokenContext|=2,this.print(e.body)}function Fj(e){if(e.params.length!==1||e.typeParameters||e.returnType||e.predicate)return!0;let t=e.params[0];if(!Ej(t)||t.typeAnnotation||t.optional||t.leadingComments?.length||t.trailingComments?.length)return!0;if(this.tokenMap){if(e.loc==null||this.tokenMap.findMatching(e,`(`)!==null)return!0;let t=this.tokenMap.findMatching(e,`=>`);return t?.loc==null||t.loc.start.line!==e.loc.start.line}return!!this.format.retainLines}function Ij(e){return!!e.loc?.identifierName&&e.loc.identifierName!==e.name}function Lj(e,t){let n=e;if(!n&&t){let e=t.type;e===`VariableDeclarator`?n=t.id:e===`AssignmentExpression`||e===`AssignmentPattern`?n=t.left:e===`ObjectProperty`||e===`ClassProperty`?(!t.computed||t.key.type===`StringLiteral`)&&(n=t.key):(e===`ClassPrivateProperty`||e===`ClassAccessorProperty`)&&(n=t.key)}if(!n?.loc)return;let r;if(n.type===`Identifier`){if(!Ij(n))return;r={pos:n.loc.start,name:n.loc.identifierName}}else if(n.type===`PrivateName`){if(!Ij(n.id))return;r={pos:n.loc.start,name:`#`+n.id.loc.identifierName}}else n.type===`StringLiteral`&&(r={pos:n.loc.start,name:n.value});return r}function Rj(e,t){this.token((t.type===`TSFunctionType`||t.type===`TSConstructorType`)&&t.returnType===e?`=>`:`:`),this.space(),e.optional&&this.tokenChar(63),this.print(e.typeAnnotation)}function zj(e,t){this.tokenChar(60);let n=t.type===`ArrowFunctionExpression`&&e.params.length===1;this.tokenMap&&e.start!=null&&e.end!=null&&(n&&=!!this.tokenMap.find(e,e=>this.tokenMap.matchesOriginal(e,`,`)),n||=this.shouldPrintTrailingComma(`>`)),this.printList(e.params,n),this.tokenChar(62)}function Bj(e){e.const&&(this.word(`const`),this.space()),e.in&&(this.word(`in`),this.space()),e.out&&(this.word(`out`),this.space()),this.word(e.name.name),e.constraint&&(this.space(),this.word(`extends`),this.space(),this.print(e.constraint)),e.default&&(this.space(),this.tokenChar(61),this.space(),this.print(e.default))}function Vj(e){e.accessibility&&(this.word(e.accessibility),this.space()),e.readonly&&(this.word(`readonly`),this.space()),kj.call(this,e.parameter)}function Hj(e,t){e.declare&&(this.word(`declare`),this.space()),Mj.call(this,e,t,!1),this.semicolon()}function Uj(e){_F.call(this,e,!1),this.semicolon()}function Wj(e){this.print(e.left),this.tokenChar(46),this.print(e.right)}function Gj(e){tN.call(this,e),Kj(this,e)}function Kj(e,t){if(!e.tokenMap||!t.start||!t.end){e.semicolon();return}e.tokenMap.endMatches(t,`,`)?e.token(`,`):e.tokenMap.endMatches(t,`;`)&&e.semicolon()}function qj(e){this.word(`new`),this.space(),tN.call(this,e),Kj(this,e)}function Jj(e){let{readonly:t}=e;t&&(this.word(`readonly`),this.space()),Yj.call(this,e),this.print(e.typeAnnotation),Kj(this,e)}function Yj(e){e.computed&&this.tokenChar(91),this.print(e.key),e.computed&&this.tokenChar(93),e.optional&&this.tokenChar(63)}function Xj(e){let{kind:t}=e;(t===`set`||t===`get`)&&(this.word(t),this.space()),Yj.call(this,e),tN.call(this,e),Kj(this,e)}function Zj(e){let{readonly:t,static:n}=e;n&&(this.word(`static`),this.space()),t&&(this.word(`readonly`),this.space()),this.tokenChar(91),Oj.call(this,e.parameters,93),this.print(e.typeAnnotation),Kj(this,e)}function Qj(){this.word(`any`)}function $j(){this.word(`bigint`)}function eM(){this.word(`unknown`)}function tM(){this.word(`number`)}function nM(){this.word(`object`)}function rM(){this.word(`boolean`)}function iM(){this.word(`string`)}function aM(){this.word(`symbol`)}function oM(){this.word(`void`)}function sM(){this.word(`undefined`)}function cM(){this.word(`null`)}function lM(){this.word(`never`)}function uM(){this.word(`intrinsic`)}function dM(){this.word(`this`)}function fM(e){mM.call(this,e)}function pM(e){e.abstract&&(this.word(`abstract`),this.space()),this.word(`new`),this.space(),mM.call(this,e)}function mM(e){let{typeParameters:t}=e,n=e.params;this.print(t),this.tokenChar(40),Oj.call(this,n,41),this.space();let r=e.returnType;this.print(r)}function hM(e){let t=e.typeArguments;this.print(e.typeName,!!t),this.print(t)}function gM(e){e.asserts&&(this.word(`asserts`),this.space()),this.print(e.parameterName),e.typeAnnotation&&(this.space(),this.word(`is`),this.space(),this.print(e.typeAnnotation.typeAnnotation))}function _M(e){this.word(`typeof`),this.space(),this.print(e.exprName);let t=e.typeArguments;t&&this.print(t)}function vM(e){rN(this,e,()=>this.printJoin(e.members,!0,!0,void 0,void 0,!0))}function yM(e){this.print(e.elementType,!0),this.tokenChar(91),this.tokenChar(93)}function bM(e){this.tokenChar(91),this.printList(e.elementTypes,this.shouldPrintTrailingComma(`]`)),this.tokenChar(93)}function xM(e){this.print(e.typeAnnotation),this.tokenChar(63)}function SM(e){this.token(`...`),this.print(e.typeAnnotation)}function CM(e){this.print(e.label),e.optional&&this.tokenChar(63),this.tokenChar(58),this.space(),this.print(e.elementType)}function wM(e){EM(this,e,`|`)}function TM(e){EM(this,e,`&`)}function EM(e,t,n){let r=0;e.tokenMap?.startMatches(t,n)&&(r=1,e.token(n)),e.printJoin(t.types,void 0,void 0,function(e){this.space(),this.token(n,void 0,e+r),this.space()})}function DM(e){this.print(e.checkType),this.space(),this.word(`extends`),this.space(),this.print(e.extendsType),this.space(),this.tokenChar(63),this.space(),this.print(e.trueType),this.space(),this.tokenChar(58),this.space(),this.print(e.falseType)}function OM(e){this.word(`infer`),this.print(e.typeParameter)}function kM(e){this.tokenChar(40),this.print(e.typeAnnotation),this.tokenChar(41)}function AM(e){this.word(e.operator),this.space(),this.print(e.typeAnnotation)}function jM(e){this.print(e.objectType,!0),this.tokenChar(91),this.print(e.indexType),this.tokenChar(93)}function MM(e){let{nameType:t,optional:n,readonly:r,typeAnnotation:i}=e;this.tokenChar(123);let a=this.enterDelimited();this.space(),r&&(NM(this,r),this.word(`readonly`),this.space()),this.tokenChar(91),this.word(e.key.name),this.space(),this.word(`in`),this.space(),this.print(e.constraint),t&&(this.space(),this.word(`as`),this.space(),this.print(t,void 0,!0)),this.tokenChar(93),n&&(NM(this,n),this.tokenChar(63)),i&&(this.tokenChar(58),this.space(),this.print(i,void 0,!0)),this.space(),this._noLineTerminatorAfterNode=a,this.tokenChar(125)}function NM(e,t){t!==!0&&e.token(t)}function PM(e){vA.call(this,e,e.types)}function FM(e){this.print(e.literal)}function IM(e){this.print(e.expression),this.print(e.typeArguments)}function LM(e){let{declare:t,id:n,typeParameters:r,extends:i,body:a}=e;t&&(this.word(`declare`),this.space()),this.word(`interface`),this.space(),this.print(n),this.print(r),i?.length&&(this.space(),this.word(`extends`),this.space(),this.printList(i)),this.space(),this.print(a)}function RM(e){rN(this,e,()=>this.printJoin(e.body,!0,!0,void 0,void 0,!0))}function zM(e){let{declare:t,id:n,typeParameters:r,typeAnnotation:i}=e;t&&(this.word(`declare`),this.space()),this.word(`type`),this.space(),this.print(n),this.print(r),this.space(),this.tokenChar(61),this.space(),this.print(i),this.semicolon()}function BM(e){let{expression:t,typeAnnotation:n}=e;this.print(t,!0),this.space(),this.word(`as`),this.space(),this.print(n)}function VM(e){let{expression:t,typeAnnotation:n}=e;this.print(t,!0),this.space(),this.word(`satisfies`),this.space(),this.print(n)}function HM(e){let{typeAnnotation:t,expression:n}=e;this.tokenChar(60),this.print(t),this.tokenChar(62),this.space(),this.print(n)}function UM(e){this.print(e.expression),this.print(e.typeArguments)}function WM(e){let{declare:t,const:n,id:r}=e;t&&(this.word(`declare`),this.space()),n&&(this.word(`const`),this.space()),this.word(`enum`),this.space(),this.print(r),this.space(),this.print(e.body)}function GM(e){rN(this,e,()=>this.printList(e.members,this.shouldPrintTrailingComma(`}`)??!1,!0,!0,void 0,!0))}function KM(e){let{id:t,initializer:n}=e;this.print(t),n&&(this.space(),this.tokenChar(61),this.space(),this.print(n))}function qM(e){let{declare:t,kind:n}=e;if(t&&(this.word(`declare`),this.space()),n!==`global`&&(this.word(n),this.space()),this.print(e.id),!e.body){this.semicolon();return}this.space(),this.print(e.body)}function JM(e){rN(this,e,()=>this.printSequence(e.body,!0,!0))}function YM(e){let{qualifier:t,options:n}=e;this.word(`import`),this.tokenChar(40),this.print(e.source),n&&(this.tokenChar(44),this.print(n)),this.tokenChar(41),t&&(this.tokenChar(46),this.print(t));let r=e.typeArguments;r&&this.print(r)}function XM(e){let{id:t,moduleReference:n}=e;this.word(`import`),this.space(),this.print(t),this.space(),this.tokenChar(61),this.space(),this.print(n),this.semicolon()}function ZM(e){this.token(`require(`),this.print(e.expression),this.tokenChar(41)}function QM(e){this.print(e.expression),this.tokenChar(33),this.setLastChar(33)}function $M(e){this.word(`export`),this.space(),this.tokenChar(61),this.space(),this.print(e.expression),this.semicolon()}function eN(e){this.word(`export`),this.space(),this.word(`as`),this.space(),this.word(`namespace`),this.space(),this.print(e.id),this.semicolon()}function tN(e){let{typeParameters:t}=e,n=e.params;this.print(t),this.tokenChar(40),Oj.call(this,n,41),this.print(e.returnType)}function nN(e){let t=e.type===`ClassPrivateProperty`,n=e.type===`ClassAccessorProperty`||e.type===`ClassProperty`;iN(this,e,[n&&e.declare&&`declare`,!t&&e.accessibility]),e.static&&(this.word(`static`),this.space()),iN(this,e,[!t&&e.abstract&&`abstract`,!t&&e.override&&`override`,(n||t)&&e.readonly&&`readonly`])}function rN(e,t,n){e.token(`{`);let r=e.enterDelimited();n(),e._noLineTerminatorAfterNode=r,e.rightBrace(t)}function iN(e,t,n){let r=new Set;for(let e of n)e&&r.add(e);e.tokenMap?.find(t,t=>r.has(t.value)?(e.token(t.value),e.space(),r.delete(t.value),r.size===0):!1);for(let t of r)e.word(t),e.space()}var{isClassDeclaration:aN,isExportDefaultSpecifier:oN,isExportNamespaceSpecifier:sN,isImportDefaultSpecifier:cN,isImportNamespaceSpecifier:lN,isStatement:uN}=O;function dN(e){(e.importKind===`type`||e.importKind===`typeof`)&&(this.word(e.importKind),this.space()),this.print(e.imported),e.local&&e.local.name!==e.imported.name&&(this.space(),this.word(`as`),this.space(),this.print(e.local))}function fN(e){this.print(e.local)}function pN(e){this.print(e.exported)}function mN(e){e.exportKind===`type`&&(this.word(`type`),this.space()),this.print(e.local),e.exported&&e.local.name!==e.exported.name&&(this.space(),this.word(`as`),this.space(),this.print(e.exported))}function hN(e){this.tokenChar(42),this.space(),this.word(`as`),this.space(),this.print(e.exported)}function gN(e,t){let{attributes:n}=e;this.word(`with`),this.space();let r=+!!t;this.token(`{`,void 0,r),this.space(),this.printList(n,this.shouldPrintTrailingComma(`}`)),this.space(),this.token(`}`,void 0,r)}function _N(e){this.word(`export`),this.space(),e.exportKind===`type`&&(this.word(`type`),this.space()),this.tokenChar(42),this.space(),this.word(`from`),this.space(),e.attributes?.length?(this.print(e.source,!0),this.space(),gN.call(this,e,!1)):this.print(e.source),this.semicolon()}function vN(e,t){aN(t.declaration)&&FA.call(e,t)&&e.printJoin(t.declaration.decorators)}function yN(e){if(vN(this,e),this.word(`export`),this.space(),e.declaration){let t=e.declaration;this.print(t),uN(t)||this.semicolon()}else{e.exportKind===`type`&&(this.word(`type`),this.space());let t=e.specifiers.slice(0),n=!1;for(;;){let e=t[0];if(oN(e)||sN(e))n=!0,this.print(t.shift()),t.length&&(this.tokenChar(44),this.space());else break}let r=!1;(t.length||!t.length&&!n)&&(r=!0,this.tokenChar(123),t.length&&(this.space(),this.printList(t,this.shouldPrintTrailingComma(`}`)),this.space()),this.tokenChar(125)),e.source&&(this.space(),this.word(`from`),this.space(),e.attributes?.length?(this.print(e.source,!0),this.space(),gN.call(this,e,r)):this.print(e.source)),this.semicolon()}}function bN(e){vN(this,e),this.word(`export`),this.noIndentInnerCommentsHere(),this.space(),this.word(`default`),this.space(),this.tokenContext|=4;let t=e.declaration;this.print(t),uN(t)||this.semicolon()}function xN(e){this.word(`import`),this.space();let t=e.importKind===`type`||e.importKind===`typeof`;t?(this.noIndentInnerCommentsHere(),this.word(e.importKind),this.space()):e.module?(this.noIndentInnerCommentsHere(),this.word(`module`),this.space()):e.phase&&(this.noIndentInnerCommentsHere(),this.word(e.phase),this.space());let n=e.specifiers.slice(0),r=!!n.length;for(;r;){let e=n[0];if(cN(e)||lN(e))this.print(n.shift()),n.length&&(this.tokenChar(44),this.space());else break}let i=!1;n.length?(i=!0,this.tokenChar(123),this.space(),this.printList(n,this.shouldPrintTrailingComma(`}`)),this.space(),this.tokenChar(125)):t&&!r&&(i=!0,this.tokenChar(123),this.tokenChar(125)),(r||t)&&(this.space(),this.word(`from`),this.space()),e.attributes?.length?(this.print(e.source,!0),this.space(),gN.call(this,e,i)):this.print(e.source),this.semicolon()}function SN(e){this.print(e.key),this.tokenChar(58),this.space(),this.print(e.value)}function CN(e){this.tokenChar(42),this.space(),this.word(`as`),this.space(),this.print(e.local)}function wN(e){this.word(`import`),e.phase&&(this.tokenChar(46),this.word(e.phase)),this.tokenChar(40);let t=this.shouldPrintTrailingComma(`)`);this.print(e.source),e.options!=null&&(this.tokenChar(44),this.space(),this.print(e.options)),t&&this.tokenChar(44),this.rightParens(e)}var{isAssignmentPattern:TN,isIdentifier:EN}=O,DN=``;function ON(e){let{name:t}=e,n=this.tokenMap.find(e,e=>e.value===t);return n?(DN=this._originalCode.slice(n.start,n.end),DN):DN=e.name}function kN(e){this._buf._map&&e.loc?.identifierName&&e.loc.identifierName!==e.name&&this.sourceIdentifierName(e.loc.identifierName),this.word(this.tokenMap?DN:e.name)}function AN(){this.tokenChar(63)}function jN(e){this.token(`...`),this.print(e.argument)}function MN(e){let t=e.properties;if(this.tokenChar(123),t.length){let e=this.enterDelimited();this.space(),this.printList(t,this.shouldPrintTrailingComma(`}`),!0,!0,void 0,!0),this.space(),this._noLineTerminatorAfterNode=e}this.rightBrace(e)}function NN(e){this.printJoin(e.decorators),Aj.call(this,e),this.space(),this.print(e.body)}function PN(e){if(this.printJoin(e.decorators),e.computed)this.tokenChar(91),this.print(e.key),this.tokenChar(93);else{if(TN(e.value)&&EN(e.key)&&e.key.name===e.value.left.name){this.print(e.value);return}if(this.print(e.key),e.shorthand&&EN(e.key)&&EN(e.value)&&e.key.name===e.value.name)return}this.tokenChar(58),this.space(),this.print(e.value)}function FN(e){let t=e.elements,n=t.length;this.tokenChar(91);let r=this.enterDelimited();for(let e=0;e<t.length;e++){let r=t[e];r?(e>0&&this.space(),this.print(r,void 0,!0),(e<n-1||this.shouldPrintTrailingComma(`]`))&&this.tokenChar(44,e)):this.tokenChar(44,e)}this._noLineTerminatorAfterNode=r,this.tokenChar(93)}function IN(e){this.word(`/${e.pattern}/${e.flags}`,!1)}function LN(e){this.word(e.value?`true`:`false`)}function RN(){this.word(`null`)}function zN(e){let t=this.getPossibleRaw(e),n=this.format.jsescOption,r=e.value,i=r+``;n.numbers?this.number((0,kk.default)(r,n),r):t==null?this.number(i,r):this.format.minified?this.number(t.length<i.length?t:i,r):this.number(t,r)}function BN(e){let t=this.getPossibleRaw(e);if(!this.format.minified&&t!==void 0){this.token(t);return}let n=(0,kk.default)(e.value,this.format.jsescOption);this.token(n)}function VN(e){let t=this.getPossibleRaw(e);if(!this.format.minified&&t!==void 0){this.word(t);return}this.word(e.value+`n`)}var HN=new Set([`^^`,`@@`,`^`,`%`,`#`]);function UN(){let{topicToken:e}=this.format;if(HN.has(e))this.token(e);else{let t=JSON.stringify(e),n=Array.from(HN,e=>JSON.stringify(e));throw Error(`The "topicToken" generator option must be one of ${n.join(`, `)} (${t} received instead).`)}}function WN(){this.word(`void`)}var{isDeclareExportDeclaration:GN,isStatement:KN}=O;function qN(){this.word(`any`)}function JN(e){this.print(e.elementType,!0),this.tokenChar(91),this.tokenChar(93)}function YN(){this.word(`boolean`)}function XN(e){this.word(e.value?`true`:`false`)}function ZN(){this.word(`null`)}function QN(e,t){GN(t)||(this.word(`declare`),this.space()),this.word(`class`),this.space(),DP.call(this,e)}function $N(e,t){GN(t)||(this.word(`declare`),this.space()),this.word(`function`),this.space(),this.print(e.id),this.print(e.id.typeAnnotation?.typeAnnotation),e.predicate&&(this.space(),this.print(e.predicate)),this.semicolon()}function eP(){this.tokenChar(37),this.word(`checks`)}function tP(e){this.tokenChar(37),this.word(`checks`),this.tokenChar(40),this.print(e.value),this.tokenChar(41)}function nP(e){this.word(`declare`),this.space(),kP.call(this,e)}function rP(e){this.word(`declare`),this.space(),this.word(`module`),this.space(),this.print(e.id),this.space(),this.print(e.body)}function iP(e){this.word(`declare`),this.space(),this.word(`module`),this.tokenChar(46),this.word(`exports`),this.print(e.typeAnnotation)}function aP(e){this.word(`declare`),this.space(),VP.call(this,e)}function oP(e,t){GN(t)||(this.word(`declare`),this.space()),GP.call(this,e)}function sP(e,t){GN(t)||(this.word(`declare`),this.space()),this.word(`var`),this.space(),this.print(e.id),this.print(e.id.typeAnnotation),this.semicolon()}function cP(e){this.word(`declare`),this.space(),this.word(`export`),this.space(),e.default&&(this.word(`default`),this.space()),SP.call(this,e)}function lP(e){this.word(`declare`),this.space(),_N.call(this,e)}function uP(e){let{id:t,body:n}=e;this.word(`enum`),this.space(),this.print(t),this.print(n)}function dP(e,t,n){n&&(e.space(),e.word(`of`),e.space(),e.word(t)),e.space()}function fP(e,t){let{members:n}=t;e.token(`{`),e.indent(),e.newline();for(let t of n)e.print(t),e.newline();t.hasUnknownMembers&&(e.token(`...`),e.newline()),e.dedent(),e.token(`}`)}function pP(e){let{explicitType:t}=e;dP(this,`boolean`,t),fP(this,e)}function mP(e){let{explicitType:t}=e;dP(this,`number`,t),fP(this,e)}function hP(e){let{explicitType:t}=e;dP(this,`string`,t),fP(this,e)}function gP(e){dP(this,`symbol`,!0),fP(this,e)}function _P(e){let{id:t}=e;this.print(t),this.tokenChar(44)}function vP(e,t){e.print(t.id),e.space(),e.token(`=`),e.space(),e.print(t.init),e.token(`,`)}function yP(e){vP(this,e)}function bP(e){vP(this,e)}function xP(e){vP(this,e)}function SP(e){if(e.declaration){let t=e.declaration;this.print(t),KN(t)||this.semicolon()}else this.tokenChar(123),e.specifiers.length&&(this.space(),this.printList(e.specifiers),this.space()),this.tokenChar(125),e.source&&(this.space(),this.word(`from`),this.space(),this.print(e.source)),this.semicolon()}function CP(){this.tokenChar(42)}function wP(e,t){this.print(e.typeParameters),this.tokenChar(40),e.this&&(this.word(`this`),this.tokenChar(58),this.space(),this.print(e.this.typeAnnotation),(e.params.length||e.rest)&&(this.tokenChar(44),this.space())),this.printList(e.params),e.rest&&(e.params.length&&(this.tokenChar(44),this.space()),this.token(`...`),this.print(e.rest)),this.tokenChar(41);let n=t?.type;n!=null&&(n===`ObjectTypeCallProperty`||n===`ObjectTypeInternalSlot`||n===`DeclareFunction`||n===`ObjectTypeProperty`&&t.method)?this.tokenChar(58):(this.space(),this.token(`=>`)),this.space(),this.print(e.returnType)}function TP(e){this.print(e.name),e.optional&&this.tokenChar(63),e.name&&(this.tokenChar(58),this.space()),this.print(e.typeAnnotation)}function EP(e){this.print(e.id),this.print(e.typeParameters,!0)}function DP(e){this.print(e.id),this.print(e.typeParameters),e.extends?.length&&(this.space(),this.word(`extends`),this.space(),this.printList(e.extends)),e.type===`DeclareClass`&&(e.mixins?.length&&(this.space(),this.word(`mixins`),this.space(),this.printList(e.mixins)),e.implements?.length&&(this.space(),this.word(`implements`),this.space(),this.printList(e.implements))),this.space(),this.print(e.body)}function OP(e){let t=e.variance?.kind;t!=null&&(t===`plus`?this.tokenChar(43):t===`minus`&&this.tokenChar(45))}function kP(e){this.word(`interface`),this.space(),DP.call(this,e)}function AP(e){this.space(),this.token(`&`,!1,e),this.space()}function jP(e){this.word(`interface`),e.extends?.length&&(this.space(),this.word(`extends`),this.space(),this.printList(e.extends)),this.space(),this.print(e.body)}function MP(e){this.printJoin(e.types,void 0,void 0,AP)}function NP(){this.word(`mixed`)}function PP(){this.word(`empty`)}function FP(e){this.tokenChar(63),this.print(e.typeAnnotation)}function IP(){this.word(`number`)}function LP(){this.word(`string`)}function RP(){this.word(`this`)}function zP(e){this.tokenChar(91),this.printList(e.types),this.tokenChar(93)}function BP(e){this.word(`typeof`),this.space(),this.print(e.argument)}function VP(e){this.word(`type`),this.space(),this.print(e.id),this.print(e.typeParameters),this.space(),this.tokenChar(61),this.space(),this.print(e.right),this.semicolon()}function HP(e,t){this.tokenChar(58),this.space(),t.type===`ArrowFunctionExpression`?this.tokenContext|=8:e.optional&&this.tokenChar(63),this.print(e.typeAnnotation)}function UP(e){this.tokenChar(60),this.printList(e.params),this.tokenChar(62)}function WP(e){OP.call(this,e),this.word(e.name),e.bound&&this.print(e.bound),e.default&&(this.space(),this.tokenChar(61),this.space(),this.print(e.default))}function GP(e){this.word(`opaque`),this.space(),this.word(`type`),this.space(),this.print(e.id),this.print(e.typeParameters),e.supertype&&(this.tokenChar(58),this.space(),this.print(e.supertype)),e.impltype&&(this.space(),this.tokenChar(61),this.space(),this.print(e.impltype)),this.semicolon()}function KP(e){e.exact?this.token(`{|`):this.tokenChar(123);let t=[...e.properties,...e.callProperties||[],...e.indexers||[],...e.internalSlots||[]];t.length&&(this.newline(),this.space(),this.printJoin(t,!0,!0,()=>{(t.length!==1||e.inexact)&&(this.tokenChar(44),this.space())},!0),this.space()),e.inexact&&(this.indent(),this.token(`...`),t.length&&this.newline(),this.dedent()),e.exact?this.token(`|}`):this.tokenChar(125)}function qP(e){e.static&&(this.word(`static`),this.space()),this.tokenChar(91),this.tokenChar(91),this.print(e.id),this.tokenChar(93),this.tokenChar(93),e.optional&&this.tokenChar(63),e.method||(this.tokenChar(58),this.space()),this.print(e.value)}function JP(e){e.static&&(this.word(`static`),this.space()),this.print(e.value)}function YP(e){e.static&&(this.word(`static`),this.space()),OP.call(this,e),this.tokenChar(91),e.id&&(this.print(e.id),this.tokenChar(58),this.space()),this.print(e.key),this.tokenChar(93),this.tokenChar(58),this.space(),this.print(e.value)}function XP(e){e.proto&&(this.word(`proto`),this.space()),e.static&&(this.word(`static`),this.space()),(e.kind===`get`||e.kind===`set`)&&(this.word(e.kind),this.space()),OP.call(this,e),this.print(e.key),e.optional&&this.tokenChar(63),e.method||(this.tokenChar(58),this.space()),this.print(e.value)}function ZP(e){this.token(`...`),this.print(e.argument)}function QP(e){this.print(e.qualification),this.tokenChar(46),this.print(e.id)}function $P(){this.word(`symbol`)}function eF(e){this.space(),this.token(`|`,!1,e),this.space()}function tF(e){this.printJoin(e.types,void 0,void 0,eF)}function nF(e){this.tokenChar(40),this.print(e.expression),this.print(e.typeAnnotation),this.tokenChar(41)}function rF(e){e.kind===`plus`?this.tokenChar(43):this.tokenChar(45)}function iF(){this.word(`void`)}function aF(e){this.print(e.objectType,!0),this.tokenChar(91),this.print(e.indexType),this.tokenChar(93)}function oF(e){this.print(e.objectType),e.optional&&this.token(`?.`),this.tokenChar(91),this.print(e.indexType),this.tokenChar(93)}var{isExportDefaultDeclaration:sF,isExportNamedDeclaration:cF}=O;function lF(e,t){(!(sF(t)||cF(t))||!FA.call(this,t))&&this.printJoin(e.decorators),e.declare&&(this.word(`declare`),this.space()),e.abstract&&(this.word(`abstract`),this.space()),this.word(`class`),e.id&&(this.space(),this.print(e.id)),this.print(e.typeParameters),e.superClass&&(this.space(),this.word(`extends`),this.space(),this.print(e.superClass),this.print(e.superTypeArguments)),e.implements&&(this.space(),this.word(`implements`),this.space(),this.printList(e.implements)),this.space(),this.print(e.body)}function uF(e){if(this.tokenChar(123),e.body.length===0)this.tokenChar(125);else{let t=dF(this,e);t?.(-1);let n=this.enterDelimited();this.printJoin(e.body,!0,!0,t,!0,!0),this._noLineTerminatorAfterNode=n,this.endsWith(10)||this.newline(),this.rightBrace(e)}}function dF(e,t){if(!e.tokenMap||t.start==null||t.end==null)return null;let n=e.tokenMap.getIndexes(t);if(!n)return null;let r=1,i=0,a=0,o=()=>{for(;a<t.body.length&&t.body[a].start==null;)a++};return o(),s=>{a<=s&&(a=s+1,o());let c=a===t.body.length?t.end:t.body[a].start,l;for(;r<n.length&&e.tokenMap.matchesOriginal(l=e._tokens[n[r]],`;`)&&l.start<c;)e.tokenChar(59,i++),r++}}function fF(e){if(this.printJoin(e.decorators),!e.static&&!this.format.preserveFormat){let t=e.key.loc?.end?.line;t&&this.catchUp(t)}nN.call(this,e),e.computed?(this.tokenChar(91),this.print(e.key),this.tokenChar(93)):(OP.call(this,e),this.print(e.key)),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value)),this.semicolon()}function pF(e){this.printJoin(e.decorators);let t=e.key.loc?.end?.line;t&&this.catchUp(t),nN.call(this,e),this.word(`accessor`,!0),this.space(),e.computed?(this.tokenChar(91),this.print(e.key),this.tokenChar(93)):(OP.call(this,e),this.print(e.key)),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value)),this.semicolon()}function mF(e){this.printJoin(e.decorators),nN.call(this,e),this.print(e.key),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value)),this.semicolon()}function hF(e){_F.call(this,e),this.space(),this.print(e.body)}function gF(e){_F.call(this,e),this.space(),this.print(e.body)}function _F(e,t=!0){if(t&&this.printJoin(e.decorators),!this.format.preserveFormat){let t=e.key.loc?.end?.line;t&&this.catchUp(t)}nN.call(this,e),Aj.call(this,e)}function vF(e){this.word(`static`),this.space(),this.tokenChar(123),e.body.length===0?this.tokenChar(125):(this.newline(),this.printSequence(e.body,!0),this.rightBrace(e))}function yF(e){e.program&&this.print(e.program.interpreter),this.print(e.program)}function bF(e){this.printInnerComments(!1);let t=e.directives?.length;if(t){let n=e.body.length?2:1;this.printSequence(e.directives,void 0,void 0,n),e.directives[t-1].trailingComments?.length||this.newline(n)}this.printSequence(e.body)}function xF(e){this.tokenChar(123);let t=this.enterDelimited(),n=e.directives?.length;if(n){let t=e.body.length?2:1;this.printSequence(e.directives,!0,!0,t),e.directives[n-1].trailingComments?.length||this.newline(t)}this.printSequence(e.body,!0,!0),this._noLineTerminatorAfterNode=t,this.rightBrace(e)}function SF(e){this.print(e.value),this.semicolon()}var CF=/(?:^|[^\\])(?:\\\\)*'/,wF=/(?:^|[^\\])(?:\\\\)*"/;function TF(e){let t=this.getPossibleRaw(e);if(!this.format.minified&&t!==void 0){this.token(t);return}let{value:n}=e;if(!wF.test(n))this.token(`"${n}"`);else if(!CF.test(n))this.token(`'${n}'`);else throw Error(`Malformed AST: it is not possible to print a directive containing both unescaped single and double quotes.`)}function EF(e){this.token(`#!${e.value}`),this._newline()}function DF(e){this.token(`%%`),this.print(e.name),this.token(`%%`),e.expectedNode===`Statement`&&this.semicolon()}function OF(e){this.print(e.name),e.value&&(this.tokenChar(61),this.print(e.value))}function kF(e){this.word(e.name)}function AF(e){this.print(e.namespace),this.tokenChar(58),this.print(e.name)}function jF(e){this.print(e.object),this.tokenChar(46),this.print(e.property)}function MF(e){this.tokenChar(123),this.token(`...`),this.print(e.argument),this.rightBrace(e)}function NF(e){this.tokenChar(123),this.print(e.expression),this.rightBrace(e)}function PF(e){this.tokenChar(123),this.token(`...`),this.print(e.expression),this.rightBrace(e)}function FF(e){let t=this.getPossibleRaw(e);t===void 0?this.token(e.value,!0):this.token(t,!0)}function IF(e){let t=e.openingElement;if(this.print(t),!t.selfClosing){this.indent();for(let t of e.children)this.print(t);this.dedent(),this.print(e.closingElement)}}function LF(){this.space()}function RF(e){this.tokenChar(60),this.print(e.name),this.print(e.typeArguments),e.attributes.length>0&&(this.space(),this.printJoin(e.attributes,void 0,void 0,LF)),e.selfClosing&&(this.space(),this.tokenChar(47)),this.tokenChar(62)}function zF(e){this.tokenChar(60),this.tokenChar(47),this.print(e.name),this.tokenChar(62)}function BF(){this.printInnerComments()}function VF(e){this.print(e.openingFragment),this.indent();for(let t of e.children)this.print(t);this.dedent(),this.print(e.closingFragment)}function HF(){this.tokenChar(60),this.tokenChar(62)}function UF(){this.token(`</`),this.tokenChar(62)}var WF=Object.defineProperty({__proto__:null,AnyTypeAnnotation:qN,ArgumentPlaceholder:AN,ArrayExpression:FN,ArrayPattern:FN,ArrayTypeAnnotation:JN,ArrowFunctionExpression:Pj,AssignmentExpression:KA,AssignmentPattern:GA,AwaitExpression:VA,BigIntLiteral:VN,BigIntLiteralTypeAnnotation:VN,BinaryExpression:qA,BindExpression:JA,BlockStatement:xF,BooleanLiteral:LN,BooleanLiteralTypeAnnotation:XN,BooleanTypeAnnotation:YN,BreakStatement:pj,CallExpression:zA,CatchClause:yj,ClassAccessorProperty:pF,ClassBody:uF,ClassDeclaration:lF,ClassExpression:lF,ClassImplements:EP,ClassMethod:hF,ClassPrivateMethod:gF,ClassPrivateProperty:mF,ClassProperty:fF,ConditionalExpression:kA,ContinueStatement:mj,DebuggerStatement:Sj,DeclareClass:QN,DeclareExportAllDeclaration:lP,DeclareExportDeclaration:cP,DeclareFunction:$N,DeclareInterface:nP,DeclareModule:rP,DeclareModuleExports:iP,DeclareOpaqueType:oP,DeclareTypeAlias:aP,DeclareVariable:sP,DeclaredPredicate:tP,Decorator:IA,Directive:SF,DirectiveLiteral:TF,DoExpression:EA,DoWhileStatement:dj,EmptyStatement:UA,EmptyTypeAnnotation:PP,EnumBooleanBody:pP,EnumBooleanMember:yP,EnumDeclaration:uP,EnumDefaultedMember:_P,EnumNumberBody:mP,EnumNumberMember:bP,EnumStringBody:hP,EnumStringMember:xP,EnumSymbolBody:gP,ExistsTypeAnnotation:CP,ExportAllDeclaration:_N,ExportDefaultDeclaration:bN,ExportDefaultSpecifier:pN,ExportNamedDeclaration:yN,ExportNamespaceSpecifier:hN,ExportSpecifier:mN,ExpressionStatement:WA,File:yF,ForInStatement:lj,ForOfStatement:uj,ForStatement:sj,FunctionDeclaration:Nj,FunctionExpression:Nj,FunctionTypeAnnotation:wP,FunctionTypeParam:TP,GenericTypeAnnotation:EP,Identifier:kN,IfStatement:aj,Import:BA,ImportAttribute:SN,ImportDeclaration:xN,ImportDefaultSpecifier:fN,ImportExpression:wN,ImportNamespaceSpecifier:CN,ImportSpecifier:dN,IndexedAccessType:aF,InferredPredicate:eP,InterfaceDeclaration:kP,InterfaceExtends:EP,InterfaceTypeAnnotation:jP,InterpreterDirective:EF,IntersectionTypeAnnotation:MP,JSXAttribute:OF,JSXClosingElement:zF,JSXClosingFragment:UF,JSXElement:IF,JSXEmptyExpression:BF,JSXExpressionContainer:NF,JSXFragment:VF,JSXIdentifier:kF,JSXMemberExpression:jF,JSXNamespacedName:AF,JSXOpeningElement:RF,JSXOpeningFragment:HF,JSXSpreadAttribute:MF,JSXSpreadChild:PF,JSXText:FF,LabeledStatement:_j,LogicalExpression:KA,MemberExpression:YA,MetaProperty:XA,MixedTypeAnnotation:NP,ModuleExpression:$A,NewExpression:jA,NullLiteral:RN,NullLiteralTypeAnnotation:ZN,NullableTypeAnnotation:FP,NumberLiteralTypeAnnotation:zN,NumberTypeAnnotation:IP,NumericLiteral:zN,ObjectExpression:MN,ObjectMethod:NN,ObjectPattern:MN,ObjectProperty:PN,ObjectTypeAnnotation:KP,ObjectTypeCallProperty:JP,ObjectTypeIndexer:YP,ObjectTypeInternalSlot:qP,ObjectTypeProperty:XP,ObjectTypeSpreadProperty:ZP,OpaqueType:GP,OptionalCallExpression:RA,OptionalIndexedAccessType:oF,OptionalMemberExpression:LA,ParenthesizedExpression:DA,Placeholder:DF,PrivateName:ZA,Program:bF,QualifiedTypeIdentifier:QP,RegExpLiteral:IN,RestElement:jN,ReturnStatement:hj,SequenceExpression:MA,SpreadElement:jN,StaticBlock:vF,StringLiteral:BN,StringLiteralTypeAnnotation:BN,StringTypeAnnotation:LP,Super:PA,SwitchCase:xj,SwitchStatement:bj,SymbolTypeAnnotation:$P,TSAnyKeyword:Qj,TSArrayType:yM,TSAsExpression:BM,TSBigIntKeyword:$j,TSBooleanKeyword:rM,TSCallSignatureDeclaration:Gj,TSClassImplements:IM,TSConditionalType:DM,TSConstructSignatureDeclaration:qj,TSConstructorType:pM,TSDeclareFunction:Hj,TSDeclareMethod:Uj,TSEnumBody:GM,TSEnumDeclaration:WM,TSEnumMember:KM,TSExportAssignment:$M,TSExternalModuleReference:ZM,TSFunctionType:fM,TSImportEqualsDeclaration:XM,TSImportType:YM,TSIndexSignature:Zj,TSIndexedAccessType:jM,TSInferType:OM,TSInstantiationExpression:UM,TSInterfaceBody:RM,TSInterfaceDeclaration:LM,TSInterfaceHeritage:IM,TSIntersectionType:TM,TSIntrinsicKeyword:uM,TSLiteralType:FM,TSMappedType:MM,TSMethodSignature:Xj,TSModuleBlock:JM,TSModuleDeclaration:qM,TSNamedTupleMember:CM,TSNamespaceExportDeclaration:eN,TSNeverKeyword:lM,TSNonNullExpression:QM,TSNullKeyword:cM,TSNumberKeyword:tM,TSObjectKeyword:nM,TSOptionalType:xM,TSParameterProperty:Vj,TSParenthesizedType:kM,TSPropertySignature:Jj,TSQualifiedName:Wj,TSRestType:SM,TSSatisfiesExpression:VM,TSStringKeyword:iM,TSSymbolKeyword:aM,TSTemplateLiteralType:PM,TSThisType:dM,TSTupleType:bM,TSTypeAliasDeclaration:zM,TSTypeAnnotation:Rj,TSTypeAssertion:HM,TSTypeLiteral:vM,TSTypeOperator:AM,TSTypeParameter:Bj,TSTypeParameterDeclaration:zj,TSTypeParameterInstantiation:zj,TSTypePredicate:gM,TSTypeQuery:_M,TSTypeReference:hM,TSUndefinedKeyword:sM,TSUnionType:wM,TSUnknownKeyword:eM,TSVoidKeyword:oM,TaggedTemplateExpression:gA,TemplateElement:_A,TemplateLiteral:yA,ThisExpression:NA,ThisTypeAnnotation:RP,ThrowStatement:gj,TopicReference:UN,TryStatement:vj,TupleTypeAnnotation:zP,TypeAlias:VP,TypeAnnotation:HP,TypeCastExpression:nF,TypeParameter:WP,TypeParameterDeclaration:UP,TypeParameterInstantiation:UP,TypeofTypeAnnotation:BP,UnaryExpression:TA,UnionTypeAnnotation:tF,UpdateExpression:OA,V8IntrinsicIdentifier:QA,VariableDeclaration:wj,VariableDeclarator:Tj,Variance:rF,VoidPattern:WN,VoidTypeAnnotation:iF,WhileStatement:cj,WithStatement:ij,YieldExpression:HA,_classMethodHead:_F,_functionHead:Mj,_getRawIdentifier:ON,_interfaceish:DP,_methodHead:Aj,_param:kj,_parameters:Oj,_params:Dj,_predicate:jj,_printAttributes:gN,_printTemplate:vA,_shouldPrintArrowParamsParens:Fj,_shouldPrintDecoratorsBeforeExport:FA,_tsPrintClassMemberModifiers:nN,_variance:OP},Symbol.toStringTag,{value:`Module`}),GF=new Map,KF=0;for(let e of Object.keys(WF).sort())e.startsWith(`_`)||GF.set(e,[WF[e],KF++,void 0]);var{VISITOR_KEYS:qF}=O;for(let e of Object.keys(hA)){let t=hA[e];GF.has(e)&&(GF.get(e)[2]=t)}function JF(e){let t=e;for(;;)switch(t.type){case`CallExpression`:case`ImportExpression`:case`OptionalCallExpression`:case`OptionalMemberExpression`:return!0;case`MemberExpression`:t=t.object;break;case`TaggedTemplateExpression`:t=t.tag;break;case`TSNonNullExpression`:t=t.expression;break;default:return!1}}function YF(e,t,n){switch(n){case 113:if(t.callee===e)return JF(e);break;case 43:return!XF(e)&&!(e.type===`CallExpression`&&XF(e.callee))&&e.type!==`ParenthesizedExpression`}return!1}function XF(e){switch(e.type){case`Identifier`:return!0;case`MemberExpression`:return!e.computed&&e.property.type===`Identifier`&&XF(e.object);default:return!1}}function ZF(e,t){let n=qF[e.type];for(let r=n.length-1;r>=0;r--){let i=e[n[r]];if(i===t)return!0;if(Array.isArray(i)){let e=i.length-1;for(;e>=0&&i[e]===null;)e--;return e>=0&&i[e]===t}if(i)return!1}return!1}var{traverseFast:QF,VISITOR_KEYS:$F}=O,eI=class{_tokens;_source;_nodesToTokenIndexes=new Map;_nodesOccurrencesCountCache=new Map;_tokensCache=new Map;constructor(e,t,n){this._tokens=t,this._source=n,QF(e,e=>{let t=this._getTokensIndexesOfNode(e);t.length>0&&this._nodesToTokenIndexes.set(e,t)}),this._tokensCache.clear()}has(e){return this._nodesToTokenIndexes.has(e)}getIndexes(e){return this._nodesToTokenIndexes.get(e)}find(e,t){let n=this._nodesToTokenIndexes.get(e);if(n)for(let e=0;e<n.length;e++){let r=n[e],i=this._tokens[r];if(t(i,r))return i}return null}findLastIndex(e,t){let n=this._nodesToTokenIndexes.get(e);if(n)for(let e=n.length-1;e>=0;e--){let r=n[e],i=this._tokens[r];if(t(i,r))return r}return-1}findMatching(e,t,n=0){let r=this._nodesToTokenIndexes.get(e);if(r){typeof t==`number`&&(t=String.fromCharCode(t));let i=0,a=n;if(a>1){let r=this._nodesOccurrencesCountCache.get(e);r?.test===t&&r.count<a&&(i=r.i+1,n-=r.count+1)}for(;i<r.length;i++){let o=this._tokens[r[i]];if(this.matchesOriginal(o,t)){if(n===0)return a>0&&this._nodesOccurrencesCountCache.set(e,{test:t,count:a,i}),o;n--}}}return null}matchesOriginal(e,t){return e.end-e.start===t.length?e.value==null?this._source.startsWith(t,e.start):e.value===t:!1}startMatches(e,t){let n=this._nodesToTokenIndexes.get(e);if(!n)return!1;let r=this._tokens[n[0]];return r.start===e.start&&this.matchesOriginal(r,t)}endMatches(e,t){let n=this._nodesToTokenIndexes.get(e);if(!n)return!1;let r=this._tokens[n[n.length-1]];return r.end===e.end&&this.matchesOriginal(r,t)}_getTokensIndexesOfNode(e){if(e.start==null||e.end==null)return[];let{first:t,last:n}=this._findTokensOfNode(e,0,this._tokens.length-1),r=t,i=tI(e);(e.type===`ExportNamedDeclaration`||e.type===`ExportDefaultDeclaration`)&&e.declaration?.type===`ClassDeclaration`&&i.next();let a=[];for(let e of i){if(e==null||e.start==null||e.end==null)continue;let t=this._findTokensOfNode(e,r,n),i=t.first;for(let e=r;e<i;e++)a.push(e);r=t.last+1}for(let e=r;e<=n;e++)a.push(e);return a}_findTokensOfNode(e,t,n){let r=this._tokensCache.get(e);if(r)return r;let i=this._findFirstTokenOfNode(e.start,t,n),a=this._findLastTokenOfNode(e.end,i,n);return this._tokensCache.set(e,{first:i,last:a}),{first:i,last:a}}_findFirstTokenOfNode(e,t,n){for(;t<=n;){let r=n+t>>1;if(e<this._tokens[r].start)n=r-1;else if(e>this._tokens[r].start)t=r+1;else return r}return t}_findLastTokenOfNode(e,t,n){for(;t<=n;){let r=n+t>>1;if(e<this._tokens[r].end)n=r-1;else if(e>this._tokens[r].end)t=r+1;else return r}return n}};function*tI(e){if(e.type===`TemplateLiteral`){yield e.quasis[0];for(let t=1;t<e.quasis.length;t++)yield e.expressions[t-1],yield e.quasis[t];return}let t=$F[e.type];for(let n of t){let t=e[n];t&&(Array.isArray(t)?yield*t:yield t)}}var{isExpression:nI,isFunction:rI,isStatement:iI,isClassBody:aI,isTSInterfaceBody:oI,isTSEnumMember:sI}=O,cI=/e/i,lI=/\.0+$/,uI=/[\n\r\u2028\u2029]/,dI=/[\n\r\u2028\u2029]|\*\//;function fI(e){return e.type===`CommentLine`||uI.test(e.value)}var pI=class{constructor(e,t,n=null,r=null){this.format=e,this._tokens=n,this._originalCode=r,this._indentRepeat=e.indent.style.length,this._inputMap=t?._inputMap||null,this._buf=new Mk(t,e.indent.style[0]);let{preserveFormat:i,compact:a,concise:o,retainLines:s,retainFunctionParens:c}=e;i&&(this._flags|=1),a&&(this._flags|=2),o&&(this._flags|=4),s&&(this._flags|=8),c&&(this._flags|=16),(e.auxiliaryCommentBefore||e.auxiliaryCommentAfter)&&(this._flags|=32)}enterDelimited(){let e=this._noLineTerminatorAfterNode;return e!==null&&(this._noLineTerminatorAfterNode=null),e}tokenContext=0;_tokens=null;_originalCode=null;_currentNode=null;_currentTypeId=null;_indent=0;_indentRepeat=0;_insideAux=!1;_noLineTerminator=!1;_noLineTerminatorAfterNode=null;_printAuxAfterOnNextUserNode=!1;_printedComments=new Set;_lastCommentLine=0;_innerCommentsState=0;_flags=0;tokenMap=null;_boundGetRawIdentifier=null;generate(e){return this.format.preserveFormat&&(this.tokenMap=new eI(e,this._tokens,this._originalCode),this._boundGetRawIdentifier=ON.bind(this)),this.print(e),this._maybeAddAuxComment(),this._buf.get()}indent(e=this._flags){e&7||(this._indent+=this._indentRepeat)}dedent(e=this._flags){e&7||(this._indent-=this._indentRepeat)}_printSemicolonBeforeNextNode=-1;_printSemicolonBeforeNextToken=-1;semicolon(e=!1){let t=this._flags;if(t&32&&this._maybeAddAuxComment(),t&1){let e=this._currentNode;if(e.start!=null&&e.end!=null){if(!this.tokenMap.endMatches(e,`;`)){this._printSemicolonBeforeNextNode=this._buf.getCurrentLine();return}let t=this.tokenMap.getIndexes(this._currentNode);this._catchUpTo(this._tokens[t[t.length-1]].loc.start)}}e?this._appendChar(59):this._queue(59),this._noLineTerminator=!1}rightBrace(e){this.format.minified&&this._buf.removeLastSemicolon(),this.sourceWithOffset(`end`,e.loc,-1),this.tokenChar(125)}rightParens(e){this.sourceWithOffset(`end`,e.loc,-1),this.tokenChar(41)}space(e=!1){if(!(this._flags&3)){if(e)this._space();else{let e=this.getLastChar(!0);e!==0&&e!==32&&e!==10&&this._space()}}}word(e,t=!1){this.tokenContext&=128,this._maybePrintInnerComments(e);let n=this._flags;n&32&&this._maybeAddAuxComment(),n&1&&this._catchUpToCurrentToken(e);let r=this.getLastChar();(r===-2||r===-3||r===47&&e.charCodeAt(0)===47)&&this._space(),this._append(e,!1),this.setLastChar(-3),this._noLineTerminator=t}number(e,t){function n(e){if(e.length>2&&e.charCodeAt(0)===48){let t=e.charCodeAt(1);return t===98||t===111||t===120}return!1}this.word(e),Number.isInteger(t)&&!n(e)&&!cI.test(e)&&!lI.test(e)&&e.charCodeAt(e.length-1)!==46&&this.setLastChar(-2)}token(e,t=!1,n=0,r=!1){this.tokenContext&=128,this._maybePrintInnerComments(e,n);let i=this._flags;if(i&32&&this._maybeAddAuxComment(),i&1&&this._catchUpToCurrentToken(e,n),r){let t=e.charCodeAt(0);((t===45&&e===`--`||t===61)&&this.getLastChar()===33||t===43&&this.getLastChar()===43||t===45&&this.getLastChar()===45||t===46&&this.getLastChar()===-2)&&this._space()}this._append(e,t),this._noLineTerminator=!1}tokenChar(e,t=0){this.tokenContext&=128,this._maybePrintInnerComments(e,t);let n=this._flags;n&32&&this._maybeAddAuxComment(),n&1&&this._catchUpToCurrentToken(e,t),(e===43&&this.getLastChar()===43||e===45&&this.getLastChar()===45||e===46&&this.getLastChar()===-2)&&this._space(),this._appendChar(e),this._noLineTerminator=!1}newline(e=1,t=this._flags){if(!(e<=0)&&!(t&10)){if(t&4){this.space();return}e>2&&(e=2),e-=this._buf.getNewlineCount();for(let t=0;t<e;t++)this._newline()}}endsWith(e){return this.getLastChar(!0)===e}getLastChar(e){return this._buf.getLastChar(e)}setLastChar(e){this._buf._last=e}exactSource(e,t){if(!e){t();return}this._catchUp(`start`,e),this._buf.exactSource(e,t)}source(e,t){t&&(this._catchUp(e,t),this._buf.source(e,t))}sourceWithOffset(e,t,n){t&&!this.format.preserveFormat&&(this._catchUp(e,t),this._buf.sourceWithOffset(e,t,n))}sourceIdentifierName(e,t){if(!this._buf._canMarkIdName)return;let n=this._buf._sourcePosition;n.identifierNamePos=t,n.identifierName=e}_space(){this._queue(32)}_newline(){this._buf._queuedChar===32&&(this._buf._queuedChar=0),this._appendChar(10,!0)}_catchUpToCurrentToken(e,t=0){let n=this.tokenMap.findMatching(this._currentNode,e,t);n&&this._catchUpTo(n.loc.start),this._printSemicolonBeforeNextToken!==-1&&this._printSemicolonBeforeNextToken===this._buf.getCurrentLine()&&this._appendChar(59,!0),this._printSemicolonBeforeNextToken=-1,this._printSemicolonBeforeNextNode=-1}_append(e,t){this._maybeIndent(),this._buf.append(e,t)}_appendChar(e,t){t||this._maybeIndent(),this._buf.appendChar(e)}_queue(e){this._buf.queue(e),this.setLastChar(-1)}_maybeIndent(){let e=this._shouldIndent();e>0&&this._buf._appendChar(-1,e,!1)}_shouldIndent(){return this.endsWith(10)?this._indent:0}catchUp(e){if(!this.format.retainLines)return;let t=e-this._buf.getCurrentLine();for(let e=0;e<t;e++)this._newline()}_catchUp(e,t){let n=this._flags;if(!(n&1)){n&8&&t?.[e]&&this.catchUp(t[e].line);return}let r=t?.[e];r!=null&&this._catchUpTo(r)}_catchUpTo({line:e,column:t,index:n}){let r=e-this._buf.getCurrentLine();if(r>0&&this._noLineTerminator)return;for(let e=0;e<r;e++)this._newline();let i=r>0?t:t-this._buf.getCurrentColumn();if(i>0){let r=this._originalCode?this._originalCode.slice(n-i,n).replace(/[^\t\v\f\uFEFF\p{Space_Separator}]/gu,` `):` `.repeat(i);this._buf.append(r,!1,!0),this._buf.setSourcePosition(e,t),this.setLastChar(32)}}printTerminatorless(e){this._noLineTerminator=!0,this.print(e)}print(e,t=!1,n=!1,r){if(!e)return;this._innerCommentsState=0;let{type:i,loc:a,extra:o}=e,s=this._flags,c=!1;e._compact&&(this._flags|=4,c=!0);let l=GF.get(i);if(l===void 0)throw ReferenceError(`unknown node of type ${JSON.stringify(i)} with constructor ${JSON.stringify(e.constructor.name)}`);let[u,d,f]=l,p=this._currentNode,m=this._currentTypeId;this._currentNode=e,this._currentTypeId=d,s&1&&(this._printSemicolonBeforeNextToken=this._printSemicolonBeforeNextNode);let h;s&32&&(h=this._insideAux,this._insideAux=a==null,this._maybeAddAuxComment(this._insideAux&&!h));let ee=0;n&&(ee=this.tokenContext,ee&128?this.tokenContext=0:ee=0);let te=o!=null&&o.parenthesized,ne=te&&s&1||te&&s&16&&d===72||p&&(YF(e,p,m)||f!=null&&f(e,p,m,this.tokenContext,s&1?this._boundGetRawIdentifier:void 0));if(!ne&&te&&e.leadingComments?.length&&e.leadingComments[0].type===`CommentBlock`)switch(m){case 66:case 241:case 6:case 141:break;case 18:case 131:case 113:if(p.callee!==e)break;default:ne=!0}let re=!1;!ne&&this._noLineTerminator&&(e.leadingComments?.some(fI)||s&8&&a&&a.start.line>this._buf.getCurrentLine())&&(ne=!0,re=!0);let ie;ne||(t||=!!p&&this._noLineTerminatorAfterNode===p&&ZF(p,e),t&&(e.trailingComments?.some(fI)?nI(e)&&(ne=!0):(ie=this._noLineTerminatorAfterNode,this._noLineTerminatorAfterNode=e))),ne&&(this.tokenChar(40),re&&this.indent(),this._innerCommentsState=0,n||(ee=this.tokenContext),ee&128&&(this.tokenContext=0),ie=this._noLineTerminatorAfterNode,this._noLineTerminatorAfterNode=null),this._printLeadingComments(e,p),this.exactSource(d===137||d===67?null:a,u.bind(this,e,p)),ne?(this._printTrailingComments(e,p),re&&(this.dedent(),this.newline()),this.tokenChar(41),this._noLineTerminator=t):t&&!this._noLineTerminator?(this._noLineTerminator=!0,this._printTrailingComments(e,p)):this._printTrailingComments(e,p,r),ee&&(this.tokenContext=ee),this._currentNode=p,this._currentTypeId=m,c&&(this._flags=s),s&32&&(this._insideAux=h),ie!=null&&(this._noLineTerminatorAfterNode=ie),this._innerCommentsState=0}_maybeAddAuxComment(e){e&&this._printAuxBeforeComment(),this._insideAux||this._printAuxAfterComment()}_printAuxBeforeComment(){if(this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=!0;let e=this.format.auxiliaryCommentBefore;e&&this._printComment({type:`CommentBlock`,value:e},0)}_printAuxAfterComment(){if(!this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=!1;let e=this.format.auxiliaryCommentAfter;e&&this._printComment({type:`CommentBlock`,value:e},0)}getPossibleRaw(e){let t=e.extra;if(t?.raw!=null&&t.rawValue!=null&&e.value===t.rawValue)return t.raw}printJoin(e,t,n,r,i,a,o){if(!e?.length)return;let s=this._flags;if(n==null&&s&8){let t=e[0].loc?.start.line;t!=null&&t!==this._buf.getCurrentLine()&&(n=!0)}n&&this.indent(s);let c=e.length;for(let n=0;n<c;n++){let l=e[n];if(l&&(t&&n===0&&this._buf.hasContent()&&this.newline(1,s),this.print(l,!1,a,o||0),r!=null&&(n<c-1?r.call(this,n,!1):i&&r.call(this,n,!0)),t)){if(n+1===c)this.newline(1,s);else{let t=this._lastCommentLine;if(t>0){let r=(e[n+1].loc?.start.line||0)-t;if(r>=0){this.newline(r||1,s);continue}}this.newline(1,s)}}}n&&this.dedent(s)}printAndIndentOnComments(e){let t=e.leadingComments&&e.leadingComments.length>0;t&&this.indent(),this.print(e),t&&this.dedent()}printBlock(e){e.type!==`EmptyStatement`&&this.space(),this.print(e)}_printTrailingComments(e,t,n){let{innerComments:r,trailingComments:i}=e;r?.length&&this._printComments(2,r,e,t,n),i?.length?this._printComments(2,i,e,t,n):this._lastCommentLine=0}_printLeadingComments(e,t){let n=e.leadingComments;n?.length&&this._printComments(0,n,e,t)}_maybePrintInnerComments(e,t){let n=this._innerCommentsState;switch(n&3){case 0:this._innerCommentsState=5;return;case 1:this.printInnerComments((n&4)>0,this.tokenMap?.findMatching(this._currentNode,e,t))}}printInnerComments(e=!0,t){let n=this._currentNode,r=n.innerComments;if(!r?.length){this._innerCommentsState=2;return}let i=this.endsWith(32);switch(e&&this.indent(),this._printComments(1,r,n,void 0,void 0,t)){case 2:this._innerCommentsState=2;case 1:i&&this.space()}e&&this.dedent()}noIndentInnerCommentsHere(){this._innerCommentsState&=-5}printSequence(e,t,n,r){this.printJoin(e,!0,t??!1,void 0,void 0,n,r)}printList(e,t,n,r,i,a){this.printJoin(e,n,r,i??mI,t,a)}shouldPrintTrailingComma(e){if(!this.tokenMap)return null;let t=this.tokenMap.findLastIndex(this._currentNode,t=>this.tokenMap.matchesOriginal(t,typeof e==`number`?String.fromCharCode(e):e));return t<=0?null:this.tokenMap.matchesOriginal(this._tokens[t-1],`,`)}_shouldPrintComment(e,t){if(e.ignore||this._printedComments.has(e))return 0;if(this._noLineTerminator&&dI.test(e.value))return 2;if(t&&this.tokenMap){let n=this.tokenMap.find(this._currentNode,t=>t.value===e.value);if(n&&n.start>t.start)return 2}return this._printedComments.add(e),+!!this.format.shouldPrintComment(e.value)}_printComment(e,t){let n=this._noLineTerminator,r=e.type===`CommentBlock`,i=r&&t!==1&&!n;switch(i&&this._buf.hasContent()&&t!==2&&this.newline(1),this.getLastChar(!0)){case 47:this._space();case 91:case 123:case 40:break;default:this.space()}let a;if(r){if(a=`/*${e.value}*/`,this.format.indent.adjustMultilineComment){let t=e.loc?.start.column;if(t){let e=RegExp(`\\n\\s{1,`+t+`}`,`g`);a=a.replace(e,`
16
+ `)}if(this._flags&4)a=a.replace(/\n(?!$)/g,`
17
+ `);else{let e=this.format.retainLines?0:this._buf.getCurrentColumn();(this._shouldIndent()||this.format.retainLines)&&(e+=this._indent),a=a.replace(/\n(?!$)/g,`\n${` `.repeat(e)}`)}}}else a=n?`/*${e.value}*/`:`//${e.value}`;this.source(`start`,e.loc),this._append(a,r),!r&&!n&&this._newline(),i&&t!==3&&this.newline(1)}_printComments(e,t,n,r,i=0,a){let o=n.loc,s=t.length,c=!!o,l=c?o.start.line:0,u=c?o.end.line:0,d=0,f=0,{_noLineTerminator:p,_flags:m}=this;for(let o=0;o<s;o++){let h=t[o],ee=this._shouldPrintComment(h,a);if(ee===2)return o===0?0:1;if(c&&h.loc&&ee===1){let t=h.loc.start.line,n=h.loc.end.line;if(e===0){let e=0;if(o===0?this._buf.hasContent()&&(h.type===`CommentLine`||t!==n)&&(e=f=1):e=t-d,d=n,e>0&&!p&&this.newline(e,m),this._printComment(h,1),o+1===s){let e=Math.max(l-d,f);e>0&&!p&&this.newline(e,m),d=l}}else if(e===1){let e=t-(o===0?l:d);if(d=n,e>0&&!p&&this.newline(e,m),this._printComment(h,1),o+1===s){let e=Math.min(1,u-d);e>0&&!p&&this.newline(e,m),d=u}}else{let e=t-(o===0?u-i:d);d=n,e>0&&!p&&this.newline(e,m),this._printComment(h,1)}}else{if(c=!1,ee!==1)continue;if(s===1){let t=h.loc?h.loc.start.line===h.loc.end.line:!uI.test(h.value),i=t&&!iI(n)&&!aI(r)&&!oI(r)&&!sI(n);e===0?this._printComment(h,i&&n.type!==`ObjectExpression`||t&&rI(r)&&r.body===n?1:0):i&&e===2?this._printComment(h,1):this._printComment(h,0)}else e===1&&!(n.type===`ObjectExpression`&&n.properties.length>1)&&n.type!==`ClassBody`&&n.type!==`TSInterfaceBody`?this._printComment(h,o===0?2:o===s-1?3:0):this._printComment(h,0)}}return e===2&&c&&d&&(this._lastCommentLine=d),2}};function mI(e,t){this.tokenChar(44,e),t||this.space()}function hI(e,t,n){if(t.experimental_preserveFormat){if(typeof e!=`string`)throw Error("`experimental_preserveFormat` requires the original `code` to be passed to @babel/generator as a string");if(!t.retainLines)throw Error("`experimental_preserveFormat` requires `retainLines` to be set to `true`");if(t.compact&&t.compact!==`auto`)throw Error("`experimental_preserveFormat` is not compatible with the `compact` option");if(t.minified)throw Error("`experimental_preserveFormat` is not compatible with the `minified` option");if(t.jsescOption)throw Error("`experimental_preserveFormat` is not compatible with the `jsescOption` option");if(!Array.isArray(n.tokens))throw Error("`experimental_preserveFormat` requires the AST to have attached the token of the input code. Make sure to enable the `tokens: true` parser option.")}let r={auxiliaryCommentBefore:t.auxiliaryCommentBefore,auxiliaryCommentAfter:t.auxiliaryCommentAfter,shouldPrintComment:t.shouldPrintComment,preserveFormat:t.experimental_preserveFormat,retainLines:t.retainLines,retainFunctionParens:t.retainFunctionParens,comments:t.comments==null||t.comments,compact:t.compact,minified:t.minified,concise:t.concise,indent:{adjustMultilineComment:!0,style:` `},jsescOption:{quotes:`double`,wrap:!0,minimal:!0,...t.jsescOption},topicToken:t.topicToken};r.minified?(r.compact=!0,r.shouldPrintComment=r.shouldPrintComment||(()=>r.comments)):r.shouldPrintComment=r.shouldPrintComment||(e=>r.comments||e.includes(`@license`)||e.includes(`@preserve`)),r.compact===`auto`&&(r.compact=typeof e==`string`&&e.length>5e5,r.compact&&console.error(`[BABEL] Note: The code generator has deoptimised the styling of ${t.filename} as it exceeds the max of 500KB.`)),(r.compact||r.preserveFormat)&&(r.indent.adjustMultilineComment=!1);let{auxiliaryCommentBefore:i,auxiliaryCommentAfter:a,shouldPrintComment:o}=r;return i&&!o(i)&&(r.auxiliaryCommentBefore=void 0),a&&!o(a)&&(r.auxiliaryCommentAfter=void 0),r}function gI(e,t={},n){return new pI(hI(n,t,e),t.sourceMaps?new Ak(t,n):null,e.tokens,typeof n==`string`?n:null).generate(e)}var{assertExpressionStatement:_I}=O;function vI(e){return{code:e=>`/* @babel/template */;\n${e}`,validate:()=>{},unwrap:t=>e(t.program.body.slice(1))}}var yI=vI(e=>e.length>1?e:e[0]),bI=vI(e=>e),xI=vI(e=>{if(e.length===0)throw Error(`Found nothing to return.`);if(e.length>1)throw Error(`Found multiple statements but wanted one`);return e[0]}),SI={code:e=>`(\n${e}\n)`,validate:e=>{if(e.program.body.length>1)throw Error(`Found multiple statements but wanted one`);if(SI.unwrap(e).start===0)throw Error(`Parse result included parens.`)},unwrap:({program:e})=>{let[t]=e.body;return _I(t),t.expression}},CI={code:e=>e,validate:()=>{},unwrap:e=>e.program};function wI(e,t){let{placeholderAllowlist:n=e.placeholderAllowlist,placeholderPattern:r=e.placeholderPattern,preserveComments:i=e.preserveComments,syntacticPlaceholders:a=e.syntacticPlaceholders}=t;return{parser:{...e.parser,...t.parser},placeholderAllowlist:n,placeholderPattern:r,preserveComments:i,syntacticPlaceholders:a}}function TI(e){if(e!=null&&typeof e!=`object`)throw Error(`Unknown template options.`);if(e!=null&&Object.hasOwn(e,`placeholderWhitelist`)&&!Object.hasOwn(e,`placeholderAllowlist`))throw Error(`The 'placeholderWhitelist' option has been renamed to 'placeholderAllowlist'. Please update your configuration.`);let{placeholderAllowlist:t,placeholderPattern:n,preserveComments:r,syntacticPlaceholders:i,...a}=e||{};if(t!=null&&!(t instanceof Set))throw Error(`'.placeholderAllowlist' must be a Set, null, or undefined`);if(n!=null&&!(n instanceof RegExp)&&n!==!1)throw Error(`'.placeholderPattern' must be a RegExp, false, null, or undefined`);if(r!=null&&typeof r!=`boolean`)throw Error(`'.preserveComments' must be a boolean, null, or undefined`);if(i!=null&&typeof i!=`boolean`)throw Error(`'.syntacticPlaceholders' must be a boolean, null, or undefined`);if(i===!0&&(t!=null||n!=null))throw Error(`'.placeholderAllowlist' and '.placeholderPattern' aren't compatible with '.syntacticPlaceholders: true'`);return{parser:a,placeholderAllowlist:t||void 0,placeholderPattern:n??void 0,preserveComments:r??void 0,syntacticPlaceholders:i??void 0}}function EI(e){if(Array.isArray(e))return e.reduce((e,t,n)=>(e[`$`+n]=t,e),{});if(typeof e==`object`||e==null)return e||void 0;throw Error(`Template replacements must be an array, object, null, or undefined`)}var{isCallExpression:DI,isExpressionStatement:OI,isFunction:kI,isIdentifier:AI,isJSXIdentifier:jI,isNewExpression:MI,isPlaceholder:NI,isStatement:PI,isStringLiteral:FI,removePropertiesDeep:II,traverse:LI}=O,RI=/^[_$A-Z0-9]+$/;function zI(e,t,n){let{placeholderAllowlist:r,placeholderPattern:i,preserveComments:a=!1,syntacticPlaceholders:o}=n,s=HI(t,n.parser,o);II(s,{preserveComments:a}),e.validate(s);let c={syntactic:{placeholders:[],placeholderNames:new Set},legacy:{placeholders:[],placeholderNames:new Set},placeholderAllowlist:r,placeholderPattern:i,syntacticPlaceholders:o};return LI(s,BI,c),{ast:s,...c.syntactic.placeholders.length?c.syntactic:c.legacy}}function BI(e,t,n){let r,i=n.syntactic.placeholders.length>0;if(NI(e)){if(n.syntacticPlaceholders===!1)throw Error(`%%foo%%-style placeholders can't be used when '.syntacticPlaceholders' is false.`);r=e.name.name,i=!0}else if(i||n.syntacticPlaceholders)return;else if(AI(e)||jI(e))r=e.name;else if(FI(e))r=e.value;else return;if(i&&(n.placeholderPattern!=null||n.placeholderAllowlist!=null))throw Error(`'.placeholderAllowlist' and '.placeholderPattern' aren't compatible with '.syntacticPlaceholders: true'`);if(!i&&(n.placeholderPattern===!1||!(n.placeholderPattern||RI).test(r))&&!n.placeholderAllowlist?.has(r))return;t=t.slice();let{node:a,key:o}=t[t.length-1],s;FI(e)||NI(e,{expectedNode:`StringLiteral`})?s=`string`:MI(a)&&o===`arguments`||DI(a)&&o===`arguments`||kI(a)&&o===`params`?s=`param`:OI(a)&&!NI(e)?(s=`statement`,t=t.slice(0,-1)):s=PI(e)&&NI(e)?`statement`:`other`;let{placeholders:c,placeholderNames:l}=i?n.syntactic:n.legacy;c.push({name:r,type:s,resolve:e=>VI(e,t),isDuplicate:l.has(r)}),l.add(r)}function VI(e,t){let n=e;for(let e=0;e<t.length-1;e++){let{key:r,index:i}=t[e];n=i===void 0?n[r]:n[r][i]}let{key:r,index:i}=t[t.length-1];return{parent:n,key:r,index:i}}function HI(e,t,n){let r=(t.plugins||[]).slice();n!==!1&&r.push(`placeholders`),t={allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,allowNewTargetOutsideFunction:!0,allowSuperOutsideMethod:!0,allowYieldOutsideFunction:!0,sourceType:`module`,...t,plugins:r};try{return Qn(e,t)}catch(t){let n=t.loc;throw n&&(t.message+=`
18
+ `+wr(e,{start:n}),t.code=`BABEL_TEMPLATE_PARSE_ERROR`),t}}var{blockStatement:UI,cloneNode:WI,emptyStatement:GI,expressionStatement:KI,identifier:qI,isStatement:JI,isStringLiteral:YI,stringLiteral:XI,validate:ZI}=O;function QI(e,t){let n=WI(e.ast);return t&&(e.placeholders.forEach(e=>{if(!Object.hasOwn(t,e.name)){let t=e.name;throw Error(`Error: No substitution given for "${t}". If this is not meant to be a
19
+ placeholder you may want to consider passing one of the following options to @babel/template:
20
+ - { placeholderPattern: false, placeholderAllowlist: new Set(['${t}'])}
21
+ - { placeholderPattern: /^${t}$/ }`)}}),Object.keys(t).forEach(t=>{if(!e.placeholderNames.has(t))throw Error(`Unknown substitution "${t}" given`)})),e.placeholders.slice().reverse().forEach(e=>{try{$I(e,n,(t&&t[e.name])??null)}catch(t){throw t.message=`@babel/template placeholder "${e.name}": ${t.message}`,t}}),n}function $I(e,t,n){e.isDuplicate&&(Array.isArray(n)?n=n.map(e=>WI(e)):typeof n==`object`&&(n=WI(n)));let{parent:r,key:i,index:a}=e.resolve(t);if(e.type===`string`){if(typeof n==`string`&&(n=XI(n)),!n||!YI(n))throw Error(`Expected string substitution`)}else if(e.type===`statement`)a===void 0?n?Array.isArray(n)?n=UI(n):typeof n==`string`?n=KI(qI(n)):JI(n)||(n=KI(n)):n=GI():n&&!Array.isArray(n)&&(typeof n==`string`&&(n=qI(n)),JI(n)||(n=KI(n)));else if(e.type===`param`){if(typeof n==`string`&&(n=qI(n)),a===void 0)throw Error(`Assertion failure.`)}else if(typeof n==`string`&&(n=qI(n)),Array.isArray(n))throw Error(`Cannot replace single expression with an array.`);function o(e,t,n){let r=e[t];e[t]=n,(r.type===`Identifier`||r.type===`Placeholder`)&&(r.typeAnnotation&&(n.typeAnnotation=r.typeAnnotation),r.optional&&(n.optional=r.optional),r.decorators&&(n.decorators=r.decorators))}if(a===void 0)ZI(r,i,n),o(r,i,n);else{let t=r[i].slice();e.type===`statement`||e.type===`param`?n==null?t.splice(a,1):Array.isArray(n)?t.splice(a,1,...n):o(t,a,n):o(t,a,n),ZI(r,i,t),r[i]=t}}function eL(e,t,n){t=e.code(t);let r;return i=>{let a=EI(i);return r||=zI(e,t,n),e.unwrap(QI(r,a))}}function tL(e,t,n){let{metadata:r,names:i}=nL(e,t,n);return t=>{let n={};return t.forEach((e,t)=>{n[i[t]]=e}),t=>{let i=EI(t);return i&&Object.keys(i).forEach(e=>{if(Object.hasOwn(n,e))throw Error(`Unexpected replacement overlap.`)}),e.unwrap(QI(r,i?Object.assign(i,n):n))}}}function nL(e,t,n){let r=`BABEL_TPL$`,i=t.join(``);do r=`$$`+r;while(i.includes(r));let{names:a,code:o}=rL(t,r);return{metadata:zI(e,e.code(o),{parser:n.parser,placeholderAllowlist:new Set(a.concat(n.placeholderAllowlist?Array.from(n.placeholderAllowlist):[])),placeholderPattern:n.placeholderPattern,preserveComments:n.preserveComments,syntacticPlaceholders:n.syntacticPlaceholders}),names:a}}function rL(e,t){let n=[],r=e[0];for(let i=1;i<e.length;i++){let a=`${t}${i-1}`;n.push(a),r+=a+e[i]}return{names:n,code:r}}var iL=TI({placeholderPattern:!1});function aL(e,t){let n=new WeakMap,r=new WeakMap,i=t||TI(null);return Object.assign((t,...r)=>{if(typeof t==`string`){if(r.length>1)throw Error(`Unexpected extra params.`);return oL(eL(e,t,wI(i,TI(r[0]))))}if(Array.isArray(t)){let a=n.get(t);return a||(a=tL(e,t,i),n.set(t,a)),oL(a(r))}if(typeof t==`object`&&t){if(r.length>0)throw Error(`Unexpected extra params.`);return aL(e,wI(i,TI(t)))}throw Error(`Unexpected template param ${typeof t}`)},{ast:(t,...n)=>{if(typeof t==`string`){if(n.length>1)throw Error(`Unexpected extra params.`);return eL(e,t,wI(wI(i,TI(n[0])),iL))()}if(Array.isArray(t)){let a=r.get(t);return a||(a=tL(e,t,wI(i,iL)),r.set(t,a)),a(n)()}throw Error(`Unexpected template param ${typeof t}`)}})}function oL(e){let t=Error();return n=>{try{return e(n)}catch(e){throw e.stack+=`\n =============\n${t.stack.split(`
22
+ `).slice(3).join(`
23
+ `)}`,e}}}var sL=aL(yI),cL=aL(xI),lL=aL(bI),uL=aL(SI),dL=aL(CI),fL=Object.assign(sL.bind(void 0),{smart:sL,statement:cL,statements:lL,expression:uL,program:dL,ast:sL.ast}),pL=Object.defineProperty({__proto__:null,BindingIdentifier:[`Identifier`],BlockScoped:[`FunctionDeclaration`,`ClassDeclaration`,`VariableDeclaration`],ExistentialTypeParam:[`ExistsTypeAnnotation`],Expression:[`Expression`],Flow:[`Flow`,`ImportDeclaration`,`ExportDeclaration`,`ImportSpecifier`],ForAwaitStatement:[`ForOfStatement`],Generated:null,NumericLiteralTypeAnnotation:[`NumberLiteralTypeAnnotation`],Pure:null,Referenced:null,ReferencedIdentifier:[`Identifier`,`JSXIdentifier`],ReferencedMemberExpression:[`MemberExpression`],RestProperty:[`RestElement`],Scope:[`Scopable`,`Pattern`],SpreadProperty:[`RestElement`],Statement:[`Statement`],User:null,Var:[`VariableDeclaration`]},Symbol.toStringTag,{value:`Module`}),mL=class{constructor(e,t){this.state=t,this.opts=e}queue=null;priorityQueue=null;maybeQueue(e,t){this.queue&&(t?this.queue.push(e):this.priorityQueue.push(e))}},{VISITOR_KEYS:hL}=O;function gL(e,t){e.queue=t,e.priorityQueue=[];let n=new Set,r=!1,i=0;for(;i<t.length;){let a=t[i];if(i++,jG.call(a),(a.contexts.length===0||a.contexts[a.contexts.length-1]!==e)&&IG.call(a,e),a.key===null)continue;let{node:o}=a;if(!n.has(o)){if(o&&n.add(o),_L(e,a)){r=!0;break}if(e.priorityQueue.length&&(r=gL(e,e.priorityQueue),e.priorityQueue=[],e.queue=t,r))break}}for(let e=0;e<i;e++)FG.call(t[e]);return e.queue=null,r}function _L(e,t){let n=t.node;if(!n)return!1;let r=e.opts;return r.denylist?.includes(n.type)||r.shouldSkip?.(t)?!1:(t.shouldSkip||CG.call(t,r.enter)||t.node&&CG.call(t,r[n.type]?.enter)||(t.shouldStop=vL(t.node,r,t.scope,e.state,t,t.skipKeys),t.node&&CG.call(t,r.exit))||t.node&&CG.call(t,r[n.type]?.exit),t.shouldStop)}function vL(e,t,n,r,i,a,o){let s=hL[e.type];if(!s?.length)return!1;let c=new mL(t,r);if(o)return!a?.[i.parentKey]&&gL(c,[i]);let l=i==null?e.type===`Program`||e.type===`File`?new HG:void 0:i.hub;for(let t of s){if(a?.[t])continue;let n=e[t];if(n){if(Array.isArray(n)){if(!n.length)continue;let r=[];for(let a=0;a<n.length;a++){let o=xG.get({parentPath:i,parent:e,container:n,key:a,listKey:t,hub:l});r.push(o)}if(gL(c,r))return!0}else if(gL(c,[xG.get({parentPath:i,parent:e,container:e,key:t,listKey:null,hub:l})]))return!0}}return!1}var{isBinding:yL,isBlockScoped:bL,isExportDeclaration:xL,isExpression:SL,isFlow:CL,isForStatement:wL,isForXStatement:TL,isIdentifier:EL,isImportDeclaration:DL,isImportSpecifier:OL,isJSXIdentifier:kL,isJSXMemberExpression:AL,isMemberExpression:jL,isRestElement:ML,isReferenced:NL,isScope:PL,isStatement:FL,isVar:IL,isVariableDeclaration:LL,react:RL,isForOfStatement:zL}=O,{isCompatTag:BL}=RL;function VL(e){let{node:t,parent:n}=this;return EL(t,e)?NL(t,n,this.parentPath.parent):kL(t,e)?!AL(n)&&BL(t.name)?!1:NL(t,n,this.parentPath.parent):!1}function HL(){let{node:e,parent:t}=this;return jL(e)&&NL(e,t)}function UL(){let{node:e,parent:t}=this,n=this.parentPath.parent;return EL(e)&&yL(e,t,n)}function WL(){let{node:e,parent:t}=this;return FL(e)?!(LL(e)&&(TL(t,{left:e})||wL(t,{init:e}))):!1}function GL(){return this.isIdentifier()?this.isReferencedIdentifier():SL(this.node)}function KL(){return PL(this.node,this.parent)}function qL(){return NL(this.node,this.parent)}function JL(){return bL(this.node)}function YL(){return IL(this.node)}function XL(){return!!this.node?.loc}function ZL(){return!this.isUser()}function QL(e){return this.scope.isPure(this.node,e)}function $L(){let{node:e}=this;return CL(e)?!0:DL(e)?e.importKind===`type`||e.importKind===`typeof`:xL(e)?e.exportKind===`type`:OL(e)?e.importKind===`type`||e.importKind===`typeof`:!1}function eR(){return ML(this.node)&&this.parentPath?.isObjectPattern()}function tR(){return ML(this.node)&&this.parentPath?.isObjectExpression()}function nR(){return zL(this.node,{await:!0})}var rR=Object.defineProperty({__proto__:null,isBindingIdentifier:UL,isBlockScoped:JL,isExpression:GL,isFlow:$L,isForAwaitStatement:nR,isGenerated:ZL,isPure:QL,isReferenced:qL,isReferencedIdentifier:VL,isReferencedMemberExpression:HL,isRestProperty:eR,isScope:KL,isSpreadProperty:tR,isStatement:WL,isUser:XL,isVar:YL},Symbol.toStringTag,{value:`Module`}),{DEPRECATED_KEYS:iR,DEPRECATED_ALIASES:aR,FLIPPED_ALIAS_KEYS:oR,TYPES:sR,__internal__deprecationWarning:cR}=O;function lR(e){return e in pL}function uR(e){return e?._exploded}function dR(e){if(uR(e))return e;if(e._exploded=!0,Object.hasOwn(e,`blacklist`)){if(!Object.hasOwn(e,`denylist`))throw Error(`The 'blacklist' visitor option has been renamed to 'denylist'. Please update your configuration.`);delete e.blacklist}for(let t of Object.keys(e)){if(yR(t))continue;let n=t.split(`|`);if(n.length===1)continue;let r=e[t];delete e[t];for(let t of n)e[t]=r}fR(e),delete e.__esModule,gR(e),_R(e);let t=e;for(let n of Object.keys(e)){if(yR(n)||!lR(n))continue;let r=t[n];for(let e of Object.keys(r))r[e]=vR(n,r[e]);delete t[n];let i=pL[n];if(i!==null)for(let e of i)t[e]??={},bR(t[e],r);else bR(e,r)}for(let n of Object.keys(e)){if(yR(n))continue;let r=oR[n];if(n in iR){let e=iR[n];cR(n,e,`Visitor `),r=[e]}else if(n in aR){let e=aR[n];cR(n,e,`Visitor `),r=oR[e]}if(!r)continue;let i=e[n];delete e[n];for(let e of r){let n=t[e];n?bR(n,i):t[e]={...i}}}for(let t of Object.keys(e))yR(t)||_R(e[t]);return e}function fR(e){if(!e._verified){if(typeof e==`function`)throw Error("You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Function }`?");for(let t of Object.keys(e)){if((t===`enter`||t===`exit`)&&pR(t,e[t]),yR(t))continue;if(!sR.includes(t))throw Error(`You gave us a visitor for the node type ${t} but it's not a valid type in @babel/traverse 8.0.4`);let n=e[t];if(typeof n==`object`)for(let e of Object.keys(n))if(e===`enter`||e===`exit`)pR(`${t}.${e}`,n[e]);else throw Error(`You passed \`traverse()\` a visitor object with the property ${t} that has the invalid property ${e}`)}e._verified=!0}}function pR(e,t){let n=[].concat(t);for(let t of n)if(typeof t!=`function`)throw TypeError(`Non-function found defined in ${e} with type ${typeof t}`)}function mR(e,t=[],n){let r={_verified:!0,_exploded:!0};for(let i=0;i<e.length;i++){let a=dR(e[i]),o=t[i],s=a;(o||n)&&(s=hR(s,o,n)),bR(r,s);for(let e of Object.keys(a)){if(yR(e))continue;let t=a[e];(o||n)&&(t=hR(t,o,n)),bR(r[e]||={},t)}}return r}function hR(e,t,n){let r={};for(let i of[`enter`,`exit`]){let a=e[i];Array.isArray(a)&&(a=a.map(function(e){let r=e;return t&&(r=function(n){e.call(t,n,t)}),n&&(r=n(t?.key,i,r)),r!==e&&(r.toString=()=>e.toString()),r}),r[i]=a)}return r}function gR(e){for(let t of Object.keys(e)){if(yR(t))continue;let n=e[t];typeof n==`function`&&(e[t]={enter:n})}}function _R(e){e.enter&&!Array.isArray(e.enter)&&(e.enter=[e.enter]),e.exit&&!Array.isArray(e.exit)&&(e.exit=[e.exit])}function vR(e,t){let n=rR[`is${e}`],r=function(e){if(n.call(e))return t.apply(this,arguments)};return r.toString=()=>t.toString(),r}function yR(e){if(e.startsWith(`_`)||e===`enter`||e===`exit`||e===`shouldSkip`||e===`denylist`||e===`noScope`||e===`skipKeys`)return!0;if(e===`blacklist`)throw Error(`The 'blacklist' visitor option has been renamed to 'denylist'. Please update your configuration.`);return!1}function bR(e,t){for(let n of[`enter`,`exit`])t[n]&&(e[n]=[].concat(e[n]||[],t[n]))}var xR={FunctionParent(e){e.isArrowFunctionExpression()||(e.skip(),e.isMethod()&&e.requeueComputedKeyAndDecorators())},Property(e){e.isObjectProperty()||(e.skip(),e.requeueComputedKeyAndDecorators())}};function SR(e){return mR([xR,e])}var CR=Object.defineProperty({__proto__:null,environmentVisitor:SR,explode:dR,isExplodedVisitor:uR,merge:mR,verify:fR},Symbol.toStringTag,{value:`Module`}),{getAssignmentIdentifiers:wR}=O,TR,ER=()=>TR??=dR({ReferencedIdentifier({node:e},t){e.name===t.oldName&&(e.name=t.newName)},Scope(e,t){e.scope.bindingIdentifierEquals(t.oldName,t.binding.identifier)||(e.skip(),e.isMethod()&&e.requeueComputedKeyAndDecorators(),e.isSwitchStatement()&&e.context.maybeQueue(e.get(`discriminant`)))},ObjectProperty({node:e,scope:t},n){let{name:r}=e.key;e.shorthand&&(r===n.oldName||r===n.newName)&&t.getBindingIdentifier(r)===n.binding.identifier&&(e.shorthand=!1)},"AssignmentExpression|Declaration|VariableDeclarator"(e,t){if(e.isVariableDeclaration())return;let n=e.isAssignmentExpression()?wR(e.node):e.getOuterBindingIdentifiers();for(let e in n)e===t.oldName&&(n[e].name=t.newName)}}),DR=class{constructor(e,t,n){this.newName=n,this.oldName=t,this.binding=e}maybeConvertFromExportDeclaration(e){let t=e.parentPath;if(t.isExportDeclaration()){if(t.isExportDefaultDeclaration()){let{declaration:e}=t.node;if(Yc(e)&&!e.id)return}t.isExportAllDeclaration()||t.splitExportDeclaration()}}maybeConvertFromClassFunctionDeclaration(e){return e}maybeConvertFromClassFunctionExpression(e){return e}rename(){let{binding:e,oldName:t,newName:n}=this,{scope:r,path:i}=e,a=i.find(e=>e.isDeclaration()||e.isFunctionExpression()||e.isClassExpression());a&&a.getOuterBindingIdentifiers()[t]===e.identifier&&this.maybeConvertFromExportDeclaration(a);let o=r.block,s={discriminant:!0};nl(o)&&(o.computed&&(s.key=!0),Mi(o)||(s.decorators=!0)),vL(o,ER(),r,this,r.path,s),r.removeOwnBinding(t),r.bindings[n]=e,this.binding.identifier.name=n,a&&(this.maybeConvertFromClassFunctionDeclaration(i),this.maybeConvertFromClassFunctionExpression(i))}},{VISITOR_KEYS:OR}=O;function kR(e,t,n){let r=dR(t);if(r.enter||r.exit)throw Error(`Should not be used with enter/exit visitors.`);i(e.parentPath,e.parent,e.node,e.container,e.key,e.listKey,e.hub,e);function i(e,t,a,o,s,c,l,u){if(!a)return;let d=u||xG.get({hub:l,parentPath:e,parent:t,container:o,listKey:c,key:s});OG.call(d);let f=r[a.type];if(f?.enter)for(let e of f.enter)e.call(n,d,n);if(d.shouldSkip)return;let p=OR[a.type];if(p?.length){for(let e of p){let t=a[e];if(t){if(Array.isArray(t))for(let n=0;n<t.length;n++){let r=t[n];i(d,a,r,t,n,e)}else i(d,a,t,a,e,null)}}if(f?.exit)for(let e of f.exit)e.call(n,d,n)}}}var AR=class{identifier;scope;path;kind;constructor({identifier:e,scope:t,path:n,kind:r}){this.identifier=e,this.scope=t,this.path=n,this.kind=r,(r===`var`||r===`hoisted`)&&jR(n)&&this.reassign(n),this.clearValue()}constantViolations=[];constant=!0;referencePaths=[];referenced=!1;references=0;deoptValue(){this.clearValue(),this.hasDeoptedValue=!0}setValue(e){this.hasDeoptedValue||(this.hasValue=!0,this.value=e)}clearValue(){this.hasDeoptedValue=!1,this.hasValue=!1,this.value=null}reassign(e){this.constant=!1,!this.constantViolations.includes(e)&&this.constantViolations.push(e)}reference(e){this.referencePaths.includes(e)||(this.referenced=!0,this.references++,this.referencePaths.push(e))}dereference(){this.references--,this.referenced=!!this.references}};function jR(e){let t=!e.isVariableDeclarator()||e.node.init;for(let{parentPath:n,key:r}=e;n;{parentPath:n,key:r}=n){if(n.isFunctionParent())return!1;if(r===`left`&&n.isForXStatement()||t&&r===`body`&&n.isLoop())return!0}return!1}var MR=new WeakMap,NR=new WeakMap;function PR(){FR(),IR()}function FR(){MR=new WeakMap}function IR(){NR=new WeakMap}function LR(e){let{parent:t,parentPath:n}=e;return n?n._store:MR.get(t)}function RR(e,t){if(t)return t._store||=new Map;let n=MR.get(e);return n||MR.set(e,n=new Map),n}var zR=Object.defineProperty({__proto__:null,clear:PR,clearPath:FR,clearScope:IR,getCachedPaths:LR,getOrCreateCachedPaths:RR,get path(){return MR},get scope(){return NR}},Symbol.toStringTag,{value:`Module`}),{assignmentExpression:BR,cloneNode:VR,getBindingIdentifiers:HR,identifier:UR,isArrayExpression:WR,isBinary:GR,isCallExpression:KR,isClass:qR,isClassBody:JR,isClassDeclaration:YR,isExportAllDeclaration:XR,isExportDefaultDeclaration:ZR,isExportNamedDeclaration:QR,isFunctionDeclaration:$R,isIdentifier:ez,isImportDeclaration:tz,isLiteral:nz,isMemberExpression:rz,isMethod:iz,isModuleSpecifier:az,isNullLiteral:oz,isObjectExpression:sz,isProperty:cz,isPureish:lz,isRegExpLiteral:uz,isSuper:dz,isTaggedTemplateExpression:fz,isTemplateLiteral:pz,isThisExpression:mz,isUnaryExpression:hz,isVariableDeclaration:gz,expressionStatement:_z,matchesPattern:vz,toIdentifier:yz,variableDeclaration:bz,variableDeclarator:xz,isObjectProperty:Sz,isTopicReference:Cz,isMetaProperty:wz,isPrivateName:Tz,isExportDeclaration:Ez,sequenceExpression:Dz}=O;function Z(e,t){switch(e?.type){default:if(tz(e)||Ez(e)){if((XR(e)||QR(e)||tz(e))&&e.source)Z(e.source,t);else if((QR(e)||tz(e))&&e.specifiers?.length)for(let n of e.specifiers)Z(n,t);else(ZR(e)||QR(e))&&e.declaration&&Z(e.declaration,t)}else az(e)?Z(e.local,t):nz(e)&&!oz(e)&&!uz(e)&&!pz(e)&&t.push(e.value);break;case`MemberExpression`:case`OptionalMemberExpression`:case`JSXMemberExpression`:Z(e.object,t),Z(e.property,t);break;case`Identifier`:case`JSXIdentifier`:t.push(e.name);break;case`CallExpression`:case`OptionalCallExpression`:case`NewExpression`:Z(e.callee,t);break;case`ObjectExpression`:case`ObjectPattern`:for(let n of e.properties)Z(n,t);break;case`SpreadElement`:case`RestElement`:Z(e.argument,t);break;case`ObjectProperty`:case`ObjectMethod`:case`ClassProperty`:case`ClassMethod`:case`ClassPrivateProperty`:case`ClassPrivateMethod`:Z(e.key,t);break;case`ThisExpression`:t.push(`this`);break;case`Super`:t.push(`super`);break;case`Import`:case`ImportExpression`:t.push(`import`);break;case`DoExpression`:t.push(`do`);break;case`YieldExpression`:t.push(`yield`),Z(e.argument,t);break;case`AwaitExpression`:t.push(`await`),Z(e.argument,t);break;case`AssignmentExpression`:Z(e.left,t);break;case`VariableDeclarator`:Z(e.id,t);break;case`FunctionExpression`:case`FunctionDeclaration`:case`ClassExpression`:case`ClassDeclaration`:Z(e.id,t);break;case`PrivateName`:Z(e.id,t);break;case`ParenthesizedExpression`:Z(e.expression,t);break;case`UnaryExpression`:case`UpdateExpression`:Z(e.argument,t);break;case`MetaProperty`:Z(e.meta,t),Z(e.property,t);break;case`JSXElement`:Z(e.openingElement,t);break;case`JSXOpeningElement`:Z(e.name,t);break;case`JSXFragment`:Z(e.openingFragment,t);break;case`JSXOpeningFragment`:t.push(`Fragment`);break;case`JSXNamespacedName`:Z(e.namespace,t),Z(e.name,t)}}function Oz(e){e.path.type===`Program`&&(e.referencesSet=new Set,e.uidsSet=new Set),e.bindings=Object.create(null),e.globals=Object.create(null)}function kz(e){return e.isFunctionExpression()&&!e.node.id||e.isArrowFunctionExpression()}var Az={ForStatement(e){let t=e.get(`init`);if(t.isVar()){let{scope:n}=e;(n.getFunctionParent()||n.getProgramParent()).registerBinding(`var`,t)}},Declaration(e){e.isBlockScoped()||e.isImportDeclaration()||e.isExportDeclaration()||(e.scope.getFunctionParent()||e.scope.getProgramParent()).registerDeclaration(e)},ImportDeclaration(e){e.scope.getBlockParent().registerDeclaration(e)},TSImportEqualsDeclaration(e){e.scope.getBlockParent().registerDeclaration(e)},ReferencedIdentifier(e,t){bs(e.parent)&&e.parent.right===e.node||e.parentPath.isTSImportEqualsDeclaration()||t.references.push(e)},ForXStatement(e,t){let n=e.get(`left`);if(n.isPattern()||n.isIdentifier())t.constantViolations.push(e);else if(n.isVar()){let{scope:t}=e;(t.getFunctionParent()||t.getProgramParent()).registerBinding(`var`,n)}},ExportDeclaration:{exit(e){let{node:t,scope:n}=e;if(XR(t))return;let r=t.declaration;if(YR(r)||$R(r)){let t=r.id;if(!t)return;n.getBinding(t.name)?.reference(e)}else if(gz(r))for(let t of r.declarations)for(let r of Object.keys(HR(t)))n.getBinding(r)?.reference(e)}},LabeledStatement(e){e.scope.getBlockParent().registerDeclaration(e)},AssignmentExpression(e,t){t.assignments.push(e)},UpdateExpression(e,t){t.constantViolations.push(e)},UnaryExpression(e,t){e.node.operator===`delete`&&t.constantViolations.push(e)},BlockScoped(e){let t=e.scope;if(t.path===e&&(t=t.parent),t.getBlockParent().registerDeclaration(e),e.isClassDeclaration()&&e.node.id){let t=e.node.id.name;e.scope.bindings[t]=e.scope.parent.getBinding(t)}},CatchClause(e){e.scope.registerBinding(`let`,e)},Function(e){let t=e.get(`params`);for(let n of t)e.scope.registerBinding(`param`,n);e.isFunctionExpression()&&e.node.id&&e.scope.registerBinding(`local`,e.get(`id`),e)},ClassExpression(e){e.node.id&&e.scope.registerBinding(`local`,e.get(`id`),e)},TSTypeAnnotation(e){e.skip()}},jz,Mz=0,Nz=class e{uid;path;block;inited;labels;bindings;referencesSet;globals;uidsSet;data;crawling;constructor(e){let{node:t}=e,n=NR.get(t);if(n?.path===e)return n;NR.set(t,this),this.uid=Mz++,this.block=t,this.path=e,this.labels=new Map,this.inited=!1}static globals=[...uO,...dO];static contextVariables=[`arguments`,`undefined`,`Infinity`,`NaN`];get parent(){let e,t=this.path;do{let n=t.key===`key`||t.listKey===`decorators`;t=t.parentPath,n&&t.isMethod()&&(t=t.parentPath),t?.isScope()&&(e=t)}while(t&&!e);return e?.scope}get references(){throw Error(`Scope#references is not available in Babel 8. Use Scope#referencesSet instead.`)}get uids(){throw Error(`Scope#uids is not available in Babel 8. Use Scope#uidsSet instead.`)}generateDeclaredUidIdentifier(e){let t=this.generateUidIdentifier(e);return this.push({id:t}),VR(t)}generateUidIdentifier(e){return UR(this.generateUid(e))}generateUid(e=`temp`){e=yz(e).replace(/^_+/,``).replace(/\d+$/g,``);let t,n=0;do t=`_${e}`,n>=11?t+=n-1:n>=9?t+=n-9:n>=1&&(t+=n+1),n++;while(this.hasLabel(t)||this.hasBinding(t)||this.hasGlobal(t)||this.hasReference(t));let r=this.getProgramParent();return r.referencesSet.add(t),r.uidsSet.add(t),t}generateUidBasedOnNode(e,t){let n=[];Z(e,n);let r=n.join(`$`);return r=r.replace(/^_/,``)||t||`ref`,this.generateUid(r.slice(0,20))}generateUidIdentifierBasedOnNode(e,t){return UR(this.generateUidBasedOnNode(e,t))}isStatic(e){if(mz(e)||dz(e)||Cz(e))return!0;if(ez(e)){let t=this.getBinding(e.name);return t?t.constant:this.hasBinding(e.name)}return!1}maybeGenerateMemoised(e,t){if(this.isStatic(e))return null;{let n=this.generateUidIdentifierBasedOnNode(e);return t?n:(this.push({id:n}),VR(n))}}checkBlockScopedCollisions(e,t,n,r){if(t!==`param`&&e.kind!==`local`&&(t===`let`||e.kind===`let`||e.kind===`const`||e.kind===`module`||e.kind===`param`&&t===`const`))throw this.path.hub.buildError(r,`Duplicate declaration "${n}"`,TypeError)}rename(e,t){let n=this.getBinding(e);n&&(t||=this.generateUidIdentifier(e).name,new DR(n,e,t).rename())}dump(){let e=`-`.repeat(60);console.log(e);let t=this;do{console.log(`#`,t.block.type);for(let e of Object.keys(t.bindings)){let n=t.bindings[e];console.log(` -`,e,{constant:n.constant,references:n.references,violations:n.constantViolations.length,kind:n.kind})}}while(t=t.parent);console.log(e)}hasLabel(e){return!!this.getLabel(e)}getLabel(e){return this.labels.get(e)}registerLabel(e){this.labels.set(e.node.label.name,e)}registerDeclaration(e){if(e.isLabeledStatement())this.registerLabel(e);else if(e.isFunctionDeclaration())this.registerBinding(`hoisted`,e.get(`id`),e);else if(e.isVariableDeclaration()){let t=e.get(`declarations`),{kind:n}=e.node;for(let e of t)this.registerBinding(n===`using`||n===`await using`?`const`:n,e)}else if(e.isClassDeclaration()){if(e.node.declare)return;this.registerBinding(`let`,e)}else if(e.isImportDeclaration()){let t=e.node.importKind===`type`||e.node.importKind===`typeof`,n=e.get(`specifiers`);for(let e of n){let n=t||e.isImportSpecifier()&&(e.node.importKind===`type`||e.node.importKind===`typeof`);this.registerBinding(n?`unknown`:`module`,e)}}else if(e.isExportDeclaration()){let t=e.get(`declaration`);(t.isClassDeclaration()||t.isFunctionDeclaration()||t.isVariableDeclaration())&&this.registerDeclaration(t)}else this.registerBinding(`unknown`,e)}registerConstantViolation(e){let t=e.getAssignmentIdentifiers();for(let n of Object.keys(t))this.getBinding(n)?.reassign(e)}registerBinding(e,t,n=t){if(!e)throw ReferenceError("no `kind`");if(t.isVariableDeclaration()){let n=t.get(`declarations`);for(let t of n)this.registerBinding(e,t);return}let r=this.getProgramParent(),i=t.getOuterBindingIdentifiers(!0);for(let t of Object.keys(i)){r.referencesSet.add(t);for(let r of i[t]){let i=this.getOwnBinding(t);if(i){if(i.identifier===r)continue;this.checkBlockScopedCollisions(i,e,t,r)}i?i.reassign(n):this.bindings[t]=new AR({identifier:r,scope:this,path:n,kind:e})}}}addGlobal(e){this.globals[e.name]=e}hasUid(e){return this.getProgramParent().uidsSet.has(e)}hasGlobal(e){let t=this;do if(t.globals[e])return!0;while(t=t.parent);return!1}hasReference(e){return this.getProgramParent().referencesSet.has(e)}isPure(e,t){if(ez(e)){let n=this.getBinding(e.name);return n?!t||n.constant:!1}if(mz(e)||wz(e)||Cz(e)||Tz(e))return!0;if(qR(e))return e.superClass&&!this.isPure(e.superClass,t)||e.decorators?.length>0?!1:this.isPure(e.body,t);if(JR(e)){for(let n of e.body)if(!this.isPure(n,t))return!1;return!0}if(GR(e))return this.isPure(e.left,t)&&this.isPure(e.right,t);if(WR(e)){for(let n of e.elements)if(n!==null&&!this.isPure(n,t))return!1;return!0}if(sz(e)){for(let n of e.properties)if(!this.isPure(n,t))return!1;return!0}if(iz(e))return!(e.computed&&!this.isPure(e.key,t)||e.decorators?.length>0);if(cz(e))return!(e.computed&&!this.isPure(e.key,t)||e.decorators?.length>0||(Sz(e)||e.static)&&e.value!==null&&!this.isPure(e.value,t));if(hz(e))return this.isPure(e.argument,t);if(pz(e)){for(let n of e.expressions)if(!this.isPure(n,t))return!1;return!0}return fz(e)?vz(e.tag,`String.raw`)&&!this.hasBinding(`String`,{noGlobals:!0})&&this.isPure(e.quasi,t):rz(e)?!e.computed&&ez(e.object)&&e.object.name===`Symbol`&&ez(e.property)&&e.property.name!==`for`&&!this.hasBinding(`Symbol`,{noGlobals:!0}):KR(e)?vz(e.callee,`Symbol.for`)&&!this.hasBinding(`Symbol`,{noGlobals:!0})&&e.arguments.length===1&&Si(e.arguments[0]):lz(e)}setData(e,t){return this.data[e]=t}getData(e){let t=this;do{let n=t.data[e];if(n!=null)return n}while(t=t.parent)}removeData(e){let t=this;do t.data[e]!=null&&(t.data[e]=null);while(t=t.parent)}init(){this.inited||(this.inited=!0,this.crawl())}crawl(){let e=this.path;Oz(this),this.data=Object.create(null);let t=this;do{if(t.crawling)return;if(t.path.isProgram())break}while(t=t.parent);let n=t,r={references:[],constantViolations:[],assignments:[]};if(this.crawling=!0,jz||=$.visitors.merge([{Scope(e){Oz(e.scope)}},Az]),e.type!==`Program`){let t=jz[e.type];if(t)for(let n of t.enter)n.call(r,e,r)}kR(e,jz,r),this.crawling=!1;for(let e of r.assignments){let t=e.getAssignmentIdentifiers();for(let r of Object.keys(t))e.scope.getBinding(r)||n.addGlobal(t[r]);e.scope.registerConstantViolation(e)}for(let e of r.references){let t=e.scope.getBinding(e.node.name);t?t.reference(e):n.addGlobal(e.node)}for(let e of r.constantViolations)e.scope.registerConstantViolation(e)}push(e){let t=this.path;t.isPattern()?t=this.getPatternParent().path:!t.isBlockStatement()&&!t.isProgram()&&(t=this.getBlockParent().path),t.isSwitchStatement()&&(t=(this.getFunctionParent()||this.getProgramParent()).path);let{init:n,unique:r,kind:i=`var`,id:a}=e;if(!n&&!r&&(i===`var`||i===`let`)&&kz(t)&&KR(t.parent,{callee:t.node})&&t.parent.arguments.length<=t.node.params.length&&ez(a)){t.pushContainer(`params`,a),t.scope.registerBinding(`param`,t.get(`params`)[t.node.params.length-1]);return}(t.isLoop()||t.isCatchClause()||t.isFunction())&&(t.ensureBlock(),t=t.get(`body`));let o=e._blockHoist==null?2:e._blockHoist,s=`declaration:${i}:${o}`,c=!r&&t.getData(s);if(!c){let e=bz(i,[]);e._blockHoist=o,[c]=t.unshiftContainer(`body`,[e]),r||t.setData(s,c)}let l=xz(a,n),u=c.node.declarations.push(l);t.scope.registerBinding(i,c.get(`declarations`)[u-1])}getProgramParent(){let e=this;do if(e.path.isProgram())return e;while(e=e.parent);throw Error(`Couldn't find a Program`)}getFunctionParent(){let e=this;do if(e.path.isFunctionParent())return e;while(e=e.parent);return null}getBlockParent(){let e=this;do if(e.path.isBlockParent())return e;while(e=e.parent);throw Error(`We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...`)}getPatternParent(){let e=this;do if(!e.path.isPattern())return e.getBlockParent();while(e=e.parent.parent);throw Error(`We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...`)}getAllBindings(){let e=Object.create(null),t=this;do{for(let n of Object.keys(t.bindings))n in e||(e[n]=t.bindings[n]);t=t.parent}while(t);return e}bindingIdentifierEquals(e,t){return this.getBindingIdentifier(e)===t}getBinding(e){let t=this,n;do{let r=t.getOwnBinding(e);if(r){if(!(n?.isPattern()&&r.kind!==`param`&&r.kind!==`local`))return r}else if(!r&&e===`arguments`&&t.path.isFunction()&&!t.path.isArrowFunctionExpression())break;n=t.path}while(t=t.parent)}getOwnBinding(e){return this.bindings[e]}getBindingIdentifier(e){return this.getBinding(e)?.identifier}getOwnBindingIdentifier(e){return this.bindings[e]?.identifier}hasOwnBinding(e){return!!this.getOwnBinding(e)}hasBinding(t,n){if(!t)return!1;let r,i,a;typeof n==`object`?(r=n.noGlobals,i=n.noUids,a=n.upToScope):typeof n==`boolean`&&(r=n);let o=this;do{if(a===o)break;if(o.hasOwnBinding(t))return!0}while(o=o.parent);return!!(!i&&this.hasUid(t)||!r&&e.globals.includes(t)||!r&&e.contextVariables.includes(t))}parentHasBinding(e,t){return this.parent?.hasBinding(e,t)}moveBindingTo(e,t){let n=this.getBinding(e);n&&(n.scope.removeOwnBinding(e),n.scope=t,t.bindings[e]=n)}removeOwnBinding(e){delete this.bindings[e]}removeBinding(e){this.getBinding(e)?.scope.removeOwnBinding(e),this.getProgramParent().uidsSet.delete(e)}hoistVariables(e=e=>this.push({id:e})){this.crawl();let t=new Set;for(let n of Object.keys(this.bindings)){let r=this.bindings[n];if(!r)continue;let{path:i}=r;if(!i.isVariableDeclarator())continue;let{parent:a,parentPath:o}=i;if(a.kind!==`var`||t.has(a))continue;t.add(i.parent);let s,c=[];for(let t of a.declarations){s??=t.id,t.init&&c.push(BR(`=`,t.id,t.init));let n=Object.keys(HR(t,!1,!0,!0));for(let r of n)e(UR(r),t.init!=null)}if(o.parentPath.isForXStatement({left:a}))o.replaceWith(s);else if(c.length===0)o.remove();else{let e=c.length===1?c[0]:Dz(c);o.parentPath.isForStatement({init:a})?o.replaceWith(e):o.replaceWith(_z(e))}}}},{VISITOR_KEYS:Pz}=O;function Fz(e){let t=this;for(;t=t.parentPath;)if(e(t))return t;return null}function Iz(e){let t=this;do if(e(t))return t;while(t=t.parentPath);return null}function Lz(){return this.findParent(e=>e.isFunction())}function Rz(){let e=this;do if(!e.parentPath||Array.isArray(e.container)&&e.isStatement())break;else e=e.parentPath;while(e);if(e&&(e.isProgram()||e.isFile()))throw Error(`File/Program node, we can't possibly find a statement parent to this`);return e}function zz(e){return this.getDeepestCommonAncestorFrom(e,function(e,t,n){let r,i=Pz[e.type];for(let e of n){let n=e[t+1];if(!r){r=n;continue}if(n.listKey&&r.listKey===n.listKey&&n.key<r.key){r=n;continue}i.indexOf(r.parentKey)>i.indexOf(n.parentKey)&&(r=n)}return r})}function Bz(e,t){if(!e.length)return this;if(e.length===1)return e[0];let n=1/0,r,i,a=e.map(e=>{let t=[];do t.unshift(e);while((e=e.parentPath)&&e!==this);return t.length<n&&(n=t.length),t}),o=a[0];depthLoop:for(let e=0;e<n;e++){let t=o[e];for(let n of a)if(n[e]!==t)break depthLoop;r=e,i=t}if(i)return t?t(i,r,a):i;throw Error(`Couldn't find intersection`)}function Vz(){let e=this,t=[];do t.push(e);while(e=e.parentPath);return t}function Hz(e){return e.isDescendant(this)}function Uz(e){return!!this.findParent(t=>t===e)}function Wz(...e){let t=this;for(;t;){if(e.includes(t.node.type))return!0;t=t.parentPath}return!1}var{createFlowUnionType:Gz,createTSUnionType:Kz,isFlowType:qz,isTSType:Jz}=O;function Yz(e){if(e.every(e=>qz(e)))return Gz(e);if(e.every(e=>Jz(e)))return Kz(e)}var{BOOLEAN_NUMBER_BINARY_OPERATORS:Xz,createTypeAnnotationBasedOnTypeof:Zz,numberTypeAnnotation:Qz,voidTypeAnnotation:$z}=O;function eB(e){if(!this.isReferenced())return;let t=this.scope.getBinding(e.name);if(t)return t.identifier.typeAnnotation?t.identifier.typeAnnotation:tB(t,this,e.name);if(e.name===`undefined`)return $z();if(e.name===`NaN`||e.name===`Infinity`)return Qz();e.name}function tB(e,t,n){let r=[],i=[],a=nB(e,t,i),o=aB(e,t,n);if(o){let t=nB(e,o.ifStatement);a=a.filter(e=>!t.includes(e)),r.push(o.typeAnnotation)}if(a.length){a.push(...i);for(let e of a)r.push(e.getTypeAnnotation())}if(r.length)return Yz(r)}function nB(e,t,n){let r=e.constantViolations.slice();return r.unshift(e.path),r.filter(e=>{e=e.resolve();let r=e._guessExecutionStatusRelativeTo(t);return n&&r===`unknown`&&n.push(e),r===`before`})}function rB(e,t){let n=t.node.operator,r=t.get(`right`).resolve(),i=t.get(`left`).resolve(),a;if(i.isIdentifier({name:e})?a=r:r.isIdentifier({name:e})&&(a=i),a)return n===`===`?a.getTypeAnnotation():Xz.includes(n)?Qz():void 0;if(n!==`===`&&n!==`==`)return;let o,s;if(i.isUnaryExpression({operator:`typeof`})?(o=i,s=r):r.isUnaryExpression({operator:`typeof`})&&(o=r,s=i),!o||!o.get(`argument`).isIdentifier({name:e})||(s=s.resolve(),!s.isLiteral()))return;let c=s.node.value;if(typeof c==`string`)return Zz(c)}function iB(e,t,n){let r;for(;r=t.parentPath;){if(r.isIfStatement()||r.isConditionalExpression())return t.key===`test`?void 0:r;if(r.isFunction()&&(n==null||r.parentPath.scope.getBinding(n)!==e))return;t=r}}function aB(e,t,n){let r=iB(e,t,n);if(!r)return;let i=[r.get(`test`)],a=[];for(let e=0;e<i.length;e++){let t=i[e];if(t.isLogicalExpression())t.node.operator===`&&`&&(i.push(t.get(`left`)),i.push(t.get(`right`)));else if(t.isBinaryExpression()){let e=rB(n,t);e&&a.push(e)}}return a.length?{typeAnnotation:Yz(a),ifStatement:r}:aB(e,r,n)}var{BOOLEAN_BINARY_OPERATORS:oB,BOOLEAN_UNARY_OPERATORS:sB,NUMBER_BINARY_OPERATORS:cB,NUMBER_UNARY_OPERATORS:lB,STRING_UNARY_OPERATORS:uB,anyTypeAnnotation:dB,arrayTypeAnnotation:fB,booleanTypeAnnotation:pB,buildMatchMemberExpression:mB,genericTypeAnnotation:hB,identifier:gB,nullLiteralTypeAnnotation:_B,numberTypeAnnotation:vB,stringTypeAnnotation:yB,tupleTypeAnnotation:bB,unionTypeAnnotation:xB,voidTypeAnnotation:SB,isIdentifier:CB}=O;function wB(){if(this.get(`id`).isIdentifier())return this.get(`init`).getTypeAnnotation()}function TB(e){return e.typeAnnotation}TB.validParent=!0;function EB(e){return e.typeAnnotation}EB.validParent=!0;function DB(){return this.get(`expression`).getTypeAnnotation()}function OB(e){if(e.callee.type===`Identifier`)return hB(e.callee)}function kB(){return yB()}function AB(e){let t=e.operator;if(t===`void`)return SB();if(lB.includes(t))return vB();if(uB.includes(t))return yB();if(sB.includes(t))return pB()}function jB(e){let t=e.operator;if(cB.includes(t))return vB();if(oB.includes(t))return pB();if(t===`+`){let e=this.get(`right`),t=this.get(`left`);return t.isBaseType(`number`)&&e.isBaseType(`number`)?vB():t.isBaseType(`string`)||e.isBaseType(`string`)?yB():xB([yB(),vB()])}}function MB(){return Yz([this.get(`left`).getTypeAnnotation(),this.get(`right`).getTypeAnnotation()])}function NB(){return Yz([this.get(`consequent`).getTypeAnnotation(),this.get(`alternate`).getTypeAnnotation()])}function PB(){return this.get(`expressions`).pop().getTypeAnnotation()}function FB(){return this.get(`expression`).getTypeAnnotation()}function IB(){return this.get(`right`).getTypeAnnotation()}function LB(e){let t=e.operator;if(t===`++`||t===`--`)return vB()}function RB(){return yB()}function zB(){return vB()}function BB(){return pB()}function VB(){return _B()}function HB(){return hB(gB(`RegExp`))}function UB(){return hB(gB(`Object`))}function WB(){return hB(gB(`Array`))}function GB(){return WB()}GB.validParent=!0;function KB(){return hB(gB(`Function`))}var qB=mB(`Array.from`),JB=mB(`Object.keys`),YB=mB(`Object.values`),XB=mB(`Object.entries`);function ZB(){let{callee:e}=this.node;return JB(e)?fB(yB()):qB(e)||YB(e)||CB(e,{name:`Array`})?fB(dB()):XB(e)?fB(bB([yB(),dB()])):$B(this.get(`callee`))}function QB(){return $B(this.get(`tag`))}function $B(e){if(e=e.resolve(),e.isFunction()){let{node:t}=e;if(t.async)return t.generator?hB(gB(`AsyncIterator`)):hB(gB(`Promise`));if(t.generator)return hB(gB(`Iterator`));if(e.node.returnType)return e.node.returnType}}var eV=Object.defineProperty({__proto__:null,ArrayExpression:WB,ArrowFunctionExpression:KB,AssignmentExpression:IB,BinaryExpression:jB,BooleanLiteral:BB,CallExpression:ZB,ClassDeclaration:KB,ClassExpression:KB,ConditionalExpression:NB,FunctionDeclaration:KB,FunctionExpression:KB,Identifier:eB,LogicalExpression:MB,NewExpression:OB,NullLiteral:VB,NumericLiteral:zB,ObjectExpression:UB,ParenthesizedExpression:FB,RegExpLiteral:HB,RestElement:GB,SequenceExpression:PB,StringLiteral:RB,TSAsExpression:EB,TSNonNullExpression:DB,TaggedTemplateExpression:QB,TemplateLiteral:kB,TypeCastExpression:TB,UnaryExpression:AB,UpdateExpression:LB,VariableDeclarator:wB},Symbol.toStringTag,{value:`Module`}),{anyTypeAnnotation:tV,isAnyTypeAnnotation:nV,isArrayTypeAnnotation:rV,isBooleanTypeAnnotation:iV,isEmptyTypeAnnotation:aV,isFlowBaseAnnotation:oV,isGenericTypeAnnotation:sV,isIdentifier:cV,isMixedTypeAnnotation:lV,isNumberTypeAnnotation:uV,isStringTypeAnnotation:dV,isTSArrayType:fV,isTSTypeAnnotation:pV,isTSTypeReference:mV,isTupleTypeAnnotation:hV,isTypeAnnotation:gV,isUnionTypeAnnotation:_V,isVoidTypeAnnotation:vV,stringTypeAnnotation:yV,voidTypeAnnotation:bV}=O;function xV(){let e=this.getData(`typeAnnotation`);return e??(e=CV.call(this)||tV(),(gV(e)||pV(e))&&(e=e.typeAnnotation),this.setData(`typeAnnotation`,e),e)}var SV=new WeakSet;function CV(){let e=this.node;if(!e){if(this.key===`init`&&this.parentPath.isVariableDeclarator()){let e=this.parentPath.parentPath,t=e.parentPath;return e.key===`left`&&t.isForInStatement()?yV():e.key===`left`&&t.isForOfStatement()?tV():bV()}return}if(e.typeAnnotation)return e.typeAnnotation;if(!SV.has(e)){SV.add(e);try{let t=eV[e.type];if(t)return t.call(this,e);if(t=eV[this.parentPath.type],t?.validParent)return this.parentPath.getTypeAnnotation()}finally{SV.delete(e)}}}function wV(e,t){return TV(e,this.getTypeAnnotation(),t)}function TV(e,t,n){if(e===`string`)return dV(t);if(e===`number`)return uV(t);if(e===`boolean`)return iV(t);if(e===`any`)return nV(t);if(e===`mixed`)return lV(t);if(e===`empty`)return aV(t);if(e===`void`)return vV(t);if(n)return!1;throw Error(`Unknown base type ${e}`)}function EV(e){let t=this.getTypeAnnotation();if(nV(t))return!0;if(_V(t)){for(let n of t.types)if(nV(n)||TV(e,n,!0))return!0;return!1}return TV(e,t,!0)}function DV(e){let t=this.getTypeAnnotation(),n=e.getTypeAnnotation();return!nV(t)&&oV(t)?n.type===t.type:!1}function OV(e){let t=this.getTypeAnnotation();return e===`Array`&&(fV(t)||rV(t)||hV(t))?!0:sV(t)&&cV(t.id,{name:e})||mV(t)&&cV(t.typeName,{name:e})}var kV=[function(e,t){if(e.key===`test`&&(t.isWhile()||t.isSwitchCase())||e.key===`declaration`&&t.isExportDeclaration()||e.key===`body`&&t.isLabeledStatement()||e.listKey===`declarations`&&t.isVariableDeclaration()&&t.node.declarations.length===1||e.key===`expression`&&t.isExpressionStatement())return t.remove(),!0},function(e,t){if(t.isSequenceExpression()&&t.node.expressions.length===1)return t.replaceWith(t.node.expressions[0]),!0},function(e,t){if(t.isBinary())return e.key===`left`?t.replaceWith(t.node.right):t.replaceWith(t.node.left),!0},function(e,t){if(t.isIfStatement()&&e.key===`consequent`||e.key===`body`&&(t.isLoop()||t.isArrowFunctionExpression()))return e.replaceWith({type:`BlockStatement`,directives:[],body:[]}),!0}];function AV(){if(FV.call(this),jG.call(this),MV.call(this)){PV.call(this);return}this.opts?.noScope||jV.call(this),this.shareCommentsWithSiblings(),NV.call(this),PV.call(this)}function jV(){if(!this.node)return;let e=GD(this.node,!1,!1,!0);Object.keys(e).forEach(e=>this.scope.removeBinding(e))}function MV(){if(this.parentPath){for(let e of kV)if(e(this,this.parentPath))return!0}}function NV(){Array.isArray(this.container)?(this.container.splice(this.key,1),aH.call(this,this.key,-1)):BH.call(this,null)}function PV(){this._traverseFlags|=bG|yG,this.parent&&LR(this)?.delete(this.node),this.node=null}function FV(){if(this.removed)throw this.buildCodeFrameError(`NodePath has been removed so is read-only.`)}var{arrowFunctionExpression:IV,assertExpression:LV,assignmentExpression:RV,blockStatement:zV,callExpression:BV,cloneNode:VV,expressionStatement:HV,isAssignmentExpression:UV,isCallExpression:WV,isExportNamedDeclaration:GV,isExpression:KV,isIdentifier:qV,isSequenceExpression:JV,isSuper:YV,thisExpression:XV}=O;function ZV(e){FV.call(this);let t=oH.call(this,e),{parentPath:n,parent:r}=this;if(n.isExpressionStatement()||n.isLabeledStatement()||GV(r)||n.isExportDefaultDeclaration()&&this.isDeclaration())return n.insertBefore(t);if(this.isNodeType(`Expression`)&&!this.isJSXElement()||n.isForStatement()&&this.key===`init`)return this.node&&t.push(this.node),this.replaceExpressionWithStatements(t);if(Array.isArray(this.container))return $V.call(this,t);if(this.isStatementOrBlock()){let e=this.node,n=e&&(!this.isExpressionStatement()||e.expression!=null),[r]=this.replaceWith(zV(n?[e]:[]));return r.unshiftContainer(`body`,t)}throw Error(`We don't know what to do with this node type. We were previously a Statement but we can't fit in here?`)}function QV(e,t){aH.call(this,e,t.length);let n=[];this.container.splice(e,0,...t);for(let r=0;r<t.length;r++){let t=e+r,i=this.getSibling(t);n.push(i),this.context?.queue&&IG.call(i,this.context)}let r=VG.call(this);for(let e of n){kG.call(e),e.debug(`Inserted.`);for(let t of r)t.maybeQueue(e,!0)}return n}function $V(e){return QV.call(this,this.key,e)}function eH(e){return QV.call(this,this.key+1,e)}var tH=e=>e[e.length-1];function nH(e){return JV(e.parent)&&(tH(e.parent.expressions)!==e.node||nH(e.parentPath))}function rH(e,t){if(!UV(e)||!qV(e.left))return!1;let n=t.getBlockParent();return n.hasOwnBinding(e.left.name)&&n.getOwnBinding(e.left.name).constantViolations.length<=1}function iH(e){if(FV.call(this),this.isSequenceExpression())return tH(this.get(`expressions`)).insertAfter(e);let t=oH.call(this,e),{parentPath:n,parent:r}=this;if(n.isExpressionStatement()||n.isLabeledStatement()||GV(r)||n.isExportDefaultDeclaration()&&this.isDeclaration())return n.insertAfter(t.map(e=>KV(e)?HV(e):e));if(this.isNodeType(`Expression`)&&!this.isJSXElement()&&!n.isJSXElement()||n.isForStatement()&&this.key===`init`){let e=this;if(e.node){let r=e.node,{scope:i}=this;if(i.path.isPattern())return LV(r),e.replaceWith(BV(IV([],r),[])),e.get(`callee.body`).insertAfter(t),[e];if(nH(e))t.unshift(r);else if(WV(r)&&YV(r.callee))t.unshift(r),t.push(XV());else if(rH(r,i))t.unshift(r),t.push(VV(r.left));else if(i.isPure(r,!0))t.push(r);else{n.isMethod({computed:!0,key:r})&&(i=i.parent);let e=i.generateDeclaredUidIdentifier();t.unshift(HV(RV(`=`,VV(e),r))),t.push(HV(VV(e)))}}return this.replaceExpressionWithStatements(t)}if(Array.isArray(this.container))return eH.call(this,t);if(this.isStatementOrBlock()){let e=this.node,n=e&&(!this.isExpressionStatement()||e.expression!=null),[r]=this.replaceWith(zV(n?[e]:[]));return r.pushContainer(`body`,t)}throw Error(`We don't know what to do with this node type. We were previously a Statement but we can't fit in here?`)}function aH(e,t){if(!this.parent)return;let n=LR(this);if(n)for(let[,r]of n)typeof r.key==`number`&&r.container===this.container&&r.key>=e&&(r.key+=t)}function oH(e){if(!e)return[];Array.isArray(e)||(e=[e]);for(let t=0;t<e.length;t++){let n=e[t],r;if(n?typeof n==`object`?n.type?n instanceof xG&&(r=`has a NodePath when it expected a raw object`):r=`without a type`:r=`contains a non-object node`:r=`has falsy node`,r)throw Error(`Node list ${r} with the index of ${t} and type of ${Array.isArray(n)?`array`:typeof n}`)}return e}function sH(e,t){FV.call(this);let n=oH.call(this,t),r=this.node[e],i=xG.get({parentPath:this,parent:this.node,container:r,listKey:e,key:0}).setContext(this.context);return $V.call(i,n)}function cH(e,t){FV.call(this);let n=oH.call(this,t),r=this.node[e];return xG.get({parentPath:this,parent:this.node,container:r,listKey:e,key:r.length}).setContext(this.context).replaceWithMultiple(n)}var{FUNCTION_TYPES:lH,arrowFunctionExpression:uH,assignmentExpression:dH,awaitExpression:fH,blockStatement:pH,buildUndefinedNode:mH,callExpression:hH,cloneNode:gH,conditionalExpression:_H,expressionStatement:vH,getBindingIdentifiers:yH,identifier:bH,inheritLeadingComments:xH,inheritTrailingComments:SH,inheritsComments:CH,isBlockStatement:wH,isEmptyStatement:TH,isExpression:EH,isExpressionStatement:DH,isIfStatement:OH,isProgram:kH,isStatement:AH,isVariableDeclaration:jH,removeComments:MH,returnStatement:NH,sequenceExpression:PH,validate:FH,yieldExpression:IH}=O;function LH(e){jG.call(this);let t=oH.call(this,e);xH(t[0],this.node),SH(t[t.length-1],this.node),LR(this)?.delete(this.node),this.node=this.container[this.key]=null;let n=this.insertAfter(e);return this.node?this.requeue():this.remove(),n}function RH(e){jG.call(this);let t;try{e=`(${e})`,t=Qn(e)}catch(t){let n=t.loc;throw n&&(t.message+=` - make sure this is an expression.
24
+ `+wr(e,{start:{line:n.line,column:n.column}}),t.code=`BABEL_REPLACE_SOURCE_ERROR`),t}let n=t.program.body[0].expression;return $.removeProperties(n),this.replaceWith(n)}function zH(e){if(jG.call(this),this.removed)throw Error(`You can't replace this node, we've already removed it`);let t=e instanceof xG?e.node:e;if(!t)throw Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");if(this.node===t)return[this];if(this.isProgram()&&!kH(t))throw Error(`You can only replace a Program root node with another Program node`);if(Array.isArray(t))throw Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");if(typeof t==`string`)throw Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");let n=``;if(this.isNodeType(`Statement`)&&EH(t)&&!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(t)&&!this.parentPath.isExportDefaultDeclaration()&&(t=vH(t),n=`expression`),this.isNodeType(`Expression`)&&AH(t)&&!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(t))return this.replaceExpressionWithStatements([t]);let r=this.node;return r&&(CH(t,r),MH(r)),BH.call(this,t),this.type=t.type,kG.call(this),this.requeue(),[n?this.get(n):this]}function BH(e){if(!this.container)throw ReferenceError(`Container is falsy`);this.inList?FH(this.parent,this.key,[e]):FH(this.parent,this.key,e),this.debug(`Replace with ${e?.type}`),LR(this)?.set(e,this).delete(this.node),this.node=e,this.container[this.key]=e}function VH(e){jG.call(this);let t=[],n=HH(e,t);if(n){for(let e of t)this.scope.push({id:e});return this.replaceWith(n)[0].get(`expressions`)}let r=this.getFunctionParent(),i=r?.node.async,a=r?.node.generator,o=uH([],pH(e));this.replaceWith(hH(o,[]));let s=this.get(`callee`);s.get(`body`).scope.hoistVariables(e=>this.scope.push({id:e}));let c=s.getCompletionRecords();for(let e of c){if(!e.isExpressionStatement())continue;let t=e.findParent(e=>e.isLoop());if(t){let n=t.getData(`expressionReplacementReturnUid`);n?n=bH(n.name):(n=s.scope.generateDeclaredUidIdentifier(`ret`),s.get(`body`).pushContainer(`body`,NH(gH(n))),t.setData(`expressionReplacementReturnUid`,n)),e.get(`expression`).replaceWith(dH(`=`,gH(n),e.node.expression))}else e.replaceWith(NH(e.node.expression))}s.arrowFunctionToExpression();let l=s,u=i&&$.hasType(l.node.body,`AwaitExpression`,lH),d=a&&$.hasType(l.node.body,`YieldExpression`,lH);return u&&(l.set(`async`,!0),d||this.replaceWith(fH(this.node))),d&&(l.set(`generator`,!0),this.replaceWith(IH(this.node,!0))),l.get(`body.body`)}function HH(e,t){let n=[],r=!0;for(let i of e)if(TH(i)||(r=!1),EH(i))n.push(i);else if(DH(i))n.push(i.expression);else if(jH(i)){if(i.kind!==`var`)return;for(let e of i.declarations){let r=yH(e);for(let e of Object.keys(r))t.push(gH(r[e]));e.init&&n.push(dH(`=`,e.id,e.init))}r=!0}else if(OH(i)){let e=i.consequent?HH([i.consequent],t):mH(),r=i.alternate?HH([i.alternate],t):mH();if(!e||!r)return;n.push(_H(i.test,e,r))}else if(wH(i)){let e=HH(i.body,t);if(!e)return;n.push(e)}else if(TH(i))e.indexOf(i)===0&&(r=!0);else return;return r&&n.push(mH()),n.length===1?n[0]:PH(n)}function UH(e){if(jG.call(this),Array.isArray(e)){if(Array.isArray(this.container)){e=oH.call(this,e);let t=eH.call(this,e);return this.remove(),t}return this.replaceWithMultiple(e)}return this.replaceWith(e)}var WH=[`Number`,`String`,`Math`],GH=[`isFinite`,`isNaN`,`parseFloat`,`parseInt`,`decodeURI`,`decodeURIComponent`,`encodeURI`,`encodeURIComponent`,`btoa`,`atob`],KH=[`random`];function qH(e){return WH.includes(e)}function JH(e){return GH.includes(e)}function YH(e){return KH.includes(e)}function XH(){let e=this.evaluate();if(e.confident)return!!e.value}function ZH(e,t){t.confident&&=(t.deoptPath=e,!1)}var QH=new Map([[`undefined`,void 0],[`Infinity`,1/0],[`NaN`,NaN]]);function $H(e,t){let{node:n}=e,{seen:r}=t;if(r.has(n)){let i=r.get(n);if(i.resolved)return i.value;ZH(e,t);return}{let i={resolved:!1};r.set(n,i);let a=eU(e,t);return t.confident&&(i.resolved=!0,i.value=a),a}}function eU(e,t){if(t.confident){if(e.isSequenceExpression()){let n=e.get(`expressions`);return $H(n[n.length-1],t)}if(e.isStringLiteral()||e.isNumericLiteral()||e.isBooleanLiteral())return e.node.value;if(e.isNullLiteral())return null;if(e.isTemplateLiteral())return tU(e,e.node.quasis,t);if(e.isTaggedTemplateExpression()&&e.get(`tag`).isMemberExpression()){let n=e.get(`tag.object`),{node:{name:r}}=n,i=e.get(`tag.property`);if(n.isIdentifier()&&r===`String`&&!e.scope.getBinding(r)&&i.isIdentifier()&&i.node.name===`raw`)return tU(e,e.node.quasi.quasis,t,!0)}if(e.isConditionalExpression()){let n=$H(e.get(`test`),t);return t.confident?$H(n?e.get(`consequent`):e.get(`alternate`),t):void 0}if(e.isExpressionWrapper())return $H(e.get(`expression`),t);if(e.isMemberExpression()&&!e.parentPath.isCallExpression({callee:e.node})){let n=e.get(`property`),r=e.get(`object`);if(r.isLiteral()){let i=r.node.value,a=typeof i,o=null;if(e.node.computed){if(o=$H(n,t),!t.confident)return}else n.isIdentifier()&&(o=n.node.name);if((a===`number`||a===`string`)&&o!=null&&(typeof o==`number`||typeof o==`string`))return i[o]}}if(e.isReferencedIdentifier()){let n=e.scope.getBinding(e.node.name);if(n){if(n.constantViolations.length>0||e.node.start<n.path.node.end){ZH(n.path,t);return}let r=n.path.scope;if(n.kind===`var`&&r!==n.scope){let i=!r.path.parentPath.isBlockStatement();for(let a=r.parent;a;a=a.parent){if(a===e.scope){if(i){ZH(n.path,t);return}break}a.path.parentPath?.isBlockStatement()&&(i=!0)}}if(n.hasValue)return n.value}let r=e.node.name;if(QH.has(r)){if(!n)return QH.get(r);ZH(n.path,t);return}if(!n){ZH(e,t);return}let i=n.path;if(!i.isVariableDeclarator()){ZH(i,t);return}let a=i.get(`init`),o=$H(a,t);if(typeof o==`object`&&o&&n.references>1){ZH(a,t);return}return o}if(e.isUnaryExpression({prefix:!0})){if(e.node.operator===`void`)return;let n=e.get(`argument`);if(e.node.operator===`typeof`&&(n.isFunction()||n.isClass()))return`function`;let r=$H(n,t);if(!t.confident)return;switch(e.node.operator){case`!`:return!r;case`+`:return+r;case`-`:return-r;case`~`:return~r;case`typeof`:return typeof r}}if(e.isArrayExpression()){let n=[],r=e.get(`elements`);for(let e of r){let r=e.evaluate();if(r.confident)n.push(r.value);else{ZH(r.deopt,t);return}}return n}if(e.isObjectExpression()){let n={},r=e.get(`properties`);for(let e of r){if(e.isObjectMethod()||e.isSpreadElement()){ZH(e,t);return}let r=e.get(`key`),i;if(e.node.computed){if(i=r.evaluate(),!i.confident){ZH(i.deopt,t);return}i=i.value}else i=r.isIdentifier()?r.node.name:r.node.value;let a=e.get(`value`).evaluate();if(!a.confident){ZH(a.deopt,t);return}a=a.value,n[i]=a}return n}if(e.isLogicalExpression()){let n=t.confident,r=$H(e.get(`left`),t),i=t.confident;t.confident=n;let a=$H(e.get(`right`),t),o=t.confident;switch(e.node.operator){case`||`:return t.confident=i&&(!!r||o),t.confident?r||a:void 0;case`&&`:return t.confident=i&&(!r||o),t.confident?r&&a:void 0;case`??`:return t.confident=i&&(r!=null||o),t.confident?r??a:void 0}}if(e.isBinaryExpression()){let n=$H(e.get(`left`),t);if(!t.confident)return;let r=$H(e.get(`right`),t);if(!t.confident)return;switch(e.node.operator){case`-`:return n-r;case`+`:return n+r;case`/`:return n/r;case`*`:return n*r;case`%`:return n%r;case`**`:return n**r;case`<`:return n<r;case`>`:return n>r;case`<=`:return n<=r;case`>=`:return n>=r;case`==`:return n==r;case`!=`:return n!=r;case`===`:return n===r;case`!==`:return n!==r;case`|`:return n|r;case`&`:return n&r;case`^`:return n^r;case`<<`:return n<<r;case`>>`:return n>>r;case`>>>`:return n>>>r}}if(e.isCallExpression()){let n=e.get(`callee`),r,i;if(n.isIdentifier()&&!e.scope.getBinding(n.node.name)&&(qH(n.node.name)||JH(n.node.name))&&(i=global[n.node.name]),n.isMemberExpression()){let t=n.get(`object`),a=n.get(`property`);if(t.isIdentifier()&&a.isIdentifier()&&qH(t.node.name)&&!YH(a.node.name)&&!e.scope.getBinding(t.node.name)){r=global[t.node.name];let e=a.node.name;Object.hasOwn(r,e)&&(i=r[e])}if(t.isLiteral()&&a.isIdentifier()){let e=typeof t.node.value;(e===`string`||e===`number`)&&(r=t.node.value,i=r[a.node.name])}}if(i){let n=e.get(`arguments`).map(e=>$H(e,t));return t.confident?i.apply(r,n):void 0}}ZH(e,t)}}function tU(e,t,n,r=!1){let i=``,a=0,o=e.isTemplateLiteral()?e.get(`expressions`):e.get(`quasi.expressions`);for(let e of t){if(!n.confident)break;i+=r?e.value.raw:e.value.cooked;let t=o[a++];t&&(i+=String($H(t,n)))}if(n.confident)return i}function nU(){let e={confident:!0,deoptPath:null,seen:new Map},t=$H(this,e);return e.confident||(t=void 0),{confident:e.confident,deopt:e.deoptPath,value:t}}var{arrowFunctionExpression:rU,assignmentExpression:iU,binaryExpression:aU,blockStatement:oU,callExpression:sU,conditionalExpression:cU,expressionStatement:lU,identifier:Q,jsxIdentifier:uU,logicalExpression:dU,LOGICAL_OPERATORS:fU,memberExpression:pU,metaProperty:mU,numericLiteral:hU,objectExpression:gU,restElement:_U,returnStatement:vU,sequenceExpression:yU,spreadElement:bU,stringLiteral:xU,super:SU,thisExpression:CU,toExpression:wU,unaryExpression:TU,toBindingIdentifierName:EU,isFunction:DU,isAssignmentPattern:OU,isRestElement:kU,getFunctionName:AU,cloneNode:jU,variableDeclaration:MU,variableDeclarator:NU,exportNamedDeclaration:PU,exportSpecifier:FU,inherits:IU,buildUndefinedNode:LU}=O;function RU(){let e=this.get(`body`),t=e.node;if(Array.isArray(e))throw Error(`Can't convert array path to a block statement`);if(!t)throw Error(`Can't convert node without a body`);if(e.isBlockStatement())return t;let n=[],r=`body`,i,a;e.isStatement()?(a=`body`,i=0,n.push(e.node)):(r+=`.body.0`,this.isFunction()?(i=`argument`,n.push(vU(e.node))):(i=`expression`,n.push(lU(e.node)))),this.node.body=oU(n);let o=this.get(r);return LG.call(e,o,a?o.node[a]:o.node,a,i),this.node}function zU(){if(!this.isArrowFunctionExpression()&&!this.isFunctionExpression()&&!this.isFunctionDeclaration())throw this.buildCodeFrameError(`Can only unwrap the environment of a function.`);UU(this)}function BU(e,t){e.node.type=t}function VU({allowInsertArrow:e=!0,allowInsertArrowWithRest:t=e,noNewArrows:n=!0}={}){if(!this.isArrowFunctionExpression())throw this.buildCodeFrameError(`Cannot convert non-arrow function to a function expression.`);let r=this;n||(r=r.ensureFunctionName(!1)??r);let{thisBinding:i,fnPath:a}=UU(r,n,e,t);if(a.ensureBlock(),BU(a,`FunctionExpression`),!n){let e=i?null:a.scope.generateUidIdentifier(`arrowCheckId`);return e&&a.parentPath.scope.push({id:e,init:gU([])}),a.get(`body`).unshiftContainer(`body`,lU(sU(this.hub.addHelper(`newArrowCheck`),[CU(),Q(e?e.name:i)]))),a.replaceWith(sU(pU(a.node,Q(`bind`)),[e?Q(e.name):CU()]))[0].get(`callee.object`)}return a}var HU=SR({CallExpression(e,{allSuperCalls:t}){e.get(`callee`).isSuper()&&t.push(e)}});function UU(e,t=!0,n=!0,r=!0){let i,a=e.findParent(e=>e.isArrowFunctionExpression()?(i??=e,!1):e.isFunction()||e.isProgram()||e.isClassProperty({static:!1})||e.isClassPrivateProperty({static:!1})),o=a.isClassMethod({kind:`constructor`});if(a.isClassProperty()||a.isClassPrivateProperty()){if(i)a=i;else if(n)a=e.replaceWith(sU(rU([],wU(e.node)),[]))[0].get(`callee`),e=a.get(`body`);else throw e.buildCodeFrameError(`Unable to transform arrow inside class property`)}let{thisPaths:s,argumentsPaths:c,newTargetPaths:l,superProps:u,superCalls:d}=$U(e);if(o&&d.length>0){if(!n)throw d[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super()` in an arrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");if(!r)throw d[0].buildCodeFrameError("When using '@babel/plugin-transform-parameters', it's not possible to compile `super()` in an arrow function with default or rest parameters without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");let e=[];a.traverse(HU,{allSuperCalls:e});let t=YU(a);e.forEach(e=>{let n=Q(t);n.loc=e.node.callee.loc,e.get(`callee`).replaceWith(n)})}if(c.length>0){let e=ZU(a,`arguments`,()=>{let e=()=>Q(`arguments`);return a.scope.path.isProgram()?cU(aU(`===`,TU(`typeof`,e()),xU(`undefined`)),LU(),e()):e()});c.forEach(t=>{let n=Q(e);n.loc=t.node.loc,t.replaceWith(n)})}if(l.length>0){let e=ZU(a,`newtarget`,()=>mU(Q(`new`),Q(`target`)));l.forEach(t=>{let n=Q(e);n.loc=t.node.loc,t.replaceWith(n)})}if(u.length>0){if(!n)throw u[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super.prop` in an arrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");u.reduce((e,t)=>e.concat(GU(t)),[]).forEach(e=>{let t=e.node.computed?``:e.get(`property`).node.name,n=e.parentPath,r=n.isAssignmentExpression({left:e.node}),i=n.isCallExpression({callee:e.node}),o=n.isTaggedTemplateExpression({tag:e.node}),c=XU(a,r,t),l=[];if(e.node.computed&&l.push(e.get(`property`).node),r){let e=n.node.right;l.push(e)}let u=sU(Q(c),l);i?(n.unshiftContainer(`arguments`,CU()),e.replaceWith(pU(u,Q(`call`))),s.push(n.get(`arguments.0`))):r?n.replaceWith(u):o?s.push(e.replaceWith(sU(pU(u,Q(`bind`),!1),[CU()]))[0].get(`arguments.0`)):e.replaceWith(u)})}let f;return(s.length>0||!t)&&(f=JU(a,o),(t||o&&KU(a))&&(s.forEach(e=>{let t=e.isJSX()?uU(f):Q(f);t.loc=e.node.loc,e.replaceWith(t)}),t||(f=null))),{thisBinding:f,fnPath:e}}function WU(e){return fU.includes(e)}function GU(e){if(e.parentPath.isAssignmentExpression()&&e.parentPath.node.operator!==`=`){let n=e.parentPath,r=n.node.operator.slice(0,-1),i=n.node.right,a=WU(r);if(e.node.computed){let o=e.scope.generateDeclaredUidIdentifier(`tmp`),{object:s,property:c}=e.node;n.get(`left`).replaceWith(pU(s,iU(`=`,o,c),!0)),n.get(`right`).replaceWith(t(a?`=`:r,pU(s,Q(o.name),!0),i))}else{let o=e.node.object,s=e.node.property;n.get(`left`).replaceWith(pU(o,s)),n.get(`right`).replaceWith(t(a?`=`:r,pU(o,Q(s.name)),i))}return a?n.replaceWith(dU(r,n.node.left,n.node.right)):n.node.operator=`=`,[n.get(`left`),n.get(`right`).get(`left`)]}if(e.parentPath.isUpdateExpression()){let t=e.parentPath,n=e.scope.generateDeclaredUidIdentifier(`tmp`),r=e.node.computed?e.scope.generateDeclaredUidIdentifier(`prop`):null,i=[iU(`=`,n,pU(e.node.object,r?iU(`=`,r,e.node.property):e.node.property,e.node.computed)),iU(`=`,pU(e.node.object,r?Q(r.name):e.node.property,e.node.computed),aU(e.parentPath.node.operator[0],Q(n.name),hU(1)))];e.parentPath.node.prefix||i.push(Q(n.name));let a=t.replaceWith(yU(i))[0];return[a.get(`expressions.0.right`),a.get(`expressions.1.left`)]}return[e];function t(e,t,n){return e===`=`?iU(`=`,t,n):aU(e,t,n)}}function KU(e){return e.isClassMethod()&&!!e.parentPath.parentPath.node.superClass}var qU=SR({CallExpression(e,{supers:t,thisBinding:n}){e.get(`callee`).isSuper()&&(t.has(e.node)||(t.add(e.node),e.replaceWithMultiple([e.node,iU(`=`,Q(n),Q(`this`))])))}});function JU(e,t){return ZU(e,`this`,n=>{if(!t||!KU(e))return CU();e.traverse(qU,{supers:new WeakSet,thisBinding:n})})}function YU(e){return ZU(e,`supercall`,()=>{let t=e.scope.generateUidIdentifier(`args`);return rU([_U(t)],sU(SU(),[bU(Q(t.name))]))})}function XU(e,t,n){return ZU(e,`superprop_${t?`set`:`get`}:${n||``}`,()=>{let r=[],i;if(n)i=pU(SU(),Q(n));else{let t=e.scope.generateUidIdentifier(`prop`);r.unshift(t),i=pU(SU(),Q(t.name),!0)}if(t){let t=e.scope.generateUidIdentifier(`value`);r.push(t),i=iU(`=`,i,Q(t.name))}return rU(r,i)})}function ZU(e,t,n){let r=`binding:`+t,i=e.getData(r);if(!i){let a=e.scope.generateUidIdentifier(t);i=a.name,e.setData(r,i),e.scope.push({id:a,init:n(i)})}return i}var QU=SR({ThisExpression(e,{thisPaths:t}){t.push(e)},JSXIdentifier(e,{thisPaths:t}){e.node.name===`this`&&(e.parentPath.isJSXMemberExpression({object:e.node})||e.parentPath.isJSXOpeningElement({name:e.node}))&&t.push(e)},CallExpression(e,{superCalls:t}){e.get(`callee`).isSuper()&&t.push(e)},MemberExpression(e,{superProps:t}){e.get(`object`).isSuper()&&t.push(e)},Identifier(e,{argumentsPaths:t}){if(!e.isReferencedIdentifier({name:`arguments`}))return;let n=e.scope;do{if(n.hasOwnBinding(`arguments`)){n.rename(`arguments`);return}if(n.path.isFunction()&&!n.path.isArrowFunctionExpression())break}while(n=n.parent);t.push(e)},MetaProperty(e,{newTargetPaths:t}){e.get(`meta`).isIdentifier({name:`new`})&&e.get(`property`).isIdentifier({name:`target`})&&t.push(e)}});function $U(e){let t=[],n=[],r=[],i=[],a=[];return e.traverse(QU,{thisPaths:t,argumentsPaths:n,newTargetPaths:r,superProps:i,superCalls:a}),{thisPaths:t,argumentsPaths:n,newTargetPaths:r,superProps:i,superCalls:a}}function eW(){if(!this.isExportDeclaration()||this.isExportAllDeclaration())throw Error(`Only default and named export declarations can be split.`);if(this.isExportNamedDeclaration()&&this.get(`specifiers`).length>0)throw Error(`It doesn't make sense to split exported specifiers.`);let e=this.get(`declaration`);if(this.isExportDefaultDeclaration()){let t=e.isFunctionDeclaration()||e.isClassDeclaration(),n=e.isFunctionExpression()||e.isClassExpression(),r=e.isScope()?e.scope.parent:e.scope,i=e.node.id,a=!1;i?n&&r.hasBinding(i.name)&&(a=!0,i=r.generateUidIdentifier(i.name)):(a=!0,i=r.generateUidIdentifier(`default`),(t||n)&&(e.node.id=jU(i)));let o=t?e.node:MU(`var`,[NU(jU(i),e.node)]),s=PU(null,[FU(jU(i),Q(`default`))]);return this.insertAfter(s),this.replaceWith(o),a&&r.registerDeclaration(this),this}if(this.get(`specifiers`).length>0)throw Error(`It doesn't make sense to split exported specifiers.`);let t=e.getOuterBindingIdentifiers(),n=PU(null,Object.keys(t).map(e=>FU(Q(e),Q(e))));return this.insertAfter(n),this.replaceWith(e.node),this}var tW=()=>dR({"ReferencedIdentifier|BindingIdentifier"(e,t){e.node.name===t.name&&(t.needsRename=!0,e.stop())},Scope(e,t){e.scope.hasOwnBinding(t.name)&&e.skip()}});function nW(e){if(this.node.id)return this;let t=AU(this.node,this.parent);if(t==null)return this;let{name:n}=t;if(!e&&/[\uD800-\uDFFF]/.test(n)||n.startsWith(`get `)||n.startsWith(`set `))return null;n=EU(n.replace(/[/ ]/g,`_`));let r=Q(n);IU(r,t.originalNode);let i={needsRename:!1,name:n},{scope:a}=this,o=a.getOwnBinding(n);if(o?o.kind===`param`&&(i.needsRename=!0):(a.parent.hasBinding(n)||a.hasGlobal(n))&&this.traverse(tW(),i),!i.needsRename)return this.node.id=r,a.getProgramParent().referencesSet.add(r.name),this;if(a.hasBinding(r.name)&&!a.hasGlobal(r.name))return a.rename(r.name),this.node.id=r,a.getProgramParent().referencesSet.add(r.name),this;if(!DU(this.node))return null;let s=a.generateUidIdentifier(r.name),c=[];for(let e=0,t=rW(this.node);e<t;e++)c.push(a.generateUidIdentifier(`x`));let l=fL.expression.ast`
25
+ (function (${s}) {
26
+ function ${r}(${c}) {
27
+ return ${jU(s)}.apply(this, arguments);
28
+ }
29
+
30
+ ${jU(r)}.toString = function () {
31
+ return ${jU(s)}.toString();
32
+ }
33
+
34
+ return ${jU(r)};
35
+ })(${wU(this.node)})
36
+ `;return this.replaceWith(l)[0].get(`arguments.0`)}function rW(e){let t=e.params.findIndex(e=>OU(e)||kU(e));return t===-1?e.params.length:t}var{STATEMENT_OR_BLOCK_KEYS:iW,VISITOR_KEYS:aW,isBlockStatement:oW,isExpression:sW,isIdentifier:cW,isLiteral:lW,isStringLiteral:uW,isType:dW,matchesPattern:fW,toComputedKey:pW}=O;function mW(e,t){return fW(this.node,e,t)}function hW(){return this.scope.isStatic(this.node)}function gW(e){return dW(this.type,e)}function _W(){return(this.key===`init`||this.key===`left`)&&this.parentPath.isFor()}function vW(e){return this.key!==`body`||!this.parentPath.isArrowFunctionExpression()?!1:this.isExpression()?oW(e):this.isBlockStatement()?sW(e):!1}function yW(e){let t=this,n=!0;do{let{type:r,container:i}=t;if(!n&&(t.isFunction()||r===`StaticBlock`))return!!e;if(n=!1,Array.isArray(i)&&t.key!==i.length-1)return!1}while((t=t.parentPath)&&!t.isProgram()&&!t.isDoExpression());return!0}function bW(){return this.parentPath.isLabeledStatement()||oW(this.container)?!1:iW.includes(this.key)}function xW(e,t){if(!this.isReferencedIdentifier()){if(this.isJSXMemberExpression()&&this.node.property.name===t||(this.isMemberExpression()||this.isOptionalMemberExpression())&&(this.node.computed?uW(this.node.property,{value:t}):this.node.property.name===t)){let t=this.get(`object`);return t.isReferencedIdentifier()&&t.referencesImport(e,`*`)}return!1}let n=this.scope.getBinding(this.node.name);if(n?.kind!==`module`)return!1;let r=n.path,i=r.parentPath;if(!i.isImportDeclaration())return!1;if(i.node.source.value===e){if(!t)return!0}else return!1;return!!(r.isImportDefaultSpecifier()&&t==="default"||r.isImportNamespaceSpecifier()&&t===`*`||r.isImportSpecifier()&&cW(r.node.imported,{name:t}))}function SW(){let e=this.node;if(e.end){let t=this.hub.getCode();if(t)return t.slice(e.start,e.end)}return``}function CW(e){return this._guessExecutionStatusRelativeTo(e)!==`after`}function wW(e){return e.isProgram()?e:(e.parentPath.scope.getFunctionParent()||e.parentPath.scope.getProgramParent()).path}function TW(e,t){switch(e){case`LogicalExpression`:return t===`right`;case`ConditionalExpression`:case`IfStatement`:return t===`consequent`||t===`alternate`;case`WhileStatement`:case`DoWhileStatement`:case`ForInStatement`:case`ForOfStatement`:return t===`body`;case`ForStatement`:return t===`body`||t===`update`;case`SwitchStatement`:return t===`cases`;case`TryStatement`:return t===`handler`;case`AssignmentPattern`:return t===`right`;case`OptionalMemberExpression`:return t===`property`;case`OptionalCallExpression`:return t===`arguments`;default:return!1}}function EW(e,t){for(let n=0;n<t;n++){let t=e[n];if(TW(t.parent.type,t.parentKey))return!0}return!1}var DW=Symbol();function OW(e){return kW(this,e,new Map)}function kW(e,t,n){let r={this:wW(e),target:wW(t)};if(r.target.node!==r.this.node)return jW(e,r.target,n);let i={target:t.getAncestry(),this:e.getAncestry()};if(i.target.includes(e))return`after`;if(i.this.includes(t))return`before`;let a,o={target:0,this:0};for(;!a&&o.this<i.this.length;){let e=i.this[o.this];o.target=i.target.indexOf(e),o.target>=0?a=e:o.this++}if(!a)throw Error(`Internal Babel error - The two compared nodes don't appear to belong to the same program.`);if(EW(i.this,o.this-1)||EW(i.target,o.target-1))return`unknown`;let s={this:i.this[o.this-1],target:i.target[o.target-1]};if(s.target.listKey&&s.this.listKey&&s.target.container===s.this.container)return s.target.key>s.this.key?`before`:`after`;let c=aW[a.type],l={this:c.indexOf(s.this.parentKey),target:c.indexOf(s.target.parentKey)};return l.target>l.this?`before`:`after`}function AW(e,t,n){if(!t.isFunctionDeclaration())return kW(e,t,n)===`before`?`before`:`unknown`;if(t.parentPath.isExportDeclaration())return`unknown`;let r=t.scope.getBinding(t.node.id.name);if(!r.references)return`before`;let i=r.referencePaths,a;for(let r of i){if(r.find(e=>e.node===t.node))continue;if(r.key!==`callee`||!r.parentPath.isCallExpression())return`unknown`;let i=kW(e,r,n);if(a&&a!==i)return`unknown`;a=i}return a}function jW(e,t,n){let r=n.get(e.node),i;if(!r)n.set(e.node,r=new Map);else if(i=r.get(t.node))return i===DW?`unknown`:i;r.set(t.node,DW);let a=AW(e,t,n);return r.set(t.node,a),a}function MW(e,t){return NW.call(this,e,t)||this}function NW(e,t){if(!t?.includes(this)){if(t||=[],t.push(this),this.isVariableDeclarator()){if(this.get(`id`).isIdentifier())return this.get(`init`).resolve(e,t)}else if(this.isReferencedIdentifier()){let n=this.scope.getBinding(this.node.name);if(!n||!n.constant||n.kind===`module`)return;if(n.path!==this){let r=n.path.resolve(e,t);return this.find(e=>e.node===r.node)?void 0:r}}else if(this.isTypeCastExpression())return this.get(`expression`).resolve(e,t);else if(e&&this.isMemberExpression()){let n=pW(this.node);if(!lW(n))return;let r=n.value,i=this.get(`object`).resolve(e,t);if(i.isObjectExpression()){let n=i.get(`properties`);for(let i of n){if(!i.isProperty())continue;let n=i.get(`key`),a=i.isnt(`computed`)&&n.isIdentifier({name:r});if(a||=n.isLiteral({value:r}),a)return i.get(`value`).resolve(e,t)}}else if(i.isArrayExpression()&&!isNaN(+r)){let n=i.get(`elements`)[r];if(n)return n.resolve(e,t)}}}}function PW(){if(this.isIdentifier()){let e=this.scope.getBinding(this.node.name);return e?e.constant:!1}if(this.isLiteral())return this.isRegExpLiteral()?!1:!this.isTemplateLiteral()||this.get(`expressions`).every(e=>e.isConstantExpression());if(this.isUnaryExpression())return this.node.operator===`void`&&this.get(`argument`).isConstantExpression();if(this.isBinaryExpression()){let{operator:e}=this.node;return e!==`in`&&e!==`instanceof`&&this.get(`left`).isConstantExpression()&&this.get(`right`).isConstantExpression()}return this.isMemberExpression()?!this.node.computed&&this.get(`object`).isIdentifier({name:`Symbol`})&&!this.scope.hasBinding(`Symbol`,{noGlobals:!0}):this.isCallExpression()?this.node.arguments.length===1&&this.get(`callee`).matchesPattern(`Symbol.for`)&&!this.scope.hasBinding(`Symbol`,{noGlobals:!0})&&this.get(`arguments`)[0].isStringLiteral():!1}function FW(){return!!(this.isProgram()?this:this.parentPath).find(e=>{if(e.isProgram({sourceType:`module`})||e.isClass())return!0;if(e.isArrowFunctionExpression()&&!e.get(`body`).isBlockStatement())return!1;let t;if(e.isFunction())t=e.node.body;else if(e.isProgram())t=e.node;else return!1;for(let e of t.directives)if(e.value.value===`use strict`)return!0;return!1})}var{getAssignmentIdentifiers:IW,getBindingIdentifiers:LW,getOuterBindingIdentifiers:RW,buildUndefinedNode:zW}=O,BW=0,VW=1;function HW(e){return{type:BW,path:e}}function UW(e){return{type:VW,path:e}}function WW(){return this.key===`left`?this.getSibling(`right`):this.key===`right`?this.getSibling(`left`):null}function GW(e,t,n){return e&&t.push(...XW(e,n)),t}function KW(e,t,n){let r=[];for(let i=0;i<e.length;i++){let a=e[i],o=XW(a,n),s=[],c=[];for(let e of o)e.type===BW&&s.push(e),e.type===VW&&c.push(e);s.length&&(r=s),t.push(...c)}return t.push(...r),t}function qW(e){e.forEach(e=>{e.type=VW})}function JW(e,t){e.forEach(e=>{e.path.isBreakStatement({label:null})&&(t?e.path.replaceWith(zW()):e.path.remove())})}function YW(e,t){let n=[];if(t.canHaveBreak){let r=[];for(let i=0;i<e.length;i++){let a=e[i],o={...t,inCaseClause:!1};o.shouldPopulateBreak=!!(a.isBlockStatement()&&(t.inCaseClause||t.shouldPopulateBreak));let s=XW(a,o);if(s.length>0&&s.every(e=>e.type===VW)){r.length>0&&s.every(e=>e.path.isBreakStatement({label:null}))?(qW(r),n.push(...r),r.some(e=>e.path.isDeclaration())&&(n.push(...s),t.shouldPreserveBreak||JW(s,!0)),t.shouldPreserveBreak||JW(s,!1)):(n.push(...s),!t.shouldPopulateBreak&&!t.shouldPreserveBreak&&JW(s,!0));break}if(i===e.length-1)n.push(...s);else{r=[];for(let e=0;e<s.length;e++){let t=s[e];t.type===VW&&n.push(t),t.type===BW&&r.push(t)}}}}else if(e.length)for(let r=e.length-1;r>=0;r--){let i=XW(e[r],t);if(i.length>1||i.length===1&&!i[0].path.isVariableDeclaration()&&!i[0].path.isEmptyStatement()){n.push(...i);break}}return n}function XW(e,t){let n=[];if(e.isIfStatement())n=GW(e.get(`consequent`),n,t),n=GW(e.get(`alternate`),n,t);else if(e.isDoExpression()||e.isFor()||e.isWhile()||e.isLabeledStatement())return GW(e.get(`body`),n,t);else if(e.isProgram()||e.isBlockStatement())return YW(e.get(`body`),t);else if(e.isFunction())return XW(e.get(`body`),t);else if(e.isTryStatement())n=GW(e.get(`block`),n,t),n=GW(e.get(`handler`),n,t);else if(e.isCatchClause())return GW(e.get(`body`),n,t);else if(e.isSwitchStatement())return KW(e.get(`cases`),n,t);else if(e.isSwitchCase())return YW(e.get(`consequent`),{canHaveBreak:!0,shouldPopulateBreak:!1,inCaseClause:!0,shouldPreserveBreak:t.shouldPreserveBreak});else e.isBreakStatement()?n.push(UW(e)):n.push(HW(e));return n}function ZW(e=!1){return XW(this,{canHaveBreak:!1,shouldPopulateBreak:!1,inCaseClause:!1,shouldPreserveBreak:e}).map(e=>e.path)}function QW(e){return xG.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:e}).setContext(this.context)}function $W(){return this.getSibling(this.key-1)}function eG(){return this.getSibling(this.key+1)}function tG(){let e=this.key,t=this.getSibling(++e),n=[];for(;t.node;)n.push(t),t=this.getSibling(++e);return n}function nG(){let e=this.key,t=this.getSibling(--e),n=[];for(;t.node;)n.push(t),t=this.getSibling(--e);return n}function rG(e,t=!0){t===!0&&(t=this.context);let n=e.split(`.`);return n.length===1?iG.call(this,e,t):aG.call(this,n,t)}function iG(e,t){let n=this.node,r=n[e];return Array.isArray(r)?r.map((i,a)=>xG.get({listKey:e,parentPath:this,parent:n,container:r,key:a}).setContext(t)):xG.get({parentPath:this,parent:n,container:n,key:e}).setContext(t)}function aG(e,t){let n=this;for(let r of e)n=r===`.`?n.parentPath:Array.isArray(n)?n[r]:n.get(r,t);return n}function oG(){return IW(this.node)}function sG(e){return LW(this.node,e)}function cG(e){return RW(this.node,e)}function lG(e=!1,t=!1){let n=[this],r=Object.create(null);for(;n.length;){let i=n.shift();if(!i||!i.node)continue;let a=LW.keys[i.node.type];if(i.isIdentifier()){e?(r[i.node.name]=r[i.node.name]||[]).push(i):r[i.node.name]=i;continue}if(i.isExportDeclaration()){let e=i.get(`declaration`);e.isDeclaration()&&n.push(e);continue}if(t){if(i.isFunctionDeclaration()){n.push(i.get(`id`));continue}if(i.isFunctionExpression())continue}if(a)for(let e=0;e<a.length;e++){let t=a[e],r=i.get(t);Array.isArray(r)?n.push(...r):r.node&&n.push(r)}}return r}function uG(e=!1){return this.getBindingIdentifierPaths(e,!0)}var{addComment:dG,addComments:fG}=O;function pG(){if(typeof this.key==`string`)return;let e=this.node;if(!e)return;let t=e.trailingComments,n=e.leadingComments;if(!t&&!n)return;let r=this.getSibling(this.key-1),i=this.getSibling(this.key+1),a=!!r.node,o=!!i.node;a&&(n&&r.addComments(`trailing`,mG(n,r.node.trailingComments)),t&&!o&&r.addComments(`trailing`,t)),o&&(t&&i.addComments(`leading`,mG(t,i.node.leadingComments)),n&&!a&&i.addComments(`leading`,n))}function mG(e,t){if(!t?.length)return e;let n=new Set(t);return e.filter(e=>!n.has(e))}function hG(e,t,n){dG(this.node,e,t,n)}function gG(e,t){fG(this.node,e,t)}var{validate:_G}=O,vG=vr(`babel`),yG=1,bG=4,xG=class e{constructor(e,t){this.parent=t,this.hub=e,this.data=null,this.context=null,this.scope=null}contexts=[];state=null;_traverseFlags=0;get removed(){return(this._traverseFlags&1)>0}set removed(e){e?this._traverseFlags|=1:this._traverseFlags&=-2}get shouldStop(){return(this._traverseFlags&2)>0}set shouldStop(e){e?this._traverseFlags|=2:this._traverseFlags&=-3}get shouldSkip(){return(this._traverseFlags&4)>0}set shouldSkip(e){e?this._traverseFlags|=4:this._traverseFlags&=-5}skipKeys=null;parentPath=null;container=null;listKey=null;key=null;node=null;type=null;_store=null;static get({hub:t,parentPath:n,parent:r,container:i,listKey:a,key:o}){if(!t&&n&&(t=n.hub),!r)throw Error(`To get a node path the parent needs to exist`);let s=i[o],c=RR(r,n),l=c.get(s);return l||(l=new e(t,r),s&&c.set(s,l)),LG.call(l,n,i,a,o),l}getScope(e){return this.isScope()?new Nz(this):e}setData(e,t){return this.data??=Object.create(null),this.data[e]=t}getData(e,t){this.data??=Object.create(null);let n=this.data[e];return n===void 0&&t!==void 0&&(n=this.data[e]=t),n}hasNode(){return this.node!=null}buildCodeFrameError(e,t=SyntaxError){return this.hub.buildError(this.node,e,t)}traverse(e,t){$(this.node,e,this.scope,t,this)}set(e,t){_G(this.node,e,t),this.node[e]=t}getPathLocation(){let e=[],t=this;do{let n=t.key;t.inList&&(n=`${t.listKey}[${n}]`),e.unshift(n)}while(t=t.parentPath);return e.join(`.`)}debug(e){vG.enabled&&vG(`${this.getPathLocation()} ${this.type}: ${e}`)}toString(){return gI(this.node).code}get inList(){return!!this.listKey}set inList(e){e||(this.listKey=null)}get parentKey(){return this.listKey||this.key}},SG={findParent:Fz,find:Iz,getFunctionParent:Lz,getStatementParent:Rz,getEarliestCommonAncestorFrom:zz,getDeepestCommonAncestorFrom:Bz,getAncestry:Vz,isAncestor:Hz,isDescendant:Uz,inType:Wz,getTypeAnnotation:xV,isBaseType:wV,couldBeBaseType:EV,baseTypeStrictlyMatches:DV,isGenericType:OV,replaceWithMultiple:LH,replaceWithSourceString:RH,replaceWith:zH,replaceExpressionWithStatements:VH,replaceInline:UH,evaluateTruthy:XH,evaluate:nU,ensureBlock:RU,unwrapFunctionEnvironment:zU,arrowFunctionToExpression:VU,splitExportDeclaration:eW,ensureFunctionName:nW,matchesPattern:mW,isStatic:hW,isNodeType:gW,canHaveVariableDeclarationOrExpression:_W,canSwapBetweenExpressionAndStatement:vW,isCompletionRecord:yW,isStatementOrBlock:bW,referencesImport:xW,getSource:SW,willIMaybeExecuteBefore:CW,_guessExecutionStatusRelativeTo:OW,resolve:MW,isConstantExpression:PW,isInStrictMode:FW,isDenylisted:wG,skip:TG,skipKey:EG,stop:DG,setContext:AG,requeue:zG,requeueComputedKeyAndDecorators:BG,remove:AV,insertBefore:ZV,insertAfter:iH,unshiftContainer:sH,pushContainer:cH,getOpposite:WW,getCompletionRecords:ZW,getSibling:QW,getPrevSibling:$W,getNextSibling:eG,getAllNextSiblings:tG,getAllPrevSiblings:nG,get:rG,getAssignmentIdentifiers:oG,getBindingIdentifiers:sG,getOuterBindingIdentifiers:cG,getBindingIdentifierPaths:lG,getOuterBindingIdentifierPaths:uG,shareCommentsWithSiblings:pG,addComment:hG,addComments:gG};Object.assign(xG.prototype,SG);for(let e of Yu){let t=`is${e}`,n=O[t];xG.prototype[t]=function(e){return n(this.node,e)},xG.prototype[`assert${e}`]=function(t){if(!n(this.node,t))throw TypeError(`Expected node path of type ${e}`)}}Object.assign(xG.prototype,rR);for(let e of Object.keys(pL))e.startsWith(`_`)||Yu.includes(e)||Yu.push(e);function CG(e){if(!e)return!1;for(let t of e){if(!t)continue;let e=this.node;if(!e)return!0;let n=t.call(this.state,this,this.state);if(n&&typeof n==`object`&&typeof n.then==`function`)throw Error(`You appear to be using a plugin with an async traversal visitor, which your current version of Babel does not support. If you're using a published plugin, you may need to upgrade your @babel/core version.`);if(n)throw Error(`Unexpected return value from visitor method ${t}`);if(this.node!==e||this._traverseFlags>0)return!0}return!1}function wG(){return!!this.opts.denylist?.includes(this.node.type)}function TG(){this.shouldSkip=!0}function EG(e){this.skipKeys??={},this.skipKeys[e]=!0}function DG(){this._traverseFlags|=6}function OG(){let e=this.parentPath;((this.key===`key`||this.listKey===`decorators`)&&e.isMethod()||this.key===`discriminant`&&e.isSwitchStatement())&&(e=e.parentPath);let t;for(;e&&!t;)t=e.scope,e=e.parentPath;this.scope=this.getScope(t),this.scope?.init()}function kG(){if(this.opts?.noScope)return;let e=this.parentPath;((this.key===`key`||this.listKey===`decorators`)&&e.isMethod()||this.key===`discriminant`&&e.isSwitchStatement())&&(e=e.parentPath);let t;for(;e&&!t;){if(e.opts?.noScope)return;t=e.scope,e=e.parentPath}this.scope=this.getScope(t),this.scope?.init()}function AG(e){return this.skipKeys!=null&&(this.skipKeys={}),this._traverseFlags=0,e&&(this.context=e,this.state=e.state,this.opts=e.opts),kG.call(this),this}function jG(){this.removed||(MG.call(this),PG.call(this),NG.call(this))}function MG(){this.parentPath&&(this.parent=this.parentPath.node)}function NG(){if(this.container&&this.node!==this.container[this.key]){if(Array.isArray(this.container)){for(let e=0;e<this.container.length;e++)if(this.container[e]===this.node){RG.call(this,e);return}}else for(let e of Object.keys(this.container))if(this.container[e]===this.node){RG.call(this,e);return}this.key=null}}function PG(){if(!this.parent||!this.inList)return;let e=this.parent[this.listKey];this.container!==e&&(this.container=e||null)}function FG(){this.contexts.pop(),this.contexts.length>0?this.setContext(this.contexts[this.contexts.length-1]):this.setContext(void 0)}function IG(e){this.contexts.push(e),this.setContext(e)}function LG(e,t,n,r){this.listKey=n,this.container=t,this.parentPath=e||this.parentPath,RG.call(this,r)}function RG(e){this.key=e,this.node=this.container[this.key],this.type=this.node?.type??null}function zG(e=this){if(e.removed)return;e.shouldSkip=!1;let t=this.contexts;for(let n of t)n.maybeQueue(e)}function BG(){let{context:e,node:t}=this;if(!dl(t)&&t.computed&&e.maybeQueue(this.get(`key`)),t.decorators)for(let t of this.get(`decorators`))e.maybeQueue(t)}function VG(){let e=this,t=this.contexts;for(;!t.length&&(e=e.parentPath,e);)t=e.contexts;return t}var HG=class{getCode(){}getScope(){}addHelper(){throw Error(`Helpers are not supported by the default hub.`)}buildError(e,t,n=TypeError){return new n(t)}},{VISITOR_KEYS:UG,removeProperties:WG,traverseFast:GG}=O;function $(e,t={},n,r,i,a){if(e){if(!t.noScope&&!n&&e.type!==`Program`&&e.type!==`File`)throw Error(`You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a ${e.type} node without passing scope and parentPath.`);if(!i&&a)throw Error(`visitSelf can only be used when providing a NodePath.`);UG[e.type]&&(dR(t),vL(e,t,n,r,i,void 0,a))}}$.visitors=CR,$.verify=fR,$.explode=dR,$.cheap=function(e,t){GG(e,t)},$.node=function(e,t,n,r,i,a){vL(e,t,n,r,i,a)},$.clearNode=function(e,t){WG(e,t)},$.removeProperties=function(e,t){return GG(e,$.clearNode,t),e},$.hasType=function(e,t,n){return n?.includes(e.type)?!1:e.type===t||GG(e,function(e){if(n?.includes(e.type))return GG.skip;if(e.type===t)return GG.stop})},$.cache=zR;var KG=$.default??$,qG=`virtual:elur-ionic/registration`,JG=`\0virtual:elur-ionic/registration`;function YG(e,t){let n={tags:new Set,icons:new Set,dynamicTags:[],dynamicIcons:[]},r;try{r=Qn(e,{sourceType:`module`,plugins:[`typescript`,`jsx`,`importMeta`]})}catch{return n}return KG(r,{TaggedTemplateExpression(e){let{tag:r,quasi:i}=e.node;if(!yi(r)||r.name!==`html`)return;let a=i.quasis.map(e=>e.value.raw).join(`__elur_hole__`),o=/<ion-([a-z][a-z0-9-]*)/g,s;for(;(s=o.exec(a))!==null;){let e=`ion-${s[1]}`;u.isSupportedTag(e)&&n.tags.add(e)}let c=/<ion-icon[^>]*\sname=["']([a-z][a-z0-9-]+)["']/g;for(;(s=c.exec(a))!==null;)n.icons.add(s[1]);/<ion-__elur_hole__/g.test(a)&&n.dynamicTags.push(t),/<ion-icon[^>]*\sname=__elur_hole__/g.test(a)&&n.dynamicIcons.push(t)}}),n}function XG(e,t,n){let r=[`// Auto-generated by @elurjs/ionic/vite-plugin — do not edit.`,`import { initializeElurIonic, registerIonicComponents, registerIonicons } from "@elurjs/ionic";`,``],i=new Set([`ion-app`,`ion-router-outlet`,`ion-back-button`,`ion-icon`]),a=[...e].sort().filter(e=>!i.has(e)),o=[];for(let e of a){let t=u.tagToSubpath(e),n=u.tagToDefinerName(e);r.push(`import { ${n} } from "@elurjs/ionic/components/${t}";`),o.push(n)}let s=[...t].sort();if(s.length>0){let e=s.map(e=>e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())),t=[...new Set(e)];r.push(`import { ${t.join(`, `)} } from "ionicons/icons";`)}r.push(``);let c=[];if(n.icons&&c.push(`icons: "${n.icons}"`),n.iconAssetPath&&c.push(`icons: { mode: "assets", path: "${n.iconAssetPath}" }`),r.push(`initializeElurIonic({ ${c.join(`, `)} });`),o.length>0&&r.push(`registerIonicComponents(${o.join(`, `)});`),s.length>0){let e=s.map(e=>`"${e}": ${e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}`);r.push(`registerIonicons({ ${e.join(`, `)} });`)}return r.push(``),r.join(`
37
+ `)}function ZG(e={}){let{autoRegister:t=!0,allowTags:n=[],allowIcons:r=[],diagnostics:i=!0}=e,a=new Set(n),o=new Set(r),s=new Set,c=new Set,l=[],u=[],d=!1,f=new Set;return{name:`elur-ionic`,enforce:`pre`,resolveId(e){if(e===qG)return JG},load(n){if(n===JG){if(!t)return`export {}; // autoRegister disabled`;for(let e of a)s.add(e);for(let e of o)c.add(e);return f=new Set(s),d=!0,XG(s,c,e)}},transform(e,t){if(!/\.(ts|tsx|js|jsx)$/.test(t)||t.includes(`node_modules`)||t.includes(`\0`))return null;let n=YG(e,t);if(n.tags.size===0&&n.icons.size===0&&n.dynamicTags.length===0&&n.dynamicIcons.length===0)return null;for(let e of n.tags)s.add(e);for(let e of n.icons)c.add(e);if(i){let e=[...n.tags].filter(e=>!a.has(e));if(e.length>0){let n=t.replace(process.cwd()+`/`,``);this.warn(`[elur-ionic] Tags used in ${n} but not in allowTags: ${e.join(`, `)}. Add them to \`elurIonic({ allowTags: [...] })\` to ensure they are registered before first use.`)}let r=[...n.icons].filter(e=>!o.has(e));if(r.length>0){let e=t.replace(process.cwd()+`/`,``);this.warn(`[elur-ionic] Icons used in ${e} but not in allowIcons: ${r.join(`, `)}. Add them to \`elurIonic({ allowIcons: [...] })\` to ensure they are registered before first use.`)}}if(d&&i){let e=[...n.tags].filter(e=>!f.has(e));e.length>0&&this.warn(`[elur-ionic] New tags discovered after registration: ${e.join(`, `)}. These were NOT included in the registration module. Add them to allowTags and reload.`)}if(n.dynamicTags.length>0&&l.push(t),n.dynamicIcons.length>0&&u.push(t),i){if(l.length>0&&l.length<=3)for(let e of n.dynamicTags)this.warn(`[elur-ionic] Dynamic <ion-*> tag detected in ${e}. Add the tag to \`elurIonic({ allowTags: [...] })\` to suppress this warning.`);if(u.length>0&&u.length<=3)for(let e of n.dynamicIcons)this.warn(`[elur-ionic] Dynamic icon name detected in ${e}. Add the icon to \`elurIonic({ allowIcons: [...] })\` to suppress this warning.`)}return null},buildStart(){i&&l.length>3&&this.warn(`[elur-ionic] Dynamic <ion-*> tags detected in ${l.length} files. Add tags to \`elurIonic({ allowTags: [...] })\` to suppress.`),i&&u.length>3&&this.warn(`[elur-ionic] Dynamic icon names detected in ${u.length} files. Add icons to \`elurIonic({ allowIcons: [...] })\` to suppress.`)}}}exports.elurIonic=ZG,exports.generateRegistrationModule=XG;
38
+ //# sourceMappingURL=vite-plugin.cjs.map