ghost 6.53.0 → 6.54.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 (639) hide show
  1. package/components/ghost-storage-base-3.0.0.tgz +0 -0
  2. package/components/tryghost-adapter-base-cache-0.2.0.tgz +0 -0
  3. package/components/tryghost-adapter-base-scheduling-0.2.0.tgz +0 -0
  4. package/components/tryghost-adapter-base-sso-0.1.1.tgz +0 -0
  5. package/components/tryghost-admin-api-schema-0.0.0.tgz +0 -0
  6. package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
  7. package/components/tryghost-i18n-0.0.0.tgz +0 -0
  8. package/components/tryghost-kg-converters-1.2.3.tgz +0 -0
  9. package/components/tryghost-kg-default-nodes-2.1.3.tgz +0 -0
  10. package/components/tryghost-kg-lexical-html-renderer-1.4.3.tgz +0 -0
  11. package/core/boot.js +9 -6
  12. package/core/built/admin/assets/Combination-CJG7Flp-.js +41 -0
  13. package/core/built/admin/assets/Growth-BTP1LthE.js +3 -0
  14. package/core/built/admin/assets/Newsletters-CSEX0myc.js +1 -0
  15. package/core/built/admin/assets/Overview-BjACEsJF.js +1 -0
  16. package/core/built/admin/assets/{PolarAngleAxis-pciQ0MOy.js → PolarAngleAxis-BGjf7sBu.js} +1 -1
  17. package/core/built/admin/assets/{RadialBarChart-DWmw2PcX.js → RadialBarChart-zeFf9mBz.js} +1 -1
  18. package/core/built/admin/assets/Web-CxxxjCcv.js +2 -0
  19. package/core/built/admin/assets/account-migration-BklF2I_I.js +1 -0
  20. package/core/built/admin/assets/activitypub/{account-migration-BPZG37DJ.js → account-migration-CNovr6W-.js} +13 -13
  21. package/core/built/admin/assets/activitypub/activitypub.js +8 -8
  22. package/core/built/admin/assets/activitypub/{avatar-ZYco0ITb.js → avatar-B3DEDB1l.js} +10 -10
  23. package/core/built/admin/assets/activitypub/{avatar-flipboard-D541lc4F.js → avatar-flipboard-Cqrg0XMx.js} +3 -3
  24. package/core/built/admin/assets/activitypub/{bluesky-sharing-NOHUtHjl.js → bluesky-sharing-Ceslb1_M.js} +38 -37
  25. package/core/built/admin/assets/activitypub/{chunk-KS7C4IRE-B-GOFDPZ.js → chunk-KS7C4IRE-D4HEcEwi.js} +716 -710
  26. package/core/built/admin/assets/activitypub/{content-formatters-bwrp4iEO.js → content-formatters-BpQARh28.js} +229 -181
  27. package/core/built/admin/assets/activitypub/{copy-C7m7ovHw.js → copy-D9UWIAan.js} +2 -2
  28. package/core/built/admin/assets/activitypub/{dist-BqkDUQxJ2.js → dist-ByFmDSNP2.js} +64 -63
  29. package/core/built/admin/assets/activitypub/{dist-B5ira32t.js → dist-DHAjBcV3.js} +5 -5
  30. package/core/built/admin/assets/activitypub/{domain-iqE4YXwD.js → domain-C1qQvJ8C.js} +33 -33
  31. package/core/built/admin/assets/activitypub/{edit-profile-B8MFYh28.js → edit-profile-BcH-jEfM.js} +46 -45
  32. package/core/built/admin/assets/activitypub/{explore-BbdKodp3.js → explore-AxwBh9dI.js} +20 -20
  33. package/core/built/admin/assets/activitypub/{feed-Cl3A5owG.js → feed-BaOlbh7a.js} +15 -15
  34. package/core/built/admin/assets/activitypub/{field-DL6WyR-c.js → field-B7mYYQpN.js} +13 -13
  35. package/core/built/admin/assets/activitypub/{hash-6G3DzwL9.js → hash-BC9Q0N4c.js} +2 -2
  36. package/core/built/admin/assets/activitypub/{inbox-YmhuBice.js → inbox-DQ4ZnC1m.js} +2 -2
  37. package/core/built/admin/assets/activitypub/inbox-vXez-5uJ.js +1221 -0
  38. package/core/built/admin/assets/activitypub/{label-DGbLjDvE.js → label-Chv5T8bw.js} +6 -6
  39. package/core/built/admin/assets/activitypub/layout-CziktJXo.js +1 -0
  40. package/core/built/admin/assets/activitypub/{moderation-qnBtk1zS.js → moderation-DtSM2i1I.js} +32 -31
  41. package/core/built/admin/assets/activitypub/{note-C7ZRoSJv.js → note-Dckp4S-2.js} +21 -21
  42. package/core/built/admin/assets/activitypub/{notifications-DiEA4b1o.js → notifications-CG5T22vg.js} +17 -17
  43. package/core/built/admin/assets/activitypub/{onboarding-_JVgEwgV.js → onboarding-BFDkzeR2.js} +2 -2
  44. package/core/built/admin/assets/activitypub/{onboarding-DG4zu3qM.js → onboarding-D6rcBdPe.js} +5 -5
  45. package/core/built/admin/assets/activitypub/{preferences-B3FtocnP.js → preferences-D_799jdl.js} +1607 -1606
  46. package/core/built/admin/assets/activitypub/{profile-D8ZJfYXB.js → profile-D2JfXBQl.js} +264 -263
  47. package/core/built/admin/assets/activitypub/{reply-C1vggenw.js → reply-CpdMeAO5.js} +2 -2
  48. package/core/built/admin/assets/activitypub/{routes-BOii-V9n.js → routes-CCHe2dQp.js} +1317 -1298
  49. package/core/built/admin/assets/activitypub/{separator-1gNokN5S.js → separator-BI1FLsYM.js} +4 -4
  50. package/core/built/admin/assets/activitypub/{settings--9Sb0nbl.js → settings-kx-9Enkz.js} +14 -14
  51. package/core/built/admin/assets/activitypub/{site-fkMmqv0V.js → site-x4_IjVJ0.js} +10 -10
  52. package/core/built/admin/assets/activitypub/{step-1-QhivSMw2.js → step-1-DIDg4aHb.js} +15 -15
  53. package/core/built/admin/assets/activitypub/{step-2-pMk9YwqD.js → step-2-BfGe8BYt.js} +7 -7
  54. package/core/built/admin/assets/activitypub/{step-3-DvmVC1fo.js → step-3-mE9spAqw.js} +12 -12
  55. package/core/built/admin/assets/activitypub/{tabs-Dc0FEEYD.js → tabs-CyPRQQ1N.js} +241 -237
  56. package/core/built/admin/assets/activitypub/{topic-filter-CuDyM5bD.js → topic-filter-DLHBZT93.js} +4 -4
  57. package/core/built/admin/assets/activitypub/use-activity-pub-queries-VzbN99u_.js +1957 -0
  58. package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-Drx1kdAK.js → use-navigate-with-base-path-CAwXTmqH.js} +165 -175
  59. package/core/built/admin/assets/activitypub/{use-reply-chain-data-BHkCHcW5.js → use-reply-chain-data-BAB6fNGt.js} +8 -8
  60. package/core/built/admin/assets/activitypub/users-BLeiOTHc.js +1464 -0
  61. package/core/built/admin/assets/activitypub/{x-BHCEe-c2.js → x-C8tAnXly.js} +2 -2
  62. package/core/built/admin/assets/{audience-adiFehTD.js → audience-X_XsZivI.js} +1 -1
  63. package/core/built/admin/assets/{automated-emails-UWM02CMr.js → automated-emails-of1MvVsv.js} +1 -1
  64. package/core/built/admin/assets/automations-B7-y3dXt.js +1 -0
  65. package/core/built/admin/assets/automations-DRFjW5fw.js +1 -0
  66. package/core/built/admin/assets/{avatar-flipboard-Lz3F9fNT.js → avatar-flipboard-C6Kj3Awu.js} +1 -1
  67. package/core/built/admin/assets/bluesky-sharing-BbbjWdzs.js +1 -0
  68. package/core/built/admin/assets/box-BWbhXh21.js +1 -0
  69. package/core/built/admin/assets/breadcrumb-B-M9Ip_2.js +1 -0
  70. package/core/built/admin/assets/card-DGoDJzrn.js +1 -0
  71. package/core/built/admin/assets/{chart-ChpW-NzQ.js → chart-BuRT2Y6p.js} +14 -14
  72. package/core/built/admin/assets/chart-helpers-xiSsW8r0.js +1 -0
  73. package/core/built/admin/assets/checkbox-EhJKHFdZ.js +1 -0
  74. package/core/built/admin/assets/{chunk.432.c2caa0b20f03e71d1a35.js → chunk.211.6f7328d63c41536451b3.js} +2025 -2819
  75. package/core/built/admin/assets/{chunk.432.c2caa0b20f03e71d1a35.js.LICENSE.txt → chunk.211.6f7328d63c41536451b3.js.LICENSE.txt} +1 -62
  76. package/core/built/admin/assets/{chunk.831.0703a12e49f51cec3f3a.js → chunk.361.3cdb584b973959e52ccc.js} +78 -85
  77. package/core/built/admin/assets/chunk.524.8365cd9280405c0f6216.js +25 -0
  78. package/core/built/admin/assets/chunk.582.61d078937e6102769f2c.js +27 -0
  79. package/core/built/admin/assets/code-editor-view-CZtJFGhR.js +1 -0
  80. package/core/built/admin/assets/comments-CvyXxOyN.js +1 -0
  81. package/core/built/admin/assets/container-BYz2Ed39.js +1 -0
  82. package/core/built/admin/assets/data-list-16rkJYYi.js +1 -0
  83. package/core/built/admin/assets/date-range-select-CTlyo8zW.js +1 -0
  84. package/core/built/admin/assets/disabled-sources-indicator-qs2GfLvl.js +1 -0
  85. package/core/built/admin/assets/{dist-DJ6c4_De.js → dist-2Tnz2Yfq.js} +1 -1
  86. package/core/built/admin/assets/{dist-CsekE4FL.js → dist-CQJY6SVY.js} +1 -1
  87. package/core/built/admin/assets/dist-CjY-f5Z1.js +1 -0
  88. package/core/built/admin/assets/dist-DGzPJ_bO.js +4 -0
  89. package/core/built/admin/assets/dist-DIC8yz5C.js +1 -0
  90. package/core/built/admin/assets/{dist-BbGrW05X.js → dist-DyViJwIy.js} +1 -1
  91. package/core/built/admin/assets/dist-Ndy-PuGN.js +1 -0
  92. package/core/built/admin/assets/dist-P_ohUlTi.js +1 -0
  93. package/core/built/admin/assets/domain-CPNXKVOV.js +1 -0
  94. package/core/built/admin/assets/dropzone-BmCXnw6J.js +5 -0
  95. package/core/built/admin/assets/edit-profile-SGrJve5M.js +1 -0
  96. package/core/built/admin/assets/editor-BOG2YPUm.js +8 -0
  97. package/core/built/admin/assets/empty-indicator-oX1u1Pkn.js +1 -0
  98. package/core/built/admin/assets/esm-CFX93H5M.js +2 -0
  99. package/core/built/admin/assets/explore-CUYLv9G9.js +1 -0
  100. package/core/built/admin/assets/feed-CPdJMttL.js +1 -0
  101. package/core/built/admin/assets/field-D0XISCK2.js +1 -0
  102. package/core/built/admin/assets/{filter-sources-v39ihhhV.js → filter-sources-Bieps75g.js} +1 -1
  103. package/core/built/admin/assets/filters-CuB-A7ma.js +1 -0
  104. package/core/built/admin/assets/filters-bXkkWro8.js +1 -0
  105. package/core/built/admin/assets/framework-provider-CmtnPXIT.js +4 -0
  106. package/core/built/admin/assets/{ghost-b57f077997b739a8ae9a70772dc016cb.js → ghost-05f9a7182ed56903dba05878a5b8422b.js} +46 -41
  107. package/core/built/admin/assets/ghost-dark-c8d0ab7f515b2010c173e23e9b32ea8a.css +1 -0
  108. package/core/built/admin/assets/gift-link-modal-su8MsRdg.js +1 -0
  109. package/core/built/admin/assets/{gift-links-CY3GwiVi.js → gift-links-nBxJjZiQ.js} +1 -1
  110. package/core/built/admin/assets/growth-Ba6S5FQX.js +1 -0
  111. package/core/built/admin/assets/hooks-BApwwBE0.js +2 -0
  112. package/core/built/admin/assets/{inbox-TEISAmth.js → inbox-Xx1CdnfO.js} +38 -38
  113. package/core/built/admin/assets/index-D8PbzuT9.css +1 -0
  114. package/core/built/admin/assets/index-ukW_0Uie.js +67 -0
  115. package/core/built/admin/assets/inline-EMAm3okk.js +1 -0
  116. package/core/built/admin/assets/input-group-CGOXcy4l.js +1 -0
  117. package/core/built/admin/assets/input-surface-BpAjZXY5.js +1 -0
  118. package/core/built/admin/assets/{react-dom-C6aoWSfl.js → jsx-runtime-DX3WBWVO.js} +1 -1
  119. package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +5 -2
  120. package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +2 -2
  121. package/core/built/admin/assets/{koenig-lexical-Di7b48ED.js → koenig-lexical-B61IALf5.js} +2 -2
  122. package/core/built/admin/assets/kpi-card-BlZaG1Lo.js +1 -0
  123. package/core/built/admin/assets/kpi-card-DCdlyaSS.js +1 -0
  124. package/core/built/admin/assets/kpi-helpers-DpAuS1Nb.js +1 -0
  125. package/core/built/admin/assets/kpi-tabs-Dme44bQS.js +1 -0
  126. package/core/built/admin/assets/label-dSs5aepE.js +1 -0
  127. package/core/built/admin/assets/label-picker-Uq91atex.js +1 -0
  128. package/core/built/admin/assets/{labels-GbxlXWtf.js → labels-Cyayfd-e.js} +1 -1
  129. package/core/built/admin/assets/layout-WUcz6tu1.js +1 -0
  130. package/core/built/admin/assets/limit-service-9fwD33lU.js +20 -0
  131. package/core/built/admin/assets/link-helpers-tOlxmuH5.js +1 -0
  132. package/core/built/admin/assets/list-page-B6ANtzkd.js +1 -0
  133. package/core/built/admin/assets/mailchimp-Ds_NQ04w.svg +9 -0
  134. package/core/built/admin/assets/member-custom-fields-NCzrMuba.js +1 -0
  135. package/core/built/admin/assets/member-detail-DPWDtYnN.js +1 -0
  136. package/core/built/admin/assets/members-B9rO7qr4.js +10 -0
  137. package/core/built/admin/assets/modals-CxRaan1J.js +31 -0
  138. package/core/built/admin/assets/moderation-D8zon60E.js +1 -0
  139. package/core/built/admin/assets/multi-select-combobox-1wYm3nle.js +1 -0
  140. package/core/built/admin/assets/newsletter-DbYMRxRS.js +1 -0
  141. package/core/built/admin/assets/{newsletters-DZm3yLj8.js → newsletters-D1jbtV-h.js} +1 -1
  142. package/core/built/admin/assets/note-PiWPnnrh.js +1 -0
  143. package/core/built/admin/assets/notifications-DEgqqB9G.js +1 -0
  144. package/core/built/admin/assets/nql-lang-B7faUf8D.js +19 -0
  145. package/core/built/admin/assets/{offers-D11QtPXX.js → offers-CrY6nSRR.js} +1 -1
  146. package/core/built/admin/assets/onboarding-route-BzF6HeVn.js +1 -0
  147. package/core/built/admin/assets/overview-DixLeIqY.js +1 -0
  148. package/core/built/admin/assets/page-header-op0eN36I.js +1 -0
  149. package/core/built/admin/assets/{pages-BnObVRrf.js → pages-BbNWFcGj.js} +1 -1
  150. package/core/built/admin/assets/pintura-CXOmq-5H.svg +15 -0
  151. package/core/built/admin/assets/post-analytics-WwRDEnrV.js +1 -0
  152. package/core/built/admin/assets/post-analytics-header-DsMoLx0R.js +1 -0
  153. package/core/built/admin/assets/{post-analytics-provider-DSfBCtnj.js → post-analytics-provider-BJCPLMIb.js} +1 -1
  154. package/core/built/admin/assets/post-share-modal-Dx-MEjhI.js +1 -0
  155. package/core/built/admin/assets/{posts-CwH8VJvB.js → posts-EWpZIjkr.js} +1 -1
  156. package/core/built/admin/assets/preferences-D7-j6A4C.js +5 -0
  157. package/core/built/admin/assets/profile-Dl69QPp0.js +1 -0
  158. package/core/built/admin/assets/{referrers-nxR52jPI.js → referrers-BCfFYSHc.js} +1 -1
  159. package/core/built/admin/assets/router-provider-C1R4AZ2o.js +1 -0
  160. package/core/built/admin/assets/select-C1qDZnW4.js +1 -0
  161. package/core/built/admin/assets/settings-BbmC_Iqq.js +4 -0
  162. package/core/built/admin/assets/settings-H6HxFgfI.js +1 -0
  163. package/core/built/admin/assets/shade-app-B3heOAfz-CGXQwWeO.js +3 -0
  164. package/core/built/admin/assets/share-modal-BJCadJyp.js +1 -0
  165. package/core/built/admin/assets/social-urls-BPL1nADp.js +8 -0
  166. package/core/built/admin/assets/sort-button-DyYlfYp7.js +1 -0
  167. package/core/built/admin/assets/source-icon-_ubRDbg_.js +1 -0
  168. package/core/built/admin/assets/stack-xiN0eQ6Z.js +1 -0
  169. package/core/built/admin/assets/stats-BQZMGMvn.js +1 -0
  170. package/core/built/admin/assets/stats-view-Doei-qCX.js +1 -0
  171. package/core/built/admin/assets/step-1-IKiLBPoC.js +1 -0
  172. package/core/built/admin/assets/step-2-jJ41PsDN.js +1 -0
  173. package/core/built/admin/assets/step-3-CaqFAEqf.js +2 -0
  174. package/core/built/admin/assets/switch-t-WyENU2.js +1 -0
  175. package/core/built/admin/assets/table-DxUL78jU.js +1 -0
  176. package/core/built/admin/assets/tabs-BQcJQ1ke.js +1 -0
  177. package/core/built/admin/assets/tags-CNujGwkT.js +1 -0
  178. package/core/built/admin/assets/text-DwtjwGkh.js +1 -0
  179. package/core/built/admin/assets/textarea-Bjccvh_E.js +1 -0
  180. package/core/built/admin/assets/{tiers-EghDzCKc.js → tiers-BgYLWRJv.js} +1 -1
  181. package/core/built/admin/assets/toggle-group-BeEpQ69p.js +1 -0
  182. package/core/built/admin/assets/topic-filter-Bb5MOD-1.js +1 -0
  183. package/core/built/admin/assets/{use-analytics-data-0l_OHtnR.js → use-analytics-data-Cds6XDjg.js} +1 -1
  184. package/core/built/admin/assets/use-filter-params-DjXkhO54.js +1 -0
  185. package/core/built/admin/assets/use-growth-stats-D8uf98-G.js +1 -0
  186. package/core/built/admin/assets/{use-post-referrers-DwI31Ril.js → use-post-referrers-CRtgyuXB.js} +1 -1
  187. package/core/built/admin/assets/use-reply-chain-data-DbKYX50v.js +1 -0
  188. package/core/built/admin/assets/use-simple-pagination-DC01kpo0.js +1 -0
  189. package/core/built/admin/assets/{use-tinybird-query-DvZBBMG7.js → use-tinybird-query-C7bQRJWw.js} +1 -1
  190. package/core/built/admin/assets/{use-tinybird-token-CQtebkvU.js → use-tinybird-token-Az4tam7_.js} +1 -1
  191. package/core/built/admin/assets/{users-Pc8IRjk9.js → users-CcSCQFcQ.js} +1 -1
  192. package/core/built/admin/assets/virtual-list-Dhuh9fGx.js +1 -0
  193. package/core/built/admin/assets/web-LtHNiNBV.js +1 -0
  194. package/core/built/admin/index.html +22 -22
  195. package/core/frontend/apps/private-blogging/index.js +1 -1
  196. package/core/frontend/apps/private-blogging/lib/middleware.js +1 -1
  197. package/core/frontend/helpers/split.js +2 -1
  198. package/core/frontend/meta/asset-url.js +1 -1
  199. package/core/frontend/meta/author-image.js +1 -1
  200. package/core/frontend/meta/blog-logo.js +1 -1
  201. package/core/frontend/meta/canonical-url.js +1 -1
  202. package/core/frontend/meta/cover-image.js +1 -1
  203. package/core/frontend/meta/get-meta.js +1 -1
  204. package/core/frontend/meta/og-image.js +1 -1
  205. package/core/frontend/meta/paginated-url.js +1 -1
  206. package/core/frontend/meta/twitter-image.js +1 -1
  207. package/core/frontend/meta/url.js +1 -1
  208. package/core/frontend/services/assets-minification/admin-auth-assets.js +1 -1
  209. package/core/frontend/services/llms/handler.js +1 -1
  210. package/core/frontend/services/proxy.js +42 -3
  211. package/core/frontend/services/routing/collection-router.js +1 -1
  212. package/core/frontend/services/routing/controllers/email-post.js +1 -1
  213. package/core/frontend/services/routing/controllers/entry/markdown.js +1 -1
  214. package/core/frontend/services/routing/controllers/entry/markdown.ts +1 -1
  215. package/core/frontend/services/routing/controllers/entry.js +1 -1
  216. package/core/frontend/services/routing/controllers/entry.ts +1 -1
  217. package/core/frontend/services/routing/controllers/previews.js +6 -7
  218. package/core/frontend/services/routing/controllers/unsubscribe.js +7 -3
  219. package/core/frontend/services/routing/email-router.js +1 -1
  220. package/core/frontend/services/routing/events.js +12 -0
  221. package/core/frontend/services/routing/middleware/page-param.js +1 -1
  222. package/core/frontend/services/routing/parent-router.js +1 -1
  223. package/core/frontend/services/routing/preview-router.js +1 -1
  224. package/core/frontend/services/routing/router-manager.js +4 -8
  225. package/core/frontend/services/routing/rss-router.js +1 -1
  226. package/core/frontend/services/routing/static-pages-router.js +1 -1
  227. package/core/frontend/services/routing/static-routes-router.js +1 -1
  228. package/core/frontend/services/routing/taxonomy-router.js +1 -1
  229. package/core/frontend/services/rss/generate-feed.js +1 -1
  230. package/core/frontend/services/sitemap/base-site-map-generator.js +23 -4
  231. package/core/frontend/services/sitemap/site-map-index-generator.js +1 -1
  232. package/core/frontend/services/sitemap/site-map-manager.js +14 -8
  233. package/core/frontend/services/sitemap/utils.js +1 -1
  234. package/core/frontend/services/theme-engine/middleware/update-global-template-options.js +1 -1
  235. package/core/frontend/services/theme-engine/middleware/update-local-template-options.js +1 -1
  236. package/core/frontend/utils/images.js +1 -1
  237. package/core/frontend/web/middleware/admin-toolbar.js +1 -1
  238. package/core/frontend/web/middleware/handle-image-sizes.js +2 -2
  239. package/core/frontend/web/middleware/redirect-ghost-to-admin.js +1 -1
  240. package/core/frontend/web/routers/serve-favicon.js +1 -1
  241. package/core/frontend/web/routers/serve-public-file.js +1 -1
  242. package/core/frontend/web/site.js +5 -5
  243. package/core/server/adapters/cache/AdapterCacheMemoryTTL.js +2 -2
  244. package/core/server/adapters/cache/MemoryCache.js +2 -2
  245. package/core/server/adapters/cache/Redis.js +1 -1
  246. package/core/server/adapters/cache/index.js +1 -1
  247. package/core/server/adapters/lib/redis/AdapterCacheRedis.js +2 -2
  248. package/core/server/adapters/route-settings/FileStore.js +2 -8
  249. package/core/server/adapters/route-settings/FileStore.ts +1 -6
  250. package/core/server/adapters/route-settings/S3RouteSettingsStore.js +206 -0
  251. package/core/server/adapters/route-settings/S3RouteSettingsStore.ts +199 -0
  252. package/core/server/adapters/route-settings/utils.js +13 -0
  253. package/core/server/adapters/route-settings/utils.ts +7 -0
  254. package/core/server/adapters/scheduling/deps.d.ts +0 -2
  255. package/core/server/adapters/scheduling/error-capture.js +76 -0
  256. package/core/server/adapters/scheduling/error-capture.ts +91 -0
  257. package/core/server/adapters/scheduling/utils.js +18 -34
  258. package/core/server/adapters/scheduling/utils.ts +36 -0
  259. package/core/server/adapters/storage/LocalFilesStorage.js +13 -11
  260. package/core/server/adapters/storage/LocalFilesStorage.ts +24 -0
  261. package/core/server/adapters/storage/LocalImagesStorage.js +14 -12
  262. package/core/server/adapters/storage/LocalImagesStorage.ts +24 -0
  263. package/core/server/adapters/storage/LocalMediaStorage.js +13 -11
  264. package/core/server/adapters/storage/LocalMediaStorage.ts +24 -0
  265. package/core/server/adapters/storage/LocalStorageBase.js +107 -167
  266. package/core/server/adapters/storage/LocalStorageBase.ts +342 -0
  267. package/core/server/adapters/storage/S3Storage.js +2 -2
  268. package/core/server/adapters/storage/S3Storage.ts +1 -1
  269. package/core/server/adapters/storage/utils.js +36 -50
  270. package/core/server/adapters/storage/utils.ts +60 -0
  271. package/core/server/api/endpoints/authentication.js +1 -1
  272. package/core/server/api/endpoints/db.js +6 -0
  273. package/core/server/api/endpoints/featurebase.js +1 -1
  274. package/core/server/api/endpoints/files.js +2 -2
  275. package/core/server/api/endpoints/images.js +2 -2
  276. package/core/server/api/endpoints/libraries.d.ts +0 -1
  277. package/core/server/api/endpoints/media.js +8 -5
  278. package/core/server/api/endpoints/member-custom-fields.js +4 -1
  279. package/core/server/api/endpoints/member-custom-fields.ts +4 -1
  280. package/core/server/api/endpoints/members.js +25 -28
  281. package/core/server/api/endpoints/pages.js +6 -1
  282. package/core/server/api/endpoints/posts.js +28 -3
  283. package/core/server/api/endpoints/search-index-public.js +4 -3
  284. package/core/server/api/endpoints/search-index.js +5 -4
  285. package/core/server/api/endpoints/settings-public.js +1 -1
  286. package/core/server/api/endpoints/settings.js +3 -1
  287. package/core/server/api/endpoints/utils/serializers/input/utils/url.js +9 -1
  288. package/core/server/api/endpoints/utils/serializers/output/default.js +7 -0
  289. package/core/server/api/endpoints/utils/serializers/output/files.js +1 -1
  290. package/core/server/api/endpoints/utils/serializers/output/mappers/comments.js +4 -1
  291. package/core/server/api/endpoints/utils/serializers/output/media.js +1 -1
  292. package/core/server/api/endpoints/utils/serializers/output/member-custom-fields.js +7 -4
  293. package/core/server/api/endpoints/utils/serializers/output/member-custom-fields.ts +8 -4
  294. package/core/server/api/endpoints/utils/serializers/output/members.js +27 -106
  295. package/core/server/api/endpoints/utils/serializers/output/pages.js +7 -0
  296. package/core/server/api/endpoints/utils/serializers/output/posts.js +13 -0
  297. package/core/server/api/endpoints/utils/serializers/output/utils/url.js +1 -1
  298. package/core/server/api/endpoints/utils/validators/input/members.js +2 -52
  299. package/core/server/data/db/backup.js +1 -1
  300. package/core/server/data/exporter/export-filename.js +2 -1
  301. package/core/server/data/importer/handlers/image.js +3 -3
  302. package/core/server/data/importer/import-manager.js +6 -4
  303. package/core/server/data/importer/importers/content-file-importer.js +2 -2
  304. package/core/server/data/importer/importers/data/revue-subscriber-importer.js +6 -10
  305. package/core/server/data/importer/importers/json-to-html.js +24 -4
  306. package/core/server/data/migrations/utils/schema.js +4 -2
  307. package/core/server/data/migrations/versions/6.54/2026-07-19-16-59-00-add-content-import-permission.js +10 -0
  308. package/core/server/data/migrations/versions/6.54/2026-07-20-13-59-21-drop-email-tracked-sent-count-from-automation-action-revisions.js +7 -0
  309. package/core/server/data/migrations/versions/6.54/2026-07-21-01-58-20-add-automation-run-steps-poller-index.js +3 -0
  310. package/core/server/data/migrations/versions/6.54/2026-07-21-21-08-15-add-automated-email-recipients-mailgun-message-id-index.js +3 -0
  311. package/core/server/data/migrations/versions/6.54/2026-07-22-10-41-08-add-click-tracking-to-automated-email-recipients.js +13 -0
  312. package/core/server/data/migrations/versions/6.54/2026-07-22-15-10-30-add-email-clicked-count-to-automation-action-revisions.js +7 -0
  313. package/core/server/data/migrations/versions/6.54/2026-07-23-10-24-18-add-automation-action-revision-to-redirects.js +9 -0
  314. package/core/server/data/schema/commands.js +37 -3
  315. package/core/server/data/schema/fixtures/fixtures.json +7 -0
  316. package/core/server/data/schema/lib/default-index-name.js +20 -0
  317. package/core/server/data/schema/schema.js +40 -17
  318. package/core/server/data/seeders/data-generator.js +4 -2
  319. package/core/server/lib/image/image-size.js +7 -23
  320. package/core/server/lib/image/image-utils.js +16 -2
  321. package/core/server/lib/image/index.js +4 -4
  322. package/core/server/lib/lexical.js +3 -3
  323. package/core/server/lib/mobiledoc.js +2 -2
  324. package/core/server/lib/request-external.js +1 -1
  325. package/core/server/lib/validate-password.js +1 -1
  326. package/core/server/models/action.js +9 -0
  327. package/core/server/models/base/plugins/generate-slug.js +1 -1
  328. package/core/server/models/collection.js +1 -1
  329. package/core/server/models/custom-theme-setting.js +1 -1
  330. package/core/server/models/member.js +73 -0
  331. package/core/server/models/newsletter.js +1 -1
  332. package/core/server/models/post.js +19 -5
  333. package/core/server/models/posts-meta.js +1 -1
  334. package/core/server/models/redirect.js +1 -1
  335. package/core/server/models/settings.js +1 -1
  336. package/core/server/models/snippet.js +1 -1
  337. package/core/server/models/tag.js +1 -1
  338. package/core/server/models/user.js +47 -71
  339. package/core/server/models/welcome-email-automated-email.js +1 -1
  340. package/core/server/services/activitypub/activity-pub-service-wrapper.js +1 -1
  341. package/core/server/services/adapter-manager/adapter-manager.js +5 -1
  342. package/core/server/services/adapter-manager/adapter-manager.ts +7 -2
  343. package/core/server/services/adapter-manager/index.js +18 -15
  344. package/core/server/services/adapter-manager/index.ts +23 -17
  345. package/core/server/services/adapter-manager/utils.js +124 -14
  346. package/core/server/services/adapter-manager/utils.ts +130 -14
  347. package/core/server/services/api-version-compatibility/mw-version-rewrites.js +1 -1
  348. package/core/server/services/audience-feedback/index.js +1 -1
  349. package/core/server/services/auth/passwordreset.js +1 -1
  350. package/core/server/services/auth/session/express-session.js +1 -1
  351. package/core/server/services/auth/session/index.js +2 -2
  352. package/core/server/services/auth/session/session-service.js +29 -2
  353. package/core/server/services/automations/automations-api.js +8 -25
  354. package/core/server/services/automations/automations-api.ts +8 -37
  355. package/core/server/services/automations/automations-repository.ts +16 -0
  356. package/core/server/services/automations/database-automations-repository.js +37 -4
  357. package/core/server/services/automations/database-automations-repository.ts +41 -4
  358. package/core/server/services/automations/poll.js +16 -12
  359. package/core/server/services/automations/poll.ts +17 -15
  360. package/core/server/services/automations/service.js +1 -1
  361. package/core/server/services/automations/service.ts +3 -13
  362. package/core/server/services/automations/welcome-email-automation-poll.js +2 -1
  363. package/core/server/services/comments/comments-service-emails.js +4 -1
  364. package/core/server/services/comments/index.js +1 -1
  365. package/core/server/services/custom-redirects/index.js +2 -2
  366. package/core/server/services/email-analytics/email-analytics-service-wrapper.js +14 -13
  367. package/core/server/services/email-analytics/email-analytics-service.js +1 -1
  368. package/core/server/services/email-analytics/events/start-email-analytics-job-event.js +11 -15
  369. package/core/server/services/email-analytics/events/start-email-analytics-job-event.ts +15 -0
  370. package/core/server/services/email-analytics/index.js +2 -3
  371. package/core/server/services/email-analytics/index.ts +1 -2
  372. package/core/server/services/email-analytics/jobs/email-analytics-job-scheduler.js +1 -6
  373. package/core/server/services/email-analytics/jobs/email-analytics-job-scheduler.ts +0 -9
  374. package/core/server/services/email-analytics/jobs/fetch-latest/index.js +1 -1
  375. package/core/server/services/email-analytics/jobs/index.js +0 -2
  376. package/core/server/services/email-service/email-service-wrapper.js +1 -1
  377. package/core/server/services/email-service/email-service.js +20 -4
  378. package/core/server/services/explore-ping/explore-ping-service.js +24 -39
  379. package/core/server/services/explore-ping/explore-ping-service.ts +198 -0
  380. package/core/server/services/explore-ping/index.js +11 -11
  381. package/core/server/services/explore-ping/index.ts +42 -0
  382. package/core/server/services/gifts/gift-reminder-scheduler.js +1 -1
  383. package/core/server/services/gifts/gift-reminder-scheduler.ts +1 -1
  384. package/core/server/services/gifts/gift-service-wrapper.js +1 -1
  385. package/core/server/services/identity-tokens/identity-token-service-wrapper.js +1 -1
  386. package/core/server/services/indexnow-ping/constants.js +30 -0
  387. package/core/server/services/indexnow-ping/constants.ts +32 -0
  388. package/core/server/services/indexnow-ping/index.js +29 -253
  389. package/core/server/services/indexnow-ping/index.ts +37 -0
  390. package/core/server/services/indexnow-ping/indexnow-ping-service.js +229 -0
  391. package/core/server/services/indexnow-ping/indexnow-ping-service.ts +319 -0
  392. package/core/server/services/invites/index.js +1 -1
  393. package/core/server/services/lib/mailgun-client.js +3 -3
  394. package/core/server/services/link-redirection/index.js +2 -2
  395. package/core/server/services/link-redirection/link-redirect-repository.js +1 -1
  396. package/core/server/services/link-redirection/link-redirect.js +12 -13
  397. package/core/server/services/link-redirection/link-redirect.ts +22 -0
  398. package/core/server/services/link-redirection/link-redirects-service.js +1 -1
  399. package/core/server/services/link-tracking/full-post-link.js +2 -2
  400. package/core/server/services/link-tracking/index.js +1 -1
  401. package/core/server/services/mail/ghost-mailer.js +1 -1
  402. package/core/server/services/mail/index.js +1 -1
  403. package/core/server/services/media-inliner/external-media-inliner.js +2 -2
  404. package/core/server/services/media-inliner/service.js +4 -3
  405. package/core/server/services/member-attribution/index.js +1 -1
  406. package/core/server/services/member-welcome-emails/service.js +1 -1
  407. package/core/server/services/members/api.js +8 -2
  408. package/core/server/services/members/import-export/config.js +30 -0
  409. package/core/server/services/members/import-export/config.ts +34 -0
  410. package/core/server/services/members/import-export/csv/index.js +10 -0
  411. package/core/server/services/members/import-export/csv/index.ts +2 -0
  412. package/core/server/services/members/import-export/csv/parse.js +64 -0
  413. package/core/server/services/members/import-export/csv/parse.ts +69 -0
  414. package/core/server/services/members/import-export/csv/serialize.js +13 -0
  415. package/core/server/services/members/import-export/csv/serialize.ts +18 -0
  416. package/core/server/services/members/import-export/export/exporter.js +202 -0
  417. package/core/server/services/members/import-export/export/exporter.ts +325 -0
  418. package/core/server/services/members/import-export/import/completion-email.js +65 -0
  419. package/core/server/services/members/import-export/import/completion-email.ts +119 -0
  420. package/core/server/services/members/import-export/import/importer.js +276 -0
  421. package/core/server/services/members/import-export/import/importer.ts +430 -0
  422. package/core/server/services/members/import-export/import/reader.js +32 -0
  423. package/core/server/services/members/import-export/import/reader.ts +33 -0
  424. package/core/server/services/members/import-export/import/row.js +33 -0
  425. package/core/server/services/members/import-export/import/row.ts +52 -0
  426. package/core/server/services/members/import-export/import/spool.js +30 -0
  427. package/core/server/services/members/import-export/import/spool.ts +38 -0
  428. package/core/server/services/members/import-export/index.js +90 -0
  429. package/core/server/services/members/import-export/index.ts +118 -0
  430. package/core/server/services/members/members-api/controllers/router-controller.js +7 -0
  431. package/core/server/services/members/members-api/members-api.js +4 -2
  432. package/core/server/services/members/members-api/repositories/event-repository.js +13 -2
  433. package/core/server/services/members/members-api/services/member-bread-service.js +42 -19
  434. package/core/server/services/members/middleware.js +1 -1
  435. package/core/server/services/members/service.js +28 -17
  436. package/core/server/services/members/stripe-connect.js +1 -1
  437. package/core/server/services/members-custom-fields/actions.js +3 -0
  438. package/core/server/services/members-custom-fields/actions.ts +6 -2
  439. package/core/server/services/members-custom-fields/config.js +34 -0
  440. package/core/server/services/members-custom-fields/config.ts +38 -0
  441. package/core/server/services/members-custom-fields/definitions-service.js +156 -21
  442. package/core/server/services/members-custom-fields/definitions-service.ts +170 -25
  443. package/core/server/services/members-custom-fields/index.js +16 -3
  444. package/core/server/services/members-custom-fields/index.ts +17 -3
  445. package/core/server/services/members-custom-fields/values-service.js +56 -10
  446. package/core/server/services/members-custom-fields/values-service.ts +62 -10
  447. package/core/server/services/mentions/mention-sending-service.js +22 -2
  448. package/core/server/services/mentions/service.js +21 -5
  449. package/core/server/services/newsletters/index.js +1 -1
  450. package/core/server/services/oembed/oembed-service.js +122 -33
  451. package/core/server/services/oembed/service.js +4 -2
  452. package/core/server/services/offers/service.js +1 -1
  453. package/core/server/services/post-scheduling/index.js +4 -3
  454. package/core/server/services/post-scheduling/index.ts +4 -3
  455. package/core/server/services/post-scheduling/post-scheduling.js +1 -1
  456. package/core/server/services/post-scheduling/post-scheduling.ts +1 -1
  457. package/core/server/services/posts/post-email-handler.js +13 -6
  458. package/core/server/services/posts/post-scheduling.js +1 -1
  459. package/core/server/services/posts/posts-exporter.js +6 -4
  460. package/core/server/services/posts/posts-service-instance.js +1 -1
  461. package/core/server/services/posts/posts-service.js +4 -4
  462. package/core/server/services/posts-public/service.js +1 -1
  463. package/core/server/services/public-config/site.js +1 -1
  464. package/core/server/services/recommendations/recommendation-service-wrapper.js +1 -1
  465. package/core/server/services/recommendations/service/libraries.d.ts +0 -2
  466. package/core/server/services/route-settings/dynamic-routing-service.js +2 -3
  467. package/core/server/services/route-settings/index.js +1 -1
  468. package/core/server/services/route-settings/route-settings-parser.js +134 -124
  469. package/core/server/services/route-settings/route-settings-parser.ts +160 -125
  470. package/core/server/services/route-settings/validation-errors.js +178 -0
  471. package/core/server/services/route-settings/validation-errors.ts +196 -0
  472. package/core/server/services/settings/settings-service.js +2 -2
  473. package/core/server/services/settings-helpers/index.js +1 -1
  474. package/core/server/services/slack-notifications/service.js +1 -1
  475. package/core/server/services/slack-ping/constants.js +16 -0
  476. package/core/server/services/slack-ping/constants.ts +15 -0
  477. package/core/server/services/slack-ping/index.js +26 -204
  478. package/core/server/services/slack-ping/index.ts +35 -0
  479. package/core/server/services/slack-ping/slack-ping-service.js +214 -0
  480. package/core/server/services/slack-ping/slack-ping-service.ts +296 -0
  481. package/core/server/services/staff/index.js +1 -1
  482. package/core/server/services/stats/posts-stats-service.js +1 -1
  483. package/core/server/services/stats/service.js +1 -1
  484. package/core/server/services/stripe/service.js +1 -1
  485. package/core/server/services/tags-public/service.js +1 -1
  486. package/core/server/services/themes/storage.js +9 -0
  487. package/core/server/services/themes/theme-storage.js +1 -1
  488. package/core/server/services/themes/validate.js +1 -1
  489. package/core/server/services/update-check/index.js +1 -1
  490. package/core/server/services/url/lazy-url-service.js +66 -6
  491. package/core/server/services/url/lazy-url-service.ts +73 -6
  492. package/core/server/services/url/url-generator.js +1 -1
  493. package/core/server/services/url/url-service-facade.js +68 -3
  494. package/core/server/services/url/url-service-facade.ts +79 -4
  495. package/core/server/services/url/url-service.js +1 -1
  496. package/core/server/services/url/urls.js +1 -1
  497. package/core/server/services/webhooks/index.js +19 -2
  498. package/core/server/services/webhooks/listen.js +6 -11
  499. package/core/server/services/webhooks/payload.js +1 -3
  500. package/core/server/services/webhooks/serialize.js +16 -1
  501. package/core/server/web/admin/app.js +1 -1
  502. package/core/server/web/admin/middleware/redirect-admin-urls.js +1 -1
  503. package/core/server/web/api/endpoints/admin/routes.js +1 -0
  504. package/core/server/web/api/middleware/cors.js +1 -1
  505. package/core/server/web/api/middleware/upload.js +4 -0
  506. package/core/server/web/gift-preview/controller.js +1 -1
  507. package/core/server/web/shared/middleware/redirect-amp-urls.js +1 -1
  508. package/core/server/web/shared/middleware/uncapitalise.js +2 -2
  509. package/core/server/web/shared/middleware/url-redirects.js +1 -1
  510. package/core/shared/config/defaults.json +10 -2
  511. package/core/shared/config/overrides.json +4 -0
  512. package/core/shared/express.js +6 -1
  513. package/core/shared/labs.js +2 -1
  514. package/core/shared/url-utils.js +19 -15
  515. package/core/shared/url-utils.ts +20 -0
  516. package/ghost.js +0 -1
  517. package/package.json +30 -35
  518. package/pnpm-lock.yaml +681 -2789
  519. package/pnpm-workspace.yaml +31 -17
  520. package/components/tryghost-adapter-base-scheduling-0.0.0.tgz +0 -0
  521. package/components/tryghost-adapter-base-sso-0.0.0.tgz +0 -0
  522. package/core/built/admin/assets/Combination--5EZGaDs.js +0 -43
  523. package/core/built/admin/assets/Growth-C0NoKcHQ.js +0 -3
  524. package/core/built/admin/assets/Newsletters-Ed8kDjdy.js +0 -1
  525. package/core/built/admin/assets/Overview-CArPgRZt.js +0 -1
  526. package/core/built/admin/assets/Web-CjjYoVM3.js +0 -2
  527. package/core/built/admin/assets/account-migration-mfa5mNI9.js +0 -1
  528. package/core/built/admin/assets/activitypub/inbox-B3rjKMTv.js +0 -1221
  529. package/core/built/admin/assets/activitypub/layout-jcurg3rU.js +0 -1
  530. package/core/built/admin/assets/activitypub/use-activity-pub-queries-yqGRcnLn.js +0 -2569
  531. package/core/built/admin/assets/activitypub/users-CfyHIsTG.js +0 -1316
  532. package/core/built/admin/assets/automations-DkUnxNdv.js +0 -1
  533. package/core/built/admin/assets/automations-vjXofmV_.js +0 -1
  534. package/core/built/admin/assets/bluesky-sharing-T-pO3RcP.js +0 -1
  535. package/core/built/admin/assets/breadcrumb-CekPYTCn.js +0 -1
  536. package/core/built/admin/assets/button--i2uMDDn.js +0 -4
  537. package/core/built/admin/assets/card-CSWz_BXq.js +0 -1
  538. package/core/built/admin/assets/chart-helpers-C_4Ka_vT.js +0 -1
  539. package/core/built/admin/assets/chunk.524.8ce2c741473e2f0929dc.js +0 -25
  540. package/core/built/admin/assets/chunk.582.453459d6228d2955408b.js +0 -27
  541. package/core/built/admin/assets/code-editor-view-BfkwQto2.js +0 -1
  542. package/core/built/admin/assets/command-K75Jzs0G.js +0 -1
  543. package/core/built/admin/assets/comments-BEIi1DH-.js +0 -1
  544. package/core/built/admin/assets/container-BNXvlcjA.js +0 -1
  545. package/core/built/admin/assets/data-list-BmK5QMab.js +0 -1
  546. package/core/built/admin/assets/date-range-select-5sKzwbt7.js +0 -1
  547. package/core/built/admin/assets/disabled-sources-indicator-L_ssJTNr.js +0 -1
  548. package/core/built/admin/assets/dist-BBIJuyPg.js +0 -1
  549. package/core/built/admin/assets/dist-BHE0dp6o.js +0 -1
  550. package/core/built/admin/assets/dist-CT46_f_J.js +0 -1
  551. package/core/built/admin/assets/dist-DW0QXQO3.js +0 -1
  552. package/core/built/admin/assets/dist-DxFLceO5.js +0 -1
  553. package/core/built/admin/assets/dist-QcACAOAD.js +0 -1
  554. package/core/built/admin/assets/dist-duxRDcQu.js +0 -177
  555. package/core/built/admin/assets/domain-CLaPZ9Rc.js +0 -1
  556. package/core/built/admin/assets/dropzone-E0bSX4_a.js +0 -5
  557. package/core/built/admin/assets/edit-profile-DqNPKaA4.js +0 -1
  558. package/core/built/admin/assets/editor-CkLXQDRp.js +0 -8
  559. package/core/built/admin/assets/empty-indicator-BTtOlgIo.js +0 -1
  560. package/core/built/admin/assets/esm-TSfGW7nz.js +0 -2
  561. package/core/built/admin/assets/explore-BEstLxKr.js +0 -1
  562. package/core/built/admin/assets/feed-C58p2voG.js +0 -1
  563. package/core/built/admin/assets/field-BSbDUHPv.js +0 -1
  564. package/core/built/admin/assets/filters-BgYv8Gt7.js +0 -1
  565. package/core/built/admin/assets/filters-DvenFkmK.js +0 -1
  566. package/core/built/admin/assets/framework-provider-jQktxm9P.js +0 -4
  567. package/core/built/admin/assets/ghost-dark-8590dea6cd695ff90f27d262c4464538.css +0 -1
  568. package/core/built/admin/assets/gift-link-modal-BPjXkEFt.js +0 -1
  569. package/core/built/admin/assets/growth-D4JNiVTe.js +0 -1
  570. package/core/built/admin/assets/hooks-Cjxexi_I.js +0 -2
  571. package/core/built/admin/assets/index-BacwlcOy.js +0 -67
  572. package/core/built/admin/assets/index-DxRNHH0o.css +0 -1
  573. package/core/built/admin/assets/inline-C22rnPro.js +0 -1
  574. package/core/built/admin/assets/input-group-CKfrILLP.js +0 -1
  575. package/core/built/admin/assets/jsx-runtime-CtMZ-PAS.js +0 -1
  576. package/core/built/admin/assets/kpi-card-DZxQKAIb.js +0 -1
  577. package/core/built/admin/assets/kpi-card-FidQ5zg3.js +0 -1
  578. package/core/built/admin/assets/kpi-helpers-C5T8Vaf1.js +0 -1
  579. package/core/built/admin/assets/kpi-tabs-_VRK6hGV.js +0 -1
  580. package/core/built/admin/assets/label-Cza7hPgn.js +0 -1
  581. package/core/built/admin/assets/label-picker-DgC_zLaw.js +0 -1
  582. package/core/built/admin/assets/layout-BxsXnKFX.js +0 -1
  583. package/core/built/admin/assets/limit-service-CTurluJQ.js +0 -20
  584. package/core/built/admin/assets/link-helpers-C3Gqy2cz.js +0 -1
  585. package/core/built/admin/assets/list-page-BtqCnow_.js +0 -1
  586. package/core/built/admin/assets/member-custom-fields-9uXFBqSt.js +0 -1
  587. package/core/built/admin/assets/member-detail-Dq6ZDIxo.js +0 -1
  588. package/core/built/admin/assets/members-CUWD9jal.js +0 -10
  589. package/core/built/admin/assets/modals-CIdwHVga.js +0 -31
  590. package/core/built/admin/assets/moderation-DTt04UDA.js +0 -1
  591. package/core/built/admin/assets/newsletter-cC8vcc9h.js +0 -1
  592. package/core/built/admin/assets/note-DZU0IY9e.js +0 -1
  593. package/core/built/admin/assets/notifications-NoHpBHJ4.js +0 -1
  594. package/core/built/admin/assets/nql-lang-CvCSOQG3.js +0 -19
  595. package/core/built/admin/assets/onboarding-route-Deg2hNm8.js +0 -1
  596. package/core/built/admin/assets/overview-BQPt_9w3.js +0 -1
  597. package/core/built/admin/assets/page-header-D6bEqPo2.js +0 -1
  598. package/core/built/admin/assets/post-analytics-header-BPw_B2_D.js +0 -1
  599. package/core/built/admin/assets/post-analytics-kp2_--XO.js +0 -1
  600. package/core/built/admin/assets/post-share-modal-Cave3Z4W.js +0 -1
  601. package/core/built/admin/assets/preferences-C7h3j_uy.js +0 -5
  602. package/core/built/admin/assets/profile-B2x4q2oB.js +0 -1
  603. package/core/built/admin/assets/router-provider-5fsX1CYn.js +0 -1
  604. package/core/built/admin/assets/select-PhPjIBBT.js +0 -1
  605. package/core/built/admin/assets/settings-D5P9Gwgo.js +0 -6
  606. package/core/built/admin/assets/settings-zUOzQV5I.js +0 -1
  607. package/core/built/admin/assets/share-modal-EfpfbuWF.js +0 -1
  608. package/core/built/admin/assets/social-urls-DgAF08Xc.js +0 -18
  609. package/core/built/admin/assets/sort-button-WOQYJm2H.js +0 -1
  610. package/core/built/admin/assets/source-icon-hm8Cj-Gx.js +0 -1
  611. package/core/built/admin/assets/stats-CnQDb62m.js +0 -1
  612. package/core/built/admin/assets/stats-view-CCfTJgSe.js +0 -1
  613. package/core/built/admin/assets/step-1-BGlhY4DS.js +0 -1
  614. package/core/built/admin/assets/step-2-D3sDEyFH.js +0 -1
  615. package/core/built/admin/assets/step-3-CvZoUdsc.js +0 -2
  616. package/core/built/admin/assets/switch-CNjkOmwz.js +0 -1
  617. package/core/built/admin/assets/table-C5nZYPnW.js +0 -1
  618. package/core/built/admin/assets/tabs-dtOcExye.js +0 -1
  619. package/core/built/admin/assets/tags-Dhm0FB_g.js +0 -1
  620. package/core/built/admin/assets/textarea-CeKw3wmV.js +0 -1
  621. package/core/built/admin/assets/toggle-group-DfhZIMTW.js +0 -1
  622. package/core/built/admin/assets/topic-filter-Cxe1Il41.js +0 -1
  623. package/core/built/admin/assets/typeof-Ca-duI-z.js +0 -1
  624. package/core/built/admin/assets/use-filter-params-Bub6BqNy.js +0 -1
  625. package/core/built/admin/assets/use-growth-stats-BJORomv0.js +0 -1
  626. package/core/built/admin/assets/use-reply-chain-data-B89YjVoo.js +0 -1
  627. package/core/built/admin/assets/use-simple-pagination-BL2SYXKi.js +0 -1
  628. package/core/built/admin/assets/virtual-list-DNJOSK9I.js +0 -1
  629. package/core/built/admin/assets/web-BHUE3YQc.js +0 -1
  630. package/core/server/adapters/scheduling/scheduling-base.js +0 -5
  631. package/core/server/adapters/sso/SSOBase.js +0 -5
  632. package/core/server/adapters/storage/index.js +0 -17
  633. package/core/server/services/mail/templates/newsletter.html +0 -876
  634. package/core/server/services/members/exporter/query.js +0 -206
  635. package/core/server/services/members/importer/index.js +0 -30
  636. package/core/server/services/members/importer/labels.js +0 -125
  637. package/core/server/services/members/importer/members-csv-importer.js +0 -502
  638. /package/core/server/services/members/{importer → import-export/import}/email-template.js +0 -0
  639. /package/core/server/services/members/{importer/members-csv-importer-stripe-utils.js → import-export/import/stripe-utils.js} +0 -0
