shipscreens 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (605) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +27 -0
  3. package/bin/shipscreens.js +664 -0
  4. package/cli/assetRefs.js +33 -0
  5. package/cli/auth.js +454 -0
  6. package/cli/buildOutputs.js +146 -0
  7. package/cli/commands/auth.js +65 -0
  8. package/cli/commands/build.js +347 -0
  9. package/cli/commands/copyImport.js +263 -0
  10. package/cli/commands/exportFramefile.js +404 -0
  11. package/cli/commands/init.js +339 -0
  12. package/cli/commands/lock.js +144 -0
  13. package/cli/commands/plan.js +203 -0
  14. package/cli/commands/stage.js +318 -0
  15. package/cli/commands/validate.js +89 -0
  16. package/cli/commands/verify.js +659 -0
  17. package/cli/commands/wizard.js +266 -0
  18. package/cli/dataUrl.js +19 -0
  19. package/cli/fastlaneZip.js +115 -0
  20. package/cli/hash.js +13 -0
  21. package/cli/loadConfig.js +55 -0
  22. package/cli/outputPaths.js +24 -0
  23. package/cli/packageRoot.js +8 -0
  24. package/cli/pathUtils.js +25 -0
  25. package/cli/rendererServer.js +48 -0
  26. package/cli/repoRoot.js +23 -0
  27. package/cli/rootPolicy.js +17 -0
  28. package/cli/schema.js +290 -0
  29. package/cli/snapshotFromConfig.js +116 -0
  30. package/cli/staticServer.js +102 -0
  31. package/cli/templateConfig.js +51 -0
  32. package/cli/viteServer.js +40 -0
  33. package/dist/app/apple-touch-icon.png +0 -0
  34. package/dist/app/assets/AgentCli-8e28laT4.js +17 -0
  35. package/dist/app/assets/AgentCli-8e28laT4.js.map +1 -0
  36. package/dist/app/assets/App-DU0xew0e.js +13 -0
  37. package/dist/app/assets/App-DU0xew0e.js.map +1 -0
  38. package/dist/app/assets/AppReviewAso-OLwc4Rw_.js +4 -0
  39. package/dist/app/assets/AppReviewAso-OLwc4Rw_.js.map +1 -0
  40. package/dist/app/assets/Cancelled-BoeZQa1S.js +2 -0
  41. package/dist/app/assets/Cancelled-BoeZQa1S.js.map +1 -0
  42. package/dist/app/assets/CliPreflightCard-CxYyogdF.js +2 -0
  43. package/dist/app/assets/CliPreflightCard-CxYyogdF.js.map +1 -0
  44. package/dist/app/assets/CopyButton-CGfuSJtU.js +2 -0
  45. package/dist/app/assets/CopyButton-CGfuSJtU.js.map +1 -0
  46. package/dist/app/assets/FastlaneScreenshots-CFT6IiRb.js +52 -0
  47. package/dist/app/assets/FastlaneScreenshots-CFT6IiRb.js.map +1 -0
  48. package/dist/app/assets/FirstExport-B_UDacZm.js +6 -0
  49. package/dist/app/assets/FirstExport-B_UDacZm.js.map +1 -0
  50. package/dist/app/assets/FivePanelFramework-C1z_xUbe.js +60 -0
  51. package/dist/app/assets/FivePanelFramework-C1z_xUbe.js.map +1 -0
  52. package/dist/app/assets/ForgotPassword-ZQ8U3ejz.js +2 -0
  53. package/dist/app/assets/ForgotPassword-ZQ8U3ejz.js.map +1 -0
  54. package/dist/app/assets/Landing-DAIP71DD.js +2 -0
  55. package/dist/app/assets/Landing-DAIP71DD.js.map +1 -0
  56. package/dist/app/assets/LanguageSwitcher-D93nCuuR.js +2 -0
  57. package/dist/app/assets/LanguageSwitcher-D93nCuuR.js.map +1 -0
  58. package/dist/app/assets/Legal-Koe7vi6H.js +2 -0
  59. package/dist/app/assets/Legal-Koe7vi6H.js.map +1 -0
  60. package/dist/app/assets/NotFound-CfY31vMZ.js +2 -0
  61. package/dist/app/assets/NotFound-CfY31vMZ.js.map +1 -0
  62. package/dist/app/assets/Pricing-BQwtFVbj.js +2 -0
  63. package/dist/app/assets/Pricing-BQwtFVbj.js.map +1 -0
  64. package/dist/app/assets/Privacy-CaHf2UM7.js +2 -0
  65. package/dist/app/assets/Privacy-CaHf2UM7.js.map +1 -0
  66. package/dist/app/assets/SignIn-Cyi2_-Mn.js +2 -0
  67. package/dist/app/assets/SignIn-Cyi2_-Mn.js.map +1 -0
  68. package/dist/app/assets/SignUp-C9QH5po_.js +2 -0
  69. package/dist/app/assets/SignUp-C9QH5po_.js.map +1 -0
  70. package/dist/app/assets/SiteHeader-Dj3gDOnR.js +2 -0
  71. package/dist/app/assets/SiteHeader-Dj3gDOnR.js.map +1 -0
  72. package/dist/app/assets/StickyMobileCta-uyWGVhdc.js +2 -0
  73. package/dist/app/assets/StickyMobileCta-uyWGVhdc.js.map +1 -0
  74. package/dist/app/assets/StoreAssetsPipeline-BJlnD3kD.js +4 -0
  75. package/dist/app/assets/StoreAssetsPipeline-BJlnD3kD.js.map +1 -0
  76. package/dist/app/assets/Success-B7k7FvJj.js +2 -0
  77. package/dist/app/assets/Success-B7k7FvJj.js.map +1 -0
  78. package/dist/app/assets/Terms-DgJWOeUD.js +2 -0
  79. package/dist/app/assets/Terms-DgJWOeUD.js.map +1 -0
  80. package/dist/app/assets/ToolsIndex-xMPoFom9.js +6 -0
  81. package/dist/app/assets/ToolsIndex-xMPoFom9.js.map +1 -0
  82. package/dist/app/assets/WorkloadCalculator-Bdt6qPR3.js +5 -0
  83. package/dist/app/assets/WorkloadCalculator-Bdt6qPR3.js.map +1 -0
  84. package/dist/app/assets/calculator-CWfp5Day.js +2 -0
  85. package/dist/app/assets/calculator-CWfp5Day.js.map +1 -0
  86. package/dist/app/assets/check-BWCiUZ-C.js +2 -0
  87. package/dist/app/assets/check-BWCiUZ-C.js.map +1 -0
  88. package/dist/app/assets/chevron-down-DbSAem1L.js +2 -0
  89. package/dist/app/assets/chevron-down-DbSAem1L.js.map +1 -0
  90. package/dist/app/assets/circle-check-CeakjiXC.js +2 -0
  91. package/dist/app/assets/circle-check-CeakjiXC.js.map +1 -0
  92. package/dist/app/assets/clipboard-copy-DgTgnK84.js +2 -0
  93. package/dist/app/assets/clipboard-copy-DgTgnK84.js.map +1 -0
  94. package/dist/app/assets/copy-C9t_FzCZ.js +2 -0
  95. package/dist/app/assets/copy-C9t_FzCZ.js.map +1 -0
  96. package/dist/app/assets/crop-B7IxIx6D.js +2 -0
  97. package/dist/app/assets/crop-B7IxIx6D.js.map +1 -0
  98. package/dist/app/assets/download-65Zuvgwm.js +2 -0
  99. package/dist/app/assets/download-65Zuvgwm.js.map +1 -0
  100. package/dist/app/assets/eye-ouNo8Nv5.js +2 -0
  101. package/dist/app/assets/eye-ouNo8Nv5.js.map +1 -0
  102. package/dist/app/assets/grid-3x3-U1Nk_ppf.js +2 -0
  103. package/dist/app/assets/grid-3x3-U1Nk_ppf.js.map +1 -0
  104. package/dist/app/assets/hero/cli-build-tree-15s.mp4 +0 -0
  105. package/dist/app/assets/hero/cli-build-tree-15s.webm +0 -0
  106. package/dist/app/assets/hero/cli-build-tree-25s.mp4 +0 -0
  107. package/dist/app/assets/hero/cli-build-tree-25s.webm +0 -0
  108. package/dist/app/assets/hero/cli-build-tree-poster.png +0 -0
  109. package/dist/app/assets/hero/demo.gif +0 -0
  110. package/dist/app/assets/hero/demo.mp4 +0 -0
  111. package/dist/app/assets/hero/demo.webm +0 -0
  112. package/dist/app/assets/icons/apple-touch-icon.png +0 -0
  113. package/dist/app/assets/icons/device-base.png +0 -0
  114. package/dist/app/assets/icons/favicon-16x16.png +0 -0
  115. package/dist/app/assets/icons/favicon-32x32.png +0 -0
  116. package/dist/app/assets/icons/favicon.ico +0 -0
  117. package/dist/app/assets/icons/favicon.svg +1 -0
  118. package/dist/app/assets/index-B8Y8Y-Mi.js +180 -0
  119. package/dist/app/assets/index-B8Y8Y-Mi.js.map +1 -0
  120. package/dist/app/assets/index-hyiQFYGv.css +1 -0
  121. package/dist/app/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
  122. package/dist/app/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
  123. package/dist/app/assets/inter-cyrillic-500-normal-BasfLYem.woff2 +0 -0
  124. package/dist/app/assets/inter-cyrillic-500-normal-CxZf_p3X.woff +0 -0
  125. package/dist/app/assets/inter-cyrillic-600-normal-4D_pXhcN.woff +0 -0
  126. package/dist/app/assets/inter-cyrillic-600-normal-CWCymEST.woff2 +0 -0
  127. package/dist/app/assets/inter-cyrillic-700-normal-CjBOestx.woff2 +0 -0
  128. package/dist/app/assets/inter-cyrillic-700-normal-DrXBdSj3.woff +0 -0
  129. package/dist/app/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
  130. package/dist/app/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
  131. package/dist/app/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 +0 -0
  132. package/dist/app/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff +0 -0
  133. package/dist/app/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff +0 -0
  134. package/dist/app/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2 +0 -0
  135. package/dist/app/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2 +0 -0
  136. package/dist/app/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff +0 -0
  137. package/dist/app/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
  138. package/dist/app/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
  139. package/dist/app/assets/inter-greek-500-normal-BIZE56-Y.woff2 +0 -0
  140. package/dist/app/assets/inter-greek-500-normal-Xzm54t5V.woff +0 -0
  141. package/dist/app/assets/inter-greek-600-normal-BZpKdvQh.woff +0 -0
  142. package/dist/app/assets/inter-greek-600-normal-plRanbMR.woff2 +0 -0
  143. package/dist/app/assets/inter-greek-700-normal-BUv2fZ6O.woff +0 -0
  144. package/dist/app/assets/inter-greek-700-normal-C3JjAnD8.woff2 +0 -0
  145. package/dist/app/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
  146. package/dist/app/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
  147. package/dist/app/assets/inter-greek-ext-500-normal-2j5mBUwD.woff +0 -0
  148. package/dist/app/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 +0 -0
  149. package/dist/app/assets/inter-greek-ext-600-normal-B8X0CLgF.woff +0 -0
  150. package/dist/app/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2 +0 -0
  151. package/dist/app/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff +0 -0
  152. package/dist/app/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2 +0 -0
  153. package/dist/app/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
  154. package/dist/app/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
  155. package/dist/app/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
  156. package/dist/app/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
  157. package/dist/app/assets/inter-latin-600-normal-CiBQ2DWP.woff +0 -0
  158. package/dist/app/assets/inter-latin-600-normal-LgqL8muc.woff2 +0 -0
  159. package/dist/app/assets/inter-latin-700-normal-BLAVimhd.woff +0 -0
  160. package/dist/app/assets/inter-latin-700-normal-Yt3aPRUw.woff2 +0 -0
  161. package/dist/app/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
  162. package/dist/app/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
  163. package/dist/app/assets/inter-latin-ext-500-normal-BxGbmqWO.woff +0 -0
  164. package/dist/app/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2 +0 -0
  165. package/dist/app/assets/inter-latin-ext-600-normal-CIVaiw4L.woff +0 -0
  166. package/dist/app/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2 +0 -0
  167. package/dist/app/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2 +0 -0
  168. package/dist/app/assets/inter-latin-ext-700-normal-TidjK2hL.woff +0 -0
  169. package/dist/app/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
  170. package/dist/app/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  171. package/dist/app/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
  172. package/dist/app/assets/inter-vietnamese-500-normal-mJboJaSs.woff +0 -0
  173. package/dist/app/assets/inter-vietnamese-600-normal-BuLX-rYi.woff +0 -0
  174. package/dist/app/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
  175. package/dist/app/assets/inter-vietnamese-700-normal-BZaoP0fm.woff +0 -0
  176. package/dist/app/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2 +0 -0
  177. package/dist/app/assets/layout-grid-X9Sgull2.js +2 -0
  178. package/dist/app/assets/layout-grid-X9Sgull2.js.map +1 -0
  179. package/dist/app/assets/merriweather-cyrillic-400-normal-AvfsDsMQ.woff2 +0 -0
  180. package/dist/app/assets/merriweather-cyrillic-400-normal-DAcQ8g-H.woff +0 -0
  181. package/dist/app/assets/merriweather-cyrillic-700-normal-CHCcU-4a.woff +0 -0
  182. package/dist/app/assets/merriweather-cyrillic-700-normal-wbY04GlL.woff2 +0 -0
  183. package/dist/app/assets/merriweather-cyrillic-ext-400-normal-D9NYhYTq.woff2 +0 -0
  184. package/dist/app/assets/merriweather-cyrillic-ext-400-normal-Di6yW_eE.woff +0 -0
  185. package/dist/app/assets/merriweather-cyrillic-ext-700-normal-Bk1p9YoV.woff2 +0 -0
  186. package/dist/app/assets/merriweather-cyrillic-ext-700-normal-DoooT6Vg.woff +0 -0
  187. package/dist/app/assets/merriweather-latin-400-normal-CvqO63Ah.woff +0 -0
  188. package/dist/app/assets/merriweather-latin-400-normal-G4kZaoXi.woff2 +0 -0
  189. package/dist/app/assets/merriweather-latin-700-normal-D4-nzrAh.woff +0 -0
  190. package/dist/app/assets/merriweather-latin-700-normal-DoUP8Ce-.woff2 +0 -0
  191. package/dist/app/assets/merriweather-latin-ext-400-normal-CLqijLtt.woff +0 -0
  192. package/dist/app/assets/merriweather-latin-ext-400-normal-CWVzVQq3.woff2 +0 -0
  193. package/dist/app/assets/merriweather-latin-ext-700-normal-CaBzXGOk.woff +0 -0
  194. package/dist/app/assets/merriweather-latin-ext-700-normal-jHnxg2Kc.woff2 +0 -0
  195. package/dist/app/assets/merriweather-vietnamese-400-normal-Dh8WVvgZ.woff +0 -0
  196. package/dist/app/assets/merriweather-vietnamese-400-normal-hNacsVs_.woff2 +0 -0
  197. package/dist/app/assets/merriweather-vietnamese-700-normal-Bp6kWjW5.woff2 +0 -0
  198. package/dist/app/assets/merriweather-vietnamese-700-normal-C7_HxHBa.woff +0 -0
  199. package/dist/app/assets/montserrat-cyrillic-400-normal-BPq32Q8K.woff2 +0 -0
  200. package/dist/app/assets/montserrat-cyrillic-400-normal-jEs4Tk-Z.woff +0 -0
  201. package/dist/app/assets/montserrat-cyrillic-700-normal-BvLYcGP1.woff +0 -0
  202. package/dist/app/assets/montserrat-cyrillic-700-normal-D-Pqjtdp.woff2 +0 -0
  203. package/dist/app/assets/montserrat-cyrillic-ext-400-normal-DRPPeomZ.woff +0 -0
  204. package/dist/app/assets/montserrat-cyrillic-ext-400-normal-Xqov12YL.woff2 +0 -0
  205. package/dist/app/assets/montserrat-cyrillic-ext-700-normal-D-Mk2xRJ.woff +0 -0
  206. package/dist/app/assets/montserrat-cyrillic-ext-700-normal-MyDreaeu.woff2 +0 -0
  207. package/dist/app/assets/montserrat-latin-400-normal-BLhwKU8k.woff2 +0 -0
  208. package/dist/app/assets/montserrat-latin-400-normal-xItZbAXg.woff +0 -0
  209. package/dist/app/assets/montserrat-latin-700-normal-BWkrl476.woff +0 -0
  210. package/dist/app/assets/montserrat-latin-700-normal-BdjcYUrC.woff2 +0 -0
  211. package/dist/app/assets/montserrat-latin-ext-400-normal-B8bwfy6Y.woff2 +0 -0
  212. package/dist/app/assets/montserrat-latin-ext-400-normal-BffdBkAA.woff +0 -0
  213. package/dist/app/assets/montserrat-latin-ext-700-normal-BOP2Nhf0.woff2 +0 -0
  214. package/dist/app/assets/montserrat-latin-ext-700-normal-DdDFr05Z.woff +0 -0
  215. package/dist/app/assets/montserrat-vietnamese-400-normal-BeEscFYY.woff +0 -0
  216. package/dist/app/assets/montserrat-vietnamese-400-normal-D4oHqQTd.woff2 +0 -0
  217. package/dist/app/assets/montserrat-vietnamese-700-normal-C0x1De3p.woff2 +0 -0
  218. package/dist/app/assets/montserrat-vietnamese-700-normal-DnwGT2D9.woff +0 -0
  219. package/dist/app/assets/playfair-display-cyrillic-400-normal-CjW2EstV.woff2 +0 -0
  220. package/dist/app/assets/playfair-display-cyrillic-400-normal-ZiRag6zj.woff +0 -0
  221. package/dist/app/assets/playfair-display-cyrillic-700-normal-Dk1mTcxf.woff +0 -0
  222. package/dist/app/assets/playfair-display-cyrillic-700-normal-Dw3uKy19.woff2 +0 -0
  223. package/dist/app/assets/playfair-display-latin-400-normal-CFtfchNt.woff2 +0 -0
  224. package/dist/app/assets/playfair-display-latin-400-normal-DHYHbkg3.woff +0 -0
  225. package/dist/app/assets/playfair-display-latin-700-normal-Bc_1Q1cG.woff +0 -0
  226. package/dist/app/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2 +0 -0
  227. package/dist/app/assets/playfair-display-latin-ext-400-normal-BxlSGspa.woff2 +0 -0
  228. package/dist/app/assets/playfair-display-latin-ext-400-normal-qdZwdvNS.woff +0 -0
  229. package/dist/app/assets/playfair-display-latin-ext-700-normal-C58ejOkc.woff2 +0 -0
  230. package/dist/app/assets/playfair-display-latin-ext-700-normal-D5HUU8GT.woff +0 -0
  231. package/dist/app/assets/playfair-display-vietnamese-400-normal-BV2APVTb.woff2 +0 -0
  232. package/dist/app/assets/playfair-display-vietnamese-400-normal-BbvUAu4N.woff +0 -0
  233. package/dist/app/assets/playfair-display-vietnamese-700-normal-CaKJSIny.woff2 +0 -0
  234. package/dist/app/assets/playfair-display-vietnamese-700-normal-Cr1rw0mr.woff +0 -0
  235. package/dist/app/assets/proof/output-01.png +0 -0
  236. package/dist/app/assets/proof/output-02.png +0 -0
  237. package/dist/app/assets/proof/output-03.png +0 -0
  238. package/dist/app/assets/proof/output-04.png +0 -0
  239. package/dist/app/assets/roboto-cyrillic-400-normal-DAIM1_dR.woff2 +0 -0
  240. package/dist/app/assets/roboto-cyrillic-400-normal-DZJji7Rx.woff +0 -0
  241. package/dist/app/assets/roboto-cyrillic-500-normal-BI4HuXre.woff +0 -0
  242. package/dist/app/assets/roboto-cyrillic-500-normal-hCeO1jFL.woff2 +0 -0
  243. package/dist/app/assets/roboto-cyrillic-700-normal-BiSG5NnW.woff2 +0 -0
  244. package/dist/app/assets/roboto-cyrillic-700-normal-KqaQ5bNp.woff +0 -0
  245. package/dist/app/assets/roboto-cyrillic-ext-400-normal-DtZHuW6i.woff +0 -0
  246. package/dist/app/assets/roboto-cyrillic-ext-400-normal-DzMWdK87.woff2 +0 -0
  247. package/dist/app/assets/roboto-cyrillic-ext-500-normal-B7rQpwPu.woff2 +0 -0
  248. package/dist/app/assets/roboto-cyrillic-ext-500-normal-C927yMrb.woff +0 -0
  249. package/dist/app/assets/roboto-cyrillic-ext-700-normal-BuQgZIrO.woff +0 -0
  250. package/dist/app/assets/roboto-cyrillic-ext-700-normal-UFn0vR9r.woff2 +0 -0
  251. package/dist/app/assets/roboto-greek-400-normal-CcizSnRP.woff +0 -0
  252. package/dist/app/assets/roboto-greek-400-normal-jFM2czAU.woff2 +0 -0
  253. package/dist/app/assets/roboto-greek-500-normal-BJMS0heP.woff2 +0 -0
  254. package/dist/app/assets/roboto-greek-500-normal-BLLWU9W-.woff +0 -0
  255. package/dist/app/assets/roboto-greek-700-normal-BcGn9doz.woff2 +0 -0
  256. package/dist/app/assets/roboto-greek-700-normal-D3kmAf0K.woff +0 -0
  257. package/dist/app/assets/roboto-latin-400-normal-068yxgMN.woff +0 -0
  258. package/dist/app/assets/roboto-latin-400-normal-CNwBRw8h.woff2 +0 -0
  259. package/dist/app/assets/roboto-latin-500-normal-CC5nhZkh.woff +0 -0
  260. package/dist/app/assets/roboto-latin-500-normal-CkrA1NAy.woff2 +0 -0
  261. package/dist/app/assets/roboto-latin-700-normal-CXeAXeti.woff2 +0 -0
  262. package/dist/app/assets/roboto-latin-700-normal-DUekQERp.woff +0 -0
  263. package/dist/app/assets/roboto-latin-ext-400-normal-ZYmyxeOy.woff2 +0 -0
  264. package/dist/app/assets/roboto-latin-ext-400-normal-eTRLN0Nt.woff +0 -0
  265. package/dist/app/assets/roboto-latin-ext-500-normal-C_ARlJGk.woff2 +0 -0
  266. package/dist/app/assets/roboto-latin-ext-500-normal-FFcS8vBN.woff +0 -0
  267. package/dist/app/assets/roboto-latin-ext-700-normal-70GS1MYH.woff2 +0 -0
  268. package/dist/app/assets/roboto-latin-ext-700-normal-BS1OuQqR.woff +0 -0
  269. package/dist/app/assets/roboto-math-400-normal-B3wgz80t.woff2 +0 -0
  270. package/dist/app/assets/roboto-math-400-normal-rzxYvyVt.woff +0 -0
  271. package/dist/app/assets/roboto-math-500-normal-CFNaIMFC.woff2 +0 -0
  272. package/dist/app/assets/roboto-math-500-normal-DaFX-ZC8.woff +0 -0
  273. package/dist/app/assets/roboto-math-700-normal-VUAI6Bz2.woff2 +0 -0
  274. package/dist/app/assets/roboto-math-700-normal-pYD1nhov.woff +0 -0
  275. package/dist/app/assets/roboto-symbols-400-normal-Tzuungub.woff +0 -0
  276. package/dist/app/assets/roboto-symbols-400-normal-fF1SLJBj.woff2 +0 -0
  277. package/dist/app/assets/roboto-symbols-500-normal-BXFTxrNR.woff2 +0 -0
  278. package/dist/app/assets/roboto-symbols-500-normal-CAhAe-ik.woff +0 -0
  279. package/dist/app/assets/roboto-symbols-700-normal-CuuvBBxy.woff +0 -0
  280. package/dist/app/assets/roboto-symbols-700-normal-rJi6RjIy.woff2 +0 -0
  281. package/dist/app/assets/roboto-vietnamese-400-normal-CDDxGrUb.woff2 +0 -0
  282. package/dist/app/assets/roboto-vietnamese-400-normal-DmXaN3yE.woff +0 -0
  283. package/dist/app/assets/roboto-vietnamese-500-normal-DW96CsrR.woff +0 -0
  284. package/dist/app/assets/roboto-vietnamese-500-normal-HYpufUYk.woff2 +0 -0
  285. package/dist/app/assets/roboto-vietnamese-700-normal-Dz0HwF-w.woff +0 -0
  286. package/dist/app/assets/roboto-vietnamese-700-normal-iKxYNAzq.woff2 +0 -0
  287. package/dist/app/assets/rocket-BjOXauLe.js +2 -0
  288. package/dist/app/assets/rocket-BjOXauLe.js.map +1 -0
  289. package/dist/app/assets/shield-check-CFNhE_aD.js +2 -0
  290. package/dist/app/assets/shield-check-CFNhE_aD.js.map +1 -0
  291. package/dist/app/assets/signIn-CVoSzqCz.js +2 -0
  292. package/dist/app/assets/signIn-CVoSzqCz.js.map +1 -0
  293. package/dist/app/assets/smartphone-BcQB9gIh.js +2 -0
  294. package/dist/app/assets/smartphone-BcQB9gIh.js.map +1 -0
  295. package/dist/app/assets/terminal-CGhryJds.js +2 -0
  296. package/dist/app/assets/terminal-CGhryJds.js.map +1 -0
  297. package/dist/app/assets/useAuth-lZZC20Tl.js +4 -0
  298. package/dist/app/assets/useAuth-lZZC20Tl.js.map +1 -0
  299. package/dist/app/favicon-16x16.png +0 -0
  300. package/dist/app/favicon-32x32.png +0 -0
  301. package/dist/app/favicon.ico +0 -0
  302. package/dist/app/favicon.svg +10 -0
  303. package/dist/app/index.html +43 -0
  304. package/dist/apple-touch-icon.png +0 -0
  305. package/dist/assets/AgentCli-8e28laT4.js +17 -0
  306. package/dist/assets/AgentCli-8e28laT4.js.map +1 -0
  307. package/dist/assets/App-DU0xew0e.js +13 -0
  308. package/dist/assets/App-DU0xew0e.js.map +1 -0
  309. package/dist/assets/AppReviewAso-OLwc4Rw_.js +4 -0
  310. package/dist/assets/AppReviewAso-OLwc4Rw_.js.map +1 -0
  311. package/dist/assets/Cancelled-BoeZQa1S.js +2 -0
  312. package/dist/assets/Cancelled-BoeZQa1S.js.map +1 -0
  313. package/dist/assets/CliPreflightCard-CxYyogdF.js +2 -0
  314. package/dist/assets/CliPreflightCard-CxYyogdF.js.map +1 -0
  315. package/dist/assets/CopyButton-CGfuSJtU.js +2 -0
  316. package/dist/assets/CopyButton-CGfuSJtU.js.map +1 -0
  317. package/dist/assets/FastlaneScreenshots-CFT6IiRb.js +52 -0
  318. package/dist/assets/FastlaneScreenshots-CFT6IiRb.js.map +1 -0
  319. package/dist/assets/FirstExport-B_UDacZm.js +6 -0
  320. package/dist/assets/FirstExport-B_UDacZm.js.map +1 -0
  321. package/dist/assets/FivePanelFramework-C1z_xUbe.js +60 -0
  322. package/dist/assets/FivePanelFramework-C1z_xUbe.js.map +1 -0
  323. package/dist/assets/ForgotPassword-ZQ8U3ejz.js +2 -0
  324. package/dist/assets/ForgotPassword-ZQ8U3ejz.js.map +1 -0
  325. package/dist/assets/Landing-DAIP71DD.js +2 -0
  326. package/dist/assets/Landing-DAIP71DD.js.map +1 -0
  327. package/dist/assets/LanguageSwitcher-D93nCuuR.js +2 -0
  328. package/dist/assets/LanguageSwitcher-D93nCuuR.js.map +1 -0
  329. package/dist/assets/Legal-Koe7vi6H.js +2 -0
  330. package/dist/assets/Legal-Koe7vi6H.js.map +1 -0
  331. package/dist/assets/NotFound-CfY31vMZ.js +2 -0
  332. package/dist/assets/NotFound-CfY31vMZ.js.map +1 -0
  333. package/dist/assets/Pricing-BQwtFVbj.js +2 -0
  334. package/dist/assets/Pricing-BQwtFVbj.js.map +1 -0
  335. package/dist/assets/Privacy-CaHf2UM7.js +2 -0
  336. package/dist/assets/Privacy-CaHf2UM7.js.map +1 -0
  337. package/dist/assets/SignIn-Cyi2_-Mn.js +2 -0
  338. package/dist/assets/SignIn-Cyi2_-Mn.js.map +1 -0
  339. package/dist/assets/SignUp-C9QH5po_.js +2 -0
  340. package/dist/assets/SignUp-C9QH5po_.js.map +1 -0
  341. package/dist/assets/SiteHeader-Dj3gDOnR.js +2 -0
  342. package/dist/assets/SiteHeader-Dj3gDOnR.js.map +1 -0
  343. package/dist/assets/StickyMobileCta-uyWGVhdc.js +2 -0
  344. package/dist/assets/StickyMobileCta-uyWGVhdc.js.map +1 -0
  345. package/dist/assets/StoreAssetsPipeline-BJlnD3kD.js +4 -0
  346. package/dist/assets/StoreAssetsPipeline-BJlnD3kD.js.map +1 -0
  347. package/dist/assets/Success-B7k7FvJj.js +2 -0
  348. package/dist/assets/Success-B7k7FvJj.js.map +1 -0
  349. package/dist/assets/Terms-DgJWOeUD.js +2 -0
  350. package/dist/assets/Terms-DgJWOeUD.js.map +1 -0
  351. package/dist/assets/ToolsIndex-xMPoFom9.js +6 -0
  352. package/dist/assets/ToolsIndex-xMPoFom9.js.map +1 -0
  353. package/dist/assets/WorkloadCalculator-Bdt6qPR3.js +5 -0
  354. package/dist/assets/WorkloadCalculator-Bdt6qPR3.js.map +1 -0
  355. package/dist/assets/calculator-CWfp5Day.js +2 -0
  356. package/dist/assets/calculator-CWfp5Day.js.map +1 -0
  357. package/dist/assets/check-BWCiUZ-C.js +2 -0
  358. package/dist/assets/check-BWCiUZ-C.js.map +1 -0
  359. package/dist/assets/chevron-down-DbSAem1L.js +2 -0
  360. package/dist/assets/chevron-down-DbSAem1L.js.map +1 -0
  361. package/dist/assets/circle-check-CeakjiXC.js +2 -0
  362. package/dist/assets/circle-check-CeakjiXC.js.map +1 -0
  363. package/dist/assets/clipboard-copy-DgTgnK84.js +2 -0
  364. package/dist/assets/clipboard-copy-DgTgnK84.js.map +1 -0
  365. package/dist/assets/copy-C9t_FzCZ.js +2 -0
  366. package/dist/assets/copy-C9t_FzCZ.js.map +1 -0
  367. package/dist/assets/crop-B7IxIx6D.js +2 -0
  368. package/dist/assets/crop-B7IxIx6D.js.map +1 -0
  369. package/dist/assets/download-65Zuvgwm.js +2 -0
  370. package/dist/assets/download-65Zuvgwm.js.map +1 -0
  371. package/dist/assets/eye-ouNo8Nv5.js +2 -0
  372. package/dist/assets/eye-ouNo8Nv5.js.map +1 -0
  373. package/dist/assets/grid-3x3-U1Nk_ppf.js +2 -0
  374. package/dist/assets/grid-3x3-U1Nk_ppf.js.map +1 -0
  375. package/dist/assets/hero/cli-build-tree-15s.mp4 +0 -0
  376. package/dist/assets/hero/cli-build-tree-15s.webm +0 -0
  377. package/dist/assets/hero/cli-build-tree-25s.mp4 +0 -0
  378. package/dist/assets/hero/cli-build-tree-25s.webm +0 -0
  379. package/dist/assets/hero/cli-build-tree-poster.png +0 -0
  380. package/dist/assets/hero/demo.gif +0 -0
  381. package/dist/assets/hero/demo.mp4 +0 -0
  382. package/dist/assets/hero/demo.webm +0 -0
  383. package/dist/assets/icons/apple-touch-icon.png +0 -0
  384. package/dist/assets/icons/device-base.png +0 -0
  385. package/dist/assets/icons/favicon-16x16.png +0 -0
  386. package/dist/assets/icons/favicon-32x32.png +0 -0
  387. package/dist/assets/icons/favicon.ico +0 -0
  388. package/dist/assets/icons/favicon.svg +1 -0
  389. package/dist/assets/index-B8Y8Y-Mi.js +180 -0
  390. package/dist/assets/index-B8Y8Y-Mi.js.map +1 -0
  391. package/dist/assets/index-hyiQFYGv.css +1 -0
  392. package/dist/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
  393. package/dist/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
  394. package/dist/assets/inter-cyrillic-500-normal-BasfLYem.woff2 +0 -0
  395. package/dist/assets/inter-cyrillic-500-normal-CxZf_p3X.woff +0 -0
  396. package/dist/assets/inter-cyrillic-600-normal-4D_pXhcN.woff +0 -0
  397. package/dist/assets/inter-cyrillic-600-normal-CWCymEST.woff2 +0 -0
  398. package/dist/assets/inter-cyrillic-700-normal-CjBOestx.woff2 +0 -0
  399. package/dist/assets/inter-cyrillic-700-normal-DrXBdSj3.woff +0 -0
  400. package/dist/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
  401. package/dist/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
  402. package/dist/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 +0 -0
  403. package/dist/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff +0 -0
  404. package/dist/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff +0 -0
  405. package/dist/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2 +0 -0
  406. package/dist/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2 +0 -0
  407. package/dist/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff +0 -0
  408. package/dist/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
  409. package/dist/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
  410. package/dist/assets/inter-greek-500-normal-BIZE56-Y.woff2 +0 -0
  411. package/dist/assets/inter-greek-500-normal-Xzm54t5V.woff +0 -0
  412. package/dist/assets/inter-greek-600-normal-BZpKdvQh.woff +0 -0
  413. package/dist/assets/inter-greek-600-normal-plRanbMR.woff2 +0 -0
  414. package/dist/assets/inter-greek-700-normal-BUv2fZ6O.woff +0 -0
  415. package/dist/assets/inter-greek-700-normal-C3JjAnD8.woff2 +0 -0
  416. package/dist/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
  417. package/dist/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
  418. package/dist/assets/inter-greek-ext-500-normal-2j5mBUwD.woff +0 -0
  419. package/dist/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 +0 -0
  420. package/dist/assets/inter-greek-ext-600-normal-B8X0CLgF.woff +0 -0
  421. package/dist/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2 +0 -0
  422. package/dist/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff +0 -0
  423. package/dist/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2 +0 -0
  424. package/dist/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
  425. package/dist/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
  426. package/dist/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
  427. package/dist/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
  428. package/dist/assets/inter-latin-600-normal-CiBQ2DWP.woff +0 -0
  429. package/dist/assets/inter-latin-600-normal-LgqL8muc.woff2 +0 -0
  430. package/dist/assets/inter-latin-700-normal-BLAVimhd.woff +0 -0
  431. package/dist/assets/inter-latin-700-normal-Yt3aPRUw.woff2 +0 -0
  432. package/dist/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
  433. package/dist/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
  434. package/dist/assets/inter-latin-ext-500-normal-BxGbmqWO.woff +0 -0
  435. package/dist/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2 +0 -0
  436. package/dist/assets/inter-latin-ext-600-normal-CIVaiw4L.woff +0 -0
  437. package/dist/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2 +0 -0
  438. package/dist/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2 +0 -0
  439. package/dist/assets/inter-latin-ext-700-normal-TidjK2hL.woff +0 -0
  440. package/dist/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
  441. package/dist/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  442. package/dist/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
  443. package/dist/assets/inter-vietnamese-500-normal-mJboJaSs.woff +0 -0
  444. package/dist/assets/inter-vietnamese-600-normal-BuLX-rYi.woff +0 -0
  445. package/dist/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
  446. package/dist/assets/inter-vietnamese-700-normal-BZaoP0fm.woff +0 -0
  447. package/dist/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2 +0 -0
  448. package/dist/assets/layout-grid-X9Sgull2.js +2 -0
  449. package/dist/assets/layout-grid-X9Sgull2.js.map +1 -0
  450. package/dist/assets/merriweather-cyrillic-400-normal-AvfsDsMQ.woff2 +0 -0
  451. package/dist/assets/merriweather-cyrillic-400-normal-DAcQ8g-H.woff +0 -0
  452. package/dist/assets/merriweather-cyrillic-700-normal-CHCcU-4a.woff +0 -0
  453. package/dist/assets/merriweather-cyrillic-700-normal-wbY04GlL.woff2 +0 -0
  454. package/dist/assets/merriweather-cyrillic-ext-400-normal-D9NYhYTq.woff2 +0 -0
  455. package/dist/assets/merriweather-cyrillic-ext-400-normal-Di6yW_eE.woff +0 -0
  456. package/dist/assets/merriweather-cyrillic-ext-700-normal-Bk1p9YoV.woff2 +0 -0
  457. package/dist/assets/merriweather-cyrillic-ext-700-normal-DoooT6Vg.woff +0 -0
  458. package/dist/assets/merriweather-latin-400-normal-CvqO63Ah.woff +0 -0
  459. package/dist/assets/merriweather-latin-400-normal-G4kZaoXi.woff2 +0 -0
  460. package/dist/assets/merriweather-latin-700-normal-D4-nzrAh.woff +0 -0
  461. package/dist/assets/merriweather-latin-700-normal-DoUP8Ce-.woff2 +0 -0
  462. package/dist/assets/merriweather-latin-ext-400-normal-CLqijLtt.woff +0 -0
  463. package/dist/assets/merriweather-latin-ext-400-normal-CWVzVQq3.woff2 +0 -0
  464. package/dist/assets/merriweather-latin-ext-700-normal-CaBzXGOk.woff +0 -0
  465. package/dist/assets/merriweather-latin-ext-700-normal-jHnxg2Kc.woff2 +0 -0
  466. package/dist/assets/merriweather-vietnamese-400-normal-Dh8WVvgZ.woff +0 -0
  467. package/dist/assets/merriweather-vietnamese-400-normal-hNacsVs_.woff2 +0 -0
  468. package/dist/assets/merriweather-vietnamese-700-normal-Bp6kWjW5.woff2 +0 -0
  469. package/dist/assets/merriweather-vietnamese-700-normal-C7_HxHBa.woff +0 -0
  470. package/dist/assets/montserrat-cyrillic-400-normal-BPq32Q8K.woff2 +0 -0
  471. package/dist/assets/montserrat-cyrillic-400-normal-jEs4Tk-Z.woff +0 -0
  472. package/dist/assets/montserrat-cyrillic-700-normal-BvLYcGP1.woff +0 -0
  473. package/dist/assets/montserrat-cyrillic-700-normal-D-Pqjtdp.woff2 +0 -0
  474. package/dist/assets/montserrat-cyrillic-ext-400-normal-DRPPeomZ.woff +0 -0
  475. package/dist/assets/montserrat-cyrillic-ext-400-normal-Xqov12YL.woff2 +0 -0
  476. package/dist/assets/montserrat-cyrillic-ext-700-normal-D-Mk2xRJ.woff +0 -0
  477. package/dist/assets/montserrat-cyrillic-ext-700-normal-MyDreaeu.woff2 +0 -0
  478. package/dist/assets/montserrat-latin-400-normal-BLhwKU8k.woff2 +0 -0
  479. package/dist/assets/montserrat-latin-400-normal-xItZbAXg.woff +0 -0
  480. package/dist/assets/montserrat-latin-700-normal-BWkrl476.woff +0 -0
  481. package/dist/assets/montserrat-latin-700-normal-BdjcYUrC.woff2 +0 -0
  482. package/dist/assets/montserrat-latin-ext-400-normal-B8bwfy6Y.woff2 +0 -0
  483. package/dist/assets/montserrat-latin-ext-400-normal-BffdBkAA.woff +0 -0
  484. package/dist/assets/montserrat-latin-ext-700-normal-BOP2Nhf0.woff2 +0 -0
  485. package/dist/assets/montserrat-latin-ext-700-normal-DdDFr05Z.woff +0 -0
  486. package/dist/assets/montserrat-vietnamese-400-normal-BeEscFYY.woff +0 -0
  487. package/dist/assets/montserrat-vietnamese-400-normal-D4oHqQTd.woff2 +0 -0
  488. package/dist/assets/montserrat-vietnamese-700-normal-C0x1De3p.woff2 +0 -0
  489. package/dist/assets/montserrat-vietnamese-700-normal-DnwGT2D9.woff +0 -0
  490. package/dist/assets/playfair-display-cyrillic-400-normal-CjW2EstV.woff2 +0 -0
  491. package/dist/assets/playfair-display-cyrillic-400-normal-ZiRag6zj.woff +0 -0
  492. package/dist/assets/playfair-display-cyrillic-700-normal-Dk1mTcxf.woff +0 -0
  493. package/dist/assets/playfair-display-cyrillic-700-normal-Dw3uKy19.woff2 +0 -0
  494. package/dist/assets/playfair-display-latin-400-normal-CFtfchNt.woff2 +0 -0
  495. package/dist/assets/playfair-display-latin-400-normal-DHYHbkg3.woff +0 -0
  496. package/dist/assets/playfair-display-latin-700-normal-Bc_1Q1cG.woff +0 -0
  497. package/dist/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2 +0 -0
  498. package/dist/assets/playfair-display-latin-ext-400-normal-BxlSGspa.woff2 +0 -0
  499. package/dist/assets/playfair-display-latin-ext-400-normal-qdZwdvNS.woff +0 -0
  500. package/dist/assets/playfair-display-latin-ext-700-normal-C58ejOkc.woff2 +0 -0
  501. package/dist/assets/playfair-display-latin-ext-700-normal-D5HUU8GT.woff +0 -0
  502. package/dist/assets/playfair-display-vietnamese-400-normal-BV2APVTb.woff2 +0 -0
  503. package/dist/assets/playfair-display-vietnamese-400-normal-BbvUAu4N.woff +0 -0
  504. package/dist/assets/playfair-display-vietnamese-700-normal-CaKJSIny.woff2 +0 -0
  505. package/dist/assets/playfair-display-vietnamese-700-normal-Cr1rw0mr.woff +0 -0
  506. package/dist/assets/proof/output-01.png +0 -0
  507. package/dist/assets/proof/output-02.png +0 -0
  508. package/dist/assets/proof/output-03.png +0 -0
  509. package/dist/assets/proof/output-04.png +0 -0
  510. package/dist/assets/roboto-cyrillic-400-normal-DAIM1_dR.woff2 +0 -0
  511. package/dist/assets/roboto-cyrillic-400-normal-DZJji7Rx.woff +0 -0
  512. package/dist/assets/roboto-cyrillic-500-normal-BI4HuXre.woff +0 -0
  513. package/dist/assets/roboto-cyrillic-500-normal-hCeO1jFL.woff2 +0 -0
  514. package/dist/assets/roboto-cyrillic-700-normal-BiSG5NnW.woff2 +0 -0
  515. package/dist/assets/roboto-cyrillic-700-normal-KqaQ5bNp.woff +0 -0
  516. package/dist/assets/roboto-cyrillic-ext-400-normal-DtZHuW6i.woff +0 -0
  517. package/dist/assets/roboto-cyrillic-ext-400-normal-DzMWdK87.woff2 +0 -0
  518. package/dist/assets/roboto-cyrillic-ext-500-normal-B7rQpwPu.woff2 +0 -0
  519. package/dist/assets/roboto-cyrillic-ext-500-normal-C927yMrb.woff +0 -0
  520. package/dist/assets/roboto-cyrillic-ext-700-normal-BuQgZIrO.woff +0 -0
  521. package/dist/assets/roboto-cyrillic-ext-700-normal-UFn0vR9r.woff2 +0 -0
  522. package/dist/assets/roboto-greek-400-normal-CcizSnRP.woff +0 -0
  523. package/dist/assets/roboto-greek-400-normal-jFM2czAU.woff2 +0 -0
  524. package/dist/assets/roboto-greek-500-normal-BJMS0heP.woff2 +0 -0
  525. package/dist/assets/roboto-greek-500-normal-BLLWU9W-.woff +0 -0
  526. package/dist/assets/roboto-greek-700-normal-BcGn9doz.woff2 +0 -0
  527. package/dist/assets/roboto-greek-700-normal-D3kmAf0K.woff +0 -0
  528. package/dist/assets/roboto-latin-400-normal-068yxgMN.woff +0 -0
  529. package/dist/assets/roboto-latin-400-normal-CNwBRw8h.woff2 +0 -0
  530. package/dist/assets/roboto-latin-500-normal-CC5nhZkh.woff +0 -0
  531. package/dist/assets/roboto-latin-500-normal-CkrA1NAy.woff2 +0 -0
  532. package/dist/assets/roboto-latin-700-normal-CXeAXeti.woff2 +0 -0
  533. package/dist/assets/roboto-latin-700-normal-DUekQERp.woff +0 -0
  534. package/dist/assets/roboto-latin-ext-400-normal-ZYmyxeOy.woff2 +0 -0
  535. package/dist/assets/roboto-latin-ext-400-normal-eTRLN0Nt.woff +0 -0
  536. package/dist/assets/roboto-latin-ext-500-normal-C_ARlJGk.woff2 +0 -0
  537. package/dist/assets/roboto-latin-ext-500-normal-FFcS8vBN.woff +0 -0
  538. package/dist/assets/roboto-latin-ext-700-normal-70GS1MYH.woff2 +0 -0
  539. package/dist/assets/roboto-latin-ext-700-normal-BS1OuQqR.woff +0 -0
  540. package/dist/assets/roboto-math-400-normal-B3wgz80t.woff2 +0 -0
  541. package/dist/assets/roboto-math-400-normal-rzxYvyVt.woff +0 -0
  542. package/dist/assets/roboto-math-500-normal-CFNaIMFC.woff2 +0 -0
  543. package/dist/assets/roboto-math-500-normal-DaFX-ZC8.woff +0 -0
  544. package/dist/assets/roboto-math-700-normal-VUAI6Bz2.woff2 +0 -0
  545. package/dist/assets/roboto-math-700-normal-pYD1nhov.woff +0 -0
  546. package/dist/assets/roboto-symbols-400-normal-Tzuungub.woff +0 -0
  547. package/dist/assets/roboto-symbols-400-normal-fF1SLJBj.woff2 +0 -0
  548. package/dist/assets/roboto-symbols-500-normal-BXFTxrNR.woff2 +0 -0
  549. package/dist/assets/roboto-symbols-500-normal-CAhAe-ik.woff +0 -0
  550. package/dist/assets/roboto-symbols-700-normal-CuuvBBxy.woff +0 -0
  551. package/dist/assets/roboto-symbols-700-normal-rJi6RjIy.woff2 +0 -0
  552. package/dist/assets/roboto-vietnamese-400-normal-CDDxGrUb.woff2 +0 -0
  553. package/dist/assets/roboto-vietnamese-400-normal-DmXaN3yE.woff +0 -0
  554. package/dist/assets/roboto-vietnamese-500-normal-DW96CsrR.woff +0 -0
  555. package/dist/assets/roboto-vietnamese-500-normal-HYpufUYk.woff2 +0 -0
  556. package/dist/assets/roboto-vietnamese-700-normal-Dz0HwF-w.woff +0 -0
  557. package/dist/assets/roboto-vietnamese-700-normal-iKxYNAzq.woff2 +0 -0
  558. package/dist/assets/rocket-BjOXauLe.js +2 -0
  559. package/dist/assets/rocket-BjOXauLe.js.map +1 -0
  560. package/dist/assets/shield-check-CFNhE_aD.js +2 -0
  561. package/dist/assets/shield-check-CFNhE_aD.js.map +1 -0
  562. package/dist/assets/signIn-CVoSzqCz.js +2 -0
  563. package/dist/assets/signIn-CVoSzqCz.js.map +1 -0
  564. package/dist/assets/smartphone-BcQB9gIh.js +2 -0
  565. package/dist/assets/smartphone-BcQB9gIh.js.map +1 -0
  566. package/dist/assets/terminal-CGhryJds.js +2 -0
  567. package/dist/assets/terminal-CGhryJds.js.map +1 -0
  568. package/dist/assets/useAuth-lZZC20Tl.js +4 -0
  569. package/dist/assets/useAuth-lZZC20Tl.js.map +1 -0
  570. package/dist/cancelled/index.html +34 -0
  571. package/dist/downloads/shipscreens-agent-cli-config.yml +48 -0
  572. package/dist/downloads/shipscreens-agent-cli-copy.csv +2 -0
  573. package/dist/favicon-16x16.png +0 -0
  574. package/dist/favicon-32x32.png +0 -0
  575. package/dist/favicon.ico +0 -0
  576. package/dist/favicon.svg +10 -0
  577. package/dist/forgot-password/index.html +34 -0
  578. package/dist/index.html +42 -0
  579. package/dist/legal/index.html +33 -0
  580. package/dist/og-image.png +0 -0
  581. package/dist/pricing/index.html +33 -0
  582. package/dist/privacy/index.html +33 -0
  583. package/dist/robots.txt +11 -0
  584. package/dist/signin/index.html +34 -0
  585. package/dist/signup/index.html +34 -0
  586. package/dist/sitemap.xml +51 -0
  587. package/dist/success/index.html +34 -0
  588. package/dist/templates/clean_blue.png +0 -0
  589. package/dist/templates/minimal_dark.png +0 -0
  590. package/dist/templates/split_modern.png +0 -0
  591. package/dist/templates/vibrant_gradient.png +0 -0
  592. package/dist/terms/index.html +33 -0
  593. package/dist/tools/5-panel-screenshot-framework/index.html +33 -0
  594. package/dist/tools/agent-cli/index.html +33 -0
  595. package/dist/tools/app-review-aso/index.html +33 -0
  596. package/dist/tools/fastlane-screenshots/index.html +33 -0
  597. package/dist/tools/first-export/index.html +33 -0
  598. package/dist/tools/index.html +33 -0
  599. package/dist/tools/screenshot-workload-calculator/index.html +33 -0
  600. package/dist/tools/store-assets-pipeline/index.html +33 -0
  601. package/package.json +36 -0
  602. package/src/constants/devices.js +122 -0
  603. package/templates/agent/agent-prompt.txt +21 -0
  604. package/templates/agent/copy.csv +2 -0
  605. package/templates/agent/shipscreens.config.yml +48 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAuth-lZZC20Tl.js","sources":["../../node_modules/@aws-amplify/core/dist/esm/constants.mjs","../../node_modules/@aws-amplify/core/dist/esm/Logger/types.mjs","../../node_modules/@aws-amplify/core/dist/esm/Logger/ConsoleLogger.mjs","../../node_modules/@aws-amplify/core/dist/esm/errors/AmplifyError.mjs","../../node_modules/@aws-amplify/core/dist/esm/types/errors.mjs","../../node_modules/@aws-amplify/core/dist/esm/errors/createAssertionFunction.mjs","../../node_modules/@aws-amplify/core/dist/esm/Hub/index.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/globalHelpers/index.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/convert/base64/base64Decoder.mjs","../../node_modules/@aws-amplify/core/dist/esm/singleton/Auth/utils/errorHelpers.mjs","../../node_modules/@aws-amplify/core/dist/esm/singleton/Auth/utils/index.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/deepFreeze.mjs","../../node_modules/@aws-amplify/core/dist/esm/parseAWSExports.mjs","../../node_modules/@aws-amplify/core/dist/esm/singleton/constants.mjs","../../node_modules/uuid/dist/esm-browser/stringify.js","../../node_modules/uuid/dist/esm-browser/rng.js","../../node_modules/uuid/dist/esm-browser/native.js","../../node_modules/uuid/dist/esm-browser/v4.js","../../node_modules/@aws-amplify/core/dist/esm/parseAmplifyOutputs.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/parseAmplifyConfig.mjs","../../node_modules/tslib/tslib.es6.mjs","../../node_modules/@aws-crypto/sha256-js/build/module/constants.js","../../node_modules/@aws-crypto/sha256-js/build/module/RawSha256.js","../../node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js","../../node_modules/@aws-crypto/util/build/module/convertToBuffer.js","../../node_modules/@aws-crypto/util/build/module/isEmptyData.js","../../node_modules/@aws-crypto/sha256-js/build/module/jsSha256.js","../../node_modules/@smithy/util-hex-encoding/dist-es/index.js","../../node_modules/@aws-amplify/core/dist/esm/Platform/types.mjs","../../node_modules/@aws-amplify/core/dist/esm/Platform/version.mjs","../../node_modules/@aws-amplify/core/dist/esm/Platform/detection/helpers.mjs","../../node_modules/@aws-amplify/core/dist/esm/Platform/detection/React.mjs","../../node_modules/@aws-amplify/core/dist/esm/Platform/detection/Vue.mjs","../../node_modules/@aws-amplify/core/dist/esm/Platform/detection/Svelte.mjs","../../node_modules/@aws-amplify/core/dist/esm/Platform/detection/Next.mjs","../../node_modules/@aws-amplify/core/dist/esm/Platform/detection/Nuxt.mjs","../../node_modules/@aws-amplify/core/dist/esm/Platform/detection/Angular.mjs","../../node_modules/@aws-amplify/core/dist/esm/Platform/detection/ReactNative.mjs","../../node_modules/@aws-amplify/core/dist/esm/Platform/detection/Expo.mjs","../../node_modules/@aws-amplify/core/dist/esm/Platform/detection/Web.mjs","../../node_modules/@aws-amplify/core/dist/esm/Platform/detection/index.mjs","../../node_modules/@aws-amplify/core/dist/esm/Platform/detectFramework.mjs","../../node_modules/@aws-amplify/core/dist/esm/Platform/customUserAgent.mjs","../../node_modules/@aws-amplify/core/dist/esm/Platform/index.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/isBrowser.mjs","../../node_modules/@aws-amplify/core/dist/esm/singleton/Auth/index.mjs","../../node_modules/@aws-amplify/core/dist/esm/singleton/Amplify.mjs","../../node_modules/@aws-amplify/core/dist/esm/singleton/apis/internal/fetchAuthSession.mjs","../../node_modules/@aws-amplify/core/dist/esm/singleton/apis/fetchAuthSession.mjs","../../node_modules/@aws-amplify/core/dist/esm/singleton/apis/clearCredentials.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/serde/responseInfo.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/serde/json.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/internal/composeServiceApi.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/retry/constants.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/retry/jitteredBackoff.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/middleware/retry/constants.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/middleware/retry/jitteredBackoff.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/middleware/retry/isClockSkewError.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/middleware/retry/defaultRetryDecider.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/middleware/retry/retryMiddleware.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/amplifyUuid/index.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/middleware/retry/amzSdkInvocationIdHeaderMiddleware.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/middleware/retry/amzSdkRequestHeaderMiddleware.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/middleware/userAgent/middleware.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/internal/composeTransferHandler.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/utils/memoization.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/handlers/fetch.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/handlers/aws/unauthenticated.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/endpoints/partitions.mjs","../../node_modules/@aws-amplify/core/dist/esm/clients/endpoints/getDnsSuffix.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/amplifyUrl/index.mjs","../../node_modules/@aws-amplify/core/dist/esm/errors/PlatformNotSupportedError.mjs","../../node_modules/@aws-amplify/core/dist/esm/storage/KeyValueStorage.mjs","../../node_modules/@aws-amplify/core/dist/esm/storage/InMemoryStorage.mjs","../../node_modules/@aws-amplify/core/dist/esm/storage/utils.mjs","../../node_modules/@aws-amplify/core/dist/esm/storage/DefaultStorage.mjs","../../node_modules/@aws-amplify/core/dist/esm/storage/SessionStorage.mjs","../../node_modules/@aws-amplify/core/dist/esm/storage/SyncKeyValueStorage.mjs","../../node_modules/@aws-amplify/core/dist/esm/storage/SyncSessionStorage.mjs","../../node_modules/@aws-amplify/core/dist/esm/storage/index.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/generateRandomString.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/urlSafeDecode.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/urlSafeEncode.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/deDupeAsyncFunction.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/isTokenExpired.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/deviceName/getDeviceName.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/convert/base64/bytesToString.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/convert/base64/base64Encoder.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/cryptoSecureRandomInt.mjs","../../node_modules/@aws-amplify/core/dist/esm/utils/WordArray.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/errors/types/validation.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/common/AuthErrorStrings.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/errors/AuthError.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/errors/utils/assertValidationError.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/foundation/parsers/regionParsers.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/apiHelpers.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/types/errors.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/errors/constants.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/types.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/apis/internal/getCurrentUser.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/apis/getCurrentUser.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/utils/getAuthUserAgentValue.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/shared/serde/createUserPoolSerializer.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/errors/utils/assertServiceError.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/shared/serde/createUserPoolDeserializer.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/shared/handler/cognitoUserPoolTransferHandler.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/foundation/constants.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/constants.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createInitiateAuthClient.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createRespondToAuthChallengeClient.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createAssociateSoftwareTokenClient.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/foundation/cognitoUserPoolEndpointResolver.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/factories/createCognitoUserPoolEndpointResolver.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createGetTokensFromRefreshTokenClient.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/refreshAuthTokens.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/tokenProvider/types.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/tokenProvider/errorHelpers.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/tokenProvider/constants.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/tokenProvider/TokenStore.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/signInWithRedirectStore.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/oAuthStore.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/inflightPromise.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/tokenProvider/TokenOrchestrator.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/tokenProvider/CognitoUserPoolsTokenProvider.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/tokenProvider/tokenProvider.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/tokenProvider/cacheTokens.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/dispatchSignedInHubEvent.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/client/utils/store/autoSignInStore.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/client/utils/store/signInStore.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/client/utils/passkey/errors/passkeyErrorPlatformConstants.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/client/utils/passkey/errors/passkeyError.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/client/utils/passkey/errors/handlePasskeyError.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/client/utils/passkey/errors/handlePasskeyAuthenticationError.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/client/utils/passkey/getIsPasskeySupported.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/foundation/convert/base64url/convertArrayBufferToBase64Url.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/foundation/convert/base64url/convertBase64UrlToArrayBuffer.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/client/utils/passkey/serde.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/client/utils/passkey/types/index.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/client/utils/passkey/getPasskey.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createConfirmDeviceClient.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/textEncoder/index.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/BigInteger/BigInteger.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/calculate/calculateS.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/constants.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/getBytesFromHex.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/getHexFromBytes.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/getHashFromData.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/getHashFromHex.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/getPaddedHex.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/calculate/calculateU.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/getHkdfKey.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/getRandomBytes.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/getRandomString.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/AuthenticationHelper/AuthenticationHelper.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/calculate/calculateA.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/getAuthenticationHelper.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/getNewDeviceMetadata.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/client/flows/userAuth/handleWebAuthnSignInResult.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/userContextData.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/getNowString.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/srp/getSignatureString.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/handleDeviceSRPAuth.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/handlePasswordVerifierChallenge.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/retryOnResourceNotFoundException.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/setActiveSignInUsername.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/client/flows/shared/handlePasswordSRP.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/signInHelpers.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/apis/autoSignIn.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/signUpHelpers.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createSignUpClient.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/apis/signUp.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/Errors.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/createOAuthError.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/types/Auth.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/validateState.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/completeOAuthFlow.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/getRedirectUrl.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/handleFailure.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/attemptCompleteOAuthFlow.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/enableOAuthListener.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/types/models.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/utils/openAuthSession.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/generateCodeVerifier.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/generateState.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/cancelOAuthFlow.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/apis/signInWithRedirect.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/completeOAuthSignOut.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/oAuthSignOutRedirect.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/utils/oauth/handleOAuthSignOut.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createRevokeTokenClient.mjs","../../node_modules/aws-amplify/node_modules/@aws-amplify/auth/dist/esm/providers/cognito/apis/signOut.mjs","../../src/hooks/useAuth.js"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Logging constants\nconst AWS_CLOUDWATCH_CATEGORY = 'Logging';\nconst USER_AGENT_HEADER = 'x-amz-user-agent';\n// Error exception code constants\nconst NO_HUBCALLBACK_PROVIDED_EXCEPTION = 'NoHubcallbackProvidedException';\n\nexport { AWS_CLOUDWATCH_CATEGORY, NO_HUBCALLBACK_PROVIDED_EXCEPTION, USER_AGENT_HEADER };\n//# sourceMappingURL=constants.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar LogType;\n(function (LogType) {\n LogType[\"DEBUG\"] = \"DEBUG\";\n LogType[\"ERROR\"] = \"ERROR\";\n LogType[\"INFO\"] = \"INFO\";\n LogType[\"WARN\"] = \"WARN\";\n LogType[\"VERBOSE\"] = \"VERBOSE\";\n LogType[\"NONE\"] = \"NONE\";\n})(LogType || (LogType = {}));\n\nexport { LogType };\n//# sourceMappingURL=types.mjs.map\n","import { AWS_CLOUDWATCH_CATEGORY } from '../constants.mjs';\nimport { LogType } from './types.mjs';\n\n/* eslint-disable no-console */\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst LOG_LEVELS = {\n VERBOSE: 1,\n DEBUG: 2,\n INFO: 3,\n WARN: 4,\n ERROR: 5,\n NONE: 6,\n};\n/**\n * Write logs\n * @class Logger\n */\nclass ConsoleLogger {\n /**\n * @constructor\n * @param {string} name - Name of the logger\n */\n constructor(name, level = LogType.WARN) {\n this.name = name;\n this.level = level;\n this._pluggables = [];\n }\n _padding(n) {\n return n < 10 ? '0' + n : '' + n;\n }\n _ts() {\n const dt = new Date();\n return ([this._padding(dt.getMinutes()), this._padding(dt.getSeconds())].join(':') +\n '.' +\n dt.getMilliseconds());\n }\n configure(config) {\n if (!config)\n return this._config;\n this._config = config;\n return this._config;\n }\n /**\n * Write log\n * @method\n * @memeberof Logger\n * @param {LogType|string} type - log type, default INFO\n * @param {string|object} msg - Logging message or object\n */\n _log(type, ...msg) {\n let loggerLevelName = this.level;\n if (ConsoleLogger.LOG_LEVEL) {\n loggerLevelName = ConsoleLogger.LOG_LEVEL;\n }\n if (typeof window !== 'undefined' && window.LOG_LEVEL) {\n loggerLevelName = window.LOG_LEVEL;\n }\n const loggerLevel = LOG_LEVELS[loggerLevelName];\n const typeLevel = LOG_LEVELS[type];\n if (!(typeLevel >= loggerLevel)) {\n // Do nothing if type is not greater than or equal to logger level (handle undefined)\n return;\n }\n let log = console.log.bind(console);\n if (type === LogType.ERROR && console.error) {\n log = console.error.bind(console);\n }\n if (type === LogType.WARN && console.warn) {\n log = console.warn.bind(console);\n }\n if (ConsoleLogger.BIND_ALL_LOG_LEVELS) {\n if (type === LogType.INFO && console.info) {\n log = console.info.bind(console);\n }\n if (type === LogType.DEBUG && console.debug) {\n log = console.debug.bind(console);\n }\n }\n const prefix = `[${type}] ${this._ts()} ${this.name}`;\n let message = '';\n if (msg.length === 1 && typeof msg[0] === 'string') {\n message = `${prefix} - ${msg[0]}`;\n log(message);\n }\n else if (msg.length === 1) {\n message = `${prefix} ${msg[0]}`;\n log(prefix, msg[0]);\n }\n else if (typeof msg[0] === 'string') {\n let obj = msg.slice(1);\n if (obj.length === 1) {\n obj = obj[0];\n }\n message = `${prefix} - ${msg[0]} ${obj}`;\n log(`${prefix} - ${msg[0]}`, obj);\n }\n else {\n message = `${prefix} ${msg}`;\n log(prefix, msg);\n }\n for (const plugin of this._pluggables) {\n const logEvent = { message, timestamp: Date.now() };\n plugin.pushLogs([logEvent]);\n }\n }\n /**\n * Write General log. Default to INFO\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n log(...msg) {\n this._log(LogType.INFO, ...msg);\n }\n /**\n * Write INFO log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n info(...msg) {\n this._log(LogType.INFO, ...msg);\n }\n /**\n * Write WARN log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n warn(...msg) {\n this._log(LogType.WARN, ...msg);\n }\n /**\n * Write ERROR log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n error(...msg) {\n this._log(LogType.ERROR, ...msg);\n }\n /**\n * Write DEBUG log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n debug(...msg) {\n this._log(LogType.DEBUG, ...msg);\n }\n /**\n * Write VERBOSE log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n verbose(...msg) {\n this._log(LogType.VERBOSE, ...msg);\n }\n addPluggable(pluggable) {\n if (pluggable && pluggable.getCategoryName() === AWS_CLOUDWATCH_CATEGORY) {\n this._pluggables.push(pluggable);\n pluggable.configure(this._config);\n }\n }\n listPluggables() {\n return this._pluggables;\n }\n}\nConsoleLogger.LOG_LEVEL = null;\nConsoleLogger.BIND_ALL_LOG_LEVELS = false;\n\nexport { ConsoleLogger };\n//# sourceMappingURL=ConsoleLogger.mjs.map\n","class AmplifyError extends Error {\n /**\n * Constructs an AmplifyError.\n *\n * @param message text that describes the main problem.\n * @param underlyingError the underlying cause of the error.\n * @param recoverySuggestion suggestion to recover from the error.\n *\n */\n constructor({ message, name, recoverySuggestion, underlyingError, metadata, }) {\n super(message);\n this.name = name;\n this.underlyingError = underlyingError;\n this.recoverySuggestion = recoverySuggestion;\n if (metadata) {\n // If metadata exists, explicitly only record the following properties.\n const { extendedRequestId, httpStatusCode, requestId } = metadata;\n this.metadata = { extendedRequestId, httpStatusCode, requestId };\n }\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n this.constructor = AmplifyError;\n Object.setPrototypeOf(this, AmplifyError.prototype);\n }\n}\n\nexport { AmplifyError };\n//# sourceMappingURL=AmplifyError.mjs.map\n","var AmplifyErrorCode;\n(function (AmplifyErrorCode) {\n AmplifyErrorCode[\"NoEndpointId\"] = \"NoEndpointId\";\n AmplifyErrorCode[\"PlatformNotSupported\"] = \"PlatformNotSupported\";\n AmplifyErrorCode[\"Unknown\"] = \"Unknown\";\n AmplifyErrorCode[\"NetworkError\"] = \"NetworkError\";\n})(AmplifyErrorCode || (AmplifyErrorCode = {}));\n\nexport { AmplifyErrorCode };\n//# sourceMappingURL=errors.mjs.map\n","import { AmplifyError } from './AmplifyError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst createAssertionFunction = (errorMap, AssertionError = AmplifyError) => (assertion, name, additionalContext) => {\n const { message, recoverySuggestion } = errorMap[name];\n if (!assertion) {\n throw new AssertionError({\n name,\n message: additionalContext\n ? `${message} ${additionalContext}`\n : message,\n recoverySuggestion,\n });\n }\n};\n\nexport { createAssertionFunction };\n//# sourceMappingURL=createAssertionFunction.mjs.map\n","import { ConsoleLogger } from '../Logger/ConsoleLogger.mjs';\nimport { NO_HUBCALLBACK_PROVIDED_EXCEPTION } from '../constants.mjs';\nimport { AmplifyError } from '../errors/AmplifyError.mjs';\nimport '../types/errors.mjs';\nimport '../errors/errorHelpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined'\n ? Symbol('amplify_default')\n : '@@amplify_default');\nconst logger = new ConsoleLogger('Hub');\nclass HubClass {\n constructor(name) {\n this.listeners = new Map();\n this.protectedChannels = [\n 'core',\n 'auth',\n 'api',\n 'analytics',\n 'interactions',\n 'pubsub',\n 'storage',\n 'ui',\n 'xr',\n ];\n this.name = name;\n }\n /**\n * Used internally to remove a Hub listener.\n *\n * @remarks\n * This private method is for internal use only. Instead of calling Hub.remove, call the result of Hub.listen.\n */\n _remove(channel, listener) {\n const holder = this.listeners.get(channel);\n if (!holder) {\n logger.warn(`No listeners for ${channel}`);\n return;\n }\n this.listeners.set(channel, [\n ...holder.filter(({ callback }) => callback !== listener),\n ]);\n }\n dispatch(channel, payload, source, ampSymbol) {\n if (typeof channel === 'string' &&\n this.protectedChannels.indexOf(channel) > -1) {\n const hasAccess = ampSymbol === AMPLIFY_SYMBOL;\n if (!hasAccess) {\n logger.warn(`WARNING: ${channel} is protected and dispatching on it can have unintended consequences`);\n }\n }\n const capsule = {\n channel,\n payload: { ...payload },\n source,\n patternInfo: [],\n };\n try {\n this._toListeners(capsule);\n }\n catch (e) {\n logger.error(e);\n }\n }\n listen(channel, callback, listenerName = 'noname') {\n let cb;\n if (typeof callback !== 'function') {\n throw new AmplifyError({\n name: NO_HUBCALLBACK_PROVIDED_EXCEPTION,\n message: 'No callback supplied to Hub',\n });\n }\n else {\n // Needs to be casted as a more generic type\n cb = callback;\n }\n let holder = this.listeners.get(channel);\n if (!holder) {\n holder = [];\n this.listeners.set(channel, holder);\n }\n holder.push({\n name: listenerName,\n callback: cb,\n });\n return () => {\n this._remove(channel, cb);\n };\n }\n _toListeners(capsule) {\n const { channel, payload } = capsule;\n const holder = this.listeners.get(channel);\n if (holder) {\n holder.forEach(listener => {\n logger.debug(`Dispatching to ${channel} with `, payload);\n try {\n listener.callback(capsule);\n }\n catch (e) {\n logger.error(e);\n }\n });\n }\n }\n}\n/* We export a __default__ instance of HubClass to use it as a\npseudo Singleton for the main messaging bus, however you can still create\nyour own instance of HubClass() for a separate \"private bus\" of events. */\nconst Hub = new HubClass('__default__');\n/**\n * @internal\n *\n * Internal hub used for core Amplify functionality. Not intended for use outside of Amplify.\n *\n */\nconst HubInternal = new HubClass('internal-hub');\n\nexport { AMPLIFY_SYMBOL, Hub, HubClass, HubInternal };\n//# sourceMappingURL=index.mjs.map\n","import { AmplifyError } from '../../errors/AmplifyError.mjs';\nimport '../../types/errors.mjs';\nimport '../../errors/errorHelpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst getCrypto = () => {\n if (typeof window === 'object' && typeof window.crypto === 'object') {\n return window.crypto;\n }\n // Next.js global polyfill\n if (typeof crypto === 'object') {\n return crypto;\n }\n throw new AmplifyError({\n name: 'MissingPolyfill',\n message: 'Cannot resolve the `crypto` function from the environment.',\n });\n};\nconst getBtoa = () => {\n // browser\n if (typeof window !== 'undefined' && typeof window.btoa === 'function') {\n return window.btoa;\n }\n // Next.js global polyfill\n if (typeof btoa === 'function') {\n return btoa;\n }\n throw new AmplifyError({\n name: 'Base64EncoderError',\n message: 'Cannot resolve the `btoa` function from the environment.',\n });\n};\nconst getAtob = () => {\n // browser\n if (typeof window !== 'undefined' && typeof window.atob === 'function') {\n return window.atob;\n }\n // Next.js global polyfill\n if (typeof atob === 'function') {\n return atob;\n }\n throw new AmplifyError({\n name: 'Base64EncoderError',\n message: 'Cannot resolve the `atob` function from the environment.',\n });\n};\n\nexport { getAtob, getBtoa, getCrypto };\n//# sourceMappingURL=index.mjs.map\n","import { getAtob } from '../../globalHelpers/index.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst base64Decoder = {\n convert(input, options) {\n let inputStr = input;\n // urlSafe character replacement options conform to the base64 url spec\n // https://datatracker.ietf.org/doc/html/rfc4648#page-7\n if (options?.urlSafe) {\n inputStr = inputStr.replace(/-/g, '+').replace(/_/g, '/');\n }\n return getAtob()(inputStr);\n },\n};\n\nexport { base64Decoder };\n//# sourceMappingURL=base64Decoder.mjs.map\n","import { createAssertionFunction } from '../../../errors/createAssertionFunction.mjs';\nimport '../../../types/errors.mjs';\nimport '../../../errors/errorHelpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar AuthConfigurationErrorCode;\n(function (AuthConfigurationErrorCode) {\n AuthConfigurationErrorCode[\"AuthTokenConfigException\"] = \"AuthTokenConfigException\";\n AuthConfigurationErrorCode[\"AuthUserPoolAndIdentityPoolException\"] = \"AuthUserPoolAndIdentityPoolException\";\n AuthConfigurationErrorCode[\"AuthUserPoolException\"] = \"AuthUserPoolException\";\n AuthConfigurationErrorCode[\"InvalidIdentityPoolIdException\"] = \"InvalidIdentityPoolIdException\";\n AuthConfigurationErrorCode[\"OAuthNotConfigureException\"] = \"OAuthNotConfigureException\";\n})(AuthConfigurationErrorCode || (AuthConfigurationErrorCode = {}));\nconst authConfigurationErrorMap = {\n [AuthConfigurationErrorCode.AuthTokenConfigException]: {\n message: 'Auth Token Provider not configured.',\n recoverySuggestion: 'Make sure to call Amplify.configure in your app.',\n },\n [AuthConfigurationErrorCode.AuthUserPoolAndIdentityPoolException]: {\n message: 'Auth UserPool or IdentityPool not configured.',\n recoverySuggestion: 'Make sure to call Amplify.configure in your app with UserPoolId and IdentityPoolId.',\n },\n [AuthConfigurationErrorCode.AuthUserPoolException]: {\n message: 'Auth UserPool not configured.',\n recoverySuggestion: 'Make sure to call Amplify.configure in your app with userPoolId and userPoolClientId.',\n },\n [AuthConfigurationErrorCode.InvalidIdentityPoolIdException]: {\n message: 'Invalid identity pool id provided.',\n recoverySuggestion: 'Make sure a valid identityPoolId is given in the config.',\n },\n [AuthConfigurationErrorCode.OAuthNotConfigureException]: {\n message: 'oauth param not configured.',\n recoverySuggestion: 'Make sure to call Amplify.configure with oauth parameter in your app.',\n },\n};\nconst assert = createAssertionFunction(authConfigurationErrorMap);\n\nexport { AuthConfigurationErrorCode, assert };\n//# sourceMappingURL=errorHelpers.mjs.map\n","import { base64Decoder } from '../../../utils/convert/base64/base64Decoder.mjs';\nimport '../../../types/errors.mjs';\nimport '../../../errors/errorHelpers.mjs';\nimport { assert, AuthConfigurationErrorCode } from './errorHelpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction assertTokenProviderConfig(cognitoConfig) {\n let assertionValid = true; // assume valid until otherwise proveed\n if (!cognitoConfig) {\n assertionValid = false;\n }\n else {\n assertionValid =\n !!cognitoConfig.userPoolId && !!cognitoConfig.userPoolClientId;\n }\n assert(assertionValid, AuthConfigurationErrorCode.AuthUserPoolException);\n}\nfunction assertOAuthConfig(cognitoConfig) {\n const validOAuthConfig = !!cognitoConfig?.loginWith?.oauth?.domain &&\n !!cognitoConfig?.loginWith?.oauth?.redirectSignOut &&\n !!cognitoConfig?.loginWith?.oauth?.redirectSignIn &&\n !!cognitoConfig?.loginWith?.oauth?.responseType;\n assert(validOAuthConfig, AuthConfigurationErrorCode.OAuthNotConfigureException);\n}\nfunction assertIdentityPoolIdConfig(cognitoConfig) {\n const validConfig = !!cognitoConfig?.identityPoolId;\n assert(validConfig, AuthConfigurationErrorCode.InvalidIdentityPoolIdException);\n}\n/**\n * Decodes payload of JWT token\n *\n * @param {String} token A string representing a token to be decoded\n * @throws {@link Error} - Throws error when token is invalid or payload malformed.\n */\nfunction decodeJWT(token) {\n const tokenParts = token.split('.');\n if (tokenParts.length !== 3) {\n throw new Error('Invalid token');\n }\n try {\n const base64WithUrlSafe = tokenParts[1];\n const base64 = base64WithUrlSafe.replace(/-/g, '+').replace(/_/g, '/');\n const jsonStr = decodeURIComponent(base64Decoder\n .convert(base64)\n .split('')\n .map(char => `%${`00${char.charCodeAt(0).toString(16)}`.slice(-2)}`)\n .join(''));\n const payload = JSON.parse(jsonStr);\n return {\n toString: () => token,\n payload,\n };\n }\n catch (err) {\n throw new Error('Invalid token payload');\n }\n}\n\nexport { assertIdentityPoolIdConfig, assertOAuthConfig, assertTokenProviderConfig, decodeJWT };\n//# sourceMappingURL=index.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst deepFreeze = (object) => {\n const propNames = Reflect.ownKeys(object);\n for (const name of propNames) {\n const value = object[name];\n if ((value && typeof value === 'object') || typeof value === 'function') {\n deepFreeze(value);\n }\n }\n return Object.freeze(object);\n};\n\nexport { deepFreeze };\n//# sourceMappingURL=deepFreeze.mjs.map\n","import { ConsoleLogger } from './Logger/ConsoleLogger.mjs';\nimport { AmplifyError } from './errors/AmplifyError.mjs';\nimport './types/errors.mjs';\nimport './errors/errorHelpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst logger = new ConsoleLogger('parseAWSExports');\nconst authTypeMapping = {\n API_KEY: 'apiKey',\n AWS_IAM: 'iam',\n AMAZON_COGNITO_USER_POOLS: 'userPool',\n OPENID_CONNECT: 'oidc',\n NONE: 'none',\n AWS_LAMBDA: 'lambda',\n // `LAMBDA` is an incorrect value that was added during the v6 rewrite.\n // Keeping it as a valid value until v7 to prevent breaking customers who might\n // be relying on it as a workaround.\n // ref: https://github.com/aws-amplify/amplify-js/pull/12922\n // TODO: @v7 remove next line\n LAMBDA: 'lambda',\n};\n/**\n * Converts the object imported from `aws-exports.js` or `amplifyconfiguration.json` files generated by\n * the Amplify CLI into an object that conforms to the {@link ResourcesConfig}.\n *\n * @param config A configuration object imported from `aws-exports.js` or `amplifyconfiguration.json`.\n *\n * @returns An object that conforms to the {@link ResourcesConfig} .\n */\nconst parseAWSExports = (config = {}) => {\n if (!Object.prototype.hasOwnProperty.call(config, 'aws_project_region')) {\n throw new AmplifyError({\n name: 'InvalidParameterException',\n message: 'Invalid config parameter.',\n recoverySuggestion: 'Ensure passing the config object imported from `amplifyconfiguration.json`.',\n });\n }\n const { aws_appsync_apiKey, aws_appsync_authenticationType, aws_appsync_graphqlEndpoint, aws_appsync_region, aws_bots_config, aws_cognito_identity_pool_id, aws_cognito_sign_up_verification_method, aws_cognito_mfa_configuration, aws_cognito_mfa_types, aws_cognito_password_protection_settings, aws_cognito_verification_mechanisms, aws_cognito_signup_attributes, aws_cognito_social_providers, aws_cognito_username_attributes, aws_mandatory_sign_in, aws_mobile_analytics_app_id, aws_mobile_analytics_app_region, aws_user_files_s3_bucket, aws_user_files_s3_bucket_region, aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing, aws_user_pools_id, aws_user_pools_web_client_id, geo, oauth, predictions, aws_cloud_logic_custom, Notifications, modelIntrospection, } = config;\n const amplifyConfig = {};\n // Analytics\n if (aws_mobile_analytics_app_id) {\n amplifyConfig.Analytics = {\n Pinpoint: {\n appId: aws_mobile_analytics_app_id,\n region: aws_mobile_analytics_app_region,\n },\n };\n }\n // Notifications\n const { InAppMessaging, Push } = Notifications ?? {};\n if (InAppMessaging?.AWSPinpoint || Push?.AWSPinpoint) {\n if (InAppMessaging?.AWSPinpoint) {\n const { appId, region } = InAppMessaging.AWSPinpoint;\n amplifyConfig.Notifications = {\n InAppMessaging: {\n Pinpoint: {\n appId,\n region,\n },\n },\n };\n }\n if (Push?.AWSPinpoint) {\n const { appId, region } = Push.AWSPinpoint;\n amplifyConfig.Notifications = {\n ...amplifyConfig.Notifications,\n PushNotification: {\n Pinpoint: {\n appId,\n region,\n },\n },\n };\n }\n }\n // Interactions\n if (Array.isArray(aws_bots_config)) {\n amplifyConfig.Interactions = {\n LexV1: Object.fromEntries(aws_bots_config.map(bot => [bot.name, bot])),\n };\n }\n // API\n if (aws_appsync_graphqlEndpoint) {\n const defaultAuthMode = authTypeMapping[aws_appsync_authenticationType];\n if (!defaultAuthMode) {\n logger.debug(`Invalid authentication type ${aws_appsync_authenticationType}. Falling back to IAM.`);\n }\n amplifyConfig.API = {\n GraphQL: {\n endpoint: aws_appsync_graphqlEndpoint,\n apiKey: aws_appsync_apiKey,\n region: aws_appsync_region,\n defaultAuthMode: defaultAuthMode ?? 'iam',\n },\n };\n if (modelIntrospection) {\n amplifyConfig.API.GraphQL.modelIntrospection = modelIntrospection;\n }\n }\n // Auth\n const mfaConfig = aws_cognito_mfa_configuration\n ? {\n status: aws_cognito_mfa_configuration &&\n aws_cognito_mfa_configuration.toLowerCase(),\n totpEnabled: aws_cognito_mfa_types?.includes('TOTP') ?? false,\n smsEnabled: aws_cognito_mfa_types?.includes('SMS') ?? false,\n }\n : undefined;\n const passwordFormatConfig = aws_cognito_password_protection_settings\n ? {\n minLength: aws_cognito_password_protection_settings.passwordPolicyMinLength,\n requireLowercase: aws_cognito_password_protection_settings.passwordPolicyCharacters?.includes('REQUIRES_LOWERCASE') ?? false,\n requireUppercase: aws_cognito_password_protection_settings.passwordPolicyCharacters?.includes('REQUIRES_UPPERCASE') ?? false,\n requireNumbers: aws_cognito_password_protection_settings.passwordPolicyCharacters?.includes('REQUIRES_NUMBERS') ?? false,\n requireSpecialCharacters: aws_cognito_password_protection_settings.passwordPolicyCharacters?.includes('REQUIRES_SYMBOLS') ?? false,\n }\n : undefined;\n const mergedUserAttributes = Array.from(new Set([\n ...(aws_cognito_verification_mechanisms ?? []),\n ...(aws_cognito_signup_attributes ?? []),\n ]));\n const userAttributes = mergedUserAttributes.reduce((attributes, key) => ({\n ...attributes,\n // All user attributes generated by the CLI are required\n [key.toLowerCase()]: { required: true },\n }), {});\n const loginWithEmailEnabled = aws_cognito_username_attributes?.includes('EMAIL') ?? false;\n const loginWithPhoneEnabled = aws_cognito_username_attributes?.includes('PHONE_NUMBER') ?? false;\n if (aws_cognito_identity_pool_id || aws_user_pools_id) {\n amplifyConfig.Auth = {\n Cognito: {\n identityPoolId: aws_cognito_identity_pool_id,\n allowGuestAccess: aws_mandatory_sign_in !== 'enable',\n signUpVerificationMethod: aws_cognito_sign_up_verification_method,\n userAttributes,\n userPoolClientId: aws_user_pools_web_client_id,\n userPoolId: aws_user_pools_id,\n mfa: mfaConfig,\n passwordFormat: passwordFormatConfig,\n loginWith: {\n username: !(loginWithEmailEnabled || loginWithPhoneEnabled),\n email: loginWithEmailEnabled,\n phone: loginWithPhoneEnabled,\n },\n },\n };\n }\n const hasOAuthConfig = oauth ? Object.keys(oauth).length > 0 : false;\n const hasSocialProviderConfig = aws_cognito_social_providers\n ? aws_cognito_social_providers.length > 0\n : false;\n if (amplifyConfig.Auth && hasOAuthConfig) {\n amplifyConfig.Auth.Cognito.loginWith = {\n ...amplifyConfig.Auth.Cognito.loginWith,\n oauth: {\n ...getOAuthConfig(oauth),\n ...(hasSocialProviderConfig && {\n providers: parseSocialProviders(aws_cognito_social_providers),\n }),\n },\n };\n }\n // Storage\n if (aws_user_files_s3_bucket) {\n amplifyConfig.Storage = {\n S3: {\n bucket: aws_user_files_s3_bucket,\n region: aws_user_files_s3_bucket_region,\n dangerouslyConnectToHttpEndpointForTesting: aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing,\n },\n };\n }\n // Geo\n if (geo) {\n const { amazon_location_service } = geo;\n amplifyConfig.Geo = {\n LocationService: {\n maps: amazon_location_service.maps,\n geofenceCollections: amazon_location_service.geofenceCollections,\n searchIndices: amazon_location_service.search_indices,\n region: amazon_location_service.region,\n },\n };\n }\n // REST API\n if (aws_cloud_logic_custom) {\n amplifyConfig.API = {\n ...amplifyConfig.API,\n REST: aws_cloud_logic_custom.reduce((acc, api) => {\n const { name, endpoint, region, service } = api;\n return {\n ...acc,\n [name]: {\n endpoint,\n ...(service ? { service } : undefined),\n ...(region ? { region } : undefined),\n },\n };\n }, {}),\n };\n }\n // Predictions\n if (predictions) {\n // map VoiceId from speechGenerator defaults to voiceId\n const { VoiceId: voiceId } = predictions?.convert?.speechGenerator?.defaults ?? {};\n amplifyConfig.Predictions = voiceId\n ? {\n ...predictions,\n convert: {\n ...predictions.convert,\n speechGenerator: {\n ...predictions.convert.speechGenerator,\n defaults: { voiceId },\n },\n },\n }\n : predictions;\n }\n return amplifyConfig;\n};\nconst getRedirectUrl = (redirectStr) => redirectStr?.split(',') ?? [];\nconst getOAuthConfig = ({ domain, scope, redirectSignIn, redirectSignOut, responseType, }) => ({\n domain,\n scopes: scope,\n redirectSignIn: getRedirectUrl(redirectSignIn),\n redirectSignOut: getRedirectUrl(redirectSignOut),\n responseType,\n});\nconst parseSocialProviders = (aws_cognito_social_providers) => {\n return aws_cognito_social_providers.map((provider) => {\n const updatedProvider = provider.toLowerCase();\n return updatedProvider.charAt(0).toUpperCase() + updatedProvider.slice(1);\n });\n};\n\nexport { parseAWSExports };\n//# sourceMappingURL=parseAWSExports.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst ADD_OAUTH_LISTENER = Symbol('oauth-listener');\n\nexport { ADD_OAUTH_LISTENER };\n//# sourceMappingURL=constants.mjs.map\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction isAmplifyOutputs(config) {\n // version format initially will be '1' but is expected to be something like x.y where x is major and y minor version\n const { version } = config;\n if (!version) {\n return false;\n }\n return version.startsWith('1');\n}\nfunction parseStorage(amplifyOutputsStorageProperties) {\n if (!amplifyOutputsStorageProperties) {\n return undefined;\n }\n const { bucket_name, aws_region, buckets } = amplifyOutputsStorageProperties;\n return {\n S3: {\n bucket: bucket_name,\n region: aws_region,\n buckets: buckets && createBucketInfoMap(buckets),\n },\n };\n}\nfunction parseAuth(amplifyOutputsAuthProperties) {\n if (!amplifyOutputsAuthProperties) {\n return undefined;\n }\n const { user_pool_id, user_pool_client_id, identity_pool_id, password_policy, mfa_configuration, mfa_methods, unauthenticated_identities_enabled, oauth, username_attributes, standard_required_attributes, groups, passwordless, } = amplifyOutputsAuthProperties;\n const authConfig = {\n Cognito: {\n userPoolId: user_pool_id,\n userPoolClientId: user_pool_client_id,\n groups,\n },\n };\n if (identity_pool_id) {\n authConfig.Cognito = {\n ...authConfig.Cognito,\n identityPoolId: identity_pool_id,\n };\n }\n if (password_policy) {\n authConfig.Cognito.passwordFormat = {\n requireLowercase: password_policy.require_lowercase,\n requireNumbers: password_policy.require_numbers,\n requireUppercase: password_policy.require_uppercase,\n requireSpecialCharacters: password_policy.require_symbols,\n minLength: password_policy.min_length ?? 6,\n };\n }\n if (mfa_configuration) {\n authConfig.Cognito.mfa = {\n status: getMfaStatus(mfa_configuration),\n smsEnabled: mfa_methods?.includes('SMS'),\n totpEnabled: mfa_methods?.includes('TOTP'),\n };\n }\n if (unauthenticated_identities_enabled) {\n authConfig.Cognito.allowGuestAccess = unauthenticated_identities_enabled;\n }\n if (oauth) {\n authConfig.Cognito.loginWith = {\n oauth: {\n domain: oauth.domain,\n redirectSignIn: oauth.redirect_sign_in_uri,\n redirectSignOut: oauth.redirect_sign_out_uri,\n responseType: oauth.response_type === 'token' ? 'token' : 'code',\n scopes: oauth.scopes,\n providers: getOAuthProviders(oauth.identity_providers),\n },\n };\n }\n if (username_attributes) {\n authConfig.Cognito.loginWith = {\n ...authConfig.Cognito.loginWith,\n email: username_attributes.includes('email'),\n phone: username_attributes.includes('phone_number'),\n // Signing in with a username is not currently supported in Gen2, this should always evaluate to false\n username: username_attributes.includes('username'),\n };\n }\n if (standard_required_attributes) {\n authConfig.Cognito.userAttributes = standard_required_attributes.reduce((acc, curr) => ({ ...acc, [curr]: { required: true } }), {});\n }\n if (passwordless) {\n authConfig.Cognito.passwordless = {\n emailOtpEnabled: passwordless.email_otp_enabled,\n smsOtpEnabled: passwordless.sms_otp_enabled,\n webAuthn: passwordless.web_authn\n ? {\n relyingPartyId: passwordless.web_authn.relying_party_id,\n userVerification: passwordless.web_authn.user_verification,\n }\n : undefined,\n preferredChallenge: passwordless.preferred_challenge,\n };\n }\n return authConfig;\n}\nfunction parseAnalytics(amplifyOutputsAnalyticsProperties) {\n if (!amplifyOutputsAnalyticsProperties?.amazon_pinpoint) {\n return undefined;\n }\n const { amazon_pinpoint } = amplifyOutputsAnalyticsProperties;\n return {\n Pinpoint: {\n appId: amazon_pinpoint.app_id,\n region: amazon_pinpoint.aws_region,\n },\n };\n}\nfunction parseGeo(amplifyOutputsAnalyticsProperties) {\n if (!amplifyOutputsAnalyticsProperties) {\n return undefined;\n }\n const { aws_region, geofence_collections, maps, search_indices } = amplifyOutputsAnalyticsProperties;\n return {\n LocationService: {\n region: aws_region,\n searchIndices: search_indices,\n geofenceCollections: geofence_collections,\n maps,\n },\n };\n}\nfunction parseData(amplifyOutputsDataProperties) {\n if (!amplifyOutputsDataProperties) {\n return undefined;\n }\n const { aws_region, default_authorization_type, url, api_key, model_introspection, } = amplifyOutputsDataProperties;\n const GraphQL = {\n endpoint: url,\n defaultAuthMode: getGraphQLAuthMode(default_authorization_type),\n region: aws_region,\n apiKey: api_key,\n modelIntrospection: model_introspection,\n };\n return {\n GraphQL,\n };\n}\nfunction parseCustom(amplifyOutputsCustomProperties) {\n if (!amplifyOutputsCustomProperties?.events) {\n return undefined;\n }\n const { url, aws_region, api_key, default_authorization_type } = amplifyOutputsCustomProperties.events;\n const Events = {\n endpoint: url,\n defaultAuthMode: getGraphQLAuthMode(default_authorization_type),\n region: aws_region,\n apiKey: api_key,\n };\n return {\n Events,\n };\n}\nfunction parseNotifications(amplifyOutputsNotificationsProperties) {\n if (!amplifyOutputsNotificationsProperties) {\n return undefined;\n }\n const { aws_region, channels, amazon_pinpoint_app_id } = amplifyOutputsNotificationsProperties;\n const hasInAppMessaging = channels.includes('IN_APP_MESSAGING');\n const hasPushNotification = channels.includes('APNS') || channels.includes('FCM');\n if (!(hasInAppMessaging || hasPushNotification)) {\n return undefined;\n }\n // At this point, we know the Amplify outputs contains at least one supported channel\n const notificationsConfig = {};\n if (hasInAppMessaging) {\n notificationsConfig.InAppMessaging = {\n Pinpoint: {\n appId: amazon_pinpoint_app_id,\n region: aws_region,\n },\n };\n }\n if (hasPushNotification) {\n notificationsConfig.PushNotification = {\n Pinpoint: {\n appId: amazon_pinpoint_app_id,\n region: aws_region,\n },\n };\n }\n return notificationsConfig;\n}\nfunction parseAmplifyOutputs(amplifyOutputs) {\n const resourcesConfig = {};\n if (amplifyOutputs.storage) {\n resourcesConfig.Storage = parseStorage(amplifyOutputs.storage);\n }\n if (amplifyOutputs.auth) {\n resourcesConfig.Auth = parseAuth(amplifyOutputs.auth);\n }\n if (amplifyOutputs.analytics) {\n resourcesConfig.Analytics = parseAnalytics(amplifyOutputs.analytics);\n }\n if (amplifyOutputs.geo) {\n resourcesConfig.Geo = parseGeo(amplifyOutputs.geo);\n }\n if (amplifyOutputs.data) {\n resourcesConfig.API = parseData(amplifyOutputs.data);\n }\n if (amplifyOutputs.custom) {\n const customConfig = parseCustom(amplifyOutputs.custom);\n if (customConfig && 'Events' in customConfig) {\n resourcesConfig.API = { ...resourcesConfig.API, ...customConfig };\n }\n }\n if (amplifyOutputs.notifications) {\n resourcesConfig.Notifications = parseNotifications(amplifyOutputs.notifications);\n }\n return resourcesConfig;\n}\nconst authModeNames = {\n AMAZON_COGNITO_USER_POOLS: 'userPool',\n API_KEY: 'apiKey',\n AWS_IAM: 'iam',\n AWS_LAMBDA: 'lambda',\n OPENID_CONNECT: 'oidc',\n};\nfunction getGraphQLAuthMode(authType) {\n return authModeNames[authType];\n}\nconst providerNames = {\n GOOGLE: 'Google',\n LOGIN_WITH_AMAZON: 'Amazon',\n FACEBOOK: 'Facebook',\n SIGN_IN_WITH_APPLE: 'Apple',\n};\nfunction getOAuthProviders(providers = []) {\n return providers.reduce((oAuthProviders, provider) => {\n if (providerNames[provider] !== undefined) {\n oAuthProviders.push(providerNames[provider]);\n }\n return oAuthProviders;\n }, []);\n}\nfunction getMfaStatus(mfaConfiguration) {\n if (mfaConfiguration === 'OPTIONAL')\n return 'optional';\n if (mfaConfiguration === 'REQUIRED')\n return 'on';\n return 'off';\n}\nfunction createBucketInfoMap(buckets) {\n const mappedBuckets = {};\n buckets.forEach(({ name, bucket_name: bucketName, aws_region: region, paths }) => {\n if (name in mappedBuckets) {\n throw new Error(`Duplicate friendly name found: ${name}. Name must be unique.`);\n }\n const sanitizedPaths = paths\n ? Object.entries(paths).reduce((acc, [key, value]) => {\n if (value !== undefined) {\n acc[key] = value;\n }\n return acc;\n }, {})\n : undefined;\n mappedBuckets[name] = {\n bucketName,\n region,\n paths: sanitizedPaths,\n };\n });\n return mappedBuckets;\n}\n\nexport { isAmplifyOutputs, parseAmplifyOutputs, parseAnalytics };\n//# sourceMappingURL=parseAmplifyOutputs.mjs.map\n","import { parseAWSExports } from '../parseAWSExports.mjs';\nimport { isAmplifyOutputs, parseAmplifyOutputs } from '../parseAmplifyOutputs.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Parses the variety of configuration shapes that Amplify can accept into a ResourcesConfig.\n *\n * @param amplifyConfig An Amplify configuration object conforming to one of the supported schemas.\n * @return A ResourcesConfig for the provided configuration object.\n */\nconst parseAmplifyConfig = (amplifyConfig) => {\n if (Object.keys(amplifyConfig).some(key => key.startsWith('aws_'))) {\n return parseAWSExports(amplifyConfig);\n }\n else if (isAmplifyOutputs(amplifyConfig)) {\n return parseAmplifyOutputs(amplifyConfig);\n }\n else {\n return amplifyConfig;\n }\n};\n\nexport { parseAmplifyConfig };\n//# sourceMappingURL=parseAmplifyConfig.mjs.map\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","/**\n * @internal\n */\nexport var BLOCK_SIZE = 64;\n/**\n * @internal\n */\nexport var DIGEST_LENGTH = 32;\n/**\n * @internal\n */\nexport var KEY = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n]);\n/**\n * @internal\n */\nexport var INIT = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n];\n/**\n * @internal\n */\nexport var MAX_HASHABLE_LENGTH = Math.pow(2, 53) - 1;\n//# sourceMappingURL=constants.js.map","import { BLOCK_SIZE, DIGEST_LENGTH, INIT, KEY, MAX_HASHABLE_LENGTH } from \"./constants\";\n/**\n * @internal\n */\nvar RawSha256 = /** @class */ (function () {\n function RawSha256() {\n this.state = Int32Array.from(INIT);\n this.temp = new Int32Array(64);\n this.buffer = new Uint8Array(64);\n this.bufferLength = 0;\n this.bytesHashed = 0;\n /**\n * @internal\n */\n this.finished = false;\n }\n RawSha256.prototype.update = function (data) {\n if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n var position = 0;\n var byteLength = data.byteLength;\n this.bytesHashed += byteLength;\n if (this.bytesHashed * 8 > MAX_HASHABLE_LENGTH) {\n throw new Error(\"Cannot hash more than 2^53 - 1 bits\");\n }\n while (byteLength > 0) {\n this.buffer[this.bufferLength++] = data[position++];\n byteLength--;\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n };\n RawSha256.prototype.digest = function () {\n if (!this.finished) {\n var bitsHashed = this.bytesHashed * 8;\n var bufferView = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength);\n var undecoratedLength = this.bufferLength;\n bufferView.setUint8(this.bufferLength++, 0x80);\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (var i = this.bufferLength; i < BLOCK_SIZE; i++) {\n bufferView.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n for (var i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n bufferView.setUint8(i, 0);\n }\n bufferView.setUint32(BLOCK_SIZE - 8, Math.floor(bitsHashed / 0x100000000), true);\n bufferView.setUint32(BLOCK_SIZE - 4, bitsHashed);\n this.hashBuffer();\n this.finished = true;\n }\n // The value in state is little-endian rather than big-endian, so flip\n // each word into a new Uint8Array\n var out = new Uint8Array(DIGEST_LENGTH);\n for (var i = 0; i < 8; i++) {\n out[i * 4] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n return out;\n };\n RawSha256.prototype.hashBuffer = function () {\n var _a = this, buffer = _a.buffer, state = _a.state;\n var state0 = state[0], state1 = state[1], state2 = state[2], state3 = state[3], state4 = state[4], state5 = state[5], state6 = state[6], state7 = state[7];\n for (var i = 0; i < BLOCK_SIZE; i++) {\n if (i < 16) {\n this.temp[i] =\n ((buffer[i * 4] & 0xff) << 24) |\n ((buffer[i * 4 + 1] & 0xff) << 16) |\n ((buffer[i * 4 + 2] & 0xff) << 8) |\n (buffer[i * 4 + 3] & 0xff);\n }\n else {\n var u = this.temp[i - 2];\n var t1_1 = ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);\n u = this.temp[i - 15];\n var t2_1 = ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);\n this.temp[i] =\n ((t1_1 + this.temp[i - 7]) | 0) + ((t2_1 + this.temp[i - 16]) | 0);\n }\n var t1 = ((((((state4 >>> 6) | (state4 << 26)) ^\n ((state4 >>> 11) | (state4 << 21)) ^\n ((state4 >>> 25) | (state4 << 7))) +\n ((state4 & state5) ^ (~state4 & state6))) |\n 0) +\n ((state7 + ((KEY[i] + this.temp[i]) | 0)) | 0)) |\n 0;\n var t2 = ((((state0 >>> 2) | (state0 << 30)) ^\n ((state0 >>> 13) | (state0 << 19)) ^\n ((state0 >>> 22) | (state0 << 10))) +\n ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) |\n 0;\n state7 = state6;\n state6 = state5;\n state5 = state4;\n state4 = (state3 + t1) | 0;\n state3 = state2;\n state2 = state1;\n state1 = state0;\n state0 = (t1 + t2) | 0;\n }\n state[0] += state0;\n state[1] += state1;\n state[2] += state2;\n state[3] += state3;\n state[4] += state4;\n state[5] += state5;\n state[6] += state6;\n state[7] += state7;\n };\n return RawSha256;\n}());\nexport { RawSha256 };\n//# sourceMappingURL=RawSha256.js.map","export const fromUtf8 = (input) => new TextEncoder().encode(input);\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { fromUtf8 as fromUtf8Browser } from \"@smithy/util-utf8\";\n// Quick polyfill\nvar fromUtf8 = typeof Buffer !== \"undefined\" && Buffer.from\n ? function (input) { return Buffer.from(input, \"utf8\"); }\n : fromUtf8Browser;\nexport function convertToBuffer(data) {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array)\n return data;\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\n//# sourceMappingURL=convertToBuffer.js.map","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport function isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\n//# sourceMappingURL=isEmptyData.js.map","import { __awaiter, __generator } from \"tslib\";\nimport { BLOCK_SIZE } from \"./constants\";\nimport { RawSha256 } from \"./RawSha256\";\nimport { isEmptyData, convertToBuffer } from \"@aws-crypto/util\";\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n this.secret = secret;\n this.hash = new RawSha256();\n this.reset();\n }\n Sha256.prototype.update = function (toHash) {\n if (isEmptyData(toHash) || this.error) {\n return;\n }\n try {\n this.hash.update(convertToBuffer(toHash));\n }\n catch (e) {\n this.error = e;\n }\n };\n /* This synchronous method keeps compatibility\n * with the v2 aws-sdk.\n */\n Sha256.prototype.digestSync = function () {\n if (this.error) {\n throw this.error;\n }\n if (this.outer) {\n if (!this.outer.finished) {\n this.outer.update(this.hash.digest());\n }\n return this.outer.digest();\n }\n return this.hash.digest();\n };\n /* The underlying digest method here is synchronous.\n * To keep the same interface with the other hash functions\n * the default is to expose this as an async method.\n * However, it can sometimes be useful to have a sync method.\n */\n Sha256.prototype.digest = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.digestSync()];\n });\n });\n };\n Sha256.prototype.reset = function () {\n this.hash = new RawSha256();\n if (this.secret) {\n this.outer = new RawSha256();\n var inner = bufferFromSecret(this.secret);\n var outer = new Uint8Array(BLOCK_SIZE);\n outer.set(inner);\n for (var i = 0; i < BLOCK_SIZE; i++) {\n inner[i] ^= 0x36;\n outer[i] ^= 0x5c;\n }\n this.hash.update(inner);\n this.outer.update(outer);\n // overwrite the copied key in memory\n for (var i = 0; i < inner.byteLength; i++) {\n inner[i] = 0;\n }\n }\n };\n return Sha256;\n}());\nexport { Sha256 };\nfunction bufferFromSecret(secret) {\n var input = convertToBuffer(secret);\n if (input.byteLength > BLOCK_SIZE) {\n var bufferHash = new RawSha256();\n bufferHash.update(input);\n input = bufferHash.digest();\n }\n var buffer = new Uint8Array(BLOCK_SIZE);\n buffer.set(input);\n return buffer;\n}\n//# sourceMappingURL=jsSha256.js.map","const SHORT_TO_HEX = {};\nconst HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\nexport function fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\nexport function toHex(bytes) {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar Framework;\n(function (Framework) {\n // < 100 - Web frameworks\n Framework[\"WebUnknown\"] = \"0\";\n Framework[\"React\"] = \"1\";\n Framework[\"NextJs\"] = \"2\";\n Framework[\"Angular\"] = \"3\";\n Framework[\"VueJs\"] = \"4\";\n Framework[\"Nuxt\"] = \"5\";\n Framework[\"Svelte\"] = \"6\";\n // 100s - Server side frameworks\n Framework[\"ServerSideUnknown\"] = \"100\";\n Framework[\"ReactSSR\"] = \"101\";\n Framework[\"NextJsSSR\"] = \"102\";\n Framework[\"AngularSSR\"] = \"103\";\n Framework[\"VueJsSSR\"] = \"104\";\n Framework[\"NuxtSSR\"] = \"105\";\n Framework[\"SvelteSSR\"] = \"106\";\n // 200s - Mobile framework\n Framework[\"ReactNative\"] = \"201\";\n Framework[\"Expo\"] = \"202\";\n})(Framework || (Framework = {}));\nvar Category;\n(function (Category) {\n Category[\"AI\"] = \"ai\";\n Category[\"API\"] = \"api\";\n Category[\"Auth\"] = \"auth\";\n Category[\"Analytics\"] = \"analytics\";\n Category[\"DataStore\"] = \"datastore\";\n Category[\"Geo\"] = \"geo\";\n Category[\"InAppMessaging\"] = \"inappmessaging\";\n Category[\"Interactions\"] = \"interactions\";\n Category[\"Predictions\"] = \"predictions\";\n Category[\"PubSub\"] = \"pubsub\";\n Category[\"PushNotification\"] = \"pushnotification\";\n Category[\"Storage\"] = \"storage\";\n})(Category || (Category = {}));\nvar AiAction;\n(function (AiAction) {\n AiAction[\"CreateConversation\"] = \"1\";\n AiAction[\"GetConversation\"] = \"2\";\n AiAction[\"ListConversations\"] = \"3\";\n AiAction[\"DeleteConversation\"] = \"4\";\n AiAction[\"SendMessage\"] = \"5\";\n AiAction[\"ListMessages\"] = \"6\";\n AiAction[\"OnMessage\"] = \"7\";\n AiAction[\"Generation\"] = \"8\";\n AiAction[\"UpdateConversation\"] = \"9\";\n})(AiAction || (AiAction = {}));\nvar AnalyticsAction;\n(function (AnalyticsAction) {\n AnalyticsAction[\"Record\"] = \"1\";\n AnalyticsAction[\"IdentifyUser\"] = \"2\";\n})(AnalyticsAction || (AnalyticsAction = {}));\nvar ApiAction;\n(function (ApiAction) {\n ApiAction[\"GraphQl\"] = \"1\";\n ApiAction[\"Get\"] = \"2\";\n ApiAction[\"Post\"] = \"3\";\n ApiAction[\"Put\"] = \"4\";\n ApiAction[\"Patch\"] = \"5\";\n ApiAction[\"Del\"] = \"6\";\n ApiAction[\"Head\"] = \"7\";\n})(ApiAction || (ApiAction = {}));\nvar AuthAction;\n(function (AuthAction) {\n AuthAction[\"SignUp\"] = \"1\";\n AuthAction[\"ConfirmSignUp\"] = \"2\";\n AuthAction[\"ResendSignUpCode\"] = \"3\";\n AuthAction[\"SignIn\"] = \"4\";\n AuthAction[\"FetchMFAPreference\"] = \"6\";\n AuthAction[\"UpdateMFAPreference\"] = \"7\";\n AuthAction[\"SetUpTOTP\"] = \"10\";\n AuthAction[\"VerifyTOTPSetup\"] = \"11\";\n AuthAction[\"ConfirmSignIn\"] = \"12\";\n AuthAction[\"DeleteUserAttributes\"] = \"15\";\n AuthAction[\"DeleteUser\"] = \"16\";\n AuthAction[\"UpdateUserAttributes\"] = \"17\";\n AuthAction[\"FetchUserAttributes\"] = \"18\";\n AuthAction[\"ConfirmUserAttribute\"] = \"22\";\n AuthAction[\"SignOut\"] = \"26\";\n AuthAction[\"UpdatePassword\"] = \"27\";\n AuthAction[\"ResetPassword\"] = \"28\";\n AuthAction[\"ConfirmResetPassword\"] = \"29\";\n AuthAction[\"FederatedSignIn\"] = \"30\";\n AuthAction[\"RememberDevice\"] = \"32\";\n AuthAction[\"ForgetDevice\"] = \"33\";\n AuthAction[\"FetchDevices\"] = \"34\";\n AuthAction[\"SendUserAttributeVerificationCode\"] = \"35\";\n AuthAction[\"SignInWithRedirect\"] = \"36\";\n AuthAction[\"StartWebAuthnRegistration\"] = \"37\";\n AuthAction[\"CompleteWebAuthnRegistration\"] = \"38\";\n AuthAction[\"ListWebAuthnCredentials\"] = \"39\";\n AuthAction[\"DeleteWebAuthnCredential\"] = \"40\";\n})(AuthAction || (AuthAction = {}));\nvar DataStoreAction;\n(function (DataStoreAction) {\n DataStoreAction[\"Subscribe\"] = \"1\";\n DataStoreAction[\"GraphQl\"] = \"2\";\n})(DataStoreAction || (DataStoreAction = {}));\nvar GeoAction;\n(function (GeoAction) {\n GeoAction[\"SearchByText\"] = \"0\";\n GeoAction[\"SearchByCoordinates\"] = \"1\";\n GeoAction[\"SearchForSuggestions\"] = \"2\";\n GeoAction[\"SearchByPlaceId\"] = \"3\";\n GeoAction[\"SaveGeofences\"] = \"4\";\n GeoAction[\"GetGeofence\"] = \"5\";\n GeoAction[\"ListGeofences\"] = \"6\";\n GeoAction[\"DeleteGeofences\"] = \"7\";\n})(GeoAction || (GeoAction = {}));\nvar InAppMessagingAction;\n(function (InAppMessagingAction) {\n InAppMessagingAction[\"SyncMessages\"] = \"1\";\n InAppMessagingAction[\"IdentifyUser\"] = \"2\";\n InAppMessagingAction[\"NotifyMessageInteraction\"] = \"3\";\n})(InAppMessagingAction || (InAppMessagingAction = {}));\nvar InteractionsAction;\n(function (InteractionsAction) {\n InteractionsAction[\"None\"] = \"0\";\n})(InteractionsAction || (InteractionsAction = {}));\nvar PredictionsAction;\n(function (PredictionsAction) {\n PredictionsAction[\"Convert\"] = \"1\";\n PredictionsAction[\"Identify\"] = \"2\";\n PredictionsAction[\"Interpret\"] = \"3\";\n})(PredictionsAction || (PredictionsAction = {}));\nvar PubSubAction;\n(function (PubSubAction) {\n PubSubAction[\"Subscribe\"] = \"1\";\n})(PubSubAction || (PubSubAction = {}));\nvar PushNotificationAction;\n(function (PushNotificationAction) {\n PushNotificationAction[\"InitializePushNotifications\"] = \"1\";\n PushNotificationAction[\"IdentifyUser\"] = \"2\";\n})(PushNotificationAction || (PushNotificationAction = {}));\nvar StorageAction;\n(function (StorageAction) {\n StorageAction[\"UploadData\"] = \"1\";\n StorageAction[\"DownloadData\"] = \"2\";\n StorageAction[\"List\"] = \"3\";\n StorageAction[\"Copy\"] = \"4\";\n StorageAction[\"Remove\"] = \"5\";\n StorageAction[\"GetProperties\"] = \"6\";\n StorageAction[\"GetUrl\"] = \"7\";\n StorageAction[\"GetDataAccess\"] = \"8\";\n StorageAction[\"ListCallerAccessGrants\"] = \"9\";\n})(StorageAction || (StorageAction = {}));\n\nexport { AiAction, AnalyticsAction, ApiAction, AuthAction, Category, DataStoreAction, Framework, GeoAction, InAppMessagingAction, InteractionsAction, PredictionsAction, PubSubAction, PushNotificationAction, StorageAction };\n//# sourceMappingURL=types.mjs.map\n","// generated by genversion\nconst version = '6.16.2';\n\nexport { version };\n//# sourceMappingURL=version.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst globalExists = () => {\n return typeof global !== 'undefined';\n};\nconst globalThisExists = () => {\n return typeof globalThis !== 'undefined';\n};\nconst windowExists = () => {\n return typeof window !== 'undefined';\n};\nconst documentExists = () => {\n return typeof document !== 'undefined';\n};\nconst processExists = () => {\n return typeof process !== 'undefined';\n};\nconst keyPrefixMatch = (object, prefix) => {\n return !!Object.keys(object).find(key => key.startsWith(prefix));\n};\n\nexport { documentExists, globalExists, globalThisExists, keyPrefixMatch, processExists, windowExists };\n//# sourceMappingURL=helpers.mjs.map\n","import { documentExists, processExists } from './helpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Tested with react 18.2 - built using Vite\nfunction reactWebDetect() {\n const elementKeyPrefixedWithReact = (key) => {\n return key.startsWith('_react') || key.startsWith('__react');\n };\n const elementIsReactEnabled = (element) => {\n return Object.keys(element).find(elementKeyPrefixedWithReact);\n };\n const allElementsWithId = () => Array.from(document.querySelectorAll('[id]'));\n return documentExists() && allElementsWithId().some(elementIsReactEnabled);\n}\nfunction reactSSRDetect() {\n return (processExists() &&\n typeof process.env !== 'undefined' &&\n !!Object.keys(process.env).find(key => key.includes('react')));\n}\n// use the some\n\nexport { reactSSRDetect, reactWebDetect };\n//# sourceMappingURL=React.mjs.map\n","import { windowExists, keyPrefixMatch, globalExists } from './helpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Tested with vue 3.3.2\nfunction vueWebDetect() {\n return windowExists() && keyPrefixMatch(window, '__VUE');\n}\nfunction vueSSRDetect() {\n return globalExists() && keyPrefixMatch(global, '__VUE');\n}\n\nexport { vueSSRDetect, vueWebDetect };\n//# sourceMappingURL=Vue.mjs.map\n","import { windowExists, keyPrefixMatch, processExists } from './helpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Tested with svelte 3.59\nfunction svelteWebDetect() {\n return windowExists() && keyPrefixMatch(window, '__SVELTE');\n}\nfunction svelteSSRDetect() {\n return (processExists() &&\n typeof process.env !== 'undefined' &&\n !!Object.keys(process.env).find(key => key.includes('svelte')));\n}\n\nexport { svelteSSRDetect, svelteWebDetect };\n//# sourceMappingURL=Svelte.mjs.map\n","import { windowExists, globalExists, keyPrefixMatch } from './helpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Tested with next 13.4 / react 18.2\nfunction nextWebDetect() {\n return (windowExists() &&\n window.next &&\n typeof window.next === 'object');\n}\nfunction nextSSRDetect() {\n return (globalExists() &&\n (keyPrefixMatch(global, '__next') || keyPrefixMatch(global, '__NEXT')));\n}\n\nexport { nextSSRDetect, nextWebDetect };\n//# sourceMappingURL=Next.mjs.map\n","import { windowExists, globalExists } from './helpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Tested with nuxt 2.15 / vue 2.7\nfunction nuxtWebDetect() {\n return (windowExists() &&\n (window.__NUXT__ !== undefined ||\n window.$nuxt !== undefined));\n}\nfunction nuxtSSRDetect() {\n return (globalExists() && typeof global.__NUXT_PATHS__ !== 'undefined');\n}\n\nexport { nuxtSSRDetect, nuxtWebDetect };\n//# sourceMappingURL=Nuxt.mjs.map\n","import { documentExists, processExists, windowExists } from './helpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Tested with @angular/core 16.0.0\nfunction angularWebDetect() {\n const angularVersionSetInDocument = Boolean(documentExists() && document.querySelector('[ng-version]'));\n const angularContentSetInWindow = Boolean(windowExists() && typeof window.ng !== 'undefined');\n return angularVersionSetInDocument || angularContentSetInWindow;\n}\nfunction angularSSRDetect() {\n return ((processExists() &&\n typeof process.env === 'object' &&\n process.env.npm_lifecycle_script?.startsWith('ng ')) ||\n false);\n}\n\nexport { angularSSRDetect, angularWebDetect };\n//# sourceMappingURL=Angular.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Tested with react-native 0.17.7\nfunction reactNativeDetect() {\n return (typeof navigator !== 'undefined' &&\n typeof navigator.product !== 'undefined' &&\n navigator.product === 'ReactNative');\n}\n\nexport { reactNativeDetect };\n//# sourceMappingURL=ReactNative.mjs.map\n","import { globalExists } from './helpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Tested with expo 48 / react-native 0.71.3\nfunction expoDetect() {\n return globalExists() && typeof global.expo !== 'undefined';\n}\n\nexport { expoDetect };\n//# sourceMappingURL=Expo.mjs.map\n","import { windowExists } from './helpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction webDetect() {\n return windowExists();\n}\n\nexport { webDetect };\n//# sourceMappingURL=Web.mjs.map\n","import { Framework } from '../types.mjs';\nimport { reactWebDetect, reactSSRDetect } from './React.mjs';\nimport { vueWebDetect, vueSSRDetect } from './Vue.mjs';\nimport { svelteWebDetect, svelteSSRDetect } from './Svelte.mjs';\nimport { nextWebDetect, nextSSRDetect } from './Next.mjs';\nimport { nuxtWebDetect, nuxtSSRDetect } from './Nuxt.mjs';\nimport { angularWebDetect, angularSSRDetect } from './Angular.mjs';\nimport { reactNativeDetect } from './ReactNative.mjs';\nimport { expoDetect } from './Expo.mjs';\nimport { webDetect } from './Web.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// These are in the order of detection where when both are detectable, the early Framework will be reported\nconst detectionMap = [\n // First, detect mobile\n { platform: Framework.Expo, detectionMethod: expoDetect },\n { platform: Framework.ReactNative, detectionMethod: reactNativeDetect },\n // Next, detect web frameworks\n { platform: Framework.NextJs, detectionMethod: nextWebDetect },\n { platform: Framework.Nuxt, detectionMethod: nuxtWebDetect },\n { platform: Framework.Angular, detectionMethod: angularWebDetect },\n { platform: Framework.React, detectionMethod: reactWebDetect },\n { platform: Framework.VueJs, detectionMethod: vueWebDetect },\n { platform: Framework.Svelte, detectionMethod: svelteWebDetect },\n { platform: Framework.WebUnknown, detectionMethod: webDetect },\n // Last, detect ssr frameworks\n { platform: Framework.NextJsSSR, detectionMethod: nextSSRDetect },\n { platform: Framework.NuxtSSR, detectionMethod: nuxtSSRDetect },\n { platform: Framework.ReactSSR, detectionMethod: reactSSRDetect },\n { platform: Framework.VueJsSSR, detectionMethod: vueSSRDetect },\n { platform: Framework.AngularSSR, detectionMethod: angularSSRDetect },\n { platform: Framework.SvelteSSR, detectionMethod: svelteSSRDetect },\n];\nfunction detect() {\n return (detectionMap.find(detectionEntry => detectionEntry.detectionMethod())\n ?.platform || Framework.ServerSideUnknown);\n}\n\nexport { detect };\n//# sourceMappingURL=index.mjs.map\n","import { Framework } from './types.mjs';\nimport { detect } from './detection/index.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// We want to cache detection since the framework won't change\nlet frameworkCache;\nconst frameworkChangeObservers = [];\n// Setup the detection reset tracking / timeout delays\nlet resetTriggered = false;\nconst SSR_RESET_TIMEOUT = 10; // ms\nconst WEB_RESET_TIMEOUT = 10; // ms\nconst PRIME_FRAMEWORK_DELAY = 1000; // ms\nconst detectFramework = () => {\n if (!frameworkCache) {\n frameworkCache = detect();\n if (resetTriggered) {\n // The final run of detectFramework:\n // Starting from this point, the `frameworkCache` becomes \"final\".\n // So we don't need to notify the observers again so the observer\n // can be removed after the final notice.\n while (frameworkChangeObservers.length) {\n frameworkChangeObservers.pop()?.();\n }\n }\n else {\n // The first run of detectFramework:\n // Every time we update the cache, call each observer function\n frameworkChangeObservers.forEach(fcn => {\n fcn();\n });\n }\n // Retry once for either Unknown type after a delay (explained below)\n resetTimeout(Framework.ServerSideUnknown, SSR_RESET_TIMEOUT);\n resetTimeout(Framework.WebUnknown, WEB_RESET_TIMEOUT);\n }\n return frameworkCache;\n};\n/**\n * @internal Setup observer callback that will be called everytime the framework changes\n */\nconst observeFrameworkChanges = (fcn) => {\n // When the `frameworkCache` won't be updated again, we ignore all incoming\n // observers.\n if (resetTriggered) {\n return;\n }\n frameworkChangeObservers.push(fcn);\n};\nfunction clearCache() {\n frameworkCache = undefined;\n}\n// For a framework type and a delay amount, setup the event to re-detect\n// During the runtime boot, it is possible that framework detection will\n// be triggered before the framework has made modifications to the\n// global/window/etc needed for detection. When no framework is detected\n// we will reset and try again to ensure we don't use a cached\n// non-framework detection result for all requests.\nfunction resetTimeout(framework, delay) {\n if (frameworkCache === framework && !resetTriggered) {\n setTimeout(() => {\n clearCache();\n resetTriggered = true;\n setTimeout(detectFramework, PRIME_FRAMEWORK_DELAY);\n }, delay);\n }\n}\n\nexport { clearCache, detectFramework, frameworkChangeObservers, observeFrameworkChanges };\n//# sourceMappingURL=detectFramework.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Maintains custom user-agent state set by external consumers.\nconst customUserAgentState = {};\n/**\n * Sets custom user agent state which will be appended to applicable requests. Returns a function that can be used to\n * clean up any custom state set with this API.\n *\n * @note\n * This API operates globally. Calling this API multiple times will result in the most recently set values for a\n * particular API being used.\n *\n * @note\n * This utility IS NOT compatible with SSR.\n *\n * @param input - SetCustomUserAgentInput that defines custom state to apply to the specified APIs.\n */\nconst setCustomUserAgent = (input) => {\n // Save custom user-agent state & increment reference counter\n // TODO Remove `any` when we upgrade to TypeScript 5.2, see: https://github.com/microsoft/TypeScript/issues/44373\n customUserAgentState[input.category] = input.apis.reduce((acc, api) => ({\n ...acc,\n [api]: {\n refCount: acc[api]?.refCount ? acc[api].refCount + 1 : 1,\n additionalDetails: input.additionalDetails,\n },\n }), customUserAgentState[input.category] ?? {});\n // Callback that cleans up state for APIs recorded by this call\n let cleanUpCallbackCalled = false;\n const cleanUpCallback = () => {\n // Only allow the cleanup callback to be called once\n if (cleanUpCallbackCalled) {\n return;\n }\n cleanUpCallbackCalled = true;\n input.apis.forEach(api => {\n const apiRefCount = customUserAgentState[input.category][api].refCount;\n if (apiRefCount > 1) {\n customUserAgentState[input.category][api].refCount = apiRefCount - 1;\n }\n else {\n delete customUserAgentState[input.category][api];\n // Clean up category if no more APIs set\n if (!Object.keys(customUserAgentState[input.category]).length) {\n delete customUserAgentState[input.category];\n }\n }\n });\n };\n return cleanUpCallback;\n};\nconst getCustomUserAgent = (category, api) => customUserAgentState[category]?.[api]?.additionalDetails;\n\nexport { getCustomUserAgent, setCustomUserAgent };\n//# sourceMappingURL=customUserAgent.mjs.map\n","import { Framework } from './types.mjs';\nimport { version } from './version.mjs';\nimport { detectFramework, observeFrameworkChanges } from './detectFramework.mjs';\nimport { getCustomUserAgent } from './customUserAgent.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst BASE_USER_AGENT = `aws-amplify`;\n/** Sanitize Amplify version string be removing special character + and character post the special character */\nconst sanitizeAmplifyVersion = (amplifyVersion) => amplifyVersion.replace(/\\+.*/, '');\nclass PlatformBuilder {\n constructor() {\n this.userAgent = `${BASE_USER_AGENT}/${sanitizeAmplifyVersion(version)}`;\n }\n get framework() {\n return detectFramework();\n }\n get isReactNative() {\n return (this.framework === Framework.ReactNative ||\n this.framework === Framework.Expo);\n }\n observeFrameworkChanges(fcn) {\n observeFrameworkChanges(fcn);\n }\n}\nconst Platform = new PlatformBuilder();\nconst getAmplifyUserAgentObject = ({ category, action, } = {}) => {\n const userAgent = [\n [BASE_USER_AGENT, sanitizeAmplifyVersion(version)],\n ];\n if (category) {\n userAgent.push([category, action]);\n }\n userAgent.push(['framework', detectFramework()]);\n if (category && action) {\n const customState = getCustomUserAgent(category, action);\n if (customState) {\n customState.forEach(state => {\n userAgent.push(state);\n });\n }\n }\n return userAgent;\n};\nconst getAmplifyUserAgent = (customUserAgentDetails) => {\n const userAgent = getAmplifyUserAgentObject(customUserAgentDetails);\n const userAgentString = userAgent\n .map(([agentKey, agentValue]) => agentKey && agentValue ? `${agentKey}/${agentValue}` : agentKey)\n .join(' ');\n return userAgentString;\n};\n\nexport { Platform, getAmplifyUserAgent, getAmplifyUserAgentObject, sanitizeAmplifyVersion };\n//# sourceMappingURL=index.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst isBrowser = () => typeof window !== 'undefined' && typeof window.document !== 'undefined';\n\nexport { isBrowser };\n//# sourceMappingURL=isBrowser.mjs.map\n","import { ConsoleLogger } from '../../Logger/ConsoleLogger.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst logger = new ConsoleLogger('Auth');\nclass AuthClass {\n /**\n * Configure Auth category\n *\n * @internal\n *\n * @param authResourcesConfig - Resources configurations required by Auth providers.\n * @param authOptions - Client options used by library\n *\n * @returns void\n */\n configure(authResourcesConfig, authOptions) {\n this.authConfig = authResourcesConfig;\n this.authOptions = authOptions;\n if (authResourcesConfig && authResourcesConfig.Cognito?.userPoolEndpoint) {\n logger.warn(getCustomEndpointWarningMessage('Amazon Cognito User Pool'));\n }\n if (authResourcesConfig &&\n authResourcesConfig.Cognito?.identityPoolEndpoint) {\n logger.warn(getCustomEndpointWarningMessage('Amazon Cognito Identity Pool'));\n }\n }\n /**\n * Fetch the auth tokens, and the temporary AWS credentials and identity if they are configured. By default it\n * will automatically refresh expired auth tokens if a valid refresh token is present. You can force a refresh\n * of non-expired tokens with `{ forceRefresh: true }` input.\n *\n * @param options - Options configuring the fetch behavior.\n *\n * @returns Promise of current auth session {@link AuthSession}.\n */\n async fetchAuthSession(options = {}) {\n let credentialsAndIdentityId;\n let userSub;\n // Get tokens will throw if session cannot be refreshed (network or service error) or return null if not available\n const tokens = await this.getTokens(options);\n if (tokens) {\n userSub = tokens.accessToken?.payload?.sub;\n // getCredentialsAndIdentityId will throw if cannot get credentials (network or service error)\n credentialsAndIdentityId =\n await this.authOptions?.credentialsProvider?.getCredentialsAndIdentityId({\n authConfig: this.authConfig,\n tokens,\n authenticated: true,\n forceRefresh: options.forceRefresh,\n });\n }\n else {\n // getCredentialsAndIdentityId will throw if cannot get credentials (network or service error)\n credentialsAndIdentityId =\n await this.authOptions?.credentialsProvider?.getCredentialsAndIdentityId({\n authConfig: this.authConfig,\n authenticated: false,\n forceRefresh: options.forceRefresh,\n });\n }\n return {\n tokens,\n credentials: credentialsAndIdentityId?.credentials,\n identityId: credentialsAndIdentityId?.identityId,\n userSub,\n };\n }\n async clearCredentials() {\n await this.authOptions?.credentialsProvider?.clearCredentialsAndIdentityId();\n }\n async getTokens(options) {\n return ((await this.authOptions?.tokenProvider?.getTokens(options)) ?? undefined);\n }\n}\nconst getCustomEndpointWarningMessage = (target) => `You are using a custom Amazon ${target} endpoint, ensure the endpoint is correct.`;\n\nexport { AuthClass };\n//# sourceMappingURL=index.mjs.map\n","import { Hub, AMPLIFY_SYMBOL } from '../Hub/index.mjs';\nimport '../types/errors.mjs';\nimport '../errors/errorHelpers.mjs';\nimport '../utils/getClientInfo/getClientInfo.mjs';\nimport '../utils/retry/retry.mjs';\nimport { deepFreeze } from '../utils/deepFreeze.mjs';\nimport '../parseAWSExports.mjs';\nimport { ADD_OAUTH_LISTENER } from './constants.mjs';\nimport 'uuid';\nimport { parseAmplifyConfig } from '../utils/parseAmplifyConfig.mjs';\nimport './Auth/utils/errorHelpers.mjs';\nimport '@aws-crypto/sha256-js';\nimport '@smithy/util-hex-encoding';\nimport '../Platform/index.mjs';\nimport '../Platform/types.mjs';\nimport '../BackgroundProcessManager/types.mjs';\nimport '../Reachability/Reachability.mjs';\nimport '../utils/sessionListener/index.mjs';\nimport { AuthClass } from './Auth/index.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nclass AmplifyClass {\n constructor() {\n this.oAuthListener = undefined;\n this.isConfigured = false;\n this.resourcesConfig = {};\n this.libraryOptions = {};\n this.Auth = new AuthClass();\n }\n /**\n * Configures Amplify for use with your back-end resources.\n *\n * @remarks\n * This API does not perform any merging of either `resourcesConfig` or `libraryOptions`. The most recently\n * provided values will be used after configuration.\n *\n * @remarks\n * `configure` can be used to specify additional library options where available for supported categories.\n *\n * @param resourceConfig - Back-end resource configuration. Typically provided via the `aws-exports.js` file.\n * @param libraryOptions - Additional options for customizing the behavior of the library.\n */\n configure(resourcesConfig, libraryOptions) {\n const resolvedResourceConfig = parseAmplifyConfig(resourcesConfig);\n this.resourcesConfig = resolvedResourceConfig;\n if (libraryOptions) {\n this.libraryOptions = libraryOptions;\n }\n // Make resource config immutable\n this.resourcesConfig = deepFreeze(this.resourcesConfig);\n this.Auth.configure(this.resourcesConfig.Auth, this.libraryOptions.Auth);\n // Warn if Pinpoint is configured\n if (this.resourcesConfig.Analytics?.Pinpoint ||\n this.resourcesConfig.Notifications?.InAppMessaging?.Pinpoint ||\n this.resourcesConfig.Notifications?.PushNotification?.Pinpoint) {\n // eslint-disable-next-line no-console\n console.warn('AWS will end support for Amazon Pinpoint on October 30, 2026. ' +\n 'The guidance is to use AWS End User Messaging for push notifications and SMS, ' +\n 'Amazon Simple Email Service for sending emails, Amazon Connect for campaigns, journeys, endpoints, and engagement analytics. ' +\n 'Pinpoint recommends Amazon Kinesis for event collection and mobile analytics.');\n }\n Hub.dispatch('core', {\n event: 'configure',\n data: this.resourcesConfig,\n }, 'Configure', AMPLIFY_SYMBOL);\n this.notifyOAuthListener();\n this.isConfigured = true;\n }\n /**\n * Provides access to the current back-end resource configuration for the Library.\n *\n * @returns Returns the immutable back-end resource configuration.\n */\n getConfig() {\n if (!this.isConfigured) {\n // eslint-disable-next-line no-console\n console.warn(`Amplify has not been configured. Please call Amplify.configure() before using this service.`);\n }\n return this.resourcesConfig;\n }\n /** @internal */\n [ADD_OAUTH_LISTENER](listener) {\n if (this.resourcesConfig.Auth?.Cognito.loginWith?.oauth) {\n // when Amplify has been configured with a valid OAuth config while adding the listener, run it directly\n listener(this.resourcesConfig.Auth?.Cognito);\n }\n else {\n // otherwise register the listener and run it later when Amplify gets configured with a valid oauth config\n this.oAuthListener = listener;\n }\n }\n notifyOAuthListener() {\n if (!this.resourcesConfig.Auth?.Cognito.loginWith?.oauth ||\n !this.oAuthListener) {\n return;\n }\n this.oAuthListener(this.resourcesConfig.Auth?.Cognito);\n // the listener should only be notified once with a valid oauth config\n this.oAuthListener = undefined;\n }\n}\n/**\n * The `Amplify` utility is used to configure the library.\n *\n * @remarks\n * `Amplify` orchestrates cross-category communication within the library.\n */\nconst Amplify = new AmplifyClass();\n\nexport { Amplify, AmplifyClass };\n//# sourceMappingURL=Amplify.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst fetchAuthSession = (amplify, options) => {\n return amplify.Auth.fetchAuthSession(options);\n};\n\nexport { fetchAuthSession };\n//# sourceMappingURL=fetchAuthSession.mjs.map\n","import { Amplify } from '../Amplify.mjs';\nimport { fetchAuthSession as fetchAuthSession$1 } from './internal/fetchAuthSession.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Fetch the auth session including the tokens and credentials if they are available. By default it\n * will automatically refresh expired auth tokens if a valid refresh token is present. You can force a refresh\n * of non-expired tokens with `{ forceRefresh: true }` input.\n *\n * @param options - Options configuring the fetch behavior.\n * @throws {@link AuthError} - Throws error when session information cannot be refreshed.\n * @returns Promise<AuthSession>\n */\nconst fetchAuthSession = (options) => {\n return fetchAuthSession$1(Amplify, options);\n};\n\nexport { fetchAuthSession };\n//# sourceMappingURL=fetchAuthSession.mjs.map\n","import { Amplify } from '../Amplify.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction clearCredentials() {\n return Amplify.Auth.clearCredentials();\n}\n\nexport { clearCredentials };\n//# sourceMappingURL=clearCredentials.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst parseMetadata = (response) => {\n const { headers, statusCode } = response;\n return {\n ...(isMetadataBearer(response) ? response.$metadata : {}),\n httpStatusCode: statusCode,\n requestId: headers['x-amzn-requestid'] ??\n headers['x-amzn-request-id'] ??\n headers['x-amz-request-id'],\n extendedRequestId: headers['x-amz-id-2'],\n cfId: headers['x-amz-cf-id'],\n };\n};\nconst isMetadataBearer = (response) => typeof response?.$metadata === 'object';\n\nexport { parseMetadata };\n//# sourceMappingURL=responseInfo.mjs.map\n","import { parseMetadata } from './responseInfo.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Utility functions for serializing and deserializing of JSON protocol in general(including: REST-JSON, JSON-RPC, etc.)\n */\n/**\n * Error parser for AWS JSON protocol.\n */\nconst parseJsonError = async (response) => {\n if (!response || response.statusCode < 300) {\n return;\n }\n const body = await parseJsonBody(response);\n const sanitizeErrorCode = (rawValue) => {\n const [cleanValue] = rawValue.toString().split(/[,:]+/);\n if (cleanValue.includes('#')) {\n return cleanValue.split('#')[1];\n }\n return cleanValue;\n };\n const code = sanitizeErrorCode(response.headers['x-amzn-errortype'] ??\n body.code ??\n body.__type ??\n 'UnknownError');\n const message = body.message ?? body.Message ?? 'Unknown error';\n const error = new Error(message);\n return Object.assign(error, {\n name: code,\n $metadata: parseMetadata(response),\n });\n};\n/**\n * Parse JSON response body to JavaScript object.\n */\nconst parseJsonBody = async (response) => {\n if (!response.body) {\n throw new Error('Missing response payload');\n }\n const output = await response.body.json();\n return Object.assign(output, {\n $metadata: parseMetadata(response),\n });\n};\n\nexport { parseJsonBody, parseJsonError };\n//# sourceMappingURL=json.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Compose a service API handler that accepts input as defined shape and responds conforming to defined output shape.\n * A service API handler is composed with:\n * * A transfer handler\n * * A serializer function\n * * A deserializer function\n * * A default config object\n *\n * The returned service API handler, when called, will trigger the following workflow:\n * 1. When calling the service API handler function, the default config object is merged into the input config\n * object to assign the default values of some omitted configs, resulting to a resolved config object.\n * 2. The `endpointResolver` function from the default config object will be invoked with the resolved config object and\n * API input object resulting to an endpoint instance.\n * 3. The serializer function is invoked with API input object and the endpoint instance resulting to an HTTP request\n * instance.\n * 4. The HTTP request instance and the resolved config object is passed to the transfer handler function.\n * 5. The transfer handler function resolves to an HTTP response instance(can be either successful or failed status code).\n * 6. The deserializer function is invoked with the HTTP response instance resulting to the API output object, and\n * return to the caller.\n *\n *\n * @param transferHandler Async function for dispatching HTTP requests and returning HTTP response.\n * @param serializer Async function for converting object in defined input shape into HTTP request targeting a given\n * \tendpoint.\n * @param deserializer Async function for converting HTTP response into output object in defined output shape, or error\n * \tshape.\n * @param defaultConfig object containing default options to be consumed by transfer handler, serializer and\n * deserializer.\n * @returns a async service API handler function that accepts a config object and input object in defined shape, returns\n * \tan output object in defined shape. It may also throw error instance in defined shape in deserializer. The config\n * object type is composed with options type of transferHandler, endpointResolver function as well as endpointResolver\n * function's input options type, region string. The config object property will be marked as optional if it's also\n * \tdefined in defaultConfig.\n *\n * @internal\n */\nconst composeServiceApi = (transferHandler, serializer, deserializer, defaultConfig) => {\n return async (config, input) => {\n const resolvedConfig = {\n ...defaultConfig,\n ...config,\n };\n // We need to allow different endpoints based on both given config(other than region) and input.\n // However for most of non-S3 services, region is the only input for endpoint resolver.\n const endpoint = await resolvedConfig.endpointResolver(resolvedConfig, input);\n // Unlike AWS SDK clients, a serializer should NOT populate the `host` or `content-length` headers.\n // Both of these headers are prohibited per Spec(https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name).\n // They will be populated automatically by browser, or node-fetch polyfill.\n const request = await serializer(input, endpoint);\n const response = await transferHandler(request, {\n ...resolvedConfig,\n });\n return deserializer(response);\n };\n};\n\nexport { composeServiceApi };\n//# sourceMappingURL=composeServiceApi.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst MAX_DELAY_MS = 5 * 60 * 1000;\n\nexport { MAX_DELAY_MS };\n//# sourceMappingURL=constants.mjs.map\n","import { MAX_DELAY_MS } from './constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @private\n * Internal use of Amplify only\n */\nfunction jitteredBackoff(maxDelayMs = MAX_DELAY_MS) {\n const BASE_TIME_MS = 100;\n const JITTER_FACTOR = 100;\n return attempt => {\n const delay = 2 ** attempt * BASE_TIME_MS + JITTER_FACTOR * Math.random();\n return delay > maxDelayMs ? false : delay;\n };\n}\n\nexport { jitteredBackoff };\n//# sourceMappingURL=jitteredBackoff.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst DEFAULT_RETRY_ATTEMPTS = 3;\nconst AMZ_SDK_INVOCATION_ID_HEADER = 'amz-sdk-invocation-id';\nconst AMZ_SDK_REQUEST_HEADER = 'amz-sdk-request';\nconst DEFAULT_MAX_DELAY_MS = 5 * 60 * 1000;\n\nexport { AMZ_SDK_INVOCATION_ID_HEADER, AMZ_SDK_REQUEST_HEADER, DEFAULT_MAX_DELAY_MS, DEFAULT_RETRY_ATTEMPTS };\n//# sourceMappingURL=constants.mjs.map\n","import '../../../types/errors.mjs';\nimport '../../../errors/errorHelpers.mjs';\nimport '../../../utils/getClientInfo/getClientInfo.mjs';\nimport { jitteredBackoff as jitteredBackoff$1 } from '../../../utils/retry/jitteredBackoff.mjs';\nimport '../../../utils/retry/retry.mjs';\nimport { DEFAULT_MAX_DELAY_MS } from './constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// TODO: [v6] The separate retry utility is used by Data packages now and will replaced by retry middleware.\nconst jitteredBackoff = attempt => {\n const delayFunction = jitteredBackoff$1(DEFAULT_MAX_DELAY_MS);\n const delay = delayFunction(attempt);\n // The delayFunction returns false when the delay is greater than the max delay(5 mins).\n // In this case, the retry middleware will delay 5 mins instead, as a ceiling of the delay.\n return delay === false ? DEFAULT_MAX_DELAY_MS : delay;\n};\n\nexport { jitteredBackoff };\n//# sourceMappingURL=jitteredBackoff.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// via https://github.com/aws/aws-sdk-js-v3/blob/ab0e7be36e7e7f8a0c04834357aaad643c7912c3/packages/service-error-classification/src/constants.ts#L8\nconst CLOCK_SKEW_ERROR_CODES = [\n 'AuthFailure',\n 'InvalidSignatureException',\n 'RequestExpired',\n 'RequestInTheFuture',\n 'RequestTimeTooSkewed',\n 'SignatureDoesNotMatch',\n 'BadRequestException', // API Gateway\n];\n/**\n * Given an error code, returns true if it is related to a clock skew error.\n *\n * @param errorCode String representation of some error.\n * @returns True if given error is present in `CLOCK_SKEW_ERROR_CODES`, false otherwise.\n *\n * @internal\n */\nconst isClockSkewError = (errorCode) => !!errorCode && CLOCK_SKEW_ERROR_CODES.includes(errorCode);\n\nexport { isClockSkewError };\n//# sourceMappingURL=isClockSkewError.mjs.map\n","import { AmplifyErrorCode } from '../../../types/errors.mjs';\nimport { isClockSkewError } from './isClockSkewError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Get retry decider function\n * @param errorParser Function to load JavaScript error from HTTP response\n */\nconst getRetryDecider = (errorParser) => async (response, error) => {\n const parsedError = error ??\n (await errorParser(response)) ??\n undefined;\n const errorCode = parsedError?.code || parsedError?.name;\n const statusCode = response?.statusCode;\n const isRetryable = isConnectionError(error) ||\n isThrottlingError(statusCode, errorCode) ||\n isClockSkewError(errorCode) ||\n isServerSideError(statusCode, errorCode);\n return {\n retryable: isRetryable,\n };\n};\n// reference: https://github.com/aws/aws-sdk-js-v3/blob/ab0e7be36e7e7f8a0c04834357aaad643c7912c3/packages/service-error-classification/src/constants.ts#L22-L37\nconst THROTTLING_ERROR_CODES = [\n 'BandwidthLimitExceeded',\n 'EC2ThrottledException',\n 'LimitExceededException',\n 'PriorRequestNotComplete',\n 'ProvisionedThroughputExceededException',\n 'RequestLimitExceeded',\n 'RequestThrottled',\n 'RequestThrottledException',\n 'SlowDown',\n 'ThrottledException',\n 'Throttling',\n 'ThrottlingException',\n 'TooManyRequestsException',\n];\nconst TIMEOUT_ERROR_CODES = [\n 'TimeoutError',\n 'RequestTimeout',\n 'RequestTimeoutException',\n];\nconst isThrottlingError = (statusCode, errorCode) => statusCode === 429 ||\n (!!errorCode && THROTTLING_ERROR_CODES.includes(errorCode));\nconst isConnectionError = (error) => [\n AmplifyErrorCode.NetworkError,\n // TODO(vNext): unify the error code `ERR_NETWORK` used by the Storage XHR handler\n 'ERR_NETWORK',\n].includes(error?.name);\nconst isServerSideError = (statusCode, errorCode) => (!!statusCode && [500, 502, 503, 504].includes(statusCode)) ||\n (!!errorCode && TIMEOUT_ERROR_CODES.includes(errorCode));\n\nexport { getRetryDecider };\n//# sourceMappingURL=defaultRetryDecider.mjs.map\n","import { DEFAULT_RETRY_ATTEMPTS } from './constants.mjs';\n\n/**\n * Middleware that executes the retry logic.\n */\nconst retryMiddlewareFactory = ({ maxAttempts = DEFAULT_RETRY_ATTEMPTS, retryDecider, computeDelay, abortSignal, }) => {\n if (maxAttempts < 1) {\n throw new Error('maxAttempts must be greater than 0');\n }\n return (next, context) => async function retryMiddleware(request) {\n let error;\n let attemptsCount = context.attemptsCount ?? 0;\n let response;\n // When retry is not needed or max attempts is reached, either error or response will be set. This function handles either cases.\n const handleTerminalErrorOrResponse = () => {\n if (response) {\n addOrIncrementMetadataAttempts(response, attemptsCount);\n return response;\n }\n else {\n addOrIncrementMetadataAttempts(error, attemptsCount);\n throw error;\n }\n };\n while (!abortSignal?.aborted && attemptsCount < maxAttempts) {\n try {\n response = await next(request);\n error = undefined;\n }\n catch (e) {\n error = e;\n response = undefined;\n }\n // context.attemptsCount may be updated after calling next handler which may retry the request by itself.\n attemptsCount =\n (context.attemptsCount ?? 0) > attemptsCount\n ? (context.attemptsCount ?? 0)\n : attemptsCount + 1;\n context.attemptsCount = attemptsCount;\n const { isCredentialsExpiredError, retryable } = await retryDecider(response, error, context);\n if (retryable) {\n // Setting isCredentialsInvalid flag to notify signing middleware to forceRefresh credentials provider.\n context.isCredentialsExpired = !!isCredentialsExpiredError;\n if (!abortSignal?.aborted && attemptsCount < maxAttempts) {\n // prevent sleep for last attempt or cancelled request;\n const delay = computeDelay(attemptsCount);\n await cancellableSleep(delay, abortSignal);\n }\n continue;\n }\n else {\n return handleTerminalErrorOrResponse();\n }\n }\n if (abortSignal?.aborted) {\n throw new Error('Request aborted.');\n }\n else {\n return handleTerminalErrorOrResponse();\n }\n };\n};\nconst cancellableSleep = (timeoutMs, abortSignal) => {\n if (abortSignal?.aborted) {\n return Promise.resolve();\n }\n let timeoutId;\n let sleepPromiseResolveFn;\n const sleepPromise = new Promise(resolve => {\n sleepPromiseResolveFn = resolve;\n timeoutId = setTimeout(resolve, timeoutMs);\n });\n abortSignal?.addEventListener('abort', function cancelSleep(_) {\n clearTimeout(timeoutId);\n abortSignal?.removeEventListener('abort', cancelSleep);\n sleepPromiseResolveFn();\n });\n return sleepPromise;\n};\nconst addOrIncrementMetadataAttempts = (nextHandlerOutput, attempts) => {\n if (Object.prototype.toString.call(nextHandlerOutput) !== '[object Object]') {\n return;\n }\n nextHandlerOutput.$metadata = {\n ...(nextHandlerOutput.$metadata ?? {}),\n attempts,\n };\n};\n\nexport { retryMiddlewareFactory };\n//# sourceMappingURL=retryMiddleware.mjs.map\n","import { v4 } from 'uuid';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst amplifyUuid = v4;\n\nexport { amplifyUuid };\n//# sourceMappingURL=index.mjs.map\n","import '../../../types/errors.mjs';\nimport '../../../errors/errorHelpers.mjs';\nimport '../../../utils/getClientInfo/getClientInfo.mjs';\nimport '../../../utils/retry/retry.mjs';\nimport '../../../parseAWSExports.mjs';\nimport { amplifyUuid } from '../../../utils/amplifyUuid/index.mjs';\nimport '../../../singleton/Auth/utils/errorHelpers.mjs';\nimport '@aws-crypto/sha256-js';\nimport '@smithy/util-hex-encoding';\nimport '../../../Platform/index.mjs';\nimport '../../../Platform/types.mjs';\nimport '../../../BackgroundProcessManager/types.mjs';\nimport '../../../Reachability/Reachability.mjs';\nimport '../../../Hub/index.mjs';\nimport '../../../utils/sessionListener/index.mjs';\nimport { AMZ_SDK_INVOCATION_ID_HEADER } from './constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Middleware injects a UUID string to `amz-sdk-invocation-id` header.\n * if the header is not set already. This header is helpful to provide\n * observability to group the requests caused by automatic retry.\n *\n * This middleware is standalone because of extra UUID dependency, we will\n * NOT use this middleware for API categories.\n *\n * Ref: https://sdk.amazonaws.com/kotlin/api/smithy-kotlin/api/1.0.9/http-client/aws.smithy.kotlin.runtime.http.operation/-http-operation-context/-sdk-invocation-id.html\n */\nconst amzSdkInvocationIdHeaderMiddlewareFactory = () => next => {\n return async function amzSdkInvocationIdHeaderMiddleware(request) {\n if (!request.headers[AMZ_SDK_INVOCATION_ID_HEADER]) {\n request.headers[AMZ_SDK_INVOCATION_ID_HEADER] = amplifyUuid();\n }\n return next(request);\n };\n};\n\nexport { amzSdkInvocationIdHeaderMiddlewareFactory };\n//# sourceMappingURL=amzSdkInvocationIdHeaderMiddleware.mjs.map\n","import { DEFAULT_RETRY_ATTEMPTS, AMZ_SDK_REQUEST_HEADER } from './constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Middleware injects `amz-sdk-request` header to indicate the retry state at the time an HTTP request is made.\n * This middleware should co-exist with retryMiddleware as it relies on the retryAttempts value in middleware context\n * set by the retry middleware.\n *\n * Example header: `amz-sdk-request: attempt=1; max=3`.\n *\n * This middleware is standalone because of extra headers may conflict with custom endpoint settings(e.g. CORS), we will\n * NOT use this middleware for API categories.\n */\nconst amzSdkRequestHeaderMiddlewareFactory = ({ maxAttempts = DEFAULT_RETRY_ATTEMPTS }) => (next, context) => {\n return async function amzSdkRequestHeaderMiddleware(request) {\n const attemptsCount = context.attemptsCount ?? 0;\n request.headers[AMZ_SDK_REQUEST_HEADER] =\n `attempt=${attemptsCount + 1}; max=${maxAttempts}`;\n return next(request);\n };\n};\n\nexport { amzSdkRequestHeaderMiddlewareFactory };\n//# sourceMappingURL=amzSdkRequestHeaderMiddleware.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Middleware injects user agent string to specified header(default to 'x-amz-user-agent'),\n * if the header is not set already.\n *\n * TODO: incorporate new user agent design\n */\nconst userAgentMiddlewareFactory = ({ userAgentHeader = 'x-amz-user-agent', userAgentValue = '', }) => next => {\n return async function userAgentMiddleware(request) {\n if (userAgentValue.trim().length === 0) {\n const result = await next(request);\n return result;\n }\n else {\n const headerName = userAgentHeader.toLowerCase();\n request.headers[headerName] = request.headers[headerName]\n ? `${request.headers[headerName]} ${userAgentValue}`\n : userAgentValue;\n const response = await next(request);\n return response;\n }\n };\n};\n\nexport { userAgentMiddlewareFactory };\n//# sourceMappingURL=middleware.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Compose a transfer handler with a core transfer handler and a list of middleware.\n * @param coreHandler Core transfer handler\n * @param middleware\tList of middleware\n * @returns A transfer handler whose option type is the union of the core\n * \ttransfer handler's option type and the middleware's option type.\n * @internal\n */\nconst composeTransferHandler = (coreHandler, middleware) => (request, options) => {\n const context = {};\n let composedHandler = (composeHandlerRequest) => coreHandler(composeHandlerRequest, options);\n for (let i = middleware.length - 1; i >= 0; i--) {\n const m = middleware[i];\n const resolvedMiddleware = m(options);\n composedHandler = resolvedMiddleware(composedHandler, context);\n }\n return composedHandler(request);\n};\n\nexport { composeTransferHandler };\n//# sourceMappingURL=composeTransferHandler.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Cache the payload of a response body. It allows multiple calls to the body,\n * for example, when reading the body in both retry decider and error deserializer.\n * Caching body is allowed here because we call the body accessor(blob(), json(),\n * etc.) when body is small or streaming implementation is not available(RN).\n *\n * @internal\n */\nconst withMemoization = (payloadAccessor) => {\n let cached;\n return () => {\n if (!cached) {\n // Explicitly not awaiting. Intermediate await would add overhead and\n // introduce a possible race in the event that this wrapper is called\n // again before the first `payloadAccessor` call resolves.\n cached = payloadAccessor();\n }\n return cached;\n };\n};\n\nexport { withMemoization };\n//# sourceMappingURL=memoization.mjs.map\n","import { AmplifyError } from '../../errors/AmplifyError.mjs';\nimport { AmplifyErrorCode } from '../../types/errors.mjs';\nimport '../../errors/errorHelpers.mjs';\nimport { withMemoization } from '../utils/memoization.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst shouldSendBody = (method) => !['HEAD', 'GET'].includes(method.toUpperCase());\n// TODO[AllanZhengYP]: we need to provide isCanceledError utility\nconst fetchTransferHandler = async ({ url, method, headers, body }, { abortSignal, cache, withCrossDomainCredentials }) => {\n let resp;\n try {\n resp = await fetch(url, {\n method,\n headers,\n body: shouldSendBody(method) ? body : undefined,\n signal: abortSignal,\n cache,\n credentials: withCrossDomainCredentials ? 'include' : 'same-origin',\n });\n }\n catch (e) {\n if (e instanceof TypeError) {\n throw new AmplifyError({\n name: AmplifyErrorCode.NetworkError,\n message: 'A network error has occurred.',\n underlyingError: e,\n });\n }\n throw e;\n }\n const responseHeaders = {};\n resp.headers?.forEach((value, key) => {\n responseHeaders[key.toLowerCase()] = value;\n });\n const httpResponse = {\n statusCode: resp.status,\n headers: responseHeaders,\n body: null,\n };\n // resp.body is a ReadableStream according to Fetch API spec, but React Native\n // does not implement it.\n const bodyWithMixin = Object.assign(resp.body ?? {}, {\n text: withMemoization(() => resp.text()),\n blob: withMemoization(() => resp.blob()),\n json: withMemoization(() => resp.json()),\n });\n return {\n ...httpResponse,\n body: bodyWithMixin,\n };\n};\n\nexport { fetchTransferHandler };\n//# sourceMappingURL=fetch.mjs.map\n","import { retryMiddlewareFactory } from '../../middleware/retry/retryMiddleware.mjs';\nimport '../../../types/errors.mjs';\nimport '../../../errors/errorHelpers.mjs';\nimport '../../../utils/getClientInfo/getClientInfo.mjs';\nimport '../../../utils/retry/retry.mjs';\nimport { amzSdkInvocationIdHeaderMiddlewareFactory } from '../../middleware/retry/amzSdkInvocationIdHeaderMiddleware.mjs';\nimport { amzSdkRequestHeaderMiddlewareFactory } from '../../middleware/retry/amzSdkRequestHeaderMiddleware.mjs';\nimport { userAgentMiddlewareFactory } from '../../middleware/userAgent/middleware.mjs';\nimport { composeTransferHandler } from '../../internal/composeTransferHandler.mjs';\nimport { fetchTransferHandler } from '../fetch.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst unauthenticatedHandler = composeTransferHandler(fetchTransferHandler, [\n userAgentMiddlewareFactory,\n amzSdkInvocationIdHeaderMiddlewareFactory,\n retryMiddlewareFactory,\n amzSdkRequestHeaderMiddlewareFactory,\n]);\n\nexport { unauthenticatedHandler };\n//# sourceMappingURL=unauthenticated.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Default partition for AWS services. This is used when the region is not provided or the region is not recognized.\n *\n * @internal\n */\nconst defaultPartition = {\n id: 'aws',\n outputs: {\n dnsSuffix: 'amazonaws.com',\n },\n regionRegex: '^(us|eu|ap|sa|ca|me|af)\\\\-\\\\w+\\\\-\\\\d+$',\n regions: ['aws-global'],\n};\n/**\n * This data is adapted from the partition file from AWS SDK shared utilities but remove some contents for bundle size\n * concern. Information removed are `dualStackDnsSuffix`, `supportDualStack`, `supportFIPS`, restricted partitions, and\n * list of regions for each partition other than global regions.\n *\n * * Ref: https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints\n * * Ref: https://github.com/aws/aws-sdk-js-v3/blob/0201baef03c2379f1f6f7150b9d401d4b230d488/packages/util-endpoints/src/lib/aws/partitions.json#L1\n *\n * @internal\n */\nconst partitionsInfo = {\n partitions: [\n defaultPartition,\n {\n id: 'aws-cn',\n outputs: {\n dnsSuffix: 'amazonaws.com.cn',\n },\n regionRegex: '^cn\\\\-\\\\w+\\\\-\\\\d+$',\n regions: ['aws-cn-global'],\n },\n ],\n};\n\nexport { defaultPartition, partitionsInfo };\n//# sourceMappingURL=partitions.mjs.map\n","import { partitionsInfo, defaultPartition } from './partitions.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Get the AWS Services endpoint URL's DNS suffix for a given region. A typical AWS regional service endpoint URL will\n * follow this pattern: {endpointPrefix}.{region}.{dnsSuffix}. For example, the endpoint URL for Cognito Identity in\n * us-east-1 will be cognito-identity.us-east-1.amazonaws.com. Here the DnsSuffix is `amazonaws.com`.\n *\n * @param region\n * @returns The DNS suffix\n *\n * @internal\n */\nconst getDnsSuffix = (region) => {\n const { partitions } = partitionsInfo;\n for (const { regions, outputs, regionRegex } of partitions) {\n const regex = new RegExp(regionRegex);\n if (regions.includes(region) || regex.test(region)) {\n return outputs.dnsSuffix;\n }\n }\n return defaultPartition.outputs.dnsSuffix;\n};\n\nexport { getDnsSuffix };\n//# sourceMappingURL=getDnsSuffix.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst AmplifyUrl = URL;\nconst AmplifyUrlSearchParams = URLSearchParams;\n\nexport { AmplifyUrl, AmplifyUrlSearchParams };\n//# sourceMappingURL=index.mjs.map\n","import { AmplifyErrorCode } from '../types/errors.mjs';\nimport { AmplifyError } from './AmplifyError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nclass PlatformNotSupportedError extends AmplifyError {\n constructor() {\n super({\n name: AmplifyErrorCode.PlatformNotSupported,\n message: 'Function not supported on current platform',\n });\n }\n}\n\nexport { PlatformNotSupportedError };\n//# sourceMappingURL=PlatformNotSupportedError.mjs.map\n","import { PlatformNotSupportedError } from '../errors/PlatformNotSupportedError.mjs';\nimport '../errors/errorHelpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n */\nclass KeyValueStorage {\n constructor(storage) {\n this.storage = storage;\n }\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n async setItem(key, value) {\n if (!this.storage)\n throw new PlatformNotSupportedError();\n this.storage.setItem(key, value);\n }\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */\n async getItem(key) {\n if (!this.storage)\n throw new PlatformNotSupportedError();\n return this.storage.getItem(key);\n }\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {string} value - value that was deleted\n */\n async removeItem(key) {\n if (!this.storage)\n throw new PlatformNotSupportedError();\n this.storage.removeItem(key);\n }\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */\n async clear() {\n if (!this.storage)\n throw new PlatformNotSupportedError();\n this.storage.clear();\n }\n}\n\nexport { KeyValueStorage };\n//# sourceMappingURL=KeyValueStorage.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n */\nclass InMemoryStorage {\n constructor() {\n this.storage = new Map();\n }\n get length() {\n return this.storage.size;\n }\n key(index) {\n if (index > this.length - 1) {\n return null;\n }\n return Array.from(this.storage.keys())[index];\n }\n setItem(key, value) {\n this.storage.set(key, value);\n }\n getItem(key) {\n return this.storage.get(key) ?? null;\n }\n removeItem(key) {\n this.storage.delete(key);\n }\n clear() {\n this.storage.clear();\n }\n}\n\nexport { InMemoryStorage };\n//# sourceMappingURL=InMemoryStorage.mjs.map\n","import { ConsoleLogger } from '../Logger/ConsoleLogger.mjs';\nimport { InMemoryStorage } from './InMemoryStorage.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n * @returns Either a reference to window.localStorage or an in-memory storage as fallback\n */\nconst logger = new ConsoleLogger('CoreStorageUtils');\nconst getLocalStorageWithFallback = () => {\n try {\n // Attempt to use localStorage directly\n if (typeof window !== 'undefined' && window.localStorage) {\n return window.localStorage;\n }\n }\n catch (e) {\n // Handle any errors related to localStorage access\n logger.info('localStorage not found. InMemoryStorage is used as a fallback.');\n }\n // Return in-memory storage as a fallback if localStorage is not accessible\n return new InMemoryStorage();\n};\n/**\n * @internal\n * @returns Either a reference to window.sessionStorage or an in-memory storage as fallback\n */\nconst getSessionStorageWithFallback = () => {\n try {\n // Attempt to use sessionStorage directly\n if (typeof window !== 'undefined' && window.sessionStorage) {\n // Verify we can actually use it by testing access\n window.sessionStorage.getItem('test');\n return window.sessionStorage;\n }\n throw new Error('sessionStorage is not defined');\n }\n catch (e) {\n // Handle any errors related to sessionStorage access\n logger.info('sessionStorage not found. InMemoryStorage is used as a fallback.');\n return new InMemoryStorage();\n }\n};\n\nexport { getLocalStorageWithFallback, getSessionStorageWithFallback };\n//# sourceMappingURL=utils.mjs.map\n","import { KeyValueStorage } from './KeyValueStorage.mjs';\nimport { getLocalStorageWithFallback } from './utils.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n */\nclass DefaultStorage extends KeyValueStorage {\n constructor() {\n super(getLocalStorageWithFallback());\n }\n}\n\nexport { DefaultStorage };\n//# sourceMappingURL=DefaultStorage.mjs.map\n","import { KeyValueStorage } from './KeyValueStorage.mjs';\nimport { getSessionStorageWithFallback } from './utils.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n */\nclass SessionStorage extends KeyValueStorage {\n constructor() {\n super(getSessionStorageWithFallback());\n }\n}\n\nexport { SessionStorage };\n//# sourceMappingURL=SessionStorage.mjs.map\n","import { PlatformNotSupportedError } from '../errors/PlatformNotSupportedError.mjs';\nimport '../errors/errorHelpers.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n */\nclass SyncKeyValueStorage {\n constructor(storage) {\n this._storage = storage;\n }\n get storage() {\n if (!this._storage)\n throw new PlatformNotSupportedError();\n return this._storage;\n }\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n setItem(key, value) {\n this.storage.setItem(key, value);\n }\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */\n getItem(key) {\n return this.storage.getItem(key);\n }\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {string} value - value that was deleted\n */\n removeItem(key) {\n this.storage.removeItem(key);\n }\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */\n clear() {\n this.storage.clear();\n }\n}\n\nexport { SyncKeyValueStorage };\n//# sourceMappingURL=SyncKeyValueStorage.mjs.map\n","import { SyncKeyValueStorage } from './SyncKeyValueStorage.mjs';\nimport { getSessionStorageWithFallback } from './utils.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n */\nclass SyncSessionStorage extends SyncKeyValueStorage {\n constructor() {\n super(getSessionStorageWithFallback());\n }\n}\n\nexport { SyncSessionStorage };\n//# sourceMappingURL=SyncSessionStorage.mjs.map\n","import { DefaultStorage } from './DefaultStorage.mjs';\nimport { InMemoryStorage } from './InMemoryStorage.mjs';\nimport { KeyValueStorage } from './KeyValueStorage.mjs';\nimport { SessionStorage } from './SessionStorage.mjs';\nimport { SyncSessionStorage } from './SyncSessionStorage.mjs';\nexport { CookieStorage } from './CookieStorage.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst defaultStorage = new DefaultStorage();\nconst sessionStorage = new SessionStorage();\nconst syncSessionStorage = new SyncSessionStorage();\nconst sharedInMemoryStorage = new KeyValueStorage(new InMemoryStorage());\n\nexport { defaultStorage, sessionStorage, sharedInMemoryStorage, syncSessionStorage };\n//# sourceMappingURL=index.mjs.map\n","import { getCrypto } from './globalHelpers/index.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst generateRandomString = (length) => {\n const STATE_CHARSET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n const result = [];\n const randomNums = new Uint8Array(length);\n getCrypto().getRandomValues(randomNums);\n for (const num of randomNums) {\n result.push(STATE_CHARSET[num % STATE_CHARSET.length]);\n }\n return result.join('');\n};\n\nexport { generateRandomString };\n//# sourceMappingURL=generateRandomString.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction urlSafeDecode(hex) {\n const matchArr = hex.match(/.{2}/g) || [];\n return matchArr.map(char => String.fromCharCode(parseInt(char, 16))).join('');\n}\n\nexport { urlSafeDecode };\n//# sourceMappingURL=urlSafeDecode.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction urlSafeEncode(str) {\n return str\n .split('')\n .map(char => char.charCodeAt(0).toString(16).padStart(2, '0'))\n .join('');\n}\n\nexport { urlSafeEncode };\n//# sourceMappingURL=urlSafeEncode.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * returns in-flight promise if there is one\n *\n * @param asyncFunction - asyncFunction to be deduped.\n * @returns - the return type of the callback\n */\nconst deDupeAsyncFunction = (asyncFunction) => {\n let inflightPromise;\n return async (...args) => {\n if (inflightPromise)\n return inflightPromise;\n inflightPromise = new Promise((resolve, reject) => {\n asyncFunction(...args)\n .then(result => {\n resolve(result);\n })\n .catch(error => {\n reject(error);\n })\n .finally(() => {\n inflightPromise = undefined;\n });\n });\n return inflightPromise;\n };\n};\n\nexport { deDupeAsyncFunction };\n//# sourceMappingURL=deDupeAsyncFunction.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction isTokenExpired({ expiresAt, clockDrift, tolerance = 5000, }) {\n const currentTime = Date.now();\n return currentTime + clockDrift + tolerance > expiresAt;\n}\n\nexport { isTokenExpired };\n//# sourceMappingURL=isTokenExpired.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Retrieves the device name using the User-Agent Client Hints API if available,\n * falling back to the traditional userAgent string if not.\n *\n * @returns {Promise<string>} A promise that resolves with a string representing the device name.\n *\n * Example Output:\n * navigator.userAgentData:\n * 'macOS 14.2.1 arm macOS Not A(Brand/99.0.0.0;Google Chrome/121.0.6167.160;Chromium/121.0.6167.160'\n * navigator.userAgent:\n * 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/115.0'\n */\nconst getDeviceName = async () => {\n const { userAgentData } = navigator;\n if (!userAgentData)\n return navigator.userAgent;\n const { platform = '', platformVersion = '', model = '', architecture = '', fullVersionList = [], } = await userAgentData.getHighEntropyValues([\n 'platform',\n 'platformVersion',\n 'architecture',\n 'model',\n 'fullVersionList',\n ]);\n const versionList = fullVersionList\n .map((v) => `${v.brand}/${v.version}`)\n .join(';');\n const deviceName = [\n platform,\n platformVersion,\n architecture,\n model,\n platform,\n versionList,\n ]\n .filter(value => value)\n .join(' ');\n return deviceName || navigator.userAgent;\n};\n\nexport { getDeviceName };\n//# sourceMappingURL=getDeviceName.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction bytesToString(input) {\n return Array.from(input, byte => String.fromCodePoint(byte)).join('');\n}\n\nexport { bytesToString };\n//# sourceMappingURL=bytesToString.mjs.map\n","import { getBtoa } from '../../globalHelpers/index.mjs';\nimport { bytesToString } from './bytesToString.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst base64Encoder = {\n /**\n * Convert input to base64-encoded string\n * @param input - string to convert to base64\n * @param options - encoding options that can optionally produce a base64url string\n * @returns base64-encoded string\n */\n convert(input, options = {\n urlSafe: false,\n skipPadding: false,\n }) {\n const inputStr = typeof input === 'string' ? input : bytesToString(input);\n let encodedStr = getBtoa()(inputStr);\n // urlSafe char replacement and skipPadding options conform to the base64url spec\n // https://datatracker.ietf.org/doc/html/rfc4648#section-5\n if (options.urlSafe) {\n encodedStr = encodedStr.replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n if (options.skipPadding) {\n encodedStr = encodedStr.replace(/=/g, '');\n }\n return encodedStr;\n },\n};\n\nexport { base64Encoder };\n//# sourceMappingURL=base64Encoder.mjs.map\n","import { getCrypto } from './globalHelpers/index.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/*\n * Cryptographically secure pseudorandom number generator\n * As Math.random() is cryptographically not safe to use\n */\nfunction cryptoSecureRandomInt() {\n const crypto = getCrypto();\n const randomResult = crypto.getRandomValues(new Uint32Array(1))[0];\n return randomResult;\n}\n\nexport { cryptoSecureRandomInt };\n//# sourceMappingURL=cryptoSecureRandomInt.mjs.map\n","import { cryptoSecureRandomInt } from './cryptoSecureRandomInt.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Hex encoding strategy.\n * Converts a word array to a hex string.\n * @param {WordArray} wordArray The word array.\n * @return {string} The hex string.\n * @static\n */\nfunction hexStringify(wordArray) {\n // Shortcuts\n const { words } = wordArray;\n const { sigBytes } = wordArray;\n // Convert\n const hexChars = [];\n for (let i = 0; i < sigBytes; i++) {\n const bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n hexChars.push((bite >>> 4).toString(16));\n hexChars.push((bite & 0x0f).toString(16));\n }\n return hexChars.join('');\n}\nclass WordArray {\n constructor(words, sigBytes) {\n this.words = [];\n let Words = words;\n Words = this.words = Words || [];\n if (sigBytes !== undefined) {\n this.sigBytes = sigBytes;\n }\n else {\n this.sigBytes = Words.length * 4;\n }\n }\n random(nBytes) {\n const words = [];\n for (let i = 0; i < nBytes; i += 4) {\n words.push(cryptoSecureRandomInt());\n }\n return new WordArray(words, nBytes);\n }\n toString() {\n return hexStringify(this);\n }\n}\n\nexport { WordArray };\n//# sourceMappingURL=WordArray.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar AuthValidationErrorCode;\n(function (AuthValidationErrorCode) {\n AuthValidationErrorCode[\"EmptySignInUsername\"] = \"EmptySignInUsername\";\n AuthValidationErrorCode[\"EmptySignInPassword\"] = \"EmptySignInPassword\";\n AuthValidationErrorCode[\"CustomAuthSignInPassword\"] = \"CustomAuthSignInPassword\";\n AuthValidationErrorCode[\"EmptySignUpUsername\"] = \"EmptySignUpUsername\";\n AuthValidationErrorCode[\"EmptySignUpPassword\"] = \"EmptySignUpPassword\";\n AuthValidationErrorCode[\"EmptyConfirmSignUpUsername\"] = \"EmptyConfirmSignUpUsername\";\n AuthValidationErrorCode[\"EmptyConfirmSignUpCode\"] = \"EmptyConfirmSignUpCode\";\n AuthValidationErrorCode[\"EmptyResendSignUpCodeUsername\"] = \"EmptyresendSignUpCodeUsername\";\n AuthValidationErrorCode[\"EmptyChallengeResponse\"] = \"EmptyChallengeResponse\";\n AuthValidationErrorCode[\"EmptyConfirmResetPasswordUsername\"] = \"EmptyConfirmResetPasswordUsername\";\n AuthValidationErrorCode[\"EmptyConfirmResetPasswordNewPassword\"] = \"EmptyConfirmResetPasswordNewPassword\";\n AuthValidationErrorCode[\"EmptyConfirmResetPasswordConfirmationCode\"] = \"EmptyConfirmResetPasswordConfirmationCode\";\n AuthValidationErrorCode[\"EmptyResetPasswordUsername\"] = \"EmptyResetPasswordUsername\";\n AuthValidationErrorCode[\"EmptyVerifyTOTPSetupCode\"] = \"EmptyVerifyTOTPSetupCode\";\n AuthValidationErrorCode[\"EmptyConfirmUserAttributeCode\"] = \"EmptyConfirmUserAttributeCode\";\n AuthValidationErrorCode[\"IncorrectMFAMethod\"] = \"IncorrectMFAMethod\";\n AuthValidationErrorCode[\"EmptyUpdatePassword\"] = \"EmptyUpdatePassword\";\n AuthValidationErrorCode[\"InvalidPreferredChallenge\"] = \"InvalidPreferredChallenge\";\n})(AuthValidationErrorCode || (AuthValidationErrorCode = {}));\n\nexport { AuthValidationErrorCode };\n//# sourceMappingURL=validation.mjs.map\n","import { AuthValidationErrorCode } from '../errors/types/validation.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst validationErrorMap = {\n [AuthValidationErrorCode.EmptyChallengeResponse]: {\n message: 'challengeResponse is required to confirmSignIn',\n },\n [AuthValidationErrorCode.EmptyConfirmResetPasswordUsername]: {\n message: 'username is required to confirmResetPassword',\n },\n [AuthValidationErrorCode.EmptyConfirmSignUpCode]: {\n message: 'code is required to confirmSignUp',\n },\n [AuthValidationErrorCode.EmptyConfirmSignUpUsername]: {\n message: 'username is required to confirmSignUp',\n },\n [AuthValidationErrorCode.EmptyConfirmResetPasswordConfirmationCode]: {\n message: 'confirmationCode is required to confirmResetPassword',\n },\n [AuthValidationErrorCode.EmptyConfirmResetPasswordNewPassword]: {\n message: 'newPassword is required to confirmResetPassword',\n },\n [AuthValidationErrorCode.EmptyResendSignUpCodeUsername]: {\n message: 'username is required to confirmSignUp',\n },\n [AuthValidationErrorCode.EmptyResetPasswordUsername]: {\n message: 'username is required to resetPassword',\n },\n [AuthValidationErrorCode.EmptySignInPassword]: {\n message: 'password is required to signIn',\n },\n [AuthValidationErrorCode.EmptySignInUsername]: {\n message: 'username is required to signIn',\n },\n [AuthValidationErrorCode.EmptySignUpPassword]: {\n message: 'password is required to signUp',\n },\n [AuthValidationErrorCode.EmptySignUpUsername]: {\n message: 'username is required to signUp',\n },\n [AuthValidationErrorCode.CustomAuthSignInPassword]: {\n message: 'A password is not needed when signing in with CUSTOM_WITHOUT_SRP',\n recoverySuggestion: 'Do not include a password in your signIn call.',\n },\n [AuthValidationErrorCode.IncorrectMFAMethod]: {\n message: 'Incorrect MFA method was chosen. It should be either SMS, TOTP, or EMAIL',\n recoverySuggestion: 'Try to pass SMS, TOTP, or EMAIL as the challengeResponse',\n },\n [AuthValidationErrorCode.EmptyVerifyTOTPSetupCode]: {\n message: 'code is required to verifyTotpSetup',\n },\n [AuthValidationErrorCode.EmptyUpdatePassword]: {\n message: 'oldPassword and newPassword are required to changePassword',\n },\n [AuthValidationErrorCode.EmptyConfirmUserAttributeCode]: {\n message: 'confirmation code is required to confirmUserAttribute',\n },\n [AuthValidationErrorCode.InvalidPreferredChallenge]: {\n message: 'The preferred challenge is not enabled in your backend configuration',\n recoverySuggestion: 'Ensure the authentication method is enabled in your Amplify backend configuration',\n },\n};\n// TODO: delete this code when the Auth class is removed.\nvar AuthErrorStrings;\n(function (AuthErrorStrings) {\n AuthErrorStrings[\"DEFAULT_MSG\"] = \"Authentication Error\";\n AuthErrorStrings[\"EMPTY_EMAIL\"] = \"Email cannot be empty\";\n AuthErrorStrings[\"EMPTY_PHONE\"] = \"Phone number cannot be empty\";\n AuthErrorStrings[\"EMPTY_USERNAME\"] = \"Username cannot be empty\";\n AuthErrorStrings[\"INVALID_USERNAME\"] = \"The username should either be a string or one of the sign in types\";\n AuthErrorStrings[\"EMPTY_PASSWORD\"] = \"Password cannot be empty\";\n AuthErrorStrings[\"EMPTY_CODE\"] = \"Confirmation code cannot be empty\";\n AuthErrorStrings[\"SIGN_UP_ERROR\"] = \"Error creating account\";\n AuthErrorStrings[\"NO_MFA\"] = \"No valid MFA method provided\";\n AuthErrorStrings[\"INVALID_MFA\"] = \"Invalid MFA type\";\n AuthErrorStrings[\"EMPTY_CHALLENGE\"] = \"Challenge response cannot be empty\";\n AuthErrorStrings[\"NO_USER_SESSION\"] = \"Failed to get the session because the user is empty\";\n AuthErrorStrings[\"NETWORK_ERROR\"] = \"Network Error\";\n AuthErrorStrings[\"DEVICE_CONFIG\"] = \"Device tracking has not been configured in this User Pool\";\n AuthErrorStrings[\"AUTOSIGNIN_ERROR\"] = \"Please use your credentials to sign in\";\n AuthErrorStrings[\"OAUTH_ERROR\"] = \"Couldn't finish OAuth flow, check your User Pool HostedUI settings\";\n})(AuthErrorStrings || (AuthErrorStrings = {}));\nvar AuthErrorCodes;\n(function (AuthErrorCodes) {\n AuthErrorCodes[\"SignInException\"] = \"SignInException\";\n AuthErrorCodes[\"OAuthSignInError\"] = \"OAuthSignInException\";\n})(AuthErrorCodes || (AuthErrorCodes = {}));\n\nexport { AuthErrorCodes, AuthErrorStrings, validationErrorMap };\n//# sourceMappingURL=AuthErrorStrings.mjs.map\n","import { AmplifyError } from '@aws-amplify/core/internals/utils';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nclass AuthError extends AmplifyError {\n constructor(params) {\n super(params);\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n this.constructor = AuthError;\n Object.setPrototypeOf(this, AuthError.prototype);\n }\n}\n\nexport { AuthError };\n//# sourceMappingURL=AuthError.mjs.map\n","import { validationErrorMap } from '../../common/AuthErrorStrings.mjs';\nimport { AuthError } from '../AuthError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction assertValidationError(assertion, name) {\n const { message, recoverySuggestion } = validationErrorMap[name];\n if (!assertion) {\n throw new AuthError({ name, message, recoverySuggestion });\n }\n}\n\nexport { assertValidationError };\n//# sourceMappingURL=assertValidationError.mjs.map\n","import { AuthError } from '../../errors/AuthError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction getRegionFromUserPoolId(userPoolId) {\n const region = userPoolId?.split('_')[0];\n if (!userPoolId ||\n userPoolId.indexOf('_') < 0 ||\n !region ||\n typeof region !== 'string')\n throw new AuthError({\n name: 'InvalidUserPoolId',\n message: 'Invalid user pool id provided.',\n });\n return region;\n}\nfunction getRegionFromIdentityPoolId(identityPoolId) {\n if (!identityPoolId || !identityPoolId.includes(':')) {\n throw new AuthError({\n name: 'InvalidIdentityPoolIdException',\n message: 'Invalid identity pool id provided.',\n recoverySuggestion: 'Make sure a valid identityPoolId is given in the config.',\n });\n }\n return identityPoolId.split(':')[0];\n}\n\nexport { getRegionFromIdentityPoolId, getRegionFromUserPoolId };\n//# sourceMappingURL=regionParsers.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Transforms a user attributes object into an array of AttributeType objects.\n * @param attributes user attributes to be mapped to AttributeType objects.\n * @returns an array of AttributeType objects.\n */\nfunction toAttributeType(attributes) {\n return Object.entries(attributes).map(([key, value]) => ({\n Name: key,\n Value: value,\n }));\n}\n/**\n * Transforms an array of AttributeType objects into a user attributes object.\n *\n * @param attributes - an array of AttributeType objects.\n * @returns AuthUserAttributes object.\n */\nfunction toAuthUserAttribute(attributes) {\n const userAttributes = {};\n attributes?.forEach(attribute => {\n if (attribute.Name)\n userAttributes[attribute.Name] = attribute.Value;\n });\n return userAttributes;\n}\n\nexport { toAttributeType, toAuthUserAttribute };\n//# sourceMappingURL=apiHelpers.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar AssociateSoftwareTokenException;\n(function (AssociateSoftwareTokenException) {\n AssociateSoftwareTokenException[\"ConcurrentModificationException\"] = \"ConcurrentModificationException\";\n AssociateSoftwareTokenException[\"ForbiddenException\"] = \"ForbiddenException\";\n AssociateSoftwareTokenException[\"InternalErrorException\"] = \"InternalErrorException\";\n AssociateSoftwareTokenException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n AssociateSoftwareTokenException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n AssociateSoftwareTokenException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n AssociateSoftwareTokenException[\"SoftwareTokenMFANotFoundException\"] = \"SoftwareTokenMFANotFoundException\";\n})(AssociateSoftwareTokenException || (AssociateSoftwareTokenException = {}));\nvar ChangePasswordException;\n(function (ChangePasswordException) {\n ChangePasswordException[\"ForbiddenException\"] = \"ForbiddenException\";\n ChangePasswordException[\"InternalErrorException\"] = \"InternalErrorException\";\n ChangePasswordException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n ChangePasswordException[\"InvalidPasswordException\"] = \"InvalidPasswordException\";\n ChangePasswordException[\"LimitExceededException\"] = \"LimitExceededException\";\n ChangePasswordException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n ChangePasswordException[\"PasswordResetRequiredException\"] = \"PasswordResetRequiredException\";\n ChangePasswordException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n ChangePasswordException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n ChangePasswordException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n ChangePasswordException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(ChangePasswordException || (ChangePasswordException = {}));\nvar ConfirmDeviceException;\n(function (ConfirmDeviceException) {\n ConfirmDeviceException[\"ForbiddenException\"] = \"ForbiddenException\";\n ConfirmDeviceException[\"InternalErrorException\"] = \"InternalErrorException\";\n ConfirmDeviceException[\"InvalidLambdaResponseException\"] = \"InvalidLambdaResponseException\";\n ConfirmDeviceException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n ConfirmDeviceException[\"InvalidPasswordException\"] = \"InvalidPasswordException\";\n ConfirmDeviceException[\"InvalidUserPoolConfigurationException\"] = \"InvalidUserPoolConfigurationException\";\n ConfirmDeviceException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n ConfirmDeviceException[\"PasswordResetRequiredException\"] = \"PasswordResetRequiredException\";\n ConfirmDeviceException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n ConfirmDeviceException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n ConfirmDeviceException[\"UsernameExistsException\"] = \"UsernameExistsException\";\n ConfirmDeviceException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n ConfirmDeviceException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(ConfirmDeviceException || (ConfirmDeviceException = {}));\nvar ConfirmForgotPasswordException;\n(function (ConfirmForgotPasswordException) {\n ConfirmForgotPasswordException[\"CodeMismatchException\"] = \"CodeMismatchException\";\n ConfirmForgotPasswordException[\"ExpiredCodeException\"] = \"ExpiredCodeException\";\n ConfirmForgotPasswordException[\"ForbiddenException\"] = \"ForbiddenException\";\n ConfirmForgotPasswordException[\"InternalErrorException\"] = \"InternalErrorException\";\n ConfirmForgotPasswordException[\"InvalidLambdaResponseException\"] = \"InvalidLambdaResponseException\";\n ConfirmForgotPasswordException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n ConfirmForgotPasswordException[\"InvalidPasswordException\"] = \"InvalidPasswordException\";\n ConfirmForgotPasswordException[\"LimitExceededException\"] = \"LimitExceededException\";\n ConfirmForgotPasswordException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n ConfirmForgotPasswordException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n ConfirmForgotPasswordException[\"TooManyFailedAttemptsException\"] = \"TooManyFailedAttemptsException\";\n ConfirmForgotPasswordException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n ConfirmForgotPasswordException[\"UnexpectedLambdaException\"] = \"UnexpectedLambdaException\";\n ConfirmForgotPasswordException[\"UserLambdaValidationException\"] = \"UserLambdaValidationException\";\n ConfirmForgotPasswordException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n ConfirmForgotPasswordException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(ConfirmForgotPasswordException || (ConfirmForgotPasswordException = {}));\nvar ConfirmSignUpException;\n(function (ConfirmSignUpException) {\n ConfirmSignUpException[\"AliasExistsException\"] = \"AliasExistsException\";\n ConfirmSignUpException[\"CodeMismatchException\"] = \"CodeMismatchException\";\n ConfirmSignUpException[\"ExpiredCodeException\"] = \"ExpiredCodeException\";\n ConfirmSignUpException[\"ForbiddenException\"] = \"ForbiddenException\";\n ConfirmSignUpException[\"InternalErrorException\"] = \"InternalErrorException\";\n ConfirmSignUpException[\"InvalidLambdaResponseException\"] = \"InvalidLambdaResponseException\";\n ConfirmSignUpException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n ConfirmSignUpException[\"LimitExceededException\"] = \"LimitExceededException\";\n ConfirmSignUpException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n ConfirmSignUpException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n ConfirmSignUpException[\"TooManyFailedAttemptsException\"] = \"TooManyFailedAttemptsException\";\n ConfirmSignUpException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n ConfirmSignUpException[\"UnexpectedLambdaException\"] = \"UnexpectedLambdaException\";\n ConfirmSignUpException[\"UserLambdaValidationException\"] = \"UserLambdaValidationException\";\n ConfirmSignUpException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(ConfirmSignUpException || (ConfirmSignUpException = {}));\nvar DeleteUserAttributesException;\n(function (DeleteUserAttributesException) {\n DeleteUserAttributesException[\"ForbiddenException\"] = \"ForbiddenException\";\n DeleteUserAttributesException[\"InternalErrorException\"] = \"InternalErrorException\";\n DeleteUserAttributesException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n DeleteUserAttributesException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n DeleteUserAttributesException[\"PasswordResetRequiredException\"] = \"PasswordResetRequiredException\";\n DeleteUserAttributesException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n DeleteUserAttributesException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n DeleteUserAttributesException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n DeleteUserAttributesException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(DeleteUserAttributesException || (DeleteUserAttributesException = {}));\nvar DeleteUserException;\n(function (DeleteUserException) {\n DeleteUserException[\"ForbiddenException\"] = \"ForbiddenException\";\n DeleteUserException[\"InternalErrorException\"] = \"InternalErrorException\";\n DeleteUserException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n DeleteUserException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n DeleteUserException[\"PasswordResetRequiredException\"] = \"PasswordResetRequiredException\";\n DeleteUserException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n DeleteUserException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n DeleteUserException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n DeleteUserException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(DeleteUserException || (DeleteUserException = {}));\nvar ForgetDeviceException;\n(function (ForgetDeviceException) {\n ForgetDeviceException[\"ForbiddenException\"] = \"ForbiddenException\";\n ForgetDeviceException[\"InternalErrorException\"] = \"InternalErrorException\";\n ForgetDeviceException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n ForgetDeviceException[\"InvalidUserPoolConfigurationException\"] = \"InvalidUserPoolConfigurationException\";\n ForgetDeviceException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n ForgetDeviceException[\"PasswordResetRequiredException\"] = \"PasswordResetRequiredException\";\n ForgetDeviceException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n ForgetDeviceException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n ForgetDeviceException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n ForgetDeviceException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(ForgetDeviceException || (ForgetDeviceException = {}));\nvar ForgotPasswordException;\n(function (ForgotPasswordException) {\n ForgotPasswordException[\"CodeDeliveryFailureException\"] = \"CodeDeliveryFailureException\";\n ForgotPasswordException[\"ForbiddenException\"] = \"ForbiddenException\";\n ForgotPasswordException[\"InternalErrorException\"] = \"InternalErrorException\";\n ForgotPasswordException[\"InvalidEmailRoleAccessPolicyException\"] = \"InvalidEmailRoleAccessPolicyException\";\n ForgotPasswordException[\"InvalidLambdaResponseException\"] = \"InvalidLambdaResponseException\";\n ForgotPasswordException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n ForgotPasswordException[\"InvalidSmsRoleAccessPolicyException\"] = \"InvalidSmsRoleAccessPolicyException\";\n ForgotPasswordException[\"InvalidSmsRoleTrustRelationshipException\"] = \"InvalidSmsRoleTrustRelationshipException\";\n ForgotPasswordException[\"LimitExceededException\"] = \"LimitExceededException\";\n ForgotPasswordException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n ForgotPasswordException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n ForgotPasswordException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n ForgotPasswordException[\"UnexpectedLambdaException\"] = \"UnexpectedLambdaException\";\n ForgotPasswordException[\"UserLambdaValidationException\"] = \"UserLambdaValidationException\";\n ForgotPasswordException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(ForgotPasswordException || (ForgotPasswordException = {}));\nvar GetUserException;\n(function (GetUserException) {\n GetUserException[\"ForbiddenException\"] = \"ForbiddenException\";\n GetUserException[\"InternalErrorException\"] = \"InternalErrorException\";\n GetUserException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n GetUserException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n GetUserException[\"PasswordResetRequiredException\"] = \"PasswordResetRequiredException\";\n GetUserException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n GetUserException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n GetUserException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n GetUserException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(GetUserException || (GetUserException = {}));\nvar GetIdException;\n(function (GetIdException) {\n GetIdException[\"ExternalServiceException\"] = \"ExternalServiceException\";\n GetIdException[\"InternalErrorException\"] = \"InternalErrorException\";\n GetIdException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n GetIdException[\"LimitExceededException\"] = \"LimitExceededException\";\n GetIdException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n GetIdException[\"ResourceConflictException\"] = \"ResourceConflictException\";\n GetIdException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n GetIdException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n})(GetIdException || (GetIdException = {}));\nvar GetCredentialsForIdentityException;\n(function (GetCredentialsForIdentityException) {\n GetCredentialsForIdentityException[\"ExternalServiceException\"] = \"ExternalServiceException\";\n GetCredentialsForIdentityException[\"InternalErrorException\"] = \"InternalErrorException\";\n GetCredentialsForIdentityException[\"InvalidIdentityPoolConfigurationException\"] = \"InvalidIdentityPoolConfigurationException\";\n GetCredentialsForIdentityException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n GetCredentialsForIdentityException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n GetCredentialsForIdentityException[\"ResourceConflictException\"] = \"ResourceConflictException\";\n GetCredentialsForIdentityException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n GetCredentialsForIdentityException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n})(GetCredentialsForIdentityException || (GetCredentialsForIdentityException = {}));\nvar GetUserAttributeVerificationException;\n(function (GetUserAttributeVerificationException) {\n GetUserAttributeVerificationException[\"CodeDeliveryFailureException\"] = \"CodeDeliveryFailureException\";\n GetUserAttributeVerificationException[\"ForbiddenException\"] = \"ForbiddenException\";\n GetUserAttributeVerificationException[\"InternalErrorException\"] = \"InternalErrorException\";\n GetUserAttributeVerificationException[\"InvalidEmailRoleAccessPolicyException\"] = \"InvalidEmailRoleAccessPolicyException\";\n GetUserAttributeVerificationException[\"InvalidLambdaResponseException\"] = \"InvalidLambdaResponseException\";\n GetUserAttributeVerificationException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n GetUserAttributeVerificationException[\"InvalidSmsRoleAccessPolicyException\"] = \"InvalidSmsRoleAccessPolicyException\";\n GetUserAttributeVerificationException[\"InvalidSmsRoleTrustRelationshipException\"] = \"InvalidSmsRoleTrustRelationshipException\";\n GetUserAttributeVerificationException[\"LimitExceededException\"] = \"LimitExceededException\";\n GetUserAttributeVerificationException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n GetUserAttributeVerificationException[\"PasswordResetRequiredException\"] = \"PasswordResetRequiredException\";\n GetUserAttributeVerificationException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n GetUserAttributeVerificationException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n GetUserAttributeVerificationException[\"UnexpectedLambdaException\"] = \"UnexpectedLambdaException\";\n GetUserAttributeVerificationException[\"UserLambdaValidationException\"] = \"UserLambdaValidationException\";\n GetUserAttributeVerificationException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n GetUserAttributeVerificationException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(GetUserAttributeVerificationException || (GetUserAttributeVerificationException = {}));\nvar GlobalSignOutException;\n(function (GlobalSignOutException) {\n GlobalSignOutException[\"ForbiddenException\"] = \"ForbiddenException\";\n GlobalSignOutException[\"InternalErrorException\"] = \"InternalErrorException\";\n GlobalSignOutException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n GlobalSignOutException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n GlobalSignOutException[\"PasswordResetRequiredException\"] = \"PasswordResetRequiredException\";\n GlobalSignOutException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n GlobalSignOutException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n GlobalSignOutException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n})(GlobalSignOutException || (GlobalSignOutException = {}));\nvar InitiateAuthException;\n(function (InitiateAuthException) {\n InitiateAuthException[\"PasswordResetRequiredException\"] = \"PasswordResetRequiredException\";\n InitiateAuthException[\"ForbiddenException\"] = \"ForbiddenException\";\n InitiateAuthException[\"InternalErrorException\"] = \"InternalErrorException\";\n InitiateAuthException[\"InvalidLambdaResponseException\"] = \"InvalidLambdaResponseException\";\n InitiateAuthException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n InitiateAuthException[\"InvalidSmsRoleAccessPolicyException\"] = \"InvalidSmsRoleAccessPolicyException\";\n InitiateAuthException[\"InvalidSmsRoleTrustRelationshipException\"] = \"InvalidSmsRoleTrustRelationshipException\";\n InitiateAuthException[\"InvalidUserPoolConfigurationException\"] = \"InvalidUserPoolConfigurationException\";\n InitiateAuthException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n InitiateAuthException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n InitiateAuthException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n InitiateAuthException[\"UnexpectedLambdaException\"] = \"UnexpectedLambdaException\";\n InitiateAuthException[\"UserLambdaValidationException\"] = \"UserLambdaValidationException\";\n InitiateAuthException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n InitiateAuthException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(InitiateAuthException || (InitiateAuthException = {}));\nvar ResendConfirmationException;\n(function (ResendConfirmationException) {\n ResendConfirmationException[\"CodeDeliveryFailureException\"] = \"CodeDeliveryFailureException\";\n ResendConfirmationException[\"ForbiddenException\"] = \"ForbiddenException\";\n ResendConfirmationException[\"InternalErrorException\"] = \"InternalErrorException\";\n ResendConfirmationException[\"InvalidEmailRoleAccessPolicyException\"] = \"InvalidEmailRoleAccessPolicyException\";\n ResendConfirmationException[\"InvalidLambdaResponseException\"] = \"InvalidLambdaResponseException\";\n ResendConfirmationException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n ResendConfirmationException[\"InvalidSmsRoleAccessPolicyException\"] = \"InvalidSmsRoleAccessPolicyException\";\n ResendConfirmationException[\"InvalidSmsRoleTrustRelationshipException\"] = \"InvalidSmsRoleTrustRelationshipException\";\n ResendConfirmationException[\"LimitExceededException\"] = \"LimitExceededException\";\n ResendConfirmationException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n ResendConfirmationException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n ResendConfirmationException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n ResendConfirmationException[\"UnexpectedLambdaException\"] = \"UnexpectedLambdaException\";\n ResendConfirmationException[\"UserLambdaValidationException\"] = \"UserLambdaValidationException\";\n ResendConfirmationException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(ResendConfirmationException || (ResendConfirmationException = {}));\nvar RespondToAuthChallengeException;\n(function (RespondToAuthChallengeException) {\n RespondToAuthChallengeException[\"AliasExistsException\"] = \"AliasExistsException\";\n RespondToAuthChallengeException[\"CodeMismatchException\"] = \"CodeMismatchException\";\n RespondToAuthChallengeException[\"ExpiredCodeException\"] = \"ExpiredCodeException\";\n RespondToAuthChallengeException[\"ForbiddenException\"] = \"ForbiddenException\";\n RespondToAuthChallengeException[\"InternalErrorException\"] = \"InternalErrorException\";\n RespondToAuthChallengeException[\"InvalidLambdaResponseException\"] = \"InvalidLambdaResponseException\";\n RespondToAuthChallengeException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n RespondToAuthChallengeException[\"InvalidPasswordException\"] = \"InvalidPasswordException\";\n RespondToAuthChallengeException[\"InvalidSmsRoleAccessPolicyException\"] = \"InvalidSmsRoleAccessPolicyException\";\n RespondToAuthChallengeException[\"InvalidSmsRoleTrustRelationshipException\"] = \"InvalidSmsRoleTrustRelationshipException\";\n RespondToAuthChallengeException[\"InvalidUserPoolConfigurationException\"] = \"InvalidUserPoolConfigurationException\";\n RespondToAuthChallengeException[\"MFAMethodNotFoundException\"] = \"MFAMethodNotFoundException\";\n RespondToAuthChallengeException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n RespondToAuthChallengeException[\"PasswordResetRequiredException\"] = \"PasswordResetRequiredException\";\n RespondToAuthChallengeException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n RespondToAuthChallengeException[\"SoftwareTokenMFANotFoundException\"] = \"SoftwareTokenMFANotFoundException\";\n RespondToAuthChallengeException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n RespondToAuthChallengeException[\"UnexpectedLambdaException\"] = \"UnexpectedLambdaException\";\n RespondToAuthChallengeException[\"UserLambdaValidationException\"] = \"UserLambdaValidationException\";\n RespondToAuthChallengeException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n RespondToAuthChallengeException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(RespondToAuthChallengeException || (RespondToAuthChallengeException = {}));\nvar SetUserMFAPreferenceException;\n(function (SetUserMFAPreferenceException) {\n SetUserMFAPreferenceException[\"ForbiddenException\"] = \"ForbiddenException\";\n SetUserMFAPreferenceException[\"InternalErrorException\"] = \"InternalErrorException\";\n SetUserMFAPreferenceException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n SetUserMFAPreferenceException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n SetUserMFAPreferenceException[\"PasswordResetRequiredException\"] = \"PasswordResetRequiredException\";\n SetUserMFAPreferenceException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n SetUserMFAPreferenceException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n SetUserMFAPreferenceException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(SetUserMFAPreferenceException || (SetUserMFAPreferenceException = {}));\nvar SignUpException;\n(function (SignUpException) {\n SignUpException[\"CodeDeliveryFailureException\"] = \"CodeDeliveryFailureException\";\n SignUpException[\"InternalErrorException\"] = \"InternalErrorException\";\n SignUpException[\"InvalidEmailRoleAccessPolicyException\"] = \"InvalidEmailRoleAccessPolicyException\";\n SignUpException[\"InvalidLambdaResponseException\"] = \"InvalidLambdaResponseException\";\n SignUpException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n SignUpException[\"InvalidPasswordException\"] = \"InvalidPasswordException\";\n SignUpException[\"InvalidSmsRoleAccessPolicyException\"] = \"InvalidSmsRoleAccessPolicyException\";\n SignUpException[\"InvalidSmsRoleTrustRelationshipException\"] = \"InvalidSmsRoleTrustRelationshipException\";\n SignUpException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n SignUpException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n SignUpException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n SignUpException[\"UnexpectedLambdaException\"] = \"UnexpectedLambdaException\";\n SignUpException[\"UserLambdaValidationException\"] = \"UserLambdaValidationException\";\n SignUpException[\"UsernameExistsException\"] = \"UsernameExistsException\";\n})(SignUpException || (SignUpException = {}));\nvar UpdateUserAttributesException;\n(function (UpdateUserAttributesException) {\n UpdateUserAttributesException[\"AliasExistsException\"] = \"AliasExistsException\";\n UpdateUserAttributesException[\"CodeDeliveryFailureException\"] = \"CodeDeliveryFailureException\";\n UpdateUserAttributesException[\"CodeMismatchException\"] = \"CodeMismatchException\";\n UpdateUserAttributesException[\"ExpiredCodeException\"] = \"ExpiredCodeException\";\n UpdateUserAttributesException[\"ForbiddenException\"] = \"ForbiddenException\";\n UpdateUserAttributesException[\"InternalErrorException\"] = \"InternalErrorException\";\n UpdateUserAttributesException[\"InvalidEmailRoleAccessPolicyException\"] = \"InvalidEmailRoleAccessPolicyException\";\n UpdateUserAttributesException[\"InvalidLambdaResponseException\"] = \"InvalidLambdaResponseException\";\n UpdateUserAttributesException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n UpdateUserAttributesException[\"InvalidSmsRoleAccessPolicyException\"] = \"InvalidSmsRoleAccessPolicyException\";\n UpdateUserAttributesException[\"InvalidSmsRoleTrustRelationshipException\"] = \"InvalidSmsRoleTrustRelationshipException\";\n UpdateUserAttributesException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n UpdateUserAttributesException[\"PasswordResetRequiredException\"] = \"PasswordResetRequiredException\";\n UpdateUserAttributesException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n UpdateUserAttributesException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n UpdateUserAttributesException[\"UnexpectedLambdaException\"] = \"UnexpectedLambdaException\";\n UpdateUserAttributesException[\"UserLambdaValidationException\"] = \"UserLambdaValidationException\";\n UpdateUserAttributesException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n UpdateUserAttributesException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(UpdateUserAttributesException || (UpdateUserAttributesException = {}));\nvar VerifySoftwareTokenException;\n(function (VerifySoftwareTokenException) {\n VerifySoftwareTokenException[\"CodeMismatchException\"] = \"CodeMismatchException\";\n VerifySoftwareTokenException[\"EnableSoftwareTokenMFAException\"] = \"EnableSoftwareTokenMFAException\";\n VerifySoftwareTokenException[\"ForbiddenException\"] = \"ForbiddenException\";\n VerifySoftwareTokenException[\"InternalErrorException\"] = \"InternalErrorException\";\n VerifySoftwareTokenException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n VerifySoftwareTokenException[\"InvalidUserPoolConfigurationException\"] = \"InvalidUserPoolConfigurationException\";\n VerifySoftwareTokenException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n VerifySoftwareTokenException[\"PasswordResetRequiredException\"] = \"PasswordResetRequiredException\";\n VerifySoftwareTokenException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n VerifySoftwareTokenException[\"SoftwareTokenMFANotFoundException\"] = \"SoftwareTokenMFANotFoundException\";\n VerifySoftwareTokenException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n VerifySoftwareTokenException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n VerifySoftwareTokenException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(VerifySoftwareTokenException || (VerifySoftwareTokenException = {}));\nvar VerifyUserAttributeException;\n(function (VerifyUserAttributeException) {\n VerifyUserAttributeException[\"AliasExistsException\"] = \"AliasExistsException\";\n VerifyUserAttributeException[\"CodeMismatchException\"] = \"CodeMismatchException\";\n VerifyUserAttributeException[\"ExpiredCodeException\"] = \"ExpiredCodeException\";\n VerifyUserAttributeException[\"ForbiddenException\"] = \"ForbiddenException\";\n VerifyUserAttributeException[\"InternalErrorException\"] = \"InternalErrorException\";\n VerifyUserAttributeException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n VerifyUserAttributeException[\"LimitExceededException\"] = \"LimitExceededException\";\n VerifyUserAttributeException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n VerifyUserAttributeException[\"PasswordResetRequiredException\"] = \"PasswordResetRequiredException\";\n VerifyUserAttributeException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n VerifyUserAttributeException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n VerifyUserAttributeException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n VerifyUserAttributeException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(VerifyUserAttributeException || (VerifyUserAttributeException = {}));\nvar UpdateDeviceStatusException;\n(function (UpdateDeviceStatusException) {\n UpdateDeviceStatusException[\"ForbiddenException\"] = \"ForbiddenException\";\n UpdateDeviceStatusException[\"InternalErrorException\"] = \"InternalErrorException\";\n UpdateDeviceStatusException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n UpdateDeviceStatusException[\"InvalidUserPoolConfigurationException\"] = \"InvalidUserPoolConfigurationException\";\n UpdateDeviceStatusException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n UpdateDeviceStatusException[\"PasswordResetRequiredException\"] = \"PasswordResetRequiredException\";\n UpdateDeviceStatusException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n UpdateDeviceStatusException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n UpdateDeviceStatusException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n UpdateDeviceStatusException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(UpdateDeviceStatusException || (UpdateDeviceStatusException = {}));\nvar ListDevicesException;\n(function (ListDevicesException) {\n ListDevicesException[\"ForbiddenException\"] = \"ForbiddenException\";\n ListDevicesException[\"InternalErrorException\"] = \"InternalErrorException\";\n ListDevicesException[\"InvalidParameterException\"] = \"InvalidParameterException\";\n ListDevicesException[\"InvalidUserPoolConfigurationException\"] = \"InvalidUserPoolConfigurationException\";\n ListDevicesException[\"NotAuthorizedException\"] = \"NotAuthorizedException\";\n ListDevicesException[\"PasswordResetRequiredException\"] = \"PasswordResetRequiredException\";\n ListDevicesException[\"ResourceNotFoundException\"] = \"ResourceNotFoundException\";\n ListDevicesException[\"TooManyRequestsException\"] = \"TooManyRequestsException\";\n ListDevicesException[\"UserNotConfirmedException\"] = \"UserNotConfirmedException\";\n ListDevicesException[\"UserNotFoundException\"] = \"UserNotFoundException\";\n})(ListDevicesException || (ListDevicesException = {}));\nconst SETUP_TOTP_EXCEPTION = 'SetUpTOTPException';\n\nexport { AssociateSoftwareTokenException, ChangePasswordException, ConfirmDeviceException, ConfirmForgotPasswordException, ConfirmSignUpException, DeleteUserAttributesException, DeleteUserException, ForgetDeviceException, ForgotPasswordException, GetCredentialsForIdentityException, GetIdException, GetUserAttributeVerificationException, GetUserException, GlobalSignOutException, InitiateAuthException, ListDevicesException, ResendConfirmationException, RespondToAuthChallengeException, SETUP_TOTP_EXCEPTION, SetUserMFAPreferenceException, SignUpException, UpdateDeviceStatusException, UpdateUserAttributesException, VerifySoftwareTokenException, VerifyUserAttributeException };\n//# sourceMappingURL=errors.mjs.map\n","import { AuthError } from './AuthError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst USER_UNAUTHENTICATED_EXCEPTION = 'UserUnAuthenticatedException';\nconst USER_ALREADY_AUTHENTICATED_EXCEPTION = 'UserAlreadyAuthenticatedException';\nconst DEVICE_METADATA_NOT_FOUND_EXCEPTION = 'DeviceMetadataNotFoundException';\nconst AUTO_SIGN_IN_EXCEPTION = 'AutoSignInException';\nconst INVALID_REDIRECT_EXCEPTION = 'InvalidRedirectException';\nconst INVALID_APP_SCHEME_EXCEPTION = 'InvalidAppSchemeException';\nconst INVALID_PREFERRED_REDIRECT_EXCEPTION = 'InvalidPreferredRedirectUrlException';\nconst invalidRedirectException = new AuthError({\n name: INVALID_REDIRECT_EXCEPTION,\n message: 'signInRedirect or signOutRedirect had an invalid format or was not found.',\n recoverySuggestion: 'Please make sure the signIn/Out redirect in your oauth config is valid.',\n});\nconst invalidAppSchemeException = new AuthError({\n name: INVALID_APP_SCHEME_EXCEPTION,\n message: 'A valid non-http app scheme was not found in the config.',\n recoverySuggestion: 'Please make sure a valid custom app scheme is present in the config.',\n});\nconst invalidPreferredRedirectUrlException = new AuthError({\n name: INVALID_PREFERRED_REDIRECT_EXCEPTION,\n message: 'The given preferredRedirectUrl does not match any items in the redirectSignOutUrls array from the config.',\n recoverySuggestion: 'Please make sure a matching preferredRedirectUrl is provided.',\n});\nconst INVALID_ORIGIN_EXCEPTION = 'InvalidOriginException';\nconst invalidOriginException = new AuthError({\n name: INVALID_ORIGIN_EXCEPTION,\n message: 'redirect is coming from a different origin. The oauth flow needs to be initiated from the same origin',\n recoverySuggestion: 'Please call signInWithRedirect from the same origin.',\n});\nconst OAUTH_SIGNOUT_EXCEPTION = 'OAuthSignOutException';\nconst TOKEN_REFRESH_EXCEPTION = 'TokenRefreshException';\nconst UNEXPECTED_SIGN_IN_INTERRUPTION_EXCEPTION = 'UnexpectedSignInInterruptionException';\n\nexport { AUTO_SIGN_IN_EXCEPTION, DEVICE_METADATA_NOT_FOUND_EXCEPTION, INVALID_APP_SCHEME_EXCEPTION, INVALID_ORIGIN_EXCEPTION, INVALID_PREFERRED_REDIRECT_EXCEPTION, INVALID_REDIRECT_EXCEPTION, OAUTH_SIGNOUT_EXCEPTION, TOKEN_REFRESH_EXCEPTION, UNEXPECTED_SIGN_IN_INTERRUPTION_EXCEPTION, USER_ALREADY_AUTHENTICATED_EXCEPTION, USER_UNAUTHENTICATED_EXCEPTION, invalidAppSchemeException, invalidOriginException, invalidPreferredRedirectUrlException, invalidRedirectException };\n//# sourceMappingURL=constants.mjs.map\n","import { AuthError } from '../../../errors/AuthError.mjs';\nimport { TOKEN_REFRESH_EXCEPTION, USER_UNAUTHENTICATED_EXCEPTION, DEVICE_METADATA_NOT_FOUND_EXCEPTION } from '../../../errors/constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction isTypeUserPoolConfig(authConfig) {\n if (authConfig &&\n authConfig.Cognito.userPoolId &&\n authConfig.Cognito.userPoolClientId) {\n return true;\n }\n return false;\n}\nfunction assertAuthTokens(tokens) {\n if (!tokens || !tokens.accessToken) {\n throw new AuthError({\n name: USER_UNAUTHENTICATED_EXCEPTION,\n message: 'User needs to be authenticated to call this API.',\n recoverySuggestion: 'Sign in before calling this API again.',\n });\n }\n}\nfunction assertIdTokenInAuthTokens(tokens) {\n if (!tokens || !tokens.idToken) {\n throw new AuthError({\n name: USER_UNAUTHENTICATED_EXCEPTION,\n message: 'User needs to be authenticated to call this API.',\n recoverySuggestion: 'Sign in before calling this API again.',\n });\n }\n}\nconst oAuthTokenRefreshException = new AuthError({\n name: TOKEN_REFRESH_EXCEPTION,\n message: `Token refresh is not supported when authenticated with the 'implicit grant' (token) oauth flow. \n\tPlease change your oauth configuration to use 'code grant' flow.`,\n recoverySuggestion: `Please logout and change your Amplify configuration to use \"code grant\" flow. \n\tE.g { responseType: 'code' }`,\n});\nconst tokenRefreshException = new AuthError({\n name: USER_UNAUTHENTICATED_EXCEPTION,\n message: 'User needs to be authenticated to call this API.',\n recoverySuggestion: 'Sign in before calling this API again.',\n});\nfunction assertAuthTokensWithRefreshToken(tokens) {\n if (isAuthenticatedWithImplicitOauthFlow(tokens)) {\n throw oAuthTokenRefreshException;\n }\n if (!isAuthenticatedWithRefreshToken(tokens)) {\n throw tokenRefreshException;\n }\n}\nfunction assertDeviceMetadata(deviceMetadata) {\n if (!deviceMetadata ||\n !deviceMetadata.deviceKey ||\n !deviceMetadata.deviceGroupKey ||\n !deviceMetadata.randomPassword) {\n throw new AuthError({\n name: DEVICE_METADATA_NOT_FOUND_EXCEPTION,\n message: 'Either deviceKey, deviceGroupKey or secretPassword were not found during the sign-in process.',\n recoverySuggestion: 'Make sure to not clear storage after calling the signIn API.',\n });\n }\n}\nconst OAuthStorageKeys = {\n inflightOAuth: 'inflightOAuth',\n oauthSignIn: 'oauthSignIn',\n oauthPKCE: 'oauthPKCE',\n oauthState: 'oauthState',\n};\nfunction isAuthenticated(tokens) {\n return tokens?.accessToken || tokens?.idToken;\n}\nfunction isAuthenticatedWithRefreshToken(tokens) {\n return isAuthenticated(tokens) && tokens?.refreshToken;\n}\nfunction isAuthenticatedWithImplicitOauthFlow(tokens) {\n return isAuthenticated(tokens) && !tokens?.refreshToken;\n}\n\nexport { OAuthStorageKeys, assertAuthTokens, assertAuthTokensWithRefreshToken, assertDeviceMetadata, assertIdTokenInAuthTokens, isTypeUserPoolConfig, oAuthTokenRefreshException, tokenRefreshException };\n//# sourceMappingURL=types.mjs.map\n","import { assertTokenProviderConfig } from '@aws-amplify/core/internals/utils';\nimport { assertAuthTokens } from '../../utils/types.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst getCurrentUser = async (amplify) => {\n const authConfig = amplify.getConfig().Auth?.Cognito;\n assertTokenProviderConfig(authConfig);\n const tokens = await amplify.Auth.getTokens({ forceRefresh: false });\n assertAuthTokens(tokens);\n const { 'cognito:username': username, sub } = tokens.idToken?.payload ?? {};\n const authUser = {\n username: username,\n userId: sub,\n };\n const signInDetails = getSignInDetailsFromTokens(tokens);\n if (signInDetails) {\n authUser.signInDetails = signInDetails;\n }\n return authUser;\n};\nfunction getSignInDetailsFromTokens(tokens) {\n return tokens?.signInDetails;\n}\n\nexport { getCurrentUser };\n//# sourceMappingURL=getCurrentUser.mjs.map\n","import { Amplify } from '@aws-amplify/core';\nimport { getCurrentUser as getCurrentUser$1 } from './internal/getCurrentUser.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Gets the current user from the idToken.\n *\n * @param input - The GetCurrentUserInput object.\n * @returns GetCurrentUserOutput\n * @throws - {@link InitiateAuthException} - Thrown when the service fails to refresh the tokens.\n * @throws AuthTokenConfigException - Thrown when the token provider config is invalid.\n */\nconst getCurrentUser = async () => {\n return getCurrentUser$1(Amplify);\n};\n\nexport { getCurrentUser };\n//# sourceMappingURL=getCurrentUser.mjs.map\n","import { getAmplifyUserAgent, Category } from '@aws-amplify/core/internals/utils';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst getAuthUserAgentValue = (action, customUserAgentDetails) => getAmplifyUserAgent({\n category: Category.Auth,\n action,\n ...customUserAgentDetails,\n});\n\nexport { getAuthUserAgentValue };\n//# sourceMappingURL=getAuthUserAgentValue.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst createUserPoolSerializer = (operation) => (input, endpoint) => {\n const headers = getSharedHeaders(operation);\n const body = JSON.stringify(input);\n return buildHttpRpcRequest(endpoint, headers, body);\n};\nconst getSharedHeaders = (operation) => ({\n 'content-type': 'application/x-amz-json-1.1',\n 'x-amz-target': `AWSCognitoIdentityProviderService.${operation}`,\n});\nconst buildHttpRpcRequest = ({ url }, headers, body) => ({\n headers,\n url,\n body,\n method: 'POST',\n});\n\nexport { createUserPoolSerializer };\n//# sourceMappingURL=createUserPoolSerializer.mjs.map\n","import { AmplifyErrorCode } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../AuthError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction assertServiceError(error) {\n if (!error ||\n error.name === 'Error' ||\n error instanceof TypeError) {\n throw new AuthError({\n name: AmplifyErrorCode.Unknown,\n message: 'An unknown error has occurred.',\n underlyingError: error,\n });\n }\n}\n\nexport { assertServiceError };\n//# sourceMappingURL=assertServiceError.mjs.map\n","import { parseJsonError, parseJsonBody } from '@aws-amplify/core/internals/aws-client-utils';\nimport { assertServiceError } from '../../../../../../errors/utils/assertServiceError.mjs';\nimport { AuthError } from '../../../../../../errors/AuthError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst createUserPoolDeserializer = () => async (response) => {\n if (response.statusCode >= 300) {\n const error = await parseJsonError(response);\n assertServiceError(error);\n throw new AuthError({\n name: error.name,\n message: error.message,\n metadata: error.$metadata,\n });\n }\n return parseJsonBody(response);\n};\n\nexport { createUserPoolDeserializer };\n//# sourceMappingURL=createUserPoolDeserializer.mjs.map\n","import { composeTransferHandler } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { unauthenticatedHandler } from '@aws-amplify/core/internals/aws-client-utils';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * A Cognito Identity-specific middleware that disables caching for all requests.\n */\nconst disableCacheMiddlewareFactory = () => (next, _) => async function disableCacheMiddleware(request) {\n request.headers['cache-control'] = 'no-store';\n return next(request);\n};\n/**\n * A Cognito Identity-specific transfer handler that does NOT sign requests, and\n * disables caching.\n *\n * @internal\n */\nconst cognitoUserPoolTransferHandler = composeTransferHandler(unauthenticatedHandler, [disableCacheMiddlewareFactory]);\n\nexport { cognitoUserPoolTransferHandler };\n//# sourceMappingURL=cognitoUserPoolTransferHandler.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * The service name used to sign requests if the API requires authentication.\n */\nconst COGNITO_IDP_SERVICE_NAME = 'cognito-idp';\n\nexport { COGNITO_IDP_SERVICE_NAME };\n//# sourceMappingURL=constants.mjs.map\n","import { getRetryDecider, parseJsonError, jitteredBackoff } from '@aws-amplify/core/internals/aws-client-utils';\nimport { getAmplifyUserAgent } from '@aws-amplify/core/internals/utils';\nimport { COGNITO_IDP_SERVICE_NAME } from '../../../constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst DEFAULT_SERVICE_CLIENT_API_CONFIG = {\n service: COGNITO_IDP_SERVICE_NAME,\n retryDecider: getRetryDecider(parseJsonError),\n computeDelay: jitteredBackoff,\n get userAgentValue() {\n return getAmplifyUserAgent();\n },\n cache: 'no-store',\n};\n\nexport { DEFAULT_SERVICE_CLIENT_API_CONFIG };\n//# sourceMappingURL=constants.mjs.map\n","import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { createUserPoolSerializer } from './shared/serde/createUserPoolSerializer.mjs';\nimport { createUserPoolDeserializer } from './shared/serde/createUserPoolDeserializer.mjs';\nimport '@aws-amplify/core/internals/aws-client-utils';\nimport '@aws-amplify/core/internals/utils';\nimport { cognitoUserPoolTransferHandler } from './shared/handler/cognitoUserPoolTransferHandler.mjs';\nimport { DEFAULT_SERVICE_CLIENT_API_CONFIG } from './constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst createInitiateAuthClient = (config) => composeServiceApi(cognitoUserPoolTransferHandler, createUserPoolSerializer('InitiateAuth'), createUserPoolDeserializer(), {\n ...DEFAULT_SERVICE_CLIENT_API_CONFIG,\n ...config,\n});\n\nexport { createInitiateAuthClient };\n//# sourceMappingURL=createInitiateAuthClient.mjs.map\n","import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { cognitoUserPoolTransferHandler } from './shared/handler/cognitoUserPoolTransferHandler.mjs';\nimport { createUserPoolSerializer } from './shared/serde/createUserPoolSerializer.mjs';\nimport { createUserPoolDeserializer } from './shared/serde/createUserPoolDeserializer.mjs';\nimport '@aws-amplify/core/internals/aws-client-utils';\nimport '@aws-amplify/core/internals/utils';\nimport { DEFAULT_SERVICE_CLIENT_API_CONFIG } from './constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst createRespondToAuthChallengeClient = (config) => composeServiceApi(cognitoUserPoolTransferHandler, createUserPoolSerializer('RespondToAuthChallenge'), createUserPoolDeserializer(), {\n ...DEFAULT_SERVICE_CLIENT_API_CONFIG,\n ...config,\n});\n\nexport { createRespondToAuthChallengeClient };\n//# sourceMappingURL=createRespondToAuthChallengeClient.mjs.map\n","import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { cognitoUserPoolTransferHandler } from './shared/handler/cognitoUserPoolTransferHandler.mjs';\nimport { createUserPoolSerializer } from './shared/serde/createUserPoolSerializer.mjs';\nimport { createUserPoolDeserializer } from './shared/serde/createUserPoolDeserializer.mjs';\nimport '@aws-amplify/core/internals/aws-client-utils';\nimport '@aws-amplify/core/internals/utils';\nimport { DEFAULT_SERVICE_CLIENT_API_CONFIG } from './constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst createAssociateSoftwareTokenClient = (config) => composeServiceApi(cognitoUserPoolTransferHandler, createUserPoolSerializer('AssociateSoftwareToken'), createUserPoolDeserializer(), {\n ...DEFAULT_SERVICE_CLIENT_API_CONFIG,\n ...config,\n});\n\nexport { createAssociateSoftwareTokenClient };\n//# sourceMappingURL=createAssociateSoftwareTokenClient.mjs.map\n","import { getDnsSuffix } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyUrl } from '@aws-amplify/core/internals/utils';\nimport { COGNITO_IDP_SERVICE_NAME } from './constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst cognitoUserPoolEndpointResolver = ({ region, }) => ({\n url: new AmplifyUrl(`https://${COGNITO_IDP_SERVICE_NAME}.${region}.${getDnsSuffix(region)}`),\n});\n\nexport { cognitoUserPoolEndpointResolver };\n//# sourceMappingURL=cognitoUserPoolEndpointResolver.mjs.map\n","import { AmplifyUrl } from '@aws-amplify/core/internals/utils';\nimport { cognitoUserPoolEndpointResolver } from '../../../foundation/cognitoUserPoolEndpointResolver.mjs';\n\nconst createCognitoUserPoolEndpointResolver = ({ endpointOverride }) => (input) => {\n if (endpointOverride) {\n return { url: new AmplifyUrl(endpointOverride) };\n }\n return cognitoUserPoolEndpointResolver(input);\n};\n\nexport { createCognitoUserPoolEndpointResolver };\n//# sourceMappingURL=createCognitoUserPoolEndpointResolver.mjs.map\n","import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { createUserPoolSerializer } from './shared/serde/createUserPoolSerializer.mjs';\nimport { createUserPoolDeserializer } from './shared/serde/createUserPoolDeserializer.mjs';\nimport '@aws-amplify/core/internals/aws-client-utils';\nimport '@aws-amplify/core/internals/utils';\nimport { cognitoUserPoolTransferHandler } from './shared/handler/cognitoUserPoolTransferHandler.mjs';\nimport { DEFAULT_SERVICE_CLIENT_API_CONFIG } from './constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst createGetTokensFromRefreshTokenClient = (config) => composeServiceApi(cognitoUserPoolTransferHandler, createUserPoolSerializer('GetTokensFromRefreshToken'), createUserPoolDeserializer(), {\n ...DEFAULT_SERVICE_CLIENT_API_CONFIG,\n ...config,\n});\n\nexport { createGetTokensFromRefreshTokenClient };\n//# sourceMappingURL=createGetTokensFromRefreshTokenClient.mjs.map\n","import { deDupeAsyncFunction, assertTokenProviderConfig, decodeJWT } from '@aws-amplify/core/internals/utils';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers/regionParsers.mjs';\nimport { assertAuthTokensWithRefreshToken } from './types.mjs';\nimport { AuthError } from '../../../errors/AuthError.mjs';\nimport { createCognitoUserPoolEndpointResolver } from '../factories/createCognitoUserPoolEndpointResolver.mjs';\nimport '@aws-amplify/core';\nimport '@aws-amplify/core/internals/aws-client-utils/composers';\nimport '@aws-amplify/core/internals/aws-client-utils';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/shared/handler/cognitoUserPoolTransferHandler.mjs';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/constants.mjs';\nimport { createGetTokensFromRefreshTokenClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/createGetTokensFromRefreshTokenClient.mjs';\nimport '../../../common/AuthErrorStrings.mjs';\nimport '../../../errors/types/validation.mjs';\nimport '../types/errors.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst refreshAuthTokensFunction = async ({ tokens, authConfig, username, clientMetadata, }) => {\n assertTokenProviderConfig(authConfig?.Cognito);\n const { userPoolId, userPoolClientId, userPoolEndpoint } = authConfig.Cognito;\n const region = getRegionFromUserPoolId(userPoolId);\n assertAuthTokensWithRefreshToken(tokens);\n const getTokensFromRefreshToken = createGetTokensFromRefreshTokenClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const { AuthenticationResult } = await getTokensFromRefreshToken({ region }, {\n ClientId: userPoolClientId,\n RefreshToken: tokens.refreshToken,\n DeviceKey: tokens.deviceMetadata?.deviceKey,\n ClientMetadata: clientMetadata,\n });\n const accessToken = decodeJWT(AuthenticationResult?.AccessToken ?? '');\n const idToken = AuthenticationResult?.IdToken\n ? decodeJWT(AuthenticationResult.IdToken)\n : undefined;\n const { iat } = accessToken.payload;\n // This should never happen. If it does, it's a bug from the service.\n if (!iat) {\n throw new AuthError({\n name: 'iatNotFoundException',\n message: 'iat not found in access token',\n });\n }\n const clockDrift = iat * 1000 - new Date().getTime();\n return {\n accessToken,\n idToken,\n clockDrift,\n refreshToken: AuthenticationResult?.RefreshToken ?? tokens.refreshToken,\n username,\n };\n};\nconst refreshAuthTokens = deDupeAsyncFunction(refreshAuthTokensFunction);\nconst refreshAuthTokensWithoutDedupe = refreshAuthTokensFunction;\n\nexport { refreshAuthTokens, refreshAuthTokensWithoutDedupe };\n//# sourceMappingURL=refreshAuthTokens.mjs.map\n","const AuthTokenStorageKeys = {\n accessToken: 'accessToken',\n idToken: 'idToken',\n oidcProvider: 'oidcProvider',\n clockDrift: 'clockDrift',\n refreshToken: 'refreshToken',\n deviceKey: 'deviceKey',\n randomPasswordKey: 'randomPasswordKey',\n deviceGroupKey: 'deviceGroupKey',\n signInDetails: 'signInDetails',\n oauthMetadata: 'oauthMetadata',\n};\n\nexport { AuthTokenStorageKeys };\n//# sourceMappingURL=types.mjs.map\n","import { createAssertionFunction } from '@aws-amplify/core/internals/utils';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar TokenProviderErrorCode;\n(function (TokenProviderErrorCode) {\n TokenProviderErrorCode[\"InvalidAuthTokens\"] = \"InvalidAuthTokens\";\n})(TokenProviderErrorCode || (TokenProviderErrorCode = {}));\nconst tokenValidationErrorMap = {\n [TokenProviderErrorCode.InvalidAuthTokens]: {\n message: 'Invalid tokens.',\n recoverySuggestion: 'Make sure the tokens are valid.',\n },\n};\nconst assert = createAssertionFunction(tokenValidationErrorMap);\n\nexport { TokenProviderErrorCode, assert };\n//# sourceMappingURL=errorHelpers.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst AUTH_KEY_PREFIX = 'CognitoIdentityServiceProvider';\n\nexport { AUTH_KEY_PREFIX };\n//# sourceMappingURL=constants.mjs.map\n","import { decodeJWT, assertTokenProviderConfig } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../../../errors/AuthError.mjs';\nimport { AuthTokenStorageKeys } from './types.mjs';\nimport { assert, TokenProviderErrorCode } from './errorHelpers.mjs';\nimport { AUTH_KEY_PREFIX } from './constants.mjs';\n\nclass DefaultTokenStore {\n getKeyValueStorage() {\n if (!this.keyValueStorage) {\n throw new AuthError({\n name: 'KeyValueStorageNotFoundException',\n message: 'KeyValueStorage was not found in TokenStore',\n });\n }\n return this.keyValueStorage;\n }\n setKeyValueStorage(keyValueStorage) {\n this.keyValueStorage = keyValueStorage;\n }\n setAuthConfig(authConfig) {\n this.authConfig = authConfig;\n }\n async loadTokens() {\n // TODO(v6): migration logic should be here\n // Reading V5 tokens old format\n try {\n const authKeys = await this.getAuthKeys();\n const accessTokenString = await this.getKeyValueStorage().getItem(authKeys.accessToken);\n if (!accessTokenString) {\n throw new AuthError({\n name: 'NoSessionFoundException',\n message: 'Auth session was not found. Make sure to call signIn.',\n });\n }\n const accessToken = decodeJWT(accessTokenString);\n const itString = await this.getKeyValueStorage().getItem(authKeys.idToken);\n const idToken = itString ? decodeJWT(itString) : undefined;\n const refreshToken = (await this.getKeyValueStorage().getItem(authKeys.refreshToken)) ??\n undefined;\n const clockDriftString = (await this.getKeyValueStorage().getItem(authKeys.clockDrift)) ?? '0';\n const clockDrift = Number.parseInt(clockDriftString);\n const signInDetails = await this.getKeyValueStorage().getItem(authKeys.signInDetails);\n const tokens = {\n accessToken,\n idToken,\n refreshToken,\n deviceMetadata: (await this.getDeviceMetadata()) ?? undefined,\n clockDrift,\n username: await this.getLastAuthUser(),\n };\n if (signInDetails) {\n tokens.signInDetails = JSON.parse(signInDetails);\n }\n return tokens;\n }\n catch (err) {\n return null;\n }\n }\n async storeTokens(tokens) {\n assert(tokens !== undefined, TokenProviderErrorCode.InvalidAuthTokens);\n const lastAuthUser = tokens.username;\n await this.getKeyValueStorage().setItem(this.getLastAuthUserKey(), lastAuthUser);\n const authKeys = await this.getAuthKeys();\n await this.getKeyValueStorage().setItem(authKeys.accessToken, tokens.accessToken.toString());\n if (tokens.idToken) {\n await this.getKeyValueStorage().setItem(authKeys.idToken, tokens.idToken.toString());\n }\n else {\n await this.getKeyValueStorage().removeItem(authKeys.idToken);\n }\n if (tokens.refreshToken) {\n await this.getKeyValueStorage().setItem(authKeys.refreshToken, tokens.refreshToken);\n }\n else {\n await this.getKeyValueStorage().removeItem(authKeys.refreshToken);\n }\n if (tokens.deviceMetadata) {\n if (tokens.deviceMetadata.deviceKey) {\n await this.getKeyValueStorage().setItem(authKeys.deviceKey, tokens.deviceMetadata.deviceKey);\n }\n if (tokens.deviceMetadata.deviceGroupKey) {\n await this.getKeyValueStorage().setItem(authKeys.deviceGroupKey, tokens.deviceMetadata.deviceGroupKey);\n }\n await this.getKeyValueStorage().setItem(authKeys.randomPasswordKey, tokens.deviceMetadata.randomPassword);\n }\n if (tokens.signInDetails) {\n await this.getKeyValueStorage().setItem(authKeys.signInDetails, JSON.stringify(tokens.signInDetails));\n }\n else {\n await this.getKeyValueStorage().removeItem(authKeys.signInDetails);\n }\n await this.getKeyValueStorage().setItem(authKeys.clockDrift, `${tokens.clockDrift}`);\n }\n async clearTokens() {\n const authKeys = await this.getAuthKeys();\n // Not calling clear because it can remove data that is not managed by AuthTokenStore\n await Promise.all([\n this.getKeyValueStorage().removeItem(authKeys.accessToken),\n this.getKeyValueStorage().removeItem(authKeys.idToken),\n this.getKeyValueStorage().removeItem(authKeys.clockDrift),\n this.getKeyValueStorage().removeItem(authKeys.refreshToken),\n this.getKeyValueStorage().removeItem(authKeys.signInDetails),\n this.getKeyValueStorage().removeItem(this.getLastAuthUserKey()),\n this.getKeyValueStorage().removeItem(authKeys.oauthMetadata),\n ]);\n }\n async getDeviceMetadata(username) {\n const authKeys = await this.getAuthKeys(username);\n const deviceKey = await this.getKeyValueStorage().getItem(authKeys.deviceKey);\n const deviceGroupKey = await this.getKeyValueStorage().getItem(authKeys.deviceGroupKey);\n const randomPassword = await this.getKeyValueStorage().getItem(authKeys.randomPasswordKey);\n return randomPassword && deviceGroupKey && deviceKey\n ? {\n deviceKey,\n deviceGroupKey,\n randomPassword,\n }\n : null;\n }\n async clearDeviceMetadata(username) {\n const authKeys = await this.getAuthKeys(username);\n await Promise.all([\n this.getKeyValueStorage().removeItem(authKeys.deviceKey),\n this.getKeyValueStorage().removeItem(authKeys.deviceGroupKey),\n this.getKeyValueStorage().removeItem(authKeys.randomPasswordKey),\n ]);\n }\n async getAuthKeys(username) {\n assertTokenProviderConfig(this.authConfig?.Cognito);\n const lastAuthUser = username ?? (await this.getLastAuthUser());\n return createKeysForAuthStorage(AUTH_KEY_PREFIX, `${this.authConfig.Cognito.userPoolClientId}.${lastAuthUser}`);\n }\n getLastAuthUserKey() {\n assertTokenProviderConfig(this.authConfig?.Cognito);\n const identifier = this.authConfig.Cognito.userPoolClientId;\n return `${AUTH_KEY_PREFIX}.${identifier}.LastAuthUser`;\n }\n async getLastAuthUser() {\n const lastAuthUser = (await this.getKeyValueStorage().getItem(this.getLastAuthUserKey())) ??\n 'username';\n return lastAuthUser;\n }\n async setOAuthMetadata(metadata) {\n const { oauthMetadata: oauthMetadataKey } = await this.getAuthKeys();\n await this.getKeyValueStorage().setItem(oauthMetadataKey, JSON.stringify(metadata));\n }\n async getOAuthMetadata() {\n const { oauthMetadata: oauthMetadataKey } = await this.getAuthKeys();\n const oauthMetadata = await this.getKeyValueStorage().getItem(oauthMetadataKey);\n return oauthMetadata && JSON.parse(oauthMetadata);\n }\n}\nconst createKeysForAuthStorage = (provider, identifier) => {\n return getAuthStorageKeys(AuthTokenStorageKeys)(`${provider}`, identifier);\n};\nfunction getAuthStorageKeys(authKeys) {\n const keys = Object.values({ ...authKeys });\n return (prefix, identifier) => keys.reduce((acc, authKey) => ({\n ...acc,\n [authKey]: `${prefix}.${identifier}.${authKey}`,\n }), {});\n}\n\nexport { DefaultTokenStore, createKeysForAuthStorage, getAuthStorageKeys };\n//# sourceMappingURL=TokenStore.mjs.map\n","import { assertTokenProviderConfig } from '@aws-amplify/core/internals/utils';\nimport { getAuthStorageKeys } from '../tokenProvider/TokenStore.mjs';\nimport { OAuthStorageKeys } from './types.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst V5_HOSTED_UI_KEY = 'amplify-signin-with-hostedUI';\nconst name = 'CognitoIdentityServiceProvider';\nclass DefaultOAuthStore {\n constructor(keyValueStorage) {\n this.keyValueStorage = keyValueStorage;\n }\n async clearOAuthInflightData() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await Promise.all([\n this.keyValueStorage.removeItem(authKeys.inflightOAuth),\n this.keyValueStorage.removeItem(authKeys.oauthPKCE),\n this.keyValueStorage.removeItem(authKeys.oauthState),\n ]);\n }\n async clearOAuthData() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await this.clearOAuthInflightData();\n await this.keyValueStorage.removeItem(V5_HOSTED_UI_KEY); // remove in case a customer migrated an App from v5 to v6\n return this.keyValueStorage.removeItem(authKeys.oauthSignIn);\n }\n loadOAuthState() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.getItem(authKeys.oauthState);\n }\n storeOAuthState(state) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.setItem(authKeys.oauthState, state);\n }\n loadPKCE() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.getItem(authKeys.oauthPKCE);\n }\n storePKCE(pkce) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return this.keyValueStorage.setItem(authKeys.oauthPKCE, pkce);\n }\n setAuthConfig(authConfigParam) {\n this.cognitoConfig = authConfigParam;\n }\n async loadOAuthInFlight() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n return ((await this.keyValueStorage.getItem(authKeys.inflightOAuth)) === 'true');\n }\n async storeOAuthInFlight(inflight) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await this.keyValueStorage.setItem(authKeys.inflightOAuth, `${inflight}`);\n }\n async loadOAuthSignIn() {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n const isLegacyHostedUISignIn = await this.keyValueStorage.getItem(V5_HOSTED_UI_KEY);\n const [isOAuthSignIn, preferPrivateSession] = (await this.keyValueStorage.getItem(authKeys.oauthSignIn))?.split(',') ??\n [];\n return {\n isOAuthSignIn: isOAuthSignIn === 'true' || isLegacyHostedUISignIn === 'true',\n preferPrivateSession: preferPrivateSession === 'true',\n };\n }\n async storeOAuthSignIn(oauthSignIn, preferPrivateSession = false) {\n assertTokenProviderConfig(this.cognitoConfig);\n const authKeys = createKeysForAuthStorage(name, this.cognitoConfig.userPoolClientId);\n await this.keyValueStorage.setItem(authKeys.oauthSignIn, `${oauthSignIn},${preferPrivateSession}`);\n }\n}\nconst createKeysForAuthStorage = (provider, identifier) => {\n return getAuthStorageKeys(OAuthStorageKeys)(provider, identifier);\n};\n\nexport { DefaultOAuthStore };\n//# sourceMappingURL=signInWithRedirectStore.mjs.map\n","import { defaultStorage } from '@aws-amplify/core';\nimport { DefaultOAuthStore } from '../signInWithRedirectStore.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst oAuthStore = new DefaultOAuthStore(defaultStorage);\n\nexport { oAuthStore };\n//# sourceMappingURL=oAuthStore.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst inflightPromises = [];\nconst addInflightPromise = (resolver) => {\n inflightPromises.push(resolver);\n};\nconst resolveAndClearInflightPromises = () => {\n while (inflightPromises.length) {\n inflightPromises.pop()?.();\n }\n};\n\nexport { addInflightPromise, resolveAndClearInflightPromises };\n//# sourceMappingURL=inflightPromise.mjs.map\n","import { Hub } from '@aws-amplify/core';\nimport { isBrowser, assertTokenProviderConfig, isTokenExpired, AMPLIFY_SYMBOL } from '@aws-amplify/core/internals/utils';\nimport { assertServiceError } from '../../../errors/utils/assertServiceError.mjs';\nimport { AuthError } from '../../../errors/AuthError.mjs';\nimport { oAuthStore } from '../utils/oauth/oAuthStore.mjs';\nimport { addInflightPromise } from '../utils/oauth/inflightPromise.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nclass TokenOrchestrator {\n constructor() {\n this.waitForInflightOAuth = isBrowser()\n ? async () => {\n if (!(await oAuthStore.loadOAuthInFlight())) {\n return;\n }\n if (this.inflightPromise) {\n return this.inflightPromise;\n }\n // when there is valid oauth config and there is an inflight oauth flow, try\n // to block async calls that require fetching tokens before the oauth flow completes\n // e.g. getCurrentUser, fetchAuthSession etc.\n this.inflightPromise = new Promise((resolve, _reject) => {\n addInflightPromise(resolve);\n });\n return this.inflightPromise;\n }\n : async () => {\n // no-op for non-browser environments\n };\n }\n setAuthConfig(authConfig) {\n oAuthStore.setAuthConfig(authConfig.Cognito);\n this.authConfig = authConfig;\n }\n setTokenRefresher(tokenRefresher) {\n this.tokenRefresher = tokenRefresher;\n }\n setAuthTokenStore(tokenStore) {\n this.tokenStore = tokenStore;\n }\n getTokenStore() {\n if (!this.tokenStore) {\n throw new AuthError({\n name: 'EmptyTokenStoreException',\n message: 'TokenStore not set',\n });\n }\n return this.tokenStore;\n }\n getTokenRefresher() {\n if (!this.tokenRefresher) {\n throw new AuthError({\n name: 'EmptyTokenRefresherException',\n message: 'TokenRefresher not set',\n });\n }\n return this.tokenRefresher;\n }\n setClientMetadataProvider(clientMetadataProvider) {\n this.clientMetadataProvider = clientMetadataProvider;\n }\n async getTokens(options) {\n let tokens;\n try {\n assertTokenProviderConfig(this.authConfig?.Cognito);\n }\n catch (_err) {\n // Token provider not configured\n return null;\n }\n await this.waitForInflightOAuth();\n this.inflightPromise = undefined;\n tokens = await this.getTokenStore().loadTokens();\n const username = await this.getTokenStore().getLastAuthUser();\n if (tokens === null) {\n return null;\n }\n const idTokenExpired = !!tokens?.idToken &&\n isTokenExpired({\n expiresAt: (tokens.idToken?.payload?.exp ?? 0) * 1000,\n clockDrift: tokens.clockDrift ?? 0,\n });\n const accessTokenExpired = isTokenExpired({\n expiresAt: (tokens.accessToken?.payload?.exp ?? 0) * 1000,\n clockDrift: tokens.clockDrift ?? 0,\n });\n if (options?.forceRefresh || idTokenExpired || accessTokenExpired) {\n tokens = await this.refreshTokens({\n tokens,\n username,\n clientMetadata: options?.clientMetadata ?? (await this.clientMetadataProvider?.()),\n });\n if (tokens === null) {\n return null;\n }\n }\n return {\n accessToken: tokens?.accessToken,\n idToken: tokens?.idToken,\n signInDetails: tokens?.signInDetails,\n };\n }\n async refreshTokens({ tokens, username, clientMetadata, }) {\n try {\n const { signInDetails } = tokens;\n const newTokens = await this.getTokenRefresher()({\n tokens,\n authConfig: this.authConfig,\n username,\n clientMetadata,\n });\n newTokens.signInDetails = signInDetails;\n await this.setTokens({ tokens: newTokens });\n Hub.dispatch('auth', { event: 'tokenRefresh' }, 'Auth', AMPLIFY_SYMBOL);\n return newTokens;\n }\n catch (err) {\n return this.handleErrors(err);\n }\n }\n handleErrors(err) {\n assertServiceError(err);\n // Only clear tokens for definitive authentication failures\n // Do NOT clear tokens for transient errors like service issues, rate limits, etc.\n const shouldClearTokens = this.isAuthenticationError(err);\n if (shouldClearTokens) {\n this.clearTokens();\n }\n Hub.dispatch('auth', {\n event: 'tokenRefresh_failure',\n data: { error: err },\n }, 'Auth', AMPLIFY_SYMBOL);\n if (err.name.startsWith('NotAuthorizedException')) {\n return null;\n }\n throw err;\n }\n isAuthenticationError(err) {\n // Only clear tokens for errors that definitively indicate the tokens are invalid\n // and re-authentication is required. All other errors (service errors, rate limits, etc.)\n // should preserve the tokens to allow for retry.\n // See: https://github.com/aws-amplify/amplify-js/issues/14534\n const authErrorNames = [\n 'NotAuthorizedException', // Refresh token is expired or invalid\n 'TokenRevokedException', // Token was revoked by admin\n 'UserNotFoundException', // User no longer exists\n 'PasswordResetRequiredException', // User must reset password\n 'UserNotConfirmedException', // User account is not confirmed\n 'RefreshTokenReuseException', // Refresh token invalidated by rotation\n ];\n return authErrorNames.some(errorName => err?.name?.startsWith?.(errorName));\n }\n async setTokens({ tokens }) {\n return this.getTokenStore().storeTokens(tokens);\n }\n async clearTokens() {\n return this.getTokenStore().clearTokens();\n }\n getDeviceMetadata(username) {\n return this.getTokenStore().getDeviceMetadata(username);\n }\n clearDeviceMetadata(username) {\n return this.getTokenStore().clearDeviceMetadata(username);\n }\n setOAuthMetadata(metadata) {\n return this.getTokenStore().setOAuthMetadata(metadata);\n }\n getOAuthMetadata() {\n return this.getTokenStore().getOAuthMetadata();\n }\n}\n\nexport { TokenOrchestrator };\n//# sourceMappingURL=TokenOrchestrator.mjs.map\n","import { defaultStorage } from '@aws-amplify/core';\nimport { refreshAuthTokens } from '../utils/refreshAuthTokens.mjs';\nimport { DefaultTokenStore } from './TokenStore.mjs';\nimport { TokenOrchestrator } from './TokenOrchestrator.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nclass CognitoUserPoolsTokenProvider {\n constructor() {\n this.authTokenStore = new DefaultTokenStore();\n this.authTokenStore.setKeyValueStorage(defaultStorage);\n this.tokenOrchestrator = new TokenOrchestrator();\n this.tokenOrchestrator.setAuthTokenStore(this.authTokenStore);\n this.tokenOrchestrator.setTokenRefresher(refreshAuthTokens);\n }\n getTokens(options = {}) {\n return this.tokenOrchestrator.getTokens(options);\n }\n setKeyValueStorage(keyValueStorage) {\n this.authTokenStore.setKeyValueStorage(keyValueStorage);\n }\n setClientMetadataProvider(clientMetadataProvider) {\n this.tokenOrchestrator.setClientMetadataProvider(clientMetadataProvider);\n }\n setAuthConfig(authConfig) {\n this.authTokenStore.setAuthConfig(authConfig);\n this.tokenOrchestrator.setAuthConfig(authConfig);\n }\n}\n\nexport { CognitoUserPoolsTokenProvider };\n//# sourceMappingURL=CognitoUserPoolsTokenProvider.mjs.map\n","import { CognitoUserPoolsTokenProvider } from './CognitoUserPoolsTokenProvider.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * The default provider for the JWT access token and ID token issued from the configured Cognito user pool. It manages\n * the refresh and storage of the tokens. It stores the tokens in `window.localStorage` if available, and falls back to\n * in-memory storage if not.\n */\nconst cognitoUserPoolsTokenProvider = new CognitoUserPoolsTokenProvider();\nconst { tokenOrchestrator } = cognitoUserPoolsTokenProvider;\n\nexport { cognitoUserPoolsTokenProvider, tokenOrchestrator };\n//# sourceMappingURL=tokenProvider.mjs.map\n","import { decodeJWT, AmplifyError } from '@aws-amplify/core/internals/utils';\nimport { tokenOrchestrator } from './tokenProvider.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nasync function cacheCognitoTokens(AuthenticationResult) {\n if (AuthenticationResult.AccessToken) {\n const accessToken = decodeJWT(AuthenticationResult.AccessToken);\n const accessTokenIssuedAtInMillis = (accessToken.payload.iat || 0) * 1000;\n const currentTime = new Date().getTime();\n const clockDrift = accessTokenIssuedAtInMillis > 0\n ? accessTokenIssuedAtInMillis - currentTime\n : 0;\n let idToken;\n let refreshToken;\n let deviceMetadata;\n if (AuthenticationResult.RefreshToken) {\n refreshToken = AuthenticationResult.RefreshToken;\n }\n if (AuthenticationResult.IdToken) {\n idToken = decodeJWT(AuthenticationResult.IdToken);\n }\n if (AuthenticationResult?.NewDeviceMetadata) {\n deviceMetadata = AuthenticationResult.NewDeviceMetadata;\n }\n const tokens = {\n accessToken,\n idToken,\n refreshToken,\n clockDrift,\n deviceMetadata,\n username: AuthenticationResult.username,\n };\n if (AuthenticationResult?.signInDetails) {\n tokens.signInDetails = AuthenticationResult.signInDetails;\n }\n await tokenOrchestrator.setTokens({\n tokens,\n });\n }\n else {\n // This would be a service error\n throw new AmplifyError({\n message: 'Invalid tokens',\n name: 'InvalidTokens',\n recoverySuggestion: 'Check Cognito UserPool settings',\n });\n }\n}\n\nexport { cacheCognitoTokens };\n//# sourceMappingURL=cacheTokens.mjs.map\n","import { Hub } from '@aws-amplify/core';\nimport { AMPLIFY_SYMBOL } from '@aws-amplify/core/internals/utils';\nimport { getCurrentUser } from '../apis/getCurrentUser.mjs';\nimport { USER_UNAUTHENTICATED_EXCEPTION, UNEXPECTED_SIGN_IN_INTERRUPTION_EXCEPTION } from '../../../errors/constants.mjs';\nimport { AuthError } from '../../../errors/AuthError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst ERROR_MESSAGE = 'Unable to get user session following successful sign-in.';\nconst dispatchSignedInHubEvent = async () => {\n try {\n Hub.dispatch('auth', {\n event: 'signedIn',\n data: await getCurrentUser(),\n }, 'Auth', AMPLIFY_SYMBOL);\n }\n catch (error) {\n if (error.name === USER_UNAUTHENTICATED_EXCEPTION) {\n throw new AuthError({\n name: UNEXPECTED_SIGN_IN_INTERRUPTION_EXCEPTION,\n message: ERROR_MESSAGE,\n recoverySuggestion: 'This most likely is due to auth tokens not being persisted. If you are using cookie store, please ensure cookies can be correctly set from your server.',\n });\n }\n throw error;\n }\n};\n\nexport { ERROR_MESSAGE, dispatchSignedInHubEvent };\n//# sourceMappingURL=dispatchSignedInHubEvent.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction defaultState() {\n return {\n active: false,\n };\n}\nconst autoSignInReducer = (state, action) => {\n switch (action.type) {\n case 'SET_USERNAME':\n return {\n ...state,\n username: action.value,\n };\n case 'SET_SESSION':\n return {\n ...state,\n session: action.value,\n };\n case 'START':\n return {\n ...state,\n active: true,\n };\n case 'RESET':\n return defaultState();\n default:\n return state;\n }\n};\nconst createAutoSignInStore = (reducer) => {\n let currentState = reducer(defaultState(), { type: 'RESET' });\n return {\n getState: () => currentState,\n dispatch: action => {\n currentState = reducer(currentState, action);\n },\n };\n};\nconst autoSignInStore = createAutoSignInStore(autoSignInReducer);\n\nexport { autoSignInStore };\n//# sourceMappingURL=autoSignInStore.mjs.map\n","import { syncSessionStorage } from '@aws-amplify/core';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Minutes until stored session invalidates is defaulted to 3 minutes\n// to maintain parity with Amazon Cognito user pools API behavior\nconst MS_TO_EXPIRY = 3 * 60 * 1000;\nconst TGT_STATE = 'CognitoSignInState';\nconst SIGN_IN_STATE_KEYS = {\n username: `${TGT_STATE}.username`,\n challengeName: `${TGT_STATE}.challengeName`,\n signInSession: `${TGT_STATE}.signInSession`,\n expiry: `${TGT_STATE}.expiry`,\n};\nconst signInReducer = (state, action) => {\n switch (action.type) {\n case 'SET_SIGN_IN_SESSION':\n persistSignInState({ signInSession: action.value });\n return {\n ...state,\n signInSession: action.value,\n };\n case 'SET_SIGN_IN_STATE':\n persistSignInState(action.value);\n return {\n ...action.value,\n };\n case 'SET_CHALLENGE_NAME':\n persistSignInState({ challengeName: action.value });\n return {\n ...state,\n challengeName: action.value,\n };\n case 'SET_USERNAME':\n persistSignInState({ username: action.value });\n return {\n ...state,\n username: action.value,\n };\n case 'SET_INITIAL_STATE':\n return getInitialState();\n case 'RESET_STATE':\n clearPersistedSignInState();\n return getDefaultState();\n // this state is never reachable\n default:\n return state;\n }\n};\nconst isExpired = (expiryDate) => {\n const expiryTimestamp = Number(expiryDate);\n const currentTimestamp = Date.now();\n return expiryTimestamp <= currentTimestamp;\n};\nconst resetActiveSignInState = () => {\n signInStore.dispatch({ type: 'RESET_STATE' });\n};\nconst clearPersistedSignInState = () => {\n for (const stateKey of Object.values(SIGN_IN_STATE_KEYS)) {\n syncSessionStorage.removeItem(stateKey);\n }\n};\nconst getDefaultState = () => ({\n username: undefined,\n challengeName: undefined,\n signInSession: undefined,\n});\n// Hydrate signInStore from syncSessionStorage if the session has not expired\nconst getInitialState = () => {\n const expiry = syncSessionStorage.getItem(SIGN_IN_STATE_KEYS.expiry);\n if (!expiry || isExpired(expiry)) {\n clearPersistedSignInState();\n return getDefaultState();\n }\n const username = syncSessionStorage.getItem(SIGN_IN_STATE_KEYS.username) ?? undefined;\n const challengeName = (syncSessionStorage.getItem(SIGN_IN_STATE_KEYS.challengeName) ?? undefined);\n const signInSession = syncSessionStorage.getItem(SIGN_IN_STATE_KEYS.signInSession) ?? undefined;\n return {\n username,\n challengeName,\n signInSession,\n };\n};\nconst createStore = reducer => {\n let currentState = reducer(getDefaultState(), { type: 'SET_INITIAL_STATE' });\n return {\n getState: () => currentState,\n dispatch: action => {\n currentState = reducer(currentState, action);\n },\n };\n};\nconst signInStore = createStore(signInReducer);\nfunction setActiveSignInState(state) {\n signInStore.dispatch({\n type: 'SET_SIGN_IN_STATE',\n value: state,\n });\n}\n// Save local state into Session Storage\nconst persistSignInState = ({ challengeName, signInSession, username, }) => {\n username && syncSessionStorage.setItem(SIGN_IN_STATE_KEYS.username, username);\n challengeName &&\n syncSessionStorage.setItem(SIGN_IN_STATE_KEYS.challengeName, challengeName);\n if (signInSession) {\n syncSessionStorage.setItem(SIGN_IN_STATE_KEYS.signInSession, signInSession);\n // Updates expiry when session is passed\n syncSessionStorage.setItem(SIGN_IN_STATE_KEYS.expiry, String(Date.now() + MS_TO_EXPIRY));\n }\n};\n\nexport { persistSignInState, resetActiveSignInState, setActiveSignInState, signInStore };\n//# sourceMappingURL=signInStore.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst NOT_SUPPORTED_RECOVERY_SUGGESTION = 'Passkeys may not be supported on this device. Ensure your application is running in a secure context (HTTPS) and Web Authentication API is supported.';\n\nexport { NOT_SUPPORTED_RECOVERY_SUGGESTION };\n//# sourceMappingURL=passkeyErrorPlatformConstants.mjs.map\n","import { createAssertionFunction, AmplifyError } from '@aws-amplify/core/internals/utils';\nimport { NOT_SUPPORTED_RECOVERY_SUGGESTION } from './passkeyErrorPlatformConstants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nclass PasskeyError extends AmplifyError {\n constructor(params) {\n super(params);\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n this.constructor = PasskeyError;\n Object.setPrototypeOf(this, PasskeyError.prototype);\n }\n}\nvar PasskeyErrorCode;\n(function (PasskeyErrorCode) {\n // not supported\n PasskeyErrorCode[\"PasskeyNotSupported\"] = \"PasskeyNotSupported\";\n // duplicate passkey\n PasskeyErrorCode[\"PasskeyAlreadyExists\"] = \"PasskeyAlreadyExists\";\n // misconfigurations\n PasskeyErrorCode[\"InvalidPasskeyRegistrationOptions\"] = \"InvalidPasskeyRegistrationOptions\";\n PasskeyErrorCode[\"InvalidPasskeyAuthenticationOptions\"] = \"InvalidPasskeyAuthenticationOptions\";\n PasskeyErrorCode[\"RelyingPartyMismatch\"] = \"RelyingPartyMismatch\";\n // failed credential creation / retrieval\n PasskeyErrorCode[\"PasskeyRegistrationFailed\"] = \"PasskeyRegistrationFailed\";\n PasskeyErrorCode[\"PasskeyRetrievalFailed\"] = \"PasskeyRetrievalFailed\";\n // cancel / aborts\n PasskeyErrorCode[\"PasskeyRegistrationCanceled\"] = \"PasskeyRegistrationCanceled\";\n PasskeyErrorCode[\"PasskeyAuthenticationCanceled\"] = \"PasskeyAuthenticationCanceled\";\n PasskeyErrorCode[\"PasskeyOperationAborted\"] = \"PasskeyOperationAborted\";\n})(PasskeyErrorCode || (PasskeyErrorCode = {}));\nconst ABORT_OR_CANCEL_RECOVERY_SUGGESTION = 'User may have canceled the ceremony or another interruption has occurred. Check underlying error for details.';\nconst MISCONFIGURATION_RECOVERY_SUGGESTION = 'Ensure your user pool is configured to support the WEB_AUTHN as an authentication factor.';\nconst passkeyErrorMap = {\n [PasskeyErrorCode.PasskeyNotSupported]: {\n message: 'Passkeys may not be supported on this device.',\n recoverySuggestion: NOT_SUPPORTED_RECOVERY_SUGGESTION,\n },\n [PasskeyErrorCode.InvalidPasskeyRegistrationOptions]: {\n message: 'Invalid passkey registration options.',\n recoverySuggestion: MISCONFIGURATION_RECOVERY_SUGGESTION,\n },\n [PasskeyErrorCode.InvalidPasskeyAuthenticationOptions]: {\n message: 'Invalid passkey authentication options.',\n recoverySuggestion: MISCONFIGURATION_RECOVERY_SUGGESTION,\n },\n [PasskeyErrorCode.PasskeyRegistrationFailed]: {\n message: 'Device failed to create passkey.',\n recoverySuggestion: NOT_SUPPORTED_RECOVERY_SUGGESTION,\n },\n [PasskeyErrorCode.PasskeyRetrievalFailed]: {\n message: 'Device failed to retrieve passkey.',\n recoverySuggestion: 'Passkeys may not be available on this device. Try an alternative authentication factor like PASSWORD, EMAIL_OTP, or SMS_OTP.',\n },\n [PasskeyErrorCode.PasskeyAlreadyExists]: {\n message: 'Passkey already exists in authenticator.',\n recoverySuggestion: 'Proceed with existing passkey or try again after deleting the credential.',\n },\n [PasskeyErrorCode.PasskeyRegistrationCanceled]: {\n message: 'Passkey registration ceremony has been canceled.',\n recoverySuggestion: ABORT_OR_CANCEL_RECOVERY_SUGGESTION,\n },\n [PasskeyErrorCode.PasskeyAuthenticationCanceled]: {\n message: 'Passkey authentication ceremony has been canceled.',\n recoverySuggestion: ABORT_OR_CANCEL_RECOVERY_SUGGESTION,\n },\n [PasskeyErrorCode.PasskeyOperationAborted]: {\n message: 'Passkey operation has been aborted.',\n recoverySuggestion: ABORT_OR_CANCEL_RECOVERY_SUGGESTION,\n },\n [PasskeyErrorCode.RelyingPartyMismatch]: {\n message: 'Relying party does not match current domain.',\n recoverySuggestion: 'Ensure relying party identifier matches current domain.',\n },\n};\nconst assertPasskeyError = createAssertionFunction(passkeyErrorMap, PasskeyError);\n\nexport { PasskeyError, PasskeyErrorCode, assertPasskeyError, passkeyErrorMap };\n//# sourceMappingURL=passkeyError.mjs.map\n","import { AmplifyErrorCode } from '@aws-amplify/core/internals/utils';\nimport { passkeyErrorMap, PasskeyErrorCode, PasskeyError } from './passkeyError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Handles Overlapping Passkey Errors Between Registration & Authentication\n * https://w3c.github.io/webauthn/#sctn-create-request-exceptions\n * https://w3c.github.io/webauthn/#sctn-get-request-exceptions\n *\n * @param err unknown\n * @returns PasskeyError\n */\nconst handlePasskeyError = (err) => {\n if (err instanceof Error) {\n // Passkey Operation Aborted\n if (err.name === 'AbortError') {\n const { message, recoverySuggestion } = passkeyErrorMap[PasskeyErrorCode.PasskeyOperationAborted];\n return new PasskeyError({\n name: PasskeyErrorCode.PasskeyOperationAborted,\n message,\n recoverySuggestion,\n underlyingError: err,\n });\n }\n // Relying Party / Domain Mismatch\n if (err.name === 'SecurityError') {\n const { message, recoverySuggestion } = passkeyErrorMap[PasskeyErrorCode.RelyingPartyMismatch];\n return new PasskeyError({\n name: PasskeyErrorCode.RelyingPartyMismatch,\n message,\n recoverySuggestion,\n underlyingError: err,\n });\n }\n }\n return new PasskeyError({\n name: AmplifyErrorCode.Unknown,\n message: 'An unknown error has occurred.',\n underlyingError: err,\n });\n};\n\nexport { handlePasskeyError };\n//# sourceMappingURL=handlePasskeyError.mjs.map\n","import { handlePasskeyError } from './handlePasskeyError.mjs';\nimport { PasskeyError, passkeyErrorMap, PasskeyErrorCode } from './passkeyError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Handle Passkey Authentication Errors\n * https://w3c.github.io/webauthn/#sctn-get-request-exceptions\n *\n * @param err unknown\n * @returns PasskeyError\n */\nconst handlePasskeyAuthenticationError = (err) => {\n if (err instanceof PasskeyError) {\n return err;\n }\n if (err instanceof Error) {\n if (err.name === 'NotAllowedError') {\n const { message, recoverySuggestion } = passkeyErrorMap[PasskeyErrorCode.PasskeyAuthenticationCanceled];\n return new PasskeyError({\n name: PasskeyErrorCode.PasskeyAuthenticationCanceled,\n message,\n recoverySuggestion,\n underlyingError: err,\n });\n }\n }\n return handlePasskeyError(err);\n};\n\nexport { handlePasskeyAuthenticationError };\n//# sourceMappingURL=handlePasskeyAuthenticationError.mjs.map\n","import { isBrowser } from '@aws-amplify/core/internals/utils';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Determines if passkey is supported in current context\n * Will return false if executed in non-secure context\n * @returns boolean\n */\nconst getIsPasskeySupported = () => {\n return (isBrowser() &&\n window.isSecureContext &&\n 'credentials' in navigator &&\n typeof window.PublicKeyCredential === 'function');\n};\n\nexport { getIsPasskeySupported };\n//# sourceMappingURL=getIsPasskeySupported.mjs.map\n","import { base64Encoder } from '@aws-amplify/core/internals/utils';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// https://datatracker.ietf.org/doc/html/rfc4648#page-7\n/**\n * Converts an ArrayBuffer to a base64url encoded string\n * @param buffer - the ArrayBuffer instance of a Uint8Array\n * @returns string - a base64url encoded string\n */\nconst convertArrayBufferToBase64Url = (buffer) => {\n return base64Encoder.convert(new Uint8Array(buffer), {\n urlSafe: true,\n skipPadding: true,\n });\n};\n\nexport { convertArrayBufferToBase64Url };\n//# sourceMappingURL=convertArrayBufferToBase64Url.mjs.map\n","import { base64Decoder } from '@aws-amplify/core/internals/utils';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Converts a base64url encoded string to an ArrayBuffer\n * @param base64url - a base64url encoded string\n * @returns ArrayBuffer\n */\nconst convertBase64UrlToArrayBuffer = (base64url) => {\n return Uint8Array.from(base64Decoder.convert(base64url, { urlSafe: true }), x => x.charCodeAt(0)).buffer;\n};\n\nexport { convertBase64UrlToArrayBuffer };\n//# sourceMappingURL=convertBase64UrlToArrayBuffer.mjs.map\n","import { convertArrayBufferToBase64Url } from '../../../foundation/convert/base64url/convertArrayBufferToBase64Url.mjs';\nimport { convertBase64UrlToArrayBuffer } from '../../../foundation/convert/base64url/convertBase64UrlToArrayBuffer.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Deserializes Public Key Credential Creation Options JSON\n * @param input PasskeyCreateOptionsJson\n * @returns PublicKeyCredentialCreationOptions\n */\nconst deserializeJsonToPkcCreationOptions = (input) => {\n const userIdBuffer = convertBase64UrlToArrayBuffer(input.user.id);\n const challengeBuffer = convertBase64UrlToArrayBuffer(input.challenge);\n const excludeCredentialsWithBuffer = (input.excludeCredentials || []).map(excludeCred => ({\n ...excludeCred,\n id: convertBase64UrlToArrayBuffer(excludeCred.id),\n }));\n return {\n ...input,\n excludeCredentials: excludeCredentialsWithBuffer,\n challenge: challengeBuffer,\n user: {\n ...input.user,\n id: userIdBuffer,\n },\n };\n};\n/**\n * Serializes a Public Key Credential With Attestation to JSON\n * @param input PasskeyCreateResult\n * @returns PasskeyCreateResultJson\n */\nconst serializePkcWithAttestationToJson = (input) => {\n const response = {\n clientDataJSON: convertArrayBufferToBase64Url(input.response.clientDataJSON),\n attestationObject: convertArrayBufferToBase64Url(input.response.attestationObject),\n transports: input.response.getTransports(),\n publicKeyAlgorithm: input.response.getPublicKeyAlgorithm(),\n authenticatorData: convertArrayBufferToBase64Url(input.response.getAuthenticatorData()),\n };\n const publicKey = input.response.getPublicKey();\n if (publicKey) {\n response.publicKey = convertArrayBufferToBase64Url(publicKey);\n }\n const resultJson = {\n type: input.type,\n id: input.id,\n rawId: convertArrayBufferToBase64Url(input.rawId),\n clientExtensionResults: input.getClientExtensionResults(),\n response,\n };\n if (input.authenticatorAttachment) {\n resultJson.authenticatorAttachment = input.authenticatorAttachment;\n }\n return resultJson;\n};\n/**\n * Deserializes Public Key Credential Get Options JSON\n * @param input PasskeyGetOptionsJson\n * @returns PublicKeyCredentialRequestOptions\n */\nconst deserializeJsonToPkcGetOptions = (input) => {\n const challengeBuffer = convertBase64UrlToArrayBuffer(input.challenge);\n const allowedCredentialsWithBuffer = (input.allowCredentials || []).map(allowedCred => ({\n ...allowedCred,\n id: convertBase64UrlToArrayBuffer(allowedCred.id),\n }));\n return {\n ...input,\n challenge: challengeBuffer,\n allowCredentials: allowedCredentialsWithBuffer,\n };\n};\n/**\n * Serializes a Public Key Credential With Attestation to JSON\n * @param input PasskeyGetResult\n * @returns PasskeyGetResultJson\n */\nconst serializePkcWithAssertionToJson = (input) => {\n const response = {\n clientDataJSON: convertArrayBufferToBase64Url(input.response.clientDataJSON),\n authenticatorData: convertArrayBufferToBase64Url(input.response.authenticatorData),\n signature: convertArrayBufferToBase64Url(input.response.signature),\n };\n if (input.response.userHandle) {\n response.userHandle = convertArrayBufferToBase64Url(input.response.userHandle);\n }\n const resultJson = {\n id: input.id,\n rawId: convertArrayBufferToBase64Url(input.rawId),\n type: input.type,\n clientExtensionResults: input.getClientExtensionResults(),\n response,\n };\n if (input.authenticatorAttachment) {\n resultJson.authenticatorAttachment = input.authenticatorAttachment;\n }\n return resultJson;\n};\n\nexport { deserializeJsonToPkcCreationOptions, deserializeJsonToPkcGetOptions, serializePkcWithAssertionToJson, serializePkcWithAttestationToJson };\n//# sourceMappingURL=serde.mjs.map\n","import '@aws-amplify/core/internals/utils';\nimport { assertPasskeyError, PasskeyErrorCode } from '../errors/passkeyError.mjs';\nexport { assertValidCredentialCreationOptions } from './shared.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction assertCredentialIsPkcWithAuthenticatorAttestationResponse(credential) {\n assertPasskeyError(credential &&\n credential instanceof PublicKeyCredential &&\n credential.response instanceof AuthenticatorAttestationResponse, PasskeyErrorCode.PasskeyRegistrationFailed);\n}\nfunction assertCredentialIsPkcWithAuthenticatorAssertionResponse(credential) {\n assertPasskeyError(credential &&\n credential instanceof PublicKeyCredential &&\n credential.response instanceof AuthenticatorAssertionResponse, PasskeyErrorCode.PasskeyRetrievalFailed);\n}\n\nexport { assertCredentialIsPkcWithAuthenticatorAssertionResponse, assertCredentialIsPkcWithAuthenticatorAttestationResponse };\n//# sourceMappingURL=index.mjs.map\n","import { handlePasskeyAuthenticationError } from './errors/handlePasskeyAuthenticationError.mjs';\nimport '@aws-amplify/core/internals/utils';\nimport { assertPasskeyError, PasskeyErrorCode } from './errors/passkeyError.mjs';\nimport { getIsPasskeySupported } from './getIsPasskeySupported.mjs';\nimport { deserializeJsonToPkcGetOptions, serializePkcWithAssertionToJson } from './serde.mjs';\nimport { assertCredentialIsPkcWithAuthenticatorAssertionResponse } from './types/index.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst getPasskey = async (input) => {\n try {\n const isPasskeySupported = getIsPasskeySupported();\n assertPasskeyError(isPasskeySupported, PasskeyErrorCode.PasskeyNotSupported);\n const passkeyGetOptions = deserializeJsonToPkcGetOptions(input);\n const credential = await navigator.credentials.get({\n publicKey: passkeyGetOptions,\n });\n assertCredentialIsPkcWithAuthenticatorAssertionResponse(credential);\n return serializePkcWithAssertionToJson(credential);\n }\n catch (err) {\n throw handlePasskeyAuthenticationError(err);\n }\n};\n\nexport { getPasskey };\n//# sourceMappingURL=getPasskey.mjs.map\n","import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { cognitoUserPoolTransferHandler } from './shared/handler/cognitoUserPoolTransferHandler.mjs';\nimport { createUserPoolSerializer } from './shared/serde/createUserPoolSerializer.mjs';\nimport { createUserPoolDeserializer } from './shared/serde/createUserPoolDeserializer.mjs';\nimport '@aws-amplify/core/internals/aws-client-utils';\nimport '@aws-amplify/core/internals/utils';\nimport { DEFAULT_SERVICE_CLIENT_API_CONFIG } from './constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst createConfirmDeviceClient = (config) => composeServiceApi(cognitoUserPoolTransferHandler, createUserPoolSerializer('ConfirmDevice'), createUserPoolDeserializer(), {\n ...DEFAULT_SERVICE_CLIENT_API_CONFIG,\n ...config,\n});\n\nexport { createConfirmDeviceClient };\n//# sourceMappingURL=createConfirmDeviceClient.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst textEncoder = {\n convert(input) {\n return new TextEncoder().encode(input);\n },\n};\n\nexport { textEncoder };\n//# sourceMappingURL=index.mjs.map\n","/* eslint-disable */\n// @ts-nocheck -> BigInteger is already a vended utility\n// A small implementation of BigInteger based on http://www-cs-students.stanford.edu/~tjw/jsbn/\n//\n// All public methods have been removed except the following:\n// new BigInteger(a, b) (only radix 2, 4, 8, 16 and 32 supported)\n// toString (only radix 2, 4, 8, 16 and 32 supported)\n// negate\n// abs\n// compareTo\n// bitLength\n// mod\n// equals\n// add\n// subtract\n// multiply\n// divide\n// modPow\n/*\n * Copyright (c) 2003-2005 Tom Wu\n * All Rights Reserved.\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS-IS\" AND WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY\n * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.\n *\n * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,\n * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER\n * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF\n * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT\n * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n *\n * In addition, the following condition applies:\n *\n * All redistributions must retain an intact copy of this copyright notice\n * and disclaimer.\n */\n// (public) Constructor\nfunction BigInteger(a, b) {\n if (a != null)\n this.fromString(a, b);\n}\n// return new, unset BigInteger\nfunction nbi() {\n return new BigInteger(null, null);\n}\n// Bits per digit\nlet dbits;\n// JavaScript engine analysis\nconst canary = 0xdeadbeefcafe;\nconst j_lm = (canary & 0xffffff) === 0xefcafe;\n// am: Compute w_j += (x*this_i), propagate carries,\n// c is initial carry, returns final carry.\n// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n// We need to select the fastest one that works in this environment.\n// am1: use a single mult and divide to get the high bits,\n// max digit bits should be 26 because\n// max internal value = 2*dvalue^2-2*dvalue (< 2^53)\nfunction am1(i, x, w, j, c, n) {\n while (--n >= 0) {\n const v = x * this[i++] + w[j] + c;\n c = Math.floor(v / 0x4000000);\n w[j++] = v & 0x3ffffff;\n }\n return c;\n}\n// am2 avoids a big mult-and-extract completely.\n// Max digit bits should be <= 30 because we do bitwise ops\n// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\nfunction am2(i, x, w, j, c, n) {\n const xl = x & 0x7fff;\n const xh = x >> 15;\n while (--n >= 0) {\n let l = this[i] & 0x7fff;\n const h = this[i++] >> 15;\n const m = xh * l + h * xl;\n l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);\n c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);\n w[j++] = l & 0x3fffffff;\n }\n return c;\n}\n// Alternately, set max digit bits to 28 since some\n// browsers slow down when dealing with 32-bit numbers.\nfunction am3(i, x, w, j, c, n) {\n const xl = x & 0x3fff;\n const xh = x >> 14;\n while (--n >= 0) {\n let l = this[i] & 0x3fff;\n const h = this[i++] >> 14;\n const m = xh * l + h * xl;\n l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;\n c = (l >> 28) + (m >> 14) + xh * h;\n w[j++] = l & 0xfffffff;\n }\n return c;\n}\nconst inBrowser = typeof navigator !== 'undefined';\nif (inBrowser && j_lm && navigator.appName === 'Microsoft Internet Explorer') {\n BigInteger.prototype.am = am2;\n dbits = 30;\n}\nelse if (inBrowser && j_lm && navigator.appName !== 'Netscape') {\n BigInteger.prototype.am = am1;\n dbits = 26;\n}\nelse {\n // Mozilla/Netscape seems to prefer am3\n BigInteger.prototype.am = am3;\n dbits = 28;\n}\nBigInteger.prototype.DB = dbits;\nBigInteger.prototype.DM = (1 << dbits) - 1;\nBigInteger.prototype.DV = 1 << dbits;\nconst BI_FP = 52;\nBigInteger.prototype.FV = Math.pow(2, BI_FP);\nBigInteger.prototype.F1 = BI_FP - dbits;\nBigInteger.prototype.F2 = 2 * dbits - BI_FP;\n// Digit conversions\nconst BI_RM = '0123456789abcdefghijklmnopqrstuvwxyz';\nconst BI_RC = [];\nlet rr, vv;\nrr = '0'.charCodeAt(0);\nfor (vv = 0; vv <= 9; ++vv)\n BI_RC[rr++] = vv;\nrr = 'a'.charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv)\n BI_RC[rr++] = vv;\nrr = 'A'.charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv)\n BI_RC[rr++] = vv;\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\nfunction intAt(s, i) {\n const c = BI_RC[s.charCodeAt(i)];\n return c == null ? -1 : c;\n}\n// (protected) copy this to r\nfunction bnpCopyTo(r) {\n for (let i = this.t - 1; i >= 0; --i)\n r[i] = this[i];\n r.t = this.t;\n r.s = this.s;\n}\n// (protected) set from integer value x, -DV <= x < DV\nfunction bnpFromInt(x) {\n this.t = 1;\n this.s = x < 0 ? -1 : 0;\n if (x > 0)\n this[0] = x;\n else if (x < -1)\n this[0] = x + this.DV;\n else\n this.t = 0;\n}\n// return bigint initialized to value\nfunction nbv(i) {\n const r = nbi();\n r.fromInt(i);\n return r;\n}\n// (protected) set from string and radix\nfunction bnpFromString(s, b) {\n let k;\n if (b === 16)\n k = 4;\n else if (b === 8)\n k = 3;\n else if (b === 2)\n k = 1;\n else if (b === 32)\n k = 5;\n else if (b === 4)\n k = 2;\n else\n throw new Error('Only radix 2, 4, 8, 16, 32 are supported');\n this.t = 0;\n this.s = 0;\n let i = s.length;\n let mi = false;\n let sh = 0;\n while (--i >= 0) {\n const x = intAt(s, i);\n if (x < 0) {\n if (s.charAt(i) === '-')\n mi = true;\n continue;\n }\n mi = false;\n if (sh === 0)\n this[this.t++] = x;\n else if (sh + k > this.DB) {\n this[this.t - 1] |= (x & ((1 << (this.DB - sh)) - 1)) << sh;\n this[this.t++] = x >> (this.DB - sh);\n }\n else\n this[this.t - 1] |= x << sh;\n sh += k;\n if (sh >= this.DB)\n sh -= this.DB;\n }\n this.clamp();\n if (mi)\n BigInteger.ZERO.subTo(this, this);\n}\n// (protected) clamp off excess high words\nfunction bnpClamp() {\n const c = this.s & this.DM;\n while (this.t > 0 && this[this.t - 1] == c)\n --this.t;\n}\n// (public) return string representation in given radix\nfunction bnToString(b) {\n if (this.s < 0)\n return '-' + this.negate().toString(b);\n let k;\n if (b == 16)\n k = 4;\n else if (b === 8)\n k = 3;\n else if (b === 2)\n k = 1;\n else if (b === 32)\n k = 5;\n else if (b === 4)\n k = 2;\n else\n throw new Error('Only radix 2, 4, 8, 16, 32 are supported');\n const km = (1 << k) - 1;\n let d;\n let m = false;\n let r = '';\n let i = this.t;\n let p = this.DB - ((i * this.DB) % k);\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = int2char(d);\n }\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & ((1 << p) - 1)) << (k - p);\n d |= this[--i] >> (p += this.DB - k);\n }\n else {\n d = (this[i] >> (p -= k)) & km;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if (d > 0)\n m = true;\n if (m)\n r += int2char(d);\n }\n }\n return m ? r : '0';\n}\n// (public) -this\nfunction bnNegate() {\n const r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n}\n// (public) |this|\nfunction bnAbs() {\n return this.s < 0 ? this.negate() : this;\n}\n// (public) return + if this > a, - if this < a, 0 if equal\nfunction bnCompareTo(a) {\n let r = this.s - a.s;\n if (r != 0)\n return r;\n let i = this.t;\n r = i - a.t;\n if (r != 0)\n return this.s < 0 ? -r : r;\n while (--i >= 0)\n if ((r = this[i] - a[i]) != 0)\n return r;\n return 0;\n}\n// returns bit length of the integer x\nfunction nbits(x) {\n let r = 1;\n let t;\n if ((t = x >>> 16) !== 0) {\n x = t;\n r += 16;\n }\n if ((t = x >> 8) !== 0) {\n x = t;\n r += 8;\n }\n if ((t = x >> 4) !== 0) {\n x = t;\n r += 4;\n }\n if ((t = x >> 2) !== 0) {\n x = t;\n r += 2;\n }\n if ((t = x >> 1) !== 0) {\n x = t;\n r += 1;\n }\n return r;\n}\n// (public) return the number of bits in \"this\"\nfunction bnBitLength() {\n if (this.t <= 0)\n return 0;\n return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM));\n}\n// (protected) r = this << n*DB\nfunction bnpDLShiftTo(n, r) {\n let i;\n for (i = this.t - 1; i >= 0; --i)\n r[i + n] = this[i];\n for (i = n - 1; i >= 0; --i)\n r[i] = 0;\n r.t = this.t + n;\n r.s = this.s;\n}\n// (protected) r = this >> n*DB\nfunction bnpDRShiftTo(n, r) {\n for (let i = n; i < this.t; ++i)\n r[i - n] = this[i];\n r.t = Math.max(this.t - n, 0);\n r.s = this.s;\n}\n// (protected) r = this << n\nfunction bnpLShiftTo(n, r) {\n const bs = n % this.DB;\n const cbs = this.DB - bs;\n const bm = (1 << cbs) - 1;\n const ds = Math.floor(n / this.DB);\n let c = (this.s << bs) & this.DM;\n let i;\n for (i = this.t - 1; i >= 0; --i) {\n r[i + ds + 1] = (this[i] >> cbs) | c;\n c = (this[i] & bm) << bs;\n }\n for (i = ds - 1; i >= 0; --i)\n r[i] = 0;\n r[ds] = c;\n r.t = this.t + ds + 1;\n r.s = this.s;\n r.clamp();\n}\n// (protected) r = this >> n\nfunction bnpRShiftTo(n, r) {\n r.s = this.s;\n const ds = Math.floor(n / this.DB);\n if (ds >= this.t) {\n r.t = 0;\n return;\n }\n const bs = n % this.DB;\n const cbs = this.DB - bs;\n const bm = (1 << bs) - 1;\n r[0] = this[ds] >> bs;\n for (let i = ds + 1; i < this.t; ++i) {\n r[i - ds - 1] |= (this[i] & bm) << cbs;\n r[i - ds] = this[i] >> bs;\n }\n if (bs > 0)\n r[this.t - ds - 1] |= (this.s & bm) << cbs;\n r.t = this.t - ds;\n r.clamp();\n}\n// (protected) r = this - a\nfunction bnpSubTo(a, r) {\n let i = 0;\n let c = 0;\n const m = Math.min(a.t, this.t);\n while (i < m) {\n c += this[i] - a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n if (a.t < this.t) {\n c -= a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n }\n else {\n c += this.s;\n while (i < a.t) {\n c -= a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c -= a.s;\n }\n r.s = c < 0 ? -1 : 0;\n if (c < -1)\n r[i++] = this.DV + c;\n else if (c > 0)\n r[i++] = c;\n r.t = i;\n r.clamp();\n}\n// (protected) r = this * a, r != this,a (HAC 14.12)\n// \"this\" should be the larger one if appropriate.\nfunction bnpMultiplyTo(a, r) {\n const x = this.abs();\n const y = a.abs();\n let i = x.t;\n r.t = i + y.t;\n while (--i >= 0)\n r[i] = 0;\n for (i = 0; i < y.t; ++i)\n r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);\n r.s = 0;\n r.clamp();\n if (this.s !== a.s)\n BigInteger.ZERO.subTo(r, r);\n}\n// (protected) r = this^2, r != this (HAC 14.16)\nfunction bnpSquareTo(r) {\n const x = this.abs();\n let i = (r.t = 2 * x.t);\n while (--i >= 0)\n r[i] = 0;\n for (i = 0; i < x.t - 1; ++i) {\n const c = x.am(i, x[i], r, 2 * i, 0, 1);\n if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >=\n x.DV) {\n r[i + x.t] -= x.DV;\n r[i + x.t + 1] = 1;\n }\n }\n if (r.t > 0)\n r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);\n r.s = 0;\n r.clamp();\n}\n// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n// r != q, this != m. q or r may be null.\nfunction bnpDivRemTo(m, q, r) {\n const pm = m.abs();\n if (pm.t <= 0)\n return;\n const pt = this.abs();\n if (pt.t < pm.t) {\n if (q != null)\n q.fromInt(0);\n if (r != null)\n this.copyTo(r);\n return;\n }\n if (r === null)\n r = nbi();\n const y = nbi();\n const ts = this.s;\n const ms = m.s;\n const nsh = this.DB - nbits(pm[pm.t - 1]);\n // normalize modulus\n if (nsh > 0) {\n pm.lShiftTo(nsh, y);\n pt.lShiftTo(nsh, r);\n }\n else {\n pm.copyTo(y);\n pt.copyTo(r);\n }\n const ys = y.t;\n const y0 = y[ys - 1];\n if (y0 === 0)\n return;\n const yt = y0 * (1 << this.F1) + (ys > 1 ? y[ys - 2] >> this.F2 : 0);\n const d1 = this.FV / yt;\n const d2 = (1 << this.F1) / yt;\n const e = 1 << this.F2;\n let i = r.t;\n let j = i - ys;\n const t = q === null ? nbi() : q;\n y.dlShiftTo(j, t);\n if (r.compareTo(t) >= 0) {\n r[r.t++] = 1;\n r.subTo(t, r);\n }\n BigInteger.ONE.dlShiftTo(ys, t);\n t.subTo(y, y);\n // \"negative\" y so we can replace sub with am later\n while (y.t < ys)\n y[y.t++] = 0;\n while (--j >= 0) {\n // Estimate quotient digit\n let qd = r[--i] === y0 ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);\n if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) {\n // Try it out\n y.dlShiftTo(j, t);\n r.subTo(t, r);\n while (r[i] < --qd)\n r.subTo(t, r);\n }\n }\n if (q !== null) {\n r.drShiftTo(ys, q);\n if (ts !== ms)\n BigInteger.ZERO.subTo(q, q);\n }\n r.t = ys;\n r.clamp();\n if (nsh > 0)\n r.rShiftTo(nsh, r);\n // Denormalize remainder\n if (ts < 0)\n BigInteger.ZERO.subTo(r, r);\n}\n// (public) this mod a\nfunction bnMod(a) {\n const r = nbi();\n this.abs().divRemTo(a, null, r);\n if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0)\n a.subTo(r, r);\n return r;\n}\n// (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n// justification:\n// xy == 1 (mod m)\n// xy = 1+km\n// xy(2-xy) = (1+km)(1-km)\n// x[y(2-xy)] = 1-k^2m^2\n// x[y(2-xy)] == 1 (mod m^2)\n// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n// JS multiply \"overflows\" differently from C/C++, so care is needed here.\nfunction bnpInvDigit() {\n if (this.t < 1)\n return 0;\n const x = this[0];\n if ((x & 1) === 0)\n return 0;\n let y = x & 3;\n // y == 1/x mod 2^2\n y = (y * (2 - (x & 0xf) * y)) & 0xf;\n // y == 1/x mod 2^4\n y = (y * (2 - (x & 0xff) * y)) & 0xff;\n // y == 1/x mod 2^8\n y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff;\n // y == 1/x mod 2^16\n // last step - calculate inverse mod DV directly;\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n y = (y * (2 - ((x * y) % this.DV))) % this.DV;\n // y == 1/x mod 2^dbits\n // we really want the negative inverse, and -DV < y < DV\n return y > 0 ? this.DV - y : -y;\n}\nfunction bnEquals(a) {\n return this.compareTo(a) === 0;\n}\n// (protected) r = this + a\nfunction bnpAddTo(a, r) {\n let i = 0;\n let c = 0;\n const m = Math.min(a.t, this.t);\n while (i < m) {\n c += this[i] + a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n if (a.t < this.t) {\n c += a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n }\n else {\n c += this.s;\n while (i < a.t) {\n c += a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += a.s;\n }\n r.s = c < 0 ? -1 : 0;\n if (c > 0)\n r[i++] = c;\n else if (c < -1)\n r[i++] = this.DV + c;\n r.t = i;\n r.clamp();\n}\n// (public) this + a\nfunction bnAdd(a) {\n const r = nbi();\n this.addTo(a, r);\n return r;\n}\n// (public) this - a\nfunction bnSubtract(a) {\n const r = nbi();\n this.subTo(a, r);\n return r;\n}\n// (public) this * a\nfunction bnMultiply(a) {\n const r = nbi();\n this.multiplyTo(a, r);\n return r;\n}\n// (public) this / a\nfunction bnDivide(a) {\n const r = nbi();\n this.divRemTo(a, r, null);\n return r;\n}\n// Montgomery reduction\nfunction Montgomery(m) {\n this.m = m;\n this.mp = m.invDigit();\n this.mpl = this.mp & 0x7fff;\n this.mph = this.mp >> 15;\n this.um = (1 << (m.DB - 15)) - 1;\n this.mt2 = 2 * m.t;\n}\n// xR mod m\nfunction montConvert(x) {\n const r = nbi();\n x.abs().dlShiftTo(this.m.t, r);\n r.divRemTo(this.m, null, r);\n if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0)\n this.m.subTo(r, r);\n return r;\n}\n// x/R mod m\nfunction montRevert(x) {\n const r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n}\n// x = x/R mod m (HAC 14.32)\nfunction montReduce(x) {\n while (x.t <= this.mt2)\n // pad x so am has enough room later\n x[x.t++] = 0;\n for (let i = 0; i < this.m.t; ++i) {\n // faster way of calculating u0 = x[i]*mp mod DV\n let j = x[i] & 0x7fff;\n const u0 = (j * this.mpl +\n (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) &\n x.DM;\n // use am to combine the multiply-shift-add into one call\n j = i + this.m.t;\n x[j] += this.m.am(0, u0, x, i, 0, this.m.t);\n // propagate carry\n while (x[j] >= x.DV) {\n x[j] -= x.DV;\n x[++j]++;\n }\n }\n x.clamp();\n x.drShiftTo(this.m.t, x);\n if (x.compareTo(this.m) >= 0)\n x.subTo(this.m, x);\n}\n// r = \"x^2/R mod m\"; x != r\nfunction montSqrTo(x, r) {\n x.squareTo(r);\n this.reduce(r);\n}\n// r = \"xy/R mod m\"; x,y != r\nfunction montMulTo(x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n}\nMontgomery.prototype.convert = montConvert;\nMontgomery.prototype.revert = montRevert;\nMontgomery.prototype.reduce = montReduce;\nMontgomery.prototype.mulTo = montMulTo;\nMontgomery.prototype.sqrTo = montSqrTo;\n// (public) this^e % m (HAC 14.85)\nfunction bnModPow(e, m, callback) {\n let i = e.bitLength();\n let k;\n let r = nbv(1);\n const z = new Montgomery(m);\n if (i <= 0)\n return r;\n else if (i < 18)\n k = 1;\n else if (i < 48)\n k = 3;\n else if (i < 144)\n k = 4;\n else if (i < 768)\n k = 5;\n else\n k = 6;\n // precomputation\n const g = [];\n let n = 3;\n const k1 = k - 1;\n const km = (1 << k) - 1;\n g[1] = z.convert(this);\n if (k > 1) {\n const g2 = nbi();\n z.sqrTo(g[1], g2);\n while (n <= km) {\n g[n] = nbi();\n z.mulTo(g2, g[n - 2], g[n]);\n n += 2;\n }\n }\n let j = e.t - 1;\n let w;\n let is1 = true;\n let r2 = nbi();\n let t;\n i = nbits(e[j]) - 1;\n while (j >= 0) {\n if (i >= k1)\n w = (e[j] >> (i - k1)) & km;\n else {\n w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i);\n if (j > 0)\n w |= e[j - 1] >> (this.DB + i - k1);\n }\n n = k;\n while ((w & 1) === 0) {\n w >>= 1;\n --n;\n }\n if ((i -= n) < 0) {\n i += this.DB;\n --j;\n }\n if (is1) {\n // ret == 1, don't bother squaring or multiplying it\n g[w].copyTo(r);\n is1 = false;\n }\n else {\n while (n > 1) {\n z.sqrTo(r, r2);\n z.sqrTo(r2, r);\n n -= 2;\n }\n if (n > 0)\n z.sqrTo(r, r2);\n else {\n t = r;\n r = r2;\n r2 = t;\n }\n z.mulTo(r2, g[w], r);\n }\n while (j >= 0 && (e[j] & (1 << i)) === 0) {\n z.sqrTo(r, r2);\n t = r;\n r = r2;\n r2 = t;\n if (--i < 0) {\n i = this.DB - 1;\n --j;\n }\n }\n }\n const result = z.revert(r);\n callback(null, result);\n return result;\n}\n// protected\nBigInteger.prototype.copyTo = bnpCopyTo;\nBigInteger.prototype.fromInt = bnpFromInt;\nBigInteger.prototype.fromString = bnpFromString;\nBigInteger.prototype.clamp = bnpClamp;\nBigInteger.prototype.dlShiftTo = bnpDLShiftTo;\nBigInteger.prototype.drShiftTo = bnpDRShiftTo;\nBigInteger.prototype.lShiftTo = bnpLShiftTo;\nBigInteger.prototype.rShiftTo = bnpRShiftTo;\nBigInteger.prototype.subTo = bnpSubTo;\nBigInteger.prototype.multiplyTo = bnpMultiplyTo;\nBigInteger.prototype.squareTo = bnpSquareTo;\nBigInteger.prototype.divRemTo = bnpDivRemTo;\nBigInteger.prototype.invDigit = bnpInvDigit;\nBigInteger.prototype.addTo = bnpAddTo;\n// public\nBigInteger.prototype.toString = bnToString;\nBigInteger.prototype.negate = bnNegate;\nBigInteger.prototype.abs = bnAbs;\nBigInteger.prototype.compareTo = bnCompareTo;\nBigInteger.prototype.bitLength = bnBitLength;\nBigInteger.prototype.mod = bnMod;\nBigInteger.prototype.equals = bnEquals;\nBigInteger.prototype.add = bnAdd;\nBigInteger.prototype.subtract = bnSubtract;\nBigInteger.prototype.multiply = bnMultiply;\nBigInteger.prototype.divide = bnDivide;\nBigInteger.prototype.modPow = bnModPow;\n// \"constants\"\nBigInteger.ZERO = nbv(0);\nBigInteger.ONE = nbv(1);\n\nexport { BigInteger as default };\n//# sourceMappingURL=BigInteger.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n */\nconst calculateS = async ({ a, g, k, x, B, N, U, }) => {\n return new Promise((resolve, reject) => {\n g.modPow(x, N, (outerErr, outerResult) => {\n if (outerErr) {\n reject(outerErr);\n return;\n }\n B.subtract(k.multiply(outerResult)).modPow(a.add(U.multiply(x)), N, (innerErr, innerResult) => {\n if (innerErr) {\n reject(innerErr);\n return;\n }\n resolve(innerResult.mod(N));\n });\n });\n });\n};\n\nexport { calculateS };\n//# sourceMappingURL=calculateS.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst INIT_N = 'FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1' +\n '29024E088A67CC74020BBEA63B139B22514A08798E3404DD' +\n 'EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245' +\n 'E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED' +\n 'EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D' +\n 'C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F' +\n '83655D23DCA3AD961C62F356208552BB9ED529077096966D' +\n '670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B' +\n 'E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9' +\n 'DE2BCBF6955817183995497CEA956AE515D2261898FA0510' +\n '15728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64' +\n 'ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7' +\n 'ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6B' +\n 'F12FFA06D98A0864D87602733EC86A64521F2B18177B200C' +\n 'BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31' +\n '43DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF';\nconst SHORT_TO_HEX = {};\nconst HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\n\nexport { HEX_TO_SHORT, INIT_N, SHORT_TO_HEX };\n//# sourceMappingURL=constants.mjs.map\n","import { HEX_TO_SHORT } from './constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Converts a hexadecimal encoded string to a Uint8Array of bytes.\n *\n * @param encoded The hexadecimal encoded string\n */\nconst getBytesFromHex = (encoded) => {\n if (encoded.length % 2 !== 0) {\n throw new Error('Hex encoded strings must have an even number length');\n }\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n};\n\nexport { getBytesFromHex };\n//# sourceMappingURL=getBytesFromHex.mjs.map\n","import { SHORT_TO_HEX } from './constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Converts a Uint8Array of binary data to a hexadecimal encoded string.\n *\n * @param bytes The binary data to encode\n */\nconst getHexFromBytes = (bytes) => {\n let out = '';\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n};\n\nexport { getHexFromBytes };\n//# sourceMappingURL=getHexFromBytes.mjs.map\n","import { Sha256 } from '@aws-crypto/sha256-js';\nimport { getHexFromBytes } from './getHexFromBytes.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Calculate a hash from a `SourceData`\n * @param {SourceData} data Value to hash.\n * @returns {string} Hex-encoded hash.\n * @private\n */\nconst getHashFromData = (data) => {\n const sha256 = new Sha256();\n sha256.update(data);\n const hashedData = sha256.digestSync();\n const hashHexFromUint8 = getHexFromBytes(hashedData);\n return new Array(64 - hashHexFromUint8.length).join('0') + hashHexFromUint8;\n};\n\nexport { getHashFromData };\n//# sourceMappingURL=getHashFromData.mjs.map\n","import { getBytesFromHex } from './getBytesFromHex.mjs';\nimport { getHashFromData } from './getHashFromData.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Calculate a hash from a hex string\n * @param {string} hexStr Value to hash.\n * @returns {string} Hex-encoded hash.\n * @private\n */\nconst getHashFromHex = (hexStr) => getHashFromData(getBytesFromHex(hexStr));\n\nexport { getHashFromHex };\n//# sourceMappingURL=getHashFromHex.mjs.map\n","import BigInteger from './BigInteger/BigInteger.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Tests if a hex string has it most significant bit set (case-insensitive regex)\n */\nconst HEX_MSB_REGEX = /^[89a-f]/i;\n/**\n * Returns an unambiguous, even-length hex string of the two's complement encoding of an integer.\n *\n * It is compatible with the hex encoding of Java's BigInteger's toByteArray(), wich returns a\n * byte array containing the two's-complement representation of a BigInteger. The array contains\n * the minimum number of bytes required to represent the BigInteger, including at least one sign bit.\n *\n * Examples showing how ambiguity is avoided by left padding with:\n * \t\"00\" (for positive values where the most-significant-bit is set)\n * \"FF\" (for negative values where the most-significant-bit is set)\n *\n * padHex(bigInteger.fromInt(-236)) === \"FF14\"\n * padHex(bigInteger.fromInt(20)) === \"14\"\n *\n * padHex(bigInteger.fromInt(-200)) === \"FF38\"\n * padHex(bigInteger.fromInt(56)) === \"38\"\n *\n * padHex(bigInteger.fromInt(-20)) === \"EC\"\n * padHex(bigInteger.fromInt(236)) === \"00EC\"\n *\n * padHex(bigInteger.fromInt(-56)) === \"C8\"\n * padHex(bigInteger.fromInt(200)) === \"00C8\"\n *\n * @param {AuthBigInteger} bigInt Number to encode.\n * @returns {String} even-length hex string of the two's complement encoding.\n */\nconst getPaddedHex = (bigInt) => {\n if (!(bigInt instanceof BigInteger)) {\n throw new Error('Not a BigInteger');\n }\n const isNegative = bigInt.compareTo(BigInteger.ZERO) < 0;\n /* Get a hex string for abs(bigInt) */\n let hexStr = bigInt.abs().toString(16);\n /* Pad hex to even length if needed */\n hexStr = hexStr.length % 2 !== 0 ? `0${hexStr}` : hexStr;\n /* Prepend \"00\" if the most significant bit is set */\n hexStr = HEX_MSB_REGEX.test(hexStr) ? `00${hexStr}` : hexStr;\n if (isNegative) {\n /* Flip the bits of the representation */\n const invertedNibbles = hexStr\n .split('')\n .map((x) => {\n const invertedNibble = ~parseInt(x, 16) & 0xf;\n return '0123456789ABCDEF'.charAt(invertedNibble);\n })\n .join('');\n /* After flipping the bits, add one to get the 2's complement representation */\n const flippedBitsBI = new BigInteger(invertedNibbles, 16).add(BigInteger.ONE);\n hexStr = flippedBitsBI.toString(16);\n /*\n For hex strings starting with 'FF8', 'FF' can be dropped, e.g. 0xFFFF80=0xFF80=0x80=-128\n\n Any sequence of '1' bits on the left can always be substituted with a single '1' bit\n without changing the represented value.\n\n This only happens in the case when the input is 80...00\n */\n if (hexStr.toUpperCase().startsWith('FF8')) {\n hexStr = hexStr.substring(2);\n }\n }\n return hexStr;\n};\n\nexport { getPaddedHex };\n//# sourceMappingURL=getPaddedHex.mjs.map\n","import BigInteger from '../BigInteger/BigInteger.mjs';\nimport { getHashFromHex } from '../getHashFromHex.mjs';\nimport { getPaddedHex } from '../getPaddedHex.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n */\nconst calculateU = ({ A, B, }) => {\n const U = new BigInteger(getHashFromHex(getPaddedHex(A) + getPaddedHex(B)), 16);\n if (U.equals(BigInteger.ZERO)) {\n throw new Error('U cannot be zero.');\n }\n return U;\n};\n\nexport { calculateU };\n//# sourceMappingURL=calculateU.mjs.map\n","import { Sha256 } from '@aws-crypto/sha256-js';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Standard HKDF algorithm.\n *\n * @param {Uint8Array} ikm Input key material.\n * @param {Uint8Array} salt Salt value.\n * @param {Uint8Array} info Context and application specific info.\n *\n * @returns {Uint8Array} Strong key material.\n *\n * @internal\n */\nconst getHkdfKey = (ikm, salt, info) => {\n const awsCryptoHash = new Sha256(salt);\n awsCryptoHash.update(ikm);\n const resultFromAWSCryptoPrk = awsCryptoHash.digestSync();\n const awsCryptoHashHmac = new Sha256(resultFromAWSCryptoPrk);\n awsCryptoHashHmac.update(info);\n const resultFromAWSCryptoHmac = awsCryptoHashHmac.digestSync();\n const hashHexFromAWSCrypto = resultFromAWSCryptoHmac;\n return hashHexFromAWSCrypto.slice(0, 16);\n};\n\nexport { getHkdfKey };\n//# sourceMappingURL=getHkdfKey.mjs.map\n","import { WordArray } from '@aws-amplify/core/internals/utils';\nimport { getBytesFromHex } from './getBytesFromHex.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Returns a Uint8Array with a sequence of random nBytes\n *\n * @param {number} nBytes\n * @returns {Uint8Array} fixed-length sequence of random bytes\n */\nconst getRandomBytes = (nBytes) => {\n const str = new WordArray().random(nBytes).toString();\n return getBytesFromHex(str);\n};\n\nexport { getRandomBytes };\n//# sourceMappingURL=getRandomBytes.mjs.map\n","import { base64Encoder } from '@aws-amplify/core/internals/utils';\nimport { getRandomBytes } from './getRandomBytes.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Helper function to generate a random string\n * @returns {string} a random value.\n *\n * @internal\n */\nconst getRandomString = () => base64Encoder.convert(getRandomBytes(40));\n\nexport { getRandomString };\n//# sourceMappingURL=getRandomString.mjs.map\n","import { AuthError } from '../../../../../errors/AuthError.mjs';\nimport { textEncoder } from '../../textEncoder/index.mjs';\nimport BigInteger from '../BigInteger/BigInteger.mjs';\nimport { calculateS } from '../calculate/calculateS.mjs';\nimport { calculateU } from '../calculate/calculateU.mjs';\nimport { getBytesFromHex } from '../getBytesFromHex.mjs';\nimport { getHashFromData } from '../getHashFromData.mjs';\nimport { getHashFromHex } from '../getHashFromHex.mjs';\nimport { getHexFromBytes } from '../getHexFromBytes.mjs';\nimport { getHkdfKey } from '../getHkdfKey.mjs';\nimport { getPaddedHex } from '../getPaddedHex.mjs';\nimport { getRandomBytes } from '../getRandomBytes.mjs';\nimport { getRandomString } from '../getRandomString.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/** @class */\nclass AuthenticationHelper {\n constructor({ userPoolName, a, g, A, N, }) {\n this.encoder = textEncoder;\n this.userPoolName = userPoolName;\n this.a = a;\n this.g = g;\n this.A = A;\n this.N = N;\n this.k = new BigInteger(getHashFromHex(`${getPaddedHex(N)}${getPaddedHex(g)}`), 16);\n }\n /**\n * @returns {string} Generated random value included in password hash.\n */\n getRandomPassword() {\n if (!this.randomPassword) {\n throw new AuthError({\n name: 'EmptyBigIntegerRandomPassword',\n message: 'random password is empty',\n });\n }\n return this.randomPassword;\n }\n /**\n * @returns {string} Generated random value included in devices hash.\n */\n getSaltToHashDevices() {\n if (!this.saltToHashDevices) {\n throw new AuthError({\n name: 'EmptyBigIntegersaltToHashDevices',\n message: 'saltToHashDevices is empty',\n });\n }\n return this.saltToHashDevices;\n }\n /**\n * @returns {string} Value used to verify devices.\n */\n getVerifierDevices() {\n if (!this.verifierDevices) {\n throw new AuthError({\n name: 'EmptyBigIntegerVerifierDevices',\n message: 'verifyDevices is empty',\n });\n }\n return this.verifierDevices;\n }\n /**\n * Generate salts and compute verifier.\n *\n * @param {string} deviceGroupKey Devices to generate verifier for.\n * @param {string} username User to generate verifier for.\n *\n * @returns {Promise<void>}\n */\n async generateHashDevice(deviceGroupKey, username) {\n this.randomPassword = getRandomString();\n const combinedString = `${deviceGroupKey}${username}:${this.randomPassword}`;\n const hashedString = getHashFromData(combinedString);\n const hexRandom = getHexFromBytes(getRandomBytes(16));\n // The random hex will be unambiguously represented as a postive integer\n this.saltToHashDevices = getPaddedHex(new BigInteger(hexRandom, 16));\n return new Promise((resolve, reject) => {\n this.g.modPow(new BigInteger(getHashFromHex(this.saltToHashDevices + hashedString), 16), this.N, (err, result) => {\n if (err) {\n reject(err);\n return;\n }\n this.verifierDevices = getPaddedHex(result);\n resolve();\n });\n });\n }\n /**\n * Calculates the final HKDF key based on computed S value, computed U value and the key\n *\n * @param {String} username Username.\n * @param {String} password Password.\n * @param {AuthBigInteger} B Server B value.\n * @param {AuthBigInteger} salt Generated salt.\n */\n async getPasswordAuthenticationKey({ username, password, serverBValue, salt, }) {\n if (serverBValue.mod(this.N).equals(BigInteger.ZERO)) {\n throw new Error('B cannot be zero.');\n }\n const U = calculateU({\n A: this.A,\n B: serverBValue,\n });\n const usernamePassword = `${this.userPoolName}${username}:${password}`;\n const usernamePasswordHash = getHashFromData(usernamePassword);\n const x = new BigInteger(getHashFromHex(getPaddedHex(salt) + usernamePasswordHash), 16);\n const S = await calculateS({\n a: this.a,\n g: this.g,\n k: this.k,\n x,\n B: serverBValue,\n N: this.N,\n U,\n });\n const context = this.encoder.convert('Caldera Derived Key');\n const spacer = this.encoder.convert(String.fromCharCode(1));\n const info = new Uint8Array(context.byteLength + spacer.byteLength);\n info.set(context, 0);\n info.set(spacer, context.byteLength);\n const hkdfKey = getHkdfKey(getBytesFromHex(getPaddedHex(S)), getBytesFromHex(getPaddedHex(U)), info);\n return hkdfKey;\n }\n}\n\nexport { AuthenticationHelper as default };\n//# sourceMappingURL=AuthenticationHelper.mjs.map\n","import BigInteger from '../BigInteger/BigInteger.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * @internal\n */\nconst calculateA = async ({ a, g, N, }) => {\n return new Promise((resolve, reject) => {\n g.modPow(a, N, (err, A) => {\n if (err) {\n reject(err);\n return;\n }\n if (A.mod(N).equals(BigInteger.ZERO)) {\n reject(new Error('Illegal parameter. A mod N cannot be 0.'));\n return;\n }\n resolve(A);\n });\n });\n};\n\nexport { calculateA };\n//# sourceMappingURL=calculateA.mjs.map\n","import AuthenticationHelper from './AuthenticationHelper/AuthenticationHelper.mjs';\nimport BigInteger from './BigInteger/BigInteger.mjs';\nimport { calculateA } from './calculate/calculateA.mjs';\nimport { INIT_N } from './constants.mjs';\nimport '@aws-crypto/sha256-js';\nimport { getHexFromBytes } from './getHexFromBytes.mjs';\nimport { getRandomBytes } from './getRandomBytes.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Returns a new {@link AuthenticationHelper} instance with randomly generated BigInteger seed\n *\n * @param userPoolName Cognito user pool name.\n * @returns An {@link AuthenticationHelper} instance.\n *\n * @internal\n */\nconst getAuthenticationHelper = async (userPoolName) => {\n const N = new BigInteger(INIT_N, 16);\n const g = new BigInteger('2', 16);\n const a = generateRandomBigInteger();\n const A = await calculateA({ a, g, N });\n return new AuthenticationHelper({ userPoolName, a, g, A, N });\n};\n/**\n * Generates a random BigInteger.\n *\n * @returns {BigInteger} a random value.\n */\nconst generateRandomBigInteger = () => {\n // This will be interpreted as a postive 128-bit integer\n const hexRandom = getHexFromBytes(getRandomBytes(128));\n // There is no need to do randomBigInt.mod(this.N - 1) as N (3072-bit) is > 128 bytes (1024-bit)\n return new BigInteger(hexRandom, 16);\n};\n\nexport { getAuthenticationHelper };\n//# sourceMappingURL=getAuthenticationHelper.mjs.map\n","import { base64Encoder, getDeviceName } from '@aws-amplify/core/internals/utils';\nimport '@aws-amplify/core/internals/aws-client-utils/composers';\nimport '@aws-amplify/core/internals/aws-client-utils';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/shared/handler/cognitoUserPoolTransferHandler.mjs';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/constants.mjs';\nimport '../../../common/AuthErrorStrings.mjs';\nimport '../../../errors/types/validation.mjs';\nimport '../types/errors.mjs';\nimport { createConfirmDeviceClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/createConfirmDeviceClient.mjs';\nimport { createCognitoUserPoolEndpointResolver } from '../factories/createCognitoUserPoolEndpointResolver.mjs';\nimport '@aws-amplify/core';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers/regionParsers.mjs';\nimport { getAuthenticationHelper } from './srp/getAuthenticationHelper.mjs';\nimport { getBytesFromHex } from './srp/getBytesFromHex.mjs';\nimport '@aws-crypto/sha256-js';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * This function is used to kick off the device management flow.\n *\n * If an error is thrown while generating a hash device or calling the `ConfirmDevice`\n * client, then this API will ignore the error and return undefined. Otherwise the authentication\n * flow will not complete and the user won't be able to be signed in.\n *\n * @returns DeviceMetadata | undefined\n */\nasync function getNewDeviceMetadata({ userPoolId, userPoolEndpoint, newDeviceMetadata, accessToken, }) {\n if (!newDeviceMetadata)\n return undefined;\n const userPoolName = userPoolId.split('_')[1] || '';\n const authenticationHelper = await getAuthenticationHelper(userPoolName);\n const deviceKey = newDeviceMetadata?.DeviceKey;\n const deviceGroupKey = newDeviceMetadata?.DeviceGroupKey;\n try {\n await authenticationHelper.generateHashDevice(deviceGroupKey ?? '', deviceKey ?? '');\n }\n catch (errGenHash) {\n // TODO: log error here\n return undefined;\n }\n const deviceSecretVerifierConfig = {\n Salt: base64Encoder.convert(getBytesFromHex(authenticationHelper.getSaltToHashDevices())),\n PasswordVerifier: base64Encoder.convert(getBytesFromHex(authenticationHelper.getVerifierDevices())),\n };\n const randomPassword = authenticationHelper.getRandomPassword();\n try {\n const confirmDevice = createConfirmDeviceClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n await confirmDevice({ region: getRegionFromUserPoolId(userPoolId) }, {\n AccessToken: accessToken,\n DeviceName: await getDeviceName(),\n DeviceKey: newDeviceMetadata?.DeviceKey,\n DeviceSecretVerifierConfig: deviceSecretVerifierConfig,\n });\n return {\n deviceKey,\n deviceGroupKey,\n randomPassword,\n };\n }\n catch (error) {\n // TODO: log error here\n return undefined;\n }\n}\n\nexport { getNewDeviceMetadata };\n//# sourceMappingURL=getNewDeviceMetadata.mjs.map\n","import { Amplify } from '@aws-amplify/core';\nimport { assertTokenProviderConfig, AuthAction } from '@aws-amplify/core/internals/utils';\nimport { AuthErrorCodes } from '../../../common/AuthErrorStrings.mjs';\nimport '@aws-amplify/core/internals/aws-client-utils/composers';\nimport '@aws-amplify/core/internals/aws-client-utils';\nimport { AuthError } from '../../../errors/AuthError.mjs';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/shared/handler/cognitoUserPoolTransferHandler.mjs';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/constants.mjs';\nimport '../../../errors/types/validation.mjs';\nimport '../../../providers/cognito/types/errors.mjs';\nimport { createRespondToAuthChallengeClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/createRespondToAuthChallengeClient.mjs';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers/regionParsers.mjs';\nimport { createCognitoUserPoolEndpointResolver } from '../../../providers/cognito/factories/createCognitoUserPoolEndpointResolver.mjs';\nimport { cacheCognitoTokens } from '../../../providers/cognito/tokenProvider/cacheTokens.mjs';\nimport { dispatchSignedInHubEvent } from '../../../providers/cognito/utils/dispatchSignedInHubEvent.mjs';\nimport '../../utils/store/autoSignInStore.mjs';\nimport { signInStore, setActiveSignInState } from '../../utils/store/signInStore.mjs';\nimport { getAuthUserAgentValue } from '../../../utils/getAuthUserAgentValue.mjs';\nimport { assertPasskeyError, PasskeyErrorCode } from '../../utils/passkey/errors/passkeyError.mjs';\nimport { getPasskey } from '../../utils/passkey/getPasskey.mjs';\nimport { getNewDeviceMetadata } from '../../../providers/cognito/utils/getNewDeviceMetadata.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nasync function handleWebAuthnSignInResult(challengeParameters) {\n const authConfig = Amplify.getConfig().Auth?.Cognito;\n assertTokenProviderConfig(authConfig);\n const { username, signInSession, signInDetails, challengeName } = signInStore.getState();\n if (challengeName !== 'WEB_AUTHN' || !username) {\n throw new AuthError({\n name: AuthErrorCodes.SignInException,\n message: 'Unable to proceed due to invalid sign in state.',\n });\n }\n const { CREDENTIAL_REQUEST_OPTIONS: credentialRequestOptions } = challengeParameters;\n assertPasskeyError(!!credentialRequestOptions, PasskeyErrorCode.InvalidPasskeyAuthenticationOptions);\n const cred = await getPasskey(JSON.parse(credentialRequestOptions));\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: authConfig.userPoolEndpoint,\n }),\n });\n const { ChallengeName: nextChallengeName, ChallengeParameters: nextChallengeParameters, AuthenticationResult: authenticationResult, Session: nextSession, } = await respondToAuthChallenge({\n region: getRegionFromUserPoolId(authConfig.userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, {\n ChallengeName: 'WEB_AUTHN',\n ChallengeResponses: {\n USERNAME: username,\n CREDENTIAL: JSON.stringify(cred),\n },\n ClientId: authConfig.userPoolClientId,\n Session: signInSession,\n });\n setActiveSignInState({\n signInSession: nextSession,\n username,\n challengeName: nextChallengeName,\n signInDetails,\n });\n if (authenticationResult) {\n await cacheCognitoTokens({\n ...authenticationResult,\n username,\n NewDeviceMetadata: await getNewDeviceMetadata({\n userPoolId: authConfig.userPoolId,\n userPoolEndpoint: authConfig.userPoolEndpoint,\n newDeviceMetadata: authenticationResult.NewDeviceMetadata,\n accessToken: authenticationResult.AccessToken,\n }),\n signInDetails,\n });\n signInStore.dispatch({ type: 'RESET_STATE' });\n await dispatchSignedInHubEvent();\n return {\n isSignedIn: true,\n nextStep: { signInStep: 'DONE' },\n };\n }\n if (nextChallengeName === 'WEB_AUTHN') {\n throw new AuthError({\n name: AuthErrorCodes.SignInException,\n message: 'Sequential WEB_AUTHN challenges returned from underlying service cannot be handled.',\n });\n }\n return {\n challengeName: nextChallengeName,\n challengeParameters: nextChallengeParameters,\n };\n}\n\nexport { handleWebAuthnSignInResult };\n//# sourceMappingURL=handleWebAuthnSignInResult.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction getUserContextData({ username, userPoolId, userPoolClientId, }) {\n if (typeof window === 'undefined') {\n return undefined;\n }\n const amazonCognitoAdvancedSecurityData = window\n .AmazonCognitoAdvancedSecurityData;\n if (typeof amazonCognitoAdvancedSecurityData === 'undefined') {\n return undefined;\n }\n const advancedSecurityData = amazonCognitoAdvancedSecurityData.getData(username, userPoolId, userPoolClientId);\n if (advancedSecurityData) {\n const userContextData = {\n EncodedData: advancedSecurityData,\n };\n return userContextData;\n }\n return {};\n}\n\nexport { getUserContextData };\n//# sourceMappingURL=userContextData.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst MONTH_NAMES = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n];\nconst WEEK_NAMES = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\nconst getNowString = () => {\n const now = new Date();\n const weekDay = WEEK_NAMES[now.getUTCDay()];\n const month = MONTH_NAMES[now.getUTCMonth()];\n const day = now.getUTCDate();\n let hours = now.getUTCHours();\n if (hours < 10) {\n hours = `0${hours}`;\n }\n let minutes = now.getUTCMinutes();\n if (minutes < 10) {\n minutes = `0${minutes}`;\n }\n let seconds = now.getUTCSeconds();\n if (seconds < 10) {\n seconds = `0${seconds}`;\n }\n const year = now.getUTCFullYear();\n // ddd MMM D HH:mm:ss UTC YYYY\n const dateNow = `${weekDay} ${month} ${day} ${hours}:${minutes}:${seconds} UTC ${year}`;\n return dateNow;\n};\n\nexport { getNowString };\n//# sourceMappingURL=getNowString.mjs.map\n","import { Sha256 } from '@aws-crypto/sha256-js';\nimport { base64Encoder, base64Decoder } from '@aws-amplify/core/internals/utils';\nimport { textEncoder } from '../textEncoder/index.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst getSignatureString = ({ userPoolName, username, challengeParameters, dateNow, hkdf, }) => {\n const bufUPIDaToB = textEncoder.convert(userPoolName);\n const bufUNaToB = textEncoder.convert(username);\n const bufSBaToB = urlB64ToUint8Array(challengeParameters.SECRET_BLOCK);\n const bufDNaToB = textEncoder.convert(dateNow);\n const bufConcat = new Uint8Array(bufUPIDaToB.byteLength +\n bufUNaToB.byteLength +\n bufSBaToB.byteLength +\n bufDNaToB.byteLength);\n bufConcat.set(bufUPIDaToB, 0);\n bufConcat.set(bufUNaToB, bufUPIDaToB.byteLength);\n bufConcat.set(bufSBaToB, bufUPIDaToB.byteLength + bufUNaToB.byteLength);\n bufConcat.set(bufDNaToB, bufUPIDaToB.byteLength + bufUNaToB.byteLength + bufSBaToB.byteLength);\n const awsCryptoHash = new Sha256(hkdf);\n awsCryptoHash.update(bufConcat);\n const resultFromAWSCrypto = awsCryptoHash.digestSync();\n const signatureString = base64Encoder.convert(resultFromAWSCrypto);\n return signatureString;\n};\nconst urlB64ToUint8Array = (base64String) => {\n const padding = '='.repeat((4 - (base64String.length % 4)) % 4);\n const base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/');\n const rawData = base64Decoder.convert(base64);\n const outputArray = new Uint8Array(rawData.length);\n for (let i = 0; i < rawData.length; ++i) {\n outputArray[i] = rawData.charCodeAt(i);\n }\n return outputArray;\n};\n\nexport { getSignatureString };\n//# sourceMappingURL=getSignatureString.mjs.map\n","import '@aws-amplify/core/internals/aws-client-utils/composers';\nimport '@aws-amplify/core/internals/aws-client-utils';\nimport '@aws-amplify/core/internals/utils';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/shared/handler/cognitoUserPoolTransferHandler.mjs';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/constants.mjs';\nimport '../../../common/AuthErrorStrings.mjs';\nimport '../../../errors/types/validation.mjs';\nimport '../types/errors.mjs';\nimport { createRespondToAuthChallengeClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/createRespondToAuthChallengeClient.mjs';\nimport { createCognitoUserPoolEndpointResolver } from '../factories/createCognitoUserPoolEndpointResolver.mjs';\nimport '@aws-amplify/core';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers/regionParsers.mjs';\nimport { assertDeviceMetadata } from './types.mjs';\nimport { getAuthenticationHelper } from './srp/getAuthenticationHelper.mjs';\nimport './srp/constants.mjs';\nimport { getNowString } from './srp/getNowString.mjs';\nimport { getSignatureString } from './srp/getSignatureString.mjs';\nimport BigInteger from './srp/BigInteger/BigInteger.mjs';\nimport { getUserContextData } from './userContextData.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nasync function handleDeviceSRPAuth({ username, config, clientMetadata, session, tokenOrchestrator, }) {\n const { userPoolId, userPoolEndpoint } = config;\n const clientId = config.userPoolClientId;\n const deviceMetadata = await tokenOrchestrator?.getDeviceMetadata(username);\n assertDeviceMetadata(deviceMetadata);\n const authenticationHelper = await getAuthenticationHelper(deviceMetadata.deviceGroupKey);\n const challengeResponses = {\n USERNAME: username,\n SRP_A: authenticationHelper.A.toString(16),\n DEVICE_KEY: deviceMetadata.deviceKey,\n };\n const jsonReqResponseChallenge = {\n ChallengeName: 'DEVICE_SRP_AUTH',\n ClientId: clientId,\n ChallengeResponses: challengeResponses,\n ClientMetadata: clientMetadata,\n Session: session,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const { ChallengeParameters: respondedChallengeParameters, Session } = await respondToAuthChallenge({ region: getRegionFromUserPoolId(userPoolId) }, jsonReqResponseChallenge);\n return handleDevicePasswordVerifier(username, respondedChallengeParameters, clientMetadata, Session, authenticationHelper, config, tokenOrchestrator);\n}\nasync function handleDevicePasswordVerifier(username, challengeParameters, clientMetadata, session, authenticationHelper, { userPoolId, userPoolClientId, userPoolEndpoint }, tokenOrchestrator) {\n const deviceMetadata = await tokenOrchestrator?.getDeviceMetadata(username);\n assertDeviceMetadata(deviceMetadata);\n const serverBValue = new BigInteger(challengeParameters?.SRP_B, 16);\n const salt = new BigInteger(challengeParameters?.SALT, 16);\n const { deviceKey } = deviceMetadata;\n const { deviceGroupKey } = deviceMetadata;\n const hkdf = await authenticationHelper.getPasswordAuthenticationKey({\n username: deviceMetadata.deviceKey,\n password: deviceMetadata.randomPassword,\n serverBValue,\n salt,\n });\n const dateNow = getNowString();\n const challengeResponses = {\n USERNAME: challengeParameters?.USERNAME ?? username,\n PASSWORD_CLAIM_SECRET_BLOCK: challengeParameters?.SECRET_BLOCK,\n TIMESTAMP: dateNow,\n PASSWORD_CLAIM_SIGNATURE: getSignatureString({\n username: deviceKey,\n userPoolName: deviceGroupKey,\n challengeParameters,\n dateNow,\n hkdf,\n }),\n DEVICE_KEY: deviceKey,\n };\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReqResponseChallenge = {\n ChallengeName: 'DEVICE_PASSWORD_VERIFIER',\n ClientId: userPoolClientId,\n ChallengeResponses: challengeResponses,\n Session: session,\n ClientMetadata: clientMetadata,\n UserContextData,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n return respondToAuthChallenge({ region: getRegionFromUserPoolId(userPoolId) }, jsonReqResponseChallenge);\n}\n\nexport { handleDeviceSRPAuth };\n//# sourceMappingURL=handleDeviceSRPAuth.mjs.map\n","import { AuthError } from '../../../errors/AuthError.mjs';\nimport '@aws-amplify/core/internals/aws-client-utils/composers';\nimport '@aws-amplify/core/internals/aws-client-utils';\nimport '@aws-amplify/core/internals/utils';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/shared/handler/cognitoUserPoolTransferHandler.mjs';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/constants.mjs';\nimport '../../../common/AuthErrorStrings.mjs';\nimport '../../../errors/types/validation.mjs';\nimport '../types/errors.mjs';\nimport { createRespondToAuthChallengeClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/createRespondToAuthChallengeClient.mjs';\nimport { createCognitoUserPoolEndpointResolver } from '../factories/createCognitoUserPoolEndpointResolver.mjs';\nimport '@aws-amplify/core';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers/regionParsers.mjs';\nimport BigInteger from './srp/BigInteger/BigInteger.mjs';\nimport './srp/constants.mjs';\nimport '@aws-crypto/sha256-js';\nimport { getNowString } from './srp/getNowString.mjs';\nimport { getSignatureString } from './srp/getSignatureString.mjs';\nimport { getUserContextData } from './userContextData.mjs';\nimport { handleDeviceSRPAuth } from './handleDeviceSRPAuth.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nasync function handlePasswordVerifierChallenge(password, challengeParameters, clientMetadata, session, authenticationHelper, config, tokenOrchestrator) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n const userPoolName = userPoolId?.split('_')[1] || '';\n const serverBValue = new BigInteger(challengeParameters?.SRP_B, 16);\n const salt = new BigInteger(challengeParameters?.SALT, 16);\n const username = challengeParameters?.USER_ID_FOR_SRP;\n if (!username)\n throw new AuthError({\n name: 'EmptyUserIdForSRPException',\n message: 'USER_ID_FOR_SRP was not found in challengeParameters',\n });\n const hkdf = await authenticationHelper.getPasswordAuthenticationKey({\n username,\n password,\n serverBValue,\n salt,\n });\n const dateNow = getNowString();\n const challengeResponses = {\n USERNAME: username,\n PASSWORD_CLAIM_SECRET_BLOCK: challengeParameters?.SECRET_BLOCK,\n TIMESTAMP: dateNow,\n PASSWORD_CLAIM_SIGNATURE: getSignatureString({\n username,\n userPoolName,\n challengeParameters,\n dateNow,\n hkdf,\n }),\n };\n const deviceMetadata = await tokenOrchestrator.getDeviceMetadata(username);\n if (deviceMetadata && deviceMetadata.deviceKey) {\n challengeResponses.DEVICE_KEY = deviceMetadata.deviceKey;\n }\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReqResponseChallenge = {\n ChallengeName: 'PASSWORD_VERIFIER',\n ChallengeResponses: challengeResponses,\n ClientMetadata: clientMetadata,\n Session: session,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const response = await respondToAuthChallenge({ region: getRegionFromUserPoolId(userPoolId) }, jsonReqResponseChallenge);\n if (response.ChallengeName === 'DEVICE_SRP_AUTH')\n return handleDeviceSRPAuth({\n username,\n config,\n clientMetadata,\n session: response.Session,\n tokenOrchestrator,\n });\n return response;\n}\n\nexport { handlePasswordVerifierChallenge };\n//# sourceMappingURL=handlePasswordVerifierChallenge.mjs.map\n","import { AuthError } from '../../../errors/AuthError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * It will retry the function if the error is a `ResourceNotFoundException` and\n * will clean the device keys stored in the storage mechanism.\n *\n */\nasync function retryOnResourceNotFoundException(func, args, username, tokenOrchestrator) {\n try {\n return await func(...args);\n }\n catch (error) {\n if (error instanceof AuthError &&\n error.name === 'ResourceNotFoundException' &&\n error.message.includes('Device does not exist.')) {\n await tokenOrchestrator.clearDeviceMetadata(username);\n return func(...args);\n }\n throw error;\n }\n}\n\nexport { retryOnResourceNotFoundException };\n//# sourceMappingURL=retryOnResourceNotFoundException.mjs.map\n","import '../../../client/utils/store/autoSignInStore.mjs';\nimport { signInStore } from '../../../client/utils/store/signInStore.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction setActiveSignInUsername(username) {\n const { dispatch } = signInStore;\n dispatch({ type: 'SET_USERNAME', value: username });\n}\n\nexport { setActiveSignInUsername };\n//# sourceMappingURL=setActiveSignInUsername.mjs.map\n","import { AuthAction } from '@aws-amplify/core/internals/utils';\nimport { getUserContextData } from '../../../providers/cognito/utils/userContextData.mjs';\nimport { getAuthenticationHelper } from '../../../providers/cognito/utils/srp/getAuthenticationHelper.mjs';\nimport '../../../providers/cognito/utils/srp/constants.mjs';\nimport '@aws-crypto/sha256-js';\nimport { createInitiateAuthClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/createInitiateAuthClient.mjs';\nimport '@aws-amplify/core/internals/aws-client-utils/composers';\nimport '@aws-amplify/core/internals/aws-client-utils';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/shared/handler/cognitoUserPoolTransferHandler.mjs';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/constants.mjs';\nimport '../../../common/AuthErrorStrings.mjs';\nimport '../../../errors/types/validation.mjs';\nimport '../../../providers/cognito/types/errors.mjs';\nimport { createCognitoUserPoolEndpointResolver } from '../../../providers/cognito/factories/createCognitoUserPoolEndpointResolver.mjs';\nimport '@aws-amplify/core';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers/regionParsers.mjs';\nimport { getAuthUserAgentValue } from '../../../utils/getAuthUserAgentValue.mjs';\nimport { handlePasswordVerifierChallenge } from '../../../providers/cognito/utils/handlePasswordVerifierChallenge.mjs';\nimport { retryOnResourceNotFoundException } from '../../../providers/cognito/utils/retryOnResourceNotFoundException.mjs';\nimport { setActiveSignInUsername } from '../../../providers/cognito/utils/setActiveSignInUsername.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Handles the Password SRP (Secure Remote Password) authentication flow.\n * This function can be used with both USER_SRP_AUTH and USER_AUTH flows.\n *\n * @param {Object} params - The parameters for the Password SRP authentication\n * @param {string} params.username - The username for authentication\n * @param {string} params.password - The user's password\n * @param {ClientMetadata} [params.clientMetadata] - Optional metadata to be sent with auth requests\n * @param {CognitoUserPoolConfig} params.config - Cognito User Pool configuration\n * @param {AuthTokenOrchestrator} params.tokenOrchestrator - Token orchestrator for managing auth tokens\n * @param {AuthFlowType} params.authFlow - The type of authentication flow ('USER_SRP_AUTH' or 'USER_AUTH')\n * @param {AuthFactorType} [params.preferredChallenge] - Optional preferred challenge type when using USER_AUTH flow\n *\n * @returns {Promise<RespondToAuthChallengeCommandOutput>} The authentication response\n */\nasync function handlePasswordSRP({ username, password, clientMetadata, config, tokenOrchestrator, authFlow, preferredChallenge, }) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n const userPoolName = userPoolId?.split('_')[1] || '';\n const authenticationHelper = await getAuthenticationHelper(userPoolName);\n const authParameters = {\n USERNAME: username,\n SRP_A: authenticationHelper.A.toString(16),\n };\n if (authFlow === 'USER_AUTH' && preferredChallenge) {\n authParameters.PREFERRED_CHALLENGE = preferredChallenge;\n }\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n AuthFlow: authFlow,\n AuthParameters: authParameters,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const initiateAuth = createInitiateAuthClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const resp = await initiateAuth({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.SignIn),\n }, jsonReq);\n const { ChallengeParameters: challengeParameters, Session: session } = resp;\n const activeUsername = challengeParameters?.USERNAME ?? username;\n setActiveSignInUsername(activeUsername);\n if (resp.ChallengeName === 'PASSWORD_VERIFIER') {\n return retryOnResourceNotFoundException(handlePasswordVerifierChallenge, [\n password,\n challengeParameters,\n clientMetadata,\n session,\n authenticationHelper,\n config,\n tokenOrchestrator,\n ], activeUsername, tokenOrchestrator);\n }\n return resp;\n}\n\nexport { handlePasswordSRP };\n//# sourceMappingURL=handlePasswordSRP.mjs.map\n","import { Amplify } from '@aws-amplify/core';\nimport { AuthAction, assertTokenProviderConfig, AmplifyUrl } from '@aws-amplify/core/internals/utils';\nimport { AuthError } from '../../../errors/AuthError.mjs';\nimport { InitiateAuthException } from '../types/errors.mjs';\nimport { AuthErrorCodes } from '../../../common/AuthErrorStrings.mjs';\nimport { AuthValidationErrorCode } from '../../../errors/types/validation.mjs';\nimport { assertValidationError } from '../../../errors/utils/assertValidationError.mjs';\nimport { USER_ALREADY_AUTHENTICATED_EXCEPTION } from '../../../errors/constants.mjs';\nimport { getCurrentUser } from '../apis/getCurrentUser.mjs';\nimport { getAuthUserAgentValue } from '../../../utils/getAuthUserAgentValue.mjs';\nimport { createInitiateAuthClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/createInitiateAuthClient.mjs';\nimport '@aws-amplify/core/internals/aws-client-utils/composers';\nimport '@aws-amplify/core/internals/aws-client-utils';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/shared/handler/cognitoUserPoolTransferHandler.mjs';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/constants.mjs';\nimport { createRespondToAuthChallengeClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/createRespondToAuthChallengeClient.mjs';\nimport { createVerifySoftwareTokenClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/createVerifySoftwareTokenClient.mjs';\nimport { createAssociateSoftwareTokenClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/createAssociateSoftwareTokenClient.mjs';\nimport { createCognitoUserPoolEndpointResolver } from '../factories/createCognitoUserPoolEndpointResolver.mjs';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers/regionParsers.mjs';\nimport { handleWebAuthnSignInResult } from '../../../client/flows/userAuth/handleWebAuthnSignInResult.mjs';\nimport { handlePasswordSRP } from '../../../client/flows/shared/handlePasswordSRP.mjs';\nimport { initiateSelectedChallenge } from '../../../client/flows/userAuth/handleSelectChallenge.mjs';\nimport { handleSelectChallengeWithPassword } from '../../../client/flows/userAuth/handleSelectChallengeWithPassword.mjs';\nimport { handleSelectChallengeWithPasswordSRP } from '../../../client/flows/userAuth/handleSelectChallengeWithPasswordSRP.mjs';\nimport '../../../client/utils/store/autoSignInStore.mjs';\nimport { signInStore } from '../../../client/utils/store/signInStore.mjs';\nimport { getAuthenticationHelper } from './srp/getAuthenticationHelper.mjs';\nimport './srp/constants.mjs';\nimport '@aws-crypto/sha256-js';\nimport { getUserContextData } from './userContextData.mjs';\nimport { handlePasswordVerifierChallenge } from './handlePasswordVerifierChallenge.mjs';\nimport { handleDeviceSRPAuth } from './handleDeviceSRPAuth.mjs';\nimport { retryOnResourceNotFoundException } from './retryOnResourceNotFoundException.mjs';\nimport { setActiveSignInUsername } from './setActiveSignInUsername.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst USER_ATTRIBUTES = 'userAttributes.';\nfunction isWebAuthnResultAuthSignInOutput(result) {\n return 'isSignedIn' in result && 'nextStep' in result;\n}\nasync function handleCustomChallenge({ challengeResponse, clientMetadata, session, username, config, tokenOrchestrator, }) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n const challengeResponses = {\n USERNAME: username,\n ANSWER: challengeResponse,\n };\n const deviceMetadata = await tokenOrchestrator?.getDeviceMetadata(username);\n if (deviceMetadata && deviceMetadata.deviceKey) {\n challengeResponses.DEVICE_KEY = deviceMetadata.deviceKey;\n }\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n ChallengeName: 'CUSTOM_CHALLENGE',\n ChallengeResponses: challengeResponses,\n Session: session,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const response = await respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n if (response.ChallengeName === 'DEVICE_SRP_AUTH') {\n return handleDeviceSRPAuth({\n username,\n config,\n clientMetadata,\n session: response.Session,\n tokenOrchestrator,\n });\n }\n return response;\n}\nasync function handleMFASetupChallenge({ challengeResponse, username, clientMetadata, session, deviceName, config, }) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n if (challengeResponse === 'EMAIL') {\n return {\n ChallengeName: 'MFA_SETUP',\n Session: session,\n ChallengeParameters: {\n MFAS_CAN_SETUP: '[\"EMAIL_OTP\"]',\n },\n $metadata: {},\n };\n }\n if (challengeResponse === 'TOTP') {\n return {\n ChallengeName: 'MFA_SETUP',\n Session: session,\n ChallengeParameters: {\n MFAS_CAN_SETUP: '[\"SOFTWARE_TOKEN_MFA\"]',\n },\n $metadata: {},\n };\n }\n const challengeResponses = {\n USERNAME: username,\n };\n const isTOTPCode = /^\\d+$/.test(challengeResponse);\n if (isTOTPCode) {\n const verifySoftwareToken = createVerifySoftwareTokenClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const { Session } = await verifySoftwareToken({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, {\n UserCode: challengeResponse,\n Session: session,\n FriendlyDeviceName: deviceName,\n });\n signInStore.dispatch({\n type: 'SET_SIGN_IN_SESSION',\n value: Session,\n });\n const jsonReq = {\n ChallengeName: 'MFA_SETUP',\n ChallengeResponses: challengeResponses,\n Session,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n return respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n }\n const isEmail = challengeResponse.includes('@');\n if (isEmail) {\n challengeResponses.EMAIL = challengeResponse;\n const jsonReq = {\n ChallengeName: 'MFA_SETUP',\n ChallengeResponses: challengeResponses,\n Session: session,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n return respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n }\n throw new AuthError({\n name: AuthErrorCodes.SignInException,\n message: `Cannot proceed with MFA setup using challengeResponse: ${challengeResponse}`,\n recoverySuggestion: 'Try passing \"EMAIL\", \"TOTP\", a valid email, or OTP code as the challengeResponse.',\n });\n}\nasync function handleSelectMFATypeChallenge({ challengeResponse, username, clientMetadata, session, config, }) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n assertValidationError(challengeResponse === 'TOTP' ||\n challengeResponse === 'SMS' ||\n challengeResponse === 'EMAIL', AuthValidationErrorCode.IncorrectMFAMethod);\n const challengeResponses = {\n USERNAME: username,\n ANSWER: mapMfaType(challengeResponse),\n };\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n ChallengeName: 'SELECT_MFA_TYPE',\n ChallengeResponses: challengeResponses,\n Session: session,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n return respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n}\nasync function handleCompleteNewPasswordChallenge({ challengeResponse, clientMetadata, session, username, requiredAttributes, config, }) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n const challengeResponses = {\n ...createAttributes(requiredAttributes),\n NEW_PASSWORD: challengeResponse,\n USERNAME: username,\n };\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n ChallengeName: 'NEW_PASSWORD_REQUIRED',\n ChallengeResponses: challengeResponses,\n ClientMetadata: clientMetadata,\n Session: session,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n return respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n}\nasync function handleUserPasswordAuthFlow(username, password, clientMetadata, config, tokenOrchestrator) {\n const { userPoolClientId, userPoolId, userPoolEndpoint } = config;\n const authParameters = {\n USERNAME: username,\n PASSWORD: password,\n };\n const deviceMetadata = await tokenOrchestrator.getDeviceMetadata(username);\n if (deviceMetadata && deviceMetadata.deviceKey) {\n authParameters.DEVICE_KEY = deviceMetadata.deviceKey;\n }\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n AuthFlow: 'USER_PASSWORD_AUTH',\n AuthParameters: authParameters,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const initiateAuth = createInitiateAuthClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const response = await initiateAuth({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.SignIn),\n }, jsonReq);\n const activeUsername = response.ChallengeParameters?.USERNAME ??\n response.ChallengeParameters?.USER_ID_FOR_SRP ??\n username;\n setActiveSignInUsername(activeUsername);\n if (response.ChallengeName === 'DEVICE_SRP_AUTH')\n return handleDeviceSRPAuth({\n username: activeUsername,\n config,\n clientMetadata,\n session: response.Session,\n tokenOrchestrator,\n });\n return response;\n}\nasync function handleUserSRPAuthFlow(username, password, clientMetadata, config, tokenOrchestrator) {\n return handlePasswordSRP({\n username,\n password,\n clientMetadata,\n config,\n tokenOrchestrator,\n authFlow: 'USER_SRP_AUTH',\n });\n}\nasync function handleCustomAuthFlowWithoutSRP(username, clientMetadata, config, tokenOrchestrator) {\n const { userPoolClientId, userPoolId, userPoolEndpoint } = config;\n const authParameters = {\n USERNAME: username,\n };\n const deviceMetadata = await tokenOrchestrator.getDeviceMetadata(username);\n if (deviceMetadata && deviceMetadata.deviceKey) {\n authParameters.DEVICE_KEY = deviceMetadata.deviceKey;\n }\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n AuthFlow: 'CUSTOM_AUTH',\n AuthParameters: authParameters,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const initiateAuth = createInitiateAuthClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const response = await initiateAuth({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.SignIn),\n }, jsonReq);\n const activeUsername = response.ChallengeParameters?.USERNAME ?? username;\n setActiveSignInUsername(activeUsername);\n if (response.ChallengeName === 'DEVICE_SRP_AUTH')\n return handleDeviceSRPAuth({\n username: activeUsername,\n config,\n clientMetadata,\n session: response.Session,\n tokenOrchestrator,\n });\n return response;\n}\nasync function handleCustomSRPAuthFlow(username, password, clientMetadata, config, tokenOrchestrator) {\n assertTokenProviderConfig(config);\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n const userPoolName = userPoolId?.split('_')[1] || '';\n const authenticationHelper = await getAuthenticationHelper(userPoolName);\n const authParameters = {\n USERNAME: username,\n SRP_A: authenticationHelper.A.toString(16),\n CHALLENGE_NAME: 'SRP_A',\n };\n const UserContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n AuthFlow: 'CUSTOM_AUTH',\n AuthParameters: authParameters,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData,\n };\n const initiateAuth = createInitiateAuthClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const { ChallengeParameters: challengeParameters, Session: session } = await initiateAuth({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.SignIn),\n }, jsonReq);\n const activeUsername = challengeParameters?.USERNAME ?? username;\n setActiveSignInUsername(activeUsername);\n return retryOnResourceNotFoundException(handlePasswordVerifierChallenge, [\n password,\n challengeParameters,\n clientMetadata,\n session,\n authenticationHelper,\n config,\n tokenOrchestrator,\n ], activeUsername, tokenOrchestrator);\n}\nasync function getSignInResult(params) {\n const { challengeName, challengeParameters, availableChallenges } = params;\n const authConfig = Amplify.getConfig().Auth?.Cognito;\n assertTokenProviderConfig(authConfig);\n switch (challengeName) {\n case 'CUSTOM_CHALLENGE':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_CUSTOM_CHALLENGE',\n additionalInfo: challengeParameters,\n },\n };\n case 'MFA_SETUP': {\n const { signInSession, username } = signInStore.getState();\n const mfaSetupTypes = getMFATypes(parseMFATypes(challengeParameters.MFAS_CAN_SETUP)) || [];\n const allowedMfaSetupTypes = getAllowedMfaSetupTypes(mfaSetupTypes);\n const isTotpMfaSetupAvailable = allowedMfaSetupTypes.includes('TOTP');\n const isEmailMfaSetupAvailable = allowedMfaSetupTypes.includes('EMAIL');\n if (isTotpMfaSetupAvailable && isEmailMfaSetupAvailable) {\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONTINUE_SIGN_IN_WITH_MFA_SETUP_SELECTION',\n allowedMFATypes: allowedMfaSetupTypes,\n },\n };\n }\n if (isEmailMfaSetupAvailable) {\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONTINUE_SIGN_IN_WITH_EMAIL_SETUP',\n },\n };\n }\n if (isTotpMfaSetupAvailable) {\n const associateSoftwareToken = createAssociateSoftwareTokenClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: authConfig.userPoolEndpoint,\n }),\n });\n const { Session, SecretCode: secretCode } = await associateSoftwareToken({ region: getRegionFromUserPoolId(authConfig.userPoolId) }, {\n Session: signInSession,\n });\n signInStore.dispatch({\n type: 'SET_SIGN_IN_SESSION',\n value: Session,\n });\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONTINUE_SIGN_IN_WITH_TOTP_SETUP',\n totpSetupDetails: getTOTPSetupDetails(secretCode, username),\n },\n };\n }\n throw new AuthError({\n name: AuthErrorCodes.SignInException,\n message: `Cannot initiate MFA setup from available types: ${mfaSetupTypes}`,\n });\n }\n case 'NEW_PASSWORD_REQUIRED':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_NEW_PASSWORD_REQUIRED',\n missingAttributes: parseAttributes(challengeParameters.requiredAttributes),\n },\n };\n case 'SELECT_MFA_TYPE':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONTINUE_SIGN_IN_WITH_MFA_SELECTION',\n allowedMFATypes: getMFATypes(parseMFATypes(challengeParameters.MFAS_CAN_CHOOSE)),\n },\n };\n case 'SMS_OTP':\n case 'SMS_MFA':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_SMS_CODE',\n codeDeliveryDetails: {\n deliveryMedium: challengeParameters.CODE_DELIVERY_DELIVERY_MEDIUM,\n destination: challengeParameters.CODE_DELIVERY_DESTINATION,\n },\n },\n };\n case 'SOFTWARE_TOKEN_MFA':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_TOTP_CODE',\n },\n };\n case 'EMAIL_OTP':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_EMAIL_CODE',\n codeDeliveryDetails: {\n deliveryMedium: challengeParameters.CODE_DELIVERY_DELIVERY_MEDIUM,\n destination: challengeParameters.CODE_DELIVERY_DESTINATION,\n },\n },\n };\n case 'WEB_AUTHN': {\n const result = await handleWebAuthnSignInResult(challengeParameters);\n if (isWebAuthnResultAuthSignInOutput(result)) {\n return result;\n }\n return getSignInResult(result);\n }\n case 'PASSWORD':\n case 'PASSWORD_SRP':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONFIRM_SIGN_IN_WITH_PASSWORD',\n },\n };\n case 'SELECT_CHALLENGE':\n return {\n isSignedIn: false,\n nextStep: {\n signInStep: 'CONTINUE_SIGN_IN_WITH_FIRST_FACTOR_SELECTION',\n availableChallenges,\n },\n };\n }\n // TODO: remove this error message for production apps\n throw new AuthError({\n name: AuthErrorCodes.SignInException,\n message: 'An error occurred during the sign in process. ' +\n `${challengeName} challengeName returned by the underlying service was not addressed.`,\n });\n}\nfunction getTOTPSetupDetails(secretCode, username) {\n return {\n sharedSecret: secretCode,\n getSetupUri: (appName, accountName) => {\n const totpUri = `otpauth://totp/${appName}:${accountName ?? username}?secret=${secretCode}&issuer=${appName}`;\n return new AmplifyUrl(totpUri);\n },\n };\n}\nfunction getSignInResultFromError(errorName) {\n if (errorName === InitiateAuthException.PasswordResetRequiredException) {\n return {\n isSignedIn: false,\n nextStep: { signInStep: 'RESET_PASSWORD' },\n };\n }\n else if (errorName === InitiateAuthException.UserNotConfirmedException) {\n return {\n isSignedIn: false,\n nextStep: { signInStep: 'CONFIRM_SIGN_UP' },\n };\n }\n}\nfunction parseAttributes(attributes) {\n if (!attributes)\n return [];\n const parsedAttributes = JSON.parse(attributes).map(att => att.includes(USER_ATTRIBUTES) ? att.replace(USER_ATTRIBUTES, '') : att);\n return parsedAttributes;\n}\nfunction createAttributes(attributes) {\n if (!attributes)\n return {};\n const newAttributes = {};\n Object.entries(attributes).forEach(([key, value]) => {\n if (value)\n newAttributes[`${USER_ATTRIBUTES}${key}`] = value;\n });\n return newAttributes;\n}\nasync function handleChallengeName(username, challengeName, session, challengeResponse, config, tokenOrchestrator, clientMetadata, options) {\n const userAttributes = options?.userAttributes;\n const deviceName = options?.friendlyDeviceName;\n switch (challengeName) {\n case 'WEB_AUTHN':\n case 'SELECT_CHALLENGE':\n if (challengeResponse === 'PASSWORD_SRP' ||\n challengeResponse === 'PASSWORD') {\n return {\n ChallengeName: challengeResponse,\n Session: session,\n $metadata: {},\n };\n }\n return initiateSelectedChallenge({\n username,\n session,\n selectedChallenge: challengeResponse,\n config,\n clientMetadata,\n });\n case 'SELECT_MFA_TYPE':\n return handleSelectMFATypeChallenge({\n challengeResponse,\n clientMetadata,\n session,\n username,\n config});\n case 'MFA_SETUP':\n return handleMFASetupChallenge({\n challengeResponse,\n clientMetadata,\n session,\n username,\n deviceName,\n config});\n case 'NEW_PASSWORD_REQUIRED':\n return handleCompleteNewPasswordChallenge({\n challengeResponse,\n clientMetadata,\n session,\n username,\n requiredAttributes: userAttributes,\n config});\n case 'CUSTOM_CHALLENGE':\n return retryOnResourceNotFoundException(handleCustomChallenge, [\n {\n challengeResponse,\n clientMetadata,\n session,\n username,\n config,\n tokenOrchestrator,\n },\n ], username, tokenOrchestrator);\n case 'SMS_MFA':\n case 'SOFTWARE_TOKEN_MFA':\n case 'SMS_OTP':\n case 'EMAIL_OTP':\n return handleMFAChallenge({\n challengeName,\n challengeResponse,\n clientMetadata,\n session,\n username,\n config,\n tokenOrchestrator,\n });\n case 'PASSWORD':\n return handleSelectChallengeWithPassword(username, challengeResponse, clientMetadata, config, session);\n case 'PASSWORD_SRP':\n return handleSelectChallengeWithPasswordSRP(username, challengeResponse, // This is the actual password\n clientMetadata, config, session, tokenOrchestrator);\n }\n // TODO: remove this error message for production apps\n throw new AuthError({\n name: AuthErrorCodes.SignInException,\n message: `An error occurred during the sign in process.\n\t\t${challengeName} challengeName returned by the underlying service was not addressed.`,\n });\n}\nfunction mapMfaType(mfa) {\n let mfaType = 'SMS_MFA';\n if (mfa === 'TOTP')\n mfaType = 'SOFTWARE_TOKEN_MFA';\n if (mfa === 'EMAIL')\n mfaType = 'EMAIL_OTP';\n return mfaType;\n}\nfunction getMFAType(type) {\n if (type === 'SMS_MFA')\n return 'SMS';\n if (type === 'SOFTWARE_TOKEN_MFA')\n return 'TOTP';\n if (type === 'EMAIL_OTP')\n return 'EMAIL';\n // TODO: log warning for unknown MFA type\n}\nfunction getMFATypes(types) {\n if (!types)\n return undefined;\n return types.map(getMFAType).filter(Boolean);\n}\nfunction parseMFATypes(mfa) {\n if (!mfa)\n return [];\n return JSON.parse(mfa);\n}\nfunction getAllowedMfaSetupTypes(availableMfaSetupTypes) {\n return availableMfaSetupTypes.filter(authMfaType => authMfaType === 'EMAIL' || authMfaType === 'TOTP');\n}\nasync function assertUserNotAuthenticated() {\n let authUser;\n try {\n authUser = await getCurrentUser();\n }\n catch (error) { }\n if (authUser && authUser.userId && authUser.username) {\n throw new AuthError({\n name: USER_ALREADY_AUTHENTICATED_EXCEPTION,\n message: 'There is already a signed in user.',\n recoverySuggestion: 'Call signOut before calling signIn again.',\n });\n }\n}\nfunction getActiveSignInUsername(username) {\n const state = signInStore.getState();\n return state.username ?? username;\n}\nasync function handleMFAChallenge({ challengeName, challengeResponse, clientMetadata, session, username, config, tokenOrchestrator, }) {\n const { userPoolId, userPoolClientId, userPoolEndpoint } = config;\n const challengeResponses = {\n USERNAME: username,\n };\n if (challengeName === 'EMAIL_OTP') {\n challengeResponses.EMAIL_OTP_CODE = challengeResponse;\n }\n if (challengeName === 'SMS_MFA') {\n challengeResponses.SMS_MFA_CODE = challengeResponse;\n }\n if (challengeName === 'SMS_OTP') {\n challengeResponses.SMS_OTP_CODE = challengeResponse;\n }\n if (challengeName === 'SOFTWARE_TOKEN_MFA') {\n challengeResponses.SOFTWARE_TOKEN_MFA_CODE = challengeResponse;\n }\n const deviceMetadata = await tokenOrchestrator?.getDeviceMetadata(username);\n if (deviceMetadata && deviceMetadata.deviceKey) {\n challengeResponses.DEVICE_KEY = deviceMetadata.deviceKey;\n }\n const userContextData = getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n });\n const jsonReq = {\n ChallengeName: challengeName,\n ChallengeResponses: challengeResponses,\n Session: session,\n ClientMetadata: clientMetadata,\n ClientId: userPoolClientId,\n UserContextData: userContextData,\n };\n const respondToAuthChallenge = createRespondToAuthChallengeClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const response = await respondToAuthChallenge({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),\n }, jsonReq);\n if (response.ChallengeName === 'DEVICE_SRP_AUTH') {\n return handleDeviceSRPAuth({\n username,\n config,\n clientMetadata,\n session: response.Session,\n tokenOrchestrator,\n });\n }\n return response;\n}\n\nexport { assertUserNotAuthenticated, createAttributes, getActiveSignInUsername, getAllowedMfaSetupTypes, getMFAType, getMFATypes, getSignInResult, getSignInResultFromError, getTOTPSetupDetails, handleChallengeName, handleCompleteNewPasswordChallenge, handleCustomAuthFlowWithoutSRP, handleCustomChallenge, handleCustomSRPAuthFlow, handleMFAChallenge, handleMFASetupChallenge, handleSelectMFATypeChallenge, handleUserPasswordAuthFlow, handleUserSRPAuthFlow, mapMfaType, parseAttributes, parseMFATypes };\n//# sourceMappingURL=signInHelpers.mjs.map\n","import { autoSignInStore } from '../../../client/utils/store/autoSignInStore.mjs';\nimport '../../../client/utils/store/signInStore.mjs';\nimport { AuthError } from '../../../errors/AuthError.mjs';\nimport { AUTO_SIGN_IN_EXCEPTION } from '../../../errors/constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst initialAutoSignIn = async () => {\n throw new AuthError({\n name: AUTO_SIGN_IN_EXCEPTION,\n message: 'The autoSignIn flow has not started, or has been cancelled/completed.',\n recoverySuggestion: 'Please try to use the signIn API or log out before starting a new autoSignIn flow.',\n });\n};\n/**\n * Signs a user in automatically after finishing the sign-up process.\n *\n * This API will automatically sign a user in if the autoSignIn flow has been completed in the following cases:\n * - User confirmed their account with a verification code sent to their phone or email (default option).\n * - User confirmed their account with a verification link sent to their phone or email. In order to\n * enable this option you need to go to the Amazon Cognito [console](https://aws.amazon.com/pm/cognito),\n * look for your userpool, then go to the `Messaging` tab and enable `link` mode inside the `Verification message` option.\n * Finally you need to define the `signUpVerificationMethod` in your `Auth` config.\n *\n * @example\n * ```typescript\n * Amplify.configure({\n * Auth: {\n * Cognito: {\n * ...cognitoConfig,\n * signUpVerificationMethod: \"link\" // the default value is \"code\"\n * }\n *\t}});\n * ```\n *\n * @throws AutoSignInException - Thrown when the autoSignIn flow has not started, or has been cancelled/completed.\n * @returns The signInOutput.\n *\n * @example\n * ```typescript\n * // handleSignUp.ts\n * async function handleSignUp(\n * username:string,\n * password:string\n * ){\n * try {\n * const { nextStep } = await signUp({\n * username,\n * password,\n * options: {\n * userAttributes:{ email:'email@email.com'},\n * autoSignIn: true // This enables the auto sign-in flow.\n * },\n * });\n *\n * handleSignUpStep(nextStep);\n *\n * } catch (error) {\n * console.log(error);\n * }\n * }\n *\n * // handleConfirmSignUp.ts\n * async function handleConfirmSignUp(username:string, confirmationCode:string) {\n * try {\n * const { nextStep } = await confirmSignUp({\n * username,\n * confirmationCode,\n * });\n *\n * handleSignUpStep(nextStep);\n * } catch (error) {\n * console.log(error);\n * }\n * }\n *\n * // signUpUtils.ts\n * async function handleSignUpStep( step: SignUpOutput[\"nextStep\"]) {\n * switch (step.signUpStep) {\n * case \"CONFIRM_SIGN_UP\":\n *\n * // Redirect end-user to confirm-sign up screen.\n *\n * case \"COMPLETE_AUTO_SIGN_IN\":\n *\t const codeDeliveryDetails = step.codeDeliveryDetails;\n * if (codeDeliveryDetails) {\n * // Redirect user to confirm-sign-up with link screen.\n * }\n * const signInOutput = await autoSignIn();\n * // handle sign-in steps\n * }\n *\n * ```\n */\n// TODO(Eslint): can this be refactored not using `let` on exported member?\n// eslint-disable-next-line import/no-mutable-exports\nlet autoSignIn = initialAutoSignIn;\n/**\n * Sets the context of autoSignIn at run time.\n * @internal\n */\nfunction setAutoSignIn(callback) {\n autoSignIn = callback;\n}\n/**\n * Resets the context\n *\n * @internal\n */\nfunction resetAutoSignIn(resetCallback = true) {\n if (resetCallback) {\n autoSignIn = initialAutoSignIn;\n }\n autoSignInStore.dispatch({ type: 'RESET' });\n}\n\nexport { autoSignIn, resetAutoSignIn, setAutoSignIn };\n//# sourceMappingURL=autoSignIn.mjs.map\n","import { HubInternal } from '@aws-amplify/core/internals/utils';\nimport { signIn } from '../apis/signIn.mjs';\nimport { AuthError } from '../../../errors/AuthError.mjs';\nimport { setAutoSignIn, resetAutoSignIn } from '../apis/autoSignIn.mjs';\nimport { AUTO_SIGN_IN_EXCEPTION } from '../../../errors/constants.mjs';\nimport { signInWithUserAuth } from '../apis/signInWithUserAuth.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst MAX_AUTOSIGNIN_POLLING_MS = 3 * 60 * 1000;\nfunction handleCodeAutoSignIn(signInInput) {\n const stopHubListener = HubInternal.listen('auth-internal', async ({ payload }) => {\n switch (payload.event) {\n case 'confirmSignUp': {\n const response = payload.data;\n if (response?.isSignUpComplete) {\n HubInternal.dispatch('auth-internal', {\n event: 'autoSignIn',\n });\n setAutoSignIn(autoSignInWithCode(signInInput));\n stopHubListener();\n }\n }\n }\n });\n // This will stop the listener if confirmSignUp is not resolved.\n const timeOutId = setTimeout(() => {\n stopHubListener();\n clearTimeout(timeOutId);\n resetAutoSignIn();\n }, MAX_AUTOSIGNIN_POLLING_MS);\n}\nfunction debounce(fun, delay) {\n let timer;\n return (args) => {\n if (!timer) {\n fun(...args);\n }\n clearTimeout(timer);\n timer = setTimeout(() => {\n timer = undefined;\n }, delay);\n };\n}\nfunction handleAutoSignInWithLink(signInInput, resolve, reject) {\n const start = Date.now();\n const autoSignInPollingIntervalId = setInterval(async () => {\n const elapsedTime = Date.now() - start;\n const maxTime = MAX_AUTOSIGNIN_POLLING_MS;\n if (elapsedTime > maxTime) {\n clearInterval(autoSignInPollingIntervalId);\n reject(new AuthError({\n name: AUTO_SIGN_IN_EXCEPTION,\n message: 'The account was not confirmed on time.',\n recoverySuggestion: 'Try to verify your account by clicking the link sent your email or phone and then login manually.',\n }));\n resetAutoSignIn();\n }\n else {\n try {\n const signInOutput = await signIn(signInInput);\n if (signInOutput.nextStep.signInStep !== 'CONFIRM_SIGN_UP') {\n resolve(signInOutput);\n clearInterval(autoSignInPollingIntervalId);\n resetAutoSignIn();\n }\n }\n catch (error) {\n clearInterval(autoSignInPollingIntervalId);\n reject(error);\n resetAutoSignIn();\n }\n }\n }, 5000);\n}\nconst debouncedAutoSignInWithLink = debounce(handleAutoSignInWithLink, 300);\nconst debouncedAutoSignWithCodeOrUserConfirmed = debounce(handleAutoSignInWithCodeOrUserConfirmed, 300);\nfunction autoSignInWhenUserIsConfirmedWithLink(signInInput) {\n return async () => {\n return new Promise((resolve, reject) => {\n debouncedAutoSignInWithLink([signInInput, resolve, reject]);\n });\n };\n}\nasync function handleAutoSignInWithCodeOrUserConfirmed(signInInput, resolve, reject) {\n try {\n const output = signInInput?.options?.authFlowType === 'USER_AUTH'\n ? await signInWithUserAuth(signInInput)\n : await signIn(signInInput);\n resolve(output);\n resetAutoSignIn();\n }\n catch (error) {\n reject(error);\n resetAutoSignIn();\n }\n}\nfunction autoSignInWithCode(signInInput) {\n return async () => {\n return new Promise((resolve, reject) => {\n debouncedAutoSignWithCodeOrUserConfirmed([signInInput, resolve, reject]);\n });\n };\n}\nconst autoSignInUserConfirmed = autoSignInWithCode;\n\nexport { autoSignInUserConfirmed, autoSignInWhenUserIsConfirmedWithLink, handleCodeAutoSignIn };\n//# sourceMappingURL=signUpHelpers.mjs.map\n","import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { parseJsonError, parseJsonBody } from '@aws-amplify/core/internals/aws-client-utils';\nimport { validationErrorMap } from '../../../../common/AuthErrorStrings.mjs';\nimport { AuthError } from '../../../../errors/AuthError.mjs';\nimport { AuthValidationErrorCode } from '../../../../errors/types/validation.mjs';\nimport { assertServiceError } from '../../../../errors/utils/assertServiceError.mjs';\nimport { SignUpException } from '../../../../providers/cognito/types/errors.mjs';\nimport { createUserPoolSerializer } from './shared/serde/createUserPoolSerializer.mjs';\nimport { cognitoUserPoolTransferHandler } from './shared/handler/cognitoUserPoolTransferHandler.mjs';\nimport { DEFAULT_SERVICE_CLIENT_API_CONFIG } from './constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst createSignUpClientDeserializer = () => async (response) => {\n if (response.statusCode >= 300) {\n const error = await parseJsonError(response);\n assertServiceError(error);\n if (\n // Missing Password Error\n // 1 validation error detected: Value at 'password'failed to satisfy constraint: Member must not be null\n error.name === SignUpException.InvalidParameterException &&\n /'password'/.test(error.message) &&\n /Member must not be null/.test(error.message)) {\n const name = AuthValidationErrorCode.EmptySignUpPassword;\n const { message, recoverySuggestion } = validationErrorMap[name];\n throw new AuthError({\n name,\n message,\n recoverySuggestion,\n });\n }\n throw new AuthError({ name: error.name, message: error.message });\n }\n return parseJsonBody(response);\n};\nconst createSignUpClient = (config) => composeServiceApi(cognitoUserPoolTransferHandler, createUserPoolSerializer('SignUp'), createSignUpClientDeserializer(), {\n ...DEFAULT_SERVICE_CLIENT_API_CONFIG,\n ...config,\n});\n\nexport { createSignUpClient, createSignUpClientDeserializer };\n//# sourceMappingURL=createSignUpClient.mjs.map\n","import { Amplify } from '@aws-amplify/core';\nimport { assertTokenProviderConfig, AuthAction } from '@aws-amplify/core/internals/utils';\nimport { assertValidationError } from '../../../errors/utils/assertValidationError.mjs';\nimport { AuthValidationErrorCode } from '../../../errors/types/validation.mjs';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers/regionParsers.mjs';\nimport { toAttributeType } from '../utils/apiHelpers.mjs';\nimport { handleCodeAutoSignIn, autoSignInUserConfirmed, autoSignInWhenUserIsConfirmedWithLink } from '../utils/signUpHelpers.mjs';\nimport { getUserContextData } from '../utils/userContextData.mjs';\nimport { getAuthUserAgentValue } from '../../../utils/getAuthUserAgentValue.mjs';\nimport '@aws-amplify/core/internals/aws-client-utils/composers';\nimport '@aws-amplify/core/internals/aws-client-utils';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/shared/handler/cognitoUserPoolTransferHandler.mjs';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/constants.mjs';\nimport { createSignUpClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/createSignUpClient.mjs';\nimport { createCognitoUserPoolEndpointResolver } from '../factories/createCognitoUserPoolEndpointResolver.mjs';\nimport { autoSignInStore } from '../../../client/utils/store/autoSignInStore.mjs';\nimport '../../../client/utils/store/signInStore.mjs';\nimport { setAutoSignIn } from './autoSignIn.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Creates a user\n *\n * @param input - The SignUpInput object\n * @returns SignUpOutput\n * @throws service: {@link SignUpException } - Cognito service errors thrown during the sign-up process.\n * @throws validation: {@link AuthValidationErrorCode } - Validation errors thrown either username or password\n * are not defined.\n * @throws AuthTokenConfigException - Thrown when the token provider config is invalid.\n */\nasync function signUp(input) {\n const { username, password, options } = input;\n const authConfig = Amplify.getConfig().Auth?.Cognito;\n const signUpVerificationMethod = authConfig?.signUpVerificationMethod ?? 'code';\n const { clientMetadata, validationData, autoSignIn } = input.options ?? {};\n assertTokenProviderConfig(authConfig);\n assertValidationError(!!username, AuthValidationErrorCode.EmptySignUpUsername);\n const signInServiceOptions = typeof autoSignIn !== 'boolean' ? autoSignIn : undefined;\n const signInInput = {\n username,\n options: signInServiceOptions,\n };\n // if the authFlowType is 'CUSTOM_WITHOUT_SRP' then we don't include the password\n if (signInServiceOptions?.authFlowType !== 'CUSTOM_WITHOUT_SRP') {\n signInInput.password = password;\n }\n const { userPoolId, userPoolClientId, userPoolEndpoint } = authConfig;\n const signUpClient = createSignUpClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n const signUpClientInput = {\n Username: username,\n Password: undefined,\n UserAttributes: options?.userAttributes && toAttributeType(options?.userAttributes),\n ClientMetadata: clientMetadata,\n ValidationData: validationData && toAttributeType(validationData),\n ClientId: userPoolClientId,\n UserContextData: getUserContextData({\n username,\n userPoolId,\n userPoolClientId,\n }),\n };\n if (password) {\n signUpClientInput.Password = password;\n }\n const { UserSub: userId, CodeDeliveryDetails: cdd, UserConfirmed: userConfirmed, Session: session, } = await signUpClient({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.SignUp),\n }, signUpClientInput);\n if (signInServiceOptions || autoSignIn === true) {\n autoSignInStore.dispatch({ type: 'START' });\n autoSignInStore.dispatch({ type: 'SET_USERNAME', value: username });\n autoSignInStore.dispatch({ type: 'SET_SESSION', value: session });\n }\n const codeDeliveryDetails = {\n destination: cdd?.Destination,\n deliveryMedium: cdd?.DeliveryMedium,\n attributeName: cdd?.AttributeName,\n };\n const isSignUpComplete = !!userConfirmed;\n const isAutoSignInStarted = autoSignInStore.getState().active;\n // Sign Up Complete\n // No Confirm Sign In Step Required\n if (isSignUpComplete) {\n if (isAutoSignInStarted) {\n setAutoSignIn(autoSignInUserConfirmed(signInInput));\n return {\n isSignUpComplete: true,\n nextStep: {\n signUpStep: 'COMPLETE_AUTO_SIGN_IN',\n },\n userId,\n };\n }\n return {\n isSignUpComplete: true,\n nextStep: {\n signUpStep: 'DONE',\n },\n userId,\n };\n }\n // Sign Up Not Complete\n // Confirm Sign Up Step Required\n if (isAutoSignInStarted) {\n // Confirmation Via Link Occurs In Separate Context\n // AutoSignIn Fn Will Initiate Polling Once Executed\n if (signUpVerificationMethod === 'link') {\n setAutoSignIn(autoSignInWhenUserIsConfirmedWithLink(signInInput));\n return {\n isSignUpComplete: false,\n nextStep: {\n signUpStep: 'COMPLETE_AUTO_SIGN_IN',\n codeDeliveryDetails,\n },\n userId,\n };\n }\n // Confirmation Via Code Occurs In Same Context\n // AutoSignIn Next Step Will Be Returned From Confirm Sign Up\n handleCodeAutoSignIn(signInInput);\n }\n return {\n isSignUpComplete: false,\n nextStep: {\n signUpStep: 'CONFIRM_SIGN_UP',\n codeDeliveryDetails,\n },\n userId,\n };\n}\n\nexport { signUp };\n//# sourceMappingURL=signUp.mjs.map\n","import { ConsoleLogger } from '@aws-amplify/core';\nimport { AuthErrorStrings } from './common/AuthErrorStrings.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// TODO: delete this module when the Auth class is removed.\nconst logger = new ConsoleLogger('AuthError');\nclass AuthError extends Error {\n constructor(type) {\n const { message, log } = authErrorMessages[type];\n super(message);\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n this.constructor = AuthError;\n Object.setPrototypeOf(this, AuthError.prototype);\n this.name = 'AuthError';\n this.log = log || message;\n logger.error(this.log);\n }\n}\nclass NoUserPoolError extends AuthError {\n constructor(type) {\n super(type);\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n this.constructor = NoUserPoolError;\n Object.setPrototypeOf(this, NoUserPoolError.prototype);\n this.name = 'NoUserPoolError';\n }\n}\nconst authErrorMessages = {\n oauthSignInError: {\n message: AuthErrorStrings.OAUTH_ERROR,\n log: 'Make sure Cognito Hosted UI has been configured correctly',\n },\n noConfig: {\n message: AuthErrorStrings.DEFAULT_MSG,\n log: `\n Error: Amplify has not been configured correctly.\n This error is typically caused by one of the following scenarios:\n\n 1. Make sure you're passing the awsconfig object to Amplify.configure() in your app's entry point\n See https://aws-amplify.github.io/docs/js/authentication#configure-your-app for more information\n \n 2. There might be multiple conflicting versions of amplify packages in your node_modules.\n\t\t\t\tRefer to our docs site for help upgrading Amplify packages (https://docs.amplify.aws/lib/troubleshooting/upgrading/q/platform/js)\n `,\n },\n missingAuthConfig: {\n message: AuthErrorStrings.DEFAULT_MSG,\n log: `\n Error: Amplify has not been configured correctly. \n The configuration object is missing required auth properties.\n This error is typically caused by one of the following scenarios:\n\n 1. Did you run \\`amplify push\\` after adding auth via \\`amplify add auth\\`?\n See https://aws-amplify.github.io/docs/js/authentication#amplify-project-setup for more information\n\n 2. This could also be caused by multiple conflicting versions of amplify packages, see (https://docs.amplify.aws/lib/troubleshooting/upgrading/q/platform/js) for help upgrading Amplify packages.\n `,\n },\n emptyUsername: {\n message: AuthErrorStrings.EMPTY_USERNAME,\n },\n // TODO: should include a list of valid sign-in types\n invalidUsername: {\n message: AuthErrorStrings.INVALID_USERNAME,\n },\n emptyPassword: {\n message: AuthErrorStrings.EMPTY_PASSWORD,\n },\n emptyCode: {\n message: AuthErrorStrings.EMPTY_CODE,\n },\n signUpError: {\n message: AuthErrorStrings.SIGN_UP_ERROR,\n log: 'The first parameter should either be non-null string or object',\n },\n noMFA: {\n message: AuthErrorStrings.NO_MFA,\n },\n invalidMFA: {\n message: AuthErrorStrings.INVALID_MFA,\n },\n emptyChallengeResponse: {\n message: AuthErrorStrings.EMPTY_CHALLENGE,\n },\n noUserSession: {\n message: AuthErrorStrings.NO_USER_SESSION,\n },\n deviceConfig: {\n message: AuthErrorStrings.DEVICE_CONFIG,\n },\n networkError: {\n message: AuthErrorStrings.NETWORK_ERROR,\n },\n autoSignInError: {\n message: AuthErrorStrings.AUTOSIGNIN_ERROR,\n },\n default: {\n message: AuthErrorStrings.DEFAULT_MSG,\n },\n};\n\nexport { AuthError, NoUserPoolError, authErrorMessages };\n//# sourceMappingURL=Errors.mjs.map\n","import { authErrorMessages } from '../../../../Errors.mjs';\nimport { AuthErrorCodes } from '../../../../common/AuthErrorStrings.mjs';\nimport { AuthError } from '../../../../errors/AuthError.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst createOAuthError = (message, recoverySuggestion) => new AuthError({\n message: message ?? 'An error has occurred during the oauth process.',\n name: AuthErrorCodes.OAuthSignInError,\n recoverySuggestion: recoverySuggestion ?? authErrorMessages.oauthSignInError.log,\n});\n\nexport { createOAuthError };\n//# sourceMappingURL=createOAuthError.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar AuthErrorTypes;\n(function (AuthErrorTypes) {\n AuthErrorTypes[\"NoConfig\"] = \"noConfig\";\n AuthErrorTypes[\"MissingAuthConfig\"] = \"missingAuthConfig\";\n AuthErrorTypes[\"EmptyUsername\"] = \"emptyUsername\";\n AuthErrorTypes[\"InvalidUsername\"] = \"invalidUsername\";\n AuthErrorTypes[\"EmptyPassword\"] = \"emptyPassword\";\n AuthErrorTypes[\"EmptyCode\"] = \"emptyCode\";\n AuthErrorTypes[\"SignUpError\"] = \"signUpError\";\n AuthErrorTypes[\"NoMFA\"] = \"noMFA\";\n AuthErrorTypes[\"InvalidMFA\"] = \"invalidMFA\";\n AuthErrorTypes[\"EmptyChallengeResponse\"] = \"emptyChallengeResponse\";\n AuthErrorTypes[\"NoUserSession\"] = \"noUserSession\";\n AuthErrorTypes[\"Default\"] = \"default\";\n AuthErrorTypes[\"DeviceConfig\"] = \"deviceConfig\";\n AuthErrorTypes[\"NetworkError\"] = \"networkError\";\n AuthErrorTypes[\"AutoSignInError\"] = \"autoSignInError\";\n AuthErrorTypes[\"OAuthSignInError\"] = \"oauthSignInError\";\n})(AuthErrorTypes || (AuthErrorTypes = {}));\n\nexport { AuthErrorTypes };\n//# sourceMappingURL=Auth.mjs.map\n","import { AuthError } from '../../../../errors/AuthError.mjs';\nimport { AuthErrorTypes } from '../../../../types/Auth.mjs';\nimport { oAuthStore } from './oAuthStore.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst flowCancelledMessage = '`signInWithRedirect` has been canceled.';\nconst validationFailedMessage = 'An error occurred while validating the state.';\nconst validationRecoverySuggestion = 'Try to initiate an OAuth flow from Amplify';\nconst validateState = async (state) => {\n const savedState = await oAuthStore.loadOAuthState();\n // This is because savedState only exists if the flow was initiated by Amplify\n const validatedState = state === savedState ? savedState : undefined;\n if (!validatedState) {\n throw new AuthError({\n name: AuthErrorTypes.OAuthSignInError,\n message: state === null ? flowCancelledMessage : validationFailedMessage,\n recoverySuggestion: state === null ? undefined : validationRecoverySuggestion,\n });\n }\n return validatedState;\n};\n\nexport { flowCancelledMessage, validateState, validationFailedMessage, validationRecoverySuggestion };\n//# sourceMappingURL=validateState.mjs.map\n","import { AmplifyUrl, USER_AGENT_HEADER, urlSafeDecode, AMPLIFY_SYMBOL } from '@aws-amplify/core/internals/utils';\nimport { decodeJWT, Hub } from '@aws-amplify/core';\nimport { cacheCognitoTokens } from '../../tokenProvider/cacheTokens.mjs';\nimport { dispatchSignedInHubEvent } from '../dispatchSignedInHubEvent.mjs';\nimport '../refreshAuthTokens.mjs';\nimport '../../tokenProvider/errorHelpers.mjs';\nimport { oAuthStore } from './oAuthStore.mjs';\nimport { resolveAndClearInflightPromises } from './inflightPromise.mjs';\nimport { tokenOrchestrator } from '../../tokenProvider/tokenProvider.mjs';\nimport { createOAuthError } from './createOAuthError.mjs';\nimport { validateState } from './validateState.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst completeOAuthFlow = async ({ currentUrl, userAgentValue, clientId, redirectUri, responseType, domain, preferPrivateSession, }) => {\n const urlParams = new AmplifyUrl(currentUrl);\n const error = urlParams.searchParams.get('error');\n const errorMessage = urlParams.searchParams.get('error_description');\n if (error) {\n throw createOAuthError(errorMessage ?? error);\n }\n if (responseType === 'code') {\n return handleCodeFlow({\n currentUrl,\n userAgentValue,\n clientId,\n redirectUri,\n domain,\n preferPrivateSession,\n });\n }\n return handleImplicitFlow({\n currentUrl,\n redirectUri,\n preferPrivateSession,\n });\n};\nconst handleCodeFlow = async ({ currentUrl, userAgentValue, clientId, redirectUri, domain, preferPrivateSession, }) => {\n /* Convert URL into an object with parameters as keys\n{ redirect_uri: 'http://localhost:3000/', response_type: 'code', ...} */\n const url = new AmplifyUrl(currentUrl);\n const code = url.searchParams.get('code');\n const state = url.searchParams.get('state');\n // if `code` or `state` is not presented in the redirect url, most likely\n // that the end user cancelled the inflight oauth flow by:\n // 1. clicking the back button of browser\n // 2. closing the provider hosted UI page and coming back to the app\n if (!code || !state) {\n throw createOAuthError('User cancelled OAuth flow.');\n }\n // may throw error is being caught in attemptCompleteOAuthFlow.ts\n const validatedState = await validateState(state);\n const oAuthTokenEndpoint = 'https://' + domain + '/oauth2/token';\n // TODO(v6): check hub events\n // dispatchAuthEvent(\n // \t'codeFlow',\n // \t{},\n // \t`Retrieving tokens from ${oAuthTokenEndpoint}`\n // );\n const codeVerifier = await oAuthStore.loadPKCE();\n const oAuthTokenBody = {\n grant_type: 'authorization_code',\n code,\n client_id: clientId,\n redirect_uri: redirectUri,\n ...(codeVerifier ? { code_verifier: codeVerifier } : {}),\n };\n const body = Object.entries(oAuthTokenBody)\n .map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)\n .join('&');\n const { access_token, refresh_token: refreshToken, id_token, error, error_message: errorMessage, token_type, expires_in, } = await (await fetch(oAuthTokenEndpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n [USER_AGENT_HEADER]: userAgentValue,\n },\n body,\n })).json();\n if (error) {\n // error is being caught in attemptCompleteOAuthFlow.ts\n throw createOAuthError(errorMessage ?? error);\n }\n const username = (access_token && decodeJWT(access_token).payload.username) ?? 'username';\n await cacheCognitoTokens({\n username,\n AccessToken: access_token,\n IdToken: id_token,\n RefreshToken: refreshToken});\n return completeFlow({\n redirectUri,\n state: validatedState,\n preferPrivateSession,\n });\n};\nconst handleImplicitFlow = async ({ currentUrl, redirectUri, preferPrivateSession, }) => {\n // hash is `null` if `#` doesn't exist on URL\n const url = new AmplifyUrl(currentUrl);\n const { id_token, access_token, state, token_type, expires_in, error_description, error, } = (url.hash ?? '#')\n .substring(1) // Remove # from returned code\n .split('&')\n .map(pairings => pairings.split('='))\n .reduce((accum, [k, v]) => ({ ...accum, [k]: v }), {\n id_token: undefined,\n access_token: undefined,\n state: undefined,\n token_type: undefined,\n expires_in: undefined,\n error_description: undefined,\n error: undefined,\n });\n if (error) {\n throw createOAuthError(error_description ?? error);\n }\n if (!access_token) {\n // error is being caught in attemptCompleteOAuthFlow.ts\n throw createOAuthError('No access token returned from OAuth flow.');\n }\n const validatedState = await validateState(state);\n const username = (access_token && decodeJWT(access_token).payload.username) ?? 'username';\n await cacheCognitoTokens({\n username,\n AccessToken: access_token,\n IdToken: id_token});\n return completeFlow({\n redirectUri,\n state: validatedState,\n preferPrivateSession,\n });\n};\nconst completeFlow = async ({ redirectUri, state, preferPrivateSession, }) => {\n await tokenOrchestrator.setOAuthMetadata({\n oauthSignIn: true,\n });\n await oAuthStore.clearOAuthData();\n await oAuthStore.storeOAuthSignIn(true, preferPrivateSession);\n // this should be called before any call that involves `fetchAuthSession`\n // e.g. `getCurrentUser()` below, so it allows every inflight async calls to\n // `fetchAuthSession` can be resolved\n resolveAndClearInflightPromises();\n // clear history before sending out final Hub events\n clearHistory(redirectUri);\n if (isCustomState(state)) {\n Hub.dispatch('auth', {\n event: 'customOAuthState',\n data: urlSafeDecode(getCustomState(state)),\n }, 'Auth', AMPLIFY_SYMBOL);\n }\n Hub.dispatch('auth', { event: 'signInWithRedirect' }, 'Auth', AMPLIFY_SYMBOL);\n await dispatchSignedInHubEvent();\n};\nconst isCustomState = (state) => {\n return /-/.test(state);\n};\nconst getCustomState = (state) => {\n return state.split('-').splice(1).join('-');\n};\nconst clearHistory = (redirectUri) => {\n if (typeof window !== 'undefined' && typeof window.history !== 'undefined') {\n window.history.replaceState(window.history.state, '', redirectUri);\n }\n};\n\nexport { completeOAuthFlow };\n//# sourceMappingURL=completeOAuthFlow.mjs.map\n","import { invalidOriginException, invalidRedirectException, invalidPreferredRedirectUrlException } from '../../../../errors/constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/** @internal */\nfunction getRedirectUrl(redirects, preferredRedirectUrl) {\n if (preferredRedirectUrl) {\n const redirectUrl = redirects?.find(redirect => redirect === preferredRedirectUrl);\n if (!redirectUrl) {\n throw invalidPreferredRedirectUrlException;\n }\n return redirectUrl;\n }\n else {\n const redirectUrlFromTheSameOrigin = redirects?.find(isSameOriginAndPathName) ??\n redirects?.find(isTheSameDomain);\n const redirectUrlFromDifferentOrigin = redirects?.find(isHttps) ?? redirects?.find(isHttp);\n if (redirectUrlFromTheSameOrigin) {\n return redirectUrlFromTheSameOrigin;\n }\n else if (redirectUrlFromDifferentOrigin) {\n throw invalidOriginException;\n }\n throw invalidRedirectException;\n }\n}\n// origin + pathname => https://example.com/app\nconst isSameOriginAndPathName = (redirect) => redirect.startsWith(String(window.location.origin + (window.location.pathname || '/')));\n// domain => outlook.live.com, github.com\nconst isTheSameDomain = (redirect) => redirect.includes(String(window.location.hostname));\nconst isHttp = (redirect) => redirect.startsWith('http://');\nconst isHttps = (redirect) => redirect.startsWith('https://');\n\nexport { getRedirectUrl };\n//# sourceMappingURL=getRedirectUrl.mjs.map\n","import { Hub } from '@aws-amplify/core';\nimport { AMPLIFY_SYMBOL } from '@aws-amplify/core/internals/utils';\nimport { oAuthStore } from './oAuthStore.mjs';\nimport { resolveAndClearInflightPromises } from './inflightPromise.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst handleFailure = async (error) => {\n resolveAndClearInflightPromises();\n await oAuthStore.clearOAuthInflightData();\n Hub.dispatch('auth', { event: 'signInWithRedirect_failure', data: { error } }, 'Auth', AMPLIFY_SYMBOL);\n};\n\nexport { handleFailure };\n//# sourceMappingURL=handleFailure.mjs.map\n","import { assertTokenProviderConfig, assertOAuthConfig, AuthAction } from '@aws-amplify/core/internals/utils';\nimport { getAuthUserAgentValue } from '../../../../utils/getAuthUserAgentValue.mjs';\nimport { oAuthStore } from './oAuthStore.mjs';\nimport { completeOAuthFlow } from './completeOAuthFlow.mjs';\nimport { getRedirectUrl } from './getRedirectUrl.mjs';\nimport { handleFailure } from './handleFailure.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst attemptCompleteOAuthFlow = async (authConfig) => {\n try {\n assertTokenProviderConfig(authConfig);\n assertOAuthConfig(authConfig);\n oAuthStore.setAuthConfig(authConfig);\n }\n catch (_) {\n // no-op\n // This should not happen as Amplify singleton checks the oauth config key\n // unless the oauth config object doesn't contain required properties\n return;\n }\n // No inflight OAuth\n if (!(await oAuthStore.loadOAuthInFlight())) {\n return;\n }\n try {\n const currentUrl = window.location.href;\n const { loginWith, userPoolClientId } = authConfig;\n const { domain, redirectSignIn, responseType } = loginWith.oauth;\n const redirectUri = getRedirectUrl(redirectSignIn);\n await completeOAuthFlow({\n currentUrl,\n clientId: userPoolClientId,\n domain,\n redirectUri,\n responseType,\n userAgentValue: getAuthUserAgentValue(AuthAction.SignInWithRedirect),\n });\n }\n catch (err) {\n await handleFailure(err);\n }\n};\n\nexport { attemptCompleteOAuthFlow };\n//# sourceMappingURL=attemptCompleteOAuthFlow.mjs.map\n","import { Amplify } from '@aws-amplify/core';\nimport { isBrowser, ADD_OAUTH_LISTENER } from '@aws-amplify/core/internals/utils';\nimport { attemptCompleteOAuthFlow } from './attemptCompleteOAuthFlow.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// attach the side effect for handling the completion of an inflight oauth flow\n// this side effect works only on Web\nisBrowser() &&\n (() => {\n // add the listener to the singleton for triggering\n Amplify[ADD_OAUTH_LISTENER](attemptCompleteOAuthFlow);\n })();\n//# sourceMappingURL=enableOAuthListener.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst cognitoHostedUIIdentityProviderMap = {\n Google: 'Google',\n Facebook: 'Facebook',\n Amazon: 'LoginWithAmazon',\n Apple: 'SignInWithApple',\n};\n\nexport { cognitoHostedUIIdentityProviderMap };\n//# sourceMappingURL=models.mjs.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst openAuthSession = async (url) => {\n if (!window?.location) {\n return;\n }\n // enforce HTTPS\n window.location.href = url.replace('http://', 'https://');\n};\n\nexport { openAuthSession };\n//# sourceMappingURL=openAuthSession.mjs.map\n","import { Sha256 } from '@aws-crypto/sha256-js';\nimport { getCrypto, base64Encoder } from '@aws-amplify/core/internals/utils';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst CODE_VERIFIER_CHARSET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n/**\n *\n * @param length Desired length of the code verifier.\n *\n * **NOTE:** According to the [RFC 7636](https://datatracker.ietf.org/doc/html/rfc7636#section-4.1)\n * A code verifier must be with a length >= 43 and <= 128.\n *\n * @returns An object that contains the generated `codeVerifier` and a method\n * `toCodeChallenge` to generate the code challenge from the `codeVerifier`\n * following the spec of [RFC 7636](https://datatracker.ietf.org/doc/html/rfc7636#section-4.2).\n */\nconst generateCodeVerifier = (length) => {\n const randomBytes = new Uint8Array(length);\n getCrypto().getRandomValues(randomBytes);\n let value = '';\n let codeChallenge;\n for (const byte of randomBytes) {\n value += CODE_VERIFIER_CHARSET.charAt(byte % CODE_VERIFIER_CHARSET.length);\n }\n return {\n value,\n method: 'S256',\n toCodeChallenge() {\n if (codeChallenge) {\n return codeChallenge;\n }\n codeChallenge = generateCodeChallenge(value);\n return codeChallenge;\n },\n };\n};\nfunction generateCodeChallenge(codeVerifier) {\n const awsCryptoHash = new Sha256();\n awsCryptoHash.update(codeVerifier);\n const codeChallenge = removePaddingChar(base64Encoder.convert(awsCryptoHash.digestSync(), { urlSafe: true }));\n return codeChallenge;\n}\nfunction removePaddingChar(base64Encoded) {\n return base64Encoded.replace(/=/g, '');\n}\n\nexport { generateCodeVerifier };\n//# sourceMappingURL=generateCodeVerifier.mjs.map\n","import { generateRandomString } from '@aws-amplify/core/internals/utils';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst generateState = () => {\n return generateRandomString(32);\n};\n\nexport { generateState };\n//# sourceMappingURL=generateState.mjs.map\n","import { createOAuthError } from './createOAuthError.mjs';\nimport { handleFailure } from './handleFailure.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst listenForOAuthFlowCancellation = (store) => {\n async function handleCancelOAuthFlow(event) {\n const isBfcache = event.persisted;\n if (isBfcache && (await store.loadOAuthInFlight())) {\n const error = createOAuthError('User cancelled OAuth flow.');\n await handleFailure(error);\n }\n window.removeEventListener('pageshow', handleCancelOAuthFlow);\n }\n window.addEventListener('pageshow', handleCancelOAuthFlow);\n};\n\nexport { listenForOAuthFlowCancellation };\n//# sourceMappingURL=cancelOAuthFlow.mjs.map\n","import { Amplify } from '@aws-amplify/core';\nimport { assertTokenProviderConfig, assertOAuthConfig, urlSafeEncode, isBrowser, AuthAction } from '@aws-amplify/core/internals/utils';\nimport '../utils/oauth/enableOAuthListener.mjs';\nimport { cognitoHostedUIIdentityProviderMap } from '../types/models.mjs';\nimport { getAuthUserAgentValue } from '../../../utils/getAuthUserAgentValue.mjs';\nimport { openAuthSession } from '../../../utils/openAuthSession.mjs';\nimport { assertUserNotAuthenticated } from '../utils/signInHelpers.mjs';\nimport { generateCodeVerifier } from '../utils/oauth/generateCodeVerifier.mjs';\nimport { generateState } from '../utils/oauth/generateState.mjs';\nimport '../utils/refreshAuthTokens.mjs';\nimport '../tokenProvider/errorHelpers.mjs';\nimport { oAuthStore } from '../utils/oauth/oAuthStore.mjs';\nimport '../tokenProvider/tokenProvider.mjs';\nimport { getRedirectUrl } from '../utils/oauth/getRedirectUrl.mjs';\nimport { handleFailure } from '../utils/oauth/handleFailure.mjs';\nimport { completeOAuthFlow } from '../utils/oauth/completeOAuthFlow.mjs';\nimport '../../../types/Auth.mjs';\nimport { createOAuthError } from '../utils/oauth/createOAuthError.mjs';\nimport { listenForOAuthFlowCancellation } from '../utils/oauth/cancelOAuthFlow.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Signs in a user with OAuth. Redirects the application to an Identity Provider.\n *\n * @param input - The SignInWithRedirectInput object, if empty it will redirect to Cognito HostedUI\n *\n * @throws AuthTokenConfigException - Thrown when the user pool config is invalid.\n * @throws OAuthNotConfigureException - Thrown when the oauth config is invalid.\n */\nasync function signInWithRedirect(input) {\n const authConfig = Amplify.getConfig().Auth?.Cognito;\n assertTokenProviderConfig(authConfig);\n assertOAuthConfig(authConfig);\n oAuthStore.setAuthConfig(authConfig);\n if (!input?.options?.prompt) {\n await assertUserNotAuthenticated();\n }\n let provider = 'COGNITO'; // Default\n let idpIdentifier;\n if (typeof input?.provider === 'string') {\n provider = cognitoHostedUIIdentityProviderMap[input.provider];\n }\n else if (input?.provider?.custom) {\n provider = input.provider.custom;\n }\n else if (input?.provider?.idpIdentifier) {\n ({ idpIdentifier } = input.provider);\n }\n return oauthSignIn({\n oauthConfig: authConfig.loginWith.oauth,\n clientId: authConfig.userPoolClientId,\n provider,\n idpIdentifier,\n customState: input?.customState,\n preferPrivateSession: input?.options?.preferPrivateSession,\n options: {\n loginHint: input?.options?.loginHint,\n lang: input?.options?.lang,\n nonce: input?.options?.nonce,\n prompt: input?.options?.prompt,\n },\n authSessionOpener: input?.options?.authSessionOpener,\n });\n}\nconst oauthSignIn = async ({ oauthConfig, provider, idpIdentifier, clientId, customState, preferPrivateSession, options, authSessionOpener, }) => {\n const { domain, redirectSignIn, responseType, scopes } = oauthConfig;\n const { loginHint, lang, nonce, prompt } = options ?? {};\n const randomState = generateState();\n const openAuthSession$1 = authSessionOpener || openAuthSession;\n /* encodeURIComponent is not URL safe, use urlSafeEncode instead. Cognito\n single-encodes/decodes url on first sign in and double-encodes/decodes url\n when user already signed in. Using encodeURIComponent, Base32, Base64 add\n characters % or = which on further encoding becomes unsafe. '=' create issue\n for parsing query params.\n Refer: https://github.com/aws-amplify/amplify-js/issues/5218 */\n const state = customState\n ? `${randomState}-${urlSafeEncode(customState)}`\n : randomState;\n const { value, method, toCodeChallenge } = generateCodeVerifier(128);\n const redirectUri = getRedirectUrl(oauthConfig.redirectSignIn);\n if (isBrowser())\n oAuthStore.storeOAuthInFlight(true);\n oAuthStore.storeOAuthState(state);\n oAuthStore.storePKCE(value);\n const params = new URLSearchParams();\n params.append('redirect_uri', redirectUri);\n params.append('response_type', responseType);\n params.append('client_id', clientId);\n // Add either identity_provider or idp_identifier, but not both\n if (idpIdentifier) {\n params.append('idp_identifier', idpIdentifier);\n }\n else {\n params.append('identity_provider', provider);\n }\n params.append('scope', scopes.join(' '));\n loginHint && params.append('login_hint', loginHint);\n lang && params.append('lang', lang);\n nonce && params.append('nonce', nonce);\n prompt && params.append('prompt', prompt.toLowerCase());\n params.append('state', state);\n if (responseType === 'code') {\n params.append('code_challenge', toCodeChallenge());\n params.append('code_challenge_method', method);\n }\n // Using URL object is not supported in React Native as the `search` property is read-only\n // See: https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Blob/URL.js\n const oAuthUrl = `https://${domain}/oauth2/authorize?${params.toString()}`;\n // this will only take effect in the following scenarios:\n // 1. the user cancels the OAuth flow on web via back button, and\n // 2. when bfcache is enabled\n listenForOAuthFlowCancellation(oAuthStore);\n // the following is effective only in react-native as openAuthSession resolves only in react-native\n const { type, error, url } = (await openAuthSession$1(oAuthUrl, redirectSignIn, preferPrivateSession)) ??\n {};\n try {\n if (type === 'error') {\n throw createOAuthError(String(error));\n }\n if (type === 'canceled') {\n throw createOAuthError(String(type));\n }\n if (type === 'success' && url) {\n await completeOAuthFlow({\n currentUrl: url,\n clientId,\n domain,\n redirectUri,\n responseType,\n userAgentValue: getAuthUserAgentValue(AuthAction.SignInWithRedirect),\n preferPrivateSession,\n });\n }\n }\n catch (err) {\n await handleFailure(err);\n // rethrow the error so it can be caught by `await signInWithRedirect()` in react-native\n throw err;\n }\n};\n\nexport { signInWithRedirect };\n//# sourceMappingURL=signInWithRedirect.mjs.map\n","import { clearCredentials, Hub } from '@aws-amplify/core';\nimport { AMPLIFY_SYMBOL } from '@aws-amplify/core/internals/utils';\nimport '../refreshAuthTokens.mjs';\nimport '../../tokenProvider/errorHelpers.mjs';\nimport '../types.mjs';\nimport { tokenOrchestrator } from '../../tokenProvider/tokenProvider.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst completeOAuthSignOut = async (store) => {\n await store.clearOAuthData();\n tokenOrchestrator.clearTokens();\n await clearCredentials();\n Hub.dispatch('auth', { event: 'signedOut' }, 'Auth', AMPLIFY_SYMBOL);\n};\n\nexport { completeOAuthSignOut };\n//# sourceMappingURL=completeOAuthSignOut.mjs.map\n","import { assertOAuthConfig } from '@aws-amplify/core/internals/utils';\nimport { openAuthSession } from '../../../../utils/openAuthSession.mjs';\nimport { getRedirectUrl } from './getRedirectUrl.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst oAuthSignOutRedirect = async (authConfig, preferPrivateSession = false, redirectUrl) => {\n assertOAuthConfig(authConfig);\n const { loginWith, userPoolClientId } = authConfig;\n const { domain, redirectSignOut } = loginWith.oauth;\n const signoutUri = getRedirectUrl(redirectSignOut, redirectUrl);\n const oAuthLogoutEndpoint = `https://${domain}/logout?${Object.entries({\n client_id: userPoolClientId,\n logout_uri: encodeURIComponent(signoutUri),\n })\n .map(([k, v]) => `${k}=${v}`)\n .join('&')}`;\n return openAuthSession(oAuthLogoutEndpoint);\n};\n\nexport { oAuthSignOutRedirect };\n//# sourceMappingURL=oAuthSignOutRedirect.mjs.map\n","import { completeOAuthSignOut } from './completeOAuthSignOut.mjs';\nimport { oAuthSignOutRedirect } from './oAuthSignOutRedirect.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst handleOAuthSignOut = async (cognitoConfig, store, tokenOrchestrator, redirectUrl) => {\n const { isOAuthSignIn } = await store.loadOAuthSignIn();\n const oauthMetadata = await tokenOrchestrator.getOAuthMetadata();\n // Clear everything before attempting to visted logout endpoint since the current application\n // state could be wiped away on redirect\n await completeOAuthSignOut(store);\n // The isOAuthSignIn flag is propagated by the oAuthToken store which manages oauth keys in local storage only.\n // These keys are used to determine if a user is in an inflight or signedIn oauth states.\n // However, this behavior represents an issue when 2 apps share the same set of tokens in Cookie storage because the app that didn't\n // start the OAuth will not have access to the oauth keys.\n // A heuristic solution is to add oauth metadata to the tokenOrchestrator which will have access to the underlying\n // storage mechanism that is used by Amplify.\n if (isOAuthSignIn || oauthMetadata?.oauthSignIn) {\n // On web, this will always end up being a void action\n return oAuthSignOutRedirect(cognitoConfig, false, redirectUrl);\n }\n};\n\nexport { handleOAuthSignOut };\n//# sourceMappingURL=handleOAuthSignOut.mjs.map\n","import { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { cognitoUserPoolTransferHandler } from './shared/handler/cognitoUserPoolTransferHandler.mjs';\nimport { createUserPoolSerializer } from './shared/serde/createUserPoolSerializer.mjs';\nimport { createUserPoolDeserializer } from './shared/serde/createUserPoolDeserializer.mjs';\nimport '@aws-amplify/core/internals/aws-client-utils';\nimport '@aws-amplify/core/internals/utils';\nimport { DEFAULT_SERVICE_CLIENT_API_CONFIG } from './constants.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst createRevokeTokenClient = (config) => composeServiceApi(cognitoUserPoolTransferHandler, createUserPoolSerializer('RevokeToken'), createUserPoolDeserializer(), {\n ...DEFAULT_SERVICE_CLIENT_API_CONFIG,\n ...config,\n});\n\nexport { createRevokeTokenClient };\n//# sourceMappingURL=createRevokeTokenClient.mjs.map\n","import { ConsoleLogger, Amplify, clearCredentials, Hub, defaultStorage } from '@aws-amplify/core';\nimport { assertTokenProviderConfig, assertOAuthConfig, AMPLIFY_SYMBOL, AuthAction } from '@aws-amplify/core/internals/utils';\nimport { getAuthUserAgentValue } from '../../../utils/getAuthUserAgentValue.mjs';\nimport '../utils/refreshAuthTokens.mjs';\nimport { AuthError } from '../../../errors/AuthError.mjs';\nimport '../tokenProvider/errorHelpers.mjs';\nimport { DefaultOAuthStore } from '../utils/signInWithRedirectStore.mjs';\nimport { tokenOrchestrator } from '../tokenProvider/tokenProvider.mjs';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers/regionParsers.mjs';\nimport { assertAuthTokens, assertAuthTokensWithRefreshToken } from '../utils/types.mjs';\nimport '@aws-crypto/sha256-js';\nimport { handleOAuthSignOut } from '../utils/oauth/handleOAuthSignOut.mjs';\nimport { OAUTH_SIGNOUT_EXCEPTION } from '../../../errors/constants.mjs';\nimport '../../../Errors.mjs';\nimport '../../../common/AuthErrorStrings.mjs';\nimport '../../../types/Auth.mjs';\nimport '@aws-amplify/core/internals/aws-client-utils/composers';\nimport '@aws-amplify/core/internals/aws-client-utils';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/shared/handler/cognitoUserPoolTransferHandler.mjs';\nimport '../../../foundation/factories/serviceClients/cognitoIdentityProvider/constants.mjs';\nimport { createRevokeTokenClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/createRevokeTokenClient.mjs';\nimport '../../../errors/types/validation.mjs';\nimport '../types/errors.mjs';\nimport { createGlobalSignOutClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/createGlobalSignOutClient.mjs';\nimport { createCognitoUserPoolEndpointResolver } from '../factories/createCognitoUserPoolEndpointResolver.mjs';\n\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst logger = new ConsoleLogger('Auth');\n/**\n * Signs a user out\n *\n * @param input - The SignOutInput object\n * @throws AuthTokenConfigException - Thrown when the token provider config is invalid.\n */\nasync function signOut(input) {\n const cognitoConfig = Amplify.getConfig().Auth?.Cognito;\n assertTokenProviderConfig(cognitoConfig);\n if (input?.global) {\n await globalSignOut(cognitoConfig);\n }\n else {\n await clientSignOut(cognitoConfig);\n }\n let hasOAuthConfig;\n try {\n assertOAuthConfig(cognitoConfig);\n hasOAuthConfig = true;\n }\n catch (err) {\n hasOAuthConfig = false;\n }\n if (hasOAuthConfig) {\n const oAuthStore = new DefaultOAuthStore(defaultStorage);\n oAuthStore.setAuthConfig(cognitoConfig);\n const { type } = (await handleOAuthSignOut(cognitoConfig, oAuthStore, tokenOrchestrator, input?.oauth?.redirectUrl)) ?? {};\n if (type === 'error') {\n throw new AuthError({\n name: OAUTH_SIGNOUT_EXCEPTION,\n message: `An error occurred when attempting to log out from OAuth provider.`,\n });\n }\n }\n else {\n // complete sign out\n tokenOrchestrator.clearTokens();\n await clearCredentials();\n Hub.dispatch('auth', { event: 'signedOut' }, 'Auth', AMPLIFY_SYMBOL);\n }\n}\nasync function clientSignOut(cognitoConfig) {\n try {\n const { userPoolEndpoint, userPoolId, userPoolClientId } = cognitoConfig;\n const authTokens = await tokenOrchestrator.getTokenStore().loadTokens();\n assertAuthTokensWithRefreshToken(authTokens);\n if (isSessionRevocable(authTokens.accessToken)) {\n const revokeToken = createRevokeTokenClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n await revokeToken({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.SignOut),\n }, {\n ClientId: userPoolClientId,\n Token: authTokens.refreshToken,\n });\n }\n }\n catch (err) {\n // this shouldn't throw\n logger.debug('Client signOut error caught but will proceed with token removal');\n }\n}\nasync function globalSignOut(cognitoConfig) {\n try {\n const { userPoolEndpoint, userPoolId } = cognitoConfig;\n const authTokens = await tokenOrchestrator.getTokenStore().loadTokens();\n assertAuthTokens(authTokens);\n const globalSignOutClient = createGlobalSignOutClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n await globalSignOutClient({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.SignOut),\n }, {\n AccessToken: authTokens.accessToken.toString(),\n });\n }\n catch (err) {\n // it should not throw\n logger.debug('Global signOut error caught but will proceed with token removal');\n }\n}\nconst isSessionRevocable = (token) => !!token?.payload?.origin_jti;\n\nexport { signOut };\n//# sourceMappingURL=signOut.mjs.map\n","import { useState, useEffect } from 'react';\nimport { Amplify } from 'aws-amplify';\nimport { signUp, signInWithRedirect, signOut, getCurrentUser, fetchAuthSession } from 'aws-amplify/auth';\nimport { Hub } from 'aws-amplify/utils';\n\n// Configure Amplify (Call this once at app boot, e.g., in main.jsx, but fine here for hook logic scope)\n// In a real app, move this configuration to a separate file (e.g., src/aws-exports.js or main.jsx)\nconst authConfig = {\n Auth: {\n Cognito: {\n region: import.meta.env.VITE_AWS_REGION,\n userPoolId: import.meta.env.VITE_USER_POOL_ID,\n userPoolClientId: import.meta.env.VITE_USER_POOL_CLIENT_ID,\n loginWith: {\n oauth: {\n domain: import.meta.env.VITE_COGNITO_DOMAIN,\n scopes: ['email', 'openid', 'profile'],\n redirectSignIn: import.meta.env.VITE_REDIRECT_SIGNIN ?? `${window.location.origin}/`,\n redirectSignOut: import.meta.env.VITE_REDIRECT_SIGNOUT ?? `${window.location.origin}/lp`,\n responseType: 'code',\n },\n },\n }\n }\n};\n\n// Only configure if env vars are present (prevents crash during build/test without env)\nif (import.meta.env.VITE_USER_POOL_ID) {\n Amplify.configure(authConfig);\n}\n\nexport default function useAuth() {\n const [user, setUser] = useState(null);\n const [isLoading, setIsLoading] = useState(true);\n\n // Check session on mount\n useEffect(() => {\n checkUser();\n const listener = (data) => {\n if (data.payload?.event === 'signedIn' || data.payload?.event === 'tokenRefresh') {\n checkUser();\n }\n if (data.payload?.event === 'signedOut') {\n setUser(null);\n }\n };\n const unsubscribe = Hub.listen('auth', listener);\n return () => {\n if (typeof unsubscribe === 'function') unsubscribe();\n else if (unsubscribe?.remove) unsubscribe.remove();\n };\n }, []);\n\n const checkUser = async () => {\n try {\n const currentUser = await getCurrentUser();\n const session = await fetchAuthSession();\n setUser({\n id: currentUser.userId,\n username: currentUser.username,\n email: session.tokens?.idToken?.payload?.email || currentUser.username,\n token: session.tokens?.idToken?.toString(),\n });\n } catch (err) {\n // Not signed in\n setUser(null);\n } finally {\n setIsLoading(false);\n }\n };\n\n const handleSignUp = async (email, password) => {\n try {\n const { isSignUpComplete, userId, nextStep } = await signUp({\n username: email,\n password,\n options: {\n userAttributes: {\n email,\n },\n },\n });\n return { isSignUpComplete, userId, nextStep };\n } catch (error) {\n console.error('Error signing up:', error);\n throw error;\n }\n };\n\n const handleSignIn = async () => {\n try {\n return await signInWithRedirect({ provider: 'COGNITO' });\n } catch (error) {\n console.error('Error signing in:', error);\n throw error;\n }\n };\n\n const handleSignOut = async () => {\n try {\n await signOut();\n setUser(null);\n } catch (error) {\n console.error('Error signing out:', error);\n }\n };\n\n return {\n user,\n isLoading,\n signUp: handleSignUp,\n signIn: handleSignIn,\n signOut: handleSignOut,\n isAuthenticated: !!user,\n };\n}\n"],"names":["AWS_CLOUDWATCH_CATEGORY","USER_AGENT_HEADER","NO_HUBCALLBACK_PROVIDED_EXCEPTION","LogType","LOG_LEVELS","ConsoleLogger","name","level","n","dt","config","type","msg","loggerLevelName","loggerLevel","log","prefix","message","obj","plugin","logEvent","pluggable","AmplifyError","recoverySuggestion","underlyingError","metadata","extendedRequestId","httpStatusCode","requestId","AmplifyErrorCode","createAssertionFunction","errorMap","AssertionError","assertion","additionalContext","AMPLIFY_SYMBOL","logger","HubClass","channel","listener","holder","callback","payload","source","ampSymbol","capsule","e","listenerName","cb","Hub","HubInternal","getCrypto","getBtoa","getAtob","base64Decoder","input","options","inputStr","AuthConfigurationErrorCode","authConfigurationErrorMap","assert","assertTokenProviderConfig","cognitoConfig","assertionValid","assertOAuthConfig","validOAuthConfig","decodeJWT","token","tokenParts","base64","jsonStr","char","deepFreeze","object","propNames","value","authTypeMapping","parseAWSExports","aws_appsync_apiKey","aws_appsync_authenticationType","aws_appsync_graphqlEndpoint","aws_appsync_region","aws_bots_config","aws_cognito_identity_pool_id","aws_cognito_sign_up_verification_method","aws_cognito_mfa_configuration","aws_cognito_mfa_types","aws_cognito_password_protection_settings","aws_cognito_verification_mechanisms","aws_cognito_signup_attributes","aws_cognito_social_providers","aws_cognito_username_attributes","aws_mandatory_sign_in","aws_mobile_analytics_app_id","aws_mobile_analytics_app_region","aws_user_files_s3_bucket","aws_user_files_s3_bucket_region","aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing","aws_user_pools_id","aws_user_pools_web_client_id","geo","oauth","predictions","aws_cloud_logic_custom","Notifications","modelIntrospection","amplifyConfig","InAppMessaging","Push","appId","region","bot","defaultAuthMode","mfaConfig","passwordFormatConfig","userAttributes","attributes","key","loginWithEmailEnabled","loginWithPhoneEnabled","hasOAuthConfig","hasSocialProviderConfig","getOAuthConfig","parseSocialProviders","amazon_location_service","acc","api","endpoint","service","voiceId","getRedirectUrl","redirectStr","domain","scope","redirectSignIn","redirectSignOut","responseType","provider","updatedProvider","ADD_OAUTH_LISTENER","byteToHex","i","unsafeStringify","arr","offset","getRandomValues","rnds8","rng","randomUUID","native","v4","buf","rnds","isAmplifyOutputs","version","parseStorage","amplifyOutputsStorageProperties","bucket_name","aws_region","buckets","createBucketInfoMap","parseAuth","amplifyOutputsAuthProperties","user_pool_id","user_pool_client_id","identity_pool_id","password_policy","mfa_configuration","mfa_methods","unauthenticated_identities_enabled","username_attributes","standard_required_attributes","groups","passwordless","authConfig","getMfaStatus","getOAuthProviders","curr","parseAnalytics","amplifyOutputsAnalyticsProperties","amazon_pinpoint","parseGeo","geofence_collections","maps","search_indices","parseData","amplifyOutputsDataProperties","default_authorization_type","url","api_key","model_introspection","getGraphQLAuthMode","parseCustom","amplifyOutputsCustomProperties","parseNotifications","amplifyOutputsNotificationsProperties","channels","amazon_pinpoint_app_id","hasInAppMessaging","hasPushNotification","notificationsConfig","parseAmplifyOutputs","amplifyOutputs","resourcesConfig","customConfig","authModeNames","authType","providerNames","providers","oAuthProviders","mfaConfiguration","mappedBuckets","bucketName","paths","sanitizedPaths","parseAmplifyConfig","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","rejected","result","__generator","body","_","t","f","y","g","verb","v","op","BLOCK_SIZE","DIGEST_LENGTH","KEY","INIT","MAX_HASHABLE_LENGTH","RawSha256","data","position","byteLength","bitsHashed","bufferView","undecoratedLength","out","_a","buffer","state","state0","state1","state2","state3","state4","state5","state6","state7","u","t1_1","t2_1","t1","t2","fromUtf8","fromUtf8Browser","convertToBuffer","isEmptyData","Sha256","secret","toHash","inner","bufferFromSecret","outer","bufferHash","encodedByte","Framework","Category","AiAction","AnalyticsAction","ApiAction","AuthAction","DataStoreAction","GeoAction","InAppMessagingAction","InteractionsAction","PredictionsAction","PubSubAction","PushNotificationAction","StorageAction","globalExists","windowExists","documentExists","processExists","keyPrefixMatch","reactWebDetect","elementKeyPrefixedWithReact","elementIsReactEnabled","element","allElementsWithId","reactSSRDetect","define_process_env_default","vueWebDetect","vueSSRDetect","svelteWebDetect","svelteSSRDetect","nextWebDetect","nextSSRDetect","nuxtWebDetect","nuxtSSRDetect","angularWebDetect","angularVersionSetInDocument","angularContentSetInWindow","angularSSRDetect","reactNativeDetect","expoDetect","webDetect","detectionMap","detect","detectionEntry","frameworkCache","frameworkChangeObservers","resetTriggered","SSR_RESET_TIMEOUT","WEB_RESET_TIMEOUT","PRIME_FRAMEWORK_DELAY","detectFramework","fcn","resetTimeout","clearCache","framework","delay","customUserAgentState","getCustomUserAgent","category","BASE_USER_AGENT","sanitizeAmplifyVersion","amplifyVersion","getAmplifyUserAgentObject","action","userAgent","customState","getAmplifyUserAgent","customUserAgentDetails","agentKey","agentValue","isBrowser","AuthClass","authResourcesConfig","authOptions","getCustomEndpointWarningMessage","credentialsAndIdentityId","userSub","tokens","target","AmplifyClass","libraryOptions","resolvedResourceConfig","Amplify","fetchAuthSession","amplify","fetchAuthSession$1","clearCredentials","parseMetadata","response","headers","statusCode","isMetadataBearer","parseJsonError","parseJsonBody","code","rawValue","cleanValue","error","output","composeServiceApi","transferHandler","serializer","deserializer","defaultConfig","resolvedConfig","request","MAX_DELAY_MS","jitteredBackoff","maxDelayMs","attempt","DEFAULT_RETRY_ATTEMPTS","AMZ_SDK_INVOCATION_ID_HEADER","AMZ_SDK_REQUEST_HEADER","DEFAULT_MAX_DELAY_MS","jitteredBackoff$1","CLOCK_SKEW_ERROR_CODES","isClockSkewError","errorCode","getRetryDecider","errorParser","parsedError","isConnectionError","isThrottlingError","isServerSideError","THROTTLING_ERROR_CODES","TIMEOUT_ERROR_CODES","retryMiddlewareFactory","maxAttempts","retryDecider","computeDelay","abortSignal","next","context","attemptsCount","handleTerminalErrorOrResponse","addOrIncrementMetadataAttempts","isCredentialsExpiredError","retryable","cancellableSleep","timeoutMs","timeoutId","sleepPromiseResolveFn","sleepPromise","cancelSleep","nextHandlerOutput","attempts","amplifyUuid","amzSdkInvocationIdHeaderMiddlewareFactory","amzSdkRequestHeaderMiddlewareFactory","userAgentMiddlewareFactory","userAgentHeader","userAgentValue","headerName","composeTransferHandler","coreHandler","middleware","composedHandler","composeHandlerRequest","m","withMemoization","payloadAccessor","cached","shouldSendBody","method","fetchTransferHandler","cache","withCrossDomainCredentials","resp","responseHeaders","httpResponse","bodyWithMixin","unauthenticatedHandler","defaultPartition","partitionsInfo","getDnsSuffix","partitions","regions","outputs","regionRegex","regex","AmplifyUrl","PlatformNotSupportedError","KeyValueStorage","storage","InMemoryStorage","index","getLocalStorageWithFallback","getSessionStorageWithFallback","DefaultStorage","SessionStorage","SyncKeyValueStorage","SyncSessionStorage","defaultStorage","syncSessionStorage","generateRandomString","length","STATE_CHARSET","randomNums","num","urlSafeDecode","hex","urlSafeEncode","str","deDupeAsyncFunction","asyncFunction","inflightPromise","args","isTokenExpired","expiresAt","clockDrift","tolerance","getDeviceName","userAgentData","platform","platformVersion","model","architecture","fullVersionList","versionList","bytesToString","byte","base64Encoder","encodedStr","cryptoSecureRandomInt","hexStringify","wordArray","words","sigBytes","hexChars","bite","WordArray","Words","nBytes","AuthValidationErrorCode","validationErrorMap","AuthErrorStrings","AuthErrorCodes","AuthError","params","assertValidationError","getRegionFromUserPoolId","userPoolId","toAttributeType","AssociateSoftwareTokenException","ChangePasswordException","ConfirmDeviceException","ConfirmForgotPasswordException","ConfirmSignUpException","DeleteUserAttributesException","DeleteUserException","ForgetDeviceException","ForgotPasswordException","GetUserException","GetIdException","GetCredentialsForIdentityException","GetUserAttributeVerificationException","GlobalSignOutException","InitiateAuthException","ResendConfirmationException","RespondToAuthChallengeException","SetUserMFAPreferenceException","SignUpException","UpdateUserAttributesException","VerifySoftwareTokenException","VerifyUserAttributeException","UpdateDeviceStatusException","ListDevicesException","USER_UNAUTHENTICATED_EXCEPTION","USER_ALREADY_AUTHENTICATED_EXCEPTION","DEVICE_METADATA_NOT_FOUND_EXCEPTION","INVALID_REDIRECT_EXCEPTION","INVALID_APP_SCHEME_EXCEPTION","INVALID_PREFERRED_REDIRECT_EXCEPTION","invalidRedirectException","INVALID_ORIGIN_EXCEPTION","invalidOriginException","OAUTH_SIGNOUT_EXCEPTION","TOKEN_REFRESH_EXCEPTION","UNEXPECTED_SIGN_IN_INTERRUPTION_EXCEPTION","assertAuthTokens","oAuthTokenRefreshException","tokenRefreshException","assertAuthTokensWithRefreshToken","isAuthenticatedWithImplicitOauthFlow","isAuthenticatedWithRefreshToken","assertDeviceMetadata","deviceMetadata","OAuthStorageKeys","isAuthenticated","getCurrentUser","username","sub","authUser","signInDetails","getSignInDetailsFromTokens","getCurrentUser$1","getAuthUserAgentValue","createUserPoolSerializer","operation","getSharedHeaders","buildHttpRpcRequest","assertServiceError","createUserPoolDeserializer","disableCacheMiddlewareFactory","cognitoUserPoolTransferHandler","COGNITO_IDP_SERVICE_NAME","DEFAULT_SERVICE_CLIENT_API_CONFIG","createInitiateAuthClient","createRespondToAuthChallengeClient","createAssociateSoftwareTokenClient","cognitoUserPoolEndpointResolver","createCognitoUserPoolEndpointResolver","endpointOverride","createGetTokensFromRefreshTokenClient","refreshAuthTokensFunction","clientMetadata","userPoolClientId","userPoolEndpoint","getTokensFromRefreshToken","AuthenticationResult","accessToken","idToken","iat","refreshAuthTokens","AuthTokenStorageKeys","TokenProviderErrorCode","tokenValidationErrorMap","AUTH_KEY_PREFIX","DefaultTokenStore","keyValueStorage","authKeys","accessTokenString","itString","refreshToken","clockDriftString","lastAuthUser","deviceKey","deviceGroupKey","randomPassword","createKeysForAuthStorage","identifier","oauthMetadataKey","oauthMetadata","getAuthStorageKeys","keys","authKey","V5_HOSTED_UI_KEY","DefaultOAuthStore","pkce","authConfigParam","inflight","isLegacyHostedUISignIn","isOAuthSignIn","preferPrivateSession","oauthSignIn","oAuthStore","inflightPromises","addInflightPromise","resolver","resolveAndClearInflightPromises","TokenOrchestrator","_reject","tokenRefresher","tokenStore","clientMetadataProvider","idTokenExpired","accessTokenExpired","newTokens","err","errorName","CognitoUserPoolsTokenProvider","cognitoUserPoolsTokenProvider","tokenOrchestrator","cacheCognitoTokens","accessTokenIssuedAtInMillis","currentTime","ERROR_MESSAGE","dispatchSignedInHubEvent","defaultState","autoSignInReducer","createAutoSignInStore","reducer","currentState","autoSignInStore","MS_TO_EXPIRY","TGT_STATE","SIGN_IN_STATE_KEYS","signInReducer","persistSignInState","getInitialState","clearPersistedSignInState","getDefaultState","isExpired","expiryDate","expiryTimestamp","currentTimestamp","resetActiveSignInState","signInStore","stateKey","expiry","challengeName","signInSession","createStore","setActiveSignInState","NOT_SUPPORTED_RECOVERY_SUGGESTION","PasskeyError","PasskeyErrorCode","ABORT_OR_CANCEL_RECOVERY_SUGGESTION","MISCONFIGURATION_RECOVERY_SUGGESTION","passkeyErrorMap","assertPasskeyError","handlePasskeyError","handlePasskeyAuthenticationError","getIsPasskeySupported","convertArrayBufferToBase64Url","convertBase64UrlToArrayBuffer","base64url","x","deserializeJsonToPkcGetOptions","challengeBuffer","allowedCredentialsWithBuffer","allowedCred","serializePkcWithAssertionToJson","resultJson","assertCredentialIsPkcWithAuthenticatorAssertionResponse","credential","getPasskey","isPasskeySupported","passkeyGetOptions","createConfirmDeviceClient","textEncoder","BigInteger","a","b","nbi","dbits","canary","j_lm","am1","w","j","c","am2","xl","xh","l","h","am3","inBrowser","BI_FP","BI_RM","BI_RC","rr","vv","int2char","intAt","s","bnpCopyTo","r","bnpFromInt","nbv","bnpFromString","k","mi","sh","bnpClamp","bnToString","km","d","p","bnNegate","bnAbs","bnCompareTo","nbits","bnBitLength","bnpDLShiftTo","bnpDRShiftTo","bnpLShiftTo","bs","cbs","bm","ds","bnpRShiftTo","bnpSubTo","bnpMultiplyTo","bnpSquareTo","bnpDivRemTo","q","pm","pt","ts","ms","nsh","ys","y0","yt","d1","d2","qd","bnMod","bnpInvDigit","bnEquals","bnpAddTo","bnAdd","bnSubtract","bnMultiply","bnDivide","Montgomery","montConvert","montRevert","montReduce","u0","montSqrTo","montMulTo","bnModPow","z","k1","g2","is1","r2","calculateS","B","N","U","outerErr","outerResult","innerErr","innerResult","INIT_N","SHORT_TO_HEX","HEX_TO_SHORT","getBytesFromHex","encoded","getHexFromBytes","bytes","getHashFromData","sha256","hashedData","hashHexFromUint8","getHashFromHex","hexStr","HEX_MSB_REGEX","getPaddedHex","bigInt","isNegative","invertedNibbles","invertedNibble","calculateU","A","getHkdfKey","ikm","salt","info","awsCryptoHash","resultFromAWSCryptoPrk","awsCryptoHashHmac","getRandomBytes","getRandomString","AuthenticationHelper","userPoolName","combinedString","hashedString","hexRandom","password","serverBValue","usernamePassword","usernamePasswordHash","S","spacer","calculateA","getAuthenticationHelper","generateRandomBigInteger","getNewDeviceMetadata","newDeviceMetadata","authenticationHelper","deviceSecretVerifierConfig","handleWebAuthnSignInResult","challengeParameters","credentialRequestOptions","cred","respondToAuthChallenge","nextChallengeName","nextChallengeParameters","authenticationResult","nextSession","getUserContextData","amazonCognitoAdvancedSecurityData","advancedSecurityData","MONTH_NAMES","WEEK_NAMES","getNowString","now","weekDay","month","day","hours","minutes","seconds","year","getSignatureString","dateNow","hkdf","bufUPIDaToB","bufUNaToB","bufSBaToB","urlB64ToUint8Array","bufDNaToB","bufConcat","resultFromAWSCrypto","base64String","padding","rawData","outputArray","handleDeviceSRPAuth","session","clientId","challengeResponses","jsonReqResponseChallenge","respondedChallengeParameters","Session","handleDevicePasswordVerifier","UserContextData","handlePasswordVerifierChallenge","retryOnResourceNotFoundException","func","setActiveSignInUsername","dispatch","handlePasswordSRP","authFlow","preferredChallenge","authParameters","jsonReq","activeUsername","USER_ATTRIBUTES","isWebAuthnResultAuthSignInOutput","handleUserPasswordAuthFlow","handleUserSRPAuthFlow","handleCustomAuthFlowWithoutSRP","handleCustomSRPAuthFlow","initiateAuth","getSignInResult","availableChallenges","mfaSetupTypes","getMFATypes","parseMFATypes","allowedMfaSetupTypes","getAllowedMfaSetupTypes","isTotpMfaSetupAvailable","isEmailMfaSetupAvailable","associateSoftwareToken","secretCode","getTOTPSetupDetails","parseAttributes","appName","accountName","totpUri","getSignInResultFromError","att","getMFAType","types","mfa","availableMfaSetupTypes","authMfaType","assertUserNotAuthenticated","getActiveSignInUsername","resetAutoSignIn","resetCallback","MAX_AUTOSIGNIN_POLLING_MS","handleCodeAutoSignIn","signInInput","stopHubListener","timeOutId","createSignUpClientDeserializer","createSignUpClient","signUp","signUpVerificationMethod","validationData","autoSignIn","signInServiceOptions","signUpClient","signUpClientInput","userId","cdd","userConfirmed","codeDeliveryDetails","isSignUpComplete","isAutoSignInStarted","authErrorMessages","createOAuthError","AuthErrorTypes","flowCancelledMessage","validationFailedMessage","validationRecoverySuggestion","validateState","savedState","validatedState","completeOAuthFlow","currentUrl","redirectUri","urlParams","errorMessage","handleCodeFlow","handleImplicitFlow","oAuthTokenEndpoint","codeVerifier","oAuthTokenBody","access_token","id_token","token_type","expires_in","completeFlow","error_description","pairings","accum","clearHistory","isCustomState","getCustomState","redirects","preferredRedirectUrl","redirectUrlFromTheSameOrigin","isSameOriginAndPathName","isTheSameDomain","redirectUrlFromDifferentOrigin","isHttps","isHttp","redirect","handleFailure","attemptCompleteOAuthFlow","loginWith","cognitoHostedUIIdentityProviderMap","openAuthSession","CODE_VERIFIER_CHARSET","generateCodeVerifier","randomBytes","codeChallenge","generateCodeChallenge","removePaddingChar","base64Encoded","generateState","listenForOAuthFlowCancellation","store","handleCancelOAuthFlow","event","signInWithRedirect","idpIdentifier","oauthConfig","authSessionOpener","scopes","loginHint","lang","nonce","prompt","randomState","openAuthSession$1","toCodeChallenge","oAuthUrl","completeOAuthSignOut","oAuthSignOutRedirect","redirectUrl","signoutUri","oAuthLogoutEndpoint","handleOAuthSignOut","createRevokeTokenClient","signOut","clientSignOut","authTokens","isSessionRevocable","useAuth","user","setUser","useState","isLoading","setIsLoading","useEffect","checkUser","unsubscribe","currentUser","email","nextStep"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190]}