@@ -0,0 +1,20 @@
1
+ import{a as e,n as t,r as n,t as r}from"./rolldown-runtime-DAXXjFlN.js";import{A as i,C as a,_ as o,a as s,c,i as l,j as u,m as d,n as f,r as p,s as m,t as h,v as g}from"./_baseAssignValue-C_vooEQc.js";var _=r(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}t.exports=n})),v=r(((e,t)=>{var n=h(),r=a(),i=Object.prototype.hasOwnProperty;function o(e,t,a){var o=e[t];(!(i.call(e,t)&&r(o,a))||a===void 0&&!(t in e))&&n(e,t,a)}t.exports=o})),y=r(((e,t)=>{var n=v(),r=h();function i(e,t,i,a){var o=!i;i||={};for(var s=-1,c=t.length;++s<c;){var l=t[s],u=a?a(i[l],e[l],l,i,e):void 0;u===void 0&&(u=e[l]),o?r(i,l,u):n(i,l,u)}return i}t.exports=i})),ee=r(((e,t)=>{var n=o(),r=d();function i(e){return r(n(e).toLowerCase())}t.exports=i})),te=r(((e,t)=>{function n(e,t,n,r){var i=-1,a=e==null?0:e.length;for(r&&a&&(n=e[++i]);++i<a;)n=t(n,e[i],i,e);return n}t.exports=n})),b=r(((e,t)=>{function n(e){return function(t){return e?.[t]}}t.exports=n})),x=r(((e,t)=>{t.exports=b()({À:`A`,Á:`A`,Â:`A`,Ã:`A`,Ä:`A`,Å:`A`,à:`a`,á:`a`,â:`a`,ã:`a`,ä:`a`,å:`a`,Ç:`C`,ç:`c`,Ð:`D`,ð:`d`,È:`E`,É:`E`,Ê:`E`,Ë:`E`,è:`e`,é:`e`,ê:`e`,ë:`e`,Ì:`I`,Í:`I`,Î:`I`,Ï:`I`,ì:`i`,í:`i`,î:`i`,ï:`i`,Ñ:`N`,ñ:`n`,Ò:`O`,Ó:`O`,Ô:`O`,Õ:`O`,Ö:`O`,Ø:`O`,ò:`o`,ó:`o`,ô:`o`,õ:`o`,ö:`o`,ø:`o`,Ù:`U`,Ú:`U`,Û:`U`,Ü:`U`,ù:`u`,ú:`u`,û:`u`,ü:`u`,Ý:`Y`,ý:`y`,ÿ:`y`,Æ:`Ae`,æ:`ae`,Þ:`Th`,þ:`th`,ß:`ss`,Ā:`A`,Ă:`A`,Ą:`A`,ā:`a`,ă:`a`,ą:`a`,Ć:`C`,Ĉ:`C`,Ċ:`C`,Č:`C`,ć:`c`,ĉ:`c`,ċ:`c`,č:`c`,Ď:`D`,Đ:`D`,ď:`d`,đ:`d`,Ē:`E`,Ĕ:`E`,Ė:`E`,Ę:`E`,Ě:`E`,ē:`e`,ĕ:`e`,ė:`e`,ę:`e`,ě:`e`,Ĝ:`G`,Ğ:`G`,Ġ:`G`,Ģ:`G`,ĝ:`g`,ğ:`g`,ġ:`g`,ģ:`g`,Ĥ:`H`,Ħ:`H`,ĥ:`h`,ħ:`h`,Ĩ:`I`,Ī:`I`,Ĭ:`I`,Į:`I`,İ:`I`,ĩ:`i`,ī:`i`,ĭ:`i`,į:`i`,ı:`i`,Ĵ:`J`,ĵ:`j`,Ķ:`K`,ķ:`k`,ĸ:`k`,Ĺ:`L`,Ļ:`L`,Ľ:`L`,Ŀ:`L`,Ł:`L`,ĺ:`l`,ļ:`l`,ľ:`l`,ŀ:`l`,ł:`l`,Ń:`N`,Ņ:`N`,Ň:`N`,Ŋ:`N`,ń:`n`,ņ:`n`,ň:`n`,ŋ:`n`,Ō:`O`,Ŏ:`O`,Ő:`O`,ō:`o`,ŏ:`o`,ő:`o`,Ŕ:`R`,Ŗ:`R`,Ř:`R`,ŕ:`r`,ŗ:`r`,ř:`r`,Ś:`S`,Ŝ:`S`,Ş:`S`,Š:`S`,ś:`s`,ŝ:`s`,ş:`s`,š:`s`,Ţ:`T`,Ť:`T`,Ŧ:`T`,ţ:`t`,ť:`t`,ŧ:`t`,Ũ:`U`,Ū:`U`,Ŭ:`U`,Ů:`U`,Ű:`U`,Ų:`U`,ũ:`u`,ū:`u`,ŭ:`u`,ů:`u`,ű:`u`,ų:`u`,Ŵ:`W`,ŵ:`w`,Ŷ:`Y`,ŷ:`y`,Ÿ:`Y`,Ź:`Z`,Ż:`Z`,Ž:`Z`,ź:`z`,ż:`z`,ž:`z`,IJ:`IJ`,ij:`ij`,Œ:`Oe`,œ:`oe`,ʼn:`'n`,ſ:`s`})})),S=r(((e,t)=>{var n=x(),r=o(),i=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,a=RegExp(`[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]`,`g`);function s(e){return e=r(e),e&&e.replace(i,n).replace(a,``)}t.exports=s})),C=r(((e,t)=>{var n=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function r(e){return e.match(n)||[]}t.exports=r})),ne=r(((e,t)=>{var n=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function r(e){return n.test(e)}t.exports=r})),re=r(((e,t)=>{var n=`\\ud800-\\udfff`,r=`\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff`,i=`\\u2700-\\u27bf`,a=`a-z\\xdf-\\xf6\\xf8-\\xff`,o=`\\xac\\xb1\\xd7\\xf7`,s=`\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf`,c=`\\u2000-\\u206f`,l=` \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000`,u=`A-Z\\xc0-\\xd6\\xd8-\\xde`,d=`\\ufe0e\\ufe0f`,f=o+s+c+l,p=`['’]`,m=`[`+f+`]`,h=`[`+r+`]`,g=`\\d+`,_=`[`+i+`]`,v=`[`+a+`]`,y=`[^`+n+f+g+i+a+u+`]`,ee=`(?:`+h+`|\\ud83c[\\udffb-\\udfff])`,te=`[^`+n+`]`,b=`(?:\\ud83c[\\udde6-\\uddff]){2}`,x=`[\\ud800-\\udbff][\\udc00-\\udfff]`,S=`[`+u+`]`,C=`\\u200d`,ne=`(?:`+v+`|`+y+`)`,re=`(?:`+S+`|`+y+`)`,ie=`(?:`+p+`(?:d|ll|m|re|s|t|ve))?`,ae=`(?:`+p+`(?:D|LL|M|RE|S|T|VE))?`,oe=ee+`?`,se=`[`+d+`]?`,ce=`(?:`+C+`(?:`+[te,b,x].join(`|`)+`)`+se+oe+`)*`,w=`\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])`,T=`\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])`,E=se+oe+ce,D=`(?:`+[_,b,x].join(`|`)+`)`+E,O=RegExp([S+`?`+v+`+`+ie+`(?=`+[m,S,`$`].join(`|`)+`)`,re+`+`+ae+`(?=`+[m,S+ne,`$`].join(`|`)+`)`,S+`?`+ne+`+`+ie,S+`+`+ae,T,w,g,D].join(`|`),`g`);function le(e){return e.match(O)||[]}t.exports=le})),ie=r(((e,t)=>{var n=C(),r=ne(),i=o(),a=re();function s(e,t,o){return e=i(e),t=o?void 0:t,t===void 0?r(e)?a(e):n(e):e.match(t)||[]}t.exports=s})),ae=r(((e,t)=>{var n=te(),r=S(),i=ie(),a=RegExp(`['’]`,`g`);function o(e){return function(t){return n(i(r(t).replace(a,``)),e,``)}}t.exports=o})),oe=r(((e,t)=>{var n=ee();t.exports=ae()(function(e,t,r){return t=t.toLowerCase(),e+(r?n(t):t)})})),se=r(((e,t)=>{var n=Object.prototype.hasOwnProperty;function r(e,t){return e!=null&&n.call(e,t)}t.exports=r})),ce=r(((e,t)=>{var n=se(),r=m();function i(e,t){return e!=null&&r(e,t,n)}t.exports=i}));function w(){let e=new Uint8Array(16);return E.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128,D[e[0]]+D[e[1]]+D[e[2]]+D[e[3]]+`-`+D[e[4]]+D[e[5]]+`-`+D[e[6]]+D[e[7]]+`-`+D[e[8]]+D[e[9]]+`-`+D[e[10]]+D[e[11]]+D[e[12]]+D[e[13]]+D[e[14]]+D[e[15]]}function T(){if(E?.randomUUID)return E.randomUUID();if(E?.getRandomValues)return w();throw Error(`No secure random number generator available to generate a UUID`)}var E,D,O=t((()=>{E=globalThis.crypto,D=[];for(let e=0;e<256;e+=1)D.push((e+256).toString(16).slice(1))}));function le(e,t){let n=(e.stack?.split(/\n/g)||[])[1],[r,...i]=t.stack?.split(/\n/g)||[];return[r,n,...i].join(`
2
+ `)}var ue=t((()=>{})),de,fe,k,A,pe=t((()=>{O(),ue(),de=Object.defineProperty,fe=(e,t,n)=>t in e?de(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,k=(e,t,n)=>fe(e,typeof t==`symbol`?t:t+``,n),A=class extends Error{constructor(e={}){super(),k(this,`statusCode`),k(this,`errorType`),k(this,`level`),k(this,`id`),k(this,`context`),k(this,`help`),k(this,`errorDetails`),k(this,`code`),k(this,`property`),k(this,`redirect`),k(this,`hideStack`),this.statusCode=500,this.errorType=`InternalServerError`,this.level=`normal`,this.message=`The server has encountered an error.`,this.id=T(),this.id=e.id||this.id,this.statusCode=e.statusCode||this.statusCode,this.level=e.level||this.level,this.context=e.context,this.help=e.help,this.errorType=this.name=e.errorType||this.errorType,this.errorDetails=e.errorDetails,this.code=e.code||null,this.property=e.property||null,this.redirect=e.redirect||null,this.message=e.message||this.message,this.hideStack=e.hideStack||!1,e.err&&(typeof e.err==`string`&&(e.err=Error(e.err)),Object.getOwnPropertyNames(e.err).forEach(t=>{if([`errorType`,`name`,`statusCode`,`message`,`level`].indexOf(t)===-1){if(t===`code`){this[t]=this[t]||e.err[t];return}if(t===`stack`&&!this.hideStack){this[t]=le(this,e.err);return}this[t]=e.err[t]||this[t]}}))}}})),me=n({BadRequestError:()=>_e,ConflictError:()=>Le,DataExportError:()=>ke,DataImportError:()=>Ae,DisabledFeatureError:()=>Ne,EmailError:()=>je,HelperWarning:()=>F,HostLimitError:()=>Pe,IncorrectUsageError:()=>he,InternalServerError:()=>M,MaintenanceError:()=>Se,MethodNotAllowedError:()=>Ce,MigrationError:()=>Re,NoContentError:()=>Ie,NoPermissionError:()=>N,NotFoundError:()=>ge,PasswordResetRequiredError:()=>Fe,RangeNotSatisfiableError:()=>Te,RequestEntityTooLargeError:()=>Ee,RequestNotAcceptableError:()=>we,ThemeValidationError:()=>Me,TokenRevocationError:()=>De,TooManyRequestsError:()=>xe,UnauthorizedError:()=>ve,UnhandledJobError:()=>I,UnsupportedMediaTypeError:()=>be,UpdateCollisionError:()=>P,ValidationError:()=>ye,VersionMismatchError:()=>Oe}),j,M,he,ge,_e,ve,N,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,ke,Ae,je,Me,Ne,P,Pe,F,Fe,I,Ie,Le,Re,ze=t((()=>{pe(),j=(e,t)=>{let n={...t};return Object.keys(e).forEach(t=>{e[t]!==void 0&&(n[t]=e[t])}),n},M=class extends A{constructor(e={}){super(j(e,{statusCode:500,level:`critical`,errorType:`InternalServerError`,message:`The server has encountered an error.`}))}},he=class extends A{constructor(e={}){super(j(e,{statusCode:400,level:`critical`,errorType:`IncorrectUsageError`,message:`We detected a misuse. Please read the stack trace.`}))}},ge=class extends A{constructor(e={}){super(j(e,{statusCode:404,errorType:`NotFoundError`,message:`Resource could not be found.`,hideStack:!0}))}},_e=class extends A{constructor(e={}){super(j(e,{statusCode:400,errorType:`BadRequestError`,message:`The request could not be understood.`}))}},ve=class extends A{constructor(e={}){super(j(e,{statusCode:401,errorType:`UnauthorizedError`,message:`You are not authorised to make this request.`}))}},N=class extends A{constructor(e={}){super(j(e,{statusCode:403,errorType:`NoPermissionError`,message:`You do not have permission to perform this request.`}))}},ye=class extends A{constructor(e={}){super(j(e,{statusCode:422,errorType:`ValidationError`,message:`The request failed validation.`}))}},be=class extends A{constructor(e={}){super(j(e,{statusCode:415,errorType:`UnsupportedMediaTypeError`,message:`The media in the request is not supported by the server.`}))}},xe=class extends A{constructor(e={}){super(j(e,{statusCode:429,errorType:`TooManyRequestsError`,message:`Server has received too many similar requests in a short space of time.`}))}},Se=class extends A{constructor(e={}){super(j(e,{statusCode:503,errorType:`MaintenanceError`,message:`The server is temporarily down for maintenance.`}))}},Ce=class extends A{constructor(e={}){super(j(e,{statusCode:405,errorType:`MethodNotAllowedError`,message:`Method not allowed for resource.`}))}},we=class extends A{constructor(e={}){super(j(e,{statusCode:406,errorType:`RequestNotAcceptableError`,message:`Request not acceptable for provided Accept-Version header.`,hideStack:!0}))}},Te=class extends A{constructor(e={}){super(j(e,{statusCode:416,errorType:`RangeNotSatisfiableError`,message:`Range not satisfiable for provided Range header.`,hideStack:!0}))}},Ee=class extends A{constructor(e={}){super(j(e,{statusCode:413,errorType:`RequestEntityTooLargeError`,message:`Request was too big for the server to handle.`}))}},De=class extends A{constructor(e={}){super(j(e,{statusCode:503,errorType:`TokenRevocationError`,message:`Token is no longer available.`}))}},Oe=class extends A{constructor(e={}){super(j(e,{statusCode:400,errorType:`VersionMismatchError`,message:`Requested version does not match server version.`}))}},ke=class extends A{constructor(e={}){super(j(e,{statusCode:500,errorType:`DataExportError`,message:`The server encountered an error whilst exporting data.`}))}},Ae=class extends A{constructor(e={}){super(j(e,{statusCode:500,errorType:`DataImportError`,message:`The server encountered an error whilst importing data.`}))}},je=class extends A{constructor(e={}){super(j(e,{statusCode:500,errorType:`EmailError`,message:`The server encountered an error whilst sending email.`}))}},Me=class extends A{constructor(e={}){super(j(e,{statusCode:422,errorType:`ThemeValidationError`,message:`The theme has a validation error.`,errorDetails:{}}))}},Ne=class extends A{constructor(e={}){super(j(e,{statusCode:409,errorType:`DisabledFeatureError`,message:`Unable to complete the request, this feature is disabled.`}))}},P=class extends A{constructor(e={}){super(j(e,{statusCode:409,errorType:`UpdateCollisionError`,message:`Unable to complete the request, there was a conflict.`}))}},Pe=class extends A{constructor(e={}){super(j(e,{errorType:`HostLimitError`,hideStack:!0,statusCode:403,message:`Unable to complete the request, this resource is limited.`}))}},F=class extends A{constructor(e={}){super(j(e,{errorType:`HelperWarning`,hideStack:!0,statusCode:400,message:`A theme helper has done something unexpected.`}))}},Fe=class extends A{constructor(e={}){super(j(e,{errorType:`PasswordResetRequiredError`,statusCode:401,message:`For security, you need to create a new password. An email has been sent to you with instructions!`}))}},I=class extends A{constructor(e={}){super(j(e,{errorType:`UnhandledJobError`,message:`Processed job threw an unhandled error`,level:`critical`}))}},Ie=class extends A{constructor(e={}){super(j(e,{errorType:`NoContentError`,statusCode:204,hideStack:!0}))}},Le=class extends A{constructor(e={}){super(j(e,{errorType:`ConflictError`,statusCode:409,message:`The server has encountered an conflict.`}))}},Re=class extends A{constructor(e={}){super(j(e,{errorType:`MigrationError`,message:`An error has occurred applying a database migration.`,level:`critical`}))}}}));function Be(e){if(typeof e!=`object`||!e)return e;if(e instanceof Error){let t=Object.create(Object.getPrototypeOf(e));for(let n of Object.getOwnPropertyNames(e))t[n]=Be(e[n]);return t}if(Array.isArray(e))return e.map(Be);let t={};for(let n of Object.keys(e))t[n]=Be(e[n]);return t}function Ve(e,t){t||={format:`jsonapi`};let n={};try{n=t.format===`jsonapi`?R.JSONAPISerialize(e):R.OAuthSerialize(e)}catch{n.message=`Something went wrong.`}return n}function L(e){let t={};return t=e.errors?R.JSONAPIDeserialize(e):R.OAuthDeserialize(e),t}function He(e){let t=e.stack?.split(/\n/)||[];`hideStack`in e&&e.hideStack?t.splice(1,t.length-1):t.splice(1,0,`Stack Trace:`),`help`in e&&e.help&&t.splice(1,0,`${e.help}`),`context`in e&&e.context&&t.splice(1,0,`${e.context}`);let n=Be(e);return n.stack=t.join(`
3
+ `),n}function Ue(e){let t=A.name;return function e(n){return!n||!n.name?!1:n.name===t||n.name===`IgnitionError`?!0:e(Object.getPrototypeOf(n))}(e.constructor)}var We,R,Ge=t((()=>{pe(),ze(),We={...me,GhostError:A},R={serialize(e){try{return{id:e.id,status:e.statusCode,code:e.code||e.errorType,title:e.name,detail:e.message,meta:{context:e.context,help:e.help,errorDetails:e.errorDetails,level:e.level,errorType:e.errorType}}}catch{return{detail:`Something went wrong.`}}},deserialize(e){return{id:e.id,message:e.detail||e.error_description||e.message,statusCode:e.status,code:e.code||e.error,level:e.meta&&e.meta.level,help:e.meta&&e.meta.help,context:e.meta&&e.meta.context}},OAuthSerialize(e){let t={[N.name]:`access_denied`,[Se.name]:`temporarily_unavailable`,[_e.name]:`invalid_request`,[ye.name]:`invalid_request`,default:`server_error`},{detail:n,code:r,...i}=R.serialize(e);return{error:e.code||t[e.name]||`server_error`,error_description:e.message,...i}},OAuthDeserialize(e){try{return new We[e.title||e.name||M.name](R.deserialize(e))}catch{return new M({errorType:e.title||e.name,...R.deserialize(e)})}},JSONAPISerialize(e){let t={errors:[R.serialize(e)]};return t.errors[0].source={},e.property&&(t.errors[0].source.pointer=`/data/attributes/`+e.property),t},JSONAPIDeserialize(e){e=e.errors&&e.errors[0]||{};let t;try{t=new We[e.title||e.name||M.name](R.deserialize(e))}catch{t=new M({errorType:e.title||e.name,...R.deserialize(e)})}return e.source&&e.source.pointer&&(t.property=e.source.pointer.split(`/`)[3]),t}}})),Ke=n({BadRequestError:()=>_e,ConflictError:()=>Le,DataExportError:()=>ke,DataImportError:()=>Ae,DisabledFeatureError:()=>Ne,EmailError:()=>je,HelperWarning:()=>F,HostLimitError:()=>Pe,IncorrectUsageError:()=>he,InternalServerError:()=>M,MaintenanceError:()=>Se,MethodNotAllowedError:()=>Ce,MigrationError:()=>Re,NoContentError:()=>Ie,NoPermissionError:()=>N,NotFoundError:()=>ge,PasswordResetRequiredError:()=>Fe,RangeNotSatisfiableError:()=>Te,RequestEntityTooLargeError:()=>Ee,RequestNotAcceptableError:()=>we,ThemeValidationError:()=>Me,TokenRevocationError:()=>De,TooManyRequestsError:()=>xe,UnauthorizedError:()=>ve,UnhandledJobError:()=>I,UnsupportedMediaTypeError:()=>be,UpdateCollisionError:()=>P,ValidationError:()=>ye,VersionMismatchError:()=>Oe,default:()=>qe,utils:()=>Je}),qe,Je,z=t((()=>{ze(),Ge(),ze(),qe=me,Je={serialize:Ve,deserialize:L,isGhostError:Ue,prepareStackForUser:He}})),B=r(((e,t)=>{t.exports=ae()(function(e,t,n){return e+(n?` `:``)+t.toLowerCase()})})),Ye=r(((e,t)=>{var n=l(),r=p();function i(e){return n(function(t,n){var i=-1,a=n.length,o=a>1?n[a-1]:void 0,s=a>2?n[2]:void 0;for(o=e.length>3&&typeof o==`function`?(a--,o):void 0,s&&r(n[0],n[1],s)&&(o=a<3?void 0:o,a=1),t=Object(t);++i<a;){var c=n[i];c&&e(t,c,i,o)}return t})}t.exports=i})),Xe=r(((e,t)=>{var n=y(),r=Ye(),i=c();t.exports=r(function(e,t,r,a){n(t,i(t),e,a)})})),V=r(((e,t)=>{var n=u(),r=i(),a=f(),o=`[object DOMException]`,s=`[object Error]`;function c(e){if(!r(e))return!1;var t=n(e);return t==s||t==o||typeof e.message==`string`&&typeof e.name==`string`&&!a(e)}t.exports=c})),Ze=r(((e,t)=>{var n=s(),r=l(),i=V();t.exports=r(function(e,t){try{return n(e,void 0,t)}catch(e){return i(e)?e:Error(e)}})})),Qe=r(((e,t)=>{var n=g();function r(e,t){return n(t,function(t){return e[t]})}t.exports=r})),$e=r(((e,t)=>{var n=a(),r=Object.prototype,i=r.hasOwnProperty;function o(e,t,a,o){return e===void 0||n(e,r[a])&&!i.call(o,a)?t:e}t.exports=o})),et=r(((e,t)=>{var n={"\\":`\\`,"'":`'`,"\n":`n`,"\r":`r`,"\u2028":`u2028`,"\u2029":`u2029`};function r(e){return`\\`+n[e]}t.exports=r})),tt=r(((e,t)=>{t.exports=/<%=([\s\S]+?)%>/g})),nt=r(((e,t)=>{t.exports=b()({"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`})})),rt=r(((e,t)=>{var n=nt(),r=o(),i=/[&<>"']/g,a=RegExp(i.source);function s(e){return e=r(e),e&&a.test(e)?e.replace(i,n):e}t.exports=s})),it=r(((e,t)=>{t.exports=/<%-([\s\S]+?)%>/g})),at=r(((e,t)=>{t.exports=/<%([\s\S]+?)%>/g})),ot=r(((e,t)=>{var n=rt();t.exports={escape:it(),evaluate:at(),interpolate:tt(),variable:``,imports:{_:{escape:n}}}})),st=r(((e,t)=>{var n=_(),r=Xe(),i=Ze(),a=Qe(),s=$e(),l=et(),u=V(),d=p(),f=c(),m=tt(),h=ot(),g=o(),v="Invalid `variable` option passed into `_.template`",y="Invalid `imports` option passed into `_.template`",ee=/\b__p \+= '';/g,te=/\b(__p \+=) '' \+/g,b=/(__e\(.*?\)|\b__t\)) \+\n'';/g,x=/[()=,{}\[\]\/\s]/,S=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,C=/($^)/,ne=/['\n\r\u2028\u2029\\]/g,re=Object.prototype.hasOwnProperty;function ie(e,t,o){var c=h.imports._.templateSettings||h;o&&d(e,t,o)&&(t=void 0),e=g(e),t=r({},t,c,s);var p=r({},t.imports,c.imports,s),_=f(p),ie=a(p,_);n(_,function(e){if(x.test(e))throw Error(y)});var ae,oe,se=0,ce=t.interpolate||C,w=`__p += '`,T=RegExp((t.escape||C).source+`|`+ce.source+`|`+(ce===m?S:C).source+`|`+(t.evaluate||C).source+`|$`,`g`),E=re.call(t,`sourceURL`)?`//# sourceURL=`+(t.sourceURL+``).replace(/\s/g,` `)+`
4
+ `:``;e.replace(T,function(t,n,r,i,a,o){return r||=i,w+=e.slice(se,o).replace(ne,l),n&&(ae=!0,w+=`' +
5
+ __e(`+n+`) +
6
+ '`),a&&(oe=!0,w+=`';
7
+ `+a+`;
8
+ __p += '`),r&&(w+=`' +
9
+ ((__t = (`+r+`)) == null ? '' : __t) +
10
+ '`),se=o+t.length,t}),w+=`';
11
+ `;var D=re.call(t,`variable`)&&t.variable;if(!D)w=`with (obj) {
12
+ `+w+`
13
+ }
14
+ `;else if(x.test(D))throw Error(v);w=(oe?w.replace(ee,``):w).replace(te,`$1`).replace(b,`$1;`),w=`function(`+(D||`obj`)+`) {
15
+ `+(D?``:`obj || (obj = {});
16
+ `)+`var __t, __p = ''`+(ae?`, __e = _.escape`:``)+(oe?`, __j = Array.prototype.join;
17
+ function print() { __p += __j.call(arguments, '') }
18
+ `:`;
19
+ `)+w+`return __p
20
+ }`;var O=i(function(){return Function(_,E+`return `+w).apply(void 0,ie)});if(O.source=w,u(O))throw O;return O}t.exports=ie})),ct=r((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=class extends Error{},n=class extends t{constructor(e){super(`Invalid DateTime: ${e.toMessage()}`)}},r=class extends t{constructor(e){super(`Invalid Interval: ${e.toMessage()}`)}},i=class extends t{constructor(e){super(`Invalid Duration: ${e.toMessage()}`)}},a=class extends t{},o=class extends t{constructor(e){super(`Invalid unit ${e}`)}},s=class extends t{},c=class extends t{constructor(){super(`Zone is an abstract class`)}},l=`numeric`,u=`short`,d=`long`,f={year:l,month:l,day:l},p={year:l,month:u,day:l},m={year:l,month:u,day:l,weekday:u},h={year:l,month:d,day:l},g={year:l,month:d,day:l,weekday:d},_={hour:l,minute:l},v={hour:l,minute:l,second:l},y={hour:l,minute:l,second:l,timeZoneName:u},ee={hour:l,minute:l,second:l,timeZoneName:d},te={hour:l,minute:l,hourCycle:`h23`},b={hour:l,minute:l,second:l,hourCycle:`h23`},x={hour:l,minute:l,second:l,hourCycle:`h23`,timeZoneName:u},S={hour:l,minute:l,second:l,hourCycle:`h23`,timeZoneName:d},C={year:l,month:l,day:l,hour:l,minute:l},ne={year:l,month:l,day:l,hour:l,minute:l,second:l},re={year:l,month:u,day:l,hour:l,minute:l},ie={year:l,month:u,day:l,hour:l,minute:l,second:l},ae={year:l,month:u,day:l,weekday:u,hour:l,minute:l},oe={year:l,month:d,day:l,hour:l,minute:l,timeZoneName:u},se={year:l,month:d,day:l,hour:l,minute:l,second:l,timeZoneName:u},ce={year:l,month:d,day:l,weekday:d,hour:l,minute:l,timeZoneName:d},w={year:l,month:d,day:l,weekday:d,hour:l,minute:l,second:l,timeZoneName:d},T=class{get type(){throw new c}get name(){throw new c}get ianaName(){return this.name}get isUniversal(){throw new c}offsetName(e,t){throw new c}formatOffset(e,t){throw new c}offset(e){throw new c}equals(e){throw new c}get isValid(){throw new c}},E=null,D=class e extends T{static get instance(){return E===null&&(E=new e),E}get type(){return`system`}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:t,locale:n}){return jt(e,t,n)}formatOffset(e,t){return Ft(this.offset(e),t)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return e.type===`system`}get isValid(){return!0}},O=new Map;function le(e){let t=O.get(e);return t===void 0&&(t=new Intl.DateTimeFormat(`en-US`,{hour12:!1,timeZone:e,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,era:`short`}),O.set(e,t)),t}var ue={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function de(e,t){let n=e.format(t).replace(/\u200E/g,``),[,r,i,a,o,s,c,l]=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(n);return[a,r,i,o,s,c,l]}function fe(e,t){let n=e.formatToParts(t),r=[];for(let e=0;e<n.length;e++){let{type:t,value:i}=n[e],a=ue[t];t===`era`?r[a]=i:H(a)||(r[a]=parseInt(i,10))}return r}var k=new Map,A=class e extends T{static create(t){let n=k.get(t);return n===void 0&&k.set(t,n=new e(t)),n}static resetCache(){k.clear(),O.clear()}static isValidSpecifier(e){return this.isValidZone(e)}static isValidZone(e){if(!e)return!1;try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e}).format(),!0}catch{return!1}}constructor(t){super(),this.zoneName=t,this.valid=e.isValidZone(t)}get type(){return`iana`}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(e,{format:t,locale:n}){return jt(e,t,n,this.name)}formatOffset(e,t){return Ft(this.offset(e),t)}offset(e){if(!this.valid)return NaN;let t=new Date(e);if(isNaN(t))return NaN;let n=le(this.name),[r,i,a,o,s,c,l]=n.formatToParts?fe(n,t):de(n,t);o===`BC`&&(r=-Math.abs(r)+1);let u=Dt({year:r,month:i,day:a,hour:s===24?0:s,minute:c,second:l,millisecond:0}),d=+t,f=d%1e3;return d-=f>=0?f:1e3+f,(u-d)/(60*1e3)}equals(e){return e.type===`iana`&&e.name===this.name}get isValid(){return this.valid}},pe={};function me(e,t={}){let n=JSON.stringify([e,t]),r=pe[n];return r||(r=new Intl.ListFormat(e,t),pe[n]=r),r}var j=new Map;function M(e,t={}){let n=JSON.stringify([e,t]),r=j.get(n);return r===void 0&&(r=new Intl.DateTimeFormat(e,t),j.set(n,r)),r}var he=new Map;function ge(e,t={}){let n=JSON.stringify([e,t]),r=he.get(n);return r===void 0&&(r=new Intl.NumberFormat(e,t),he.set(n,r)),r}var _e=new Map;function ve(e,t={}){let{base:n,...r}=t,i=JSON.stringify([e,r]),a=_e.get(i);return a===void 0&&(a=new Intl.RelativeTimeFormat(e,t),_e.set(i,a)),a}var N=null;function ye(){return N||(N=new Intl.DateTimeFormat().resolvedOptions().locale,N)}var be=new Map;function xe(e){let t=be.get(e);return t===void 0&&(t=new Intl.DateTimeFormat(e).resolvedOptions(),be.set(e,t)),t}var Se=new Map;function Ce(e){let t=Se.get(e);if(!t){let n=new Intl.Locale(e);t=`getWeekInfo`in n?n.getWeekInfo():n.weekInfo,`minimalDays`in t||(t={...Ne,...t}),Se.set(e,t)}return t}function we(e){let t=e.indexOf(`-x-`);t!==-1&&(e=e.substring(0,t));let n=e.indexOf(`-u-`);if(n===-1)return[e];{let t,r;try{t=M(e).resolvedOptions(),r=e}catch{let i=e.substring(0,n);t=M(i).resolvedOptions(),r=i}let{numberingSystem:i,calendar:a}=t;return[r,i,a]}}function Te(e,t,n){return n||t?(e.includes(`-u-`)||(e+=`-u`),n&&(e+=`-ca-${n}`),t&&(e+=`-nu-${t}`),e):e}function Ee(e){let t=[];for(let n=1;n<=12;n++){let r=$.utc(2009,n,1);t.push(e(r))}return t}function De(e){let t=[];for(let n=1;n<=7;n++){let r=$.utc(2016,11,13+n);t.push(e(r))}return t}function Oe(e,t,n,r){let i=e.listingMode();return i===`error`?null:i===`en`?n(t):r(t)}function ke(e){return e.numberingSystem&&e.numberingSystem!==`latn`?!1:e.numberingSystem===`latn`||!e.locale||e.locale.startsWith(`en`)||xe(e.locale).numberingSystem===`latn`}var Ae=class{constructor(e,t,n){this.padTo=n.padTo||0,this.floor=n.floor||!1;let{padTo:r,floor:i,...a}=n;if(!t||Object.keys(a).length>0){let t={useGrouping:!1,...n};n.padTo>0&&(t.minimumIntegerDigits=n.padTo),this.inf=ge(e,t)}}format(e){if(this.inf){let t=this.floor?Math.floor(e):e;return this.inf.format(t)}else return G(this.floor?Math.floor(e):Ct(e,3),this.padTo)}},je=class{constructor(e,t,n){this.opts=n,this.originalZone=void 0;let r;if(this.opts.timeZone)this.dt=e;else if(e.zone.type===`fixed`){let t=-1*(e.offset/60),n=t>=0?`Etc/GMT+${t}`:`Etc/GMT${t}`;e.offset!==0&&A.create(n).valid?(r=n,this.dt=e):(r=`UTC`,this.dt=e.offset===0?e:e.setZone(`UTC`).plus({minutes:e.offset}),this.originalZone=e.zone)}else e.zone.type===`system`?this.dt=e:e.zone.type===`iana`?(this.dt=e,r=e.zone.name):(r=`UTC`,this.dt=e.setZone(`UTC`).plus({minutes:e.offset}),this.originalZone=e.zone);let i={...this.opts};i.timeZone=i.timeZone||r,this.dtf=M(t,i)}format(){return this.originalZone?this.formatToParts().map(({value:e})=>e).join(``):this.dtf.format(this.dt.toJSDate())}formatToParts(){let e=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?e.map(e=>{if(e.type===`timeZoneName`){let t=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...e,value:t}}else return e}):e}resolvedOptions(){return this.dtf.resolvedOptions()}},Me=class{constructor(e,t,n){this.opts={style:`long`,...n},!t&&pt()&&(this.rtf=ve(e,n))}format(e,t){return this.rtf?this.rtf.format(e,t):en(t,e,this.opts.numeric,this.opts.style!==`long`)}formatToParts(e,t){return this.rtf?this.rtf.formatToParts(e,t):[]}},Ne={firstDay:1,minimalDays:4,weekend:[6,7]},P=class e{static fromOpts(t){return e.create(t.locale,t.numberingSystem,t.outputCalendar,t.weekSettings,t.defaultToEN)}static create(t,n,r,i,a=!1){let o=t||z.defaultLocale,s=o||(a?`en-US`:ye()),c=n||z.defaultNumberingSystem,l=r||z.defaultOutputCalendar,u=yt(i)||z.defaultWeekSettings;return new e(s,c,l,u,o)}static resetCache(){N=null,j.clear(),he.clear(),_e.clear(),be.clear(),Se.clear()}static fromObject({locale:t,numberingSystem:n,outputCalendar:r,weekSettings:i}={}){return e.create(t,n,r,i)}constructor(e,t,n,r,i){let[a,o,s]=we(e);this.locale=a,this.numberingSystem=t||o||null,this.outputCalendar=n||s||null,this.weekSettings=r,this.intl=Te(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=i,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached??=ke(this),this.fastNumbersCached}listingMode(){let e=this.isEnglish(),t=(this.numberingSystem===null||this.numberingSystem===`latn`)&&(this.outputCalendar===null||this.outputCalendar===`gregory`);return e&&t?`en`:`intl`}clone(t){return!t||Object.getOwnPropertyNames(t).length===0?this:e.create(t.locale||this.specifiedLocale,t.numberingSystem||this.numberingSystem,t.outputCalendar||this.outputCalendar,yt(t.weekSettings)||this.weekSettings,t.defaultToEN||!1)}redefaultToEN(e={}){return this.clone({...e,defaultToEN:!0})}redefaultToSystem(e={}){return this.clone({...e,defaultToEN:!1})}months(e,t=!1){return Oe(this,e,Bt,()=>{let n=this.intl===`ja`||this.intl.startsWith(`ja-`);t&=!n;let r=t?{month:e,day:`numeric`}:{month:e},i=t?`format`:`standalone`;if(!this.monthsCache[i][e]){let t=n?e=>this.dtFormatter(e,r).format():e=>this.extract(e,r,`month`);this.monthsCache[i][e]=Ee(t)}return this.monthsCache[i][e]})}weekdays(e,t=!1){return Oe(this,e,Wt,()=>{let n=t?{weekday:e,year:`numeric`,month:`long`,day:`numeric`}:{weekday:e},r=t?`format`:`standalone`;return this.weekdaysCache[r][e]||(this.weekdaysCache[r][e]=De(e=>this.extract(e,n,`weekday`))),this.weekdaysCache[r][e]})}meridiems(){return Oe(this,void 0,()=>Gt,()=>{if(!this.meridiemCache){let e={hour:`numeric`,hourCycle:`h12`};this.meridiemCache=[$.utc(2016,11,13,9),$.utc(2016,11,13,19)].map(t=>this.extract(t,e,`dayperiod`))}return this.meridiemCache})}eras(e){return Oe(this,e,Yt,()=>{let t={era:e};return this.eraCache[e]||(this.eraCache[e]=[$.utc(-40,1,1),$.utc(2017,1,1)].map(e=>this.extract(e,t,`era`))),this.eraCache[e]})}extract(e,t,n){let r=this.dtFormatter(e,t).formatToParts().find(e=>e.type.toLowerCase()===n);return r?r.value:null}numberFormatter(e={}){return new Ae(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,t={}){return new je(e,this.intl,t)}relFormatter(e={}){return new Me(this.intl,this.isEnglish(),e)}listFormatter(e={}){return me(this.intl,e)}isEnglish(){return this.locale===`en`||this.locale.toLowerCase()===`en-us`||xe(this.intl).locale.startsWith(`en-us`)}getWeekSettings(){return this.weekSettings?this.weekSettings:mt()?Ce(this.locale):Ne}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}},Pe=null,F=class e extends T{static get utcInstance(){return Pe===null&&(Pe=new e(0)),Pe}static instance(t){return t===0?e.utcInstance:new e(t)}static parseSpecifier(t){if(t){let n=t.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(n)return new e(Mt(n[1],n[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return`fixed`}get name(){return this.fixed===0?`UTC`:`UTC${Ft(this.fixed,`narrow`)}`}get ianaName(){return this.fixed===0?`Etc/UTC`:`Etc/GMT${Ft(-this.fixed,`narrow`)}`}offsetName(){return this.name}formatOffset(e,t){return Ft(this.fixed,t)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return e.type===`fixed`&&e.fixed===this.fixed}get isValid(){return!0}},Fe=class extends T{constructor(e){super(),this.zoneName=e}get type(){return`invalid`}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return``}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function I(e,t){if(H(e)||e===null)return t;if(e instanceof T)return e;if(dt(e)){let n=e.toLowerCase();return n==="default"?t:n===`local`||n===`system`?D.instance:n===`utc`||n===`gmt`?F.utcInstance:F.parseSpecifier(n)||A.create(e)}else if(U(e))return F.instance(e);else if(typeof e==`object`&&`offset`in e&&typeof e.offset==`function`)return e;else return new Fe(e)}var Ie={arab:`[٠-٩]`,arabext:`[۰-۹]`,bali:`[᭐-᭙]`,beng:`[০-৯]`,deva:`[०-९]`,fullwide:`[0-9]`,gujr:`[૦-૯]`,hanidec:`[〇|一|二|三|四|五|六|七|八|九]`,khmr:`[០-៩]`,knda:`[೦-೯]`,laoo:`[໐-໙]`,limb:`[᥆-᥏]`,mlym:`[൦-൯]`,mong:`[᠐-᠙]`,mymr:`[၀-၉]`,orya:`[୦-୯]`,tamldec:`[௦-௯]`,telu:`[౦-౯]`,thai:`[๐-๙]`,tibt:`[༠-༩]`,latn:`\\d`},Le={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},Re=Ie.hanidec.replace(/[\[|\]]/g,``).split(``);function ze(e){let t=parseInt(e,10);if(isNaN(t)){t=``;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(e[n].search(Ie.hanidec)!==-1)t+=Re.indexOf(e[n]);else for(let e in Le){let[n,i]=Le[e];r>=n&&r<=i&&(t+=r-n)}}return parseInt(t,10)}else return t}var Be=new Map;function Ve(){Be.clear()}function L({numberingSystem:e},t=``){let n=e||`latn`,r=Be.get(n);r===void 0&&(r=new Map,Be.set(n,r));let i=r.get(t);return i===void 0&&(i=RegExp(`${Ie[n]}${t}`),r.set(t,i)),i}var He=()=>Date.now(),Ue=`system`,We=null,R=null,Ge=null,Ke=60,qe,Je=null,z=class{static get now(){return He}static set now(e){He=e}static set defaultZone(e){Ue=e}static get defaultZone(){return I(Ue,D.instance)}static get defaultLocale(){return We}static set defaultLocale(e){We=e}static get defaultNumberingSystem(){return R}static set defaultNumberingSystem(e){R=e}static get defaultOutputCalendar(){return Ge}static set defaultOutputCalendar(e){Ge=e}static get defaultWeekSettings(){return Je}static set defaultWeekSettings(e){Je=yt(e)}static get twoDigitCutoffYear(){return Ke}static set twoDigitCutoffYear(e){Ke=e%100}static get throwOnInvalid(){return qe}static set throwOnInvalid(e){qe=e}static resetCaches(){P.resetCache(),A.resetCache(),$.resetCache(),Ve()}},B=class{constructor(e,t){this.reason=e,this.explanation=t}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}},Ye=[0,31,59,90,120,151,181,212,243,273,304,334],Xe=[0,31,60,91,121,152,182,213,244,274,305,335];function V(e,t){return new B(`unit out of range`,`you specified ${t} (of type ${typeof t}) as a ${e}, which is invalid`)}function Ze(e,t,n){let r=new Date(Date.UTC(e,t-1,n));e<100&&e>=0&&r.setUTCFullYear(r.getUTCFullYear()-1900);let i=r.getUTCDay();return i===0?7:i}function Qe(e,t,n){return n+(wt(e)?Xe:Ye)[t-1]}function $e(e,t){let n=wt(e)?Xe:Ye,r=n.findIndex(e=>e<t),i=t-n[r];return{month:r+1,day:i}}function et(e,t){return(e-t+7)%7+1}function tt(e,t=4,n=1){let{year:r,month:i,day:a}=e,o=Qe(r,i,a),s=et(Ze(r,i,a),n),c=Math.floor((o-s+14-t)/7),l;return c<1?(l=r-1,c=kt(l,t,n)):c>kt(r,t,n)?(l=r+1,c=1):l=r,{weekYear:l,weekNumber:c,weekday:s,...It(e)}}function nt(e,t=4,n=1){let{weekYear:r,weekNumber:i,weekday:a}=e,o=et(Ze(r,1,t),n),s=Tt(r),c=i*7+a-o-7+t,l;c<1?(l=r-1,c+=Tt(l)):c>s?(l=r+1,c-=Tt(r)):l=r;let{month:u,day:d}=$e(l,c);return{year:l,month:u,day:d,...It(e)}}function rt(e){let{year:t,month:n,day:r}=e;return{year:t,ordinal:Qe(t,n,r),...It(e)}}function it(e){let{year:t,ordinal:n}=e,{month:r,day:i}=$e(t,n);return{year:t,month:r,day:i,...It(e)}}function at(e,t){if(!H(e.localWeekday)||!H(e.localWeekNumber)||!H(e.localWeekYear)){if(!H(e.weekday)||!H(e.weekNumber)||!H(e.weekYear))throw new a(`Cannot mix locale-based week fields with ISO-based week fields`);return H(e.localWeekday)||(e.weekday=e.localWeekday),H(e.localWeekNumber)||(e.weekNumber=e.localWeekNumber),H(e.localWeekYear)||(e.weekYear=e.localWeekYear),delete e.localWeekday,delete e.localWeekNumber,delete e.localWeekYear,{minDaysInFirstWeek:t.getMinDaysInFirstWeek(),startOfWeek:t.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function ot(e,t=4,n=1){let r=ut(e.weekYear),i=W(e.weekNumber,1,kt(e.weekYear,t,n)),a=W(e.weekday,1,7);return r?i?a?!1:V(`weekday`,e.weekday):V(`week`,e.weekNumber):V(`weekYear`,e.weekYear)}function st(e){let t=ut(e.year),n=W(e.ordinal,1,Tt(e.year));return t?n?!1:V(`ordinal`,e.ordinal):V(`year`,e.year)}function ct(e){let t=ut(e.year),n=W(e.month,1,12),r=W(e.day,1,Et(e.year,e.month));return t?n?r?!1:V(`day`,e.day):V(`month`,e.month):V(`year`,e.year)}function lt(e){let{hour:t,minute:n,second:r,millisecond:i}=e,a=W(t,0,23)||t===24&&n===0&&r===0&&i===0,o=W(n,0,59),s=W(r,0,59),c=W(i,0,999);return a?o?s?c?!1:V(`millisecond`,i):V(`second`,r):V(`minute`,n):V(`hour`,t)}function H(e){return e===void 0}function U(e){return typeof e==`number`}function ut(e){return typeof e==`number`&&e%1==0}function dt(e){return typeof e==`string`}function ft(e){return Object.prototype.toString.call(e)===`[object Date]`}function pt(){try{return typeof Intl<`u`&&!!Intl.RelativeTimeFormat}catch{return!1}}function mt(){try{return typeof Intl<`u`&&!!Intl.Locale&&(`weekInfo`in Intl.Locale.prototype||`getWeekInfo`in Intl.Locale.prototype)}catch{return!1}}function ht(e){return Array.isArray(e)?e:[e]}function gt(e,t,n){if(e.length!==0)return e.reduce((e,r)=>{let i=[t(r),r];return e&&n(e[0],i[0])===e[0]?e:i},null)[1]}function _t(e,t){return t.reduce((t,n)=>(t[n]=e[n],t),{})}function vt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function yt(e){if(e==null)return null;if(typeof e!=`object`)throw new s(`Week settings must be an object`);if(!W(e.firstDay,1,7)||!W(e.minimalDays,1,7)||!Array.isArray(e.weekend)||e.weekend.some(e=>!W(e,1,7)))throw new s(`Invalid week settings`);return{firstDay:e.firstDay,minimalDays:e.minimalDays,weekend:Array.from(e.weekend)}}function W(e,t,n){return ut(e)&&e>=t&&e<=n}function bt(e,t){return e-t*Math.floor(e/t)}function G(e,t=2){let n=e<0,r;return r=n?`-`+(``+-e).padStart(t,`0`):(``+e).padStart(t,`0`),r}function K(e){if(!(H(e)||e===null||e===``))return parseInt(e,10)}function xt(e){if(!(H(e)||e===null||e===``))return parseFloat(e)}function St(e){if(!(H(e)||e===null||e===``)){let t=parseFloat(`0.`+e)*1e3;return Math.floor(t)}}function Ct(e,t,n=`round`){let r=10**t;switch(n){case`expand`:return e>0?Math.ceil(e*r)/r:Math.floor(e*r)/r;case`trunc`:return Math.trunc(e*r)/r;case`round`:return Math.round(e*r)/r;case`floor`:return Math.floor(e*r)/r;case`ceil`:return Math.ceil(e*r)/r;default:throw RangeError(`Value rounding ${n} is out of range`)}}function wt(e){return e%4==0&&(e%100!=0||e%400==0)}function Tt(e){return wt(e)?366:365}function Et(e,t){let n=bt(t-1,12)+1,r=e+(t-n)/12;return n===2?wt(r)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][n-1]}function Dt(e){let t=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond);return e.year<100&&e.year>=0&&(t=new Date(t),t.setUTCFullYear(e.year,e.month-1,e.day)),+t}function Ot(e,t,n){return-et(Ze(e,1,t),n)+t-1}function kt(e,t=4,n=1){let r=Ot(e,t,n),i=Ot(e+1,t,n);return(Tt(e)-r+i)/7}function At(e){return e>99?e:e>z.twoDigitCutoffYear?1900+e:2e3+e}function jt(e,t,n,r=null){let i=new Date(e),a={hourCycle:`h23`,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`};r&&(a.timeZone=r);let o={timeZoneName:t,...a},s=new Intl.DateTimeFormat(n,o).formatToParts(i).find(e=>e.type.toLowerCase()===`timezonename`);return s?s.value:null}function Mt(e,t){let n=parseInt(e,10);Number.isNaN(n)&&(n=0);let r=parseInt(t,10)||0,i=n<0||Object.is(n,-0)?-r:r;return n*60+i}function Nt(e){let t=Number(e);if(typeof e==`boolean`||e===``||!Number.isFinite(t))throw new s(`Invalid unit value ${e}`);return t}function Pt(e,t){let n={};for(let r in e)if(vt(e,r)){let i=e[r];if(i==null)continue;n[t(r)]=Nt(i)}return n}function Ft(e,t){let n=Math.trunc(Math.abs(e/60)),r=Math.trunc(Math.abs(e%60)),i=e>=0?`+`:`-`;switch(t){case`short`:return`${i}${G(n,2)}:${G(r,2)}`;case`narrow`:return`${i}${n}${r>0?`:${r}`:``}`;case`techie`:return`${i}${G(n,2)}${G(r,2)}`;default:throw RangeError(`Value format ${t} is out of range for property format`)}}function It(e){return _t(e,[`hour`,`minute`,`second`,`millisecond`])}var Lt=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Rt=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],zt=[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`];function Bt(e){switch(e){case`narrow`:return[...zt];case`short`:return[...Rt];case`long`:return[...Lt];case`numeric`:return[`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`,`10`,`11`,`12`];case`2-digit`:return[`01`,`02`,`03`,`04`,`05`,`06`,`07`,`08`,`09`,`10`,`11`,`12`];default:return null}}var Vt=[`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`,`Sunday`],Ht=[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],Ut=[`M`,`T`,`W`,`T`,`F`,`S`,`S`];function Wt(e){switch(e){case`narrow`:return[...Ut];case`short`:return[...Ht];case`long`:return[...Vt];case`numeric`:return[`1`,`2`,`3`,`4`,`5`,`6`,`7`];default:return null}}var Gt=[`AM`,`PM`],Kt=[`Before Christ`,`Anno Domini`],qt=[`BC`,`AD`],Jt=[`B`,`A`];function Yt(e){switch(e){case`narrow`:return[...Jt];case`short`:return[...qt];case`long`:return[...Kt];default:return null}}function Xt(e){return Gt[e.hour<12?0:1]}function Zt(e,t){return Wt(t)[e.weekday-1]}function Qt(e,t){return Bt(t)[e.month-1]}function $t(e,t){return Yt(t)[e.year<0?0:1]}function en(e,t,n=`always`,r=!1){let i={years:[`year`,`yr.`],quarters:[`quarter`,`qtr.`],months:[`month`,`mo.`],weeks:[`week`,`wk.`],days:[`day`,`day`,`days`],hours:[`hour`,`hr.`],minutes:[`minute`,`min.`],seconds:[`second`,`sec.`]},a=[`hours`,`minutes`,`seconds`].indexOf(e)===-1;if(n===`auto`&&a){let n=e===`days`;switch(t){case 1:return n?`tomorrow`:`next ${i[e][0]}`;case-1:return n?`yesterday`:`last ${i[e][0]}`;case 0:return n?`today`:`this ${i[e][0]}`}}let o=Object.is(t,-0)||t<0,s=Math.abs(t),c=s===1,l=i[e],u=r?c?l[1]:l[2]||l[1]:c?i[e][0]:e;return o?`${s} ${u} ago`:`in ${s} ${u}`}function tn(e,t){let n=``;for(let r of e)r.literal?n+=r.val:n+=t(r.val);return n}var nn={D:f,DD:p,DDD:h,DDDD:g,t:_,tt:v,ttt:y,tttt:ee,T:te,TT:b,TTT:x,TTTT:S,f:C,ff:re,fff:oe,ffff:ce,F:ne,FF:ie,FFF:se,FFFF:w},q=class e{static create(t,n={}){return new e(t,n)}static parseFormat(e){let t=null,n=``,r=!1,i=[];for(let a=0;a<e.length;a++){let o=e.charAt(a);o===`'`?((n.length>0||r)&&i.push({literal:r||/^\s+$/.test(n),val:n===``?`'`:n}),t=null,n=``,r=!r):r||o===t?n+=o:(n.length>0&&i.push({literal:/^\s+$/.test(n),val:n}),n=o,t=o)}return n.length>0&&i.push({literal:r||/^\s+$/.test(n),val:n}),i}static macroTokenToFormatOpts(e){return nn[e]}constructor(e,t){this.opts=t,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,t){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,{...this.opts,...t}).format()}dtFormatter(e,t={}){return this.loc.dtFormatter(e,{...this.opts,...t})}formatDateTime(e,t){return this.dtFormatter(e,t).format()}formatDateTimeParts(e,t){return this.dtFormatter(e,t).formatToParts()}formatInterval(e,t){return this.dtFormatter(e.start,t).dtf.formatRange(e.start.toJSDate(),e.end.toJSDate())}resolvedOptions(e,t){return this.dtFormatter(e,t).resolvedOptions()}num(e,t=0,n=void 0){if(this.opts.forceSimple)return G(e,t);let r={...this.opts};return t>0&&(r.padTo=t),n&&(r.signDisplay=n),this.loc.numberFormatter(r).format(e)}formatDateTimeFromString(t,n){let r=this.loc.listingMode()===`en`,i=this.loc.outputCalendar&&this.loc.outputCalendar!==`gregory`,a=(e,n)=>this.loc.extract(t,e,n),o=e=>t.isOffsetFixed&&t.offset===0&&e.allowZ?`Z`:t.isValid?t.zone.formatOffset(t.ts,e.format):``,s=()=>r?Xt(t):a({hour:`numeric`,hourCycle:`h12`},`dayperiod`),c=(e,n)=>r?Qt(t,e):a(n?{month:e}:{month:e,day:`numeric`},`month`),l=(e,n)=>r?Zt(t,e):a(n?{weekday:e}:{weekday:e,month:`long`,day:`numeric`},`weekday`),u=n=>{let r=e.macroTokenToFormatOpts(n);return r?this.formatWithSystemDefault(t,r):n},d=e=>r?$t(t,e):a({era:e},`era`);return tn(e.parseFormat(n),e=>{switch(e){case`S`:return this.num(t.millisecond);case`u`:case`SSS`:return this.num(t.millisecond,3);case`s`:return this.num(t.second);case`ss`:return this.num(t.second,2);case`uu`:return this.num(Math.floor(t.millisecond/10),2);case`uuu`:return this.num(Math.floor(t.millisecond/100));case`m`:return this.num(t.minute);case`mm`:return this.num(t.minute,2);case`h`:return this.num(t.hour%12==0?12:t.hour%12);case`hh`:return this.num(t.hour%12==0?12:t.hour%12,2);case`H`:return this.num(t.hour);case`HH`:return this.num(t.hour,2);case`Z`:return o({format:`narrow`,allowZ:this.opts.allowZ});case`ZZ`:return o({format:`short`,allowZ:this.opts.allowZ});case`ZZZ`:return o({format:`techie`,allowZ:this.opts.allowZ});case`ZZZZ`:return t.zone.offsetName(t.ts,{format:`short`,locale:this.loc.locale});case`ZZZZZ`:return t.zone.offsetName(t.ts,{format:`long`,locale:this.loc.locale});case`z`:return t.zoneName;case`a`:return s();case`d`:return i?a({day:`numeric`},`day`):this.num(t.day);case`dd`:return i?a({day:`2-digit`},`day`):this.num(t.day,2);case`c`:return this.num(t.weekday);case`ccc`:return l(`short`,!0);case`cccc`:return l(`long`,!0);case`ccccc`:return l(`narrow`,!0);case`E`:return this.num(t.weekday);case`EEE`:return l(`short`,!1);case`EEEE`:return l(`long`,!1);case`EEEEE`:return l(`narrow`,!1);case`L`:return i?a({month:`numeric`,day:`numeric`},`month`):this.num(t.month);case`LL`:return i?a({month:`2-digit`,day:`numeric`},`month`):this.num(t.month,2);case`LLL`:return c(`short`,!0);case`LLLL`:return c(`long`,!0);case`LLLLL`:return c(`narrow`,!0);case`M`:return i?a({month:`numeric`},`month`):this.num(t.month);case`MM`:return i?a({month:`2-digit`},`month`):this.num(t.month,2);case`MMM`:return c(`short`,!1);case`MMMM`:return c(`long`,!1);case`MMMMM`:return c(`narrow`,!1);case`y`:return i?a({year:`numeric`},`year`):this.num(t.year);case`yy`:return i?a({year:`2-digit`},`year`):this.num(t.year.toString().slice(-2),2);case`yyyy`:return i?a({year:`numeric`},`year`):this.num(t.year,4);case`yyyyyy`:return i?a({year:`numeric`},`year`):this.num(t.year,6);case`G`:return d(`short`);case`GG`:return d(`long`);case`GGGGG`:return d(`narrow`);case`kk`:return this.num(t.weekYear.toString().slice(-2),2);case`kkkk`:return this.num(t.weekYear,4);case`W`:return this.num(t.weekNumber);case`WW`:return this.num(t.weekNumber,2);case`n`:return this.num(t.localWeekNumber);case`nn`:return this.num(t.localWeekNumber,2);case`ii`:return this.num(t.localWeekYear.toString().slice(-2),2);case`iiii`:return this.num(t.localWeekYear,4);case`o`:return this.num(t.ordinal);case`ooo`:return this.num(t.ordinal,3);case`q`:return this.num(t.quarter);case`qq`:return this.num(t.quarter,2);case`X`:return this.num(Math.floor(t.ts/1e3));case`x`:return this.num(t.ts);default:return u(e)}})}formatDurationFromString(t,n){let r=this.opts.signMode===`negativeLargestOnly`?-1:1,i=e=>{switch(e[0]){case`S`:return`milliseconds`;case`s`:return`seconds`;case`m`:return`minutes`;case`h`:return`hours`;case`d`:return`days`;case`w`:return`weeks`;case`M`:return`months`;case`y`:return`years`;default:return null}},a=(e,t)=>n=>{let a=i(n);if(a){let i=t.isNegativeDuration&&a!==t.largestUnit?r:1,o;return o=this.opts.signMode===`negativeLargestOnly`&&a!==t.largestUnit?`never`:this.opts.signMode===`all`?`always`:`auto`,this.num(e.get(a)*i,n.length,o)}else return n},o=e.parseFormat(n),s=o.reduce((e,{literal:t,val:n})=>t?e:e.concat(n),[]),c=t.shiftTo(...s.map(i).filter(e=>e));return tn(o,a(c,{isNegativeDuration:c<0,largestUnit:Object.keys(c.values)[0]}))}},rn=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function an(...e){let t=e.reduce((e,t)=>e+t.source,``);return RegExp(`^${t}$`)}function on(...e){return t=>e.reduce(([e,n,r],i)=>{let[a,o,s]=i(t,r);return[{...e,...a},o||n,s]},[{},null,1]).slice(0,2)}function sn(e,...t){if(e==null)return[null,null];for(let[n,r]of t){let t=n.exec(e);if(t)return r(t)}return[null,null]}function cn(...e){return(t,n)=>{let r={},i;for(i=0;i<e.length;i++)r[e[i]]=K(t[n+i]);return[r,null,n+i]}}var ln=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,un=`(?:${ln.source}?(?:\\[(${rn.source})\\])?)?`,dn=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,fn=RegExp(`${dn.source}${un}`),pn=RegExp(`(?:[Tt]${fn.source})?`),mn=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,hn=/(\d{4})-?W(\d\d)(?:-?(\d))?/,gn=/(\d{4})-?(\d{3})/,_n=cn(`weekYear`,`weekNumber`,`weekDay`),vn=cn(`year`,`ordinal`),yn=/(\d{4})-(\d\d)-(\d\d)/,bn=RegExp(`${dn.source} ?(?:${ln.source}|(${rn.source}))?`),xn=RegExp(`(?: ${bn.source})?`);function Sn(e,t,n){let r=e[t];return H(r)?n:K(r)}function Cn(e,t){return[{year:Sn(e,t),month:Sn(e,t+1,1),day:Sn(e,t+2,1)},null,t+3]}function wn(e,t){return[{hours:Sn(e,t,0),minutes:Sn(e,t+1,0),seconds:Sn(e,t+2,0),milliseconds:St(e[t+3])},null,t+4]}function Tn(e,t){let n=!e[t]&&!e[t+1],r=Mt(e[t+1],e[t+2]);return[{},n?null:F.instance(r),t+3]}function En(e,t){return[{},e[t]?A.create(e[t]):null,t+1]}var Dn=RegExp(`^T?${dn.source}$`),On=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function kn(e){let[t,n,r,i,a,o,s,c,l]=e,u=t[0]===`-`,d=c&&c[0]===`-`,f=(e,t=!1)=>e!==void 0&&(t||e&&u)?-e:e;return[{years:f(xt(n)),months:f(xt(r)),weeks:f(xt(i)),days:f(xt(a)),hours:f(xt(o)),minutes:f(xt(s)),seconds:f(xt(c),c===`-0`),milliseconds:f(St(l),d)}]}var An={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function jn(e,t,n,r,i,a,o){let s={year:t.length===2?At(K(t)):K(t),month:Rt.indexOf(n)+1,day:K(r),hour:K(i),minute:K(a)};return o&&(s.second=K(o)),e&&(s.weekday=e.length>3?Vt.indexOf(e)+1:Ht.indexOf(e)+1),s}var Mn=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function Nn(e){let[,t,n,r,i,a,o,s,c,l,u,d]=e,f=jn(t,i,r,n,a,o,s),p;return p=c?An[c]:l?0:Mt(u,d),[f,new F(p)]}function Pn(e){return e.replace(/\([^()]*\)|[\n\t]/g,` `).replace(/(\s\s+)/g,` `).trim()}var Fn=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,In=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,Ln=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function Rn(e){let[,t,n,r,i,a,o,s]=e;return[jn(t,i,r,n,a,o,s),F.utcInstance]}function zn(e){let[,t,n,r,i,a,o,s]=e;return[jn(t,s,n,r,i,a,o),F.utcInstance]}var Bn=an(mn,pn),Vn=an(hn,pn),Hn=an(gn,pn),Un=an(fn),Wn=on(Cn,wn,Tn,En),Gn=on(_n,wn,Tn,En),Kn=on(vn,wn,Tn,En),qn=on(wn,Tn,En);function Jn(e){return sn(e,[Bn,Wn],[Vn,Gn],[Hn,Kn],[Un,qn])}function Yn(e){return sn(Pn(e),[Mn,Nn])}function Xn(e){return sn(e,[Fn,Rn],[In,Rn],[Ln,zn])}function Zn(e){return sn(e,[On,kn])}var Qn=on(wn);function $n(e){return sn(e,[Dn,Qn])}var er=an(yn,xn),tr=an(bn),nr=on(wn,Tn,En);function rr(e){return sn(e,[er,Wn],[tr,nr])}var ir=`Invalid Duration`,ar={weeks:{days:7,hours:168,minutes:10080,seconds:10080*60,milliseconds:10080*60*1e3},days:{hours:24,minutes:1440,seconds:1440*60,milliseconds:1440*60*1e3},hours:{minutes:60,seconds:3600,milliseconds:3600*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},or={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:2184*60,seconds:2184*60*60,milliseconds:2184*60*60*1e3},months:{weeks:4,days:30,hours:720,minutes:720*60,seconds:720*60*60,milliseconds:720*60*60*1e3},...ar},J=146097/400,sr=146097/4800,cr={years:{quarters:4,months:12,weeks:J/7,days:J,hours:J*24,minutes:J*24*60,seconds:J*24*60*60,milliseconds:J*24*60*60*1e3},quarters:{months:3,weeks:J/28,days:J/4,hours:J*24/4,minutes:J*24*60/4,seconds:J*24*60*60/4,milliseconds:J*24*60*60*1e3/4},months:{weeks:sr/7,days:sr,hours:sr*24,minutes:sr*24*60,seconds:sr*24*60*60,milliseconds:sr*24*60*60*1e3},...ar},lr=[`years`,`quarters`,`months`,`weeks`,`days`,`hours`,`minutes`,`seconds`,`milliseconds`],ur=lr.slice(0).reverse();function Y(e,t,n=!1){return new X({values:n?t.values:{...e.values,...t.values||{}},loc:e.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||e.conversionAccuracy,matrix:t.matrix||e.matrix})}function dr(e,t){let n=t.milliseconds??0;for(let r of ur.slice(1))t[r]&&(n+=t[r]*e[r].milliseconds);return n}function fr(e,t){let n=dr(e,t)<0?-1:1;lr.reduceRight((r,i)=>{if(H(t[i]))return r;if(r){let a=t[r]*n,o=e[i][r],s=Math.floor(a/o);t[i]+=s*n,t[r]-=s*o*n}return i},null),lr.reduce((n,r)=>{if(H(t[r]))return n;if(n){let i=t[n]%1;t[n]-=i,t[r]+=i*e[n][r]}return r},null)}function pr(e){let t={};for(let[n,r]of Object.entries(e))r!==0&&(t[n]=r);return t}var X=class e{constructor(e){let t=e.conversionAccuracy===`longterm`||!1,n=t?cr:or;e.matrix&&(n=e.matrix),this.values=e.values,this.loc=e.loc||P.create(),this.conversionAccuracy=t?`longterm`:`casual`,this.invalid=e.invalid||null,this.matrix=n,this.isLuxonDuration=!0}static fromMillis(t,n){return e.fromObject({milliseconds:t},n)}static fromObject(t,n={}){if(typeof t!=`object`||!t)throw new s(`Duration.fromObject: argument expected to be an object, got ${t===null?`null`:typeof t}`);return new e({values:Pt(t,e.normalizeUnit),loc:P.fromObject(n),conversionAccuracy:n.conversionAccuracy,matrix:n.matrix})}static fromDurationLike(t){if(U(t))return e.fromMillis(t);if(e.isDuration(t))return t;if(typeof t==`object`)return e.fromObject(t);throw new s(`Unknown duration argument ${t} of type ${typeof t}`)}static fromISO(t,n){let[r]=Zn(t);return r?e.fromObject(r,n):e.invalid(`unparsable`,`the input "${t}" can't be parsed as ISO 8601`)}static fromISOTime(t,n){let[r]=$n(t);return r?e.fromObject(r,n):e.invalid(`unparsable`,`the input "${t}" can't be parsed as ISO 8601`)}static invalid(t,n=null){if(!t)throw new s(`need to specify a reason the Duration is invalid`);let r=t instanceof B?t:new B(t,n);if(z.throwOnInvalid)throw new i(r);return new e({invalid:r})}static normalizeUnit(e){let t={year:`years`,years:`years`,quarter:`quarters`,quarters:`quarters`,month:`months`,months:`months`,week:`weeks`,weeks:`weeks`,day:`days`,days:`days`,hour:`hours`,hours:`hours`,minute:`minutes`,minutes:`minutes`,second:`seconds`,seconds:`seconds`,millisecond:`milliseconds`,milliseconds:`milliseconds`}[e&&e.toLowerCase()];if(!t)throw new o(e);return t}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,t={}){let n={...t,floor:t.round!==!1&&t.floor!==!1};return this.isValid?q.create(this.loc,n).formatDurationFromString(this,e):ir}toHuman(e={}){if(!this.isValid)return ir;let t=e.showZeros!==!1,n=lr.map(n=>{let r=this.values[n];return H(r)||r===0&&!t?null:this.loc.numberFormatter({style:`unit`,unitDisplay:`long`,...e,unit:n.slice(0,-1)}).format(r)}).filter(e=>e);return this.loc.listFormatter({type:`conjunction`,style:e.listStyle||`narrow`,...e}).format(n)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let e=`P`;return this.years!==0&&(e+=this.years+`Y`),(this.months!==0||this.quarters!==0)&&(e+=this.months+this.quarters*3+`M`),this.weeks!==0&&(e+=this.weeks+`W`),this.days!==0&&(e+=this.days+`D`),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(e+=`T`),this.hours!==0&&(e+=this.hours+`H`),this.minutes!==0&&(e+=this.minutes+`M`),(this.seconds!==0||this.milliseconds!==0)&&(e+=Ct(this.seconds+this.milliseconds/1e3,3)+`S`),e===`P`&&(e+=`T0S`),e}toISOTime(e={}){if(!this.isValid)return null;let t=this.toMillis();return t<0||t>=864e5?null:(e={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:`extended`,...e,includeOffset:!1},$.fromMillis(t,{zone:`UTC`}).toISOTime(e))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for(`nodejs.util.inspect.custom`)](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?dr(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(t){if(!this.isValid)return this;let n=e.fromDurationLike(t),r={};for(let e of lr)(vt(n.values,e)||vt(this.values,e))&&(r[e]=n.get(e)+this.get(e));return Y(this,{values:r},!0)}minus(t){if(!this.isValid)return this;let n=e.fromDurationLike(t);return this.plus(n.negate())}mapUnits(e){if(!this.isValid)return this;let t={};for(let n of Object.keys(this.values))t[n]=Nt(e(this.values[n],n));return Y(this,{values:t},!0)}get(t){return this[e.normalizeUnit(t)]}set(t){if(!this.isValid)return this;let n={...this.values,...Pt(t,e.normalizeUnit)};return Y(this,{values:n})}reconfigure({locale:e,numberingSystem:t,conversionAccuracy:n,matrix:r}={}){let i={loc:this.loc.clone({locale:e,numberingSystem:t}),matrix:r,conversionAccuracy:n};return Y(this,i)}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;let e=this.toObject();return fr(this.matrix,e),Y(this,{values:e},!0)}rescale(){if(!this.isValid)return this;let e=pr(this.normalize().shiftToAll().toObject());return Y(this,{values:e},!0)}shiftTo(...t){if(!this.isValid||t.length===0)return this;t=t.map(t=>e.normalizeUnit(t));let n={},r={},i=this.toObject(),a;for(let e of lr)if(t.indexOf(e)>=0){a=e;let t=0;for(let n in r)t+=this.matrix[n][e]*r[n],r[n]=0;U(i[e])&&(t+=i[e]);let o=Math.trunc(t);n[e]=o,r[e]=(t*1e3-o*1e3)/1e3}else U(i[e])&&(r[e]=i[e]);for(let e in r)r[e]!==0&&(n[a]+=e===a?r[e]:r[e]/this.matrix[a][e]);return fr(this.matrix,n),Y(this,{values:n},!0)}shiftToAll(){return this.isValid?this.shiftTo(`years`,`months`,`weeks`,`days`,`hours`,`minutes`,`seconds`,`milliseconds`):this}negate(){if(!this.isValid)return this;let e={};for(let t of Object.keys(this.values))e[t]=this.values[t]===0?0:-this.values[t];return Y(this,{values:e},!0)}removeZeros(){if(!this.isValid)return this;let e=pr(this.values);return Y(this,{values:e},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid||!this.loc.equals(e.loc))return!1;function t(e,t){return e===void 0||e===0?t===void 0||t===0:e===t}for(let n of lr)if(!t(this.values[n],e.values[n]))return!1;return!0}},mr=`Invalid Interval`;function hr(e,t){return!e||!e.isValid?gr.invalid(`missing or invalid start`):!t||!t.isValid?gr.invalid(`missing or invalid end`):t<e?gr.invalid(`end before start`,`The end of an interval must be after its start, but you had start=${e.toISO()} and end=${t.toISO()}`):null}var gr=class e{constructor(e){this.s=e.start,this.e=e.end,this.invalid=e.invalid||null,this.isLuxonInterval=!0}static invalid(t,n=null){if(!t)throw new s(`need to specify a reason the Interval is invalid`);let i=t instanceof B?t:new B(t,n);if(z.throwOnInvalid)throw new r(i);return new e({invalid:i})}static fromDateTimes(t,n){let r=_i(t),i=_i(n);return hr(r,i)??new e({start:r,end:i})}static after(t,n){let r=X.fromDurationLike(n),i=_i(t);return e.fromDateTimes(i,i.plus(r))}static before(t,n){let r=X.fromDurationLike(n),i=_i(t);return e.fromDateTimes(i.minus(r),i)}static fromISO(t,n){let[r,i]=(t||``).split(`/`,2);if(r&&i){let t,a;try{t=$.fromISO(r,n),a=t.isValid}catch{a=!1}let o,s;try{o=$.fromISO(i,n),s=o.isValid}catch{s=!1}if(a&&s)return e.fromDateTimes(t,o);if(a){let r=X.fromISO(i,n);if(r.isValid)return e.after(t,r)}else if(s){let t=X.fromISO(r,n);if(t.isValid)return e.before(o,t)}}return e.invalid(`unparsable`,`the input "${t}" can't be parsed as ISO 8601`)}static isInterval(e){return e&&e.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get lastDateTime(){return this.isValid&&this.e?this.e.minus(1):null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(e=`milliseconds`){return this.isValid?this.toDuration(e).get(e):NaN}count(e=`milliseconds`,t){if(!this.isValid)return NaN;let n=this.start.startOf(e,t),r;return r=t!=null&&t.useLocaleWeeks?this.end.reconfigure({locale:n.locale}):this.end,r=r.startOf(e,t),Math.floor(r.diff(n,e).get(e))+(r.valueOf()!==this.end.valueOf())}hasSame(e){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,e):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(e){return this.isValid?this.s>e:!1}isBefore(e){return this.isValid?this.e<=e:!1}contains(e){return this.isValid?this.s<=e&&this.e>e:!1}set({start:t,end:n}={}){return this.isValid?e.fromDateTimes(t||this.s,n||this.e):this}splitAt(...t){if(!this.isValid)return[];let n=t.map(_i).filter(e=>this.contains(e)).sort((e,t)=>e.toMillis()-t.toMillis()),r=[],{s:i}=this,a=0;for(;i<this.e;){let t=n[a]||this.e,o=+t>+this.e?this.e:t;r.push(e.fromDateTimes(i,o)),i=o,a+=1}return r}splitBy(t){let n=X.fromDurationLike(t);if(!this.isValid||!n.isValid||n.as(`milliseconds`)===0)return[];let{s:r}=this,i=1,a,o=[];for(;r<this.e;){let t=this.start.plus(n.mapUnits(e=>e*i));a=+t>+this.e?this.e:t,o.push(e.fromDateTimes(r,a)),r=a,i+=1}return o}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s<e.e}abutsStart(e){return this.isValid?+this.e==+e.s:!1}abutsEnd(e){return this.isValid?+e.e==+this.s:!1}engulfs(e){return this.isValid?this.s<=e.s&&this.e>=e.e:!1}equals(e){return!this.isValid||!e.isValid?!1:this.s.equals(e.s)&&this.e.equals(e.e)}intersection(t){if(!this.isValid)return this;let n=this.s>t.s?this.s:t.s,r=this.e<t.e?this.e:t.e;return n>=r?null:e.fromDateTimes(n,r)}union(t){if(!this.isValid)return this;let n=this.s<t.s?this.s:t.s,r=this.e>t.e?this.e:t.e;return e.fromDateTimes(n,r)}static merge(e){let[t,n]=e.sort((e,t)=>e.s-t.s).reduce(([e,t],n)=>t?t.overlaps(n)||t.abutsStart(n)?[e,t.union(n)]:[e.concat([t]),n]:[e,n],[[],null]);return n&&t.push(n),t}static xor(t){let n=null,r=0,i=[],a=t.map(e=>[{time:e.s,type:`s`},{time:e.e,type:`e`}]),o=Array.prototype.concat(...a).sort((e,t)=>e.time-t.time);for(let t of o)r+=t.type===`s`?1:-1,r===1?n=t.time:(n&&+n!=+t.time&&i.push(e.fromDateTimes(n,t.time)),n=null);return e.merge(i)}difference(...t){return e.xor([this].concat(t)).map(e=>this.intersection(e)).filter(e=>e&&!e.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:mr}[Symbol.for(`nodejs.util.inspect.custom`)](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(e=f,t={}){return this.isValid?q.create(this.s.loc.clone(t),e).formatInterval(this):mr}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:mr}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:mr}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:mr}toFormat(e,{separator:t=` – `}={}){return this.isValid?`${this.s.toFormat(e)}${t}${this.e.toFormat(e)}`:mr}toDuration(e,t){return this.isValid?this.e.diff(this.s,e,t):X.invalid(this.invalidReason)}mapEndpoints(t){return e.fromDateTimes(t(this.s),t(this.e))}},_r=class{static hasDST(e=z.defaultZone){let t=$.now().setZone(e).set({month:12});return!e.isUniversal&&t.offset!==t.set({month:6}).offset}static isValidIANAZone(e){return A.isValidZone(e)}static normalizeZone(e){return I(e,z.defaultZone)}static getStartOfWeek({locale:e=null,locObj:t=null}={}){return(t||P.create(e)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:e=null,locObj:t=null}={}){return(t||P.create(e)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:e=null,locObj:t=null}={}){return(t||P.create(e)).getWeekendDays().slice()}static months(e=`long`,{locale:t=null,numberingSystem:n=null,locObj:r=null,outputCalendar:i=`gregory`}={}){return(r||P.create(t,n,i)).months(e)}static monthsFormat(e=`long`,{locale:t=null,numberingSystem:n=null,locObj:r=null,outputCalendar:i=`gregory`}={}){return(r||P.create(t,n,i)).months(e,!0)}static weekdays(e=`long`,{locale:t=null,numberingSystem:n=null,locObj:r=null}={}){return(r||P.create(t,n,null)).weekdays(e)}static weekdaysFormat(e=`long`,{locale:t=null,numberingSystem:n=null,locObj:r=null}={}){return(r||P.create(t,n,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return P.create(e).meridiems()}static eras(e=`short`,{locale:t=null}={}){return P.create(t,null,`gregory`).eras(e)}static features(){return{relative:pt(),localeWeek:mt()}}};function vr(e,t){let n=e=>e.toUTC(0,{keepLocalTime:!0}).startOf(`day`).valueOf(),r=n(t)-n(e);return Math.floor(X.fromMillis(r).as(`days`))}function yr(e,t,n){let r=[[`years`,(e,t)=>t.year-e.year],[`quarters`,(e,t)=>t.quarter-e.quarter+(t.year-e.year)*4],[`months`,(e,t)=>t.month-e.month+(t.year-e.year)*12],[`weeks`,(e,t)=>{let n=vr(e,t);return(n-n%7)/7}],[`days`,vr]],i={},a=e,o,s;for(let[c,l]of r)n.indexOf(c)>=0&&(o=c,i[c]=l(e,t),s=a.plus(i),s>t?(i[c]--,e=a.plus(i),e>t&&(s=e,i[c]--,e=a.plus(i))):e=s);return[e,i,s,o]}function br(e,t,n,r){let[i,a,o,s]=yr(e,t,n),c=t-i,l=n.filter(e=>[`hours`,`minutes`,`seconds`,`milliseconds`].indexOf(e)>=0);l.length===0&&(o<t&&(o=i.plus({[s]:1})),o!==i&&(a[s]=(a[s]||0)+c/(o-i)));let u=X.fromObject(a,r);return l.length>0?X.fromMillis(c,r).shiftTo(...l).plus(u):u}var xr=`missing Intl.DateTimeFormat.formatToParts support`;function Z(e,t=e=>e){return{regex:e,deser:([e])=>t(ze(e))}}var Sr=`[ \xA0]`,Cr=new RegExp(Sr,`g`);function wr(e){return e.replace(/\./g,`\\.?`).replace(Cr,Sr)}function Tr(e){return e.replace(/\./g,``).replace(Cr,` `).toLowerCase()}function Q(e,t){return e===null?null:{regex:RegExp(e.map(wr).join(`|`)),deser:([n])=>e.findIndex(e=>Tr(n)===Tr(e))+t}}function Er(e,t){return{regex:e,deser:([,e,t])=>Mt(e,t),groups:t}}function Dr(e){return{regex:e,deser:([e])=>e}}function Or(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,`\\$&`)}function kr(e,t){let n=L(t),r=L(t,`{2}`),i=L(t,`{3}`),a=L(t,`{4}`),o=L(t,`{6}`),s=L(t,`{1,2}`),c=L(t,`{1,3}`),l=L(t,`{1,6}`),u=L(t,`{1,9}`),d=L(t,`{2,4}`),f=L(t,`{4,6}`),p=e=>({regex:RegExp(Or(e.val)),deser:([e])=>e,literal:!0}),m=(m=>{if(e.literal)return p(m);switch(m.val){case`G`:return Q(t.eras(`short`),0);case`GG`:return Q(t.eras(`long`),0);case`y`:return Z(l);case`yy`:return Z(d,At);case`yyyy`:return Z(a);case`yyyyy`:return Z(f);case`yyyyyy`:return Z(o);case`M`:return Z(s);case`MM`:return Z(r);case`MMM`:return Q(t.months(`short`,!0),1);case`MMMM`:return Q(t.months(`long`,!0),1);case`L`:return Z(s);case`LL`:return Z(r);case`LLL`:return Q(t.months(`short`,!1),1);case`LLLL`:return Q(t.months(`long`,!1),1);case`d`:return Z(s);case`dd`:return Z(r);case`o`:return Z(c);case`ooo`:return Z(i);case`HH`:return Z(r);case`H`:return Z(s);case`hh`:return Z(r);case`h`:return Z(s);case`mm`:return Z(r);case`m`:return Z(s);case`q`:return Z(s);case`qq`:return Z(r);case`s`:return Z(s);case`ss`:return Z(r);case`S`:return Z(c);case`SSS`:return Z(i);case`u`:return Dr(u);case`uu`:return Dr(s);case`uuu`:return Z(n);case`a`:return Q(t.meridiems(),0);case`kkkk`:return Z(a);case`kk`:return Z(d,At);case`W`:return Z(s);case`WW`:return Z(r);case`E`:case`c`:return Z(n);case`EEE`:return Q(t.weekdays(`short`,!1),1);case`EEEE`:return Q(t.weekdays(`long`,!1),1);case`ccc`:return Q(t.weekdays(`short`,!0),1);case`cccc`:return Q(t.weekdays(`long`,!0),1);case`Z`:case`ZZ`:return Er(RegExp(`([+-]${s.source})(?::(${r.source}))?`),2);case`ZZZ`:return Er(RegExp(`([+-]${s.source})(${r.source})?`),2);case`z`:return Dr(/[a-z_+-/]{1,256}?/i);case` `:return Dr(/[^\S\n\r]/);default:return p(m)}})(e)||{invalidReason:xr};return m.token=e,m}var Ar={year:{"2-digit":`yy`,numeric:`yyyyy`},month:{numeric:`M`,"2-digit":`MM`,short:`MMM`,long:`MMMM`},day:{numeric:`d`,"2-digit":`dd`},weekday:{short:`EEE`,long:`EEEE`},dayperiod:`a`,dayPeriod:`a`,hour12:{numeric:`h`,"2-digit":`hh`},hour24:{numeric:`H`,"2-digit":`HH`},minute:{numeric:`m`,"2-digit":`mm`},second:{numeric:`s`,"2-digit":`ss`},timeZoneName:{long:`ZZZZZ`,short:`ZZZ`}};function jr(e,t,n){let{type:r,value:i}=e;if(r===`literal`){let e=/^\s+$/.test(i);return{literal:!e,val:e?` `:i}}let a=t[r],o=r;r===`hour`&&(o=t.hour12==null?t.hourCycle==null?n.hour12?`hour12`:`hour24`:t.hourCycle===`h11`||t.hourCycle===`h12`?`hour12`:`hour24`:t.hour12?`hour12`:`hour24`);let s=Ar[o];if(typeof s==`object`&&(s=s[a]),s)return{literal:!1,val:s}}function Mr(e){return[`^${e.map(e=>e.regex).reduce((e,t)=>`${e}(${t.source})`,``)}$`,e]}function Nr(e,t,n){let r=e.match(t);if(r){let e={},t=1;for(let i in n)if(vt(n,i)){let a=n[i],o=a.groups?a.groups+1:1;!a.literal&&a.token&&(e[a.token.val[0]]=a.deser(r.slice(t,t+o))),t+=o}return[r,e]}else return[r,{}]}function Pr(e){let t=e=>{switch(e){case`S`:return`millisecond`;case`s`:return`second`;case`m`:return`minute`;case`h`:case`H`:return`hour`;case`d`:return`day`;case`o`:return`ordinal`;case`L`:case`M`:return`month`;case`y`:return`year`;case`E`:case`c`:return`weekday`;case`W`:return`weekNumber`;case`k`:return`weekYear`;case`q`:return`quarter`;default:return null}},n=null,r;return H(e.z)||(n=A.create(e.z)),H(e.Z)||(n||=new F(e.Z),r=e.Z),H(e.q)||(e.M=(e.q-1)*3+1),H(e.h)||(e.h<12&&e.a===1?e.h+=12:e.h===12&&e.a===0&&(e.h=0)),e.G===0&&e.y&&(e.y=-e.y),H(e.u)||(e.S=St(e.u)),[Object.keys(e).reduce((n,r)=>{let i=t(r);return i&&(n[i]=e[r]),n},{}),n,r]}var Fr=null;function Ir(){return Fr||=$.fromMillis(1555555555555),Fr}function Lr(e,t){if(e.literal)return e;let n=Hr(q.macroTokenToFormatOpts(e.val),t);return n==null||n.includes(void 0)?e:n}function Rr(e,t){return Array.prototype.concat(...e.map(e=>Lr(e,t)))}var zr=class{constructor(e,t){if(this.locale=e,this.format=t,this.tokens=Rr(q.parseFormat(t),e),this.units=this.tokens.map(t=>kr(t,e)),this.disqualifyingUnit=this.units.find(e=>e.invalidReason),!this.disqualifyingUnit){let[e,t]=Mr(this.units);this.regex=RegExp(e,`i`),this.handlers=t}}explainFromTokens(e){if(this.isValid){let[t,n]=Nr(e,this.regex,this.handlers),[r,i,o]=n?Pr(n):[null,null,void 0];if(vt(n,`a`)&&vt(n,`H`))throw new a(`Can't include meridiem when specifying 24-hour format`);return{input:e,tokens:this.tokens,regex:this.regex,rawMatches:t,matches:n,result:r,zone:i,specificOffset:o}}else return{input:e,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}};function Br(e,t,n){return new zr(e,n).explainFromTokens(t)}function Vr(e,t,n){let{result:r,zone:i,specificOffset:a,invalidReason:o}=Br(e,t,n);return[r,i,a,o]}function Hr(e,t){if(!e)return null;let n=q.create(t,e).dtFormatter(Ir()),r=n.formatToParts(),i=n.resolvedOptions();return r.map(t=>jr(t,e,i))}var Ur=`Invalid DateTime`,Wr=864e13;function Gr(e){return new B(`unsupported zone`,`the zone "${e.name}" is not supported`)}function Kr(e){return e.weekData===null&&(e.weekData=tt(e.c)),e.weekData}function qr(e){return e.localWeekData===null&&(e.localWeekData=tt(e.c,e.loc.getMinDaysInFirstWeek(),e.loc.getStartOfWeek())),e.localWeekData}function Jr(e,t){let n={ts:e.ts,zone:e.zone,c:e.c,o:e.o,loc:e.loc,invalid:e.invalid};return new $({...n,...t,old:n})}function Yr(e,t,n){let r=e-t*60*1e3,i=n.offset(r);if(t===i)return[r,t];r-=(i-t)*60*1e3;let a=n.offset(r);return i===a?[r,i]:[e-Math.min(i,a)*60*1e3,Math.max(i,a)]}function Xr(e,t){e+=t*60*1e3;let n=new Date(e);return{year:n.getUTCFullYear(),month:n.getUTCMonth()+1,day:n.getUTCDate(),hour:n.getUTCHours(),minute:n.getUTCMinutes(),second:n.getUTCSeconds(),millisecond:n.getUTCMilliseconds()}}function Zr(e,t,n){return Yr(Dt(e),t,n)}function Qr(e,t){let n=e.o,r=e.c.year+Math.trunc(t.years),i=e.c.month+Math.trunc(t.months)+Math.trunc(t.quarters)*3,a={...e.c,year:r,month:i,day:Math.min(e.c.day,Et(r,i))+Math.trunc(t.days)+Math.trunc(t.weeks)*7},o=X.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as(`milliseconds`),[s,c]=Yr(Dt(a),n,e.zone);return o!==0&&(s+=o,c=e.zone.offset(s)),{ts:s,o:c}}function $r(e,t,n,r,i,a){let{setZone:o,zone:s}=n;if(e&&Object.keys(e).length!==0||t){let r=t||s,i=$.fromObject(e,{...n,zone:r,specificOffset:a});return o?i:i.setZone(s)}else return $.invalid(new B(`unparsable`,`the input "${i}" can't be parsed as ${r}`))}function ei(e,t,n=!0){return e.isValid?q.create(P.create(`en-US`),{allowZ:n,forceSimple:!0}).formatDateTimeFromString(e,t):null}function ti(e,t,n){let r=e.c.year>9999||e.c.year<0,i=``;if(r&&e.c.year>=0&&(i+=`+`),i+=G(e.c.year,r?6:4),n===`year`)return i;if(t){if(i+=`-`,i+=G(e.c.month),n===`month`)return i;i+=`-`}else if(i+=G(e.c.month),n===`month`)return i;return i+=G(e.c.day),i}function ni(e,t,n,r,i,a,o){let s=!n||e.c.millisecond!==0||e.c.second!==0,c=``;switch(o){case`day`:case`month`:case`year`:break;default:if(c+=G(e.c.hour),o===`hour`)break;if(t){if(c+=`:`,c+=G(e.c.minute),o===`minute`)break;s&&(c+=`:`,c+=G(e.c.second))}else{if(c+=G(e.c.minute),o===`minute`)break;s&&(c+=G(e.c.second))}if(o===`second`)break;s&&(!r||e.c.millisecond!==0)&&(c+=`.`,c+=G(e.c.millisecond,3))}return i&&(e.isOffsetFixed&&e.offset===0&&!a?c+=`Z`:e.o<0?(c+=`-`,c+=G(Math.trunc(-e.o/60)),c+=`:`,c+=G(Math.trunc(-e.o%60))):(c+=`+`,c+=G(Math.trunc(e.o/60)),c+=`:`,c+=G(Math.trunc(e.o%60)))),a&&(c+=`[`+e.zone.ianaName+`]`),c}var ri={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},ii={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},ai={ordinal:1,hour:0,minute:0,second:0,millisecond:0},oi=[`year`,`month`,`day`,`hour`,`minute`,`second`,`millisecond`],si=[`weekYear`,`weekNumber`,`weekday`,`hour`,`minute`,`second`,`millisecond`],ci=[`year`,`ordinal`,`hour`,`minute`,`second`,`millisecond`];function li(e){let t={year:`year`,years:`year`,month:`month`,months:`month`,day:`day`,days:`day`,hour:`hour`,hours:`hour`,minute:`minute`,minutes:`minute`,quarter:`quarter`,quarters:`quarter`,second:`second`,seconds:`second`,millisecond:`millisecond`,milliseconds:`millisecond`,weekday:`weekday`,weekdays:`weekday`,weeknumber:`weekNumber`,weeksnumber:`weekNumber`,weeknumbers:`weekNumber`,weekyear:`weekYear`,weekyears:`weekYear`,ordinal:`ordinal`}[e.toLowerCase()];if(!t)throw new o(e);return t}function ui(e){switch(e.toLowerCase()){case`localweekday`:case`localweekdays`:return`localWeekday`;case`localweeknumber`:case`localweeknumbers`:return`localWeekNumber`;case`localweekyear`:case`localweekyears`:return`localWeekYear`;default:return li(e)}}function di(e){if(hi===void 0&&(hi=z.now()),e.type!==`iana`)return e.offset(hi);let t=e.name,n=gi.get(t);return n===void 0&&(n=e.offset(hi),gi.set(t,n)),n}function fi(e,t){let n=I(t.zone,z.defaultZone);if(!n.isValid)return $.invalid(Gr(n));let r=P.fromObject(t),i,a;if(H(e.year))i=z.now();else{for(let t of oi)H(e[t])&&(e[t]=ri[t]);let t=ct(e)||lt(e);if(t)return $.invalid(t);let r=di(n);[i,a]=Zr(e,r,n)}return new $({ts:i,zone:n,loc:r,o:a})}function pi(e,t,n){let r=H(n.round)?!0:n.round,i=H(n.rounding)?`trunc`:n.rounding,a=(e,a)=>(e=Ct(e,r||n.calendary?0:2,n.calendary?`round`:i),t.loc.clone(n).relFormatter(n).format(e,a)),o=r=>n.calendary?t.hasSame(e,r)?0:t.startOf(r).diff(e.startOf(r),r).get(r):t.diff(e,r).get(r);if(n.unit)return a(o(n.unit),n.unit);for(let e of n.units){let t=o(e);if(Math.abs(t)>=1)return a(t,e)}return a(e>t?-0:0,n.units[n.units.length-1])}function mi(e){let t={},n;return e.length>0&&typeof e[e.length-1]==`object`?(t=e[e.length-1],n=Array.from(e).slice(0,e.length-1)):n=Array.from(e),[t,n]}var hi,gi=new Map,$=class e{constructor(e){let t=e.zone||z.defaultZone,n=e.invalid||(Number.isNaN(e.ts)?new B(`invalid input`):null)||(t.isValid?null:Gr(t));this.ts=H(e.ts)?z.now():e.ts;let r=null,i=null;if(!n)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(t))[r,i]=[e.old.c,e.old.o];else{let a=U(e.o)&&!e.old?e.o:t.offset(this.ts);r=Xr(this.ts,a),n=Number.isNaN(r.year)?new B(`invalid input`):null,r=n?null:r,i=n?null:a}this._zone=t,this.loc=e.loc||P.create(),this.invalid=n,this.weekData=null,this.localWeekData=null,this.c=r,this.o=i,this.isLuxonDateTime=!0}static now(){return new e({})}static local(){let[e,t]=mi(arguments),[n,r,i,a,o,s,c]=t;return fi({year:n,month:r,day:i,hour:a,minute:o,second:s,millisecond:c},e)}static utc(){let[e,t]=mi(arguments),[n,r,i,a,o,s,c]=t;return e.zone=F.utcInstance,fi({year:n,month:r,day:i,hour:a,minute:o,second:s,millisecond:c},e)}static fromJSDate(t,n={}){let r=ft(t)?t.valueOf():NaN;if(Number.isNaN(r))return e.invalid(`invalid input`);let i=I(n.zone,z.defaultZone);return i.isValid?new e({ts:r,zone:i,loc:P.fromObject(n)}):e.invalid(Gr(i))}static fromMillis(t,n={}){if(!U(t))throw new s(`fromMillis requires a numerical input, but received a ${typeof t} with value ${t}`);return t<-864e13||t>Wr?e.invalid(`Timestamp out of range`):new e({ts:t,zone:I(n.zone,z.defaultZone),loc:P.fromObject(n)})}static fromSeconds(t,n={}){if(U(t))return new e({ts:t*1e3,zone:I(n.zone,z.defaultZone),loc:P.fromObject(n)});throw new s(`fromSeconds requires a numerical input`)}static fromObject(t,n={}){t||={};let r=I(n.zone,z.defaultZone);if(!r.isValid)return e.invalid(Gr(r));let i=P.fromObject(n),o=Pt(t,ui),{minDaysInFirstWeek:s,startOfWeek:c}=at(o,i),l=z.now(),u=H(n.specificOffset)?r.offset(l):n.specificOffset,d=!H(o.ordinal),f=!H(o.year),p=!H(o.month)||!H(o.day),m=f||p,h=o.weekYear||o.weekNumber;if((m||d)&&h)throw new a(`Can't mix weekYear/weekNumber units with year/month/day or ordinals`);if(p&&d)throw new a(`Can't mix ordinal dates with month/day`);let g=h||o.weekday&&!m,_,v,y=Xr(l,u);g?(_=si,v=ii,y=tt(y,s,c)):d?(_=ci,v=ai,y=rt(y)):(_=oi,v=ri);let ee=!1;for(let e of _){let t=o[e];H(t)?ee?o[e]=v[e]:o[e]=y[e]:ee=!0}let te=(g?ot(o,s,c):d?st(o):ct(o))||lt(o);if(te)return e.invalid(te);let[b,x]=Zr(g?nt(o,s,c):d?it(o):o,u,r),S=new e({ts:b,zone:r,o:x,loc:i});return o.weekday&&m&&t.weekday!==S.weekday?e.invalid(`mismatched weekday`,`you can't specify both a weekday of ${o.weekday} and a date of ${S.toISO()}`):S.isValid?S:e.invalid(S.invalid)}static fromISO(e,t={}){let[n,r]=Jn(e);return $r(n,r,t,`ISO 8601`,e)}static fromRFC2822(e,t={}){let[n,r]=Yn(e);return $r(n,r,t,`RFC 2822`,e)}static fromHTTP(e,t={}){let[n,r]=Xn(e);return $r(n,r,t,`HTTP`,t)}static fromFormat(t,n,r={}){if(H(t)||H(n))throw new s(`fromFormat requires an input string and a format`);let{locale:i=null,numberingSystem:a=null}=r,[o,c,l,u]=Vr(P.fromOpts({locale:i,numberingSystem:a,defaultToEN:!0}),t,n);return u?e.invalid(u):$r(o,c,r,`format ${n}`,t,l)}static fromString(t,n,r={}){return e.fromFormat(t,n,r)}static fromSQL(e,t={}){let[n,r]=rr(e);return $r(n,r,t,`SQL`,e)}static invalid(t,r=null){if(!t)throw new s(`need to specify a reason the DateTime is invalid`);let i=t instanceof B?t:new B(t,r);if(z.throwOnInvalid)throw new n(i);return new e({invalid:i})}static isDateTime(e){return e&&e.isLuxonDateTime||!1}static parseFormatForOpts(e,t={}){let n=Hr(e,P.fromObject(t));return n?n.map(e=>e?e.val:null).join(``):null}static expandFormat(e,t={}){return Rr(q.parseFormat(e),P.fromObject(t)).map(e=>e.val).join(``)}static resetCache(){hi=void 0,gi.clear()}get(e){return this[e]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?Kr(this).weekYear:NaN}get weekNumber(){return this.isValid?Kr(this).weekNumber:NaN}get weekday(){return this.isValid?Kr(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?qr(this).weekday:NaN}get localWeekNumber(){return this.isValid?qr(this).weekNumber:NaN}get localWeekYear(){return this.isValid?qr(this).weekYear:NaN}get ordinal(){return this.isValid?rt(this.c).ordinal:NaN}get monthShort(){return this.isValid?_r.months(`short`,{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?_r.months(`long`,{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?_r.weekdays(`short`,{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?_r.weekdays(`long`,{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:`short`,locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:`long`,locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let e=864e5,t=6e4,n=Dt(this.c),r=this.zone.offset(n-e),i=this.zone.offset(n+e),a=this.zone.offset(n-r*t),o=this.zone.offset(n-i*t);if(a===o)return[this];let s=n-a*t,c=n-o*t,l=Xr(s,a),u=Xr(c,o);return l.hour===u.hour&&l.minute===u.minute&&l.second===u.second&&l.millisecond===u.millisecond?[Jr(this,{ts:s}),Jr(this,{ts:c})]:[this]}get isInLeapYear(){return wt(this.year)}get daysInMonth(){return Et(this.year,this.month)}get daysInYear(){return this.isValid?Tt(this.year):NaN}get weeksInWeekYear(){return this.isValid?kt(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?kt(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(e={}){let{locale:t,numberingSystem:n,calendar:r}=q.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:t,numberingSystem:n,outputCalendar:r}}toUTC(e=0,t={}){return this.setZone(F.instance(e),t)}toLocal(){return this.setZone(z.defaultZone)}setZone(t,{keepLocalTime:n=!1,keepCalendarTime:r=!1}={}){if(t=I(t,z.defaultZone),t.equals(this.zone))return this;if(t.isValid){let e=this.ts;if(n||r){let n=t.offset(this.ts),r=this.toObject();[e]=Zr(r,n,t)}return Jr(this,{ts:e,zone:t})}else return e.invalid(Gr(t))}reconfigure({locale:e,numberingSystem:t,outputCalendar:n}={}){let r=this.loc.clone({locale:e,numberingSystem:t,outputCalendar:n});return Jr(this,{loc:r})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;let t=Pt(e,ui),{minDaysInFirstWeek:n,startOfWeek:r}=at(t,this.loc),i=!H(t.weekYear)||!H(t.weekNumber)||!H(t.weekday),o=!H(t.ordinal),s=!H(t.year),c=!H(t.month)||!H(t.day),l=s||c,u=t.weekYear||t.weekNumber;if((l||o)&&u)throw new a(`Can't mix weekYear/weekNumber units with year/month/day or ordinals`);if(c&&o)throw new a(`Can't mix ordinal dates with month/day`);let d;i?d=nt({...tt(this.c,n,r),...t},n,r):H(t.ordinal)?(d={...this.toObject(),...t},H(t.day)&&(d.day=Math.min(Et(d.year,d.month),d.day))):d=it({...rt(this.c),...t});let[f,p]=Zr(d,this.o,this.zone);return Jr(this,{ts:f,o:p})}plus(e){if(!this.isValid)return this;let t=X.fromDurationLike(e);return Jr(this,Qr(this,t))}minus(e){if(!this.isValid)return this;let t=X.fromDurationLike(e).negate();return Jr(this,Qr(this,t))}startOf(e,{useLocaleWeeks:t=!1}={}){if(!this.isValid)return this;let n={},r=X.normalizeUnit(e);switch(r){case`years`:n.month=1;case`quarters`:case`months`:n.day=1;case`weeks`:case`days`:n.hour=0;case`hours`:n.minute=0;case`minutes`:n.second=0;case`seconds`:n.millisecond=0;break}if(r===`weeks`)if(t){let e=this.loc.getStartOfWeek(),{weekday:t}=this;t<e&&(n.weekNumber=this.weekNumber-1),n.weekday=e}else n.weekday=1;return r===`quarters`&&(n.month=(Math.ceil(this.month/3)-1)*3+1),this.set(n)}endOf(e,t){return this.isValid?this.plus({[e]:1}).startOf(e,t).minus(1):this}toFormat(e,t={}){return this.isValid?q.create(this.loc.redefaultToEN(t)).formatDateTimeFromString(this,e):Ur}toLocaleString(e=f,t={}){return this.isValid?q.create(this.loc.clone(t),e).formatDateTime(this):Ur}toLocaleParts(e={}){return this.isValid?q.create(this.loc.clone(e),e).formatDateTimeParts(this):[]}toISO({format:e=`extended`,suppressSeconds:t=!1,suppressMilliseconds:n=!1,includeOffset:r=!0,extendedZone:i=!1,precision:a=`milliseconds`}={}){if(!this.isValid)return null;a=li(a);let o=e===`extended`,s=ti(this,o,a);return oi.indexOf(a)>=3&&(s+=`T`),s+=ni(this,o,t,n,r,i,a),s}toISODate({format:e=`extended`,precision:t=`day`}={}){return this.isValid?ti(this,e===`extended`,li(t)):null}toISOWeekDate(){return ei(this,`kkkk-'W'WW-c`)}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:t=!1,includeOffset:n=!0,includePrefix:r=!1,extendedZone:i=!1,format:a=`extended`,precision:o=`milliseconds`}={}){return this.isValid?(o=li(o),(r&&oi.indexOf(o)>=3?`T`:``)+ni(this,a===`extended`,t,e,n,i,o)):null}toRFC2822(){return ei(this,`EEE, dd LLL yyyy HH:mm:ss ZZZ`,!1)}toHTTP(){return ei(this.toUTC(),`EEE, dd LLL yyyy HH:mm:ss 'GMT'`)}toSQLDate(){return this.isValid?ti(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:t=!1,includeOffsetSpace:n=!0}={}){let r=`HH:mm:ss.SSS`;return(t||e)&&(n&&(r+=` `),t?r+=`z`:e&&(r+=`ZZ`)),ei(this,r,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():Ur}[Symbol.for(`nodejs.util.inspect.custom`)](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};let t={...this.c};return e.includeConfig&&(t.outputCalendar=this.outputCalendar,t.numberingSystem=this.loc.numberingSystem,t.locale=this.loc.locale),t}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,t=`milliseconds`,n={}){if(!this.isValid||!e.isValid)return X.invalid(`created by diffing an invalid DateTime`);let r={locale:this.locale,numberingSystem:this.numberingSystem,...n},i=ht(t).map(X.normalizeUnit),a=e.valueOf()>this.valueOf(),o=br(a?this:e,a?e:this,i,r);return a?o.negate():o}diffNow(t=`milliseconds`,n={}){return this.diff(e.now(),t,n)}until(e){return this.isValid?gr.fromDateTimes(this,e):this}hasSame(e,t,n){if(!this.isValid)return!1;let r=e.valueOf(),i=this.setZone(e.zone,{keepLocalTime:!0});return i.startOf(t,n)<=r&&r<=i.endOf(t,n)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(t={}){if(!this.isValid)return null;let n=t.base||e.fromObject({},{zone:this.zone}),r=t.padding?this<n?-t.padding:t.padding:0,i=[`years`,`months`,`days`,`hours`,`minutes`,`seconds`],a=t.unit;return Array.isArray(t.unit)&&(i=t.unit,a=void 0),pi(n,this.plus(r),{...t,numeric:`always`,units:i,unit:a})}toRelativeCalendar(t={}){return this.isValid?pi(t.base||e.fromObject({},{zone:this.zone}),this,{...t,numeric:`auto`,units:[`years`,`months`,`days`],calendary:!0}):null}static min(...t){if(!t.every(e.isDateTime))throw new s(`min requires all arguments be DateTimes`);return gt(t,e=>e.valueOf(),Math.min)}static max(...t){if(!t.every(e.isDateTime))throw new s(`max requires all arguments be DateTimes`);return gt(t,e=>e.valueOf(),Math.max)}static fromFormatExplain(e,t,n={}){let{locale:r=null,numberingSystem:i=null}=n;return Br(P.fromOpts({locale:r,numberingSystem:i,defaultToEN:!0}),e,t)}static fromStringExplain(t,n,r={}){return e.fromFormatExplain(t,n,r)}static buildFormatParser(e,t={}){let{locale:n=null,numberingSystem:r=null}=t;return new zr(P.fromOpts({locale:n,numberingSystem:r,defaultToEN:!0}),e)}static fromFormatParser(t,n,r={}){if(H(t)||H(n))throw new s(`fromFormatParser requires an input string and a format parser`);let{locale:i=null,numberingSystem:a=null}=r,o=P.fromOpts({locale:i,numberingSystem:a,defaultToEN:!0});if(!o.equals(n.locale))throw new s(`fromFormatParser called with a locale of ${o}, but the format parser was created for ${n.locale}`);let{result:c,zone:l,specificOffset:u,invalidReason:d}=n.explainFromTokens(t);return d?e.invalid(d):$r(c,l,r,`format ${n.format}`,t,u)}static get DATE_SHORT(){return f}static get DATE_MED(){return p}static get DATE_MED_WITH_WEEKDAY(){return m}static get DATE_FULL(){return h}static get DATE_HUGE(){return g}static get TIME_SIMPLE(){return _}static get TIME_WITH_SECONDS(){return v}static get TIME_WITH_SHORT_OFFSET(){return y}static get TIME_WITH_LONG_OFFSET(){return ee}static get TIME_24_SIMPLE(){return te}static get TIME_24_WITH_SECONDS(){return b}static get TIME_24_WITH_SHORT_OFFSET(){return x}static get TIME_24_WITH_LONG_OFFSET(){return S}static get DATETIME_SHORT(){return C}static get DATETIME_SHORT_WITH_SECONDS(){return ne}static get DATETIME_MED(){return re}static get DATETIME_MED_WITH_SECONDS(){return ie}static get DATETIME_MED_WITH_WEEKDAY(){return ae}static get DATETIME_FULL(){return oe}static get DATETIME_FULL_WITH_SECONDS(){return se}static get DATETIME_HUGE(){return ce}static get DATETIME_HUGE_WITH_SECONDS(){return w}};function _i(e){if($.isDateTime(e))return e;if(e&&e.valueOf&&U(e.valueOf()))return $.fromJSDate(e);if(e&&typeof e==`object`)return $.fromObject(e);throw new s(`Unknown datetime argument: ${e}, of type ${typeof e}`)}e.DateTime=$,e.Duration=X,e.FixedOffsetZone=F,e.IANAZone=A,e.Info=_r,e.Interval=gr,e.InvalidZone=Fe,e.Settings=z,e.SystemZone=D,e.VERSION=`3.7.2`,e.Zone=T})),lt=r(((t,n)=>{var{DateTime:r}=ct(),{IncorrectUsageError:i}=(z(),e(Ke)),a={invalidInterval:`Invalid interval specified. Only "month" value is accepted.`};n.exports={lastPeriodStart:(e,t)=>{if(t===`month`){let t=r.fromISO(e,{zone:`UTC`}),n=r.now().setZone(`UTC`),i=Math.floor(n.diff(t,`months`).months);return t.plus({months:i}).toISO()}throw new i({message:a.invalidInterval})},SUPPORTED_INTERVALS:[`month`]}})),H=r(((e,t)=>{var n=B(),r=st(),{lastPeriodStart:i,SUPPORTED_INTERVALS:a}=lt(),o=/{{([\s\S]+?)}}/g,s=class{constructor({name:e,error:t,helpLink:n,db:r,errors:i}){this.name=e,this.error=t,this.helpLink=n,this.db=r,this.errors=i}generateError(){let e={errorDetails:{name:this.name}};return this.helpLink&&(e.help=this.helpLink),e}};t.exports={MaxLimit:class extends s{constructor({name:e,config:t,helpLink:r,db:i,errors:a}){if(super({name:e,error:t.error||``,helpLink:r,db:i,errors:a}),t.max===void 0)throw new a.IncorrectUsageError({message:`Attempted to setup a max limit without a limit`});if(!t.currentCountQuery)throw new a.IncorrectUsageError({message:`Attempted to setup a max limit without a current count query`});this.currentCountQueryFn=t.currentCountQuery,this.max=t.max,this.formatter=t.formatter,this.fallbackMessage=`This action would exceed the ${n(this.name)} limit on your current plan.`}generateError(e){let t=super.generateError();if(t.message=this.fallbackMessage,this.error){let n=this.formatter||Intl.NumberFormat().format;try{t.message=r(this.error,{interpolate:o})({max:n(this.max),count:n(e),name:this.name})}catch{t.message=this.fallbackMessage}}return t.errorDetails.limit=this.max,t.errorDetails.total=e,new this.errors.HostLimitError(t)}async currentCountQuery(e={}){return await this.currentCountQueryFn(e.transacting??this.db?.knex)}async errorIfWouldGoOverLimit(e={}){let{max:t,addedCount:n=1}=e,r=await this.currentCountQuery(e);if(r+n>(t||this.max))throw this.generateError(r)}async errorIfIsOverLimit(e={}){let t=e.currentCount||await this.currentCountQuery(e);if(t>(e.max||this.max))throw this.generateError(t)}},MaxPeriodicLimit:class extends s{constructor({name:e,config:t,helpLink:r,db:i,errors:o}){if(super({name:e,error:t.error||``,helpLink:r,db:i,errors:o}),t.maxPeriodic===void 0)throw new o.IncorrectUsageError({message:`Attempted to setup a periodic max limit without a limit`});if(!t.currentCountQuery)throw new o.IncorrectUsageError({message:`Attempted to setup a periodic max limit without a current count query`});if(!t.interval)throw new o.IncorrectUsageError({message:`Attempted to setup a periodic max limit without an interval`});if(!a.includes(t.interval))throw new o.IncorrectUsageError({message:`Attempted to setup a periodic max limit without unsupported interval. Please specify one of: ${a}`});if(!t.startDate)throw new o.IncorrectUsageError({message:`Attempted to setup a periodic max limit without a start date`});this.currentCountQueryFn=t.currentCountQuery,this.maxPeriodic=t.maxPeriodic,this.interval=t.interval,this.startDate=t.startDate,this.fallbackMessage=`This action would exceed the ${n(this.name)} limit on your current plan.`}generateError(e){let t=super.generateError();if(t.message=this.fallbackMessage,this.error)try{t.message=r(this.error,{interpolate:o})({max:Intl.NumberFormat().format(this.maxPeriodic),count:Intl.NumberFormat().format(e),name:this.name})}catch{t.message=this.fallbackMessage}return t.errorDetails.limit=this.maxPeriodic,t.errorDetails.total=e,new this.errors.HostLimitError(t)}async currentCountQuery(e={}){let t=i(this.startDate,this.interval);return await this.currentCountQueryFn(e.transacting?e.transacting:this.db?this.db.knex:void 0,t)}async errorIfWouldGoOverLimit(e={}){let{max:t,addedCount:n=1}=e,r=await this.currentCountQuery(e);if(r+n>(t||this.maxPeriodic))throw this.generateError(r)}async errorIfIsOverLimit(e={}){let{max:t}=e,n=await this.currentCountQuery(e);if(n>(t||this.maxPeriodic))throw this.generateError(n)}},FlagLimit:class extends s{constructor({name:e,config:t,helpLink:r,db:i,errors:a}){super({name:e,error:t.error||``,helpLink:r,db:i,errors:a});let o=n(e.replace(/^limit/,``));this.disabled=t.disabled,this.fallbackMessage=`Your plan does not support ${o}. Please upgrade to enable ${o}.`}generateError(){let e=super.generateError();return this.error?e.message=this.error:e.message=this.fallbackMessage,new this.errors.HostLimitError(e)}async errorIfWouldGoOverLimit(){if(this.disabled)throw this.generateError()}async errorIfIsOverLimit(){}isDisabled(){return!!this.disabled}},AllowlistLimit:class extends s{constructor({name:e,config:t,helpLink:r,errors:i}){if(super({name:e,error:t.error||``,helpLink:r,errors:i}),!t.allowlist||!t.allowlist.length)throw new this.errors.IncorrectUsageError({message:`Attempted to setup an allowlist limit without an allowlist`});this.allowlist=t.allowlist,this.fallbackMessage=`This action would exceed the ${n(this.name)} limit on your current plan.`}generateError(){let e=super.generateError();return this.error?e.message=this.error:e.message=this.fallbackMessage,new this.errors.HostLimitError(e)}async errorIfWouldGoOverLimit(e){if(!e||!e.value)throw new this.errors.IncorrectUsageError({message:`Attempted to check an allowlist limit without a value`});if(!this.allowlist.includes(e.value))throw this.generateError()}async errorIfIsOverLimit(e){if(!e||!e.value)throw new this.errors.IncorrectUsageError({message:`Attempted to check an allowlist limit without a value`});if(!this.allowlist.includes(e.value))throw this.generateError()}}}})),U=r(((e,t)=>{t.exports={members:{currentCountQuery:async e=>(await e(`members`).count(`id`,{as:`count`}).first()).count},newsletters:{currentCountQuery:async e=>(await e(`newsletters`).count(`id`,{as:`count`}).where(`status`,`=`,`active`).first()).count},emails:{currentCountQuery:async(e,t)=>(await e(`emails`).sum(`email_count`,{as:`count`}).where(`created_at`,`>=`,t).first()).count},staff:{currentCountQuery:async e=>(await e(`users`).select(`users.id`).leftJoin(`roles_users`,`users.id`,`roles_users.user_id`).leftJoin(`roles`,`roles_users.role_id`,`roles.id`).whereNot(`roles.name`,`Contributor`).andWhereNot(`users.status`,`inactive`).union([e(`invites`).select(`invites.id`).leftJoin(`roles`,`invites.role_id`,`roles.id`).whereNot(`roles.name`,`Contributor`)])).length},customIntegrations:{},customThemes:{},uploads:{currentCountQuery:()=>{},formatter:e=>`${e/1e6}MB`},limitStripeConnect:{},limitAnalytics:{},limitSocialWeb:{},publicSiteAccess:{}}})),ut=r(((t,n)=>{var r=oe(),i=ce(),{IncorrectUsageError:a}=(z(),e(Ke)),{MaxLimit:o,MaxPeriodicLimit:s,FlagLimit:c,AllowlistLimit:l}=H(),u=U(),d={missingErrorsConfig:`Config Missing: 'errors' is required.`,noSubscriptionParameter:`Attempted to setup a periodic max limit without a subscription`};n.exports=class{constructor(){this.limits={}}loadLimits({limits:e={},subscription:t,helpLink:n,db:f,errors:p}){if(!p)throw new a({message:d.missingErrorsConfig});this.errors=p,this.limits={},Object.keys(e).forEach(m=>{if(m=r(m),u[m]){let r=Object.assign({},u[m],e[m]);if(i(r,`allowlist`))this.limits[m]=new l({name:m,config:r,helpLink:n,errors:p});else if(i(r,`max`))this.limits[m]=new o({name:m,config:r,helpLink:n,db:f,errors:p});else if(i(r,`maxPeriodic`)){if(t===void 0)throw new a({message:d.noSubscriptionParameter});let e=Object.assign({},r,t);this.limits[m]=new s({name:m,config:e,helpLink:n,db:f,errors:p})}else this.limits[m]=new c({name:m,config:r,helpLink:n,errors:p})}})}isLimited(e){return!!this.limits[r(e)]}isDisabled(e){if(!this.isLimited(e))return;let t=this.limits[r(e)];if(typeof t.isDisabled!=`function`)throw new a({message:`Limit ${e} does not support .isDisabled()`});return t.isDisabled()}async checkIsOverLimit(e,t={}){if(this.isLimited(e))try{return await this.limits[e].errorIfIsOverLimit(t),!1}catch(e){if(e instanceof this.errors.HostLimitError)return!0;throw e}}async checkWouldGoOverLimit(e,t={}){if(this.isLimited(e))try{return await this.limits[e].errorIfWouldGoOverLimit(t),!1}catch(e){if(e instanceof this.errors.HostLimitError)return!0;throw e}}async errorIfIsOverLimit(e,t={}){this.isLimited(e)&&await this.limits[e].errorIfIsOverLimit(t)}async errorIfWouldGoOverLimit(e,t={}){this.isLimited(e)&&await this.limits[e].errorIfWouldGoOverLimit(t)}async checkIfAnyOverLimit(e={}){for(let t in this.limits)if(await this.checkIsOverLimit(t,e))return!0;return!1}}})),dt=r(((e,t)=>{t.exports=ut()}));export default dt();
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-DX3WBWVO.js";import{n as t,r as n}from"./hooks-BApwwBE0.js";import{c as r,p as i}from"./dist-DGzPJ_bO.js";import{S as a,i as o,n as s,r as c,x as l}from"./chart-BuRT2Y6p.js";import{n as u,t as d}from"./PolarAngleAxis-BGjf7sBu.js";import{n as f,t as p}from"./RadialBarChart-zeFf9mBz.js";var m=e(),h=({config:e,data:t,percentageValue:n,percentageLabel:h,className:g,tooltip:_=!0,size:v=`responsive`})=>{let y=e=>{if(typeof e==`number`)return e;if(typeof e==`string`){let t=Number(e);return Number.isFinite(t)?t:0}return 0},b=(()=>{switch(v){case`sm`:return{barWidth:28,innerRadiusStart:t.length>1?42:56,fontSize:{percentage:`1.2rem`,label:`0.8rem`}};case`md`:return{barWidth:36,innerRadiusStart:t.length>1?60:72,fontSize:{percentage:`1.4rem`,label:`0.9rem`}};case`lg`:return{barWidth:46,innerRadiusStart:t.length>1?72:94,fontSize:{percentage:`1.6rem`,label:`1rem`}};default:return{barWidth:46,innerRadiusStart:t.length>1?72:94,fontSize:{percentage:`1.6rem`,label:`1rem`}}}})(),x={innerRadius:b.innerRadiusStart,outerRadius:b.innerRadiusStart+b.barWidth,startAngle:90,endAngle:-270};return(0,m.jsx)(s,{className:r(`mx-auto`,g),config:e,children:(0,m.jsxs)(p,{data:t,endAngle:x.endAngle,innerRadius:x.innerRadius,outerRadius:x.outerRadius,startAngle:x.startAngle,children:[(0,m.jsxs)(`defs`,{children:[(0,m.jsxs)(`radialGradient`,{cx:`30%`,cy:`30%`,id:`gradientPurple`,r:`70%`,children:[(0,m.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-purple)`,stopOpacity:.5}),(0,m.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-purple)`,stopOpacity:1})]}),(0,m.jsxs)(`radialGradient`,{cx:`30%`,cy:`30%`,id:`gradientBlue`,r:`70%`,children:[(0,m.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-blue)`,stopOpacity:.5}),(0,m.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-blue)`,stopOpacity:1})]}),(0,m.jsxs)(`radialGradient`,{cx:`30%`,cy:`30%`,id:`gradientTeal`,r:`70%`,children:[(0,m.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-teal)`,stopOpacity:.5}),(0,m.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-teal)`,stopOpacity:1})]}),(0,m.jsxs)(`radialGradient`,{cx:`30%`,cy:`30%`,id:`gradientGray`,r:`70%`,children:[(0,m.jsx)(`stop`,{offset:`0%`,stopColor:`var(--chart-gray)`,stopOpacity:.5}),(0,m.jsx)(`stop`,{offset:`100%`,stopColor:`var(--chart-gray)`,stopOpacity:1})]})]}),(0,m.jsx)(d,{angleAxisId:0,domain:[0,1],tick:!1,type:`number`}),(0,m.jsx)(f,{cornerRadius:10,dataKey:`value`,minPointSize:-2,background:!0,children:t.length>1&&(0,m.jsx)(l,{className:`fill-foreground opacity-60`,dataKey:`datatype`,fontSize:11,position:`insideStart`})}),(0,m.jsx)(u,{axisLine:!1,tick:!1,tickLine:!1,children:(0,m.jsx)(a,{content:({viewBox:e})=>{if(e&&`cx`in e&&`cy`in e)return(0,m.jsxs)(`text`,{dominantBaseline:`middle`,textAnchor:`middle`,x:e.cx,y:e.cy,children:[n&&(0,m.jsx)(`tspan`,{className:`fill-foreground text-[1.6rem] font-semibold tracking-tight`,x:e.cx,y:(e.cy||0)-6,children:n}),h&&(0,m.jsx)(`tspan`,{className:`fill-muted-foreground font-medium`,x:e.cx,y:(e.cy||0)+14,children:h})]})}})}),_&&(0,m.jsx)(c,{content:(0,m.jsx)(o,{formatter:(e,t,n)=>{let r=n.payload;return(0,m.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,m.jsx)(`div`,{className:`size-2 rounded-full opacity-50`,style:{backgroundColor:r?.color}}),(0,m.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:r?.datatype}),(0,m.jsx)(`div`,{className:`ml-3 font-mono text-xs`,children:i(y(e))})]})},nameKey:`datatype`,hideLabel:!0}),cursor:!1,isAnimationActive:!1})]})})},g=n({dataType:`LinkResponseType`,path:`/links/`}),_=t({method:`PUT`,path:()=>`/links/bulk/`,body:({editedUrl:e})=>({bulk:{action:`updateLink`,meta:{link:{to:e}}}}),searchParams:({originalUrl:e,postId:t})=>({filter:`post_id:'${t}'+to:'${e}'`})}),v=(e,t=!1)=>{try{let n=[`ref`,`attribution_id`,`attribution_type`],r=new URL(e);for(let e of n)r.searchParams.delete(e);return t?(r.host+(r.pathname===`/`&&!r.search?``:r.pathname)+(r.search?r.search:``)+(r.hash?r.hash:``)).replace(/^www\./,``):r.toString()}catch{return e}},y=(e,t)=>e.find(e=>e.link.link_id===t),b=e=>{let t=(e?.links.map(e=>({link:e.link,count:e.count?.clicks||0}))||[]).map(e=>({...e,link:{...e.link,originalTo:e.link.to,to:v(e.link.to,!1),title:v(e.link.to,!0)}})).reduce((e,t)=>(e[t.link.title]?(e[t.link.title].count||(e[t.link.title].count=0),e[t.link.title].count+=t.count??0):e[t.link.title]=t,e),{});return Object.values(t).sort((e,t)=>{let n=e.count||0;return(t.count||0)-n})};export{g as a,_ as i,y as n,h as o,b as r,v as t};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime-DAXXjFlN.js";import{t as e}from"./react-Bb3IsNbi.js";import{t}from"./jsx-runtime-DX3WBWVO.js";import{c as n}from"./dist-DGzPJ_bO.js";import{t as r}from"./stack-xiN0eQ6Z.js";e();var i=t();function a({className:e,children:t,...a}){return(0,i.jsx)(r,{className:n(`-mx-4 px-4 lg:-mx-5 lg:px-5`,`sticky top-0 z-50`,`bg-gradient-to-b from-background via-background/70 to-background/70 backdrop-blur-md dark:bg-black`,`py-5`,e),"data-list-page":`header`,gap:`lg`,...a,children:t})}function o({className:e,children:t,...a}){return(0,i.jsx)(r,{className:n(`min-h-0 min-w-0 grow pb-4 lg:pb-8`,e),"data-list-page":`body`,gap:`none`,...a,children:t})}var s=Object.assign(function({className:e,children:t,...a}){return(0,i.jsx)(r,{className:n(`h-full min-h-0 grow px-4 lg:px-6`,e),"data-list-page":`list-page`,gap:`none`,...a,children:t})},{Header:a,Body:o});export{s as t};
@@ -0,0 +1,9 @@
1
+ <svg width="290" height="306" viewBox="0 0 290 306" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M65.848 158.776C63.5884 158.663 61.3234 158.816 59.0997 159.233C55.3901 159.831 51.8367 161.161 48.6465 163.145C45.4563 165.13 42.6932 167.729 40.5181 170.791C38.343 173.853 36.7994 177.317 35.9773 180.982C35.1552 184.646 35.071 188.437 35.7297 192.134C37.3464 207.382 53.6124 220.24 68.6704 220.623C70.2159 220.662 71.7617 220.559 73.2884 220.316C89.5829 217.68 93.8492 200.899 91.1633 184.416C88.1293 165.805 74.8568 159.244 65.848 158.776ZM81.8142 202.87C81.1264 203.9 80.1716 204.723 79.052 205.252C77.9323 205.781 76.6899 205.995 75.4576 205.873C73.2912 205.702 71.2711 204.714 69.8063 203.11C68.3415 201.505 67.5416 199.405 67.5686 197.233C67.5309 194.339 68.0892 191.469 69.2086 188.799C69.9077 187.104 69.975 185.214 69.398 183.473C68.8211 181.732 67.6383 180.256 66.0647 179.312C64.1311 178.114 61.8111 177.704 59.5835 178.165C57.4259 178.579 55.5194 179.829 54.2791 181.641C53.4418 182.994 52.7882 184.451 52.3354 185.976C52.2471 186.243 52.1771 186.453 52.1239 186.589C51.3856 188.471 50.2074 189.021 49.4108 188.919C49.1174 188.865 48.8457 188.728 48.628 188.524C48.4104 188.321 48.256 188.059 48.1833 187.769C47.7701 185.257 47.9637 182.683 48.748 180.261C49.5324 177.839 50.8847 175.64 52.6922 173.846C54.2664 172.276 56.1785 171.085 58.2828 170.366C60.387 169.646 62.6279 169.416 64.8347 169.692C67.152 169.971 69.3668 170.808 71.2877 172.133C73.2085 173.459 74.7778 175.231 75.8598 177.298C76.901 179.785 77.3221 182.488 77.0871 185.174C76.852 187.86 75.9678 190.449 74.5104 192.718C74.3262 193.11 74.1575 193.47 74.0134 193.791C73.4893 194.68 73.1999 195.688 73.1727 196.719C73.1455 197.75 73.3812 198.772 73.8577 199.687C74.277 200.245 74.8244 200.695 75.4537 200.997C76.083 201.3 76.7759 201.447 77.474 201.426C78.1405 201.418 78.8035 201.329 79.4489 201.163C80.2858 200.978 81.1512 200.787 81.678 201.414C81.8528 201.611 81.9602 201.858 81.9847 202.12C82.0092 202.382 81.9495 202.645 81.8142 202.87Z" fill="white"/>
3
+ <path d="M274.076 234.139C277.476 225.517 279.441 216.397 279.895 207.141C279.895 195.761 273.447 191.044 269.342 191.044C269.217 190.605 268.405 187.638 267.286 184.066C266.647 181.994 265.888 179.961 265.014 177.978C268.373 173.339 269.795 167.576 268.978 161.908C268.306 157.538 266.227 153.506 263.056 150.423C257.037 145.317 249.854 141.767 242.141 140.085C240.978 139.761 237.148 138.711 236.812 138.608C236.785 138.389 236.532 126.072 236.301 120.784C236.201 115.482 235.411 110.215 233.949 105.117C232.132 97.8006 228.375 91.109 223.075 85.7457C236.346 72.0173 244.63 56.8948 244.61 43.9216C244.572 18.9721 213.869 11.4221 176.034 27.0581C175.992 27.0757 168.073 30.4261 168.016 30.4549C167.981 30.4198 153.523 16.2643 153.306 16.0739C110.169 -21.4759 -24.709 128.138 18.414 164.475L27.8381 172.443C25.295 179.253 24.3972 186.567 25.2176 193.79C26.495 204.298 31.6922 213.937 39.771 220.782C47.6127 227.895 57.7438 231.966 68.3294 232.257C85.1105 270.85 123.452 294.524 168.409 295.857C216.633 297.286 257.115 274.704 274.076 234.139ZM283.975 188.467C288.106 193.795 290.232 200.405 289.98 207.141C289.546 217.648 287.347 228.007 283.476 237.786L283.385 238.015C274.634 259.045 259.356 276.71 239.801 288.408C219.448 300.238 196.259 306.315 172.716 305.987C171.192 305.987 169.64 305.964 168.11 305.918C144.874 305.433 122.191 298.742 102.416 286.539C85.0095 275.637 70.9232 260.179 61.6865 241.841C51.0448 240.19 41.1099 235.492 33.0829 228.317C23.1029 219.796 16.7097 207.824 15.1823 194.794C14.5016 188.464 14.8688 182.064 16.2692 175.853L11.8941 172.156C8.35277 169.099 5.47487 165.35 3.43752 161.14C1.40018 156.93 0.246519 152.348 0.0475372 147.676C-0.311426 137.977 1.36575 128.311 4.97109 119.3C13.9521 94.7948 34.6126 65.6157 60.2417 41.2436C71.6788 30.1519 84.366 20.4251 98.0485 12.2586C109.46 4.96396 122.567 0.744965 136.094 0.0119642C144.818 -0.215438 153.315 2.80569 159.936 8.48861C160.314 8.81806 165.978 14.3541 170.274 18.5598C171.352 18.1052 172.127 17.7782 172.15 17.7695C184.859 12.237 198.517 9.2078 212.375 8.84808C238.052 8.84808 254.664 22.6091 254.696 43.9064C254.716 57.0474 248.26 71.779 236.359 86.0399C239.597 91.0436 242.046 96.5149 243.622 102.262C245.312 108.146 246.238 114.222 246.376 120.342C246.492 122.974 246.61 127.199 246.705 130.928C255.486 133.149 263.6 137.455 270.359 143.481C274.941 148.025 277.946 153.916 278.933 160.291C279.926 166.584 278.953 173.029 276.147 178.749C276.397 179.465 276.657 180.243 276.915 181.067C277.14 181.786 277.352 182.479 277.55 183.137C280.022 184.474 282.205 186.285 283.975 188.467Z" fill="white"/>
4
+ <path d="M253.405 176.007C255.04 174.471 256.316 172.592 257.14 170.506C257.965 168.42 258.318 166.177 258.174 163.939C257.846 161.682 256.793 159.594 255.173 157.989C250.419 154.045 244.763 151.339 238.709 150.11C235.944 149.326 234.068 148.824 232.046 148.152C228.451 146.956 226.675 145.993 226.273 139.164C226.097 136.177 225.581 125.772 225.396 121.473C225.068 113.938 224.17 103.64 217.847 99.3887C216.239 98.3224 214.368 97.7184 212.44 97.6428C211.36 97.5764 210.277 97.6835 209.231 97.96C206.022 98.7093 203.101 100.378 200.826 102.76C197.88 105.449 194.408 107.495 190.628 108.77C186.849 110.045 182.846 110.52 178.873 110.166C174.447 109.979 169.757 109.283 164.381 108.96C163.334 108.899 162.285 108.833 161.238 108.778C154.291 108.983 147.649 111.677 142.524 116.368C137.399 121.059 134.131 127.436 133.318 134.334C130.24 155.73 145.575 166.787 150.002 173.276C150.687 174.104 151.111 175.116 151.221 176.184C151.106 177.369 150.542 178.466 149.645 179.249L149.646 179.255C143.515 186.153 139.211 194.475 137.127 203.462C135.042 212.449 135.243 221.815 137.712 230.704C138.297 232.839 139.047 234.926 139.955 236.945C151.145 263.366 185.857 275.67 219.769 264.479C224.212 263.013 228.522 261.173 232.653 258.979C240.088 255.265 246.776 250.215 252.383 244.082C261.129 235.215 266.874 223.831 268.809 211.531C269.83 204.722 268.334 202.086 266.298 200.819C264.859 200.01 263.193 199.703 261.56 199.945C260.697 194.6 259.182 189.38 257.049 184.403L253.405 176.007Z" fill="white"/>
5
+ <path d="M197.829 73.9634C198.376 74.0889 198.724 73.1442 198.235 72.87C190.133 68.6741 181.197 66.337 172.077 66.0288C171.989 66.0274 171.904 66.0019 171.83 65.955C171.756 65.9081 171.696 65.8417 171.657 65.763C171.619 65.6844 171.602 65.5966 171.61 65.5093C171.619 65.4221 171.651 65.3387 171.703 65.2685C173.121 63.4167 174.775 61.7593 176.625 60.3387C176.708 60.2745 176.768 60.1854 176.797 60.0845C176.825 59.9837 176.821 59.8763 176.784 59.7782C176.747 59.68 176.68 59.5963 176.592 59.5392C176.504 59.4821 176.4 59.4546 176.295 59.4607C165.129 60.5569 154.394 64.3391 145.009 70.484C144.929 70.538 144.834 70.5667 144.738 70.5664C144.641 70.5662 144.547 70.537 144.467 70.4826C144.387 70.4283 144.326 70.3512 144.29 70.2615C144.255 70.1717 144.247 70.0734 144.268 69.9793C145.024 67.1617 146.137 64.452 147.579 61.9158C147.626 61.8287 147.645 61.7287 147.631 61.6305C147.618 61.5322 147.573 61.441 147.503 61.3701C147.434 61.2993 147.343 61.2526 147.245 61.237C147.147 61.2213 147.047 61.2375 146.959 61.2832C133.406 68.7226 121.327 78.5735 111.316 90.3509C111.238 90.4405 111.195 90.5558 111.196 90.6747C111.198 90.7937 111.243 90.908 111.323 90.996C111.403 91.084 111.513 91.1395 111.631 91.1519C111.749 91.1644 111.868 91.1329 111.965 91.0635C123.566 82.9617 136.635 77.1963 150.443 74.0897C166.029 70.4966 182.224 70.4535 197.829 73.9634Z" fill="white"/>
6
+ <path d="M157.912 35.7452C157.912 35.7452 146.171 22.1607 142.627 21.1587C120.822 15.2783 73.7203 47.6962 43.6459 90.5263C31.477 107.856 14.0571 138.544 22.3868 154.328C25.3475 157.872 28.685 161.083 32.3405 163.906C37.9215 156.088 46.321 150.74 55.7695 148.989C67.6275 115.857 88.4426 86.6593 115.903 64.6375C129.08 53.8595 143.132 44.1954 157.912 35.7452Z" fill="white"/>
7
+ <path d="M81.0244 202.282C81.1935 202.486 81.2966 202.737 81.3203 203.002C81.3439 203.266 81.2869 203.532 81.1568 203.763C80.5238 204.789 79.6165 205.619 78.5372 206.158C77.4578 206.697 76.2493 206.923 75.0479 206.813C72.9068 206.582 70.9332 205.548 69.5258 203.919C68.1184 202.29 67.3822 200.188 67.4661 198.037C67.4298 195.106 67.9653 192.197 69.0424 189.47C69.7224 187.762 69.7933 185.872 69.2433 184.118C68.6933 182.364 67.556 180.852 66.0223 179.837C65.1146 179.237 64.0958 178.824 63.0259 178.624C61.9561 178.424 60.857 178.44 59.7935 178.671C58.7516 178.89 57.764 179.316 56.8889 179.922C56.0137 180.528 55.2687 181.303 54.6976 182.201C53.8898 183.583 53.2617 185.063 52.8285 186.604C52.7449 186.875 52.6775 187.088 52.6264 187.225C51.9167 189.139 50.7852 189.696 50.0186 189.594C49.6562 189.544 49.1578 189.302 48.8384 188.426C48.4375 185.895 48.6194 183.305 49.3704 180.854C50.1214 178.404 51.4217 176.157 53.1724 174.284C54.6426 172.706 56.4676 171.501 58.4964 170.767C60.5252 170.034 62.6995 169.794 64.8395 170.067C67.1066 170.379 69.2611 171.247 71.1099 172.595C72.9587 173.943 74.4443 175.728 75.4335 177.79C76.4353 180.325 76.8395 183.056 76.6149 185.772C76.3903 188.488 75.5429 191.116 74.1383 193.452C73.9606 193.849 73.7979 194.213 73.6608 194.543C73.1557 195.455 72.8784 196.476 72.8523 197.518C72.8262 198.561 73.0522 199.594 73.511 200.53C73.8989 201.089 74.4193 201.542 75.0257 201.85C75.632 202.158 76.3053 202.311 76.9853 202.296C77.6264 202.286 78.2638 202.196 78.8823 202.028C79.6873 201.839 80.519 201.646 81.0244 202.282ZM279.46 207.233C279.01 216.467 277.058 225.567 273.68 234.174C256.828 274.654 216.612 297.19 168.704 295.763C124.042 294.433 85.9507 270.808 69.2793 232.296C58.7548 232.002 48.6864 227.938 40.9093 220.845C32.8754 214 27.7137 204.384 26.4506 193.909C25.6354 186.703 26.5272 179.406 29.054 172.607L19.6913 164.656C-23.1488 128.396 110.844 -20.9043 153.7 16.5674C153.917 16.7561 168.279 30.8832 168.315 30.918C168.372 30.8889 176.239 27.5446 176.279 27.5283C213.868 11.9248 244.369 19.4588 244.407 44.3546C244.427 57.302 236.197 72.3932 223.014 86.0917C228.283 91.451 232.013 98.1271 233.815 105.421C235.268 110.51 236.054 115.766 236.152 121.057C236.381 126.334 236.634 138.626 236.659 138.844C236.994 138.946 240.799 139.992 241.953 140.317C249.622 141.998 256.759 145.542 262.732 150.634C265.885 153.715 267.95 157.738 268.615 162.095C269.428 167.748 268.017 173.496 264.678 178.13C265.546 180.111 266.3 182.139 266.936 184.206C268.045 187.772 268.852 190.731 268.977 191.17C273.055 191.17 279.46 195.876 279.46 207.233ZM90.1383 185.02C87.225 166.118 74.4694 159.456 65.8142 158.981C63.6416 158.866 61.4632 159.021 59.3289 159.443C43.8807 162.567 35.1559 175.741 36.8727 192.858C38.123 200.536 41.9274 207.568 47.671 212.819C53.4146 218.069 60.7619 221.23 68.5254 221.792C70.0111 221.831 71.4972 221.727 72.9628 221.48C88.6201 218.803 92.7194 201.76 90.1383 185.02ZM116.543 65.028C129.629 54.2762 143.588 44.6324 158.276 36.1964C158.276 36.1964 146.613 22.6411 143.091 21.6421C121.43 15.7721 74.6355 48.1225 44.7589 90.8623C32.67 108.155 15.3643 138.78 23.6385 154.53C26.5779 158.066 29.8937 161.27 33.5273 164.088C39.0591 156.295 47.4059 150.958 56.8036 149.203C68.5609 116.172 89.2374 87.0378 116.543 65.028ZM163.623 214.611C164.197 217.123 165.439 219.434 167.219 221.298C168.998 223.163 171.249 224.513 173.732 225.205C176.316 226.167 178.982 226.893 181.697 227.373C215.962 233.282 247.996 213.642 255.208 208.696C255.75 208.324 256.107 208.686 255.673 209.342C255.456 209.691 255.22 210.028 254.967 210.351C246.14 221.765 222.409 234.983 191.535 234.978C178.069 234.976 164.611 230.22 159.669 222.913C152.003 211.575 159.289 195.026 172.064 196.751C172.079 196.753 176.435 197.248 177.659 197.384C197.517 199.293 217.533 196.082 235.795 188.058C253.224 179.948 259.808 171.022 258.82 163.797C258.49 161.553 257.435 159.479 255.815 157.89C251.049 153.969 245.39 151.282 239.338 150.066C236.57 149.287 234.691 148.79 232.668 148.122C229.07 146.934 227.292 145.978 226.889 139.196C226.713 136.23 226.198 125.898 226.011 121.628C225.682 114.147 224.785 103.92 218.454 99.6982C216.843 98.6381 214.972 98.0385 213.044 97.9643C211.963 97.8985 210.878 98.0051 209.831 98.2799C206.624 99.0215 203.701 100.678 201.418 103.047C198.46 105.72 194.981 107.752 191.199 109.018C187.418 110.283 183.415 110.754 179.443 110.401C175.014 110.215 170.32 109.524 164.939 109.203C163.892 109.142 162.841 109.077 161.792 109.023C154.864 109.205 148.232 111.867 143.103 116.524C137.974 121.182 134.689 127.526 133.846 134.401C130.766 155.648 146.115 166.628 150.547 173.071C151.231 173.891 151.656 174.897 151.766 175.96C151.649 177.138 151.085 178.227 150.189 179.002V179.009C144.059 185.834 139.751 194.094 137.663 203.024C135.575 211.954 135.775 221.267 138.244 230.099C138.83 232.22 139.581 234.292 140.489 236.296C151.69 262.533 186.435 274.751 220.379 263.637C224.824 262.183 229.138 260.357 233.275 258.178C240.709 254.496 247.402 249.481 253.024 243.383C261.766 234.602 267.519 223.293 269.465 211.059C270.487 204.296 268.991 201.681 266.952 200.422C265.51 199.619 263.843 199.314 262.21 199.554C261.345 194.243 259.829 189.059 257.695 184.119C248 191.43 237.041 196.894 225.366 200.237C211.319 204.204 196.706 205.788 182.135 204.923C172.76 204.164 166.559 201.42 164.226 209.02C178.406 213.759 193.461 215.294 208.307 213.514C208.411 213.504 208.517 213.514 208.617 213.544C208.718 213.574 208.811 213.624 208.893 213.69C208.974 213.757 209.041 213.839 209.091 213.931C209.14 214.024 209.171 214.125 209.181 214.229C209.197 214.405 209.158 214.581 209.069 214.733C208.981 214.885 208.847 215.006 208.687 215.08C208.687 215.08 191.275 223.184 163.623 214.611ZM112.629 91.3979C124.146 83.3176 137.131 77.5642 150.856 74.4611C166.338 70.8754 182.431 70.832 197.932 74.3342C198.475 74.4588 198.821 73.5168 198.335 73.2444C190.291 69.0585 181.412 66.7254 172.348 66.4161C172.261 66.4145 172.175 66.3889 172.102 66.3421C172.028 66.2952 171.969 66.229 171.93 66.1506C171.892 66.0722 171.876 65.9848 171.884 65.8979C171.892 65.811 171.924 65.728 171.976 65.658C173.384 63.8111 175.029 62.1571 176.868 60.7383C176.95 60.674 177.01 60.5852 177.038 60.4846C177.066 60.3841 177.062 60.2771 177.025 60.1793C176.989 60.0815 176.922 59.9979 176.834 59.9407C176.747 59.8836 176.643 59.8558 176.539 59.8615C165.439 60.9582 154.773 64.7333 145.457 70.8622C145.377 70.9161 145.283 70.9448 145.187 70.9445C145.091 70.9443 144.997 70.9152 144.917 70.8609C144.838 70.8066 144.777 70.7297 144.742 70.6403C144.707 70.5508 144.7 70.4528 144.721 70.3592C145.471 67.5486 146.577 64.8448 148.01 62.3129C148.057 62.2263 148.076 62.1268 148.062 62.0289C148.049 61.931 148.005 61.84 147.936 61.7692C147.867 61.6984 147.777 61.6516 147.68 61.6357C147.582 61.6197 147.482 61.6355 147.394 61.6806C133.921 69.1129 121.92 78.944 111.985 90.6892C111.907 90.7782 111.864 90.8928 111.866 91.0111C111.867 91.1294 111.911 91.2431 111.991 91.3306C112.071 91.4181 112.18 91.4733 112.297 91.4857C112.415 91.4982 112.533 91.4669 112.629 91.3979ZM202.862 163.522C203.8 164.115 204.924 164.343 206.019 164.161C207.114 163.979 208.103 163.401 208.799 162.536C209.663 160.864 208.408 158.597 205.995 157.47C205.057 156.877 203.933 156.65 202.838 156.832C201.743 157.015 200.753 157.594 200.058 158.459C199.193 160.129 200.449 162.397 202.862 163.522ZM210.265 136.412C210.844 139.422 212.093 142.263 213.92 144.725C215.808 144.493 217.717 144.493 219.604 144.725C220.708 141.421 220.804 137.864 219.882 134.505C218.518 128.307 216.672 124.556 212.857 125.139C209.043 125.724 208.902 130.214 210.265 136.412ZM218.381 150.649C217.419 150.373 216.394 150.405 215.451 150.741C214.509 151.077 213.695 151.7 213.125 152.521C212.554 153.343 212.256 154.323 212.271 155.323C212.287 156.324 212.615 157.294 213.211 158.098C213.807 158.902 214.639 159.499 215.592 159.805C216.545 160.112 217.57 160.112 218.523 159.807C219.476 159.501 220.309 158.905 220.906 158.102C221.502 157.298 221.832 156.329 221.848 155.329C221.987 154.252 221.703 153.164 221.057 152.291C220.41 151.419 219.451 150.83 218.381 150.649Z" fill="black"/>
8
+ <path d="M155.047 150.095C154.438 150.009 154.179 149.749 154.102 149.404C153.866 148.335 155.511 146.575 157.246 145.305C159.777 143.456 162.742 142.288 165.855 141.915C168.969 141.541 172.126 141.974 175.023 143.173C177.73 144.289 180.058 146.161 181.728 148.566C182.348 149.577 182.468 150.361 182.067 150.771C181.443 151.43 179.85 150.676 177.257 149.539C174.142 148.011 170.699 147.271 167.231 147.381C163.122 148.057 159.054 148.963 155.047 150.095ZM180.892 155.413C179.772 154.235 178.377 153.354 176.832 152.848C175.287 152.342 173.641 152.227 172.041 152.513C169.681 152.764 167.445 153.695 165.605 155.193C164.748 155.808 164.159 156.728 163.959 157.763C163.954 157.878 163.975 157.993 164.019 158.099C164.064 158.206 164.131 158.301 164.217 158.378C164.369 158.516 164.568 158.592 164.773 158.589C165.622 158.465 166.452 158.235 167.244 157.905C170.711 156.599 174.456 156.21 178.118 156.776C179.814 156.967 180.616 157.073 180.988 156.491C181.084 156.323 181.126 156.129 181.109 155.937C181.091 155.744 181.016 155.561 180.892 155.413Z" fill="black"/>
9
+ </svg>
@@ -0,0 +1 @@
1
+ import{i as e,n as t,r as n}from"./hooks-BApwwBE0.js";import{dn as r,pn as i,sn as a}from"./index-ukW_0Uie.js";var o=[`short_text`,`long_text`,`address`];a(o);var s=65535,c=e=>new TextEncoder().encode(e).length,l=r({line1:i().min(1).max(255),line2:i().max(255).optional(),city:i().min(1).max(255),state:i().max(255).optional(),postal_code:i().min(1).max(32),country:i().length(2)}),u={short_text:{storageType:`text`,value:i().max(255)},long_text:{storageType:`text`,value:i().refine(e=>c(e)<=s,{message:`Value must be at most ${s} bytes.`})},address:{storageType:`json`,value:l}},d={short_text:{label:`Short text`,input:`text`},long_text:{label:`Long text`,input:`textarea`},address:{label:`Address`,input:`address`}},f=o.map(e=>({id:e,...d[e]})),p=e=>f.find(t=>t.id===e.type)||f[0],m=`MemberCustomFieldsResponseType`,h=n({dataType:m,path:`/members/custom_fields/`}),g=e=>h({...e,searchParams:{filter:`status:[active,archived]`}});e({dataType:m,path:e=>`/members/custom_fields/${e}/`});var _=t({method:`POST`,path:()=>`/members/custom_fields/`,body:e=>({members_custom_fields:[e]}),invalidateQueries:{dataType:m}}),v=t({method:`PUT`,path:e=>`/members/custom_fields/${e.key}/`,body:({key:e,...t})=>({members_custom_fields:[t]}),invalidateQueries:{dataType:m}}),y=t({method:`DELETE`,path:e=>`/members/custom_fields/${e}/`,invalidateQueries:{dataType:m}});export{y as a,u as c,_ as i,h as n,v as o,g as r,p as s,f as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{t}from"./react-Bb3IsNbi.js";import{t as n}from"./jsx-runtime-DX3WBWVO.js";import{o as r}from"./framework-provider-CmtnPXIT.js";import{a as i}from"./hooks-BApwwBE0.js";import{n as a}from"./dist-Ndy-PuGN.js";import{n as o,t as s}from"./dist-DMFGvqqU.js";import{t as c}from"./currency-CQsJu8iC.js";import{c as l,l as u,m as d,t as f}from"./chunk-KS7C4IRE-DG9HTHQ3.js";import{a as p}from"./router-provider-C1R4AZ2o.js";import{c as m,v as h}from"./dist-DGzPJ_bO.js";import{t as g}from"./box-BWbhXh21.js";import{t as _}from"./container-BYz2Ed39.js";import{t as v}from"./stack-xiN0eQ6Z.js";import{t as y}from"./switch-t-WyENU2.js";import{i as b,n as x,o as ee,s as S,t as te}from"./select-C1qDZnW4.js";import{a as ne,i as re,n as ie,o as ae,r as oe,t as se}from"./breadcrumb-B-M9Ip_2.js";import{n as C,t as w}from"./card-DGoDJzrn.js";import{t as T}from"./empty-indicator-oX1u1Pkn.js";import{t as E}from"./label-dSs5aepE.js";import{t as ce}from"./textarea-Bjccvh_E.js";import{n as D,o as le,t as ue}from"./input-group-CGOXcy4l.js";import{i as O}from"./users-CcSCQFcQ.js";import{$a as de,$o as fe,$r as pe,Cr as k,D as me,Dr as A,E as j,En as M,Er as N,Fi as P,Gr as F,Ja as I,Ji as he,Jn as ge,Ko as _e,La as ve,Lo as L,M as ye,Ma as be,N as R,Nr as z,O as xe,Oo as Se,P as B,Po as V,Qa as H,Rr as Ce,Sn as U,T as we,Tr as W,Ts as G,Ua as Te,Va as Ee,Xa as De,Xn as Oe,Yi as ke,Yr as K,Za as Ae,_ as je,b as Me,bo as Ne,cr as Pe,dr as Fe,eo as Ie,er as q,f as Le,ir as Re,j as ze,jo as Be,k as Ve,lr as He,no as Ue,or as We,pa as Ge,qr as Ke,rr as J,sr as qe,ti as Je,to as Ye,tr as Xe,ur as Ze,v as Qe,vs as $e,wa as et,wr as tt,xr as nt,yo as rt}from"./index-ukW_0Uie.js";import{t as it}from"./page-header-op0eN36I.js";import{r as at}from"./newsletters-D1jbtV-h.js";import{a as ot}from"./tiers-BgYLWRJv.js";import{c as st,n as ct,s as lt}from"./member-custom-fields-NCzrMuba.js";import{n as ut,r as dt}from"./label-picker-Uq91atex.js";var Y=e(t(),1),X=n();function ft({className:e,children:t,...n}){return(0,X.jsx)(v,{className:m(`py-5`,e),"data-detail-page":`header`,gap:`lg`,...n,children:t})}function pt({className:e,children:t,...n}){return(0,X.jsx)(v,{className:m(`min-h-0 min-w-0 grow overflow-y-auto pb-4 lg:pb-8`,e),"data-detail-page":`body`,gap:`none`,...n,children:t})}var mt=Object.assign(function({className:e,children:t,...n}){return(0,X.jsx)(v,{className:m(`h-full min-h-0 grow px-4 lg:px-6`,e),"data-detail-page":`detail-page`,gap:`none`,...n,children:t})},{Header:ft,Body:pt}),ht=new Set([`active`,`trialing`,`unpaid`,`past_due`]);function gt(e){return(e.subscriptions??[]).some(e=>ht.has(e.status))}function _t(e){return e?`Delete member + Cancel subscription`:`Delete member`}var vt=({open:e,onOpenChange:t,member:n,allowLeaveWithUnsavedChanges:r})=>{let i=p(),o=we(),[s,c]=Y.useState(!1);Y.useEffect(()=>{e&&c(!1)},[e]);let l=gt(n),u=n.email||n.name||`this member`,d=async()=>{try{let e=l&&s;await o.mutateAsync({id:n.id,cancel:e}),a.success(e?`${u} was deleted and their Stripe subscription was cancelled.`:`${u} was deleted.`),t(!1),r(),i(`/members`)}catch{a.error(`Couldn’t delete the member. Please try again.`)}};return(0,X.jsx)(nt,{open:e,onOpenChange:e=>{o.isPending||t(e)},children:(0,X.jsxs)(k,{"data-testid":`delete-member-modal`,children:[(0,X.jsxs)(N,{children:[(0,X.jsx)(A,{children:`Delete member account`}),(0,X.jsxs)(tt,{children:[`Permanently delete `,(0,X.jsx)(`strong`,{children:u}),` from Ghost.`]})]}),l&&(0,X.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,X.jsx)(`h4`,{className:`text-sm font-medium`,children:`Also cancel subscription in Stripe`}),(0,X.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`If disabled, the member’s premium subscription will continue`})]}),(0,X.jsx)(y,{"aria-label":`Also cancel subscription in Stripe`,checked:s,"data-testid":`delete-member-cancel-stripe`,disabled:o.isPending,onCheckedChange:c})]}),(0,X.jsxs)(W,{children:[(0,X.jsx)(z,{"data-testid":`cancel-delete-member`,disabled:o.isPending,variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,X.jsx)(z,{"data-testid":`confirm-delete-member`,disabled:o.isPending,variant:`destructive`,onClick:()=>void d(),children:o.isPending?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Deleting`})]}):_t(s&&l)})]})]})})},yt=`Disabled from member settings`,bt=({open:e,onOpenChange:t,member:n})=>{let i=r(),o=j(),[s,c]=Y.useState(!1);Y.useEffect(()=>{e&&c(!1)},[e]);let l=n.name||n.email||`this member`,u=async()=>{try{await o.mutateAsync({id:n.id,reason:yt,hideComments:s})}catch{a.error(`Couldn’t disable commenting. Please try again.`);return}a.success(`Commenting has been disabled for ${l}.`),t(!1),i.invalidateQueries({queryKey:[`MembersResponseType`]})};return(0,X.jsx)(nt,{open:e,onOpenChange:e=>{o.isPending||t(e)},children:(0,X.jsxs)(k,{"data-testid":`disable-commenting-modal`,children:[(0,X.jsxs)(N,{children:[(0,X.jsx)(A,{children:`Disable commenting`}),(0,X.jsxs)(tt,{children:[(0,X.jsx)(`strong`,{children:l}),` won’t be able to comment in the future. You can re-enable commenting anytime.`]})]}),(0,X.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,X.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:(0,X.jsx)(`h4`,{className:`text-sm font-medium`,children:`Hide all previous comments`})}),(0,X.jsx)(y,{"aria-label":`Hide all previous comments`,checked:s,"data-testid":`disable-commenting-hide-comments`,disabled:o.isPending,onCheckedChange:c})]}),(0,X.jsxs)(W,{children:[(0,X.jsx)(z,{"data-testid":`cancel-disable-commenting`,disabled:o.isPending,variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,X.jsx)(z,{"data-testid":`confirm-disable-commenting`,disabled:o.isPending,onClick:()=>void u(),children:o.isPending?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Disabling`})]}):`Disable commenting`})]})]})})},xt=({open:e,onOpenChange:t,memberId:n})=>{let i=r();Y.useEffect(()=>{e&&i.removeQueries({queryKey:[`MemberSigninUrlResponseType`]})},[e,i]);let{data:o,isFetching:s,isError:c}=Qe(n,{enabled:e,defaultErrorHandler:!1}),l=o?.url??``,u=c||!s&&!c&&!l,[d,f]=Y.useState(!1),p=Y.useRef(null),m=Y.useCallback(()=>{p.current!==null&&(clearTimeout(p.current),p.current=null)},[]);Y.useEffect(()=>{e||(m(),f(!1))},[e,m]),Y.useEffect(()=>m,[m]);let h=async()=>{try{await navigator.clipboard.writeText(l),f(!0),m(),p.current=setTimeout(()=>{f(!1),p.current=null},1e3)}catch{a.error(`Couldn’t copy the impersonation link`)}};return(0,X.jsx)(nt,{open:e,onOpenChange:t,children:(0,X.jsxs)(k,{"data-testid":`impersonate-modal`,children:[(0,X.jsxs)(N,{children:[(0,X.jsx)(A,{children:`Impersonate member`}),(0,X.jsx)(tt,{children:`A single-use signin link that works for 24 hours. Anyone with the link can sign in as this member.`})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(E,{htmlFor:`member-signin-url`,children:`Signin link`}),(0,X.jsx)(J,{"data-testid":`member-signin-url`,id:`member-signin-url`,value:s?`Generating link…`:u?`Failed to generate link`:l,readOnly:!0})]}),(0,X.jsxs)(W,{children:[(0,X.jsx)(z,{variant:`outline`,onClick:()=>t(!1),children:`Close`}),(0,X.jsx)(z,{disabled:s||u||!l,onClick:()=>void h(),children:s?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Generating link`})]}):d?`Copied`:`Copy link`})]})]})})},St=({open:e,onOpenChange:t,member:n})=>{let r=ye(),i=n.name||n.email||`This member`,o=async()=>{try{await r.mutateAsync({id:n.id}),a.success(`${i} has been signed out from all devices.`),t(!1)}catch{a.error(`Couldn’t sign the member out. Please try again.`)}};return(0,X.jsx)(Re,{open:e,onOpenChange:e=>{r.isPending||t(e)},children:(0,X.jsxs)(qe,{"data-testid":`logout-member-modal`,children:[(0,X.jsxs)(Ze,{children:[(0,X.jsx)(Fe,{children:`Sign out member from all devices?`}),(0,X.jsxs)(Pe,{children:[(0,X.jsx)(`strong`,{children:i}),` will be signed out of all active sessions, and will need to sign in again upon return.`]})]}),(0,X.jsxs)(He,{children:[(0,X.jsx)(We,{disabled:r.isPending,children:`Cancel`}),(0,X.jsx)(z,{"data-testid":`confirm-logout-member`,disabled:r.isPending,variant:`destructive`,onClick:()=>void o(),children:r.isPending?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Signing out`})]}):`Sign out`})]})]})})};function Ct(e){return e.can_comment===!1}function wt(e){return Ct(e)?`Enable commenting`:`Disable commenting`}var Tt=({member:e,allowLeaveWithUnsavedChanges:t})=>{let n=r(),{data:o}=i(),[s,c]=Y.useState(!1),[l,u]=Y.useState(!1),[d,f]=Y.useState(!1),[p,m]=Y.useState(!1),h=Ve(),g=R(),_=h.isPending||h.isSuccess&&g,v=Ct(e),y=wt(e),b=e.name||e.email||`this member`;if(!o||!O(o))return null;let x=async()=>{if(!v){f(!0);return}try{await h.mutateAsync({id:e.id}),a.success(`Commenting has been enabled for ${b}.`)}catch{a.error(`Couldn’t enable commenting. Please try again.`);return}n.invalidateQueries({queryKey:[`MembersResponseType`]})};return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(F,{children:[(0,X.jsx)(Je,{asChild:!0,children:(0,X.jsx)(z,{"aria-label":`Actions`,className:`size-(--control-height)`,"data-testid":`member-actions`,size:`icon`,variant:`outline`,children:(0,X.jsx)(V,{size:16})})}),(0,X.jsxs)(Ke,{align:`end`,children:[(0,X.jsx)(K,{"data-testid":`member-actions-impersonate`,onSelect:()=>c(!0),children:`Impersonate`}),(0,X.jsx)(K,{"data-testid":`member-actions-logout`,onSelect:()=>u(!0),children:`Sign out of all devices`}),(0,X.jsx)(K,{"data-testid":`member-actions-commenting`,disabled:_,onSelect:()=>void x(),children:y}),(0,X.jsx)(pe,{}),(0,X.jsx)(K,{className:`text-destructive focus:text-destructive`,"data-testid":`member-actions-delete`,onSelect:()=>m(!0),children:`Delete member`})]})]}),(0,X.jsx)(xt,{memberId:e.id,open:s,onOpenChange:c}),(0,X.jsx)(St,{member:e,open:l,onOpenChange:u}),(0,X.jsx)(bt,{member:e,open:d,onOpenChange:f}),(0,X.jsx)(vt,{allowLeaveWithUnsavedChanges:t,member:e,open:p,onOpenChange:m})]})},Z=e(h(),1);function Et(e){return e?/^(https?:\/\/|\/|#\/)/i.test(e):!1}var Dt=new Set([`bif`,`clp`,`djf`,`gnf`,`jpy`,`kmf`,`krw`,`mga`,`pyg`,`rwf`,`ugx`,`vnd`,`vuv`,`xaf`,`xof`,`xpf`]);function Ot(e,t){let n=Dt.has(t.toLowerCase())?e:e/100,r=n%1==0;try{return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:t.toUpperCase(),minimumFractionDigits:r?0:2,maximumFractionDigits:r?0:2}).format(n)}catch{return`${n}`}}function kt(e){return e?.trim()||null}function At(e){let t;return e.type===`login_event`&&(t=`logged-in`),e.type===`payment_event`&&(t=`subscriptions`),e.type===`newsletter_event`&&(t=e.data.subscribed?`subscribed-to-email`:`unsubscribed-from-email`),e.type===`subscription_event`&&(t=`subscriptions`,e.data.type===`canceled`&&(t=`canceled-subscription`)),(e.type===`signup_event`||e.type===`subscription_event`&&e.data.type===`created`&&e.data.signup)&&(t=`signed-up`),e.type===`email_opened_event`&&(t=`opened-email`),(e.type===`email_sent_event`||e.type===`automated_email_sent_event`)&&(t=`sent-email`),e.type===`email_delivered_event`&&(t=`received-email`),e.type===`email_failed_event`&&(t=`email-delivery-failed`),e.type===`email_complaint_event`&&(t=`email-delivery-spam`),e.type===`comment_event`&&(t=`comment`),(e.type===`click_event`||e.type===`aggregated_click_event`)&&(t=`click`),e.type===`feedback_event`&&(t=e.data.score===1?`more-like-this`:`less-like-this`),e.type===`donation_event`&&(t=`subscriptions`),(e.type===`gift_purchase_event`||e.type===`gift_redemption_event`||e.type===`gift_ended_event`)&&(t=`gift`),e.type===`email_change_event`&&(t=`email-changed`),`event-${t}`}function jt(e,t){if(e.type===`signup_event`||e.type===`subscription_event`&&e.data.type===`created`&&e.data.signup)return`signed up`;if(e.type===`login_event`)return`logged in`;if(e.type===`payment_event`)return`made payment`;if(e.type===`newsletter_event`){let n=e.data.newsletter,r=t&&n?.name?n.name:`newsletter`;return e.data.subscribed?`subscribed to ${r}`:`unsubscribed from ${r}`}if(e.type===`subscription_event`){let t=e.data.type;return t===`created`?`started paid subscription`:t===`canceled`?`canceled paid subscription`:t===`reactivated`?`reactivated paid subscription`:t===`expired`?`ended paid subscription`:`changed paid subscription`}if(e.type===`email_opened_event`)return`opened email`;if(e.type===`email_sent_event`)return`sent email`;if(e.type===`automated_email_sent_event`){let t=e.data.automatedEmail;if(t?.source!==`automation_action_revision`)return`received welcome email (${(t?.slug||``).includes(`paid`)?`Paid`:`Free`})`;let n=kt(t.subject);return n?`received automated email: ${n}`:`received automated email`}if(e.type===`email_delivered_event`)return`received email`;if(e.type===`email_failed_event`)return`bounced email`;if(e.type===`email_complaint_event`)return`email flagged as spam`;if(e.type===`comment_event`)return e.data.parent?`replied to comment`:`commented`;if(e.type===`click_event`)return`clicked link in email`;if(e.type===`aggregated_click_event`){let t=e.data.count?.clicks??1;return t<=1?`clicked link in email`:`clicked ${t} links in email`}if(e.type===`feedback_event`)return e.data.score===1?`more like this`:`less like this`;if(e.type===`email_change_event`)return e.data.from_email&&e.data.to_email?`Email address changed from ${e.data.from_email} to ${e.data.to_email}`:`Email address changed`;if(e.type===`donation_event`)return`Made a one-time payment`;if(e.type===`gift_purchase_event`){let t=e.data.amount,n=e.data.currency,r=e.data.tier_name,i=e.data.duration,a=e.data.cadence;return typeof t==`number`&&n&&r&&typeof i==`number`&&a?`Purchased gift subscription for ${Ot(t,n)} (${r}, ${i} ${i===1?a:`${a}s`})`:`Purchased gift subscription`}if(e.type===`gift_redemption_event`)return`started gift subscription`;if(e.type===`gift_ended_event`)return`gift subscription expired`}function Mt(e,t){if(e.type===`automated_email_sent_event`){let t=e.data.automatedEmail;if(t?.source===`automation_action_revision`){let e=kt(t.subject);return e?`received automated email: ${e}`:`received automated email`}}return jt(e,t)}function Nt(e){if(e.type===`signup_event`||e.type===`subscription_event`||e.type===`donation_event`){let t=e.data.attribution;if(t?.title)return t.title}if(e.type===`comment_event`||e.type===`click_event`||e.type===`feedback_event`){let t=e.data.post;if(t?.title)return t.title}return``}function Pt(e){let t=e.data.attribution;return t?.referrer_source?{name:t.referrer_source,url:t.referrer_url??null}:null}function Ft(e,t){if(e.type===`signup_event`&&t.paidMembersEnabled){let t=e.data.created_with_status;return t&&t!==`free`?null:`Free`}if(e.type===`gift_redemption_event`)return e.data.tier_name??void 0}function It(e){if(e.type===`click_event`)return e.data.link?.to}function Lt(e){if(e.type===`comment_event`||e.type===`click_event`||e.type===`feedback_event`){let t=e.data.post;if(t?.url)return t.url}if(e.type===`signup_event`||e.type===`subscription_event`||e.type===`donation_event`){let t=e.data.attribution;if(t?.url)return t.url}}function Rt(e){if(e.type===`click_event`||e.type===`feedback_event`){let t=e.data.post;if(t?.id)return`#/posts/analytics/${t.id}`}if((e.type===`signup_event`||e.type===`subscription_event`)&&e.data.attribution_type===`post`&&e.data.attribution_id)return`#/posts/analytics/${e.data.attribution_id}`}function zt(e,t){let n=kt(e.data.member?.name),r=e.data.member?n||e.data.member.email||``:e.data.name||e.data.email||``,i=e.data.member?{...e.data.member,name:n??void 0}:e.data.member;return{id:e.data.id,memberId:e.data.member_id??e.data.member?.id,member:i,emailId:e.data.email_id,email:e.data.email,icon:At(e),subject:r,action:jt(e,t.hasMultipleNewsletters),actionTitle:Mt(e,t.hasMultipleNewsletters),join:`–`,object:Nt(e),source:Pt(e),info:Ft(e,t),description:It(e),url:Lt(e),route:Rt(e),timestamp:e.data.created_at}}var Bt=({iconName:e})=>{let t={className:`shrink-0 text-muted-foreground`,size:16};switch(e){case`event-signed-up`:return(0,X.jsx)(P,{...t});case`event-logged-in`:return(0,X.jsx)(Ue,{...t});case`event-subscriptions`:return(0,X.jsx)(L,{...t});case`event-canceled-subscription`:return(0,X.jsx)(_e,{...t});case`event-subscribed-to-email`:return(0,X.jsx)(de,{...t});case`event-unsubscribed-from-email`:return(0,X.jsx)(Ye,{...t});case`event-opened-email`:return(0,X.jsx)(Ie,{...t});case`event-received-email`:return(0,X.jsx)(De,{...t});case`event-sent-email`:return(0,X.jsx)(Ge,{...t});case`event-email-delivery-failed`:return(0,X.jsx)(Ae,{...t});case`event-email-delivery-spam`:return(0,X.jsx)(H,{...t});case`event-email-changed`:return(0,X.jsx)($e,{...t});case`event-comment`:return(0,X.jsx)(Ee,{...t});case`event-click`:return(0,X.jsx)(ve,{...t});case`event-more-like-this`:return(0,X.jsx)(he,{...t});case`event-less-like-this`:return(0,X.jsx)(ke,{...t});case`event-gift`:return(0,X.jsx)(Ne,{...t});default:return(0,X.jsx)(G,{...t})}},Vt=({memberId:e})=>(0,X.jsx)(`a`,{className:`block pt-3 font-medium text-primary hover:underline`,"data-testid":`member-activity-view-all`,href:`#/members-activity?member=${e}`,children:`View all member activity →`}),Ht=`All events related to this member will be shown here.`,Ut=e=>e?e.charAt(0).toUpperCase()+e.slice(1):``;function Wt(e){if(e&&typeof e==`object`){let t=e.subject;return t?`“${t}”`:`Email`}}var Gt=({event:e})=>{if(!e.action)return null;let t=Wt(e.email),n=e.object&&(e.route||Et(e.url)),r=!n&&t,i=e.timestamp?(0,Z.default)(e.timestamp).fromNow():`—`;return(0,X.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,"data-testid":`member-activity-event`,children:[(0,X.jsx)(`div`,{className:`flex size-8 shrink-0 items-center justify-center rounded-full bg-muted`,children:(0,X.jsx)(Bt,{iconName:e.icon})}),(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,X.jsxs)(`div`,{className:`text-sm leading-snug`,children:[(0,X.jsx)(`span`,{"data-testid":`member-activity-action`,children:Ut(e.action)}),e.info&&(0,X.jsxs)(`span`,{className:`ml-1 text-muted-foreground`,children:[`(`,e.info,`)`]}),n&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`mx-1 text-muted-foreground`,children:e.join}),e.route?(0,X.jsx)(`a`,{className:`hover:underline`,href:e.route,children:e.object}):(0,X.jsx)(`a`,{className:`hover:underline`,href:e.url,rel:`noopener noreferrer`,target:`_blank`,children:e.object})]}),r&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`mx-1 text-muted-foreground`,children:e.join}),(0,X.jsx)(`span`,{className:`text-muted-foreground`,children:t})]})]}),e.description&&(0,X.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.description}),(0,X.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:i})]})]})},Kt=({memberId:e,hasMultipleNewsletters:t,hasMultipleTiers:n,paidMembersEnabled:r})=>{let{data:i,isLoading:a}=ze(e??``,{limit:`5`,enabled:!!e}),o=(i?.events??[]).map(e=>zt(e,{hasMultipleNewsletters:t,hasMultipleTiers:n,paidMembersEnabled:r})),s=new Set;return e?(0,X.jsxs)(`section`,{className:`flex flex-col gap-3`,"data-testid":`member-activity-feed`,children:[(0,X.jsx)(`h3`,{className:`text-base font-semibold`,children:`Activity`}),(0,X.jsx)(w,{children:(0,X.jsxs)(C,{className:`pt-3`,children:[a?(0,X.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,X.jsx)(Xe,{className:`h-10`}),(0,X.jsx)(Xe,{className:`h-10`}),(0,X.jsx)(Xe,{className:`h-10`})]}):o.length===0?(0,X.jsx)(`p`,{className:`py-4 text-center text-sm text-muted-foreground`,"data-testid":`member-activity-empty`,children:`No activity yet`}):(0,X.jsx)(`div`,{className:`divide-y divide-border`,children:o.map(e=>{let t=e.id||`${e.timestamp??`?`}-${e.icon}-${e.action}`,n=t,r=1;for(;s.has(n);)n=`${t}#${r}`,r+=1;return s.add(n),(0,X.jsx)(Gt,{event:e},n)})}),!a&&o.length>0&&(0,X.jsx)(Vt,{memberId:e})]})})]}):(0,X.jsxs)(`section`,{className:`flex flex-col gap-3`,"data-testid":`member-activity-feed`,children:[(0,X.jsx)(`h3`,{className:`text-base font-semibold`,children:`Activity`}),(0,X.jsx)(w,{children:(0,X.jsx)(C,{className:`pt-6`,children:(0,X.jsx)(`div`,{className:`flex flex-col items-center gap-3 py-4`,children:(0,X.jsx)(T,{description:Ht,title:`Activity`,children:(0,X.jsx)(G,{})})})})})]})},qt=[`line1`,`line2`,`city`,`state`,`postal_code`,`country`],Jt=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function Q(e){return{name:(e.name??``).trim(),email:(e.email??``).trim(),note:e.note??``,labels:(e.labels??[]).map(e=>({name:e.name,slug:e.slug})).sort((e,t)=>e.slug<t.slug?-1:+(e.slug>t.slug)),newsletters:(e.newsletters??[]).map(e=>e.id).sort()}}function Yt(e){let t={};for(let[n,r]of Object.entries(e??{}))if(typeof r==`string`&&r.trim()!==``)t[n]=r.trim();else if(typeof r==`object`&&r&&!Array.isArray(r)){let e=Xt(r);e&&(t[n]=e)}return t}function Xt(e){let t={};for(let n of qt){let r=e[n];typeof r==`string`&&r.trim()!==``&&(t[n]=r.trim())}return Object.keys(t).length?t:void 0}function Zt(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t].sort()}function Qt(e){return Jt.test(e.trim())}function $t(e,t){return t?e.trim()===``?`Email is required.`:Qt(e)?null:`Invalid email.`:null}function en(e){if(!e?.suppressed)return null;let t=e.info;if(!t)return{label:null};let{reason:n,timestamp:r}=t,i=(0,Z.default)(new Date(r)).format(`D MMM YYYY`);switch(n){case`fail`:return{reason:n,label:`Bounced on ${i}`};case`spam`:return{reason:n,label:`Flagged as spam on ${i}`};default:return{reason:n,label:`Email disabled on ${i}`}}}function tn(e){return e?e.filter(e=>e.subscribe_on_signup===!0&&e.visibility===`members`).map(e=>e.id):[]}function nn(e){return e!==`disabled`}function rn(e){return 500-[...e].length}function an(e,t,n){let r=pn(t),i={id:e,name:r.name,email:r.email,note:r.note,labels:r.labels};return s(r.newsletters,n.newsletters)||(i.newsletters=r.newsletters.map(e=>({id:e}))),i}function on(e,t,n){let r=typeof n==`string`?n.trim()||void 0:Xt(n);return{id:e,custom_fields:{[t]:r??null}}}var sn={line1:`Enter a street address.`,line2:`Enter a shorter address line.`,city:`Enter a city.`,state:`Enter a shorter state.`,postal_code:`Enter a postal code.`,country:`Enter a 2-letter country code, like US.`},cn=new Set([`line1`,`city`,`postal_code`]);function ln(e,t){let n=t.code===`too_big`&&typeof t.maximum==`number`?t.maximum:void 0;if(e.type===`address`){let e=t.path[0];if(typeof e==`string`){if(n!==void 0&&cn.has(e))return`Use ${n} characters or fewer.`;if(e in sn)return sn[e]}}return n===void 0?`This text is too long to save. Shorten it a little.`:`Use ${n} characters or fewer.`}function un(e,t){let n={},r=Yt(e);for(let e of t){let t=r[e.key];if(t===void 0)continue;let i=st[e.type];if(!i)continue;let a=i.value.safeParse(t);if(!a.success)for(let t of a.error.issues){let r=[e.key,...t.path].join(`.`);n[r]??=ln(e,t)}}return n}function dn(e){let t=e?.data,n={};for(let e of t?.errors??[])e.property?.startsWith(`custom_fields.`)&&(n[e.property.slice(14)]=e.context||e.message||`Invalid value.`);return Object.keys(n).length?n:void 0}function fn(e,t){return e.map(e=>t.get(e)??{name:e,slug:e})}function pn(e){return{name:e.name.trim(),email:e.email.trim(),note:e.note,labels:e.labels,newsletters:e.newsletters}}function mn(e,t){return!e||!!t&&s(pn(e),t)}function hn(e){if(!e)return null;try{let t=JSON.parse(e);return t&&typeof t==`object`&&!Array.isArray(t)?t:null}catch{return null}}function gn(e){let t=hn(e);return t?t.country_code===`US`&&t.region?`${t.region}, US`:t.country||`Unknown location`:`Unknown location`}function _n(e){let t=[e.state,e.postal_code].filter(Boolean).join(` `);return[e.line1,e.line2,e.city,t,e.country].filter(Boolean).join(`, `)}function vn(e){let t=e?.referrer_source;return!t||t===`Created manually`?null:t}var yn={line1:`Address line 1`,line2:`Address line 2`,city:`City`,state:`State`,postal_code:`Postal code`,country:`Country`},bn=({message:e})=>e?(0,X.jsx)(`p`,{className:`text-sm text-destructive`,role:`alert`,children:e}):null,xn=({inputId:e,value:t,errors:n,disabled:r,onChange:i})=>(0,X.jsx)(`div`,{className:`grid gap-x-4 gap-y-3 md:grid-cols-2`,children:qt.map(a=>{let o=`${e}-${a}`,s=n?.[a];return(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(E,{htmlFor:o,children:yn[a]}),(0,X.jsx)(J,{"aria-invalid":s?!0:void 0,disabled:r,id:o,value:t[a]??``,onChange:e=>i({...t,[a]:e.target.value})}),(0,X.jsx)(bn,{message:s})]},a)})}),Sn=({field:e,inputId:t,value:n,errors:r,disabled:i,onChange:a})=>{let o=r?.[``];switch(lt(e).input){case`text`:return(0,X.jsx)(J,{"aria-invalid":o?!0:void 0,disabled:i,id:t,value:typeof n==`string`?n:``,onChange:e=>a(e.target.value)});case`textarea`:return(0,X.jsx)(ce,{"aria-invalid":o?!0:void 0,className:`max-w-full resize-y`,disabled:i,id:t,value:typeof n==`string`?n:``,onChange:e=>a(e.target.value)});case`address`:return(0,X.jsx)(xn,{disabled:i,errors:r,inputId:t,value:typeof n==`object`&&n?n:{},onChange:a});default:return null}},Cn=({memberId:e,field:t,initialValue:n,onClose:r})=>{let i=lt(t).input===`address`,[o,c]=Y.useState(n??(i?{}:``)),[l,u]=Y.useState(!1),[d,f]=Y.useState(),p=me(),m=un({[t.key]:o},[t]),h={...l?m:{},...d},g=Object.fromEntries(Object.entries(h).map(([e,n])=>[e===t.key?``:e.slice(t.key.length+1),n])),_=`member-custom-field-${t.key}`,v=!s(Yt({[t.key]:o}),Yt({[t.key]:n}));return(0,X.jsx)(nt,{open:!0,onOpenChange:e=>{!e&&!p.isPending&&r()},children:(0,X.jsxs)(k,{"data-testid":`member-custom-field-edit-modal`,onEscapeKeyDown:e=>{(v||p.isPending)&&e.preventDefault()},onInteractOutside:e=>{(v||p.isPending)&&e.preventDefault()},children:[(0,X.jsx)(N,{children:(0,X.jsx)(A,{children:t.name})}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[!i&&(0,X.jsx)(E,{className:`sr-only`,htmlFor:_,children:t.name}),(0,X.jsx)(Sn,{disabled:p.isPending,errors:g,field:t,inputId:_,value:o,onChange:e=>{f(void 0),c(e)}}),(0,X.jsx)(bn,{message:g[``]})]}),(0,X.jsxs)(W,{children:[(0,X.jsx)(z,{disabled:p.isPending,variant:`outline`,onClick:r,children:`Cancel`}),(0,X.jsx)(z,{className:`min-w-16`,disabled:p.isPending,onClick:()=>{if(!p.isPending){if(!v){r();return}if(Object.keys(m).length>0){u(!0);return}p.mutate(on(e,t.key,o),{onSuccess:()=>{a.success(`${t.name} saved`),r()},onError:e=>{let n=dn(e);f(n),n||a.error(`${t.name} couldn’t be saved`)}})}},children:p.isPending?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Saving`})]}):`Save`})]})]})})};function wn(e){return e===void 0?null:typeof e==`string`?e:_n(e)||null}var Tn=({memberId:e,customFields:t,disabled:n})=>{let{data:r,isLoading:i}=ct(),a=r?.members_custom_fields??[],o=Yt(t),[s,c]=Y.useState(null);return i||a.length===0?null:(0,X.jsxs)(`section`,{"aria-labelledby":`member-custom-fields-heading`,className:`flex flex-col gap-3`,"data-testid":`member-custom-fields-field`,children:[(0,X.jsx)(`h3`,{className:`text-base font-semibold`,id:`member-custom-fields-heading`,children:`Custom fields`}),(0,X.jsx)(w,{children:(0,X.jsx)(C,{className:`px-6 py-4`,children:(0,X.jsx)(`ul`,{children:a.map(e=>{let t=wn(o[e.key]);return(0,X.jsx)(`li`,{className:`border-b border-border transition-colors last:border-b-0 hover:border-b-transparent [&:has(+li:hover)]:border-b-transparent`,children:(0,X.jsxs)(`button`,{"aria-label":t?`Edit ${e.name}: ${t}`:`Edit ${e.name}`,className:`group -mx-3 flex w-[calc(100%+1.5rem)] items-center justify-between gap-4 rounded-md px-3 py-3 text-left transition-colors hover:bg-table-row-hover disabled:cursor-not-allowed disabled:opacity-50`,disabled:n,type:`button`,onClick:()=>{window.getSelection()?.toString()||c(e)},children:[(0,X.jsxs)(`span`,{className:`min-w-0`,children:[(0,X.jsx)(`span`,{className:`block text-sm text-muted-foreground`,children:e.name}),t?(0,X.jsx)(`span`,{className:`block break-words select-text`,children:t}):(0,X.jsx)(`span`,{className:`block text-muted-foreground`,children:`–`})]}),(0,X.jsx)(be,{"aria-hidden":`true`,className:`shrink-0 text-muted-foreground opacity-0 transition-all group-hover:opacity-100 group-focus-visible:opacity-100`,size:16})]})},e.key)})})})}),s&&(0,X.jsx)(Cn,{field:s,initialValue:o[s.key],memberId:e,onClose:()=>c(null)},s.key)]})},En=({labels:e,disabled:t,onChange:n})=>{let r=e.map(e=>e.slug),i=Y.useRef(e);i.current=e;let a=Y.useRef(new Map),o=e=>{for(let t of e)a.current.set(t.slug,{name:t.name,slug:t.slug})};o(e);let s=ut({selectedSlugs:r,onSelectionChange:e=>n(fn(e,a.current))});o(s.labels);let c=async e=>{let t=await s.createLabel(e);if(t){let e={name:t.name,slug:t.slug};a.current.set(t.slug,e),n([...i.current.filter(e=>e.slug!==t.slug),e])}return t};return(0,X.jsx)(`div`,{className:t?`pointer-events-none opacity-60`:void 0,"data-testid":`member-labels-field`,...t?{inert:``}:{},children:(0,X.jsx)(dt,{isCreating:s.isCreating,labels:s.labels,optionSource:s.optionSource,placeholder:``,resolvedSelectedLabels:s.resolvedSelectedLabels,selectedSlugs:r,onCreate:c,onDelete:s.deleteLabel,onEdit:s.editLabel,onToggle:s.toggleLabel})})},Dn=({draft:e,emailError:t,disabled:n,onChange:r,onEmailBlur:i,onNameBlur:a})=>{let o=rn(e.note),s=500-o,c=o<0?`text-destructive`:s>=500*.8?`text-state-warning`:`text-state-success`;return(0,X.jsxs)(`div`,{className:`grid items-stretch gap-6 md:grid-cols-2`,"data-testid":`member-detail-form`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(E,{htmlFor:`member-name`,children:`Name`}),(0,X.jsx)(J,{disabled:n,id:`member-name`,value:e.name,onBlur:a,onChange:e=>r({name:e.target.value})})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(E,{htmlFor:`member-email`,children:`Email`}),(0,X.jsx)(J,{"aria-invalid":!!t,disabled:n,id:`member-email`,type:`email`,value:e.email,onBlur:i,onChange:e=>r({email:e.target.value})}),t&&(0,X.jsx)(`p`,{className:`text-sm text-destructive`,children:t})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(E,{children:`Labels`}),(0,X.jsx)(En,{disabled:n,labels:e.labels,onChange:e=>r({labels:e})})]})]}),(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-1.5`,children:[(0,X.jsxs)(E,{htmlFor:`member-note`,children:[`Note `,(0,X.jsx)(`span`,{className:`font-normal text-muted-foreground`,children:`(not visible to member)`})]}),(0,X.jsxs)(ue,{className:`flex-1`,children:[(0,X.jsx)(le,{className:`h-full`,disabled:n,id:`member-note`,value:e.note,onChange:e=>r({note:e.target.value})}),(0,X.jsx)(D,{align:`block-end`,className:`justify-end`,children:(0,X.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[`Maximum: `,(0,X.jsx)(`span`,{className:`font-semibold text-foreground`,children:500}),` characters. You’ve used`,` `,(0,X.jsx)(`span`,{className:m(`font-semibold`,c),children:s})]})})]})]})]})},On=e=>Z.default.utc(e).format(`D MMM YYYY`),$=({icon:e,children:t})=>(0,X.jsxs)(`p`,{className:`flex items-center gap-2 text-muted-foreground`,children:[(0,X.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:e}),(0,X.jsx)(`span`,{className:`min-w-0 truncate`,children:t})]}),kn=e=>e.split(` `)[0]||``,An=({member:e,draftName:t,draftEmail:n,engagementEnabled:r})=>{let i=(t??e?.name??``).trim(),a=(n??e?.email??``).trim(),o=i||a||`New member`,s=!e;return(0,X.jsxs)(`aside`,{className:`flex w-full shrink-0 flex-col gap-6 lg:w-80`,"data-testid":`member-detail-sidebar`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,X.jsx)(Oe,{className:`size-12 min-w-12 [&_span]:text-lg`,email:a||void 0,name:i||void 0,src:e?.avatar_image}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`h2`,{className:`truncate text-xl font-semibold`,children:o}),i&&a&&(0,X.jsx)(`a`,{className:`block truncate text-muted-foreground hover:underline`,href:`mailto:${a}`,children:a}),!i&&a&&(0,X.jsx)(`span`,{className:`block truncate text-muted-foreground`,children:a})]})]}),!s&&e&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 text-sm`,children:[(0,X.jsx)($,{icon:(0,X.jsx)(I,{size:16}),children:(0,X.jsx)(`span`,{"data-testid":`member-detail-location`,children:gn(e.geolocation)})}),(0,X.jsx)($,{icon:(0,X.jsx)(Be,{size:16}),children:e.last_seen_at?`Last seen on ${On(e.last_seen_at)}`:`Not seen yet`}),e.can_comment===!1&&(0,X.jsx)($,{icon:(0,X.jsx)(Te,{size:16}),children:`Comments disabled`})]}),(0,X.jsxs)(`div`,{className:`mt-4 flex flex-col gap-3 text-sm`,children:[(0,X.jsx)(`h3`,{className:`border-b border-border pb-2 text-base font-semibold`,children:`Signup info`}),(0,X.jsxs)($,{icon:(0,X.jsx)(P,{size:16}),children:[`Created — `,(0,X.jsx)(`span`,{className:`text-foreground`,children:On(e.created_at)})]}),(()=>{let t=vn(e.attribution);return t?(0,X.jsxs)($,{icon:(0,X.jsx)(rt,{size:16}),children:[`Source — `,(0,X.jsx)(`span`,{className:`text-foreground`,title:t,children:t})]}):null})(),e.attribution?.title&&(0,X.jsxs)($,{icon:(0,X.jsx)(Se,{size:16}),children:[`Page — `,Et(e.attribution.url)?(0,X.jsx)(`a`,{className:`truncate text-foreground hover:underline`,href:e.attribution.url,rel:`noopener noreferrer`,target:`_blank`,title:e.attribution.title,children:e.attribution.title}):(0,X.jsx)(`span`,{className:`truncate text-foreground`,title:e.attribution.title,children:e.attribution.title})]})]}),r&&(0,X.jsxs)(`section`,{className:`mt-4 flex flex-col gap-3 text-sm`,"data-testid":`member-detail-engagement`,children:[(0,X.jsx)(`h4`,{className:`border-b border-border pb-2 text-base font-semibold`,children:`Engagement`}),(e.email_count??0)===0?(0,X.jsx)(`p`,{className:`text-muted-foreground`,children:i?`We’ll show ${kn(i)}’s email stats here once they receive their first newsletter.`:`We’ll show this member’s email stats here once they receive their first newsletter.`}):(0,X.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,X.jsx)(`p`,{className:`text-muted-foreground`,children:`Emails received`}),(0,X.jsx)(`p`,{className:`text-2xl font-semibold`,children:e.email_count})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,X.jsx)(`p`,{className:`text-muted-foreground`,children:`Emails opened`}),(0,X.jsx)(`p`,{className:`text-2xl font-semibold`,children:e.email_opened_count??0})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,X.jsx)(`p`,{className:`text-muted-foreground`,children:`Average open rate`}),e.email_open_rate===null||e.email_open_rate===void 0?(0,X.jsx)(`p`,{className:`text-muted-foreground`,children:`This metric is calculated once a member has received 5 newsletters.`}):(0,X.jsxs)(`p`,{className:`text-2xl font-semibold`,children:[e.email_open_rate,(0,X.jsx)(`span`,{className:`text-base font-normal text-muted-foreground`,children:`%`})]})]})]})]})]})]})},jn=({memberId:e,emailSuppression:t,subscribedIds:n,disabled:r,onChange:i})=>{let o=e?en(t):null,s=B(),{data:c,isLoading:l}=at({searchParams:{filter:`status:active`,limit:`50`}}),u=c?.newsletters??[],d=R(),f=s.isPending||s.isSuccess&&d;return!o&&(l||u.length===0)?null:(0,X.jsxs)(`section`,{"aria-labelledby":`member-newsletters-heading`,className:`flex flex-col gap-3`,"data-testid":`member-newsletters-field`,children:[(0,X.jsx)(`h3`,{className:`text-base font-semibold`,id:`member-newsletters-heading`,children:`Newsletters`}),(0,X.jsx)(w,{children:(0,X.jsx)(C,{className:`p-6`,children:o?(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,"data-testid":`member-suppression-banner`,children:[(0,X.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,X.jsx)(Ae,{className:`mt-0.5 shrink-0 text-muted-foreground`,size:20}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`div`,{className:`font-medium`,children:`Email disabled`}),o.label&&(0,X.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:o.label}),(0,X.jsx)(`a`,{className:`text-sm text-muted-foreground hover:underline`,href:`https://ghost.org/help/disabled-emails`,rel:`noopener noreferrer`,target:`_blank`,children:`Learn more`})]})]}),(0,X.jsx)(z,{disabled:r||f,onClick:()=>{e&&s.mutate({id:e},{onSuccess:()=>a.success(`Email re-enabled successfully`),onError:()=>a.error(`Failed to re-enable email. Please try again.`)})},children:f?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Re-enabling email`})]}):`Re-enable email`})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`ul`,{className:`divide-y divide-border`,children:u.map(e=>{let t=n.includes(e.id);return(0,X.jsxs)(`li`,{className:`flex items-center justify-between gap-4 py-3 first:pt-0 last:pb-0`,children:[(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`div`,{className:`font-medium`,children:e.name}),e.description&&(0,X.jsx)(`p`,{className:`truncate text-sm text-muted-foreground`,children:e.description})]}),(0,X.jsx)(y,{"aria-label":`Subscribe to ${e.name}`,checked:t,"data-testid":`member-subscription-toggle`,disabled:r,onCheckedChange:()=>i(Zt(n,e.id))})]},e.id)})}),(0,X.jsxs)(`p`,{className:`mt-4 text-sm text-muted-foreground`,children:[`If disabled, member will `,(0,X.jsx)(`em`,{children:`not`}),` receive newsletter emails`]})]})})})]})},Mn=`complimentary`,Nn=`gift subscription`;function Pn(e){if(e.id)return`paid`;let t=e.plan?.nickname?.toLowerCase()??``;return t===Mn?`complimentary`:t===Nn?`gift`:`paid`}function Fn(e){return e===`year`?`yearly`:`monthly`}function In(e){if(e.trial_end_at&&(0,Z.default)(e.trial_end_at).isAfter(new Date,`day`))return`Free trial`;let t=e.price?.nickname;return t&&t!==`Monthly`&&t!==`Yearly`?t:null}function Ln(e){return e.status===`canceled`||e.cancel_at_period_end?`Canceled`:`Active`}var Rn=e=>e?(0,Z.default)(new Date(e)).format(`D MMM YYYY`):``,zn=e=>e?(0,Z.default)(e).utc().format(`D MMM YYYY`):``;function Bn(e){let t=Pn(e);if(t===`complimentary`||t===`gift`){let t=zn(e.tier?.expiry_at);return t?`Expires ${t}`:``}let n=e.status===`canceled`&&!e.cancel_at_period_end?``:Rn(e.current_period_end);return e.status===`canceled`?n?`Ended ${n}`:``:e.cancel_at_period_end?n?`Has access until ${n}`:``:e.trial_end_at&&(0,Z.default)(e.trial_end_at).isAfter(new Date,`day`)?`Ends ${Rn(e.trial_end_at)}`:n?`Renews ${n}`:``}function Vn(e){let t=[],n=new Map;for(let r of e){if(!r.price)continue;let e=r.tier??r.price.tier;if(!e?.id)continue;let i=n.get(e.id);i||(i={tier:e,subscriptions:[]},n.set(e.id,i),t.push(i)),i.subscriptions.push(r)}return t}var Hn=[`forever`,`week`,`month`,`half-year`,`year`,`custom`];function Un(e){return Hn.includes(e)}function Wn(e,t){switch(e){case`forever`:return null;case`week`:return Z.default.utc().add(7,`days`).startOf(`day`).toISOString();case`month`:return Z.default.utc().add(1,`month`).startOf(`day`).toISOString();case`half-year`:return Z.default.utc().add(6,`months`).startOf(`day`).toISOString();case`year`:return Z.default.utc().add(1,`year`).startOf(`day`).toISOString();case`custom`:return t?(0,Z.default)(t,`YYYY-MM-DD`).startOf(`day`).endOf(`day`).set(`millisecond`,0).add((0,Z.default)().utcOffset(),`minutes`).toISOString():null}}var Gn=new Set([`active`,`trialing`,`unpaid`,`past_due`]),Kn=[{value:`forever`,label:`Forever`},{value:`week`,label:`1 Week`},{value:`month`,label:`1 Month`},{value:`half-year`,label:`6 Months`},{value:`year`,label:`1 Year`},{value:`custom`,label:`Custom`}],qn=({open:e,onOpenChange:t,member:n})=>{let{data:r,isLoading:i}=ot({searchParams:{filter:`type:paid+active:true`,limit:`all`}}),o=r?.tiers??[],[s,c]=Y.useState(``),[l,u]=Y.useState(`forever`),[d,f]=Y.useState(``);Y.useEffect(()=>{e&&(c(``),u(`forever`),f(``))},[e]);let p=xe(),m=me(),[h,g]=Y.useState(!1),_=(n.subscriptions??[]).filter(e=>Pn(e)===`paid`&&Gn.has(e.status)),v=(0,Z.default)().format(`YYYY-MM-DD`),y=!!s&&!h&&(l!==`custom`||!!d),ne=async()=>{if(y){g(!0);try{for(let e of _)await p.mutateAsync({memberId:n.id,subscriptionId:e.id,status:`canceled`});let e=Wn(l,l===`custom`?d:null),r=e?{id:s,expiry_at:e}:{id:s};await m.mutateAsync({id:n.id,...n.email?{email:n.email}:{},tiers:[r]}),a.success(`Complimentary subscription added`),t(!1)}catch{a.error(`Couldn’t add complimentary subscription`)}finally{g(!1)}}};return(0,X.jsx)(nt,{open:e,onOpenChange:e=>{h||t(e)},children:(0,X.jsxs)(k,{"data-testid":`add-comp-modal`,children:[(0,X.jsxs)(N,{children:[(0,X.jsx)(A,{children:`Add complimentary subscription`}),(0,X.jsx)(tt,{children:`Grants this member access to a paid tier for the chosen duration. Any active paid subscription is canceled first.`})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(E,{htmlFor:`comp-tier`,children:`Tier`}),(0,X.jsxs)(te,{value:s,onValueChange:c,children:[(0,X.jsx)(ee,{"data-testid":`comp-tier-select`,disabled:i||h,id:`comp-tier`,children:(0,X.jsx)(S,{placeholder:i?`Loading tiers…`:`Select a tier`})}),(0,X.jsx)(x,{children:o.map(e=>(0,X.jsx)(b,{"data-tier-id":e.id,value:e.id,children:e.name},e.id))})]})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(E,{htmlFor:`comp-duration`,children:`Duration`}),(0,X.jsxs)(te,{value:l,onValueChange:e=>{Un(e)&&u(e)},children:[(0,X.jsx)(ee,{"data-testid":`comp-duration-select`,disabled:h,id:`comp-duration`,children:(0,X.jsx)(S,{})}),(0,X.jsx)(x,{children:Kn.map(e=>(0,X.jsx)(b,{value:e.value,children:e.label},e.value))})]})]}),l===`custom`&&(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(E,{htmlFor:`comp-custom-date`,children:`Expires on`}),(0,X.jsx)(J,{"data-testid":`comp-custom-date`,disabled:h,id:`comp-custom-date`,min:v,type:`date`,value:d,onChange:e=>f(e.target.value)})]})]}),(0,X.jsxs)(W,{children:[(0,X.jsx)(z,{disabled:h,variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,X.jsx)(z,{"data-testid":`comp-add-confirm`,disabled:!y,onClick:()=>void ne(),children:h?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Adding`})]}):`Add subscription`})]})]})})},Jn=({memberId:e,subscription:t})=>{let n=xe(),r=R(),i=n.isPending||n.isSuccess&&r,o=t.status===`canceled`,s=t.cancel_at_period_end,c=(r,i,o)=>{n.mutate({memberId:e,subscriptionId:t.id,cancelAtPeriodEnd:r},{onSuccess:()=>a.success(i),onError:()=>a.error(o)})};return(0,X.jsxs)(F,{children:[(0,X.jsx)(Je,{asChild:!0,children:(0,X.jsx)(z,{"aria-label":`Subscription menu`,"data-testid":`subscription-actions`,disabled:i,size:`sm`,variant:`outline`,children:i?(0,X.jsx)(q,{size:`sm`}):(0,X.jsx)(V,{})})}),(0,X.jsxs)(Ke,{align:`end`,children:[(0,X.jsx)(K,{asChild:!0,children:(0,X.jsx)(`a`,{href:`https://dashboard.stripe.com/customers/${t.customer.id}`,rel:`noopener noreferrer`,target:`_blank`,children:`View Stripe customer`})}),(0,X.jsx)(pe,{}),(0,X.jsx)(K,{asChild:!0,children:(0,X.jsx)(`a`,{href:`https://dashboard.stripe.com/subscriptions/${t.id}`,rel:`noopener noreferrer`,target:`_blank`,children:`View Stripe subscription`})}),!o&&(s?(0,X.jsx)(K,{"data-testid":`continue-subscription`,onSelect:()=>c(!1,`Subscription continued`,`Couldn’t continue subscription`),children:`Continue subscription`}):(0,X.jsx)(K,{className:`text-destructive focus:text-destructive`,"data-testid":`cancel-subscription`,onSelect:()=>c(!0,`Subscription canceled`,`Couldn’t cancel subscription`),children:`Cancel subscription`}))]})]})},Yn=({member:e,tierId:t})=>{let n=me(),[r,i]=Y.useState(!1),o=R(),s=n.isPending||n.isSuccess&&o;return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(F,{children:[(0,X.jsx)(Je,{asChild:!0,children:(0,X.jsx)(z,{"aria-label":`Subscription menu`,"data-testid":`subscription-actions`,disabled:s,size:`sm`,variant:`outline`,children:s?(0,X.jsx)(q,{size:`sm`}):(0,X.jsx)(V,{})})}),(0,X.jsx)(Ke,{align:`end`,children:(0,X.jsx)(K,{className:`text-destructive focus:text-destructive`,"data-testid":`remove-complimentary`,onSelect:()=>i(!0),children:`Remove complimentary subscription`})})]}),(0,X.jsx)(Re,{open:r,onOpenChange:e=>{n.isPending||i(e)},children:(0,X.jsxs)(qe,{children:[(0,X.jsxs)(Ze,{children:[(0,X.jsx)(Fe,{children:`Remove complimentary subscription?`}),(0,X.jsx)(Pe,{children:`The member will lose access to this tier immediately.`})]}),(0,X.jsxs)(He,{children:[(0,X.jsx)(We,{disabled:n.isPending,children:`Cancel`}),(0,X.jsx)(z,{"data-testid":`confirm-remove-complimentary`,disabled:n.isPending,variant:`destructive`,onClick:()=>{let r=(e.tiers??[]).filter(e=>e.id!==t).map(e=>({id:e.id,expiry_at:e.expiry_at??null}));n.mutate({id:e.id,email:e.email,tiers:r},{onSuccess:()=>{a.success(`Complimentary subscription removed`),i(!1)},onError:()=>a.error(`Couldn’t remove complimentary subscription`)})},children:n.isPending?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Removing`})]}):`Remove`})]})]})})]})},Xn=e=>{let t=e/100;return t.toLocaleString(void 0,t%1==0?void 0:{minimumFractionDigits:2,maximumFractionDigits:2})},Zn=({sub:e,kind:t})=>{if(t===`complimentary`||t===`gift`)return(0,X.jsx)(`div`,{className:`flex size-20 shrink-0 items-center justify-center rounded-lg bg-muted text-center text-sm font-medium text-muted-foreground`,children:t===`complimentary`?`Comp`:`Gift`});let n=c(e.price.currency),r=Xn(e.price.amount),i=Fn(e.price.interval);return(0,X.jsxs)(`div`,{className:`flex size-20 shrink-0 flex-col items-center justify-center rounded-lg bg-muted text-foreground`,children:[(0,X.jsxs)(`div`,{className:`flex items-start leading-none`,children:[(0,X.jsx)(`span`,{className:`mt-1 text-sm font-semibold`,children:n}),(0,X.jsx)(`span`,{className:`text-3xl font-semibold tracking-tight`,children:r})]}),(0,X.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:i})]})},Qn=e=>e?Z.default.utc(e).format(`D MMM YYYY`):``,$n=({sub:e})=>{let t=Qn(e.start_date),n=e.attribution?.referrer_source,r=n&&n!==`Unknown`,i=e.attribution?.title?{title:e.attribution.title,url:e.attribution.url??null}:null;return(0,X.jsxs)(`div`,{className:`mt-3 space-y-1 border-t border-border pt-3 text-sm text-muted-foreground`,children:[t&&(0,X.jsxs)(`p`,{children:[`Created — `,(0,X.jsx)(`span`,{className:`text-foreground`,children:t})]}),r&&(0,X.jsxs)(`p`,{children:[`Source — `,(0,X.jsx)(`span`,{className:`text-foreground`,children:n})]}),i&&(0,X.jsxs)(`p`,{children:[`Page — `,i.url?(0,X.jsx)(`a`,{className:`text-foreground hover:underline`,href:i.url,rel:`noopener noreferrer`,target:`_blank`,children:i.title}):(0,X.jsx)(`span`,{className:`text-foreground`,children:i.title})]})]})},er=({member:e,sub:t,showDivider:n})=>{let[r,i]=Y.useState(!1),a=Pn(t),o=Ln(t),s=Bn(t),c=In(t);return(0,X.jsxs)(`div`,{className:m(`flex items-start justify-between gap-4 py-5 first:pt-0 last:pb-0`,n&&`border-t border-border`),"data-testid":`member-subscription`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-4`,children:[(0,X.jsx)(Zn,{kind:a,sub:t}),(0,X.jsxs)(`div`,{className:`min-w-0 flex-1 pt-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(`span`,{className:`min-w-0 truncate font-semibold`,"data-testid":`member-subscription-tier`,children:t.tier?.name??`Subscription`}),(0,X.jsx)(ge,{"data-testid":`member-subscription-status`,variant:o===`Canceled`?`secondary`:`success`,children:o})]}),(c||s)&&(0,X.jsxs)(`div`,{className:`mt-1 text-sm`,children:[c&&(0,X.jsx)(`span`,{className:`font-semibold text-foreground`,children:c}),c&&s&&(0,X.jsx)(`span`,{className:`text-muted-foreground`,children:` – `}),s&&(0,X.jsx)(`span`,{className:`text-muted-foreground`,children:s})]}),(0,X.jsxs)(`button`,{"aria-expanded":r,className:`mt-1 inline-flex items-center gap-1 text-sm font-medium text-primary hover:underline`,"data-testid":`member-subscription-details-toggle`,type:`button`,onClick:()=>i(e=>!e),children:[`Details`,(0,X.jsx)(fe,{className:m(`transition-transform`,r&&`rotate-180`),size:14})]}),r&&(0,X.jsx)($n,{sub:t})]})]}),a===`paid`&&(0,X.jsx)(Jn,{memberId:e.id,subscription:t}),a===`complimentary`&&t.tier?.id&&(0,X.jsx)(Yn,{member:e,tierId:t.tier.id})]})},tr=({member:e,canAddComp:t})=>{let[n,r]=Y.useState(!1);if(!e)return(0,X.jsx)(w,{"data-testid":`member-subscriptions`,children:(0,X.jsx)(C,{className:`pt-6`,children:(0,X.jsx)(`div`,{className:`flex flex-col items-center gap-3 py-4`,children:(0,X.jsx)(T,{title:`No subscriptions`,children:(0,X.jsx)(L,{})})})})});let i=Vn(e.subscriptions??[]),a=i.length>0,o=t&&(e.tiers?.length??0)===0,s=o?(0,X.jsxs)(z,{"data-testid":`add-complimentary`,variant:`outline`,onClick:()=>r(!0),children:[(0,X.jsx)(et,{className:`mr-1`,size:16}),`Add complimentary subscription`]}):null;return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(w,{"data-testid":`member-subscriptions`,children:(0,X.jsx)(C,{className:`pt-6`,children:a?(0,X.jsxs)(X.Fragment,{children:[i.map(t=>(0,X.jsxs)(`div`,{className:`flex flex-col`,children:[t.subscriptions.map((n,r)=>(0,X.jsx)(er,{member:e,showDivider:r>0,sub:n},n.id||`${t.tier.id}-${r}`)),t.subscriptions.length>1&&(0,X.jsxs)(`div`,{className:`pt-3 text-sm text-muted-foreground`,children:[t.subscriptions.length,` subscriptions`]})]},t.tier.id)),s&&(0,X.jsx)(`div`,{className:`mt-4 flex justify-center border-t border-border pt-4`,children:s})]}):(0,X.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-4`,children:[(0,X.jsx)(T,{title:`No subscriptions`,children:(0,X.jsx)(L,{})}),s]})})}),o&&(0,X.jsx)(qn,{member:e,open:n,onOpenChange:r})]})};function nr(e){let t=new URLSearchParams(e),n=t.get(`back`);if(n&&n.startsWith(`/members`))return n;let r=t.get(`post`);return r?`/members?post=${encodeURIComponent(r)}`:`/members`}function rr(e){let[t,n]=Y.useState(null),r=Y.useRef(e);return r.current=e,Y.useEffect(()=>{let e=e=>{if(!r.current||e.defaultPrevented||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.button!==0)return;let t=e.target.closest?.(`a[href^="#/"]`);!t||t.hasAttribute(`data-discover`)||(e.preventDefault(),e.stopPropagation(),n(t.getAttribute(`href`)))};return document.addEventListener(`click`,e,!0),()=>document.removeEventListener(`click`,e,!0)},[]),{blockedHref:t,isBlocked:t!==null,proceed:()=>{t&&(n(null),window.location.hash=t)},reset:()=>n(null)}}var ir=`new`,ar=({paidMembersEnabled:e,newslettersUiEnabled:t,engagementEnabled:n})=>{let{member_id:r=``}=d(),i=u(),c=p(),m=nr(i.search),h=r===ir,v=Le(`membersCustomFields`),{data:y,isLoading:b,error:x,refetch:ee}=je(r,{enabled:!!r&&!h,searchParams:{include:v?`tiers,custom_fields`:`tiers`},defaultErrorHandler:!1}),S=y?.members?.[0],te=!h&&!b&&!!x,T=!h&&!b&&!x&&!S,E=me(),ce=Me(),D=h?ce:E,{data:le}=ot({searchParams:{filter:`type:paid+active:true`,limit:`all`},enabled:e}),ue=(le?.tiers?.length??0)>0,{data:O}=at({searchParams:{filter:`status:active`,limit:`50`}}),de=O!==void 0,fe=(O?.newsletters?.length??0)>1,pe=(le?.tiers?.length??0)>1,[k,A]=Y.useState(void 0),j=Y.useRef(void 0),M=Y.useRef(void 0),N=Y.useRef(!1),P=Y.useRef(!1);Y.useEffect(()=>{if(h){if(j.current!==ir){j.current=ir,N.current=!1;let e=Q({});M.current=e,A(e)}return}if(!S)return;let e=Q(S);if(j.current!==S.id){j.current=S.id,M.current=e,A(e);return}let t=M.current;M.current=e,A(n=>mn(n,t)?e:n)},[S,h]),Y.useEffect(()=>{P.current=!1},[r]),Y.useEffect(()=>{if(!h||N.current||!O?.newsletters)return;N.current=!0;let e=tn(O.newsletters);if(e.length===0)return;let t={...M.current??Q({}),newsletters:[...e].sort()};M.current=t,A(t=>t&&{...t,newsletters:[...e].sort()})},[h,O]);let F=h?M.current:S?Q(S):void 0,I=!!k&&!!F&&!s(pn(k),F),he=!!k&&Qt(k.email),[ge,_e]=Y.useState(!1);Y.useEffect(()=>{_e(!1)},[S?.id,h]);let ve=k?$t(k.email,ge):null,[L,ye]=Y.useState({name:``,email:``});Y.useEffect(()=>{if(h){ye({name:``,email:``});return}S&&ye({name:S.name??``,email:S.email??``})},[S?.id,S?.name,S?.email,h]);let be=()=>{k&&ye({name:k.name,email:k.email})},R=e=>{D.isError&&D.reset(),A(t=>t&&{...t,...e})},xe=()=>{if(!(!k||!I||!he||D.isPending)){if(be(),h){ce.mutate({email:k.email.trim(),name:k.name.trim()||void 0,note:k.note.trim()||void 0,labels:k.labels.length?k.labels:void 0,newsletters:N.current?k.newsletters.map(e=>({id:e})):void 0},{onSuccess:e=>{let t=e.members?.[0];if(!t){a.error(`Member couldn’t be created`);return}P.current=!0,a.success(`Member created`),c(`/members/${t.id}`,{replace:!0})},onError:()=>{a.error(`Member couldn’t be created`)}});return}!S||j.current!==S.id||E.mutate(an(S.id,k,Q(S)),{onSuccess:e=>{let t=e.members?.[0];if(t){let e=Q(t);M.current=e,A(e)}a.success(`Member updated`)},onError:()=>{a.error(`Member couldn’t be saved`)}})}};o(D.isPending||I);let Se=l(({currentLocation:e,nextLocation:t})=>!P.current&&I&&e.pathname!==t.pathname),B=rr(I),V=Se.state===`blocked`||B.isBlocked,H=`Save`,U=`default`,we=!0;D.isPending?H=(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(q,{size:`sm`}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Saving`})]}):I?(H=D.isError?`Retry`:`Save`,U=D.isError?`destructive`:`default`,we=!he):!h&&E.isSuccess&&(H=`Saved`);let W=!!k&&(h||!!S),G=`Member`;return h?G=`New member`:S?G=Ce(S):T&&(G=`Member not found`),(0,X.jsx)(g,{className:`size-full`,children:(0,X.jsx)(_,{className:`relative flex h-full flex-col`,size:`page`,children:(0,X.jsxs)(mt,{"data-testid":`member-detail`,children:[(0,X.jsx)(mt.Header,{children:(0,X.jsxs)(it,{blurredBackground:!1,sticky:!1,children:[(0,X.jsx)(it.Left,{children:(0,X.jsx)(se,{children:(0,X.jsxs)(re,{children:[(0,X.jsx)(ie,{children:(0,X.jsx)(oe,{asChild:!0,children:(0,X.jsx)(f,{"data-test-link":`members-back`,to:m,children:`Members`})})}),(0,X.jsx)(ae,{}),(0,X.jsx)(ie,{children:!h&&b?(0,X.jsx)(Xe,{className:`h-4 w-40`}):(0,X.jsx)(ne,{className:`truncate`,"data-testid":`member-detail-title`,children:G})})]})})}),(h||S)&&(0,X.jsx)(it.Actions,{children:(0,X.jsxs)(it.ActionGroup,{children:[S&&!h&&(0,X.jsx)(Tt,{allowLeaveWithUnsavedChanges:()=>{P.current=!0},member:S},S.id),(0,X.jsx)(z,{className:`min-w-16`,disabled:we,variant:U,onClick:xe,children:H})]})})]})}),(0,X.jsxs)(mt.Body,{children:[te&&(0,X.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3`,"data-testid":`member-detail-load-error`,children:[(0,X.jsx)(`p`,{className:`text-muted-foreground`,children:`Couldn’t load this member.`}),(0,X.jsx)(z,{variant:`outline`,onClick:()=>void ee(),children:`Retry`})]}),T&&(0,X.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,X.jsx)(`p`,{className:`text-muted-foreground`,children:`This member couldn’t be found.`})}),W&&k&&(0,X.jsxs)(`div`,{className:`flex flex-1 flex-col gap-8 lg:flex-row lg:items-start lg:gap-12`,children:[(0,X.jsx)(An,{draftEmail:L.email,draftName:L.name,engagementEnabled:n,member:S}),(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-8`,children:[(0,X.jsx)(w,{children:(0,X.jsx)(C,{className:`p-6`,children:(0,X.jsx)(Dn,{disabled:D.isPending,draft:k,emailError:ve,onChange:R,onEmailBlur:()=>{_e(!0),be()},onNameBlur:be})})}),v&&S&&(0,X.jsx)(Tn,{customFields:S.custom_fields,disabled:D.isPending,memberId:S.id}),t&&(h||S)&&(0,X.jsx)(jn,{disabled:D.isPending,emailSuppression:S?.email_suppression,memberId:S?.id,subscribedIds:k.newsletters,onChange:e=>R({newsletters:e})}),e&&(0,X.jsxs)(`section`,{"aria-labelledby":`member-subscriptions-heading`,className:`flex flex-col gap-3`,children:[(0,X.jsx)(`h3`,{className:`text-base font-semibold`,id:`member-subscriptions-heading`,children:`Subscriptions`}),(0,X.jsx)(tr,{canAddComp:ue,member:S})]}),(h||S&&de)&&(0,X.jsx)(Kt,{hasMultipleNewsletters:fe,hasMultipleTiers:pe,memberId:S?.id,paidMembersEnabled:e})]})]})]}),(0,X.jsx)(Re,{open:V,onOpenChange:e=>{!e&&V&&(Se.reset?.(),B.reset())},children:(0,X.jsxs)(qe,{children:[(0,X.jsxs)(Ze,{children:[(0,X.jsx)(Fe,{children:`Discard unsaved changes?`}),(0,X.jsx)(Pe,{children:`Your changes will be lost if you leave this member.`})]}),(0,X.jsxs)(He,{children:[(0,X.jsx)(We,{children:`Keep editing`}),(0,X.jsx)(z,{variant:`destructive`,onClick:()=>{B.isBlocked?B.proceed():Se.proceed?.()},children:`Leave`})]})]})})]})})})},or=()=>{let{data:e,isLoading:t}=M({});if(t||!e?.settings)return(0,X.jsx)(g,{className:`size-full`,children:(0,X.jsx)(_,{className:`relative flex h-full flex-col`,size:`page`,children:(0,X.jsx)(mt,{children:(0,X.jsx)(mt.Body,{children:(0,X.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,X.jsx)(q,{size:`lg`})})})})})});let n=U(e.settings,`editor_default_email_recipients`),r=U(e.settings,`members_signup_access`);return(0,X.jsx)(ar,{engagementEnabled:r!==`none`&&n!==`disabled`,newslettersUiEnabled:nn(n),paidMembersEnabled:U(e.settings,`paid_members_enabled`)===!0})};export{or as default};