@tempoxyz/id 0.0.0-pr-349.sha-e0d3dfc → 0.0.0-pr-357.sha-e757593

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 (341) hide show
  1. package/README.md +0 -3
  2. package/dist/app/server/assets/Grant-D_tun0mF.js.map +1 -1
  3. package/dist/app/server/index.js +4 -4
  4. package/dist/app/server/index.js.map +1 -1
  5. package/dist/cli/Cli.d.ts +1 -8
  6. package/dist/cli/Cli.d.ts.map +1 -1
  7. package/dist/cli/Cli.js +6 -9
  8. package/dist/cli/Cli.js.map +1 -1
  9. package/dist/cli/Session.d.ts +1 -1
  10. package/dist/cli/Session.d.ts.map +1 -1
  11. package/dist/cli/Session.js +1 -1
  12. package/dist/cli/Session.js.map +1 -1
  13. package/dist/cli/bin.js +4 -23
  14. package/dist/cli/bin.js.map +1 -1
  15. package/dist/client/Actions.d.ts +1 -2
  16. package/dist/client/Actions.d.ts.map +1 -1
  17. package/dist/client/Actions.js +0 -1
  18. package/dist/client/Actions.js.map +1 -1
  19. package/dist/client/Auth.d.ts +1 -1
  20. package/dist/client/Auth.d.ts.map +1 -1
  21. package/dist/client/Auth.js.map +1 -1
  22. package/dist/client/Authorization.d.ts +8 -4
  23. package/dist/client/Authorization.d.ts.map +1 -1
  24. package/dist/client/Authorization.js +1 -1
  25. package/dist/client/Authorization.js.map +1 -1
  26. package/dist/client/actions/email.d.ts +1 -1
  27. package/dist/client/actions/email.d.ts.map +1 -1
  28. package/dist/client/actions/passkey.d.ts +1 -1
  29. package/dist/client/actions/passkey.d.ts.map +1 -1
  30. package/dist/client/actions/redirect.d.ts +1 -1
  31. package/dist/client/actions/redirect.d.ts.map +1 -1
  32. package/dist/client/internal/api.d.ts +1 -1
  33. package/dist/client/internal/api.d.ts.map +1 -1
  34. package/dist/client/internal/api.js +1 -1
  35. package/dist/client/internal/api.js.map +1 -1
  36. package/dist/client/viem/Actions.d.ts +3 -3
  37. package/dist/client/viem/Actions.d.ts.map +1 -1
  38. package/dist/client/viem/Actions.js +4 -4
  39. package/dist/client/viem/Actions.js.map +1 -1
  40. package/dist/client/viem/Decorator.d.ts +2 -2
  41. package/dist/client/viem/internal/client.d.ts +3 -3
  42. package/dist/client/viem/internal/client.d.ts.map +1 -1
  43. package/dist/client/viem/internal/client.js +2 -2
  44. package/dist/client/viem/internal/client.js.map +1 -1
  45. package/dist/client.d.ts +0 -1
  46. package/dist/client.d.ts.map +1 -1
  47. package/dist/client.js +0 -1
  48. package/dist/client.js.map +1 -1
  49. package/dist/internal/Apps.d.ts +1 -2
  50. package/dist/internal/Apps.d.ts.map +1 -1
  51. package/dist/internal/Apps.js +5 -10
  52. package/dist/internal/Apps.js.map +1 -1
  53. package/dist/internal/ErrorResponse.d.ts +0 -20
  54. package/dist/internal/ErrorResponse.d.ts.map +1 -1
  55. package/dist/internal/ErrorResponse.js +0 -35
  56. package/dist/internal/ErrorResponse.js.map +1 -1
  57. package/dist/internal/RequestId.d.ts +1 -7
  58. package/dist/internal/RequestId.d.ts.map +1 -1
  59. package/dist/internal/RequestId.js.map +1 -1
  60. package/dist/internal/Timing.d.ts +1 -4
  61. package/dist/internal/Timing.d.ts.map +1 -1
  62. package/dist/internal/Timing.js.map +1 -1
  63. package/package.json +1 -7
  64. package/src/cli/Cli.ts +5 -13
  65. package/src/cli/Session.ts +2 -2
  66. package/src/cli/bin.ts +4 -26
  67. package/src/client/Actions.ts +1 -2
  68. package/src/client/Auth.ts +0 -4
  69. package/src/client/Authorization.ts +8 -4
  70. package/src/client/actions/email.ts +1 -1
  71. package/src/client/actions/passkey.ts +1 -1
  72. package/src/client/actions/redirect.ts +1 -1
  73. package/src/client/internal/api.ts +2 -2
  74. package/src/client/viem/Actions.ts +5 -5
  75. package/src/client/viem/Decorator.ts +2 -2
  76. package/src/client/viem/internal/client.ts +5 -5
  77. package/src/client.ts +0 -1
  78. package/src/internal/Apps.ts +4 -17
  79. package/src/internal/ErrorResponse.ts +0 -41
  80. package/src/internal/OpenApi.ts +7 -57
  81. package/src/internal/RequestId.ts +2 -8
  82. package/src/internal/Timing.ts +1 -4
  83. package/src/types/app.d.ts +0 -14
  84. package/dist/Admin.d.ts +0 -79
  85. package/dist/Admin.d.ts.map +0 -1
  86. package/dist/Admin.js +0 -93
  87. package/dist/Admin.js.map +0 -1
  88. package/dist/admin/Env.d.ts +0 -68
  89. package/dist/admin/Env.d.ts.map +0 -1
  90. package/dist/admin/Env.js +0 -2
  91. package/dist/admin/Env.js.map +0 -1
  92. package/dist/admin/app/client/.assetsignore +0 -2
  93. package/dist/admin/app/client/assets/Client-BrjXsLWn.js +0 -2
  94. package/dist/admin/app/client/assets/Client-DdghQm8N.css +0 -1
  95. package/dist/admin/app/client/assets/GeistMono-Variable-BRXCGrxA.woff2 +0 -0
  96. package/dist/admin/app/client/assets/Inter-cyrillic-e3OmmzmJ.woff2 +0 -0
  97. package/dist/admin/app/client/assets/Inter-cyrillic-ext-DOWZeO4Q.woff2 +0 -0
  98. package/dist/admin/app/client/assets/Inter-greek-BD3ujQlX.woff2 +0 -0
  99. package/dist/admin/app/client/assets/Inter-greek-ext-CXEwbus4.woff2 +0 -0
  100. package/dist/admin/app/client/assets/Inter-latin-BDFm4vTb.woff2 +0 -0
  101. package/dist/admin/app/client/assets/Inter-latin-ext-E7a9JEPe.woff2 +0 -0
  102. package/dist/admin/app/client/assets/Inter-symbols-DEch7Rxr.woff2 +0 -0
  103. package/dist/admin/app/client/assets/Inter-vietnamese-Bg9723vR.woff2 +0 -0
  104. package/dist/admin/app/client/assets/___dev-EY7r7Loc.css +0 -1
  105. package/dist/admin/app/client/assets/___dev.sign-in-ClQvgAau.js +0 -1
  106. package/dist/admin/app/client/assets/index-Cbo1RPkb.css +0 -1
  107. package/dist/admin/app/client/assets/index-DAKRgvN1.js +0 -13
  108. package/dist/admin/app/client/assets/reset-co-CHrff.css +0 -1
  109. package/dist/admin/app/client/assets/rolldown-runtime-WkwZ5CU-.js +0 -1
  110. package/dist/admin/app/client/assets/routes-BEUY7mCO.css +0 -1
  111. package/dist/admin/app/client/assets/routes-DM0o3oBQ.js +0 -1
  112. package/dist/admin/app/client/assets/shadowDom-DMRd3g4s.js +0 -1
  113. package/dist/admin/app/server/.vite/manifest.json +0 -359
  114. package/dist/admin/app/server/assets/Client-D4wNQeJd.js +0 -3
  115. package/dist/admin/app/server/assets/Client-D4wNQeJd.js.map +0 -1
  116. package/dist/admin/app/server/assets/GeistMono-Variable-BRXCGrxA.woff2 +0 -0
  117. package/dist/admin/app/server/assets/Inter-cyrillic-e3OmmzmJ.woff2 +0 -0
  118. package/dist/admin/app/server/assets/Inter-cyrillic-ext-DOWZeO4Q.woff2 +0 -0
  119. package/dist/admin/app/server/assets/Inter-greek-BD3ujQlX.woff2 +0 -0
  120. package/dist/admin/app/server/assets/Inter-greek-ext-CXEwbus4.woff2 +0 -0
  121. package/dist/admin/app/server/assets/Inter-latin-BDFm4vTb.woff2 +0 -0
  122. package/dist/admin/app/server/assets/Inter-latin-ext-E7a9JEPe.woff2 +0 -0
  123. package/dist/admin/app/server/assets/Inter-symbols-DEch7Rxr.woff2 +0 -0
  124. package/dist/admin/app/server/assets/Inter-vietnamese-Bg9723vR.woff2 +0 -0
  125. package/dist/admin/app/server/assets/___dev-EY7r7Loc.css +0 -1
  126. package/dist/admin/app/server/assets/___dev.sign-in-DUf_NQPU.js +0 -2
  127. package/dist/admin/app/server/assets/___dev.sign-in-DUf_NQPU.js.map +0 -1
  128. package/dist/admin/app/server/assets/_tanstack-start-manifest_v-C8ysuxtN.js +0 -1
  129. package/dist/admin/app/server/assets/arktype-aI7TBD0R-D1R3Byo5.js +0 -2
  130. package/dist/admin/app/server/assets/arktype-aI7TBD0R-D1R3Byo5.js.map +0 -1
  131. package/dist/admin/app/server/assets/async-local-storage-DUe1175v.js +0 -2
  132. package/dist/admin/app/server/assets/async-local-storage-DUe1175v.js.map +0 -1
  133. package/dist/admin/app/server/assets/convert-BIC8n32x.js +0 -2
  134. package/dist/admin/app/server/assets/convert-BIC8n32x.js.map +0 -1
  135. package/dist/admin/app/server/assets/cookie-BOmgOR30.js +0 -2
  136. package/dist/admin/app/server/assets/cookie-BOmgOR30.js.map +0 -1
  137. package/dist/admin/app/server/assets/cookie-DdghQm8N.css +0 -1
  138. package/dist/admin/app/server/assets/default-u_dwuiYb-D6RfpcBr.js +0 -2
  139. package/dist/admin/app/server/assets/default-u_dwuiYb-D6RfpcBr.js.map +0 -1
  140. package/dist/admin/app/server/assets/effect-QlVUlMFu-Bs0PyUhN.js +0 -2
  141. package/dist/admin/app/server/assets/effect-QlVUlMFu-Bs0PyUhN.js.map +0 -1
  142. package/dist/admin/app/server/assets/empty-plugin-adapters-BaGcmrjC.js +0 -2
  143. package/dist/admin/app/server/assets/empty-plugin-adapters-BaGcmrjC.js.map +0 -1
  144. package/dist/admin/app/server/assets/esm-C6SW--yt.js +0 -4
  145. package/dist/admin/app/server/assets/esm-C6SW--yt.js.map +0 -1
  146. package/dist/admin/app/server/assets/index-CLddUTqr-ComTZ4bq.js +0 -2
  147. package/dist/admin/app/server/assets/index-CLddUTqr-ComTZ4bq.js.map +0 -1
  148. package/dist/admin/app/server/assets/index-DZEfthgZ-BxnrPO8Q.js +0 -2
  149. package/dist/admin/app/server/assets/index-DZEfthgZ-BxnrPO8Q.js.map +0 -1
  150. package/dist/admin/app/server/assets/reset-co-CHrff.css +0 -1
  151. package/dist/admin/app/server/assets/rolldown-runtime-BWaJ3C7D.js +0 -1
  152. package/dist/admin/app/server/assets/router-Cbo1RPkb.css +0 -1
  153. package/dist/admin/app/server/assets/router-Dqhrc0PX.js +0 -2
  154. package/dist/admin/app/server/assets/router-Dqhrc0PX.js.map +0 -1
  155. package/dist/admin/app/server/assets/routes-BEUY7mCO.css +0 -1
  156. package/dist/admin/app/server/assets/routes-CxbX5JNu.js +0 -2
  157. package/dist/admin/app/server/assets/routes-CxbX5JNu.js.map +0 -1
  158. package/dist/admin/app/server/assets/server-tS2GlQUk.js +0 -77
  159. package/dist/admin/app/server/assets/server-tS2GlQUk.js.map +0 -1
  160. package/dist/admin/app/server/assets/shadowDom-CvS1DzWo.js +0 -2
  161. package/dist/admin/app/server/assets/shadowDom-CvS1DzWo.js.map +0 -1
  162. package/dist/admin/app/server/assets/standard-json-DY77efq0.js +0 -2
  163. package/dist/admin/app/server/assets/standard-json-DY77efq0.js.map +0 -1
  164. package/dist/admin/app/server/assets/standard-json-ig2t0wRt.js +0 -2
  165. package/dist/admin/app/server/assets/standard-json-ig2t0wRt.js.map +0 -1
  166. package/dist/admin/app/server/assets/standard-json-t-LNckA6.js +0 -2
  167. package/dist/admin/app/server/assets/standard-json-t-LNckA6.js.map +0 -1
  168. package/dist/admin/app/server/assets/standard-openapi-CONmVRl8.js +0 -2
  169. package/dist/admin/app/server/assets/standard-openapi-CONmVRl8.js.map +0 -1
  170. package/dist/admin/app/server/assets/start-C63VetBp.js +0 -2
  171. package/dist/admin/app/server/assets/start-C63VetBp.js.map +0 -1
  172. package/dist/admin/app/server/assets/sury-CWZTCd75-DP9TvBrs.js +0 -2
  173. package/dist/admin/app/server/assets/sury-CWZTCd75-DP9TvBrs.js.map +0 -1
  174. package/dist/admin/app/server/assets/typebox-Dei93FPO-D_lCVdAz.js +0 -2
  175. package/dist/admin/app/server/assets/typebox-Dei93FPO-D_lCVdAz.js.map +0 -1
  176. package/dist/admin/app/server/assets/valibot--1zFm7rT-BKGsXNQL.js +0 -2
  177. package/dist/admin/app/server/assets/valibot--1zFm7rT-BKGsXNQL.js.map +0 -1
  178. package/dist/admin/app/server/assets/valibot-D_HTw1Gn-BNmO9Liy.js +0 -2
  179. package/dist/admin/app/server/assets/valibot-D_HTw1Gn-BNmO9Liy.js.map +0 -1
  180. package/dist/admin/app/server/assets/worker-entry-DcGlpZzO.js +0 -93
  181. package/dist/admin/app/server/assets/worker-entry-DcGlpZzO.js.map +0 -1
  182. package/dist/admin/app/server/assets/zod-Bwrt9trS-DuX8BREF.js +0 -2
  183. package/dist/admin/app/server/assets/zod-Bwrt9trS-DuX8BREF.js.map +0 -1
  184. package/dist/admin/app/server/assets/zod-DSgpEGAE-BF9ADewr.js +0 -2
  185. package/dist/admin/app/server/assets/zod-DSgpEGAE-BF9ADewr.js.map +0 -1
  186. package/dist/admin/app/server/index.js +0 -1
  187. package/dist/admin/app/server/wrangler.json +0 -1
  188. package/dist/admin/dev/Session.d.ts +0 -135
  189. package/dist/admin/dev/Session.d.ts.map +0 -1
  190. package/dist/admin/dev/Session.js +0 -160
  191. package/dist/admin/dev/Session.js.map +0 -1
  192. package/dist/admin/index.d.ts +0 -15
  193. package/dist/admin/index.d.ts.map +0 -1
  194. package/dist/admin/index.js +0 -15
  195. package/dist/admin/index.js.map +0 -1
  196. package/dist/cli/AdminApi.d.ts +0 -46
  197. package/dist/cli/AdminApi.d.ts.map +0 -1
  198. package/dist/cli/AdminApi.js +0 -82
  199. package/dist/cli/AdminApi.js.map +0 -1
  200. package/dist/client/Admin.d.ts +0 -71
  201. package/dist/client/Admin.d.ts.map +0 -1
  202. package/dist/client/Admin.js +0 -29
  203. package/dist/client/Admin.js.map +0 -1
  204. package/dist/client/actions/admin/apps.d.ts +0 -142
  205. package/dist/client/actions/admin/apps.d.ts.map +0 -1
  206. package/dist/client/actions/admin/apps.js +0 -133
  207. package/dist/client/actions/admin/apps.js.map +0 -1
  208. package/dist/client/actions/admin.d.ts +0 -6
  209. package/dist/client/actions/admin.d.ts.map +0 -1
  210. package/dist/client/actions/admin.js +0 -6
  211. package/dist/client/actions/admin.js.map +0 -1
  212. package/src/Admin.ts +0 -184
  213. package/src/admin/Api.ts +0 -253
  214. package/src/admin/Env.ts +0 -73
  215. package/src/admin/app/.void/env.d.ts +0 -17
  216. package/src/admin/app/.void/preview-deploy-config.json +0 -1
  217. package/src/admin/app/.void/tanstack-start-trigger-wrapper.ts +0 -12
  218. package/src/admin/app/.void/tsconfig.json +0 -5
  219. package/src/admin/app/.void-wrangler.jsonc +0 -1
  220. package/src/admin/app/components/CodeInput.tsx +0 -153
  221. package/src/admin/app/dist/client/.assetsignore +0 -2
  222. package/src/admin/app/dist/client/assets/Client-BrjXsLWn.js +0 -2
  223. package/src/admin/app/dist/client/assets/Client-DdghQm8N.css +0 -1
  224. package/src/admin/app/dist/client/assets/GeistMono-Variable-BRXCGrxA.woff2 +0 -0
  225. package/src/admin/app/dist/client/assets/Inter-cyrillic-e3OmmzmJ.woff2 +0 -0
  226. package/src/admin/app/dist/client/assets/Inter-cyrillic-ext-DOWZeO4Q.woff2 +0 -0
  227. package/src/admin/app/dist/client/assets/Inter-greek-BD3ujQlX.woff2 +0 -0
  228. package/src/admin/app/dist/client/assets/Inter-greek-ext-CXEwbus4.woff2 +0 -0
  229. package/src/admin/app/dist/client/assets/Inter-latin-BDFm4vTb.woff2 +0 -0
  230. package/src/admin/app/dist/client/assets/Inter-latin-ext-E7a9JEPe.woff2 +0 -0
  231. package/src/admin/app/dist/client/assets/Inter-symbols-DEch7Rxr.woff2 +0 -0
  232. package/src/admin/app/dist/client/assets/Inter-vietnamese-Bg9723vR.woff2 +0 -0
  233. package/src/admin/app/dist/client/assets/___dev-EY7r7Loc.css +0 -1
  234. package/src/admin/app/dist/client/assets/___dev.sign-in-ClQvgAau.js +0 -1
  235. package/src/admin/app/dist/client/assets/index-Cbo1RPkb.css +0 -1
  236. package/src/admin/app/dist/client/assets/index-DAKRgvN1.js +0 -13
  237. package/src/admin/app/dist/client/assets/reset-co-CHrff.css +0 -1
  238. package/src/admin/app/dist/client/assets/rolldown-runtime-WkwZ5CU-.js +0 -1
  239. package/src/admin/app/dist/client/assets/routes-BEUY7mCO.css +0 -1
  240. package/src/admin/app/dist/client/assets/routes-DM0o3oBQ.js +0 -1
  241. package/src/admin/app/dist/client/assets/shadowDom-DMRd3g4s.js +0 -1
  242. package/src/admin/app/dist/server/.vite/manifest.json +0 -359
  243. package/src/admin/app/dist/server/assets/Client-D4wNQeJd.js +0 -3
  244. package/src/admin/app/dist/server/assets/Client-D4wNQeJd.js.map +0 -1
  245. package/src/admin/app/dist/server/assets/GeistMono-Variable-BRXCGrxA.woff2 +0 -0
  246. package/src/admin/app/dist/server/assets/Inter-cyrillic-e3OmmzmJ.woff2 +0 -0
  247. package/src/admin/app/dist/server/assets/Inter-cyrillic-ext-DOWZeO4Q.woff2 +0 -0
  248. package/src/admin/app/dist/server/assets/Inter-greek-BD3ujQlX.woff2 +0 -0
  249. package/src/admin/app/dist/server/assets/Inter-greek-ext-CXEwbus4.woff2 +0 -0
  250. package/src/admin/app/dist/server/assets/Inter-latin-BDFm4vTb.woff2 +0 -0
  251. package/src/admin/app/dist/server/assets/Inter-latin-ext-E7a9JEPe.woff2 +0 -0
  252. package/src/admin/app/dist/server/assets/Inter-symbols-DEch7Rxr.woff2 +0 -0
  253. package/src/admin/app/dist/server/assets/Inter-vietnamese-Bg9723vR.woff2 +0 -0
  254. package/src/admin/app/dist/server/assets/___dev-EY7r7Loc.css +0 -1
  255. package/src/admin/app/dist/server/assets/___dev.sign-in-DUf_NQPU.js +0 -2
  256. package/src/admin/app/dist/server/assets/___dev.sign-in-DUf_NQPU.js.map +0 -1
  257. package/src/admin/app/dist/server/assets/_tanstack-start-manifest_v-C8ysuxtN.js +0 -1
  258. package/src/admin/app/dist/server/assets/arktype-aI7TBD0R-D1R3Byo5.js +0 -2
  259. package/src/admin/app/dist/server/assets/arktype-aI7TBD0R-D1R3Byo5.js.map +0 -1
  260. package/src/admin/app/dist/server/assets/async-local-storage-DUe1175v.js +0 -2
  261. package/src/admin/app/dist/server/assets/async-local-storage-DUe1175v.js.map +0 -1
  262. package/src/admin/app/dist/server/assets/convert-BIC8n32x.js +0 -2
  263. package/src/admin/app/dist/server/assets/convert-BIC8n32x.js.map +0 -1
  264. package/src/admin/app/dist/server/assets/cookie-BOmgOR30.js +0 -2
  265. package/src/admin/app/dist/server/assets/cookie-BOmgOR30.js.map +0 -1
  266. package/src/admin/app/dist/server/assets/cookie-DdghQm8N.css +0 -1
  267. package/src/admin/app/dist/server/assets/default-u_dwuiYb-D6RfpcBr.js +0 -2
  268. package/src/admin/app/dist/server/assets/default-u_dwuiYb-D6RfpcBr.js.map +0 -1
  269. package/src/admin/app/dist/server/assets/effect-QlVUlMFu-Bs0PyUhN.js +0 -2
  270. package/src/admin/app/dist/server/assets/effect-QlVUlMFu-Bs0PyUhN.js.map +0 -1
  271. package/src/admin/app/dist/server/assets/empty-plugin-adapters-BaGcmrjC.js +0 -2
  272. package/src/admin/app/dist/server/assets/empty-plugin-adapters-BaGcmrjC.js.map +0 -1
  273. package/src/admin/app/dist/server/assets/esm-C6SW--yt.js +0 -4
  274. package/src/admin/app/dist/server/assets/esm-C6SW--yt.js.map +0 -1
  275. package/src/admin/app/dist/server/assets/index-CLddUTqr-ComTZ4bq.js +0 -2
  276. package/src/admin/app/dist/server/assets/index-CLddUTqr-ComTZ4bq.js.map +0 -1
  277. package/src/admin/app/dist/server/assets/index-DZEfthgZ-BxnrPO8Q.js +0 -2
  278. package/src/admin/app/dist/server/assets/index-DZEfthgZ-BxnrPO8Q.js.map +0 -1
  279. package/src/admin/app/dist/server/assets/reset-co-CHrff.css +0 -1
  280. package/src/admin/app/dist/server/assets/rolldown-runtime-BWaJ3C7D.js +0 -1
  281. package/src/admin/app/dist/server/assets/router-Cbo1RPkb.css +0 -1
  282. package/src/admin/app/dist/server/assets/router-Dqhrc0PX.js +0 -2
  283. package/src/admin/app/dist/server/assets/router-Dqhrc0PX.js.map +0 -1
  284. package/src/admin/app/dist/server/assets/routes-BEUY7mCO.css +0 -1
  285. package/src/admin/app/dist/server/assets/routes-CxbX5JNu.js +0 -2
  286. package/src/admin/app/dist/server/assets/routes-CxbX5JNu.js.map +0 -1
  287. package/src/admin/app/dist/server/assets/server-tS2GlQUk.js +0 -77
  288. package/src/admin/app/dist/server/assets/server-tS2GlQUk.js.map +0 -1
  289. package/src/admin/app/dist/server/assets/shadowDom-CvS1DzWo.js +0 -2
  290. package/src/admin/app/dist/server/assets/shadowDom-CvS1DzWo.js.map +0 -1
  291. package/src/admin/app/dist/server/assets/standard-json-DY77efq0.js +0 -2
  292. package/src/admin/app/dist/server/assets/standard-json-DY77efq0.js.map +0 -1
  293. package/src/admin/app/dist/server/assets/standard-json-ig2t0wRt.js +0 -2
  294. package/src/admin/app/dist/server/assets/standard-json-ig2t0wRt.js.map +0 -1
  295. package/src/admin/app/dist/server/assets/standard-json-t-LNckA6.js +0 -2
  296. package/src/admin/app/dist/server/assets/standard-json-t-LNckA6.js.map +0 -1
  297. package/src/admin/app/dist/server/assets/standard-openapi-CONmVRl8.js +0 -2
  298. package/src/admin/app/dist/server/assets/standard-openapi-CONmVRl8.js.map +0 -1
  299. package/src/admin/app/dist/server/assets/start-C63VetBp.js +0 -2
  300. package/src/admin/app/dist/server/assets/start-C63VetBp.js.map +0 -1
  301. package/src/admin/app/dist/server/assets/sury-CWZTCd75-DP9TvBrs.js +0 -2
  302. package/src/admin/app/dist/server/assets/sury-CWZTCd75-DP9TvBrs.js.map +0 -1
  303. package/src/admin/app/dist/server/assets/typebox-Dei93FPO-D_lCVdAz.js +0 -2
  304. package/src/admin/app/dist/server/assets/typebox-Dei93FPO-D_lCVdAz.js.map +0 -1
  305. package/src/admin/app/dist/server/assets/valibot--1zFm7rT-BKGsXNQL.js +0 -2
  306. package/src/admin/app/dist/server/assets/valibot--1zFm7rT-BKGsXNQL.js.map +0 -1
  307. package/src/admin/app/dist/server/assets/valibot-D_HTw1Gn-BNmO9Liy.js +0 -2
  308. package/src/admin/app/dist/server/assets/valibot-D_HTw1Gn-BNmO9Liy.js.map +0 -1
  309. package/src/admin/app/dist/server/assets/worker-entry-DcGlpZzO.js +0 -93
  310. package/src/admin/app/dist/server/assets/worker-entry-DcGlpZzO.js.map +0 -1
  311. package/src/admin/app/dist/server/assets/zod-Bwrt9trS-DuX8BREF.js +0 -2
  312. package/src/admin/app/dist/server/assets/zod-Bwrt9trS-DuX8BREF.js.map +0 -1
  313. package/src/admin/app/dist/server/assets/zod-DSgpEGAE-BF9ADewr.js +0 -2
  314. package/src/admin/app/dist/server/assets/zod-DSgpEGAE-BF9ADewr.js.map +0 -1
  315. package/src/admin/app/dist/server/index.js +0 -1
  316. package/src/admin/app/dist/server/wrangler.json +0 -1
  317. package/src/admin/app/env.ts +0 -11
  318. package/src/admin/app/lib/Client.ts +0 -38
  319. package/src/admin/app/package.json +0 -8
  320. package/src/admin/app/routeTree.gen.ts +0 -86
  321. package/src/admin/app/router.tsx +0 -19
  322. package/src/admin/app/routes/[_]dev.sign-in.tsx +0 -93
  323. package/src/admin/app/routes/__root.tsx +0 -97
  324. package/src/admin/app/routes/index.tsx +0 -20
  325. package/src/admin/app/screens/Dashboard.tsx +0 -84
  326. package/src/admin/app/screens/dev/SignIn.tsx +0 -213
  327. package/src/admin/app/server.ts +0 -129
  328. package/src/admin/app/tsconfig.json +0 -7
  329. package/src/admin/app/vite.config.ts +0 -52
  330. package/src/admin/app/void.config.ts +0 -17
  331. package/src/admin/app/zyzz.config.ts +0 -25
  332. package/src/admin/apps.ts +0 -472
  333. package/src/admin/dev/Session.ts +0 -332
  334. package/src/admin/dev/signIn.ts +0 -381
  335. package/src/admin/index.ts +0 -14
  336. package/src/admin/session.ts +0 -60
  337. package/src/cli/AdminApi.ts +0 -134
  338. package/src/client/Admin.ts +0 -76
  339. package/src/client/actions/admin/apps.ts +0 -257
  340. package/src/client/actions/admin.ts +0 -5
  341. package/src/internal/AdminApps.ts +0 -64
@@ -401,8 +401,8 @@ params: ${n}`),this.query=t,this.params=n,this.cause=r,Error.captureStackTrace(t
401
401
  </table>
402
402
  </body>
403
403
  </html>
404
- `}var oO=`https://github.com/tempoxyz/id/blob/main/docs/errors.md`,sO={already_decided:{description:`The user code was already approved or denied.`,error:`invalid_request`,status:409},app_exists:{description:`Another OAuth app already has the client ID.`,error:`invalid_request`,status:409},authorization_expired:{description:`The app's authorization request that sign-in or the approval page continues is forged or expired.`,error:`invalid_request`,status:400},backend_sign_in_not_permitted:{description:`The app may not sign users in from its backend: it is not an enabled first-party app with a client secret and backend sign-in.`,error:`unauthorized_client`,status:403},body_too_large:{description:`The request body exceeds 64 KiB.`,error:`invalid_request`,status:413},challenge_not_permitted:{description:"A request carries a challenge, and its app lacks the `tempo-id:sign` scope.",error:`unauthorized_client`,status:403},config_conflict:{description:`The chain's configuration of the account differs from the one that Tempo ID stores.`,error:`invalid_request`,status:409},configurable_accounts_disabled:{description:`The deployment has no configurable accounts, or the request names another chain.`,error:`invalid_request`,status:400},cross_site_request:{description:`A form or body-less write came from another site.`,error:`access_denied`,status:403},duplicate_limit:{description:`Two limits name the same token.`,error:`invalid_authorization_details`,status:400},duplicate_scope:{description:`Two scopes name the same call on one target, or one allows any function on a target that another names a function on.`,error:`invalid_authorization_details`,status:400},empty_limits:{description:"`limits` is an empty list.",error:`invalid_authorization_details`,status:400},empty_scopes:{description:"`scopes` is an empty list.",error:`invalid_authorization_details`,status:400},expiry_exceeds_maximum:{description:`A headless key lasts longer than a year.`,error:`invalid_authorization_details`,status:403},expiry_passed:{description:`The key expiry has passed.`,error:`invalid_authorization_details`,status:400},foreign_account:{description:`The request names a Tempo Account that is not the user's in the app's realms.`,error:`access_denied`,status:403},invalid_app:{description:`A value of an OAuth app, such as its name or a redirect URI, is not valid, or does not fit the app's type.`,error:`invalid_request`,status:400},invalid_chain:{description:`The key chain ID is 0.`,error:`invalid_authorization_details`,status:400},invalid_client:{description:`The client authentication failed: the app is unknown or disabled, or the client secret is missing or wrong.`,error:`invalid_client`,status:401},invalid_code:{description:`The emailed code is wrong or expired.`,error:`invalid_grant`,status:401},invalid_expiry:{description:`The key expiry is 0, which never expires.`,error:`invalid_authorization_details`,status:400},invalid_field:{description:`A field is missing or malformed.`,error:`invalid_request`,status:400},invalid_id_token_hint:{description:`The ID token hint is not an ID token that Tempo ID signed for the app.`,error:`invalid_request`,status:400},invalid_origin:{description:`A headless request came from an origin its redirect URI does not allow.`,error:`unauthorized_client`,status:403},invalid_period:{description:"A limit's `period` is not a whole number of seconds.",error:`invalid_authorization_details`,status:400},invalid_public_key:{description:`The key public key is not a valid point.`,error:`invalid_authorization_details`,status:400},invalid_recipients:{description:"A scope's `recipients` names the zero address or a duplicate, or is on a call other than `transfer`, `transferWithMemo`, or `approve` on a TIP-20 token.",error:`invalid_authorization_details`,status:400},limit_exceeds_maximum:{description:`A headless key limit exceeds the token’s ceiling.`,error:`invalid_authorization_details`,status:403},logout_not_permitted:{description:`The app that the ID token hint names may not end the session at the end-session endpoint.`,error:`unauthorized_client`,status:403},malformed_body:{description:`The request body is not valid JSON.`,error:`invalid_request`,status:400},missing_key:{description:`The key authorization names no key.`,error:`invalid_authorization_details`,status:400},missing_permissions:{description:"A third-party app's key request leaves out `expiry`, `limits`, or `scopes`.",error:`invalid_authorization_details`,status:400},missing_recipients:{description:"An `approve` scope names no spenders.",error:`invalid_authorization_details`,status:400},passkey_link_expired:{description:`The email step's link to a wallet.tempo passkey expired, or the browser holds no link for it.`,error:`invalid_request`,status:400},passkey_not_permitted:{description:`A passkey sign-in names an app, or reaches a realm, that holds no passkeys for Tempo ID.`,error:`unauthorized_client`,status:403},passkey_register_not_permitted:{description:"A passkey registration comes from an app's page, and no app at the page's origin holds the `tempo-id:sign` scope.",error:`unauthorized_client`,status:403},not_configurable:{description:`The account is not configurable on the chain, so no owner can join it, or no passkey owns it, so it cannot upgrade.`,error:`invalid_request`,status:400},owner_exists:{description:`The account already holds the owner that the request adds, or is already configurable.`,error:`invalid_request`,status:409},passkey_limit:{description:`The user holds the most passkeys that Tempo ID registers for one user.`,error:`access_denied`,status:403},post_logout_redirect_not_permitted:{description:`The post-logout redirect URI is not one of the post-logout redirect URIs the app registered.`,error:`invalid_request`,status:400},public_app:{description:`The OAuth app redeems codes with PKCE alone, so it has no client secret to rotate.`,error:`invalid_request`,status:400},rate_limited:{description:`Tempo ID, or a service it depends on, is rate limiting the request.`,error:`temporarily_unavailable`,status:429},reauthentication_required:{description:`The request needs a session that signed in within the last 10 minutes.`,error:`login_required`,status:401},rejected:{description:`The issuer refused the authorization request.`,error:`invalid_request`,status:400},scope_without_limit:{description:`A scope calls a listed token that no limit names.`,error:`invalid_authorization_details`,status:400},session_changed:{description:`The signed-in session differs from the one that the approval page showed.`,error:`invalid_request`,status:409},session_required:{description:`The request needs a signed-in session.`,error:`login_required`,status:401},sign_up_not_permitted:{description:`The verified address has no account, and its domain is not one where the deployment creates accounts.`,error:`access_denied`,status:403},unexpected:{description:`An unexpected failure.`,error:`server_error`,status:500},unknown_app:{description:`No registered OAuth app has the client ID.`,error:`invalid_request`,status:404},unknown_code:{description:`The user code is wrong or expired.`,error:`invalid_request`,status:404},unknown_endpoint:{description:`No API endpoint matches this method and path.`,error:`invalid_request`,status:404},unsupported_call:{description:`A selector does not parse, a scope allows any function on a TIP-20 token, or a headless scope names an unrecognized call.`,error:`invalid_authorization_details`,status:400},unsupported_token:{description:`A limit names a token that is not supported on the chain.`,error:`invalid_authorization_details`,status:400},upgrade_required:{description:`A key authorization names a wallet.tempo passkey's account on a chain whose accounts are configurable, before its upgrade.`,error:`interaction_required`,status:403},upstream_unavailable:{description:`A service Tempo ID depends on failed or did not respond.`,error:`temporarily_unavailable`,status:503},webauthn_rejected:{description:`A passkey ceremony failed: its challenge is unknown, spent, or expired, or its response does not verify.`,error:`access_denied`,status:401},webauthn_required:{description:`A request without a page names a Tempo Account whose passkey signs only on a Tempo ID page.`,error:`interaction_required`,status:403}},K=class extends al{name=`ErrorResponse.ResponseError`;response;constructor(e){let t=sO[e.reason].status;super(t,{res:Response.json(e,{status:t})}),this.response=e}};function q(e){return class extends K{static reason=e;constructor(t){super(hO({...t,reason:e}))}}}var cO=class extends q(`cross_site_request`){name=`ErrorResponse.CrossSiteRequestError`;constructor(){super({error_description:`Cross-site request refused. Send JSON from an allowed origin.`})}},lO=class extends q(`malformed_body`){name=`ErrorResponse.MalformedBodyError`;constructor(){super({error_description:"Malformed request body. Send a JSON object with `Content-Type: application/json`."})}},uO=class extends q(`rate_limited`){name=`ErrorResponse.RateLimitedError`;retryAfter;constructor(e={}){let{retryAfter:t}=e;super({error_description:`Rate limited by an upstream service. Try again ${t?`in ${vO({seconds:t})}`:`later`}.`,...t?{meta:{retryAfter:t}}:{}}),this.retryAfter=t}},dO=class extends q(`unexpected`){name=`ErrorResponse.UnexpectedError`;constructor(){super({error_description:`Unexpected error. Try again.`})}},fO=class extends q(`unknown_endpoint`){name=`ErrorResponse.UnknownEndpointError`;constructor(){super({error_description:`Unknown endpoint. Check the method and path against the API reference at /openapi.json.`})}},pO=class extends q(`upstream_unavailable`){name=`ErrorResponse.UpstreamUnavailableError`;constructor(){super({error_description:`An upstream service is unavailable. Retry later.`})}},mO;(function(e){let t=e.base=M({error:A().meta({description:"The OAuth error code (RFC 6749, OIDC Core, RFC 8628, RFC 9396), which `reason` determines."}),error_description:A().meta({description:`What went wrong and how to fix it, for people. Its wording may change.`}),error_uri:Ci().meta({description:"The errors page, at the refusal’s `reason`."}),field:A().optional().meta({description:`Extension: the request field at fault, as a dotted path.`}),meta:_i(A(),pi([hi(),A()])).readonly().optional().meta({description:`Extension: the values the refusal compared. Base units are decimal strings.`}),reason:A().meta({description:`Extension: a stable name for the refusal, to branch on.`}),request_id:A().optional().meta({description:"Extension: the request ID, which `X-Request-Id` also carries. The Worker adds it to every error response."})}),n={already_decided:{error_description:`Code already approved or denied.`,field:`code`},app_exists:{error_description:`App client_01JZ8Q6W3N1R5B4V7C2X9K0M3T already exists. Update it, or choose another client ID.`,field:`clientId`},authorization_expired:{error_description:`Expired authorization request: the request from the app is no longer valid. Return to the app, and start again.`,field:`oauth_query`},backend_sign_in_not_permitted:{error_description:"Backend sign-in not permitted: the app does not hold backend sign-in. Grant it with `tempo-id admin apps update --backend-sign-in`.",field:`client_id`},body_too_large:{error_description:`Invalid request body: exceeds the 65536-byte maximum. Send a body of 65536 bytes or fewer.`},challenge_not_permitted:{error_description:"Challenge not permitted: the app lacks the `tempo-id:sign` scope. Remove `challenge`, or grant the app the scope.",field:`challenge`},config_conflict:{error_description:`Configuration conflict: the chain's configuration of 0x8C3b5d0e2A4f6B1c9D7e3F5a0B2c4D6e8F1a3B5c differs from the stored one. Reload the account, and try again.`,field:`account`},configurable_accounts_disabled:{error_description:"Configurable accounts are not available on the chain `testnet`. Select the chain `t14`.",field:`chain`},cross_site_request:{error_description:`Cross-site request refused. Send JSON from an allowed origin.`},duplicate_limit:{error_description:`Duplicate limit for 0x20c0000000000000000000000000000000000001. Limit each token once.`,field:`key_authorization.limits.1.token`},duplicate_scope:{error_description:`Duplicate scope for 0xa9059cbb on OUSD. Name each call on a target once.`,field:`key_authorization.scopes.1.selector`},empty_limits:{error_description:"Empty `limits`. Name at least one token, or omit `limits`.",field:`key_authorization.limits`},empty_scopes:{error_description:"Empty `scopes`. Name at least one call, or omit `scopes`.",field:`key_authorization.scopes`},expiry_exceeds_maximum:{error_description:"Invalid `expiry`: Sat, 01 Jan 2028 00:00:00 GMT exceeds the one-year maximum. Use an earlier expiry, or authorize through a redirect or device grant.",field:`key_authorization.expiry`},expiry_passed:{error_description:"Invalid `expiry`: Wed, 01 Jan 2025 00:00:00 GMT has passed. Use a future Unix time.",field:`key_authorization.expiry`},foreign_account:{error_description:`Access denied to Tempo Account 0x8C3b5d0e2A4f6B1c9D7e3F5a0B2c4D6e8F1a3B5c. Name one of the user's accounts in the app's realms.`,field:`account`},invalid_app:{error_description:`Invalid redirect URI: http://app.example/callback uses http. Use an https URI.`},invalid_chain:{error_description:"Invalid `chainId`: 0. Use a Tempo chain ID, such as 4217.",field:`key_authorization.chainId`},invalid_client:{error_description:`Client authentication failed. Send the client ID and secret of an enabled app.`,field:`client_secret`},invalid_code:{error_description:`Invalid or expired code. Request a new one.`,field:`code`},invalid_expiry:{error_description:"Invalid `expiry`: 0 never expires. Use a future Unix time.",field:`key_authorization.expiry`},invalid_field:{error_description:"Invalid request. `email`: Invalid email address.",field:`email`},invalid_id_token_hint:{error_description:`Invalid id_token_hint: it is not an ID token that this issuer signed for the app. Send the ID token that the app received at sign-in.`,field:`id_token_hint`},invalid_origin:{error_description:"Invalid `Origin`: https://other.example.com. Requests for this redirect URI must come from https://app.example.com.",field:`Origin`},invalid_period:{error_description:"Invalid `period` on the OUSD limit: 1.5. Use a whole number of seconds, or 0 for a one-time limit.",field:`key_authorization.limits.0.period`},invalid_public_key:{error_description:"Invalid `publicKey`. Provide an uncompressed public key, or `address`.",field:`key_authorization.publicKey`},invalid_recipients:{error_description:`Invalid recipient 0x0000000000000000000000000000000000000000 for 0x095ea7b3 on OUSD. Name each recipient once, and never the zero address.`,field:`key_authorization.scopes.0.recipients.0`},limit_exceeds_maximum:{error_description:`Invalid OUSD limit: 5000 exceeds the 1000 maximum. Lower the limit, or authorize through a redirect or device grant.`,field:`key_authorization.limits.0.limit`},logout_not_permitted:{error_description:`Logout not permitted: the app client_01JZ8Q6W3N1R5B4V7C2X9K0M3T may not end the session. Register the app for logout, then retry.`},malformed_body:{error_description:"Malformed request body. Send a JSON object with `Content-Type: application/json`."},missing_key:{error_description:"Missing `address` or `publicKey`. Provide the access key.",field:`key_authorization.address`},missing_permissions:{error_description:"Missing `limits` and `scopes`. Name the expiry, limits, and scopes of the key, since a third-party app receives no defaults.",field:`key_authorization.limits`},missing_recipients:{error_description:"Missing `recipients` for `approve` on OUSD. Name the allowed spenders.",field:`key_authorization.scopes.0.recipients`},passkey_link_expired:{error_description:`Expired passkey sign-in: the link from the passkey step is no longer valid. Enter the code again to sign in with email only, or sign in with the passkey again.`,field:`link`},passkey_not_permitted:{error_description:`Passkey not permitted: the app client_01JZ8Q6W3N1R5B4V7C2X9K0M3T holds no passkeys. Sign in with an emailed code.`},passkey_register_not_permitted:{error_description:"Passkey registration not permitted: no app at https://app.example.com holds the `tempo-id:sign` scope. Register the passkey on Tempo ID, or grant the app the scope."},not_configurable:{error_description:`Not configurable: 0x8C3b5d0e2A4f6B1c9D7e3F5a0B2c4D6e8F1a3B5c is not a configurable account yet. Upgrade it with its passkey, then add the owner.`,field:`account`},owner_exists:{error_description:`Owner exists: a cloud wallet already owns 0x8C3b5d0e2A4f6B1c9D7e3F5a0B2c4D6e8F1a3B5c. Use the account as it is.`,field:`wallet`},passkey_limit:{error_description:`Passkey limit reached: the user holds 10 registered passkeys, the most that Tempo ID registers. Sign in with one of them.`},post_logout_redirect_not_permitted:{error_description:`Invalid post_logout_redirect_uri: https://app.example/elsewhere is not registered for the app. Use one of its post-logout redirect URIs, or leave it out.`,field:`post_logout_redirect_uri`},public_app:{error_description:`App client_01JZ8Q6W3N1R5B4V7C2X9K0M3T has no client secret. Rotate the secret of an app with a backend.`,field:`clientId`},rate_limited:{error_description:`Too many requests. Try again in 30 seconds.`},reauthentication_required:{error_description:`Sign in again: adding a passkey needs a sign-in within the last 10 minutes.`},rejected:{error_description:"Authorization request rejected. Check `client_id`, `redirect_uri`, and `scope` against the app's registration."},scope_without_limit:{error_description:`Scope on 0x20c0000000000000000000000000000000000002 has no limit. Add a limit for it, or remove the scope.`,field:`key_authorization.scopes.0.address`},session_changed:{error_description:`Changed session: the signed-in account differs from the one that this page showed. Reload the page, and check the account before the decision.`,field:`session_id`},session_required:{error_description:`Sign in first.`},sign_up_not_permitted:{error_description:`Sign-up not permitted: new accounts need an address at example.com. Sign in with an existing account, or with an address at example.com.`,field:`email`},unexpected:{error_description:`Unexpected error. Try again.`},unknown_app:{error_description:`Unknown app client_01JZ8Q6W3N1R5B4V7C2X9K0M3T. Name a registered OAuth app.`,field:`clientId`},unknown_code:{error_description:`Invalid or expired code. Check the code in the terminal.`,field:`code`},unknown_endpoint:{error_description:`Unknown endpoint. Check the method and path against the API reference at /openapi.json.`},unsupported_call:{error_description:"Unsupported call on OUSD: any function, which includes `approve` without spenders. Name each function in `selector`, such as `transfer`.",field:`key_authorization.scopes.0.selector`},unsupported_token:{error_description:`Unsupported token on chain 4217: 0x20c00000000000000000000000000000000000ff. Use a supported token, such as OUSD.`,field:`key_authorization.limits.0.token`},upgrade_required:{error_description:`Upgrade required: Tempo Account 0x8C3b5d0e2A4f6B1c9D7e3F5a0B2c4D6e8F1a3B5c is not a configurable account on this chain yet. Upgrade it on the account page, then authorize again.`,field:`key_authorization.account`},upstream_unavailable:{error_description:`An upstream service is unavailable. Retry later.`},webauthn_rejected:{error_description:`Passkey rejected. Request new options, then try again with the same passkey or another one.`},webauthn_required:{error_description:`Passkey required: Tempo Account 0x8C3b5d0e2A4f6B1c9D7e3F5a0B2c4D6e8F1a3B5c signs key authorizations only with its passkey, on a Tempo ID page. Authorize through a redirect, popup, or device grant, or name another account.`,field:`key_authorization.account`}},r=new Map(Object.entries(sO).map(([e,r])=>{let i=n[e],a=t.extend({error:Pi(r.error).meta(t.shape.error.meta()),error_description:t.shape.error_description.meta({...t.shape.error_description.meta(),examples:[i.error_description]}),error_uri:t.shape.error_uri.meta({...t.shape.error_uri.meta(),examples:[`${oO}#${e}`]}),reason:Pi(e).meta(t.shape.reason.meta()),request_id:t.shape.request_id.meta({...t.shape.request_id.meta(),examples:[`8f1c2a3b4d5e6f70-SJC`]})});return[e,(i.field?a.extend({field:t.shape.field.meta({...t.shape.field.meta(),examples:[i.field]})}):a.omit({field:!0})).meta({description:`\`${r.error}\` (${r.status}): ${r.description}`,id:`ErrorResponse.${e}`})]}));function i(e){return r.get(e)}e.of=i})(mO||={});function hO(e){let{error_description:t,field:n,meta:r,reason:i}=e;return{error:sO[i].error,error_description:t,error_uri:`${oO}#${i}`,...n?{field:n}:{},...r?{meta:r}:{},reason:i}}function gO(e){if(e instanceof al)return;let t=`status`in e?e.status:void 0;if(t===429)return new uO({retryAfter:(()=>{if(e instanceof Response){let t=Number(e.headers.get(`retry-after`));return Number.isInteger(t)&&t>0?t:void 0}return`retryAfter`in e&&typeof e.retryAfter==`number`?e.retryAfter:void 0})()});let n=`status`in e&&t===void 0;if(typeof t==`number`&&(t===408||t>=500)||n||e instanceof Error&&e.name===`TimeoutError`)return new pO}(function(e){e.errors=[uO,pO]})(gO||={});function _O(e,t){if(e instanceof K)return J(t,e);if(e instanceof al&&e.status===400)return J(t,new lO);if(e instanceof al&&e.status===403)return J(t,new cO);let n=gO(e);return n?(nc(t,{error:e,message:`An upstream service refused a request.`}),J(t,n)):(ec(t,{error:e,message:`The API failed a request.`}),J(t,new dO))}function J(e,t){let{response:n}=t;return t instanceof uO&&t.retryAfter&&e.header(`retry-after`,String(t.retryAfter)),e.json(n,sO[n.reason].status)}function vO(e){let{seconds:t}=e,[n,r]=t<60?[t,`second`]:t<3600?[Math.ceil(t/60),`minute`]:[Math.ceil(t/3600),`hour`];return new Intl.NumberFormat(`en`,{style:`unit`,unit:r,unitDisplay:`long`}).format(n)}var yO=new Map,bO=new Map,xO=0;function SO(e,t,n){let r=++xO,i=()=>yO.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);t.length===0?(yO.delete(e),bO.delete(e)):yO.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=bO.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(yO.set(e,[...s,{id:r,fns:t}]),s&&s.length>0)return o;let c={};for(let e in t)c[e]=((...t)=>{let n=i();if(n.length!==0)for(let r of n)r.fns[e]?.(...t)});let l=n(c);return typeof l==`function`&&bO.set(e,l),o}async function CO(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(Dr(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},Math.min(e,2**31-1)),o=()=>{clearTimeout(a),i(),r(Dr(t))};t?.addEventListener(`abort`,o,{once:!0})})}function wO(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await CO(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await CO(r),s())};s()})(),a}var TO=new Map,EO=new Map;function DO(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,TO),r=t(e,EO);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function OO(e,{cacheKey:t,cacheTime:n=1/0}){let r=DO(t),i=r.response.get();if(i&&n>0&&Date.now()-i.created.getTime()<n)return i.data;let a=r.promise.get();a||(a=e(),r.promise.set(a));try{let e=await a;return r.response.set({created:new Date,data:e}),e}finally{r.promise.clear()}}var kO=e=>`blockNumber.${e}`;async function AO(e,{cacheTime:t=e.cacheTime}={}){let n=await OO(()=>e.request({method:`eth_blockNumber`}),{cacheKey:kO(e.uid),cacheTime:t});return BigInt(n)}function jO(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0,signal:i}={}){return new Promise((a,o)=>{let s=()=>o(Dr(i));i?.addEventListener(`abort`,s,{once:!0});let c=async({count:s=0}={})=>{if(i?.aborted){o(Dr(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:s,error:e}):t;if(n)try{await CO(n,{signal:i})}catch(e){o(e);return}return c({count:s+1})};try{a(await e())}catch(e){if(i?.aborted){o(Dr(i));return}if(lr(e)){o(e);return}if(s<n&&await r({count:s,error:e}))return l({error:e});o(e)}};c().catch(o).finally(()=>i?.removeEventListener(`abort`,s))})}var MO={"0x0":`reverted`,"0x1":`success`};function NO(e,t){let n={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(e=>y(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?vr(e.transactionIndex):null,status:e.status?MO[e.status]:null,type:e.type?Ot[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}var PO=ur(`transactionReceipt`,NO),FO=256,IO=FO,LO;function RO(e=11){if(!LO||IO+e>FO*2){LO=``,IO=0;for(let e=0;e<FO;e++)LO+=(256+Math.random()*256|0).toString(16).substring(1)}return LO.substring(IO,IO+++e)}function zO(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,tokens:s,type:c=`base`}=e,l=e.experimental_blockTag??(typeof n?.experimental_preconfirmationTime==`number`?`pending`:void 0),u=n?.blockTime??12e3,d=Math.min(Math.max(Math.floor(u/2),500),4e3),f=e.pollingInterval??d,p=e.cacheTime??Math.min(f,Math.floor(u/2)),m=e.account?zr(e.account):void 0,{config:h,request:g,value:_}=e.transport({account:m,chain:n,pollingInterval:f});return HO({account:m,batch:t,cacheTime:p,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:f,request:g,tokens:s,transport:{...h,..._},type:c,uid:RO(),...l?{experimental_blockTag:l}:{}})}var BO=new WeakSet,VO=0;function HO(e){function t(r,i){return a=>{let o=a(r);for(let t in e)t!==`scope`&&delete o[t];let s={...r,...o};for(let e in o){let t=r[e],n=o[e];UO(t)&&UO(n)&&(s[e]={...t,...n})}let c=[...i,a],{scope:l}=s;return Object.assign(s,{extend:t(s,c),scope:typeof l==`function`&&BO.has(l)?n(c):l})}}function n(t){let n=new WeakMap,r=(r={})=>{let i=r.signal&&n.get(r.signal);if(i)return i;let a=`scope.${VO++}`,o=new AbortController,{signal:s}=r;s?.aborted?o.abort(s.reason):s?.addEventListener(`abort`,()=>o.abort(s.reason),{once:!0});let c=(t,n)=>e.request(t,{...n,signal:n?.signal??o.signal,uid:n?.uid??a}),l=t.reduce((e,t)=>e.extend(t),HO({...e,request:c,uid:a}));return s&&n.set(s,l),l};return BO.add(r),r}return Object.assign(e,{extend:t(e,[]),scope:n([])})}function UO(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}async function WO(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Pr({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a}),s=await e.request({method:`eth_getCode`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0});if(s!==`0x`)return s}async function GO({address:e,authorization:t,signature:n}){return Vr(dr(e),await Ze({authorization:t,signature:n}))}var KO=new oi(8192);function qO(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(KO.get(n))return KO.get(n);let r=e().finally(()=>KO.delete(n));return KO.set(n,r),r}function JO(e,t={}){return async(n,r={})=>{let{dedupe:i=!1,methods:a,retryDelay:o=150,retryCount:s=3,signal:c,uid:l}={...t,...r},{method:u}=n;if(a?.exclude?.includes(u)||a?.include&&!a.include.includes(u))throw new Fe(Error(`method not supported`),{method:u});if(c?.aborted)throw Dr(c);return qO(()=>jO(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw Dr(c);if(lr(e))throw e;let t=e;switch(t.code){case ie.code:throw new ie(t);case Zt.code:throw new Zt(t);case Yt.code:throw new Yt(t,{method:n.method});case Je.code:throw new Je(t);case Kt.code:throw new Kt(t);case en.code:throw new en(t);case we.code:throw new we(t);case yt.code:throw new yt(t);case gt.code:throw new gt(t);case Fe.code:throw new Fe(t,{method:n.method});case E.code:throw new E(t);case Ne.code:throw new Ne(t);case Ae.code:throw new Ae(t);case ve.code:throw new ve(t);case ge.code:throw new ge(t);case te.code:throw new te(t);case ct.code:throw new ct(t);case C.code:throw new C(t);case le.code:throw new le(t);case O.code:throw new O(t);case Ue.code:throw new Ue(t);case xe.code:throw new xe(t);case ut.code:throw new ut(t);case At.code:throw new At(t);case Ct.code:throw new Ct(t);case 5e3:throw new Ae(t);case rn.code:throw new rn(t);default:throw e instanceof ei?e:new Ee(t)}}},{delay:({count:e,error:t})=>{let n=XO(t)?.headers?.get(`Retry-After`);if(n){let e=Number.parseInt(n,10);if(!Number.isNaN(e))return e*1e3;let t=Date.parse(n)-Date.now();if(t>0)return t}return~~(1<<e)*o},retryCount:s,signal:c,shouldRetry:({error:e})=>YO(e)}),{enabled:i,id:i?ZO(`${l}.${Ur(n)}`):void 0})}}function YO(e){if(lr(e))return!1;let t=XO(e)?.status;if(`code`in e&&typeof e.code==`number`){if(e.code===-1||e.code===E.code||e.code===Kt.code||e.code===429||e.code===-32007)return!0;if(!t)return!1}return!t||t===403||t===408||t===413||t===429||t===500||t===502||t===503||t===504}function XO(e){if(e instanceof ei)return e.walk(e=>e instanceof Kr||e instanceof Wr)}function ZO(e,t=0){let n=3735928559^t,r=1103547991^t;for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>16,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>16,3266489909),(4294967296*(2097151&r)+(n>>>0)).toString(36)}function QO(e){let t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(e){return t=>{let r=typeof t==`function`?t(e):t,i={...e,...r};return Object.assign(i,{extend:n(i)})}}return Object.assign(t,{extend:n(t)})}function $O(){return{}}function ek(e,{errorInstance:t=Error(`timed out`),timeout:n,signal:r}){return new Promise((i,a)=>{(async()=>{let o,s=new AbortController;try{n>0&&(o=setTimeout(()=>{r?s.abort():a(t)},n)),i(await e({signal:s?.signal||null}))}catch(e){if(s?.signal.aborted&&lr(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function tk(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var nk=tk(),rk=10485760;function ik(e,t={}){let{url:n,headers:r}=ck(e);return{async request(e){let{body:i,fetchFn:a=t.fetchFn??fetch,maxResponseBodySize:o=t.maxResponseBodySize??rk,onRequest:s=t.onRequest,onResponse:c=t.onResponse,timeout:l=t.timeout??1e4}=e,u={...t.fetchOptions??{},...e.fetchOptions??{}},{headers:d,method:f,signal:p}=u;try{let{response:e,responseBody:t}=await ek(async({signal:e})=>{let{signal:t,cleanup:m}=ak([p,l>0?e:null]);try{let e={...u,body:Ur(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??nk.take(),...e})):{jsonrpc:`2.0`,id:i.id??nk.take(),...i}),headers:{...r,"Content-Type":`application/json`,...d},method:f||`POST`,signal:t},l=new Request(n,e),p=await s?.(l,e)??{...e,url:n},m=await a(p.url??n,p);return c&&await c(m),{response:m,responseBody:await ok(m,{maxResponseBodySize:o})}}finally{m()}},{errorInstance:new yr({body:i,url:n}),timeout:l,signal:!0}),m;if(e.headers.get(`Content-Type`)?.startsWith(`application/json`))m=JSON.parse(t);else{m=t;try{m=JSON.parse(m||`{}`)}catch(t){if(e.ok)throw t;m={error:m}}}let h=Array.isArray(i)&&Array.isArray(m)&&m.length===1?m[0]:m;if(!e.ok)throw sk(h)?new Wr({body:i,error:h.error,headers:e.headers,status:e.status,url:n}):new Kr({body:i,details:Ur(m.error)||e.statusText,headers:e.headers,status:e.status,url:n});if(!Array.isArray(i)||!i.length||Array.isArray(m)&&m.length>=i.length)return m;if(!sk(h))throw Error(`Expected ${i.length} responses to batch request.`);return i.map(()=>h)}catch(e){throw p?.aborted?Dr(p):lr(e)||e instanceof Kr||e instanceof cr||e instanceof Wr||e instanceof yr?e:new Kr({body:i,cause:e,url:n})}}}}function ak(e){let t=e.filter(e=>!!e);if(t.length<2)return{signal:t[0]??null,cleanup:()=>{}};let n=new AbortController,r=()=>{i(),n.abort(t.find(e=>e.aborted)?.reason)},i=()=>{for(let e of t)e.removeEventListener(`abort`,r)};for(let e of t){if(e.aborted){i(),n.abort(e.reason);break}e.addEventListener(`abort`,r)}return{signal:n.signal,cleanup:i}}async function ok(e,{maxResponseBodySize:t}){if(t===!1)return e.text();let n=e.headers.get(`Content-Length`);if(n){let e=Number(n);if(e>t)throw new cr({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new cr({maxSize:t,size:r});return n}let r=e.body.getReader(),i=new TextDecoder,a=``,o=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;if(o+=n.byteLength,o>t)throw await r.cancel(),new cr({maxSize:t,size:o});a+=i.decode(n,{stream:!0})}return a+=i.decode(),a}finally{r.releaseLock()}}function sk(e){return typeof e?.error?.code==`number`&&typeof e?.error?.message==`string`}function ck(e){try{let t=new URL(e),n=(()=>{if(t.username){let e=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username=``,t.password=``,{url:t.toString(),headers:{Authorization:`Basic ${btoa(e)}`}}}})();return{url:t.toString(),...n}}catch{return{url:e}}}var lk=be(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function uk(e){if(typeof e==`string`){if(gn(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new pk(e)}else zn(e.authorization)}function dk(e){uk(e);let t=cn(gn(e,-64,-32)),n=gn(e,-t-64,-64),r=gn(e,0,-t-64),[i,a,o]=S(lk,n);return{authorization:Df({address:i.delegation,chainId:Number(i.chainId),nonce:i.nonce,yParity:i.yParity,r:i.r,s:i.s}),signature:r,...o&&o!==`0x`?{data:o,to:a}:{}}}function fk(e){try{return uk(e),!0}catch{return!1}}var pk=class extends un{constructor(e){super(`Value \`${e}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc8010.InvalidWrappedSignatureError`})}};async function mk(e,{blockHash:t,blockNumber:n,blockTag:r,hash:i,index:a,sender:o,nonce:s}){let c=r||`latest`,l=n===void 0?void 0:br(n),u=null;if(i?u=await e.request({method:`eth_getTransactionByHash`,params:[i]},{dedupe:!0}):t?u=await e.request({method:`eth_getTransactionByBlockHashAndIndex`,params:[t,br(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,br(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,br(s)]},{dedupe:!0})),!u)throw new Mr({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||Ge)(u,`getTransaction`)}async function hk(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new jr({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||NO)(n,`getTransactionReceipt`)}var gk=`0x6492649264926492649264926492649264926492649264926492649264926492`;function _k(e){if(gn(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new bk(e)}function vk(e){let{data:t,signature:n,to:r}=e;return yn(ht(be(`address, bytes, bytes`),[r,t,n]),gk)}function yk(e){try{return _k(e),!0}catch{return!1}}var bk=class extends un{constructor(e){super(`Value \`${e}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc6492.InvalidWrappedSignatureError`})}};function xk({r:e,s:t,to:n=`hex`,v:r,yParity:i}){let a=(()=>{if(i===0||i===1)return i;if(r&&(r===27n||r===28n||r>=35n))return+(r%2n==0n);throw Error("Invalid `v` or `yParity` value")})(),o=`0x${new Pn.Signature(mr(e),mr(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:Cr(o)}async function Sk(e,t){let{address:n,chain:r=e.chain,hash:i,erc6492VerifierAddress:a=t.universalSignatureVerifierAddress??r?.contracts?.erc6492Verifier?.address,multicallAddress:o=t.multicallAddress??r?.contracts?.multicall3?.address,mode:s=`auto`}=t;if(r?.verifyHash)return await r.verifyHash(e,t);let c=(()=>{let e=t.signature;return Ir(e)?e:typeof e==`object`&&`r`in e&&`s`in e?xk(e):Gr(e)})();try{if(s===`eoa`)try{if(Vr(dr(n),await Ut({hash:i,signature:c})))return!0}catch{}return fk(c)?await Ck(e,{...t,multicallAddress:o,signature:c}):await wk(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(Vr(dr(n),await Ut({hash:i,signature:c})))return!0}catch{}if(e instanceof Ek)return!1;throw e}}async function Ck(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,multicallAddress:s,requireCanonical:c}=t,{authorization:l,data:u,signature:d,to:f}=dk(t.signature);if(await WO(e,{address:n,blockHash:r,blockNumber:i,blockTag:a,requireCanonical:c})===Rr([`0xef0100`,l.address]))return await Tk(e,{...t,signature:d});let p={address:l.address,chainId:Number(l.chainId),nonce:Number(l.nonce),r:br(l.r,{size:32}),s:br(l.s,{size:32}),yParity:l.yParity};if(!await GO({address:n,authorization:p}))throw new Ek;let m=await w(e,Ve,`readContract`)({...s?{address:s}:{code:ri},authorizationList:[p],abi:Jr,blockHash:r,blockNumber:i,blockTag:`pending`,functionName:`aggregate3`,requireCanonical:c,args:[[...u?[{allowFailure:!0,target:f??n,callData:u}]:[],{allowFailure:!0,target:n,callData:ii({abi:Br,functionName:`isValidSignature`,args:[o,d]})}]]});if((m[m.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new Ek}async function wk(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||yk(o)?o:vk({data:i,signature:o,to:r}))(),u=s?{to:s,data:ii({abi:Qr,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:Fr({abi:Qr,args:[n,a,l],bytecode:qr}),...c},{data:d}=await w(e,ni,`call`)(u).catch(e=>{throw e instanceof xr?new Ek:e});if(gr(d??`0x0`))return!0;throw new Ek}async function Tk(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,requireCanonical:s,signature:c}=t;if((await w(e,Ve,`readContract`)({address:n,abi:Br,args:[o,c],blockHash:r,blockNumber:i,blockTag:a,functionName:`isValidSignature`,requireCanonical:s}).catch(e=>{throw e instanceof wr?new Ek:e})).startsWith(`0x1626ba7e`))return!0;throw new Ek}var Ek=class extends Error{};function Dk(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:i,poll:a,pollingInterval:o=e.pollingInterval}){let s=a===void 0?e.transport.type!==`webSocket`&&e.transport.type!==`ipc`&&(e.transport.type!==`fallback`||e.transport.transports[0].config.type!==`webSocket`&&e.transport.transports[0].config.type!==`ipc`):a,c;return s?SO(Ur([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>wO(async()=>{try{let t=await w(e,AO,`getBlockNumber`)({cacheTime:0});if(c!==void 0){if(t===c)return;if(t-c>1&&n)for(let e=c+1n;e<t;e++)r.onBlockNumber(e,c),c=e}(c===void 0||t>c)&&(r.onBlockNumber(t,c),c=t)}catch(e){r.onError?.(e)}},{emitOnBegin:t,interval:o})):SO(Ur([`watchBlockNumber`,e.uid,t,n]),{onBlockNumber:r,onError:i},t=>{let n=!0,r=()=>n=!1;return(async()=>{try{let{unsubscribe:i}=await(()=>{if(e.transport.type===`fallback`){let t=e.transport.transports.find(e=>e.config.type===`webSocket`||e.config.type===`ipc`);return t?t.value:e.transport}return e.transport})().subscribe({params:[`newHeads`],onData(e){if(!n)return;let r=mr(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}async function Ok(e,t){let{checkReplacement:n=e.chain?.supportsTransactionReplacementDetection??!0,confirmations:r=1,hash:i,onReplaced:a,retryCount:o=6,retryDelay:s=({count:e})=>~~(1<<e)*200,timeout:c=18e4}=t,l=e.chain?.transactionReplacement?.getKey?void 0:t.replacement,u=t=>e.chain?.transactionReplacement?.getKey?.(t)??String(t.nonce),d=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,f=Ur([`waitForTransactionReceipt`,e.uid,i,{checkReplacement:n,confirmations:r,pollingInterval:d,replacement:l,retryCount:o,timeout:c}]),p,m,h,g=!1,_,v,{promise:y,resolve:b,reject:x}=$r(),S=c?setTimeout(()=>{v?.(),_?.(),x(new Er({hash:i}))},c):void 0;return _=SO(f,{onReplaced:a,resolve:b,reject:x},async t=>{m=await w(e,hk,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),m&&r<=1?(clearTimeout(S),t.resolve(m),_?.()):v=w(e,Dk,`watchBlockNumber`)({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:d,async onBlockNumber(a){let c=e=>{clearTimeout(S),v?.(),e(),_?.()},d=a;if(!g)try{if(m){if(r>1&&(!m.blockNumber||d-m.blockNumber+1n<r))return;c(()=>{h&&t.onReplaced?.(h),t.resolve(m)});return}if(n&&!p&&(g=!0,await jO(async()=>{p=await w(e,mk,`getTransaction`)({hash:i}),p.blockNumber&&(d=p.blockNumber)},{delay:s,retryCount:o,shouldRetry:({error:e})=>!(l&&e instanceof Mr)}),g=!1),m=await w(e,hk,`getTransactionReceipt`)({hash:i}),r>1&&(!m.blockNumber||d-m.blockNumber+1n<r))return;c(()=>t.resolve(m))}catch(a){if(a instanceof Mr||a instanceof jr){g=!1;let a=p??(n&&l?{...l,hash:i.toLowerCase()}:void 0);if(!a||a.blockNumber)return;try{if(!p){g=!0;let n=await w(e,mk,`getTransaction`)({nonce:a.nonce,sender:a.from}).catch(e=>{(e instanceof Yt||e instanceof Fe)&&(p=a)});if(g=!1,n?.hash.toLowerCase()===a.hash){p=n;return}if(n){let i=await w(e,hk,`getTransactionReceipt`)({hash:n.hash}).catch(e=>{if(!(e instanceof jr))throw e});if(!i||(m=i,h={reason:e.chain?.transactionReplacement?.getReason?.({replaced:a,replacement:n})??kk(a,n),replacedTransaction:a,transaction:n,transactionReceipt:m},r>1&&(!m.blockNumber||d-m.blockNumber+1n<r)))return;c(()=>{t.onReplaced?.(h),t.resolve(m)});return}}g=!0;let n=await jO(()=>w(e,Tt,`getBlock`)({blockNumber:d,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof Lt});g=!1;let i=u(a),l=n.transactions.find(e=>Vr(e.from,a.from)&&e.hash!==a.hash&&u(e)===i);if(!l||(m=await w(e,hk,`getTransactionReceipt`)({hash:l.hash}),h={reason:e.chain?.transactionReplacement?.getReason?.({replaced:a,replacement:l})??kk(a,l),replacedTransaction:a,transaction:l,transactionReceipt:m},r>1&&(!m.blockNumber||d-m.blockNumber+1n<r)))return;c(()=>{t.onReplaced?.(h),t.resolve(m)})}catch(e){c(()=>t.reject(e))}}else c(()=>t.reject(a))}}})}),y.finally(()=>{clearTimeout(S),_?.()})}function kk(e,t){return(t.to&&e.to?Vr(t.to,e.to):t.to===e.to)&&t.value===e.value&&t.input===e.input?`repriced`:t.from===t.to&&t.value===0n?`cancelled`:`replaced`}async function Ak(e,{serializedTransaction:t,throwOnReceiptRevert:n,timeout:r}){let i=await e.request({method:`eth_sendRawTransactionSync`,params:r?[t,r]:[t]},{retryCount:0}),a=(e.chain?.formatters?.transactionReceipt?.format||NO)(i);if(a.status===`reverted`&&n)throw new Nr({receipt:a});return a}async function jk(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new Re({docsPath:`/docs/actions/wallet/signTransaction`});let a=zr(n);ai({account:a,...t});let o=await w(e,Bt,`getChainId`)({});r!==null&&ze({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||Or;return a.signTransaction?a.signTransaction({...i,account:a,chainId:o},{serializer:e.chain?.serializers?.transaction}):await e.request({method:`eth_signTransaction`,params:[{...s({...i,account:a},`signTransaction`),chainId:br(o),from:a.address}]},{retryCount:0})}function Mk({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=RO();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:JO(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function Nk(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>Mk({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}var Pk=class extends ei{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}},Fk=0,Ik=new WeakMap;function Lk(e){if(!e)return`default`;let t=Ik.get(e);if(t!==void 0)return t;let n=Fk++;return Ik.set(e,n),n}function Rk(e,t={}){let{batch:n,fetchFn:r,fetchOptions:i,key:a=`http`,maxResponseBodySize:o,methods:s,name:c=`HTTP JSON-RPC`,onFetchRequest:l,onFetchResponse:u,retryDelay:d,raw:f}=t;return({chain:p,retryCount:m,timeout:h})=>{let{batchSize:g=1e3,wait:_=0}=typeof n==`object`?n:{},v=t.retryCount??m,y=h??t.timeout??1e4,b=e||p?.rpcUrls.default.http[0];if(!b)throw new Pk;let x=ik(b,{fetchFn:r,fetchOptions:i,maxResponseBodySize:o,onRequest:l,onResponse:u,timeout:y});return Mk({key:a,methods:s,name:c,async request({method:e,params:t},r){let i={method:e,params:t},a=r?.signal?{signal:r.signal}:void 0,{schedule:o}=Xr({id:`${b}.${Lk(r?.signal)}`,wait:_,shouldSplitBatch(e){return e.length>g},fn:e=>x.request({body:e,fetchOptions:a}),sort:(e,t)=>e.id-t.id}),[{error:s,result:c}]=await(async e=>n?o(e):[await x.request({body:e,fetchOptions:a})])(i).catch(e=>{if(f&&e instanceof Wr)return[{error:e.cause,result:void 0}];throw e});if(f)return{error:s,result:c};if(s)throw new Wr({body:i,error:s,url:b});return c},retryCount:v,retryDelay:d,timeout:y,type:`http`},{fetchOptions:i,url:b})}}async function zk(e,t){let{owners:n,salt:r,threshold:i,...a}=t;return ot(Ve)(e,{...a,...zk.call({owners:n,salt:r,threshold:i})})}(function(e){function t(e){let{owners:t,salt:n,threshold:r}=St(e);return Qe({address:Qt,abi:ye,args:[n,r,t],functionName:`deriveAccount`})}Object.defineProperty(e,"call",{configurable:!0,enumerable:!0,value:t,writable:!0})})(zk||={});async function Bk(e,t){let n=await e.request({method:`account_getConfig`,params:[{address:t.address}]});return n?lt(n):null}async function Vk(e,t){let{account:n,...r}=t;return ot(Ve)(e,{...r,...Vk.call({account:n})})}(function(e){function t(e){return Qe({address:Qt,abi:ye,args:[e.account],functionName:`getConfigCommitment`})}Object.defineProperty(e,"call",{configurable:!0,enumerable:!0,value:t,writable:!0})})(Vk||={});async function Hk(e,t){return Hk.inner(ue,e,t)}(function(e){async function t(t,n,r){let{account:i,currentConfig:a,nextConfig:o,...s}=r,c=i??n.account,l=(()=>{if(typeof c==`object`&&c.source===`configurable`)return c})(),u=(()=>{if(a)return a;if(l?.config)return l.config})(),d=(()=>{if(l)return l.address;if(typeof c==`string`)return c;if(c)return c.address})(),f=await(async()=>{if(u)return St(u);if(!d)throw Error(`A configurable account address or current config is required.`);let e=await Bk(n,{address:d});if(!e)throw Error(`No current account config is cached for account ${d}. Provide the current config.`);return e})(),p=(()=>{if(l)return{...l,config:f};if(typeof c==`object`)return c;if(d)return D({address:d,...f})})();return await ot(t)(n,{...s,...p?{account:p}:{},...e.call({currentConfig:f,nextConfig:o})})}e.inner=t;function n(e){let t=St(e.currentConfig),n=Xt(t,e.nextConfig);return Qe({address:Qt,abi:ye,args:[t,n.threshold,n.owners],functionName:`updateConfig`})}Object.defineProperty(e,"call",{configurable:!0,enumerable:!0,value:n,writable:!0});function r(e){let[t]=De({abi:ye,logs:e,eventName:`ConfigurableAccountConfigUpdated`,strict:!0});if(!t)throw Error("`ConfigurableAccountConfigUpdated` event not found.");return t}e.extractEvent=r})(Hk||={});async function Uk(e,t){return Uk.inner(ue,e,t)}(function(e){async function t(t,n,r){let{owners:i,threshold:a,...o}=r;for(let e of[`authorizationList`,`calls`,`data`,`keyAuthorization`,`to`])if(o[e]!==void 0)throw Error(`\`${e}\` is not supported: the upgrade must be the only call, without authorizations.`);let s=o.account??n.account;if(typeof s==`object`){if(s.source===`configurable`)throw Error(`The account is already a configurable account.`);if(s.source===`accessKey`)throw Error(`The root key must sign the upgrade, not an access key.`)}return await ot(t)(n,{...o,...e.call({owners:i,threshold:a}),type:`tempo`})}e.inner=t;function n(e){let{owners:t,threshold:n}=St(e);return Qe({address:Qt,abi:ye,args:[n,t],functionName:`upgradeAccount`})}Object.defineProperty(e,"call",{configurable:!0,enumerable:!0,value:n,writable:!0});function r(e){let[t]=De({abi:ye,logs:e,eventName:`AccountUpgraded`,strict:!0});if(!t)throw Error("`AccountUpgraded` event not found.");return t}e.extractEvent=r})(Uk||={});async function Wk(e,t){let{account:n,hash:r,signature:i,...a}=t;return ot(Ve)(e,{...a,...Wk.call({account:n,hash:r,signature:i})})}(function(e){function t(e){let{account:t,hash:n,signature:r}=e;return Qe({address:je,abi:me,args:[t,n,r],functionName:`verifyConfigurableAccount`})}Object.defineProperty(e,"call",{configurable:!0,enumerable:!0,value:t,writable:!0})})(Wk||={});async function Gk(e,t){let{timeout:n=1e4}=t,r=zr(t.account),i=await e.request({method:`tempo_fundAddress`,params:[r.address]});return await Promise.all(i.map(t=>Ok(e,{hash:t,checkReplacement:!1,timeout:n})))}async function Kk(e,t){let{blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,blocks:i,returnFullTransactions:a,traceTransfers:o,validation:s}=t;try{let t=[];for(let n of i){let r=n.blockOverrides?ti(n.blockOverrides):void 0,i=n.calls.map(t=>{let n=t,r=n.account?zr(n.account):e.account?zr(e.account):void 0,i=n.abi?ii(n):n.data,a={...n,account:r,data:n.dataSuffix?ui([i||`0x`,n.dataSuffix]):i,from:n.from??r?.address};return ai(a),Or(a)}),a=n.stateOverrides?Lr(n.stateOverrides):void 0;t.push({blockOverrides:r,calls:i,stateOverrides:a})}let c=(typeof n==`bigint`?br(n):void 0)||r,l=await e.request({method:`tempo_simulateV1`,params:[{blockStateCalls:t,returnFullTransactions:a,traceTransfers:o,validation:s},c]});return{blocks:l.blocks.map((e,t)=>({...Pt(e),calls:e.calls?.map((e,n)=>{let{abi:r,args:a,functionName:o,to:s}=i[t].calls[n],c=e.error?.data??e.returnData,l=BigInt(e.gasUsed),u=e.logs?.map(e=>y(e)),d=e.status===`0x1`?`success`:`failure`,f=r&&d===`success`&&c!==`0x`?Hr({abi:r,data:c,functionName:o}):null,p=(()=>{if(d===`success`)return;let e;if(c===`0x`?e=new hr:c&&(e=new _r({data:c})),e)return at(e,{abi:r??[],address:s??`0x`,args:a,functionName:o??`<unknown>`})})();return{data:c,gasUsed:l,logs:u,status:d,...d===`success`?{result:f}:{error:p}}})})),tokenMetadata:l.tokenMetadata??{}}}catch(e){let t=e,n=kr(t,{});throw n instanceof Sr?t:n}}async function qk(e,t){let{blockNumber:n,blockTag:r,calls:i,stateOverrides:a,traceTransfers:o,validation:s}=t,c=t.account?zr(t.account):void 0,l=await Kk(e,{blockNumber:n,blockTag:r,blocks:[{calls:i.map(e=>({...e,from:c?.address})),stateOverrides:a}],traceTransfers:o,validation:s}),{calls:u,...d}=l.blocks[0];return{block:d,results:u,tokenMetadata:l.tokenMetadata}}function Jk(e){if(!mt(e))return Ge(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),n=e.operation,{feePayerSignature:r,gasPrice:i,nonce:a,...o}=jp(e);return{...o,accessList:o.accessList,...t!==void 0&&{blockTimestamp:t},feePayerSignature:r?{r:k(r.r,{size:32}),s:k(r.s,{size:32}),v:BigInt(r.v??27),yParity:r.yParity}:void 0,nonce:Number(a),operation:Xk(n),typeHex:kp[o.type],type:o.type}}function Yk(e){return{...NO(e),operation:Xk(e.operation),...e.status===`pending`?{status:`pending`,type:`tempo`}:{}}}function Xk(e){if(!e)return;let t=mp(e);if(t.type!==`transaction`)throw Error(`Expected an account transaction operation.`);return t}function Zk(e,t){let n=e,r=n.account?zr(n.account):void 0,i=n.owner?zr(n.owner):void 0;if(i?.type===`json-rpc`)throw Error(`A local owner account is required to approve a configurable account transaction.`);if(!mt(n))return Or(e,t);t&&(n.calls=n.calls??[{to:e.to||(!e.data||e.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:e.value,data:e.data}]),n.feePayer===!0&&!n.feePayerSignature&&delete n.feeToken;let{owner:a,signatures:o,...s}=n,c=Np({...s,type:`tempo`});t===`estimateGas`&&(c.maxFeePerGas=void 0,c.maxPriorityFeePerGas=void 0),c.to=void 0,c.data=void 0,c.value=void 0;let l=i??r,[u,d]=(()=>{let e=l&&`keyType`in l?l.keyType:l?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,Qk(n.keyData)]:[n.keyType,Qk(n.keyData)]})(),f=l&&`accessKeyAddress`in l?l.accessKeyAddress:n.keyId;return r&&(c.from=r.address),{...c,...n.capabilities?{capabilities:n.capabilities}:{},...d?{keyData:d}:{},...f?{keyId:f}:{},...u?{keyType:u}:{},...n.accountSimulation?{accountSimulation:void 0}:{},...n.owner?{owner:void 0}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?zr(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function Qk(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:k(t,{size:2})}var $k=new Map;async function eA(e){$k.set(e,($k.get(e)??0)+1),await Promise.resolve();let t=($k.get(e)??0)>1;return queueMicrotask(()=>{let t=$k.get(e)??0;t<=1?$k.delete(e):$k.set(e,t-1)}),t}var tA={getKey(e){let t=e;if(t.type!==`tempo`)return`0:${t.nonce}`;let n=t.nonceKey??0n;return n===li?`expiring:${nA(t)}`:`${n}:${t.nonce}`},getReason({replaced:e,replacement:t}){return rA(e,t)}};function nA(e){let t=e,n=Mt({accessList:t.accessList,authorizationList:t.authorizationList,calls:t.calls,chainId:t.chainId,feePayerSignature:t.feePayerSignature?null:void 0,feeToken:t.feeToken,gas:t.gas,keyAuthorization:t.keyAuthorization??void 0,maxFeePerGas:t.maxFeePerGas,maxPriorityFeePerGas:t.maxPriorityFeePerGas,nonce:BigInt(t.nonce),nonceKey:t.nonceKey,validAfter:t.validAfter,validBefore:t.validBefore});return fr(yn(se(n),t.from))}function rA(e,t){let n=iA(t),r=iA(e);return n.length===r.length&&n.every((e,t)=>aA(e,r[t]))?`repriced`:n.every(e=>e.to&&Vr(e.to,t.from)&&!e.value&&oA(e.data))?`cancelled`:`replaced`}function iA(e){return e.type===`tempo`?e.calls:[{data:e.input,to:e.to,value:e.value}]}function aA(e,t){return(e.to&&t.to?Vr(e.to,t.to):!e.to&&!t.to)&&(e.value??0n)===(t.value??0n)&&(oA(e.data)?oA(t.data):e.data===t.data)}function oA(e){return!e||e===`0x`}var sA=25,cA=((e,t)=>_e(e,t)),lA={blockTime:1e3,extendSchema:$O(),formatters:{transaction:pt({exclude:[`aaAuthorizationList`],format:Jk}),transactionReceipt:PO({format:Yk}),transactionRequest:si({format:Zk})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(r.hash){if(!r.account||typeof r.account==`string`||r.account.source!==`configurable`)throw Error(`A local configurable account is required to approve a stored configurable account transaction.`);if(!r.owner||typeof r.owner==`string`)throw Error(`A local owner account is required to approve a stored configurable account transaction.`);if(r.owner.source!==`root`)throw Error(`A Tempo owner account is required to approve a stored configurable account transaction.`);let e=await w(t,mk,`getTransaction`)({hash:r.hash}),n=`operation`in e?e.operation:void 0;if(!n)throw Error(`Expected an account operation transaction.`);if(!Vr(n.account,r.account.address))throw Error(`Account operation account does not match the requested account.`);let i=x(n.transaction);if(fp({account:n.account,config:n.config,transaction:n.transaction,type:`transaction`}).toLowerCase()!==r.hash.toLowerCase())throw Error(`Account operation hash does not match transaction.`);return{...i,gas:i.gas??0n,maxFeePerGas:i.maxFeePerGas??0n,maxPriorityFeePerGas:i.maxPriorityFeePerGas??0n,account:r.account,from:n.account,accountSimulation:uA({config:n.config,local:r.account}),owner:r.owner}}if(n===`afterFillParameters`)return r.gas!==void 0&&r.feePayer&&!r.feePayerSignature&&(r.keyAuthorization?.signature.type===`webAuthn`?r.gas=(r.gas??0n)+20000n:r.account?.source===`accessKey`&&(r.gas=(r.gas??0n)+10000n)),r;let i=(()=>{if(r.account?.source===`configurable`)return{account:r.account.address,config:r.account.config,local:r.account}})();if(r.owner&&!i)throw Error(`A configurable account is required when an owner is provided.`);if(r.owner&&typeof r.owner==`string`)throw Error(`A local owner account is required to approve a configurable account transaction.`);if(r.owner&&r.owner.source!==`root`)throw Error(`A Tempo owner account is required to approve a configurable account transaction.`);let a=!!i&&!!r.owner&&t.transport.accounts===!0;if(i){let{account:e,local:n}=i;if(!e)throw Error(`A configurable account address is required with a current config.`);let o=await(async()=>{if(i.config)return i.config;if(!a)return;let n=await w(t,Bk,`getConfig`)({address:e});if(!n)throw Error(`No current account config is cached for account ${e}. Provide the current config.`);return n})();if(!o)throw Error(`An account config is required to prepare a transaction.`);r.from=e,r.accountSimulation=uA({config:o,local:n})}let o=await(async()=>{if(r.nonceKey===`expiring`||r.nonceKey===li)return!0;if(r.nonceKey!==void 0||i)return!1;if(r.feePayer&&r.nonceKey===void 0)return!0;let e=r.account,t=typeof e==`string`?e:e?.address;return t&&r.nonceKey===void 0?await eA(t.toLowerCase()):!1})();if(a&&r.nonceKey===void 0?(r.nonceKey=an(on(31))+1n,r.nonce=0):o?(r.nonceKey=li,r.nonce??=0,r.validAfter===void 0&&(r.validAfter=fA()),r.validBefore===void 0&&(r.validBefore=Math.floor(Date.now()/1e3)+sA)):r.nonceKey!==void 0&&BigInt(r.nonceKey)!==0n&&(r.nonce=typeof r.nonce==`number`?r.nonce:0),!r.keyAuthorization&&r.account?.source===`accessKey`){let e=r.account.keyAuthorizationManager;if(e){let n=r.chainId??r.chain?.id;if(n!==void 0){let i=r.account.address,a=r.account.accessKeyAddress,o={address:i,accessKey:a,chainId:n},s=await e.get(o);if(s){let n=BigInt(Math.floor(Date.now()/1e3));if(s.expiry!=null&&BigInt(s.expiry)<=n)await e.remove(o);else{let c=await w(t,Vt,`getMetadata`)({account:i,accessKey:a});Vr(c.address,a)&&!c.isRevoked&&c.expiry>n?await e.remove(o):r.keyAuthorization=s}}}}}return!r.feeToken&&r.chain?.feeToken&&(r.feeToken=r.chain.feeToken),r},{runAt:[`beforeFillTransaction`,`afterFillParameters`]}],serializers:{transaction:cA,async transactionEnvelope({serializedTransaction:e,transaction:t}){let n=t;if(!n.accountSimulation)return e;try{Xe(e)}catch{if(x(e).signature?.type===`configurable`)return e;throw Error(`A Tempo owner account is required to approve a configurable account transaction.`)}return await cA({...n,signatures:[...n.signatures??[],e]})}},transactionReplacement:tA,async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)return i;if(i instanceof Uint8Array)return xn(i)})(),s=(()=>{if(o)try{return Xe(o)}catch{return}})();if(s){if(s?.type===`keychain`&&a===`allowAccessKey`){let i=s.version===`v2`?fr(yn(`0x04`,r,n)):r,a=(()=>{try{return bt({payload:i,signature:s.inner})}catch{return}})();if(!a)return!1;let o=await Vt(e,{account:n,accessKey:a,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});return o.isRevoked||o.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:kt(s.inner,{address:a,payload:i})}if(s.type===`configurable`)return await Ve(e,{blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical,...Wk.call({account:n,hash:r,signature:o})}).catch(e=>{if(e instanceof ei&&e.walk(e=>e instanceof pr))return!1;throw e});if(s.type===`p256`||s.type===`webAuthn`){let i=await WO(e,{address:n,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return kt(s,{address:n,payload:r})}}return await w(e,Sk,`verifyHash`)({...t,chain:null})}};function uA(e){let{config:t,local:n}=e;return{approvals:pA(t).map(e=>{let t=n?.owners.find(t=>Vr(t.address,e.owner));return{...dA(t),owner:e.owner}}),config:t}}function dA(e){let t=(()=>{if(e&&typeof e==`object`&&`keyType`in e&&typeof e.keyType==`string`)return e.keyType})();return!t||t===`webAuthn`?{keyData:`0x0578`,keyType:`webAuthn`}:t===`p256`||t===`secp256k1`?{keyType:t}:{keyData:`0x0578`,keyType:`webAuthn`}}function fA(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(on(8))%e)}function pA(e){let t=[...e.owners].sort((e,t)=>Number(t.weight)-Number(e.weight)||e.owner.toLowerCase().localeCompare(t.owner.toLowerCase())),n=[],r=0;for(let i of t.slice(0,8)){if(r>=Number(e.threshold))break;n.push(i),r+=Number(i.weight)}return n.sort((e,t)=>e.owner.toLowerCase().localeCompare(t.owner.toLowerCase()))}var mA=QO({...lA,id:4217,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.tempo.xyz`}},contracts:{earnFactory:{address:`0x3085A8003f340CD51C72D9e1a1298CDafB171B02`},erc4626EngineFactory:{address:`0xd43D00981222a8db444A528E69f19E3cE5A7D2Ff`}},name:`Tempo Mainnet`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.tempo.xyz`],webSocket:[`wss://rpc.tempo.xyz`]}}}),hA=QO({...lA,id:31318,name:`Tempo Devnet`,hardfork:`t3`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.devnet.tempo.xyz`}},nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.devnet.tempoxyz.dev`],webSocket:[`wss://rpc.devnet.tempoxyz.dev`]}},testnet:!0}),gA=QO({...lA,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}}),_A=QO({...lA,id:42431,hardfork:`t5`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.testnet.tempo.xyz`}},contracts:{earnFactory:{address:`0x1de6B233984583F4d936ae4265f3b60282b70cc6`},erc4626EngineFactory:{address:`0x0d57c10249eb3a92b7d81bBA6221F80F2865448A`}},name:`Tempo Testnet (Moderato)`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.moderato.tempo.xyz`],webSocket:[`wss://rpc.moderato.tempo.xyz`]}},testnet:!0});function vA(e){let{addresses:t,currency:n,decimals:r,name:i,popular:a,symbol:o}=e;function s(e){let s=t[e];if(!s)throw Error(`Token has no address for chain id "${e}".`);return{address:s,currency:n,decimals:r,name:i,popular:a,symbol:o}}return Object.defineProperties(s,{addresses:{enumerable:!0,value:t},currency:{enumerable:!0,value:n},decimals:{enumerable:!0,value:r},name:{enumerable:!0,value:i},popular:{enumerable:!0,value:a},symbol:{enumerable:!0,value:o}})}var yA=vA({addresses:{42431:`0x20c0000000000000000000000000000000000001`},currency:`USD`,decimals:6,name:`AlphaUSD`,symbol:`alphaUSD`}),bA=vA({addresses:{42431:`0x20c0000000000000000000000000000000000002`},currency:`USD`,decimals:6,name:`BetaUSD`,symbol:`betaUSD`}),xA=vA({addresses:{4217:`0x20c000000000000000000000f047dd7018e50367`},currency:`BRL`,decimals:6,name:`BRLA Token`,symbol:`BRLA`}),SA=vA({addresses:{4217:`0x20c000000000000000000000c412ec89d0c08be5`},currency:`BTC`,decimals:6,name:`Coinbase Wrapped BTC`,symbol:`cbBTC`}),CA=vA({addresses:{4217:`0x20c00000000000000000000042109aef2f8b28e1`},currency:`CHF`,decimals:6,name:`AllUnity CHF`,symbol:`CHFAU`}),wA=vA({addresses:{1:`0x72DFB2E44f59C5AD2bAFE84314E5b99a7cd5075E`,5042:`0x171A4217b86A807A64eB94757Db6849fb4bDbAA0`,5042002:`0xf0C4a4CE82A5746AbAAd9425360Ab04fbBA432BF`,11155111:`0x3a3fe695F684Bf9b9e43CF43C2b895Ea5e392bB3`},currency:`BTC`,decimals:8,name:`Circle Wrapped Bitcoin`,symbol:`cirBTC`}),TA=vA({addresses:{4217:`0x20c0000000000000000000000520792dcccccccc`},currency:`USD`,decimals:6,name:`Cap USD`,symbol:`cUSD`}),EA=vA({addresses:{4217:`0x20c0000000000000000000006fd9a167923ba194`},currency:`USD`,decimals:6,name:`Deel USD`,symbol:`DLUSD`}),DA=vA({addresses:{4217:`0x20c0000000000000000000009a4a4b17e0dc6651`},currency:`EUR`,decimals:6,name:`AllUnity EUR`,symbol:`EURAU`}),OA=vA({addresses:{1:`0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c`,25:`0xA6dE01a2d62C6B5f3525d768f34d276652C554c8`,338:`0x31f7538adb53cF16350e6B0c89d03D91b7D12c46`,480:`0x1C60ba0A0eD1019e8Eb035E6daF4155A5cE2380B`,4801:`0xe479EcA5740Ac65d6E1823bea2f1C08Bc14e954F`,5042:`0xbEf5f6d51CB62b58e6A8f77868681825C6fe21c1`,8453:`0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42`,9745:`0x3EE196E78d4d4248b849B8E1C7F44C5457FAFD2C`,43113:`0x5E44db7996c682E92a960b65AC713a54AD815c6B`,43114:`0xC891EB4cbdEFf6e073e859e987815Ed1505c2ACD`,84532:`0x808456652fdb597867f38412077A9182bf77359F`,5042002:`0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a`,11155111:`0x08210F9170F89Ab7658F0B5E3fF39b0E03C594D4`},currency:`EUR`,decimals:6,name:`EURC`,symbol:`EURC`}),kA=vA({addresses:{4217:`0x20c0000000000000000000001621e21f71cf12fb`,42431:`0x20c000000000000000000000d72572838bbee59c`},currency:`EUR`,decimals:6,name:`Bridged EURC (Stargate)`,symbol:`EURC.e`}),AA=vA({addresses:{4217:`0x20c0000000000000000000003554d28269e0f3c2`},currency:`USD`,decimals:6,name:`Frax USD`,symbol:`frxUSD`}),jA=vA({addresses:{4217:`0x20c0000000000000000000000a6da882d075a4c3`},currency:`GBP`,decimals:6,name:`Agant GBP`,symbol:`GBPA`}),MA=vA({addresses:{4217:`0x20c0000000000000000000005c0bac7cef389a11`},currency:`USD`,decimals:6,name:`Generic USD`,symbol:`GUSD`}),NA=vA({addresses:{4217:`0x20c000000000000000000000ab02d39df30bd17e`},currency:`USD`,decimals:6,name:`InfiniFi USD`,symbol:`iUSD`}),PA=vA({addresses:{1:`0x9f6F3991D525015a6F8CaF062C83b62fD3AC4436`,4217:`0x20c0000000000000000000006a37DA5C996874BE`,8453:`0xB2000000000000000000002fEb517dFeC7415344`},currency:`USD`,decimals:6,name:`OpenUSD`,popular:!0,symbol:`OUSD`}),FA=vA({addresses:{4217:`0x20c0000000000000000000000000000000000000`,42431:`0x20c0000000000000000000000000000000000000`},currency:`USD`,decimals:6,name:`PathUSD`,symbol:`pathUSD`}),IA=vA({addresses:{4217:`0x20c000000000000000000000383a23bacb546ab9`},currency:`USD`,decimals:6,name:`Re Protocol reUSD`,symbol:`reUSD`}),LA=vA({addresses:{4217:`0x20c0000000000000000000007f7ba549dd0251b9`},currency:`USD`,decimals:6,name:`Reservoir Stablecoin`,symbol:`rUSD`}),RA=vA({addresses:{4217:`0x20c000000000000000000000ae247a1130450f09`},currency:`USD`,decimals:6,name:`Stable Coin`,symbol:`SBC`}),zA=vA({addresses:{4217:`0x20c000000000000000000000048c8f36df1c9a4a`},currency:`siUSD`,decimals:6,name:`InfiniFi Staked USD`,symbol:`siUSD`}),BA=vA({addresses:{4217:`0x20c0000000000000000000008ee4fcff88888888`},currency:`stcUSD`,decimals:6,name:`Staked Cap USD`,symbol:`stcUSD`}),VA=vA({addresses:{4217:`0x20c000000000000000000000bd95bfb69fbe6ce3`},currency:`sUSDe`,decimals:6,name:`Staked USDe`,symbol:`sUSDe`}),HA=vA({addresses:{4217:`0x20c0000000000000000000008191667423f70e67`},currency:`syrupUSDC`,decimals:6,name:`Syrup USDC`,symbol:`syrupUSDC`}),UA=vA({addresses:{42431:`0x20c0000000000000000000000000000000000003`},currency:`USD`,decimals:6,name:`ThetaUSD`,symbol:`thetaUSD`}),WA=vA({addresses:{4217:`0x20c000000000000000000000111111111e910f0f`},currency:`USD`,decimals:6,name:`USD1`,symbol:`USD1`}),GA=vA({addresses:{4217:`0x20c0000000000000000000003158081efd85bfc2`},currency:`USD`,decimals:6,name:`USDBridge`,symbol:`USDB`}),KA=vA({addresses:{1:`0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48`,10:`0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85`,25:`0x3D7F2C478aAfdB65542BCB44bCeeC05849999d2D`,50:`0xfA2958CB79b0491CC627c1557F441eF849Ca8eb1`,51:`0xb5AB69F7bBada22B28e79C8FFAECe55eF1c771D4`,130:`0x078D782b760474a361dDA0AF3839290b0EF57AD6`,137:`0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359`,143:`0x754704Bc059F8C67012fEd69BC8A327a5aafb603`,146:`0x29219dd400f2Bf60E5a23d13Be72B486D4038894`,196:`0xB6CEceAB302E2E4948951eE7843FC24E92933061`,300:`0xAe045DE5638162fa134807Cb558E15A3F5A7F853`,324:`0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4`,338:`0xEb33dc5fac03833e132593659e1dE7256aB59794`,480:`0x79A02482A880bCE3F13e09Da970dC34db4CD24d1`,998:`0x2B3370eE501B4a559b57D449569354196457D8Ab`,999:`0xb88339CB7199b77E23DB6E890353E22632Ba630f`,1301:`0x31d0220469e10c4E71834a79b1f276d740d3768F`,1328:`0x4fCF1784B31630811181f670Aea7A7bEF803eaED`,1329:`0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392`,1439:`0x0C382e685bbeeFE5d3d9C29e29E341fEE8E84C5d`,1672:`0xC879C018dB60520F4355C26eD1a6D572cdAC1815`,1776:`0xa00C59fF5a080D2b954d0c75e46E22a0c371235a`,1952:`0xDec90b78111Ba2fc6FC6d84d8B9ec159A2d4b9B3`,2818:`0xCfb1186F4e93D60E60a8bDd997427D1F33bc372B`,2910:`0x7433b41C6c5e1d58D4Da99483609520255ab661B`,3343:`0x98d2919b9A214E6Fa5384AC81E6864bA686Ad74c`,4801:`0x66145f38cBAC35Ca6F1Dfb4914dF98F1614aeA88`,5042:`0x3600000000000000000000000000000000000000`,8453:`0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`,9745:`0x2d661C89D812261039AF9764eceaAee884f5F67F`,10143:`0x534b2f3A21130d7a60830c2Df862319e593943A3`,33431:`0x2d9F7CAD728051AA35Ecdc472a14cf8cDF5CFD6B`,42161:`0xaf88d065e77c8cC2239327C5EDb3A432268e5831`,42220:`0xcebA9300f2b948710d2653dD7B07f33A8B32118C`,43113:`0x5425890298aed601595a70AB815c96711a31Bc65`,43114:`0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E`,57054:`0xA4879Fed32Ecbef99399e5cbC247E533421C4eC6`,57073:`0x2D270e6886d130D724215A266106e6832161EAEd`,59141:`0xFEce4462D57bD51A6A552365A011b95f0E16d9B7`,59144:`0x176211869cA2b568f2A7D4EE941E073a821EE1ff`,64165:`0x0BA304580ee7c9a980CF72e55f5Ed2E9fd30Bc51`,80002:`0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582`,81224:`0xd996633a415985DBd7D6D12f4A4343E31f5037cf`,84532:`0x036CbD53842c5426634e7929541eC2318f3dCF7e`,98866:`0x222365EF19F7947e5484218551B56bb3965Aa7aF`,98867:`0xcB5f30e335672893c7eb944B374c196392C19D18`,421614:`0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d`,688689:`0xcfC8330f4BCAB529c625D12781b1C19466A9Fc8B`,763373:`0xFabab97dCE620294D2B0b0e46C68964e326300Ac`,812242:`0x6d7f141b6819C2c9CC2f818e6ad549E7Ca090F8f`,5042002:`0x3600000000000000000000000000000000000000`,11142220:`0x01C5C0122039549AD1493B8220cABEdD739BC44E`,11155111:`0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238`,11155420:`0x5fd84259d66Cd46123540766Be93DFE6D43130D7`},currency:`USD`,decimals:6,name:`USD Coin`,popular:!0,symbol:`USDC`}),qA=vA({addresses:{4217:`0x20c000000000000000000000b9537d11c60e8b50`,42431:`0x20c0000000000000000000009e8d7eb59b783726`},currency:`USD`,decimals:6,name:`Bridged USDC (Stargate)`,symbol:`USDC.e`}),JA=vA({addresses:{4217:`0x20c0000000000000000000002f52d5cc21a3207b`},currency:`USD`,decimals:6,name:`USDe`,symbol:`USDe`}),YA=vA({addresses:{4217:`0x20c00000000000000000000014f22ca97301eb73`},currency:`USD`,decimals:6,name:`USDT0`,symbol:`USDT0`}),XA=vA({addresses:{1:`0x136471a34f6ef19fE571EFFC1CA711fdb8E49f2b`,56:`0x8D0fA28f221eB5735BC71d3a0Da67EE5bC821311`,97:`0x109656Aba6F175c634c63C9874f29CeAAAB8E606`,5042002:`0xe9185F0c5F296Ed1797AaE4238D26CCaBEadb86C`,11155111:`0x38D3A3f8717F4DB1CcB4Ad7D8C755919440848A3`},currency:`USD`,decimals:6,name:`US Yield Coin`,symbol:`USYC`}),ZA=vA({addresses:{4217:`0x20c000000000000000000000aeed2ec36a54d0e5`},currency:`wsrUSD`,decimals:6,name:`Wrapped Savings rUSD`,symbol:`wsrUSD`}),QA={all:[yA,bA,xA,SA,CA,wA,TA,EA,DA,OA,kA,AA,jA,MA,NA,PA,FA,IA,LA,RA,zA,BA,VA,HA,UA,WA,GA,KA,qA,JA,YA,XA,ZA],popular:[PA,KA],tempo:[yA,bA,xA,SA,CA,TA,EA,DA,kA,AA,jA,MA,NA,PA,FA,IA,LA,RA,zA,BA,VA,HA,UA,WA,GA,qA,JA,YA,ZA]},$A=new WeakSet,ej=new WeakSet;function tj(e){return $A.has(e)}function nj(e){return ej.has(e)}var rj=new WeakMap,ij=`viem:relay:cache:`;function aj(e){if(e)return{getItem:t=>e.getItem(t),setItem:(t,n)=>e.setItem(t,n),removeItem:t=>e.removeItem(t)}}async function oj(e,t){let{store:n,ttl:r}=t,i=`${ij}${t.key}`,a=!0,o=Error(`Relay cache operation timed out.`);return ek(async()=>{let t=await n.getItem(i);if(!a)throw o;if(t)try{let e=JSON.parse(t,(e,t)=>{if(typeof t!=`string`||!t.startsWith(ij))return t;if(t.startsWith(`${ij}string:`))return t.slice(`${ij}string:`.length);if(t.startsWith(`${ij}bigint:`))return BigInt(t.slice(`${ij}bigint:`.length));throw TypeError(`Invalid relay cache value.`)});if(e.expiresAt>Date.now())return e.value}catch{}let s=rj.get(n);s||(s=new Map,rj.set(n,s));let c=s.get(i);if(c)return c;let l=(async()=>{let t=await e();if(!a)throw o;return t!==void 0&&await n.setItem(i,JSON.stringify({value:t,expiresAt:Date.now()+r},(e,t)=>typeof t==`bigint`?`${ij}bigint:${t}`:typeof t==`string`&&t.startsWith(ij)?`${ij}string:${t}`:t)),t})().finally(()=>s.delete(i));return s.set(i,l),l},{timeout:3e4,errorInstance:o}).finally(()=>{a=!1})}async function sj(e,t,n,r){let i=new AbortController,a=()=>i.abort(n.signal?.reason);n.signal?.addEventListener(`abort`,a,{once:!0}),n.signal?.aborted&&a();let o=setTimeout(()=>i.abort(new cp({message:`Relay fill exceeded its deadline.`})),r.timeout??1e4),s=i.signal,c,l=new Promise((e,t)=>{c=t}),u=()=>c(s.reason);s.addEventListener(`abort`,u,{once:!0});try{return s.throwIfAborted(),await Promise.race([e(t,{...n,signal:s}),l])}finally{clearTimeout(o),n.signal?.removeEventListener(`abort`,a),s.removeEventListener(`abort`,u),i.abort()}}async function cj(e,t){let{account:n=ce,tokens:r=[],targets:i=[]}=t,a=[...new Set(i.map(e=>Ip(e).masterId))],{data:o}=await ni(e,{batch:!1,data:ui([lj,Yr([{type:`address`},{type:`address`},{type:`address[]`},{type:`address`},{type:`bytes4[]`}],[n,Ke,r,Wt,a])])}),[s,c,l,u,d]=Zr([{type:`address`},{type:`uint256`},{type:`uint256[]`},{type:`bool`},{type:`address[]`}],o??`0x`);return{preferredToken:s,preferredBalance:c,balances:r.map((e,t)=>({address:e,balance:l[t]})),virtualAddresses:u&&i.length>0?Object.fromEntries(i.map(e=>{let t=d[a.indexOf(Ip(e).masterId)];return[e,t===`0x0000000000000000000000000000000000000000`?null:t]})):void 0}}var lj=`0x608060405234801561001057600080fd5b506040516108be3803806108be83398101604081905261002f916106ed565b6040516001600160a01b038616602482015260009061008090869060440160408051601f198184030181529190526020810180516001600160e01b03908116631da931f560e31b179091526103fc16565b9150600090506001600160a01b0382111561009c57600061009e565b815b905060006001600160a01b038816156101305760405141602482015260009081906100fb908a9060440160408051601f198184030181529190526020810180516001600160e01b039081166336e2a53d60e11b179091526103fc16565b9150915081801561011357506001600160a01b038111155b1561012d578015610124578061012a565b608360961b5b92505b50505b600086516001600160401b0381111561014b5761014b610601565b604051908082528060200260200182016040528015610174578160200160208202803683370190505b506040516001600160a01b038b1660248201529091506000908190819060440160408051601f198184030181529190526020810180516001600160e01b03166370a0823160e01b179052905060005b8a51811015610270576101f78b82815181106101e1576101e16107e9565b6020026020010151838e8961042c60201b60201c565b858281518110610209576102096107e9565b602002602001018181525050866001600160a01b03168b8281518110610231576102316107e9565b60200260200101516001600160a01b031603610268576001925084818151811061025d5761025d6107e9565b602002602001015193505b6001016101c3565b508115801561028757506001600160a01b03861615155b1561029b5761029886828d8861042c565b92505b600088516001600160401b038111156102b6576102b6610601565b6040519080825280602002602001820160405280156102df578160200160208202803683370190505b509050600160005b8a518110156103c7576000806103648e8e8581518110610309576103096107e9565b602002602001015160405160240161033191906001600160e01b031991909116815260200190565b60408051601f198184030181529190526020810180516001600160e01b03908116636c2558b360e11b179091526103fc16565b9150915081158061037b57506001600160a01b0381115b1561038957600093506103bd565b8085848151811061039c5761039c6107e9565b60200260200101906001600160a01b031690816001600160a01b0316815250505b50506001016102e7565b50600088868884866040516020016103e3959493929190610844565b6040516020818303038152906040529050805160208201f35b60008060405160208185516020870188620186a0fa60203d1015169250821561042457805191505b509250929050565b60008061043986866103fc565b91505080158061045057506001600160a01b038316155b1561045f576000915050610565565b826001600160a01b0316866001600160a01b03161480610485575061048584878561056d565b15610491579050610565565b6040805160048152602481019091526020810180516001600160e01b03908116630217a4b760e41b179091526000916104cd918991906103fc16565b9150508015806104e357506001600160a01b0381115b156104f357600092505050610565565b806001600160a01b03808216908916148061051f5750846001600160a01b0316816001600160a01b0316145b156105305760009350505050610565565b61053b86898361056d565b801561054d575061054d86828761056d565b1561055d57829350505050610565565b600093505050505b949350505050565b6040516001600160a01b03808416602483015282166044820152600090819060640160408051601f198184030181529181526020820180516001600160e01b031663298d501f60e11b1781528151835193945092839189620186a0fa600060208301511160403d101582161693505050509392505050565b80516001600160a01b03811681146105fc57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561063f5761063f610601565b604052919050565b60006001600160401b0382111561066057610660610601565b5060051b60200190565b600082601f83011261067b57600080fd5b815161068e61068982610647565b610617565b8082825260208201915060208360051b8601019250858311156106b057600080fd5b602085015b838110156106e35780516001600160e01b0319811681146106d557600080fd5b8352602092830192016106b5565b5095945050505050565b600080600080600060a0868803121561070557600080fd5b61070e866105e5565b945061071c602087016105e5565b60408701519094506001600160401b0381111561073857600080fd5b8601601f8101881361074957600080fd5b805161075761068982610647565b8082825260208201915060208360051b85010192508a83111561077957600080fd5b6020840193505b828410156107a257610791846105e5565b825260209384019390910190610780565b95506107b492505050606087016105e5565b60808701519092506001600160401b038111156107d057600080fd5b6107dc8882890161066a565b9150509295509295909350565b634e487b7160e01b600052603260045260246000fd5b600081518084526020840193506020830160005b8281101561083a5781516001600160a01b0316865260209586019590910190600101610813565b5093949350505050565b6001600160a01b0386168152602080820186905260a060408301819052855190830181905260009186019060c0840190835b81811015610894578351835260209384019390920191600101610876565b5050851515606085015283810360808501526108b081866107ff565b999850505050505050505056fe`;function uj(e){if(typeof e==`number`)return e;if(typeof e==`bigint`)return Number(e);if(typeof e==`string`){if(!/^(?:0x[0-9a-f]+|[0-9]+)$/i.test(e))return;let t=Number(e);if(Number.isFinite(t))return t}}function dj(e){let{to:t,data:n,value:r,...i}=e,a=fj(e.keyAuthorization),o=a?{keyAuthorization:a}:{};if(Array.isArray(e.calls))return{...e,...o,calls:e.calls.map(e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw new lp({message:`Expected a transaction call object.`});return pj(e.to),{...e,value:mj(e.value)}})};pj(t);let s={...t===void 0?{}:{to:t},...n===void 0?{}:{data:n},...r===void 0?{}:{value:mj(r)}};return{...i,...o,calls:[s]}}function fj(e){if(!e||typeof e!=`object`)return;let t=e.signature;if(t&&typeof t==`object`)return typeof t.signature==`object`&&t.signature!==null?We(e):e}function pj(e){if(e!=null&&(typeof e!=`string`||!nn(e,{strict:!1})))throw new lp({message:`Invalid transaction call target.`})}function mj(e){if(typeof e!=`string`||!e.startsWith(`0x`))return e;if(!/^0x[\da-f]*$/i.test(e))throw new lp({message:`Invalid transaction value.`});return BigInt(e===`0x`?`0x0`:e)}function hj(e){return typeof e==`string`?e.startsWith(`0x76`)||e.startsWith(`0x78`):!1}function gj(e){if(!e)throw Error("Expected `tx` in eth_fillTransaction response.");return jp({type:`0x76`,...e})}function _j(e){return{...Mp(e),...`nonceKey`in e&&e.nonceKey!==void 0?{nonceKey:k(e.nonceKey)}:{}}}function vj(e){let t=e,n,r=new Set;for(;t&&typeof t==`object`&&!r.has(t);){r.add(t);let e=t;!(t instanceof Ee)&&typeof e.code==`number`&&typeof e.message==`string`&&(n=t instanceof op?t:{code:e.code,message:e.message,data:e.data}),t=e.cause}return n?n.code===-32603&&/^Revm error: transaction expired(?:\.|: .+)?$/.test(n.message)?new sp({message:`Transaction expired.`,data:{code:`transaction_expired`}}):n instanceof op?n:new op(n):new up({message:`Internal error`,data:{code:`internal_error`}})}function yj(e,t){let n={...t,...e},r=e.calls;if(Array.isArray(r)&&r.length>0)return n;let i=t.calls;if(Array.isArray(i))return n.calls=i,n;let{to:a,data:o,value:s}=t;return a===void 0&&o===void 0&&s===void 0||(n.calls=[{...a===void 0?{}:{to:a},...o===void 0?{}:{data:o},...s===void 0?{}:{value:s}}]),n}async function bj(e,t){let n=xj(t.calls);if(n.length!==0)return(await cj(e,{targets:n})).virtualAddresses}function xj(e){let t=new Set;for(let n of e)for(let e of[n.to,Sj(n.data)])if(e&&ci(e)&&Fp(e)&&(t.add(e.toLowerCase()),t.size>100))throw new lp({message:`Virtual-address targets exceed the limit of 100 addresses.`});return[...t]}function Sj(e){if(!e)return;let t=e.slice(0,10).toLowerCase();if(Cj.has(t))try{let{args:t,functionName:n}=rc({abi:tn,data:e});if((n===`transfer`||n===`transferWithMemo`)&&typeof t[0]==`string`)return t[0];if((n===`transferFrom`||n===`transferFromWithMemo`)&&typeof t[1]==`string`)return t[1]}catch{}}var Cj=new Set([`0xa9059cbb`,`0x95777d59`,`0x23b872dd`,`0x929c2539`]);function wj(e){let t=e.calls;return t&&t.length>0?t.map(e=>({...e.to?{to:e.to}:{},...e.data?{data:e.data}:{},...e.value?{value:e.value}:{}})):[{...e.to?{to:e.to}:{},...e.data?{data:e.data}:{},...e.value?{value:e.value}:{}}]}async function Tj(e){return QA.tempo.flatMap(t=>{let n=t.addresses[e];return n?[n]:[]})}async function Ej(e,t){let{token:n,tokenMetadata:r,store:i}=t,a=r?.[n]??r?.[n.toLowerCase()];if(rt(n)&&a)return{decimals:6,symbol:a.symbol,name:a.name};let o=()=>Ft(e,{token:n}),s=i?await oj(o,{key:`tokenMetadata:${e.chain?.id??0}:${n.toLowerCase()}`,store:i,ttl:864e5}):await o();return{decimals:s.decimals??6,symbol:a?.symbol||s.symbol,name:a?.name||s.name}}async function Dj(e,t){let{account:n,calls:r,feeToken:i,gas:a,store:o,maxFeePerGas:s,signal:c}=t;c?.throwIfAborted();try{let t=i&&!r.some(e=>e.to?.toLowerCase()===i.toLowerCase())?[Et.call(e,{account:n??`0x0000000000000000000000000000000000000000`,token:i})]:[],l=await qk(e,{account:n===`0x0000000000000000000000000000000000000000`?void 0:n,calls:[...r,...t],traceTransfers:!0}),u=l.results.slice(0,r.length),{tokenMetadata:d}=l;c?.throwIfAborted();let f=[];for(let e of u)e.logs&&f.push(...e.logs);return{balanceDiffs:n?await Oj(e,{account:n,store:o,signal:c,logs:f,tokenMetadata:d}):{},fee:await kj(e,{feeToken:i,gas:a,store:o,signal:c,maxFeePerGas:s,tokenMetadata:d}),tokenMetadata:d}}catch{return c?.throwIfAborted(),{balanceDiffs:void 0,fee:await kj(e,{feeToken:i,gas:a,store:o,maxFeePerGas:s,signal:c}),tokenMetadata:void 0}}}async function Oj(e,t){let{account:n,store:r,logs:i,tokenMetadata:a,signal:o}=t;o?.throwIfAborted();let s=n.toLowerCase(),c=De({abi:[_u(tn,`Transfer`)],eventName:`Transfer`,logs:i}),l=De({abi:[_u(tn,`Approval`)],eventName:`Approval`,logs:i}),u=new Map;for(let e of c){let t=e.address.toLowerCase(),n=e.args.from.toLowerCase(),r=e.args.to.toLowerCase(),i=u.get(t)??{incoming:0n,outgoing:0n,approved:0n,recipients:new Set,token:e.address};n===s&&(i.outgoing+=e.args.amount,i.recipients.add(e.args.to)),r===s&&(i.incoming+=e.args.amount),u.set(t,i)}let d=new Map;for(let e of l)e.args.owner.toLowerCase()===s&&d.set(`${e.address.toLowerCase()}:${e.args.spender.toLowerCase()}`,e);for(let e of d.values()){if(e.args.amount===0n)continue;let t=e.address.toLowerCase(),n=u.get(t)??{incoming:0n,outgoing:0n,approved:0n,recipients:new Set,token:e.address};n.approved+=e.args.amount,n.recipients.add(e.args.spender),u.set(t,n)}let f=[...u.values()].filter(e=>(e.outgoing>e.incoming?e.outgoing-e.incoming:e.incoming-e.outgoing)>0n||e.approved>0n);if(f.length===0)return{};if(f.length>100)return;let p=new Map,m=0;if(await Promise.all(Array.from({length:Math.min(10,f.length)},async()=>{for(;m<f.length;){let t=f[m++];try{let n=await Ej(e,{token:t.token,tokenMetadata:a,store:r});p.set(t.token.toLowerCase(),n)}catch{o?.throwIfAborted()}}})),o?.throwIfAborted(),p.size!==f.length)return;let h=[];for(let e of f){let t=e.incoming>e.outgoing?e.incoming-e.outgoing:0n,n=(e.outgoing>e.incoming?e.outgoing-e.incoming:0n)+e.approved,r=p.get(e.token.toLowerCase()),i=r.decimals,a={address:e.token,decimals:i,name:r.name,symbol:r.symbol};t>0n&&h.push({...a,direction:`incoming`,formatted:Ie(t,i),recipients:[],value:k(t)}),n>0n&&h.push({...a,direction:`outgoing`,formatted:Ie(n,i),recipients:[...e.recipients],value:k(n)})}return{[n]:h}}async function kj(e,t){let{feeToken:n,gas:r,store:i,maxFeePerGas:a,tokenMetadata:o,signal:s}=t;if(s?.throwIfAborted(),n&&r&&a)try{let t=await Ej(e,{token:n,tokenMetadata:o,store:i});s?.throwIfAborted();let c=r*a,l=10n**BigInt(Math.max(0,18-t.decimals)),u=(c+l-1n)/l;return{amount:k(u),decimals:t.decimals,formatted:Ie(u,t.decimals),symbol:t.symbol}}catch{s?.throwIfAborted();return}}function Aj(e){if(!(e instanceof Error))return!1;let t=new Set,n=[e];for(;n.length;){let e=n.pop();if(!e||typeof e!=`object`||t.has(e))continue;t.add(e);let r=e;if(r.code===3||r.name===`UpstreamRevertError`||r.name===`ExecutionRevertedError`||r.name===`ContractFunctionRevertedError`||[r.message,r.details].some(e=>typeof e==`string`&&/^execution reverted\b/i.test(e)))return!0;n.push(r.cause,r.error)}return!1}async function jj(e,t,n,r){let i=Rt(e),a={from:t.from,to:t.to??null,gas:`0x0`,nonce:`0x0`,value:`0x0`,maxFeePerGas:`0x0`,maxPriorityFeePerGas:`0x0`};if(i.errorName===`InsufficientBalance`&&i.args?.length===3){let[e,o,s]=i.args,c=dj(t),l=c?wj(c):void 0,[{balanceDiffs:u,tokenMetadata:d},f]=l?await Promise.all([Dj(n,{account:ce,calls:l,store:r}),bj(n,{calls:l}).catch(()=>void 0)]):[{balanceDiffs:void 0,tokenMetadata:void 0},void 0],p=t.from&&u?{[t.from]:u[`0x0000000000000000000000000000000000000000`]??[]}:u,m=await Ej(n,{token:s,tokenMetadata:d,store:r}).catch(()=>void 0),h=o-e;return{tx:a,capabilities:{balanceDiffs:p,error:dt(i),insufficientFunds:m?{amount:k(h),decimals:m.decimals,formatted:Ie(h,m.decimals),token:s,symbol:m.symbol}:void 0,sponsored:!1,...f?{virtualAddresses:f}:{}}}}let o=dj(t),s=o?await bj(n,{calls:wj(o)}).catch(()=>void 0):void 0;return{tx:a,capabilities:{error:dt(i),sponsored:!1,...s?{virtualAddresses:s}:{}}}}function Mj(e,t={},n){let r=t,i=t.plugins??[];if(i.length===0)return e;if(i.filter(e=>e.signTransaction).length>1)throw Error(`Only one relay transaction signer may be configured.`);let a=async(t,a={})=>{let o=new Map,s=new Map,c=e=>{if(!e)return;let t=o.get(e);return t||(t=aj(e),o.set(e,t)),t},l=async(t,o,d)=>{let f={request:o,options:{...d},result:void 0},p=new Map,m=e=>{let t=p.get(e);if(t)return t;let i=new Map,a=(e=f.options.chainId)=>{if(e===void 0||!Number.isSafeInteger(e)||e<=0)throw new lp({message:`A chain ID is required to resolve the downstream client.`});return e},o={get request(){return f.request},set request(e){f.request=e},get result(){return f.result},set result(e){f.result=e},get options(){return f.options},set options(e){f.options=e},get client(){return o.getClient()},getClient(t){let r=a(t),o=i.get(r);if(o)return o;let s=n?.(r);if(s?.chain&&s.chain.id!==r)throw new lp({message:`Conflicting chain ids.`});return o=zO({chain:{...mA,...s?.chain,id:r},batch:{multicall:{deployless:!0}},transport:t=>{let n=Nk({request:async(t,n)=>(await l(e+1,t,{...f.options,...n,chainId:r})).state.result},{retryCount:0})(t);return{...n,request:n.config.request}}}),i.set(r,o),o},async resolveTokens(e){let t=a(e),n=s.get(t);return n||(n=Promise.resolve().then(()=>(r.resolveTokens??Tj)(t)),s.set(t,n)),n},getStore:c};return p.set(e,o),o},h=async t=>{if(t===i.length){let t=f.request.params?.[0],n=f.request.method===`eth_fillTransaction`&&t?.feePayer===!0&&!t.feePayerSignature?t:void 0,r=n?Pj(n):void 0,i=(()=>{if(!n)return f.request;let{maxFeePerGas:e,maxPriorityFeePerGas:t,...i}=n;return{...f.request,params:[{...r?i:n,feeToken:void 0}]}})();a.signal?.throwIfAborted();let o=await e(i,{...f.options,...u?{signal:a.signal}:{}});f.result=r?Fj(o,r):o;return}let n=i[t],r=m(t);if(!n.handleRequest)return h(t+1);let o=!1,s=await n.handleRequest(r,async()=>{if(o)throw Error(`next() may only be called once per middleware invocation.`);o=!0,await h(t+1)});s!==void 0&&(f.result=s)};return await h(t),{state:f,contextAt:m}},u=t.method===`eth_fillTransaction`,d=[`eth_signRawTransaction`,`eth_sendRawTransaction`,`eth_sendRawTransactionSync`].includes(t.method),f=t.params?.[0],p;try{if(a.signal?.throwIfAborted(),u&&(!f||typeof f!=`object`||Array.isArray(f)))throw new lp({message:`Expected a transaction object.`});u&&dj(f);let e=(()=>{if(d&&hj(t.params?.[0]))try{return x(t.params[0]).chainId}catch{throw new lp({message:`Invalid serialized Tempo transaction.`})}if(!u||f.chainId===void 0)return;let e=uj(f.chainId);if(e===void 0||!Number.isSafeInteger(e)||e<=0)throw new lp({message:`Invalid transaction chain ID.`});return e})();if(e!==void 0&&a.chainId!==void 0&&e!==a.chainId)throw new lp({message:`Conflicting chain ids.`});if(p=await l(0,t,{...a,...(a.chainId??e)===void 0?{}:{chainId:a.chainId??e}}),!u)return p.state.result;let n=p.state.result;if(n.capabilities?.error)return n;let r=gj(yj(n.tx,dj(f))),o={...n,tx:_j(r)},s=Nj(structuredClone(o)),c=xj(wj(r)),m=o.capabilities?.virtualAddresses,[h,g,_]=await Promise.all([Promise.all(i.map((e,t)=>e.afterFill?.(s,p.contextAt(t)))),Promise.all(i.map((e,t)=>e.signTransaction?.(s,p.contextAt(t)))),c.length>0&&!c.every(e=>m&&e in m)?bj(p.contextAt(-1).client,{calls:wj(r)}).catch(()=>{a.signal?.throwIfAborted()}):void 0]);a.signal?.throwIfAborted();let v={...o.capabilities},y=new Set;for(let e of h)for(let[t,n]of Object.entries(e?.capabilities??{})){if(y.has(t))throw Error(`Conflicting relay capability: ${t}.`);y.add(t),v[t]=n}let b=g.find(e=>e!==void 0);b&&(delete o.tx.signature,o.tx.feePayerSignature=b);let S=v.sponsor??o.sponsor;return{...o,capabilities:{sponsored:!!S,...v,..._?{virtualAddresses:_}:{}}}}catch(t){if(a.signal?.throwIfAborted(),u&&Aj(t)&&f.capabilities?.errors===!0){let n=a.chainId??uj(f.chainId);return jj(t,f,zO({chain:{...mA,id:n??mA.id},transport:Nk({request:(t,r)=>e(t,{...a,...r,chainId:n,signal:a.signal})},{retryCount:0})}))}throw!u&&!d?t:vj(t)}};if(t.timeout!==void 0&&(!Number.isSafeInteger(t.timeout)||t.timeout<=0))throw new lp({message:`Expected a positive integer for timeout.`});if(t.timeout!==void 0&&t.timeout>2147483647)throw new lp({message:`The fill timeout cannot exceed 2147483647 milliseconds.`});return(e,n={})=>e.method===`eth_fillTransaction`?sj(a,e,n,t):a(e,n)}function Nj(e){if(e&&typeof e==`object`){for(let t of Object.values(e))Nj(t);Object.freeze(e)}return e}function Pj(e){if(e.gas!=null)return;let t=Ij(e.maxFeePerGas),n=Ij(e.maxPriorityFeePerGas);if(t!==null&&n!==null&&(t!==void 0||n!==void 0)&&!(t!==void 0&&n!==void 0&&n>t))return{maxFeePerGas:t,maxPriorityFeePerGas:n}}function Fj(e,t){let{tx:n}=e??{};if(!n||typeof n!=`object`||n.feePayerSignature)return e;let r=Ij(n.maxFeePerGas),i=Ij(n.maxPriorityFeePerGas),a=t.maxFeePerGas??(r!=null&&t.maxPriorityFeePerGas!==void 0&&t.maxPriorityFeePerGas>r?t.maxPriorityFeePerGas:r);if(a==null)return t.maxPriorityFeePerGas===void 0?e:{...e,tx:{...n,maxPriorityFeePerGas:k(t.maxPriorityFeePerGas)}};let o=t.maxPriorityFeePerGas??(i!=null&&i<a?i:a);return{...e,tx:{...n,maxFeePerGas:k(a),maxPriorityFeePerGas:k(o)}}}function Ij(e){if(e!=null)return typeof e==`bigint`?e>=0n&&e<=Lj?e:null:typeof e==`number`?Number.isSafeInteger(e)&&e>=0?BigInt(e):null:typeof e==`string`&&Rj.test(e)?an(e):null}var Lj=2n**256n-1n,Rj=/^0x(?:0|[1-9a-fA-F][0-9a-fA-F]{0,63})$/,zj={CLOSE_GRACE_PERIOD:`0x956c8327`,VOUCHER_TYPEHASH:`0x94739e87`,close:`0x73b57f74`,computeChannelId:`0x185eeeac`,domainSeparator:`0xf698da25`,getChannel:`0xeef95313`,getChannelState:`0xd18da8b1`,getChannelStatesBatch:`0xd1f4cda2`,getVoucherDigest:`0xf3b349e8`,open:`0xedc53b00`,requestClose:`0x675402e5`,settle:`0x97fb5104`,storageCredits:`0x4d65338b`,topUp:`0xdc48471e`,withdraw:`0x41e2c664`};function Bj(e,t,n){if(typeof t!=`function`)return n=>{let r=e(n),i=Mj((e,t)=>r.request(e,t),t,n.chain?()=>({chain:n.chain}):void 0);return{...r,request:((e,t)=>i(e,{chainId:n.chain?.id,...t})),value:{...r.value,...t.plugins?.some(tj)?{accounts:!0}:{},...t.plugins?.some(nj)?{keyAuthorization:!0}:{}}}};let{keyAuthorization:r,policy:i=`sign-only`}=n??{};return n=>{let a=e(n),o=t(n);return{...Mk({key:Bj.type,name:`Relay Proxy`,async request({method:e,params:t},n){if(e===`eth_fillTransaction`)return o.request({method:e,params:t},n);if(e===`eth_getTransactionByHash`||e===`eth_getTransactionReceipt`){let r=await a.request({method:e,params:t},n);if(r!=null)return r;let i=await(async()=>{try{return await o.request({method:`account_getOperation`,params:t},n)}catch(e){if(e instanceof Yt||e instanceof Fe)return null;throw e}})();return!i||typeof i!=`object`||!(`type`in i)||i.type!==`transaction`?r:o.request({method:e,params:t},n)}if(e===`account_approveKeyAuthorization`||e===`account_approveRawTransaction`||e===`account_approveRawTransactionSync`||e===`account_getConfig`||e===`account_getOperation`||e===`relay_saveKeyAuthorization`)return o.request({method:e,params:t},n);if(e===`eth_sendRawTransactionSync`||e===`eth_sendRawTransaction`){let r=t[0],s=x(r);if(s.signature?.type===`configurable`)return o.request({method:e,params:t},n);if(s.feePayerSignature===null){if(i===`sign-and-broadcast`)return o.request({method:e,params:t},n);{let t=await o.request({method:`eth_signRawTransaction`,params:[r]},n);return a.request({method:e,params:[t]},n)}}}return await a.request({method:e,params:t},n)},type:Bj.type}),value:{accounts:!0,...r?{keyAuthorization:r}:{}}}}}var Vj=[mA,_A,hA,gA],Hj=A().regex(ic),Uj=`https://api.tempo.xyz`;function Wj(e){if(e.apiUrls?.trim()===`none`)return;let t=Object.values($s).some(t=>t===e.chainId);try{return Ys({value:e.apiUrls,variable:`TEMPO_API_URLS`}).find(t=>t.chainId===e.chainId)?.url??(t?Uj:void 0)}catch(e){if(!(e instanceof tc))throw e;nc({error:e,message:`TEMPO_API_URLS does not parse.`});return}}function Gj(e){let t=Object.keys($s).find(t=>$s[t]===e.chainId);if(t)return t;try{return Ys({value:e.rpcUrls}).find(t=>t.chainId===e.chainId)?.name}catch(e){if(!(e instanceof tc))throw e;return}}var Kj=class extends q(`challenge_not_permitted`){name=`KeyAuthorization.ChallengeNotPermittedError`;constructor(e){let{clientId:t}=e;super({error_description:`Challenge not permitted: the app lacks the \`${OD}\` scope. Remove \`challenge\`, or grant the app the scope.`,field:`challenge`,meta:{client_id:t,scope:OD}})}},qj=class extends q(`duplicate_limit`){name=`KeyAuthorization.DuplicateLimitError`},Jj=class extends q(`duplicate_scope`){name=`KeyAuthorization.DuplicateScopeError`},Yj=class extends q(`empty_limits`){name=`KeyAuthorization.EmptyLimitsError`},Xj=class extends q(`empty_scopes`){name=`KeyAuthorization.EmptyScopesError`},Zj=class extends q(`expiry_exceeds_maximum`){name=`KeyAuthorization.ExpiryExceedsMaximumError`},Qj=class extends q(`expiry_passed`){name=`KeyAuthorization.ExpiryPassedError`},$j=class extends q(`invalid_chain`){name=`KeyAuthorization.InvalidChainError`},eM=class extends q(`invalid_expiry`){name=`KeyAuthorization.InvalidExpiryError`},tM=class extends q(`invalid_period`){name=`KeyAuthorization.InvalidPeriodError`},nM=class extends q(`invalid_public_key`){name=`KeyAuthorization.InvalidPublicKeyError`},rM=class extends q(`invalid_recipients`){name=`KeyAuthorization.InvalidRecipientsError`},iM=class extends q(`limit_exceeds_maximum`){name=`KeyAuthorization.LimitExceedsMaximumError`},aM=class extends q(`missing_key`){name=`KeyAuthorization.MissingKeyError`},oM=class extends q(`missing_permissions`){name=`KeyAuthorization.MissingPermissionsError`},sM=class extends q(`missing_recipients`){name=`KeyAuthorization.MissingRecipientsError`},cM=class extends q(`scope_without_limit`){name=`KeyAuthorization.ScopeWithoutLimitError`},lM=class extends q(`unsupported_call`){name=`KeyAuthorization.UnsupportedCallError`},uM=class extends q(`unsupported_token`){name=`KeyAuthorization.UnsupportedTokenError`},dM=class extends q(`webauthn_required`){name=`KeyAuthorization.WebAuthnRequiredError`;constructor(e){super({error_description:e.description??`Passkey required: Tempo Account ${e.account} signs key authorizations only with its passkey, on a Tempo ID page. Authorize through a redirect, popup, or device grant, or name another account.`,field:`key_authorization.account`,meta:{account:e.account}})}},fM=Gi([`0x`,A().regex(/^[0-9a-fA-F]*$/)]).meta({pattern:`^0x[0-9a-fA-F]*$`}),pM=Gi([`0x`,A().regex(/^[0-9a-fA-F]{40}$/)]).meta({pattern:`^0x[0-9a-fA-F]{40}$`}),mM=Gi([`0x`,A().regex(/^[0-9a-fA-F]{0,64}$/)]).meta({pattern:`^0x[0-9a-fA-F]{0,64}$`}),hM=Gi([`0x`,A().regex(/^[0-9a-fA-F]{64}$/)]).meta({pattern:`^0x[0-9a-fA-F]{64}$`});function gM(e){return Qi(pi([mM.meta({examples:e.examples}),Ii()]),Ii(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:an(e),encode:e=>k(e)})}var _M=M({account:Di(pM).meta({description:`The Tempo Account that the key acts for. Defaults to the account selected for the app, else the oldest.`,examples:[`0x9a073914db0d149375ac2b7fbb72c68c0780fb5f`]}),address:Di(pM).meta({description:"The access key's address. Required unless `publicKey` is present.",examples:[`0x81c0f22bd173c115d18eeea0f6a38e935ecf52fb`]}),chainId:Di(gM({examples:[`0x1079`]})).meta({description:`The chain ID the key acts on, as a hex quantity. Defaults to Tempo mainnet.`}),expiry:Di(hi()).meta({description:`When the key expires, in Unix seconds. Defaults to one year for a first-party app, and is required for a third-party app.`,examples:[1893456e3]}),keyType:Di(Fi([`p256`,`secp256k1`,`webAuthn`])).meta({description:"The signature scheme of the access key. Defaults to `secp256k1`.",examples:[`secp256k1`]}),limits:Di(na(M({limit:gM({examples:[`0x989680`]}).meta({description:"The maximum amount of the token that the key can spend, in base units, as a hex quantity. With `period`, the maximum for each period."}),period:Di(hi()).meta({description:`The seconds after which the limit resets. Absent or 0 for a one-time limit.`,examples:[86400]}),token:pM.meta({description:`The TIP-20 token the limit applies to.`,examples:[`0x20c0000000000000000000006a37DA5C996874BE`]})})).readonly()).meta({description:`The spending limit for each token. Defaults to the headless ceiling for a first-party app, and is required for a third-party app.`}),publicKey:Di(fM).meta({description:"The access key's uncompressed public key, as hex. Required without `address`.",examples:[`0x0438ef39ed22456a6956f380ebc18c50bd18c0402658bc52903817cc8a1e8b2f7ed1da68afc7f343c1debc44c04ac60e62e96bbb261d2226e7a7b96e64fd0f0765`]}),scopes:Di(na(M({address:pM.meta({description:`The contract that the key can call, such as a TIP-20 token or the TIP-1034 channel reserve.`,examples:[`0x20c0000000000000000000006a37DA5C996874BE`]}),recipients:Di(na(pM).readonly()).meta({description:"The only recipients or spenders that the call can name. Required for `approve`, and valid only for `transfer`, `transferWithMemo`, and `approve`.",examples:[[`0xff5deded16eb46018387144ff8bf41f26afb41af`]]}),selector:Di(pi([fM,A().max(256)])).meta({description:`The function that the key can call, as a 4-byte selector or a function signature. Absent to allow any function, which a TIP-20 token refuses.`,examples:[`0xa9059cbb`,`transfer(address,uint256)`]})})).readonly()).meta({description:"The calls that the key can make. Defaults to `transfer` and `transferWithMemo` on each limited token for a first-party app, and is required for a third-party app."})}),vM;(function(e){e.account=pM.meta({description:`The Tempo Account the key acts for.`,examples:[`0x9a073914db0d149375ac2b7fbb72c68c0780fb5f`]}),e.request=Di(_M.transform(RM)).meta({description:"A request to authorize the app's own access key on the user's Tempo Account, in the shape of the Accounts SDK's `authorizeAccessKey` capability.",id:`KeyAuthorizationRequest`}),e.description=M({account:pM.optional().meta({description:`The Tempo Account that the request names, if any.`,examples:[`0x9a073914db0d149375ac2b7fbb72c68c0780fb5f`]}),calls:na(M({call:Fi([`open`,`topUp`]).meta({description:"The call on the channel reserve: `open` starts a payment channel, and `topUp` adds to its deposit.",examples:[`open`,`topUp`]})})).readonly().meta({description:`The calls on the channel reserve, in the order of the scopes. Transfers and approvals are not listed, since the limits cover them.`}),expiry:hi().meta({description:`Unix seconds.`,examples:[1893456e3]}),limits:na(M({amount:A().meta({description:`In whole units.`,examples:[`1000`]}),currency:A().meta({description:"The tokens' currency, such as `USD`.",examples:[`USD`]}),period:hi().optional().meta({description:`The seconds after which the amount resets. Absent for a one-time limit.`,examples:[86400]}),tokens:na(M({amount:A().meta({description:`The token's own limit, in whole units.`,examples:[`1000`]}),symbol:A().meta({description:`The token's symbol, or its address when the token has no symbol.`,examples:[`OUSD`]})})).readonly().meta({description:`The tokens the amount spans.`})})).readonly().meta({description:`The spending limits, totaled for each currency and period.`}),unrecognized:na(M({address:pM.meta({description:`The contract that the call targets.`,examples:[`0x9a073914db0d149375ac2b7fbb72c68c0780fb5f`]}),selector:fM.optional().meta({description:`The 4-byte selector of the function. Absent when the scope allows any function on the contract.`,examples:[`0x12345678`]})})).readonly().meta({description:`The calls that Tempo ID does not recognize, which the screens warn about.`})}).meta({description:`What a key authorization grants, for approval screens.`,id:`KeyAuthorizationDescription`});let t=zi(`type`,[M({r:fM.meta({description:"The signature's 32-byte `r` value.",examples:[`0x12fe6a88b99377b94d6a628a86b9df544202c7b03827f44b16ee1a266ab98e17`]}),s:fM.meta({description:"The signature's 32-byte `s` value.",examples:[`0x4b6aa3723402498e07fb1f071673bd969d9f49a286af15ac60581d07ade24b77`]}),type:Pi(`secp256k1`).meta({description:`A secp256k1 ECDSA signature.`}),v:fM.optional().meta({description:"The legacy recovery value, which `yParity` replaces.",examples:[`0x1c`]}),yParity:fM.meta({description:"The parity of the y-coordinate of the curve point, `0x0` or `0x1`.",examples:[`0x1`]})}).meta({description:`A secp256k1 signature.`}),M({preHash:Li().meta({description:`Whether the signer hashed the digest with SHA-256 before signing it, as WebCrypto keys do.`,examples:[!0]}),pubKeyX:fM.meta({description:`The 32-byte x-coordinate of the signer's P256 public key.`,examples:[`0xdae3e3e5faba0a2aca73d4d2a4b84ad46460f3f23af8a60b17b8a13537cfd440`]}),pubKeyY:fM.meta({description:`The 32-byte y-coordinate of the signer's P256 public key.`,examples:[`0x816438c87ffd782cd0e37355eb83fbe1d4e5e905eaafa22fa27c32cc4abf7802`]}),r:fM.meta({description:"The signature's 32-byte `r` value.",examples:[`0x9da52cc71c005844434ce6996f7ea3b3262f84ec3a5d54f1d22d0bba9f2e5ea9`]}),s:fM.meta({description:"The signature's 32-byte `s` value.",examples:[`0x4b6aa3723402498e07fb1f071673bd969d9f49a286af15ac60581d07ade24b77`]}),type:Pi(`p256`).meta({description:`A P256 (secp256r1) signature.`})}).meta({description:`A P256 signature, with its public key.`}),M({pubKeyX:fM.meta({description:`The 32-byte x-coordinate of the passkey's P256 public key.`,examples:[`0xdae3e3e5faba0a2aca73d4d2a4b84ad46460f3f23af8a60b17b8a13537cfd440`]}),pubKeyY:fM.meta({description:`The 32-byte y-coordinate of the passkey's P256 public key.`,examples:[`0x816438c87ffd782cd0e37355eb83fbe1d4e5e905eaafa22fa27c32cc4abf7802`]}),r:fM.meta({description:"The signature's 32-byte `r` value.",examples:[`0x9da52cc71c005844434ce6996f7ea3b3262f84ec3a5d54f1d22d0bba9f2e5ea9`]}),s:fM.meta({description:"The signature's 32-byte `s` value.",examples:[`0x4b6aa3723402498e07fb1f071673bd969d9f49a286af15ac60581d07ade24b77`]}),type:Pi(`webAuthn`).meta({description:`A WebAuthn passkey signature.`}),webauthnData:fM.meta({description:"The assertion's authenticator data followed by its `clientDataJSON`, as hex.",examples:[`0xa7cb28053c8ee4e5394fc67a0018dc1c622dad5ce3591b8ca13094ae86d11ba605000000007b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a2271334a306257467a6157356e6247567a6157647559585231636d566b6157646c633352765a6d746c65574631644767222c226f726967696e223a2268747470733a2f2f617574682e74656d706f2e78797a222c2263726f73734f726967696e223a66616c73657d`]})}).meta({description:`A WebAuthn signature, with its public key.`})]).meta({description:`A signature by one key, as secp256k1, P256, or WebAuthn.`});e.rpc=M({account:pM.nullable().optional().meta({description:"The Tempo Account that the key is bound to (TIP-1049), or absent or `null`.",examples:[`0x9a073914db0d149375ac2b7fbb72c68c0780fb5f`]}),allowedCalls:na(M({selectorRules:na(M({recipients:na(pM).readonly().optional().meta({description:`The only recipients or spenders that the call can name. Absent to allow any address.`,examples:[[`0xff5deded16eb46018387144ff8bf41f26afb41af`]]}),selector:fM.meta({description:`The 4-byte selector of the function the key may call.`,examples:[`0xa9059cbb`]})})).readonly().optional().meta({description:`The functions that the key can call on the target. Absent to allow any function.`}),target:pM.meta({description:`The contract the key may call.`,examples:[`0x20c0000000000000000000006a37DA5C996874BE`]})})).readonly().optional().meta({description:`The calls that the key can make. Absent to allow any call.`}),chainId:fM.meta({description:`The chain ID the key acts on, as a hex quantity.`,examples:[`0xa5bf`]}),expiry:fM.nullable().optional().meta({description:"When the key expires, in Unix seconds, as a hex quantity. Absent or `null` if it never expires.",examples:[`0x6acdc1b4`]}),keyId:pM.meta({description:`The access key's address.`,examples:[`0x81c0f22bd173c115d18eeea0f6a38e935ecf52fb`]}),keyType:A().meta({description:"The signature scheme of the access key, or `multisig` for a configurable account key.",examples:[`secp256k1`]}),limits:na(M({limit:fM.meta({description:"The maximum amount of the token that the key can spend, in base units, as a hex quantity. With `period`, the maximum for each period.",examples:[`0x989680`]}),period:fM.optional().meta({description:"The seconds after which the limit resets, as a hex quantity. Absent or `0x0` for a one-time limit.",examples:[`0x15180`]}),token:pM.meta({description:`The TIP-20 token the limit applies to.`,examples:[`0x20c0000000000000000000006a37DA5C996874BE`]})})).readonly().optional().meta({description:`The spending limit for each token. Absent for no limit, and empty to allow no spending.`}),signature:pi([fM.meta({description:`A configurable account's RLP-encoded signature, which carries its owner approvals.`,examples:[`0xf8a094ff5deded16eb46018387144ff8bf41f26afb41afc0f87cf87a80a012fe6a88b99377b94d6a628a86b9df544202c7b03827f44b16ee1a266ab98e17a04b6aa3723402498e07fb1f071673bd969d9f49a286af15ac60581d07ade24b77`]}),t,M({keyId:pM.optional().meta({description:"The address of the access key that signed. Absent to recover it from `signature`.",examples:[`0x624f27c462b885a83c698cac444a106a8c519e25`]}),signature:t.meta({description:`The access key's own signature.`}),type:Pi(`keychain`).meta({description:`A signature by an access key for an account.`}),userAddress:pM.meta({description:`The Tempo Account the access key signs for.`,examples:[`0x9a073914db0d149375ac2b7fbb72c68c0780fb5f`]}),version:Fi([`v1`,`v2`]).optional().meta({description:"The keychain signature version, `v1` by default. `v2` binds the signature to `userAddress`.",examples:[`v2`]})}).meta({description:`An access key signature that wraps a primitive signature.`})]).meta({description:`The owner's signature envelope, in the node's format.`}),witness:hM.optional().meta({description:`The witness the signature binds, when the request sent one.`,examples:[`0xf1e22f902be2546fe35d49388503ef7ea5c6c0e95a0f4b89d474e58793b64dec`]})}).meta({description:`A signed key authorization (TIP-1011), in the node's RPC format.`,id:`KeyAuthorization`})})(vM||={});var yM=31536e3,bM=PA(mA.id).address,xM=Vj,SM=mA.id,CM={BRL:`5000`,BTC:`0.01`,CHF:`800`,EUR:`850`,GBP:`750`,USD:`1000`},wM=vA({addresses:{[mA.id]:`0x20c000000000000000000000f37de3740adec032`,[_A.id]:`0x20c000000000000000000000f37de3740adec032`},currency:`USD`,decimals:6,name:`MACH`,symbol:`MACH`}),TM=new Map([...QA.tempo,wM].flatMap(e=>xM.flatMap(t=>{let n=e.addresses,r=n[t.id]??(t.id===hA.id||t.id===gA.id?n[_A.id]:void 0)??(e.symbol===`OUSD`?n[mA.id]:void 0);if(!r)return[];let i=CM[e.currency??``]??CM.USD;return[[`${t.id}:${r.toLowerCase()}`,{address:ae(r),cap:Jt(i,e.decimals),currency:e.currency,decimals:e.decimals,symbol:e.symbol??r}]]}))),EM={approve:vu(`approve(address,uint256)`),transfer:vu(`transfer(address,uint256)`),transferWithMemo:vu(`transferWithMemo(address,uint256,bytes32)`)},DM={address:qt,open:zj.open,topUp:zj.topUp};function OM(e,t){let n=t.selector===void 0?void 0:VM(t.selector);return t.address.toLowerCase()===DM.address?n===DM.open||n===DM.topUp:!!BM(e,t.address)&&(n===EM.approve||n===EM.transfer||n===EM.transferWithMemo)}function kM(e,t){return t.challenge===void 0?e:{...e,witness:fe(t.challenge)}}function AM(e){let t=Math.floor(Date.now()/1e3);if(!e.chainId)return new $j({error_description:"Invalid `chainId`: 0. Use a Tempo chain ID, such as 4217.",field:`key_authorization.chainId`,meta:{chain_id:0}});let n=Number(e.chainId);if(!e.address&&!e.publicKey)return new aM({error_description:"Missing `address` or `publicKey`. Provide the access key.",field:`key_authorization.address`});if(e.address===`0x0000000000000000000000000000000000000000`)return new aM({error_description:"Invalid `address`: the zero address holds no key. Provide the address of the access key.",field:`key_authorization.address`});if(e.publicKey&&!WM(e.publicKey))return new nM({error_description:"Invalid `publicKey`. Provide an uncompressed public key, or `address`.",field:`key_authorization.publicKey`});if(!Number.isSafeInteger(e.expiry))return new eM({error_description:`Invalid \`expiry\`: ${e.expiry} is not a whole number of seconds. Use a future Unix time in seconds.`,field:`key_authorization.expiry`,meta:{expiry:e.expiry}});if(e.expiry===0)return new eM({error_description:"Invalid `expiry`: 0 never expires. Use a future Unix time.",field:`key_authorization.expiry`,meta:{expiry:0}});if(e.expiry<=t)return new Qj({error_description:`Invalid \`expiry\`: ${UM(e.expiry)} has passed. Use a future Unix time.`,field:`key_authorization.expiry`,meta:{expiry:e.expiry,now:t}});if(!e.limits.length)return new Yj({error_description:"Empty `limits`. Name at least one token, or omit `limits`.",field:`key_authorization.limits`});if(!e.scopes.length)return new Xj({error_description:"Empty `scopes`. Name at least one call, or omit `scopes`.",field:`key_authorization.scopes`});let r=new Set;for(let[t,i]of e.limits.entries()){if(r.has(i.token.toLowerCase()))return new qj({error_description:`Duplicate limit for ${i.token}. Limit each token once.`,field:`key_authorization.limits.${t}.token`,meta:{token:i.token}});r.add(i.token.toLowerCase());let a=BM(e,i.token);if(!a)return new uM({error_description:`Unsupported token on chain ${n}: ${i.token}. Use a supported token, such as OUSD.`,field:`key_authorization.limits.${t}.token`,meta:{chain_id:n,token:i.token}});if(i.period!==void 0&&(!Number.isSafeInteger(i.period)||i.period<0))return new tM({error_description:`Invalid \`period\` on the ${a.symbol} limit: ${i.period}. Use a whole number of seconds, or 0 for a one-time limit.`,field:`key_authorization.limits.${t}.period`,meta:{period:i.period,symbol:a.symbol,token:a.address}})}let i=new Set,a=new Map;for(let[t,n]of e.scopes.entries()){let r=BM(e,n.address);if(r&&!e.limits.some(e=>ke(e.token,n.address)))return new cM({error_description:`Scope on ${r.symbol} has no limit. Add a limit for it, or remove the scope.`,field:`key_authorization.scopes.${t}.address`,meta:{token:n.address}});let o=r?.symbol??n.address,s={...r?{symbol:r.symbol}:{},token:n.address},c=n.selector===void 0?void 0:VM(n.selector);if(n.selector!==void 0&&!c)return new lM({error_description:`Unsupported call on ${o}: the selector does not parse. Use a 4-byte selector or a function signature.`,field:`key_authorization.scopes.${t}.selector`,meta:s});if(!c&&zM(n.address))return new lM({error_description:`Unsupported call on ${o}: any function, which includes \`approve\` without spenders. Name each function in \`selector\`, such as \`transfer\`.`,field:`key_authorization.scopes.${t}.selector`,meta:s});if(c===EM.approve&&!n.recipients?.length)return new sM({error_description:`Missing \`recipients\` for \`approve\` on ${o}. Name the allowed spenders.`,field:`key_authorization.scopes.${t}.recipients`,meta:s});if(n.recipients?.length&&(!zM(n.address)||c!==EM.approve&&c!==EM.transfer&&c!==EM.transferWithMemo))return new rM({error_description:`Invalid \`recipients\` for ${c??`any function`} on ${o}. Remove \`recipients\`, since only \`transfer\`, \`transferWithMemo\`, and \`approve\` on a TIP-20 token take them.`,field:`key_authorization.scopes.${t}.recipients`,meta:s});let l=`${n.address.toLowerCase()}:${c??`any`}`;if(i.has(l))return new Jj({error_description:`Duplicate scope for ${c??`any function`} on ${o}. Name each call on a target once.`,field:`key_authorization.scopes.${t}.selector`,meta:{...c?{selector:c}:{},...s}});i.add(l);let u=c?`named`:`any`,d=a.get(n.address.toLowerCase());if(d&&d!==u)return new Jj({error_description:`Conflicting scopes on ${o}: one allows any function, and another names ${c??`a function`}. Keep the scope for any function, or name each function.`,field:`key_authorization.scopes.${t}.selector`,meta:{...c?{selector:c}:{},...s}});a.set(n.address.toLowerCase(),u);let f=new Set,p=(n.recipients??[]).findIndex(e=>{let t=e.toLowerCase();return t===`0x0000000000000000000000000000000000000000`||f.has(t)?!0:(f.add(t),!1)}),m=n.recipients?.[p];if(m)return new rM({error_description:`Invalid recipient ${m} for ${c} on ${o}. Name each recipient once, and never the zero address.`,field:`key_authorization.scopes.${t}.recipients.${p}`,meta:{recipient:m,...s}})}}(function(e){e.errors=[qj,Jj,Yj,Xj,Qj,$j,eM,tM,nM,rM,aM,sM,cM,lM,uM]})(AM||={});function jM(e){let{app:t,clientId:n,key:r}=e;if(r?.witness&&!t?.sign)return new Kj({clientId:n})}(function(e){e.errors=[Kj]})(jM||={});function MM(e){let t=typeof e==`object`&&e?{...e}:{},n=[`expiry`,`limits`,`scopes`].filter(e=>t[e]===void 0),[r]=n;if(!r)return;let i=n.map(e=>`\`${e}\``);return new oM({error_description:`Missing ${i.length===1?i[0]:i.length===2?`${i[0]} and ${i[1]}`:`${i.slice(0,-1).join(`, `)}, and ${i.at(-1)}`}. Name the expiry, limits, and scopes of the key, since a third-party app receives no defaults.`,field:`key_authorization.${r}`,meta:{missing:n.join(` `)}})}(function(e){e.errors=[oM]})(MM||={});function NM(e,t){let n=AM(e);if(n)return n;let r=e.scopes.findIndex(t=>!OM(e,t)),i=e.scopes[r];if(i&&!t.sign){let t=BM(e,i.address),n=i.selector===void 0?void 0:VM(i.selector);return new lM({error_description:`Unrecognized call on ${t?.symbol??i.address}: ${n??`any function`}. Authorize through a redirect or device grant, where the user approves it, or grant the app the \`${OD}\` scope.`,field:`key_authorization.scopes.${r}.selector`,meta:{...n?{selector:n}:{},...t?{symbol:t.symbol}:{},token:i.address}})}let a=Math.floor(Date.now()/1e3),o=Number(e.chainId);if(e.expiry>a+31536e3)return new Zj({error_description:`Invalid \`expiry\`: ${UM(e.expiry)} exceeds the one-year maximum. Use an earlier expiry, or authorize through a redirect or device grant.`,field:`key_authorization.expiry`,meta:{expiry:e.expiry,maximum:a+yM}});for(let[t,n]of e.limits.entries()){let r=BM(e,n.token),i=n.period?BigInt(Math.ceil((e.expiry-a)/n.period)):1n,s=n.limit*i;if(s>r.cap)return new iM({error_description:`Invalid ${r.symbol} limit: ${T(s,r.decimals)}${i>1n?` over ${i} periods before the key expires`:``} exceeds the ${T(r.cap,r.decimals)} maximum. ${i>1n?`Lower the limit or shorten the expiry`:`Lower the limit`}, or authorize through a redirect or device grant.`,field:`key_authorization.limits.${t}.limit`,meta:{chain_id:o,limit:s.toString(),maximum:r.cap.toString(),periods:Number(i),symbol:r.symbol,token:r.address}})}}(function(e){e.errors=[...AM.errors,Zj,iM]})(NM||={});function PM(e){let t=new Map;for(let n of e.limits){let r=BM(e,n.token),i=n.period??0,a=`${r.currency}\0${i}`,o=t.get(a);if(!o){t.set(a,{amount:n.limit,currency:r.currency,decimals:r.decimals,period:i,tokens:[{amount:T(n.limit,r.decimals),symbol:r.symbol}]});continue}o.tokens.push({amount:T(n.limit,r.decimals),symbol:r.symbol});let s=Math.max(o.decimals,r.decimals);o.amount=o.amount*10n**BigInt(s-o.decimals)+n.limit*10n**BigInt(s-r.decimals),o.decimals=s}return{account:e.account,calls:e.scopes.flatMap(e=>{if(e.address.toLowerCase()!==DM.address)return[];let t=e.selector===void 0?void 0:VM(e.selector);return t===DM.open?[{call:`open`}]:t===DM.topUp?[{call:`topUp`}]:[]}),expiry:e.expiry,limits:[...t.values()].map(e=>({amount:T(e.amount,e.decimals),currency:e.currency,...e.period?{period:e.period}:{},tokens:e.tokens})),unrecognized:e.scopes.filter(t=>!OM(e,t)).map(e=>{let t=e.selector===void 0?void 0:VM(e.selector);return{address:ae(e.address),...t?{selector:t}:{}}})}}function FM(e){let{account:t}=e,{key:n,...r}=HM(e.key),i=Nt({...r,address:n.address,type:n.type,...e.witness?{witness:e.witness}:{},...t?{account:t.address}:{}});return t?Gt({account:t.address,config:t.config,payload:i}):i}async function IM(e,t){let n=e.source===`configurable`&&`config`in e&&e.config?{config:e.config}:void 0;return We(await _t(e,{...HM(t.key),...n?{configurable:n}:{}}))}async function LM(e,t){let{account:n}=t,{metadata:r,signature:i}=$n(e),a=FM({account:n,key:t.key}),o=Vn(t.publicKey),s=ne({keyType:`webAuthn`,publicKey:o,sign(e){return e.hash===a?Promise.resolve($e({metadata:{authenticatorData:r.authenticatorData,clientDataJSON:r.clientDataJSON},publicKey:o,signature:i,type:`webAuthn`})):Promise.reject(Error(`The assertion signs another key authorization.`))}});if(!n)return await IM(s,{key:t.key});let c=n.config.owners.map(e=>({owner:ke(e.owner,s.address)?s:e.owner,weight:Number(e.weight)})),{salt:l,threshold:u,version:d}=n.config;return await IM(BigInt(d)===0n?D({owners:c,salt:l,threshold:Number(u)}):D({address:n.address,owners:c,salt:l,threshold:Number(u),version:d}),{key:t.key})}function RM(e){let t=e.chainId??BigInt(SM),n=[...new Map((e.scopes??[]).flatMap(e=>{let n=TM.get(`${t}:${e.address.toLowerCase()}`);return n?[[n.address,n]]:[]})).values()],r=e.limits??(n.length?n.map(e=>({limit:e.cap,token:e.address})):[{limit:TM.get(`${t}:${bM.toLowerCase()}`)?.cap??0n,token:bM}]),i=e.scopes??r.flatMap(e=>[EM.transfer,EM.transferWithMemo].map(t=>({address:e.token,selector:t})));return{...e,chainId:t,expiry:e.expiry??Math.floor(Date.now()/1e3)+31536e3,limits:r,scopes:i}}function zM(e){return e.toLowerCase().startsWith(`0x20c000000000000000000000`)}function BM(e,t){return TM.get(`${Number(e.chainId)}:${t.toLowerCase()}`)}function VM(e){if(/^0x[0-9a-fA-F]{8}$/.test(e))return e.toLowerCase();try{return vu(e)}catch{return}}function HM(e){return{chainId:e.chainId,expiry:e.expiry,key:{address:e.address??WM(e.publicKey),type:e.keyType??`secp256k1`},limits:e.limits,scopes:e.scopes,...e.witness?{witness:e.witness}:{}}}function UM(e){return new Date(e*1e3).toUTCString()}function WM(e){try{return he(Kn(e))}catch{return}}var GM=class extends q(`invalid_field`){name=`Validation.InvalidFieldError`;constructor(e){let{issues:t}=e;super({error_description:`Invalid request. ${t.map(e=>`${KM(e)?`\`${KM(e)}\``:`Body`}: ${e.message}.`).join(` `)}`,field:t[0]&&KM(t[0])?KM(t[0]):void 0})}};function KM(e){return(e.path??[]).map(e=>String(typeof e==`object`?e.key:e)).join(`.`)}var qM=class extends q(`invalid_origin`){name=`Authorize.InvalidOriginError`},JM=class extends q(`rejected`){name=`Authorize.RejectedError`;constructor(e={}){super({error_description:e.description??"Authorization request rejected. Check `client_id`, `redirect_uri`, and `scope` against the app's registration."})}},YM;(function(e){let t=e.tokens=M({access_token:A().meta({description:`The access token, a JWT that APIs verify against Tempo ID's JSON Web Key Set.`,examples:[`eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2VyIn0.c2lnbmF0dXJl`]}),expires_in:hi().meta({description:`Seconds until the access token expires.`,examples:[300]}),id_token:A().optional().meta({description:"The OIDC ID token, a JWT about the user. Absent without the `openid` scope.",examples:[`eyJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJhcHAifQ.c2lnbmF0dXJl`]}),refresh_token:A().optional().meta({description:"The refresh token, for new tokens at `/oauth2/token`. Absent without the `offline_access` scope.",examples:[`yAjhKk7QnRZ3vD9pLm2Xc8Ws5Tf1Ub4N`]}),token_type:A().meta({description:`The type of the access token (RFC 6749 §7.1).`,examples:[`Bearer`]})}).meta({description:`OAuth tokens for a public app.`,id:`Tokens`}),n=e.challenge=A().min(1).max(1024).optional().meta({description:"A message, such as a sign-in challenge, that the key authorization's `witness` binds (TIP-1053). Requires `key_authorization` and the `tempo-id:sign` scope.",examples:[`Sign in to app.example.com
405
- Nonce: 7f3a9c2e5b1d4f60`]});e.request=M({challenge:n,client_id:A().min(1).max(255).meta({description:`The app's client ID.`,examples:[`Qk3vT9xZbLmN2pRw8YcHjF6sDaE4uGtK`]}),code_challenge:A().regex(/^[\w-]{43}$/).optional().meta({description:`An S256 PKCE challenge (RFC 7636). With it, the response holds a code for the app's backend, and without it, tokens.`,examples:[`E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM`]}),key_authorization:vM.request,redirect_uri:Ci({protocol:/^(?!(?:blob|data|file|javascript|vbscript)$)[a-z][a-z\d+.-]*$/}).meta({description:`A registered redirect URI of the app, on the origin of the page.`,examples:[`https://app.example.com/callback`]}),scope:A().regex(/^[\w:.-]+( [\w:.-]+)*$/).max(256).optional().meta({description:"Space-separated OAuth scopes. Defaults to `openid`.",examples:[`openid email offline_access`]}),skip_upgrade:Li().optional().meta({description:"Whether to sign the key before a pending upgrade of a wallet.tempo passkey's account, in place of `upgrade_required`. The key then stops working after the upgrade, unless the upgrade registers it.",examples:[!0]}),state:A().min(1).max(256).optional().meta({description:`An opaque value that the response returns unchanged.`,examples:[`af0ifjsldkj`]})}).refine(e=>!e.challenge||e.key_authorization,{message:"A challenge requires `key_authorization`, whose witness binds it",path:[`challenge`]}).transform(e=>e.key_authorization?{...e,key_authorization:kM(e.key_authorization,{challenge:e.challenge})}:e).meta({description:`An app's headless authorization request.`,id:`AuthorizationRequest`}),e.redirect=M({challenge:n,key_authorization:vM.request}).refine(e=>!e.challenge||e.key_authorization,{message:"A challenge requires `key_authorization`, whose witness binds it",path:[`challenge`]}).transform(e=>e.key_authorization?kM(e.key_authorization,{challenge:e.challenge}):void 0),e.response=M({account:vM.account.optional(),code:A().optional().meta({description:"The authorization code, if the request sent a `code_challenge`. The app's backend redeems it at `/oauth2/token`.",examples:[`Vb7mQ2xLkP9sTzR4`]}),key_authorization:vM.rpc.optional(),state:A().optional().meta({description:"The request's `state`, unchanged.",examples:[`af0ifjsldkj`]}),tokens:t.optional().meta({description:"The tokens, if the request sent no `code_challenge`."}),upgrade_available:Pi(!0).optional().meta({description:"Present if `skip_upgrade` signed the key before a pending upgrade. Send the key to `POST /v1/account/upgrade` to keep it working after the upgrade."})}).meta({description:`An authorization: a code or tokens, with any signed key authorization.`,id:`Authorization`})})(YM||={});function XM(e,t){let{app:n,origin:r}=t;if(!n||!n.redirectUris.includes(e.redirect_uri))return new JM;if(!n.firstParty)return new JM({description:"Headless authorization refused: the app is not a first-party app. Send the user to `/oauth2/authorize`, and receive the code at the redirect URI."});if(n.type===`native`)return new JM({description:"Headless authorization refused: a native app's request does not prove which app sends it. Open `/oauth2/authorize` in an authentication sheet, and receive the code at the redirect URI."});let i=new URL(e.redirect_uri);if(r!==i.origin)return new qM({error_description:`Invalid \`Origin\`: ${r??`none`}. Requests for this redirect URI must come from ${i.origin}.`,field:`Origin`,meta:{expected:i.origin,...r?{origin:r}:{}}});let a=e.key_authorization;if(a)return n.secret?new JM({description:`Key authorization refused: the app holds a client secret, which a headless request does not prove. Authorize the key through a redirect or the device grant.`}):NM(a,{sign:n.sign})??jM({app:n,clientId:e.client_id,key:a})}(function(e){e.errors=[...NM.errors,...jM.errors,qM,JM]})(XM||={});function ZM(e){let{app:t,clientId:n,codeChallenge:r,key:i,query:a}=e;return r?(BD(n)?MM(nN(a.get(`key_authorization`)??``)):void 0)??AM(i)??jM({app:t,clientId:n,key:i}):new JM({description:"Key authorization refused: the request names no `code_challenge`, whose verifier receives the key. Send an S256 `code_challenge`."})}(function(e){e.errors=[...AM.errors,...MM.errors,...jM.errors,JM]})(ZM||={});function QM(e){let t=tN.find(t=>e.getAll(t).length>1);if(t)return new GM({issues:[{message:`Repeated parameter. Send it once`,path:[t]}]});let n=e.get(`key_authorization`),r=YM.redirect.safeParse({challenge:e.get(`challenge`)??void 0,key_authorization:n===null?void 0:nN(n)});return r.success?r.data:new GM({issues:r.error.issues})}function $M(e){if(!e.has(`key_authorization`))return e;let t=new URLSearchParams(e),n=new Set((t.get(`prompt`)??``).split(` `).filter(Boolean));n.add(`consent`),t.set(`prompt`,[...n].join(` `));let[r,...i]=t.getAll(`key_authorization`),a=r&&!i.length?nN(r):void 0;return!BD(t.get(`client_id`)??``)&&typeof a==`object`&&a&&!Array.isArray(a)&&!(`expiry`in a)&&t.set(`key_authorization`,Wn(JSON.stringify({...a,expiry:Math.floor(Date.now()/1e3)+yM}),eN)),t}var eN={pad:!1,url:!0},tN=[`challenge`,`key_authorization`];function nN(e){try{return JSON.parse(Gn(e))}catch{return null}}var rN=class extends q(`already_decided`){name=`Device.AlreadyDecidedError`;constructor(){super({error_description:`Code already approved or denied.`,field:`code`})}},iN=class extends q(`unknown_code`){name=`Device.UnknownCodeError`;constructor(){super({error_description:`Invalid or expired code. Check the code in the terminal.`,field:`code`})}},aN=`openid email offline_access`,oN=`BCDFGHJKLMNPQRSTVWXZ`;async function sN(e,t){return(await e.update(cE).set({userId:t.userId}).where(ZC(U(cE.id,t.id),U(cE.status,`pending`),ow(cE.userId),ew(cE.expiresAt,new Date))).returning({id:cE.id})).length>0}async function cN(e,t){let n=await fN(e,t);if(n&&n.status===`pending`&&!n.userId)return n.clientId}async function lN(e,t){let{challenge:n,device:r,deviceCode:i,expiresAt:a,ip:o,location:s}=t,c=t.key?JSON.parse(JSON.stringify(t.key,(e,t)=>typeof t==`bigint`?k(t):t)):null,l=e.select({id:cE.id}).from(cE).where(U(cE.deviceCode,i));await e.insert(kE).values({challenge:n,device:r,expiresAt:a,id:V`(${l})`,ip:o,key:c,location:s})}async function uN(e,t){return(await e.update(cE).set({status:t.status}).where(ZC(U(cE.id,t.id),U(cE.status,`pending`),U(cE.userId,t.userId),ew(cE.expiresAt,new Date))).returning({id:cE.id})).length>0}function dN(e){return`${e.slice(0,4)}-${e.slice(4)}`}async function fN(e,t){let[n]=await e.select({appName:W.name,challenge:kE.challenge,clientId:cE.clientId,createdAt:kE.createdAt,device:kE.device,expiresAt:cE.expiresAt,id:cE.id,ip:kE.ip,key:kE.key,location:kE.location,status:cE.status,userCode:cE.userCode,userId:cE.userId}).from(cE).leftJoin(kE,U(kE.id,cE.id)).leftJoin(W,U(W.clientId,cE.clientId)).where(ZC(U(cE.userCode,t.userCode),ew(cE.expiresAt,new Date)));if(!n?.clientId)return;let r=n.key?YM.redirect.parse({challenge:n.challenge??void 0,key_authorization:n.key}):void 0;return{...n.appName?{appName:n.appName}:{},...n.challenge?{challenge:n.challenge}:{},clientId:n.clientId,createdAt:n.createdAt??new Date(n.expiresAt.getTime()-6e5),...n.device?{device:n.device}:{},id:n.id,...n.ip?{ip:n.ip}:{},...r?{key:r}:{},...n.location?{location:n.location}:{},status:bN(n.status),userCode:dN(n.userCode),...n.userId?{userId:n.userId}:{}}}async function pN(e,t){let{id:n,key:r,userId:i}=t;return(await e.update(kE).set({account:r.account,keyAuthorization:r.keyAuthorization}).where(ZC(U(kE.id,n),ow(kE.keyAuthorization),cw(e.select({id:cE.id}).from(cE).where(ZC(U(cE.id,n),U(cE.status,`pending`),U(cE.userId,i),ew(cE.expiresAt,new Date)))))).returning({id:kE.id})).length>0}async function mN(e,t){let{id:n,key:r}=t;await e.update(kE).set({account:null,keyAuthorization:null}).where(ZC(U(kE.id,n),V`${kE.keyAuthorization} = ${JSON.stringify(r.keyAuthorization)}::jsonb`,cw(e.select({id:cE.id}).from(cE).where(ZC(U(cE.id,n),U(cE.status,`pending`))))))}async function hN(e,t){let[n]=await e.select({clientId:cE.oauthClientId,id:cE.id}).from(cE).where(U(cE.deviceCode,t.deviceCode));return n}function gN(e){let t=e.toUpperCase().replace(/[^A-Z]/g,``);if(!(t.length!==8||[...t].some(e=>!oN.includes(e))))return t}var _N=`/device`;function vN(e,t){if(!e||!e.startsWith(`/`)||/^\/[/\\]/.test(e))return;let n=new URL(t.origin),r=URL.parse(e,n);if(!r||r.origin!==n.origin||r.pathname!==`/device`||r.hash)return;let i=[...r.searchParams.keys()];if(i.length===0)return _N;let[a]=i;if(i.length>1||a!==`code`&&a!==`user_code`)return;let o=gN(r.searchParams.get(a)??``);if(o)return`${_N}?${new URLSearchParams({code:dN(o)})}`}async function yN(e,t){let[n]=await e.delete(kE).where(U(kE.id,t.id)).returning({account:kE.account,keyAuthorization:kE.keyAuthorization});if(n?.account&&n.keyAuthorization)return{account:n.account,keyAuthorization:n.keyAuthorization}}function bN(e){return e===`approved`||e===`denied`?e:`pending`}var xN=`BCDFGHJKLMNPQRSTVWXZ`,SN=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`;function CN(){return`user_${TN()}`}function wN(){let e=[];for(;e.length<8;)for(let t of crypto.getRandomValues(new Uint8Array(16)))t<240&&e.length<8&&e.push(xN[t%20]);return e.join(``)}function TN(){let e=Date.now();return Array.from({length:10},(t,n)=>{let r=5*(9-n);return SN[Math.floor(e/2**r)%32]}).join(``)+Array.from(crypto.getRandomValues(new Uint8Array(16)),e=>SN[e%32]).join(``)}function EN(e){return e.configurable?.owner.account.address??DN(e)}function DN(e){return AN(e)?.address??e.account.owners[0].address}function ON(e){return e}function kN(e){return e}function AN(e){return e.configurable?.owner===e?e.account:void 0}function jN(e,t){let{configurable:n}=e;return n&&t.chainId!==void 0&&Number(t.chainId)===n.chainId?n.owner:e}function MN(e){let t=e=>Math.floor(e.getTime()/1e3),n=e.map(()=>0),r=[];for(;;){let i=e.reduce((r,i,a)=>{let o=i[n[a]];if(!o)return r;if(r===void 0)return a;let s=e[r][n[r]];return t(o.createdAt)<t(s.createdAt)?a:r},void 0);if(i===void 0)return r;r.push(e[i][n[i]]),n[i]=n[i]+1}}async function NN(e,t){await e.execute(V`select pg_advisory_xact_lock(hashtextextended(${`tempo-account:${t.userId}`}, 0))`)}async function PN(e,t){let{expiresAt:n,identifier:r,others:i=[],value:a}=t,o=new Date,s=e.select({id:G.id}).from(G).where(ZC(iw(G.identifier,[r,...i]),ew(G.expiresAt,o))),[c]=await e.insert(G).select(V`select ${o.toISOString()}::timestamp, ${n.toISOString()}::timestamp, ${r}, ${r}, ${o.toISOString()}::timestamp, ${a} where not exists (${s})`).onConflictDoUpdate({set:{createdAt:o,expiresAt:n,updatedAt:o,value:a},setWhere:rw(G.expiresAt,o),target:G.id}).returning({id:G.id});return c!==void 0}var FN=class extends q(`passkey_limit`){name=`Passkey.LimitError`;constructor(){super({error_description:`Passkey limit reached: the user holds 10 registered passkeys, the most that Tempo ID registers. Sign in with one of them.`,meta:{limit:10}})}},IN=class extends q(`passkey_link_expired`){name=`Passkey.LinkExpiredError`;constructor(){super({error_description:`Expired passkey sign-in: the link from the passkey step is no longer valid. Enter the code again to sign in with email only, or sign in with the passkey again.`,field:`link`})}},LN=class extends q(`passkey_not_permitted`){name=`Passkey.NotPermittedError`;constructor(e={}){let{clientId:t,origin:n}=e;super(t&&n?{error_description:`Passkey not permitted: no realm of the app ${t} holds passkeys for ${n}. Sign in with an emailed code.`,meta:{client_id:t,origin:n}}:t?{error_description:`Passkey not permitted: the app ${t} holds no passkeys. Sign in with an emailed code.`,meta:{client_id:t}}:n?{error_description:`Passkey not permitted: no realm holds passkeys for ${n}. Serve the page on the domain of the relying party, or one of its subdomains.`,meta:{origin:n}}:{error_description:`Passkey not permitted: no realm holds passkeys for this sign-in. Sign in with an emailed code.`})}},RN=class extends q(`reauthentication_required`){name=`Passkey.ReauthenticationRequiredError`;constructor(){super({error_description:`Sign in again: adding a passkey needs a sign-in within the last 10 minutes.`})}},zN=class extends q(`passkey_register_not_permitted`){name=`Passkey.RegisterNotPermittedError`;constructor(e){let{origin:t}=e;super({error_description:`Passkey registration not permitted: no app at ${t} holds the \`${OD}\` scope. Register the passkey on Tempo ID, or grant the app the scope.`,meta:{origin:t,scope:OD}})}},BN=class extends q(`webauthn_rejected`){name=`Passkey.WebAuthnRejectedError`;constructor(){super({error_description:`Passkey rejected. Request new options, then try again with the same passkey or another one.`})}},VN=`passkey-challenge:`,HN=`passkey-registration-proof:`,UN=`passkey-registration:`,WN=`passkey-signature:`,GN=yM,KN=`passkey-signature-spent:`,qN=`passkey-sign-in-spent:`,JN=!1,YN;(function(e){let t=A().regex(/^[A-Za-z0-9_-]+$/),n=Gi([`0x`,A().regex(/^[0-9a-fA-F]*$/)]),r=e.credentialId=t.min(1).max(1364);e.assertion=M({id:r.meta({description:`The credential ID of the passkey that signed, base64url.`,examples:[`KEbWNCc7NgaYnUyrNeFGX9_3Y-8`]}),metadata:M({authenticatorData:n.meta({description:`The authenticator data the passkey signed, as hex: the relying party ID hash, flags, and signature counter.`,examples:[`0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000`]}),challengeIndex:hi().int().nonnegative().optional().meta({description:'The character offset of `"challenge"` in `clientDataJSON`. Absent to search for it.',examples:[23]}),clientDataJSON:A().max(4096).meta({description:`The client data the browser collected, as a JSON string, which holds the type, challenge, and origin.`,examples:[`{"type":"webauthn.get","challenge":"9jEFijuhEWrM4SOW-tChJbUEHEP44VcjcJ-Bqo1fTM8","origin":"https://id.tempo.xyz","crossOrigin":false}`]}),typeIndex:hi().int().nonnegative().optional().meta({description:'The character offset of `"type"` in `clientDataJSON`. Absent to search for it.',examples:[1]}),userVerificationRequired:Li().optional().meta({description:`Whether the client required user verification. Ignored, since Tempo ID always requires it.`,examples:[!0]})}).meta({description:`The signed data, decoded from the browser's response.`}),raw:M({authenticatorAttachment:A().nullable().default(null).meta({description:"How the authenticator connects, such as `platform` or `cross-platform`, or `null`.",examples:[`platform`]}),id:t.meta({description:`The credential ID, base64url, as the browser returns it.`,examples:[`KEbWNCc7NgaYnUyrNeFGX9_3Y-8`]}),rawId:t.meta({description:`The bytes of the credential ID, base64url.`,examples:[`KEbWNCc7NgaYnUyrNeFGX9_3Y-8`]}),response:M({clientDataJSON:t.meta({description:`The client data JSON, base64url.`,examples:[`eyJ0eXBlIjoid2ViYXV0aG4uZ2V0IiwiY2hhbGxlbmdlIjoiOWpFRmlqdWhFV3JNNFNPVy10Q2hKYlVFSEVQNDRWY2pjSi1CcW8xZlRNOCIsIm9yaWdpbiI6Imh0dHBzOi8vaWQudGVtcG8ueHl6IiwiY3Jvc3NPcmlnaW4iOmZhbHNlfQ`]})}).meta({description:"The authenticator's response, of which Tempo ID reads only `clientDataJSON`."}),type:A().meta({description:`The credential type.`,examples:[`public-key`]})}).meta({description:"The `PublicKeyCredential` that `navigator.credentials.get()` returns, serialized as JSON."}),signature:n.meta({description:"The P-256 signature over the authenticator data and the client data hash, as 64-byte hex: `r` then `s`.",examples:[`0x6c3f1e0a9b7d24f58e1c3a6b9d0f2e4a7c5b8d1e3f6a9c2b4d7e0f1a3c5b8d9e1f2a7c4b6d8e0f3a5c7b9d1e4f6a8c0b2d5e7f9a1c3b6d8e0f2a4c7b9d1e3f5a`]})}).meta({description:"The result of `navigator.credentials.get()`, as `webauthx/client` serializes it.",id:`PasskeyAssertion`}),e.clientData=M({challenge:t,crossOrigin:Li().optional()}),e.credential=M({attestationObject:t.max(16384).meta({description:`The authenticator's attestation object, base64url, which holds the new public key.`,examples:[`o2NmbXRkbm9uZWdhdHRTdG10oGhhdXRoRGF0YVjF`]}),clientDataJSON:t.max(4096).meta({description:`The client data the browser collected, base64url, which holds the type, challenge, and origin.`,examples:[`eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiOWpFRmlqdWhFV3JNNFNPVy10Q2hKYlVFSEVQNDRWY2pjSi1CcW8xZlRNOCIsIm9yaWdpbiI6Imh0dHBzOi8vaWQudGVtcG8ueHl6IiwiY3Jvc3NPcmlnaW4iOmZhbHNlfQ`]}),id:r.meta({description:`The credential ID of the new passkey, base64url.`,examples:[`KEbWNCc7NgaYnUyrNeFGX9_3Y-8`]}),publicKey:Gi([`0x`,A().regex(/^04[0-9a-fA-F]{128}$/)]).meta({description:"The new passkey's uncompressed P256 public key, as hex. Ignored, since Tempo ID reads the key from `attestationObject`.",examples:[`0x04f6310589abb21116acc6e123967ed0a125b5041c43f8e157237093e07eaa354c6c3f1e0a9b7d24f58e1c3a6b9d0f2e4a7c5b8d1e3f6a9c2b4d7e0f1a3c5b8d`]}),raw:M({authenticatorAttachment:A().nullable().default(null).meta({description:"How the authenticator connects, such as `platform` or `cross-platform`, or `null`.",examples:[`platform`]}),id:t.max(1364).meta({description:`The credential ID, base64url, as the browser returns it.`,examples:[`KEbWNCc7NgaYnUyrNeFGX9_3Y-8`]}),rawId:t.max(1364).meta({description:`The bytes of the credential ID, base64url.`,examples:[`KEbWNCc7NgaYnUyrNeFGX9_3Y-8`]}),response:M({clientDataJSON:t.max(4096).meta({description:`The client data JSON, base64url.`,examples:[`eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiOWpFRmlqdWhFV3JNNFNPVy10Q2hKYlVFSEVQNDRWY2pjSi1CcW8xZlRNOCIsIm9yaWdpbiI6Imh0dHBzOi8vaWQudGVtcG8ueHl6IiwiY3Jvc3NPcmlnaW4iOmZhbHNlfQ`]})}).meta({description:"The authenticator's response, of which Tempo ID reads only `clientDataJSON`."}),type:A().max(32).meta({description:`The credential type.`,examples:[`public-key`]})}).meta({description:"The `PublicKeyCredential` that `navigator.credentials.create()` returns, serialized as JSON."})}).meta({description:"The result of `navigator.credentials.create()`, as `webauthx/client` serializes it.",id:`PasskeyCredential`}),e.link=M({address:A(),createdAt:hi().nullable(),expiresAt:hi(),host:A(),id:A(),nonce:A(),publicKey:Gi([`0x`,A()]),rpId:A()}),e.proof=M({id:A(),origin:A().optional(),publicKey:n,rpId:A()}),e.registration=M({origin:A().optional(),rpId:A()}),e.signature=M({account:A(),clientId:A(),credential:M({id:A(),publicKey:n,rpId:A()})});let i=e.step=M({step:M({options:M({publicKey:M({allowCredentials:na(M({id:r.meta({description:`The credential ID of the account's passkey, base64url.`,examples:[`KEbWNCc7NgaYnUyrNeFGX9_3Y-8`]}),type:Pi(`public-key`).meta({description:`The credential type.`})}).meta({description:`The passkey that must sign.`})).meta({description:`The account's passkey, which is the only passkey that the browser offers.`}),challenge:Gi([`0x`,A()]).meta({description:`The key authorization's digest, as hex, which expires after 5 minutes.`,examples:[`0xf6310589abb21116acc6e123967ed0a125b5041c43f8e157237093e07eaa354c`]}),rpId:A().meta({description:`The relying party ID of the account's passkey.`,examples:[`tempo.xyz`]}),userVerification:Pi(`required`).meta({description:`Requires user verification, such as a biometric or PIN.`})}).meta({description:"The `PublicKeyCredentialRequestOptions`, with the challenge as hex."})}).meta({description:"The argument for `navigator.credentials.get()`."}),type:Pi(`passkey`).meta({description:"Sign the challenge with the passkey, then repeat the request with `passkey: { assertion }`."})}).meta({description:`The next step: the passkey's signature of the key authorization.`})}).meta({description:`An approval that waits for the passkey to sign the key.`,id:`PasskeyStep`});e.headlessStep=M({expiry:hi().int().meta({description:"The key's expiry, in Unix seconds. Send it as `key_authorization.expiry` in the repeat, so the digest stays the same.",examples:[1791869364]}),step:i.shape.step.extend({type:Pi(`passkey`).meta({description:"Sign the challenge with the passkey, then repeat `POST /v1/authorize` with `passkey: { assertion }`."})}).meta({description:`The next step: the passkey's signature of the key authorization.`})}).meta({description:`A headless authorization that waits for the account's passkey to sign the key.`,id:`HeadlessPasskeyStep`}),e.user=M({createdAt:Vi(),email:A(),emailVerified:Li(),id:A(),image:A().nullable(),name:A(),updatedAt:Vi()}),e.value=M({authorize:Wi().optional(),clientId:A().nullable(),link:A().optional(),origin:A().optional(),realmId:A().optional(),rpId:A(),witness:Gi([`0x`,A()]).optional()})})(YN||={});async function XN(e,t){let n=(t.keyChallenge?.digest??xn(crypto.getRandomValues(new Uint8Array(32)))).toLowerCase(),r=VN+n,i={expiresAt:new Date(Date.now()+3e5),id:crypto.randomUUID(),identifier:r,value:JSON.stringify(YN.value.parse({authorize:t.authorize,clientId:t.clientId,link:t.link,origin:t.origin,realmId:t.realmId,rpId:t.rpId,witness:t.keyChallenge?.witness}))};return t.keyChallenge?await PN(e,i)?n:void 0:(await e.insert(G).values(i),n)}function ZN(e){let{app:t,clientId:n,origin:r}=e;if(!n)return new qM({error_description:`Invalid \`Origin\`: ${r??`none`}. A passkey sign-in from an app's page sends the app's \`client_id\`.`,field:`Origin`,...r?{meta:{origin:r}}:{}});if(!t||!t.firstParty)return new JM({description:`Passkey sign-in refused: ${n} is not a first-party app. Send the user to \`/oauth2/authorize\`, which offers passkey sign-in.`});if(t.type===`native`)return new JM({description:"Passkey sign-in refused: a native app's request does not prove which app sends it. Open `/oauth2/authorize` in an authentication sheet."});let i=t.redirectUris.flatMap(e=>{let t=URL.parse(e);return t?.protocol===`https:`||t?.protocol===`http:`?[t.origin]:[]});if(!r||!i.includes(r))return new qM({error_description:`Invalid \`Origin\`: ${r??`none`}. Passkey sign-in for ${n} must come from the origin of one of its redirect URIs.`,field:`Origin`,...r?{meta:{origin:r}}:{}})}(function(e){e.errors=[qM,JM]})(ZN||={});function QN(e){try{let t=YN.clientData.parse(JSON.parse(e.clientDataJSON));return or(t.challenge)}catch{return}}async function $N(e,t){let[n]=await e.select().from(jE).where(ZC(U(jE.id,t.id),U(jE.rpId,t.rpId)));return n}async function eP(e,t){let{credential:n,id:r,rpId:i,userId:a}=t;return await e.transaction(async e=>{await NN(e,{userId:a}),await e.insert(NE).values({realmId:`default`,rpId:i}).onConflictDoNothing();let[t]=await e.insert(jE).values({address:n.address.toLowerCase(),...n.createdAt===null?{}:{createdAt:new Date(n.createdAt)},id:r,publicKey:n.publicKey,rpId:i,source:`tempo-wallet`,type:`passkey`,userId:a}).onConflictDoNothing().returning({userId:jE.userId});return t?t.userId:(await $N(e,{id:r,rpId:i}))?.userId})}async function tP(e){let t=new TextEncoder,n=await crypto.subtle.importKey(`raw`,t.encode(e),`HKDF`,!1,[`deriveBits`]),r=await crypto.subtle.deriveBits({hash:`SHA-256`,info:t.encode(`tempo-id:passkey-link:v1`),name:`HKDF`,salt:new Uint8Array},n,256);return xn(new Uint8Array(r))}async function nP(e,t){return await e.select({id:jE.id,registered:V`(${oP(t)})`,rpId:jE.rpId}).from(jE).where(U(jE.userId,t.userId)).orderBy(gw(jE.createdAt),gw(jE.id))}function rP(){return{endpoints:{signInPasskey:Ts.serverOnly({body:M({oauth_query:A().optional(),user:YN.user.optional(),userId:A()}),method:`POST`},async e=>{let{user:t,userId:n}=e.body,r=t?.id===n?t:await e.context.internalAdapter.findUserById(n);if(!r)throw Error(`The passkey user is missing.`);let i=await e.context.internalAdapter.createSession(r.id);return await Ga(e,{session:i,user:r}),e.json({user:{email:r.email,id:r.id}})})},id:`tempo-id-passkey`}}async function iP(e,t){let[n]=await e.select({count:V`count(*)::int`}).from(jE).where(oP(t));return n?.count??0}async function aP(e,t){let{id:n,publicKey:r,rpId:i,userId:a}=t;return await e.transaction(async e=>{await NN(e,{userId:a});let t=e.$with(`counted`).as(e.select({count:V`count(*)::int`.as(`count`)}).from(jE).where(oP({userId:a}))),o=e.$with(`stored`).as(e.insert(NE).select(V`select now(), 'default', ${i} from ${t} where ${t.count} < ${10}`).onConflictDoNothing().returning({rpId:NE.rpId})),s=e.select({rpId:NE.rpId}).from(NE).where(U(NE.realmId,`default`)).for(`update`),[c]=await e.with(t,o).select({count:t.count,rpId:V`coalesce((select ${o.rpId} from ${o}), (${s}))`}).from(t);if((c?.count??0)>=10)return`limit`;if((c?.rpId?{rpId:c.rpId}:(await s)[0])?.rpId!==i)return`stale`;let[l]=await e.insert(jE).values({address:he(Vn(r)).toLowerCase(),id:n,publicKey:r,rpId:i,source:`tempo-id`,type:`passkey`,userId:a}).onConflictDoNothing().returning({id:jE.id});return l?`stored`:`held`})}function oP(e){return ZC(iw(jE.source,[`registered`,`tempo-id`]),sw(jE.address),U(jE.userId,e.userId))}function sP(e,t){let n=[t.origin,t.page].flatMap(e=>e?[new URL(e).hostname]:[]);for(let t of e){let e=t.passkeys?.rpId;if(e!==void 0&&n.every(t=>t===e||t.endsWith(`.${e}`)))return{realmId:t.id,rpId:e}}}async function cP(e,t){let{credential:n,origin:r,rpId:i,userId:a}=t,o=xn(crypto.getRandomValues(new Uint8Array(32)));return await e.insert(G).values({expiresAt:new Date(Date.now()+3e5),id:crypto.randomUUID(),identifier:uP({challenge:o,prefix:HN,userId:a}),value:JSON.stringify(YN.proof.parse({...n,origin:r,rpId:i}))}),o}async function lP(e,t){let n=xn(crypto.getRandomValues(new Uint8Array(32)));return await e.insert(G).values({expiresAt:new Date(Date.now()+3e5),id:crypto.randomUUID(),identifier:uP({challenge:n,prefix:UN,userId:t.userId}),value:JSON.stringify(YN.registration.parse({origin:t.origin,rpId:t.rpId}))}),n}function uP(e){return e.prefix+JSON.stringify([e.userId,e.challenge.toLowerCase()])}async function dP(e,t){let{account:n,clientId:r,credential:i,digest:a,userId:o}=t;await e.insert(G).values({expiresAt:new Date(Date.now()+3e5),id:crypto.randomUUID(),identifier:xP({account:n,clientId:r,credentialId:i.id,digest:a,userId:o}),value:JSON.stringify(YN.signature.parse({account:n.toLowerCase(),clientId:r,credential:i}))})}async function fP(e,t){return await Qo({data:JSON.stringify(YN.link.parse(e)),key:await tP(t.secret)})}async function pP(e,t){let n=QN(t);if(!n)return;let[r]=await e.delete(G).where(ZC(U(G.identifier,VN+n.toLowerCase()),ew(G.expiresAt,new Date))).returning({value:G.value});if(r)return mP(r.value,{challenge:n})}function mP(e,t){let n=YN.value.parse(JSON.parse(e));return{authorize:n.authorize,challenge:t.challenge,clientId:n.clientId,link:n.link,origin:n.origin,realmId:n.realmId,rpId:n.rpId,witness:n.witness}}async function hP(e,t){let n=QN(t);if(!n)return;let r=e.$with(`spent`).as(e.delete(G).where(ZC(U(G.identifier,VN+n.toLowerCase()),ew(G.expiresAt,new Date))).returning({value:G.value})),[i]=await e.with(r).select({key:{id:jE.id,publicKey:jE.publicKey,userId:jE.userId},user:wE,value:r.value}).from(r).leftJoin(jE,ZC(U(jE.id,t.id),U(jE.rpId,V`(${r.value})::jsonb ->> 'rpId'`))).leftJoin(wE,U(wE.id,jE.userId));if(i)return{challenge:mP(i.value,{challenge:n}),key:i.key&&i.user?{...i.key,user:i.user}:void 0}}async function gP(e,t){let n=(()=>{try{let e=YN.clientData.parse(JSON.parse(t.clientDataJSON));return or(e.challenge)}catch{return}})();if(!n)return;let[r]=await e.delete(G).where(ZC(U(G.identifier,uP({challenge:n,prefix:HN,userId:t.userId})),ew(G.expiresAt,new Date))).returning({value:G.value});if(!r)return;let i=YN.proof.parse(JSON.parse(r.value));return{challenge:n,id:i.id,origin:i.origin,publicKey:i.publicKey,rpId:i.rpId}}async function _P(e,t){let n=(()=>{try{let e=YN.clientData.parse(JSON.parse(Gn(t.clientDataJSON)));return or(e.challenge)}catch{return}})();if(!n)return;let[r]=await e.delete(G).where(ZC(U(G.identifier,uP({challenge:n,prefix:UN,userId:t.userId})),ew(G.expiresAt,new Date))).returning({value:G.value});if(!r)return;let i=YN.registration.parse(JSON.parse(r.value));return{challenge:n,origin:i.origin,rpId:i.rpId}}async function vP(e,t){let n=SP(t),r=qN+n.slice(24);return await e.transaction(async e=>(await e.execute(V`select pg_advisory_xact_lock(hashtextextended(${n}, 0))`),await PN(e,{expiresAt:new Date(Math.min(Math.max(t.expiry*1e3,Date.now()+3e5),Date.now()+GN*1e3)),identifier:r,others:[n],value:`{}`})))}async function yP(e,t){let n=SP(t);return await e.transaction(async e=>(await e.execute(V`select pg_advisory_xact_lock(hashtextextended(${n}, 0))`),await PN(e,{expiresAt:new Date(Math.min(Math.max(t.expiry*1e3,Date.now()+3e5),Date.now()+GN*1e3)),identifier:n,value:`{}`})))}async function bP(e,t){let n=(()=>{try{let e=YN.clientData.parse(JSON.parse(t.clientDataJSON));return or(e.challenge)}catch{return}})();if(!n)return;let r=SP(t);return await e.transaction(async e=>{await e.execute(V`select pg_advisory_xact_lock(hashtextextended(${r}, 0))`);let[i]=await e.select({id:G.id}).from(G).where(ZC(U(G.identifier,r),ew(G.expiresAt,new Date))),[a]=await e.delete(G).where(ZC(U(G.identifier,xP({...t,digest:n})),ew(G.expiresAt,new Date))).returning({value:G.value});if(!a||i)return;let o={...YN.signature.parse(JSON.parse(a.value)),digest:n};if(t.verify(o))return await e.insert(G).values({expiresAt:new Date(Math.min(Math.max(t.expiry*1e3,Date.now()+3e5),Date.now()+GN*1e3)),id:crypto.randomUUID(),identifier:r,value:`{}`}),o})}function xP(e){return WN+JSON.stringify([e.userId,e.clientId,e.account.toLowerCase(),e.credentialId,e.digest.toLowerCase()])}function SP(e){return KN+Hn(yn(e.authenticatorData,e.signature))}async function CP(e,t){let n=await hs({data:e,key:await tP(t.secret)}).then(e=>YN.link.safeParse(JSON.parse(e))).catch(()=>void 0);if(n?.success&&n.data.host===t.host&&!(n.data.expiresAt<=Date.now()/1e3))return n.data}function wP(){JN||=(ar.utils.precompute(4),!0)}function TP(e,t){wP();try{return!YN.clientData.parse(JSON.parse(e.metadata.clientDataJSON)).crossOrigin&&em({...e,metadata:{...e.metadata,userVerificationRequired:!0}},{challenge:t.challenge,origin:t.origin,publicKey:t.publicKey,rpId:t.rpId})}catch{return!1}}function EP(e,t){try{if(YN.clientData.parse(JSON.parse(Gn(e.clientDataJSON))).crossOrigin)return;let n=im(e,{attestation:`none`,challenge:t.challenge,origin:t.origin,rpId:t.rpId,userVerification:`required`});return{id:n.credential.id,publicKey:n.credential.publicKey}}catch{return}}var DP=class extends q(`authorization_expired`){name=`Auth.AuthorizationExpiredError`;constructor(){super({error_description:`Expired authorization request: the request from the app is no longer valid. Return to the app, and start again.`,field:`oauth_query`})}},OP=class extends q(`invalid_code`){name=`Auth.InvalidCodeError`;constructor(){super({error_description:`Invalid or expired code. Request a new one.`,field:`code`})}},kP=class extends q(`session_changed`){name=`Auth.SessionChangedError`;constructor(){super({error_description:`Changed session: the signed-in account differs from the one that this page showed. Reload the page, and check the account before the decision.`,field:`session_id`})}},AP=class extends q(`session_required`){name=`Auth.SessionRequiredError`;constructor(){super({error_description:`Sign in first.`})}},jP=class extends q(`sign_up_not_permitted`){name=`Auth.SignUpNotPermittedError`;constructor(e){let t=e.domains.join(` or `);super({error_description:`Sign-up not permitted: new accounts need an address at ${t}. Sign in with an existing account, or with an address at ${t}.`,field:`email`,meta:{domains:e.domains.join(`,`)}})}},MP=`tempo-id-session`;function NP(e){let{accounts:t,accountStep:n,baseURL:r,cache:i,db:a,metadataFetch:o,pendingKey:s,secret:c,sendCode:l,sessionCreated:u,signUpDomains:d,userCreated:f,waitUntil:p}=e;return{advanced:{backgroundTasks:{handler:p},cookies:{session_token:{name:MP}},database:{generateId:e=>e.model===`user`?CN():crypto.randomUUID(),joins:!0},ipAddress:{ipAddressHeaders:[`cf-connecting-ip`]}},basePath:`/`,baseURL:r,database:AD(Jw(a,{provider:`pg`,schema:EE})),databaseHooks:{session:{create:{after:e=>(u?.({id:e.id,userId:e.userId}),Promise.resolve())}},user:{create:{after:e=>(f?.({id:e.id}),Promise.resolve()),before:e=>{if(e.emailVerified!==!0)return Promise.resolve(!1);let t=e.email.slice(e.email.lastIndexOf(`@`)+1);return d&&!d.includes(t.toLowerCase())?Promise.reject(new j(`FORBIDDEN`,{code:jP.reason,message:`Sign-up not permitted.`})):Promise.resolve(!0)}}}},onAPIError:{errorURL:`${r}/error`},plugins:[Vy({allowedAttempts:3,expiresIn:600,otpLength:6,sendVerificationOTP:e=>l({code:e.otp,email:e.email}),storeOTP:`hashed`}),rP(),...RD({accounts:t,accountStep:n,baseURL:r,cache:i,metadataFetch:o,pendingKey:s}),ob({expiresIn:`600s`,generateUserCode:wN,interval:`5s`,verificationUri:_N}),{id:`tempo-id-indexes`,schema:{deviceCode:{fields:{},indexes:[{fields:[`expiresAt`]}]},oauthAccessToken:{fields:{},indexes:[{fields:[`expiresAt`]}]},oauthClientAssertion:{fields:{},indexes:[{fields:[`expiresAt`]}]},oauthRefreshToken:{fields:{},indexes:[{fields:[`expiresAt`]}]},session:{fields:{},indexes:[{fields:[`expiresAt`]}]},verification:{fields:{},indexes:[{fields:[`expiresAt`]}]}}}],rateLimit:{enabled:!1},secret:c,verification:{disableCleanup:!0}}}var PP=e=>e,FP=!1;async function Y(e,t,n,r){let i=e.var.timing,a=performance.now(),o={closed:1/0,...r?{description:r}:{},duration:0,name:n,opened:i.events++,start:a-i.start};i.spans.push(o);try{return await t}finally{o.closed=i.events++,o.duration=performance.now()-a}}var IP=PP(async(e,t)=>{let n=!FP;FP=!0;let r={events:0,spans:[],start:performance.now()};e.set(`timing`,r),await t();let i=performance.now()-r.start,a=LP(r.spans);e.res.headers.append(`server-timing`,[`total;dur=${RP(i)}`,...n?[`cold`]:[],...a.map(zP)].join(`, `)),!Qs()&&Js({fields:{duration:RP(i),errorCode:e.var.refusal?.error,method:e.req.method,reason:e.var.refusal?.reason,requestId:e.var.requestId,route:Xs(e),spans:a.map(e=>`${e.name};dur=${RP(e.duration)};start=${RP(e.start)}`).join(`, `),status:e.res.status},message:`The Worker timed a request.`})});function LP(e){return e.map((e,t)=>({settles:e.opened-t,span:e})).toSorted((e,t)=>e.settles===t.settles?e.span.closed===t.span.closed?e.span.opened-t.span.opened:e.span.closed>t.span.closed?-1:1:e.settles-t.settles).map(e=>e.span)}function RP(e){return Math.round(e*10)/10}function zP(e){let t=`${e.name};dur=${RP(e.duration)}`;return e.description?`${t};desc="${e.description.replace(/["\\]/g,`\\$&`)}"`:t}var BP=class extends Error{name=`Balance.RequestError`;constructor(e){super(`The Tempo API responded with ${e.status}.`)}},VP=3e3,HP;(function(e){e.balance=M({amount:A().meta({description:`The value in USD, as a decimal string.`,examples:[`12.5`]}),currency:Pi(`USD`).meta({description:"The currency of `amount`."})}).meta({description:`The value of an account's verified token holdings, in USD.`,id:`Balance`}),e.valuation=M({amount:A().regex(/^\d+(\.\d+)?$/),currency:Pi(`USD`)})})(HP||={});async function UP(e){let t=new URL(e.apiUrl);t.pathname=`${t.pathname.replace(/\/$/,``)}/v1/addresses/${e.address}/valuation`,t.searchParams.set(`chainId`,String(e.chainId)),t.searchParams.set(`currency`,`USD`);let n=[t.username,t.password].filter(Boolean).map(decodeURIComponent).join(`:`);t.username=``,t.password=``;let r=await fetch(t,{headers:n?{"tempo-api-key":n}:{},signal:AbortSignal.timeout(VP)});if(!r.ok)throw await r.body?.cancel(),new BP({status:r.status});return{amount:HP.valuation.parse(await r.json()).amount,currency:`USD`}}function WP(e,t){let{accounts:n,apiUrl:r,chainId:i}=t;return r?Promise.all(n.map(t=>Y(e,UP({address:t.address,apiUrl:r,chainId:i}),`tempoApi.valuation.get`).catch(t=>(nc(e,{error:t,fields:{chainId:i},message:`A balance failed to load.`}),null)))):Promise.resolve(n.map(()=>null))}var GP=`Payload Too Large`,KP=e=>{let t=e.onError||(()=>{throw new al(413,{res:new Response(GP,{status:413})})}),n=e.maxSize;return async function(e,r){if(!e.req.raw.body)return r();let i=e.req.raw.headers.has(`transfer-encoding`);if(e.req.raw.headers.has(`content-length`)&&!i)return parseInt(e.req.raw.headers.get(`content-length`)||`0`,10)>n?t(e):r();let a=0,o=[],s=e.req.raw.body.getReader();for(;;){let{done:r,value:i}=await s.read();if(r)break;if(a+=i.length,a>n)return t(e);o.push(i)}let c={body:new ReadableStream({start(e){for(let t of o)e.enqueue(t);e.close()}}),duplex:`half`};return e.req.raw=new Request(e.req.raw,c),r()}},qP=class extends q(`body_too_large`){name=`BodyLimit.BodyTooLargeError`;constructor(){super({error_description:`Invalid request body: exceeds the ${YP}-byte maximum. Send a body of ${YP} bytes or fewer.`,meta:{maximum:YP}})}},JP=[qP],YP=65536,XP=KP({maxSize:YP,onError:e=>J(e,new qP)});function ZP(e){let{max:t=1e3,ttl:n}=e,r=new Map,i=0;return{async get(e,a,o={}){let{keep:s=()=>!0}=o,c=Math.min(o.ttl??n,n),l=JSON.stringify(a);if(c<=0||l.length>256)return await e();let u=r.get(l);if(u&&u.expires>Date.now())return u.value;let d=++i,f=await e();if(!s(f))return f;let p=r.get(l);if(p&&p.load>d)return f;let m=Date.now();if(r.delete(l),r.size>=t)for(let[e,t]of r)t.expires<=m&&r.delete(e);if(r.size>=t){let e=r.keys().next().value;e!==void 0&&r.delete(e)}return r.set(l,{expires:m+c,load:d,value:f}),f}}}async function QP(e,t,n,r={}){let i=e.var.cache;return i?await i.get(t,n,r):await t()}var $P=1e3;async function eF(e){let[t,n]=await Promise.all([(async()=>{if(!e.apiUrl)return`none`;let t=new URL(e.apiUrl);t.pathname=`${t.pathname.replace(/\/$/,``)}/health`,t.username=``,t.password=``;try{let e=await fetch(t,{signal:AbortSignal.timeout($P)});return await e.body?.cancel(),e.ok?`up`:`down`}catch{return`down`}})(),(async()=>{let t=zO({transport:Rk(e.rpcUrl,{retryCount:0,timeout:$P})});return await Bt(t).catch(()=>void 0)===e.chainId?`up`:`down`})()]);return{api:t,node:n}}var tF=class extends q(`config_conflict`){name=`ConfigurableAccount.ConflictError`;constructor(e){super({error_description:`Configuration conflict: the chain's configuration of ${e.account} differs from the stored one. Reload the account, and try again.`,field:`account`,meta:{account:e.account}})}},nF=class extends q(`configurable_accounts_disabled`){name=`ConfigurableAccount.DisabledError`;constructor(e={}){let{chain:t,configured:n=[]}=e;super(t&&n.length>0?{error_description:`Configurable accounts are not available on the chain \`${t}\`. Select ${n.map(e=>`\`${e}\``).join(` or `)}.`,field:`chain`,meta:{chain:t,configured:n.join(`,`)}}:{error_description:`Configurable accounts are not available on this deployment. Use the account as it is.`,field:`chain`})}},rF=class extends q(`not_configurable`){name=`ConfigurableAccount.NotConfigurableError`;constructor(e){let{account:t}=e;super({error_description:e.reason===`cloud`?`Not configurable: a cloud wallet owns ${t}, and only an account that a passkey owns upgrades in place. Use an account that is configurable from its creation.`:`Not configurable: ${t} is not a configurable account yet. Upgrade it with its passkey, then add the owner.`,field:`account`,meta:{account:t,reason:e.reason}})}},iF=class extends q(`owner_exists`){name=`ConfigurableAccount.OwnerExistsError`;constructor(e){super({error_description:{configurable:`Owner exists: ${e.account} is already a configurable account. Add an owner to it instead.`,passkey:`Owner exists: a passkey already owns ${e.account}. Use the account as it is.`}[e.owner],field:e.owner===`passkey`?`account`:`wallet`,meta:{account:e.account,owner:e.owner}})}},aF=class extends q(`upgrade_required`){name=`ConfigurableAccount.UpgradeRequiredError`;constructor(e){super({error_description:`Upgrade required: Tempo Account ${e.account} is not a configurable account on this chain yet. Upgrade it on the account page, then authorize again.`,field:`key_authorization.account`,meta:{account:e.account}})}},oF=`tempo-id:account-config`,sF=`0x20c0000000000000000000000000000000000000`,cF=`0x${`0`.repeat(63)}1`,lF={transfer:`0xa9059cbb`,transferWithMemo:`0x95777d59`},uF=`account-config:`,dF;(function(e){let t=Gi([`0x`,A().regex(/^[0-9a-fA-F]{40}$/)]),n=Gi([`0x`,A().regex(/^[0-9a-fA-F]*$/)]),r=e.owners=na(M({address:t,type:A(),weight:hi().int().positive()})),i=M({address:t,chainId:hi().int(),key:t,owners:r,salt:n,threshold:hi().int(),version:A().regex(/^[0-9]+$/)});e.pending=M({current:i.optional(),registration:M({digest:n,transaction:n}).optional(),target:i,transaction:n})})(dF||={});function fF(e,t){let{chainId:n}=t,r=t=>e.find(e=>ke(DN(e),t)),i=[...t.configs,...e.flatMap(e=>e.linked||t.configs.some(t=>ke(t.key,DN(e)))?[]:[gF({chainId:n,key:DN(e),type:e.type})])],a=new Set(i.flatMap(e=>e.owners.filter(t=>!ke(t.address,e.key)).map(e=>e.address.toLowerCase())));return e.filter(e=>!a.has(DN(e).toLowerCase())).map(e=>{let t=i.find(t=>ke(t.key,DN(e)));if(!t)return e;let n=t.owners.flatMap(e=>{let t=r(e.address);return t?[t]:[]}),a=n.find(e=>e.credential),o=n.find(e=>e.signer),s=ON({account:AF(t),createdAt:e.createdAt,credential:a?.credential,linked:e.linked,realm:e.realm,signer:o?.signer?async(e,n)=>AF(t,{signers:[await o.signer(e,n)]}):void 0,type:e.type}),c={chainId:t.chainId,owner:s,owners:t.owners};return s.configurable=c,{...e,configurable:c}})}function pF(e){return Zs(e).flatMap(e=>{let t=Vj.find(t=>t.id===e.chainId);return t?[{...e,definition:t}]:[]})}function mF(e){let{chainId:t,env:n}=e;if(t!==void 0)return pF({rpcUrl:n.TEMPO_RPC_URL,rpcUrls:n.RPC_URLS,value:n.CONFIGURABLE_ACCOUNTS}).find(e=>e.chainId===t)}function hF(e){let{apiUrl:t,chain:n}=e,r=(()=>{if(!t)return;let e=new URL(t),r=[e.username,e.password].filter(Boolean).map(decodeURIComponent).join(`:`);if(r)return e.username=``,e.password=``,e.pathname=`${e.pathname.replace(/\/$/,``)}/rpc/sponsor/${n.chainId}`,{key:r,url:e.href}})(),i=Rk(n.rpcUrl,{retryCount:0});return zO({chain:n.definition,transport:r?Bj(i,Rk(r.url,{fetchOptions:{headers:{"tempo-api-key":r.key}},retryCount:0})):i})}function gF(e){let{chainId:t,key:n,type:r}=e,i=_F({address:n,chainId:t,key:n,owners:[{address:n,type:r,weight:1}],salt:`0x${`0`.repeat(64)}`,threshold:1,version:0n});return _F({...i,address:AF(i).address})}function _F(e){return e}async function vF(e,t){return(await e.select().from(DE).where(ZC(U(DE.chainId,t.chainId),U(DE.userId,t.userId)))).map(e=>_F({address:ae(e.address),chainId:e.chainId,key:ae(e.key),owners:dF.owners.parse(e.owners).map(e=>({...e,address:ae(e.address)})),salt:e.salt,threshold:e.threshold,version:BigInt(e.version)}))}function yF(e){let{add:t=[],address:n,chainId:r,current:i}=e,a=[...i?.owners??[{address:n,type:e.type,weight:1}],...t],o=a.map(e=>({owner:e.address,weight:e.weight})),s=i?Xt(RF(i),{owners:o,threshold:1}):st(n,{owners:o,threshold:1});return _F({address:n,chainId:r,key:i?.key??n,owners:s.owners.map(e=>({address:ae(e.owner),type:a.find(t=>ke(t.address,e.owner)).type,weight:Number(e.weight)})),salt:s.salt,threshold:Number(s.threshold),version:BigInt(s.version)})}function bF(e){let{configurable:t}=e;if(!t)return;let{config:n}=t.owner.account;return _F({address:t.owner.account.address,chainId:t.chainId,key:DN(e),owners:t.owners,salt:n.salt,threshold:Number(n.threshold),version:BigInt(n.version)})}async function xF(e){let{client:t,current:n,publicKey:r,target:i}=e;await MF({client:t,current:n,target:i});let a={},o=ne({keyType:`webAuthn`,publicKey:Vn(r),sign(e){return a.digest=e.hash,Promise.reject(Error(`The digest is captured.`))}}),s=n?AF(n,{signers:[o]}):o,c=await FF({account:s,client:t,current:n,target:i}),l=await _e(c);if(await jk(t,{...c,account:s}).catch(()=>void 0),!a.digest)throw Error(`The transaction asked the passkey to sign no digest.`);return{digest:a.digest,transaction:l}}async function SF(e,t){let{config:n,userId:r}=t,i={address:n.address.toLowerCase(),chainId:n.chainId,key:n.key.toLowerCase(),owners:n.owners.map(e=>({address:e.address.toLowerCase(),type:e.type,weight:e.weight})),salt:n.salt,threshold:n.threshold,userId:r,version:n.version.toString()};await e.insert(DE).values(i).onConflictDoUpdate({set:{owners:i.owners,salt:i.salt,threshold:i.threshold,updatedAt:V`now()`,version:i.version},setWhere:V`${DE.version}::numeric < excluded.version::numeric and ${DE.userId} = excluded.user_id`,target:[DE.chainId,DE.address]})}async function CF(e){let{account:t,client:n,current:r,target:i}=e;return await MF({client:n,current:r,target:i}),await LF({client:n,serialized:await jk(n,{...await FF({account:t,client:n,current:r,target:i}),account:t})}),i}async function wF(e){let{assertion:t,client:n,current:r,digest:i,publicKey:a,target:o}=e;await MF({client:n,current:r,target:o});let{metadata:s,signature:c}=$n(t),l=$e({metadata:{authenticatorData:s.authenticatorData,clientDataJSON:s.clientDataJSON},publicKey:Vn(a),signature:c,type:`webAuthn`}),u=ne({keyType:`webAuthn`,publicKey:Vn(a),sign(e){return e.hash===i?Promise.resolve(l):Promise.reject(Error(`The assertion signs another transaction.`))}}),d=r?AF(r,{signers:[u]}):u;return await LF({client:n,serialized:await jk(n,{...x(e.transaction),account:d})}),o}async function TF(e){let{account:t,client:n,key:r}=e,i=IF(r,{account:t});if(!i)return;let a={},o=jF({account:t,key:r,sign(e){return a.digest=e,Promise.reject(Error(`The digest is captured.`))}}),s=await nt(n,{account:o,calls:[i],feePayer:n.transport.key===`relay`||void 0,keyAuthorization:r,nonceKey:an(on(24)),type:`tempo`,validBefore:Math.floor(Date.now()/1e3)+300}),c=await _e(s);if(await jk(n,{...s,account:o}).catch(()=>void 0),!a.digest)throw Error(`The transaction asked the access key to sign no digest.`);return{digest:a.digest,transaction:c}}async function EF(e){let{account:t,client:n,key:r}=e,i=await Vt(n,{account:t,accessKey:r});return i.isRevoked?`revoked`:ke(i.address,r)?`active`:`missing`}async function DF(e){let{account:t,client:n,digest:r,signature:i}=e,a=x(e.transaction),o=jF({account:t,key:a.keyAuthorization,sign(e){return e===r?Promise.resolve(i):Promise.reject(Error(`The signature signs another transaction.`))}});await LF({client:n,serialized:await jk(n,{...a,account:o})})}async function OF(e,t){let{current:n,digest:r,registration:i,target:a,transaction:o,userId:s}=t,c=e=>({...e,version:e.version.toString()});await e.insert(G).values({expiresAt:new Date(Date.now()+3e5),id:crypto.randomUUID(),identifier:PF({digest:r,userId:s}),value:JSON.stringify(dF.pending.parse({...n?{current:c(n)}:{},...i?{registration:i}:{},target:c(a),transaction:o}))})}async function kF(e,t){let[n]=await e.delete(G).where(ZC(U(G.identifier,PF(t)),ew(G.expiresAt,new Date))).returning({value:G.value});if(!n)return;let r=dF.pending.parse(JSON.parse(n.value)),i=e=>_F({...e,address:ae(e.address),key:ae(e.key),owners:e.owners.map(e=>({...e,address:ae(e.address)})),version:BigInt(e.version)});return{current:r.current?i(r.current):void 0,registration:r.registration,target:i(r.target),transaction:r.transaction}}function AF(e,t={}){let{signers:n=[]}=t,r=e.owners.map(e=>({owner:n.find(t=>ke(t.address,e.address))??e.address,weight:e.weight}));return e.version===0n?D({owners:r,salt:e.salt,threshold:e.threshold}):D({address:e.address,owners:r,salt:e.salt,threshold:e.threshold,version:e.version})}function jF(e){let{account:t,key:n}=e;return{...ne({access:t,keyType:n.type,publicKey:re({privateKey:cF}),sign:t=>e.sign(t.hash)}),accessKeyAddress:ae(n.address)}}async function MF(e){let{client:t,current:n,target:r}=e,i=await Vk(t,{account:r.address}),a=n?He(RF(n)):void 0,o=/^0x0*$/.test(i);if(!(a?bn(i,a)||n.version===0n&&o:o))throw new tF({account:r.address})}async function NF(e){let{client:t,target:n}=e,r=await Vk(t,{account:n.address});return bn(r,He(RF(n)))}function PF(e){return uF+JSON.stringify([e.userId,e.digest.toLowerCase()])}async function FF(e){let{account:t,client:n,current:r,target:i}=e,a=i.owners.map(e=>({owner:e.address,weight:e.weight})),o=r?[Hk.call({currentConfig:RF(r),nextConfig:{owners:a,threshold:i.threshold}})]:[Uk.call({owners:a,threshold:i.threshold})];return await nt(n,{account:t,calls:o,feePayer:n.transport.key===`relay`||void 0,nonceKey:an(on(24)),type:`tempo`,validBefore:Math.floor(Date.now()/1e3)+300})}function IF(e,t){let{account:n}=t;if(!e.scopes)return zF({to:n,token:sF});for(let t of e.scopes){if(!zM(t.address))continue;let e=t.recipients?.[0]??n,r=t.selector?.toLowerCase();if(r===lF.transfer)return zF({to:e,token:t.address});if(r===lF.transferWithMemo)return Ye.call({amount:0n,memo:dn(`0x`,32),to:e,token:t.address})}}async function LF(e){let t=await Ak(e.client,{serializedTransaction:e.serialized});if(t.status!==`success`)throw Error(`The transaction ${t.transactionHash} reverted.`)}function RF(e){return St({owners:e.owners.map(e=>({owner:e.address,weight:e.weight})),salt:e.salt,threshold:e.threshold,version:e.version})}function zF(e){return Ye.call({amount:0n,...e})}var BF=Vj.filter(e=>e.id!==$s.mainnet);async function VF(e){return(await Gk(zO({chain:e.chain,transport:Rk(e.rpcUrl,{retryCount:0})}),{account:e.address})).map(e=>e.transactionHash)}var HF=e=>e.__COMPOSED_HANDLER?HF(e[Ol]):e,UF=(e,t,n)=>{let r=e.req.raw.headers.get(`Cookie`);if(typeof t==`string`){if(!r)return;let e=t;return n===`secure`?e=`__Secure-`+t:n===`host`&&(e=`__Host-`+t),_(r,e)[e]}return r?_(r):{}},WF=async(e,t,n,r)=>{let i=e.req.raw.headers.get(`Cookie`);if(typeof n==`string`){if(!i)return;let e=n;return r===`secure`?e=`__Secure-`+n:r===`host`&&(e=`__Host-`+n),(await f(i,t,e))[e]}return i?await f(i,t):{}},GF=(e,t,n)=>{let r;return r=n?.prefix===`secure`?h(`__Secure-`+e,t,{path:`/`,...n,secure:!0}):n?.prefix===`host`?h(`__Host-`+e,t,{...n,path:`/`,secure:!0,domain:void 0}):h(e,t,{path:`/`,...n}),r},KF=(e,t,n,r)=>{let i=GF(t,n,r);e.header(`Set-Cookie`,i,{append:!0})},qF=(e,t,n)=>{let r=UF(e,t,n?.prefix);return KF(e,t,``,{...n,maxAge:0}),r},JF=/^application\/([a-z-\.]+\+)?json(;\s*[a-zA-Z0-9\-]+\=([^;]+))*$/i,YF=/^multipart\/form-data(;\s?boundary=[a-zA-Z0-9'"()+_,\-./:=?]+)?$/i,XF=/^application\/x-www-form-urlencoded(;\s*[a-zA-Z0-9\-]+\=([^;]+))*$/i,ZF=(e,t)=>async(n,r)=>{let i={},a=n.req.header(`Content-Type`);switch(e){case`json`:if(!a||!JF.test(a))break;try{i=await n.req.json()}catch{throw new al(400,{message:`Malformed JSON in request body`})}break;case`form`:{if(!a||!(YF.test(a)||XF.test(a)))break;let e;if(n.req.bodyCache.formData)e=await n.req.bodyCache.formData;else try{e=await sl(await n.req.arrayBuffer(),a),n.req.bodyCache.formData=e}catch(e){let t=`Malformed FormData request.`;throw t+=e instanceof Error?` ${e.message}`:` ${String(e)}`,new al(400,{message:t})}let t=Object.create(null);e.forEach((e,n)=>{n.endsWith(`[]`)?(t[n]??=[]).push(e):Array.isArray(t[n])?t[n].push(e):Object.hasOwn(t,n)?t[n]=[t[n],e]:t[n]=e}),i=t;break}case`query`:i=Object.fromEntries(Object.entries(n.req.queries()).map(([e,t])=>t.length===1?[e,t[0]]:[e,t]));break;case`param`:i=n.req.param();break;case`header`:i=n.req.header();break;case`cookie`:i=UF(n)}let o=await t(i,n);return o instanceof Response?o:(n.req.addValidatedData(e,o),await r())},QF={header:[`cookie`]};function $F(e,t,n){if(!(n in QF))return e;let r=QF[n]||[];return t===`arktype`?eI(e,r):t===`valibot`?tI(e,r):e}function eI(e,t){return e.map(e=>{if(e&&typeof e==`object`&&`data`in e&&typeof e.data==`object`&&e.data!==null&&!Array.isArray(e.data)){let n={...e.data};for(let e of t)delete n[e];let r=Object.create(Object.getPrototypeOf(e));return Object.assign(r,e,{data:n}),r}return e})}function tI(e,t){return e.map(e=>{if(e&&typeof e==`object`&&`path`in e&&Array.isArray(e.path)){for(let n of e.path)if(typeof n==`object`&&`input`in n&&typeof n.input==`object`&&n.input!==null&&!Array.isArray(n.input))for(let e of t)delete n.input[e]}return e})}var nI=(e,t,n)=>ZF(e,async(r,i)=>{let a=await t[`~standard`].validate(r);if(n){let t=await n(a.issues?{data:r,error:a.issues,success:!1,target:e}:{data:r,success:!0,target:e},i);if(t){if(t instanceof Response)return t;if(typeof t==`object`&&`response`in t)return t.response}}if(a.issues){let n=$F(a.issues,t[`~standard`].vendor,e);return i.json({data:r,error:n,success:!1},400)}return a.value}),rI=Symbol(`openapi`),iI=`__HonoOpenAPIValidator__`,aI=[`GET`,`PUT`,`POST`,`DELETE`,`OPTIONS`,`HEAD`,`PATCH`,`TRACE`],oI=e=>{let t=e;if(t.startsWith(`:`)){let e=t.match(/^:([^{?]+)(?:{(.+)})?(\?)?$/);e?t=`{${e[1]}}`:(t=t.slice(1,t.length),t.endsWith(`?`)&&(t=t.slice(0,-1)),t=`{${t}}`)}return t},sI=e=>e.split(`/`).map(oI).join(`/`),cI=e=>e.split(/[\W_]+/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``),lI=e=>{let t=e.method.toLowerCase();if(e.path===`/`)return`${t}Index`;for(let n of e.path.split(`/`)){let e=oI(n);e.charCodeAt(0)===123?t+=`By${cI(e.slice(1,-1))}`:t+=cI(e)}return t},uI=e=>`$ref`in e?e.$ref:`${e.in} ${e.name}`;function dI(...e){let t=e.flatMap(e=>e??[]).reduce((e,t)=>(e.set(uI(t),t),e),new Map);return Array.from(t.values())}var fI=new Map;function pI(e,t){let n=[];for(let[r,i]of t){if(!i)continue;let t=r.endsWith(`/*`)?r.slice(0,-2):r;(e===t||e.startsWith(`${t}/`))&&n.push(i)}return n}function mI(e,t){return!e||!t||`$ref`in e||`$ref`in t?t:{...e,...t,content:{...e.content,...t.content}}}function hI(e,...t){return t.reduce((t,n)=>{if(!n||!t)return t;for(let[r,i]of Object.entries(n))if(i!=null){if(r in t&&(typeof i==`object`||typeof i==`function`&&r===`operationId`)){if(Array.isArray(i)){let e=[...t[r]??[],...i];t[r]=r===`tags`?Array.from(new Set(e)):r===`parameters`?dI(e):e}else typeof i==`function`?t[r]=i(e):r===`parameters`?t[r]=dI(t[r],i):r===`requestBody`?t.requestBody=mI(t.requestBody,i):t[r]={...t[r],...i}}else t[r]=i}return t},{operationId:lI(e)})}function gI({route:e,specs:t,paths:n},r=fI){let i=sI(e.path),a=e.method.toLowerCase();if(a===`all`){if(!t)return;if(r.has(i)){let n=r.get(i)??{};r.set(i,hI(e,n,t))}else r.set(i,t)}else{let o=pI(i,r);i in n||(n[i]={}),n[i]&&(n[i][a]=hI(e,...o,n[i]?.[a],t))}}function _I(e,t){let{exclude:n,excludeStaticFile:r}=t.options,i={},a=Array.isArray(n)?n:[n];for(let[n,o]of Object.entries(e)){if(o==null||a.some(e=>typeof e==`string`?n===e:e.test(n))||n.includes(`*`)&&!n.includes(`{`))continue;if(r){let e=n.includes(`{`),t=(n.split(`/`).pop()||``).includes(`.`);if(!e&&t)continue}for(let e of Object.keys(o)){let r=o[e];if(r==null)continue;let i=r[iI]===!0;if(delete r[iI],n.includes(`{`)){r.parameters=r.parameters?[...r.parameters]:[];let e=n.split(`/`).filter(e=>e.startsWith(`{`)&&!r.parameters.find(t=>t.in===`path`&&t.name===e.slice(1,e.length-1)));for(let n of e){let e=n.slice(1,n.length-1);r.parameters.findIndex(n=>{if(`$ref`in n){let r=n.$ref.split(`/`).pop();if(r){let n=t.components.parameters?.[r];if(n&&!(`$ref`in n))return n.in===`path`&&n.name===e}return!1}return n.in===`path`&&n.name===e})===-1&&r.parameters.push({schema:{type:`string`},in:`path`,name:e,required:!0})}}if(r.responses||={200:{}},i&&t.options.defaultValidationErrorResponse!==!1&&!r.responses[400]){let e=t.options.defaultValidationErrorResponse;typeof e==`object`?r.responses[400]=structuredClone(e):t.validationErrorResponse&&(r.responses[400]=structuredClone(t.validationErrorResponse))}}let e={};for(let t of Object.keys(o))o[t]!=null&&(e[t]=o[t]);Object.keys(e).length>0&&(i[n]=e)}return i}var vI={documentation:{},excludeStaticFile:!0,exclude:[],excludeMethods:[`OPTIONS`],excludeTags:[],defaultValidationErrorResponse:!0},yI={description:`Validation Error`,content:{"application/json":{schema:{type:`object`,properties:{success:{type:`boolean`,enum:[!1]},error:{type:`array`,items:{}},data:{}},required:[`success`,`error`,`data`]}}}};async function bI(e,t=vI,n){let r={components:{},options:{...vI,...t},validationErrorResponse:yI},i=r.options.documentation??{},a={...i,components:i.components&&{...i.components}},o=await xI(e,r);for(let e in o)for(let t in o[e])SI({valueOrFunc:o[e][t]?.hide,method:t,path:e,c:n})&&(o[e][t]=void 0);let s=a.components?.responses?await DI(a.components.responses):void 0;s&&a.components&&(a.components.responses=s.responses);let c=kI(a.components,s?.components,r.components);return{openapi:`3.1.0`,...a,tags:a.tags?.filter(e=>!r.options.excludeTags?.includes(e?.name)),info:{title:`Hono Documentation`,description:`Development documentation`,version:`0.0.0`,...a.info},paths:{..._I(o,r),...a.paths},components:c}}async function xI(e,t){let n={},r=new Map;for(let i of e.routes){let e=HF(i.handler)[rI];if(!e){t.options.includeEmptyPaths&&gI({route:i,paths:n},r);continue}let a=i.method;if(a!==`ALL`&&(t.options.excludeMethods?.includes(a)||!aI.includes(a)))continue;let{schema:o,components:s={}}=await CI(e,t.options.defaultOptions?.[a]&&{...t.options.defaultOptions[a]},t.components.parameters);t.components=kI(t.components,s),gI({route:i,specs:o,paths:n},r)}return n}function SI(e){let{valueOrFunc:t,c:n,method:r,path:i}=e;if(t!=null){if(typeof t==`boolean`)return t;if(typeof t==`function`)return t({c:n,method:r,path:i})}return!1}async function CI(e,t,n){if(`spec`in e){let n={...t,...e.spec,responses:{...t?.responses,...e.spec.responses}},r={};if(n.responses){let e=await DI(n.responses);n.responses=e.responses,r=e.components}if(n.requestBody&&`content`in n.requestBody){let e=await EI(n.requestBody.content);n.requestBody={...n.requestBody,content:e.content},r=kI(r,e.components)}return{schema:n,components:r}}let r=await e.toOpenAPISchema();OI(r);let i={...t,[iI]:!0};if(e.target===`form`||e.target===`json`){let t=e.options?.media??(e.target===`json`?`application/json`:`multipart/form-data`);!i.requestBody||!(`content`in i.requestBody)||!i.requestBody.content?i.requestBody={required:!0,content:{[t]:{schema:r.schema}}}:i.requestBody.content[t]={schema:r.schema}}else{let t=[];if(`$ref`in r.schema){let i=r.schema.$ref.split(`/`).pop();if(i&&r.components?.schemas?.[i]){let a=r.components.schemas[i],o=wI(e.target,a,r.components.schemas),s=o.length===1?o[0]:void 0,c=n?.[i];s&&(!c||`in`in c&&c.in===s.in&&c.name===s.name)?(r.components.parameters??={},r.components.parameters[i]=s,t.push({$ref:`#/components/parameters/${i}`}),delete r.components.schemas[i]):t=o}}else t=wI(e.target,r.schema,r.components?.schemas);i.parameters=t}return{schema:i,components:r.components}}function wI(e,t,n){let r=[];for(let[i,a]of TI(t,n)){let t={in:e===`param`?`path`:e,name:i,schema:a.schema};a.required&&(t.required=!0),t.schema&&`description`in t.schema&&t.schema.description&&(t.description=t.schema.description,t.schema={...t.schema,description:void 0}),r.push(t)}return r}function TI(e,t){let n=new Map,r=new Set,i=e=>{for(let[t,r]of Object.entries(e.properties??{})){let i=n.get(t);n.set(t,{schema:i?{allOf:[i.schema,r]}:r,required:!!e.required?.includes(t)||i?.required})}for(let n of e.allOf??[])if(`$ref`in n){if(!n.$ref.startsWith(`#/components/schemas/`))continue;let e=n.$ref.slice(21).replaceAll(`~1`,`/`).replaceAll(`~0`,`~`),a=t?.[e];a&&!r.has(e)&&(r.add(e),i(a),r.delete(e))}else i(n)};return i(e),n}async function EI(e){let t={},n={};for(let[r,i]of Object.entries(e))if(i){if(i.schema&&`toOpenAPISchema`in i.schema){let e=await i.schema.toOpenAPISchema();OI(e),n[r]={...i,schema:e.schema},e.components&&(t=kI(t,e.components))}else n[r]=i}return{content:n,components:t}}async function DI(e){let t={},n={};for(let[r,i]of Object.entries(e)){if(!i||!(`content`in i)||!i.content){n[r]=i;continue}let e=await EI(i.content);n[r]={...i,content:e.content},t=kI(t,e.components)}return{responses:n,components:t}}function OI(e){let t=e.schema.$defs;t&&typeof t==`object`&&(e.components??={},e.components.schemas={...t,...e.components.schemas},delete e.schema.$defs)}function kI(...e){return e.reduce((e,t,n)=>(t==null||n===0||((e.schemas&&Object.keys(e.schemas).length>0||t.schemas&&Object.keys(t.schemas).length>0)&&(e.schemas={...e.schemas,...t.schemas}),(e.parameters&&Object.keys(e.parameters).length>0||t.parameters&&Object.keys(t.parameters).length>0)&&(e.parameters={...e.parameters,...t.parameters})),e),e[0]??{})}var AI=e=>e.base,jI=e=>{e.zodSchema._zod.def.type===`date`&&(e.jsonSchema.type=`string`,e.jsonSchema.format=`date-time`)};function MI(e,t){let n=e[`~standard`].vendor;return{vendor:n,validate:e[`~standard`].validate,toJSONSchema:n=>ac(e,{...t,...n}),toOpenAPISchema:r=>oc(e,{...t,...r,...n===`arktype`?NI(t,r):void 0,...n===`zod`?PI(e,t,r):void 0})}}function NI(e,t){let n=e?.options,r=t?.options;if(!(e?.fallback||n?.fallback||t?.fallback||r?.fallback))return{options:{fallback:AI,...n,...r}}}function PI(e,t,n){if(!(`_zod`in e))return;let r=t?.options,i=n?.options;if(!(t?.override||r?.override||n?.override||i?.override))return{options:{unrepresentable:`any`,override:jI,...r,...i}}}function FI(e,t,n,r){let i=nI(e,t,n);return Object.defineProperty(i,"name",{value:`validator`,configurable:!0}),Object.assign(i,{[rI]:{target:e,...MI(t,r),options:r}})}function II(e){let t=async(e,t)=>{await t()};return Object.defineProperty(t,"name",{value:`describeRoute`,configurable:!0}),Object.assign(t,{[rI]:{spec:e}})}var LI={options:{override:e=>{let{jsonSchema:t}=e;delete t.readOnly;let n=t.anyOf?.filter(e=>Object.keys(e).length>0);n&&n.length!==t.anyOf.length&&(n.length===1?(delete t.anyOf,Object.assign(t,n[0])):t.anyOf=n)},unrepresentable:`any`}},RI={integrity:`sha384-U11tb2XnKvmwt8RlTvnwUnYgrN+ur4Xyh9htLhjajWNR/Oyl5AX5DEz00qRmlrmK`,src:`https://cdn.jsdelivr.net/npm/@scalar/api-reference@1.72.1/dist/browser/standalone.js`},zI={description:"Tempo ID signs users in to Tempo apps, authorizes apps for them, and signs key authorizations on their Tempo Accounts. Every refusal is an OAuth error response (RFC 6749 §5.2) whose `reason` determines its `error` and status.",title:`Tempo ID`,version:`0.0.0`},BI=[{description:`Sign-in with an emailed code or a passkey, in two requests each. The first returns a code or WebAuthn options, and the second verifies it and sets the session cookie.`,name:`Authenticate`},{description:"Authorizes an app for the signed-in user. The redirect flow starts at `GET /oauth2/authorize` and ends at `POST /oauth2/token`, and a first-party page can use `POST /v1/authorize` without a redirect.",name:`Authorization`},{description:"Authorizes a device without a browser (RFC 8628). The device requests codes, the user approves the user code on the device page, and the device polls `POST /oauth2/token`.",name:`Device grant`},{description:`The signed-in user's Tempo Accounts and passkeys. A passkey registers in three requests: the options, the new credential, and the new passkey's signature.`,name:`Account`},{description:`The issuer's standard OAuth 2.0 and OpenID Connect endpoints.`,name:`OAuth`},{description:`The Worker's status.`,name:`Health`},{description:`This document and its API reference.`,name:`Reference`}];function VI(e,t={}){let n=qI.get(e);if(n)return n;let r=JI(e,t);return qI.set(e,r),r.catch(()=>qI.delete(e)),r}var HI=`<!doctype html>
404
+ `}var oO=`https://github.com/tempoxyz/id/blob/main/docs/errors.md`,sO={already_decided:{description:`The user code was already approved or denied.`,error:`invalid_request`,status:409},authorization_expired:{description:`The app's authorization request that sign-in or the approval page continues is forged or expired.`,error:`invalid_request`,status:400},backend_sign_in_not_permitted:{description:`The app may not sign users in from its backend: it is not an enabled first-party app with a client secret and backend sign-in.`,error:`unauthorized_client`,status:403},body_too_large:{description:`The request body exceeds 64 KiB.`,error:`invalid_request`,status:413},challenge_not_permitted:{description:"A request carries a challenge, and its app lacks the `tempo-id:sign` scope.",error:`unauthorized_client`,status:403},config_conflict:{description:`The chain's configuration of the account differs from the one that Tempo ID stores.`,error:`invalid_request`,status:409},configurable_accounts_disabled:{description:`The deployment has no configurable accounts, or the request names another chain.`,error:`invalid_request`,status:400},cross_site_request:{description:`A form or body-less write came from another site.`,error:`access_denied`,status:403},duplicate_limit:{description:`Two limits name the same token.`,error:`invalid_authorization_details`,status:400},duplicate_scope:{description:`Two scopes name the same call on one target, or one allows any function on a target that another names a function on.`,error:`invalid_authorization_details`,status:400},empty_limits:{description:"`limits` is an empty list.",error:`invalid_authorization_details`,status:400},empty_scopes:{description:"`scopes` is an empty list.",error:`invalid_authorization_details`,status:400},expiry_exceeds_maximum:{description:`A headless key lasts longer than a year.`,error:`invalid_authorization_details`,status:403},expiry_passed:{description:`The key expiry has passed.`,error:`invalid_authorization_details`,status:400},foreign_account:{description:`The request names a Tempo Account that is not the user's in the app's realms.`,error:`access_denied`,status:403},invalid_chain:{description:`The key chain ID is 0.`,error:`invalid_authorization_details`,status:400},invalid_client:{description:`The client authentication failed: the app is unknown or disabled, or the client secret is missing or wrong.`,error:`invalid_client`,status:401},invalid_code:{description:`The emailed code is wrong or expired.`,error:`invalid_grant`,status:401},invalid_expiry:{description:`The key expiry is 0, which never expires.`,error:`invalid_authorization_details`,status:400},invalid_field:{description:`A field is missing or malformed.`,error:`invalid_request`,status:400},invalid_id_token_hint:{description:`The ID token hint is not an ID token that Tempo ID signed for the app.`,error:`invalid_request`,status:400},invalid_origin:{description:`A headless request came from an origin its redirect URI does not allow.`,error:`unauthorized_client`,status:403},invalid_period:{description:"A limit's `period` is not a whole number of seconds.",error:`invalid_authorization_details`,status:400},invalid_public_key:{description:`The key public key is not a valid point.`,error:`invalid_authorization_details`,status:400},invalid_recipients:{description:"A scope's `recipients` names the zero address or a duplicate, or is on a call other than `transfer`, `transferWithMemo`, or `approve` on a TIP-20 token.",error:`invalid_authorization_details`,status:400},limit_exceeds_maximum:{description:`A headless key limit exceeds the token’s ceiling.`,error:`invalid_authorization_details`,status:403},logout_not_permitted:{description:`The app that the ID token hint names may not end the session at the end-session endpoint.`,error:`unauthorized_client`,status:403},malformed_body:{description:`The request body is not valid JSON.`,error:`invalid_request`,status:400},missing_key:{description:`The key authorization names no key.`,error:`invalid_authorization_details`,status:400},missing_permissions:{description:"A third-party app's key request leaves out `expiry`, `limits`, or `scopes`.",error:`invalid_authorization_details`,status:400},missing_recipients:{description:"An `approve` scope names no spenders.",error:`invalid_authorization_details`,status:400},passkey_link_expired:{description:`The email step's link to a wallet.tempo passkey expired, or the browser holds no link for it.`,error:`invalid_request`,status:400},passkey_not_permitted:{description:`A passkey sign-in names an app, or reaches a realm, that holds no passkeys for Tempo ID.`,error:`unauthorized_client`,status:403},passkey_register_not_permitted:{description:"A passkey registration comes from an app's page, and no app at the page's origin holds the `tempo-id:sign` scope.",error:`unauthorized_client`,status:403},not_configurable:{description:`The account is not configurable on the chain, so no owner can join it, or no passkey owns it, so it cannot upgrade.`,error:`invalid_request`,status:400},owner_exists:{description:`The account already holds the owner that the request adds, or is already configurable.`,error:`invalid_request`,status:409},passkey_limit:{description:`The user holds the most passkeys that Tempo ID registers for one user.`,error:`access_denied`,status:403},post_logout_redirect_not_permitted:{description:`The post-logout redirect URI is not one of the post-logout redirect URIs the app registered.`,error:`invalid_request`,status:400},rate_limited:{description:`Tempo ID, or a service it depends on, is rate limiting the request.`,error:`temporarily_unavailable`,status:429},reauthentication_required:{description:`The request needs a session that signed in within the last 10 minutes.`,error:`login_required`,status:401},rejected:{description:`The issuer refused the authorization request.`,error:`invalid_request`,status:400},scope_without_limit:{description:`A scope calls a listed token that no limit names.`,error:`invalid_authorization_details`,status:400},session_changed:{description:`The signed-in session differs from the one that the approval page showed.`,error:`invalid_request`,status:409},session_required:{description:`The request needs a signed-in session.`,error:`login_required`,status:401},sign_up_not_permitted:{description:`The verified address has no account, and its domain is not one where the deployment creates accounts.`,error:`access_denied`,status:403},unexpected:{description:`An unexpected failure.`,error:`server_error`,status:500},unknown_code:{description:`The user code is wrong or expired.`,error:`invalid_request`,status:404},unknown_endpoint:{description:`No API endpoint matches this method and path.`,error:`invalid_request`,status:404},unsupported_call:{description:`A selector does not parse, a scope allows any function on a TIP-20 token, or a headless scope names an unrecognized call.`,error:`invalid_authorization_details`,status:400},unsupported_token:{description:`A limit names a token that is not supported on the chain.`,error:`invalid_authorization_details`,status:400},upgrade_required:{description:`A key authorization names a wallet.tempo passkey's account on a chain whose accounts are configurable, before its upgrade.`,error:`interaction_required`,status:403},upstream_unavailable:{description:`A service Tempo ID depends on failed or did not respond.`,error:`temporarily_unavailable`,status:503},webauthn_rejected:{description:`A passkey ceremony failed: its challenge is unknown, spent, or expired, or its response does not verify.`,error:`access_denied`,status:401},webauthn_required:{description:`A request without a page names a Tempo Account whose passkey signs only on a Tempo ID page.`,error:`interaction_required`,status:403}},K=class extends al{name=`ErrorResponse.ResponseError`;response;constructor(e){let t=sO[e.reason].status;super(t,{res:Response.json(e,{status:t})}),this.response=e}};function q(e){return class extends K{static reason=e;constructor(t){super(hO({...t,reason:e}))}}}var cO=class extends q(`cross_site_request`){name=`ErrorResponse.CrossSiteRequestError`;constructor(){super({error_description:`Cross-site request refused. Send JSON from an allowed origin.`})}},lO=class extends q(`malformed_body`){name=`ErrorResponse.MalformedBodyError`;constructor(){super({error_description:"Malformed request body. Send a JSON object with `Content-Type: application/json`."})}},uO=class extends q(`rate_limited`){name=`ErrorResponse.RateLimitedError`;retryAfter;constructor(e={}){let{retryAfter:t}=e;super({error_description:`Rate limited by an upstream service. Try again ${t?`in ${vO({seconds:t})}`:`later`}.`,...t?{meta:{retryAfter:t}}:{}}),this.retryAfter=t}},dO=class extends q(`unexpected`){name=`ErrorResponse.UnexpectedError`;constructor(){super({error_description:`Unexpected error. Try again.`})}},fO=class extends q(`unknown_endpoint`){name=`ErrorResponse.UnknownEndpointError`;constructor(){super({error_description:`Unknown endpoint. Check the method and path against the API reference at /openapi.json.`})}},pO=class extends q(`upstream_unavailable`){name=`ErrorResponse.UpstreamUnavailableError`;constructor(){super({error_description:`An upstream service is unavailable. Retry later.`})}},mO;(function(e){let t=e.base=M({error:A().meta({description:"The OAuth error code (RFC 6749, OIDC Core, RFC 8628, RFC 9396), which `reason` determines."}),error_description:A().meta({description:`What went wrong and how to fix it, for people. Its wording may change.`}),error_uri:Ci().meta({description:"The errors page, at the refusal’s `reason`."}),field:A().optional().meta({description:`Extension: the request field at fault, as a dotted path.`}),meta:_i(A(),pi([hi(),A()])).readonly().optional().meta({description:`Extension: the values the refusal compared. Base units are decimal strings.`}),reason:A().meta({description:`Extension: a stable name for the refusal, to branch on.`}),request_id:A().optional().meta({description:"Extension: the request ID, which `X-Request-Id` also carries. The Worker adds it to every error response."})}),n={already_decided:{error_description:`Code already approved or denied.`,field:`code`},authorization_expired:{error_description:`Expired authorization request: the request from the app is no longer valid. Return to the app, and start again.`,field:`oauth_query`},backend_sign_in_not_permitted:{error_description:"Backend sign-in not permitted: the app does not hold backend sign-in. Grant it with `tempo-id admin apps update --backend-sign-in`.",field:`client_id`},body_too_large:{error_description:`Invalid request body: exceeds the 65536-byte maximum. Send a body of 65536 bytes or fewer.`},challenge_not_permitted:{error_description:"Challenge not permitted: the app lacks the `tempo-id:sign` scope. Remove `challenge`, or grant the app the scope.",field:`challenge`},config_conflict:{error_description:`Configuration conflict: the chain's configuration of 0x8C3b5d0e2A4f6B1c9D7e3F5a0B2c4D6e8F1a3B5c differs from the stored one. Reload the account, and try again.`,field:`account`},configurable_accounts_disabled:{error_description:"Configurable accounts are not available on the chain `testnet`. Select the chain `t14`.",field:`chain`},cross_site_request:{error_description:`Cross-site request refused. Send JSON from an allowed origin.`},duplicate_limit:{error_description:`Duplicate limit for 0x20c0000000000000000000000000000000000001. Limit each token once.`,field:`key_authorization.limits.1.token`},duplicate_scope:{error_description:`Duplicate scope for 0xa9059cbb on OUSD. Name each call on a target once.`,field:`key_authorization.scopes.1.selector`},empty_limits:{error_description:"Empty `limits`. Name at least one token, or omit `limits`.",field:`key_authorization.limits`},empty_scopes:{error_description:"Empty `scopes`. Name at least one call, or omit `scopes`.",field:`key_authorization.scopes`},expiry_exceeds_maximum:{error_description:"Invalid `expiry`: Sat, 01 Jan 2028 00:00:00 GMT exceeds the one-year maximum. Use an earlier expiry, or authorize through a redirect or device grant.",field:`key_authorization.expiry`},expiry_passed:{error_description:"Invalid `expiry`: Wed, 01 Jan 2025 00:00:00 GMT has passed. Use a future Unix time.",field:`key_authorization.expiry`},foreign_account:{error_description:`Access denied to Tempo Account 0x8C3b5d0e2A4f6B1c9D7e3F5a0B2c4D6e8F1a3B5c. Name one of the user's accounts in the app's realms.`,field:`account`},invalid_chain:{error_description:"Invalid `chainId`: 0. Use a Tempo chain ID, such as 4217.",field:`key_authorization.chainId`},invalid_client:{error_description:`Client authentication failed. Send the client ID and secret of an enabled app.`,field:`client_secret`},invalid_code:{error_description:`Invalid or expired code. Request a new one.`,field:`code`},invalid_expiry:{error_description:"Invalid `expiry`: 0 never expires. Use a future Unix time.",field:`key_authorization.expiry`},invalid_field:{error_description:"Invalid request. `email`: Invalid email address.",field:`email`},invalid_id_token_hint:{error_description:`Invalid id_token_hint: it is not an ID token that this issuer signed for the app. Send the ID token that the app received at sign-in.`,field:`id_token_hint`},invalid_origin:{error_description:"Invalid `Origin`: https://other.example.com. Requests for this redirect URI must come from https://app.example.com.",field:`Origin`},invalid_period:{error_description:"Invalid `period` on the OUSD limit: 1.5. Use a whole number of seconds, or 0 for a one-time limit.",field:`key_authorization.limits.0.period`},invalid_public_key:{error_description:"Invalid `publicKey`. Provide an uncompressed public key, or `address`.",field:`key_authorization.publicKey`},invalid_recipients:{error_description:`Invalid recipient 0x0000000000000000000000000000000000000000 for 0x095ea7b3 on OUSD. Name each recipient once, and never the zero address.`,field:`key_authorization.scopes.0.recipients.0`},limit_exceeds_maximum:{error_description:`Invalid OUSD limit: 5000 exceeds the 1000 maximum. Lower the limit, or authorize through a redirect or device grant.`,field:`key_authorization.limits.0.limit`},logout_not_permitted:{error_description:`Logout not permitted: the app client_01JZ8Q6W3N1R5B4V7C2X9K0M3T may not end the session. Register the app for logout, then retry.`},malformed_body:{error_description:"Malformed request body. Send a JSON object with `Content-Type: application/json`."},missing_key:{error_description:"Missing `address` or `publicKey`. Provide the access key.",field:`key_authorization.address`},missing_permissions:{error_description:"Missing `limits` and `scopes`. Name the expiry, limits, and scopes of the key, since a third-party app receives no defaults.",field:`key_authorization.limits`},missing_recipients:{error_description:"Missing `recipients` for `approve` on OUSD. Name the allowed spenders.",field:`key_authorization.scopes.0.recipients`},passkey_link_expired:{error_description:`Expired passkey sign-in: the link from the passkey step is no longer valid. Enter the code again to sign in with email only, or sign in with the passkey again.`,field:`link`},passkey_not_permitted:{error_description:`Passkey not permitted: the app client_01JZ8Q6W3N1R5B4V7C2X9K0M3T holds no passkeys. Sign in with an emailed code.`},passkey_register_not_permitted:{error_description:"Passkey registration not permitted: no app at https://app.example.com holds the `tempo-id:sign` scope. Register the passkey on Tempo ID, or grant the app the scope."},not_configurable:{error_description:`Not configurable: 0x8C3b5d0e2A4f6B1c9D7e3F5a0B2c4D6e8F1a3B5c is not a configurable account yet. Upgrade it with its passkey, then add the owner.`,field:`account`},owner_exists:{error_description:`Owner exists: a cloud wallet already owns 0x8C3b5d0e2A4f6B1c9D7e3F5a0B2c4D6e8F1a3B5c. Use the account as it is.`,field:`wallet`},passkey_limit:{error_description:`Passkey limit reached: the user holds 10 registered passkeys, the most that Tempo ID registers. Sign in with one of them.`},post_logout_redirect_not_permitted:{error_description:`Invalid post_logout_redirect_uri: https://app.example/elsewhere is not registered for the app. Use one of its post-logout redirect URIs, or leave it out.`,field:`post_logout_redirect_uri`},rate_limited:{error_description:`Too many requests. Try again in 30 seconds.`},reauthentication_required:{error_description:`Sign in again: adding a passkey needs a sign-in within the last 10 minutes.`},rejected:{error_description:"Authorization request rejected. Check `client_id`, `redirect_uri`, and `scope` against the app's registration."},scope_without_limit:{error_description:`Scope on 0x20c0000000000000000000000000000000000002 has no limit. Add a limit for it, or remove the scope.`,field:`key_authorization.scopes.0.address`},session_changed:{error_description:`Changed session: the signed-in account differs from the one that this page showed. Reload the page, and check the account before the decision.`,field:`session_id`},session_required:{error_description:`Sign in first.`},sign_up_not_permitted:{error_description:`Sign-up not permitted: new accounts need an address at example.com. Sign in with an existing account, or with an address at example.com.`,field:`email`},unexpected:{error_description:`Unexpected error. Try again.`},unknown_code:{error_description:`Invalid or expired code. Check the code in the terminal.`,field:`code`},unknown_endpoint:{error_description:`Unknown endpoint. Check the method and path against the API reference at /openapi.json.`},unsupported_call:{error_description:"Unsupported call on OUSD: any function, which includes `approve` without spenders. Name each function in `selector`, such as `transfer`.",field:`key_authorization.scopes.0.selector`},unsupported_token:{error_description:`Unsupported token on chain 4217: 0x20c00000000000000000000000000000000000ff. Use a supported token, such as OUSD.`,field:`key_authorization.limits.0.token`},upgrade_required:{error_description:`Upgrade required: Tempo Account 0x8C3b5d0e2A4f6B1c9D7e3F5a0B2c4D6e8F1a3B5c is not a configurable account on this chain yet. Upgrade it on the account page, then authorize again.`,field:`key_authorization.account`},upstream_unavailable:{error_description:`An upstream service is unavailable. Retry later.`},webauthn_rejected:{error_description:`Passkey rejected. Request new options, then try again with the same passkey or another one.`},webauthn_required:{error_description:`Passkey required: Tempo Account 0x8C3b5d0e2A4f6B1c9D7e3F5a0B2c4D6e8F1a3B5c signs key authorizations only with its passkey, on a Tempo ID page. Authorize through a redirect, popup, or device grant, or name another account.`,field:`key_authorization.account`}},r=new Map(Object.entries(sO).map(([e,r])=>{let i=n[e],a=t.extend({error:Pi(r.error).meta(t.shape.error.meta()),error_description:t.shape.error_description.meta({...t.shape.error_description.meta(),examples:[i.error_description]}),error_uri:t.shape.error_uri.meta({...t.shape.error_uri.meta(),examples:[`${oO}#${e}`]}),reason:Pi(e).meta(t.shape.reason.meta()),request_id:t.shape.request_id.meta({...t.shape.request_id.meta(),examples:[`8f1c2a3b4d5e6f70-SJC`]})});return[e,(i.field?a.extend({field:t.shape.field.meta({...t.shape.field.meta(),examples:[i.field]})}):a.omit({field:!0})).meta({description:`\`${r.error}\` (${r.status}): ${r.description}`,id:`ErrorResponse.${e}`})]}));function i(e){return r.get(e)}e.of=i})(mO||={});function hO(e){let{error_description:t,field:n,meta:r,reason:i}=e;return{error:sO[i].error,error_description:t,error_uri:`${oO}#${i}`,...n?{field:n}:{},...r?{meta:r}:{},reason:i}}function gO(e){if(e instanceof al)return;let t=`status`in e?e.status:void 0;if(t===429)return new uO({retryAfter:(()=>{if(e instanceof Response){let t=Number(e.headers.get(`retry-after`));return Number.isInteger(t)&&t>0?t:void 0}return`retryAfter`in e&&typeof e.retryAfter==`number`?e.retryAfter:void 0})()});let n=`status`in e&&t===void 0;if(typeof t==`number`&&(t===408||t>=500)||n||e instanceof Error&&e.name===`TimeoutError`)return new pO}(function(e){e.errors=[uO,pO]})(gO||={});function _O(e,t){if(e instanceof K)return J(t,e);if(e instanceof al&&e.status===400)return J(t,new lO);if(e instanceof al&&e.status===403)return J(t,new cO);let n=gO(e);return n?(nc(t,{error:e,message:`An upstream service refused a request.`}),J(t,n)):(ec(t,{error:e,message:`The API failed a request.`}),J(t,new dO))}function J(e,t){let{response:n}=t;return t instanceof uO&&t.retryAfter&&e.header(`retry-after`,String(t.retryAfter)),e.json(n,sO[n.reason].status)}function vO(e){let{seconds:t}=e,[n,r]=t<60?[t,`second`]:t<3600?[Math.ceil(t/60),`minute`]:[Math.ceil(t/3600),`hour`];return new Intl.NumberFormat(`en`,{style:`unit`,unit:r,unitDisplay:`long`}).format(n)}var yO=new Map,bO=new Map,xO=0;function SO(e,t,n){let r=++xO,i=()=>yO.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);t.length===0?(yO.delete(e),bO.delete(e)):yO.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=bO.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(yO.set(e,[...s,{id:r,fns:t}]),s&&s.length>0)return o;let c={};for(let e in t)c[e]=((...t)=>{let n=i();if(n.length!==0)for(let r of n)r.fns[e]?.(...t)});let l=n(c);return typeof l==`function`&&bO.set(e,l),o}async function CO(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(Dr(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},Math.min(e,2**31-1)),o=()=>{clearTimeout(a),i(),r(Dr(t))};t?.addEventListener(`abort`,o,{once:!0})})}function wO(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await CO(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await CO(r),s())};s()})(),a}var TO=new Map,EO=new Map;function DO(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,TO),r=t(e,EO);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function OO(e,{cacheKey:t,cacheTime:n=1/0}){let r=DO(t),i=r.response.get();if(i&&n>0&&Date.now()-i.created.getTime()<n)return i.data;let a=r.promise.get();a||(a=e(),r.promise.set(a));try{let e=await a;return r.response.set({created:new Date,data:e}),e}finally{r.promise.clear()}}var kO=e=>`blockNumber.${e}`;async function AO(e,{cacheTime:t=e.cacheTime}={}){let n=await OO(()=>e.request({method:`eth_blockNumber`}),{cacheKey:kO(e.uid),cacheTime:t});return BigInt(n)}function jO(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0,signal:i}={}){return new Promise((a,o)=>{let s=()=>o(Dr(i));i?.addEventListener(`abort`,s,{once:!0});let c=async({count:s=0}={})=>{if(i?.aborted){o(Dr(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:s,error:e}):t;if(n)try{await CO(n,{signal:i})}catch(e){o(e);return}return c({count:s+1})};try{a(await e())}catch(e){if(i?.aborted){o(Dr(i));return}if(lr(e)){o(e);return}if(s<n&&await r({count:s,error:e}))return l({error:e});o(e)}};c().catch(o).finally(()=>i?.removeEventListener(`abort`,s))})}var MO={"0x0":`reverted`,"0x1":`success`};function NO(e,t){let n={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(e=>y(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?vr(e.transactionIndex):null,status:e.status?MO[e.status]:null,type:e.type?Ot[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}var PO=ur(`transactionReceipt`,NO),FO=256,IO=FO,LO;function RO(e=11){if(!LO||IO+e>FO*2){LO=``,IO=0;for(let e=0;e<FO;e++)LO+=(256+Math.random()*256|0).toString(16).substring(1)}return LO.substring(IO,IO+++e)}function zO(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,tokens:s,type:c=`base`}=e,l=e.experimental_blockTag??(typeof n?.experimental_preconfirmationTime==`number`?`pending`:void 0),u=n?.blockTime??12e3,d=Math.min(Math.max(Math.floor(u/2),500),4e3),f=e.pollingInterval??d,p=e.cacheTime??Math.min(f,Math.floor(u/2)),m=e.account?zr(e.account):void 0,{config:h,request:g,value:_}=e.transport({account:m,chain:n,pollingInterval:f});return HO({account:m,batch:t,cacheTime:p,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:f,request:g,tokens:s,transport:{...h,..._},type:c,uid:RO(),...l?{experimental_blockTag:l}:{}})}var BO=new WeakSet,VO=0;function HO(e){function t(r,i){return a=>{let o=a(r);for(let t in e)t!==`scope`&&delete o[t];let s={...r,...o};for(let e in o){let t=r[e],n=o[e];UO(t)&&UO(n)&&(s[e]={...t,...n})}let c=[...i,a],{scope:l}=s;return Object.assign(s,{extend:t(s,c),scope:typeof l==`function`&&BO.has(l)?n(c):l})}}function n(t){let n=new WeakMap,r=(r={})=>{let i=r.signal&&n.get(r.signal);if(i)return i;let a=`scope.${VO++}`,o=new AbortController,{signal:s}=r;s?.aborted?o.abort(s.reason):s?.addEventListener(`abort`,()=>o.abort(s.reason),{once:!0});let c=(t,n)=>e.request(t,{...n,signal:n?.signal??o.signal,uid:n?.uid??a}),l=t.reduce((e,t)=>e.extend(t),HO({...e,request:c,uid:a}));return s&&n.set(s,l),l};return BO.add(r),r}return Object.assign(e,{extend:t(e,[]),scope:n([])})}function UO(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}async function WO(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Pr({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a}),s=await e.request({method:`eth_getCode`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0});if(s!==`0x`)return s}async function GO({address:e,authorization:t,signature:n}){return Vr(dr(e),await Ze({authorization:t,signature:n}))}var KO=new oi(8192);function qO(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(KO.get(n))return KO.get(n);let r=e().finally(()=>KO.delete(n));return KO.set(n,r),r}function JO(e,t={}){return async(n,r={})=>{let{dedupe:i=!1,methods:a,retryDelay:o=150,retryCount:s=3,signal:c,uid:l}={...t,...r},{method:u}=n;if(a?.exclude?.includes(u)||a?.include&&!a.include.includes(u))throw new Fe(Error(`method not supported`),{method:u});if(c?.aborted)throw Dr(c);return qO(()=>jO(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw Dr(c);if(lr(e))throw e;let t=e;switch(t.code){case ie.code:throw new ie(t);case Zt.code:throw new Zt(t);case Yt.code:throw new Yt(t,{method:n.method});case Je.code:throw new Je(t);case Kt.code:throw new Kt(t);case en.code:throw new en(t);case we.code:throw new we(t);case yt.code:throw new yt(t);case gt.code:throw new gt(t);case Fe.code:throw new Fe(t,{method:n.method});case E.code:throw new E(t);case Ne.code:throw new Ne(t);case Ae.code:throw new Ae(t);case ve.code:throw new ve(t);case ge.code:throw new ge(t);case te.code:throw new te(t);case ct.code:throw new ct(t);case C.code:throw new C(t);case le.code:throw new le(t);case O.code:throw new O(t);case Ue.code:throw new Ue(t);case xe.code:throw new xe(t);case ut.code:throw new ut(t);case At.code:throw new At(t);case Ct.code:throw new Ct(t);case 5e3:throw new Ae(t);case rn.code:throw new rn(t);default:throw e instanceof ei?e:new Ee(t)}}},{delay:({count:e,error:t})=>{let n=XO(t)?.headers?.get(`Retry-After`);if(n){let e=Number.parseInt(n,10);if(!Number.isNaN(e))return e*1e3;let t=Date.parse(n)-Date.now();if(t>0)return t}return~~(1<<e)*o},retryCount:s,signal:c,shouldRetry:({error:e})=>YO(e)}),{enabled:i,id:i?ZO(`${l}.${Ur(n)}`):void 0})}}function YO(e){if(lr(e))return!1;let t=XO(e)?.status;if(`code`in e&&typeof e.code==`number`){if(e.code===-1||e.code===E.code||e.code===Kt.code||e.code===429||e.code===-32007)return!0;if(!t)return!1}return!t||t===403||t===408||t===413||t===429||t===500||t===502||t===503||t===504}function XO(e){if(e instanceof ei)return e.walk(e=>e instanceof Kr||e instanceof Wr)}function ZO(e,t=0){let n=3735928559^t,r=1103547991^t;for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>16,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>16,3266489909),(4294967296*(2097151&r)+(n>>>0)).toString(36)}function QO(e){let t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(e){return t=>{let r=typeof t==`function`?t(e):t,i={...e,...r};return Object.assign(i,{extend:n(i)})}}return Object.assign(t,{extend:n(t)})}function $O(){return{}}function ek(e,{errorInstance:t=Error(`timed out`),timeout:n,signal:r}){return new Promise((i,a)=>{(async()=>{let o,s=new AbortController;try{n>0&&(o=setTimeout(()=>{r?s.abort():a(t)},n)),i(await e({signal:s?.signal||null}))}catch(e){if(s?.signal.aborted&&lr(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function tk(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var nk=tk(),rk=10485760;function ik(e,t={}){let{url:n,headers:r}=ck(e);return{async request(e){let{body:i,fetchFn:a=t.fetchFn??fetch,maxResponseBodySize:o=t.maxResponseBodySize??rk,onRequest:s=t.onRequest,onResponse:c=t.onResponse,timeout:l=t.timeout??1e4}=e,u={...t.fetchOptions??{},...e.fetchOptions??{}},{headers:d,method:f,signal:p}=u;try{let{response:e,responseBody:t}=await ek(async({signal:e})=>{let{signal:t,cleanup:m}=ak([p,l>0?e:null]);try{let e={...u,body:Ur(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??nk.take(),...e})):{jsonrpc:`2.0`,id:i.id??nk.take(),...i}),headers:{...r,"Content-Type":`application/json`,...d},method:f||`POST`,signal:t},l=new Request(n,e),p=await s?.(l,e)??{...e,url:n},m=await a(p.url??n,p);return c&&await c(m),{response:m,responseBody:await ok(m,{maxResponseBodySize:o})}}finally{m()}},{errorInstance:new yr({body:i,url:n}),timeout:l,signal:!0}),m;if(e.headers.get(`Content-Type`)?.startsWith(`application/json`))m=JSON.parse(t);else{m=t;try{m=JSON.parse(m||`{}`)}catch(t){if(e.ok)throw t;m={error:m}}}let h=Array.isArray(i)&&Array.isArray(m)&&m.length===1?m[0]:m;if(!e.ok)throw sk(h)?new Wr({body:i,error:h.error,headers:e.headers,status:e.status,url:n}):new Kr({body:i,details:Ur(m.error)||e.statusText,headers:e.headers,status:e.status,url:n});if(!Array.isArray(i)||!i.length||Array.isArray(m)&&m.length>=i.length)return m;if(!sk(h))throw Error(`Expected ${i.length} responses to batch request.`);return i.map(()=>h)}catch(e){throw p?.aborted?Dr(p):lr(e)||e instanceof Kr||e instanceof cr||e instanceof Wr||e instanceof yr?e:new Kr({body:i,cause:e,url:n})}}}}function ak(e){let t=e.filter(e=>!!e);if(t.length<2)return{signal:t[0]??null,cleanup:()=>{}};let n=new AbortController,r=()=>{i(),n.abort(t.find(e=>e.aborted)?.reason)},i=()=>{for(let e of t)e.removeEventListener(`abort`,r)};for(let e of t){if(e.aborted){i(),n.abort(e.reason);break}e.addEventListener(`abort`,r)}return{signal:n.signal,cleanup:i}}async function ok(e,{maxResponseBodySize:t}){if(t===!1)return e.text();let n=e.headers.get(`Content-Length`);if(n){let e=Number(n);if(e>t)throw new cr({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new cr({maxSize:t,size:r});return n}let r=e.body.getReader(),i=new TextDecoder,a=``,o=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;if(o+=n.byteLength,o>t)throw await r.cancel(),new cr({maxSize:t,size:o});a+=i.decode(n,{stream:!0})}return a+=i.decode(),a}finally{r.releaseLock()}}function sk(e){return typeof e?.error?.code==`number`&&typeof e?.error?.message==`string`}function ck(e){try{let t=new URL(e),n=(()=>{if(t.username){let e=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username=``,t.password=``,{url:t.toString(),headers:{Authorization:`Basic ${btoa(e)}`}}}})();return{url:t.toString(),...n}}catch{return{url:e}}}var lk=be(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function uk(e){if(typeof e==`string`){if(gn(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new pk(e)}else zn(e.authorization)}function dk(e){uk(e);let t=cn(gn(e,-64,-32)),n=gn(e,-t-64,-64),r=gn(e,0,-t-64),[i,a,o]=S(lk,n);return{authorization:Df({address:i.delegation,chainId:Number(i.chainId),nonce:i.nonce,yParity:i.yParity,r:i.r,s:i.s}),signature:r,...o&&o!==`0x`?{data:o,to:a}:{}}}function fk(e){try{return uk(e),!0}catch{return!1}}var pk=class extends un{constructor(e){super(`Value \`${e}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc8010.InvalidWrappedSignatureError`})}};async function mk(e,{blockHash:t,blockNumber:n,blockTag:r,hash:i,index:a,sender:o,nonce:s}){let c=r||`latest`,l=n===void 0?void 0:br(n),u=null;if(i?u=await e.request({method:`eth_getTransactionByHash`,params:[i]},{dedupe:!0}):t?u=await e.request({method:`eth_getTransactionByBlockHashAndIndex`,params:[t,br(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,br(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,br(s)]},{dedupe:!0})),!u)throw new Mr({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||Ge)(u,`getTransaction`)}async function hk(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new jr({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||NO)(n,`getTransactionReceipt`)}var gk=`0x6492649264926492649264926492649264926492649264926492649264926492`;function _k(e){if(gn(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new bk(e)}function vk(e){let{data:t,signature:n,to:r}=e;return yn(ht(be(`address, bytes, bytes`),[r,t,n]),gk)}function yk(e){try{return _k(e),!0}catch{return!1}}var bk=class extends un{constructor(e){super(`Value \`${e}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc6492.InvalidWrappedSignatureError`})}};function xk({r:e,s:t,to:n=`hex`,v:r,yParity:i}){let a=(()=>{if(i===0||i===1)return i;if(r&&(r===27n||r===28n||r>=35n))return+(r%2n==0n);throw Error("Invalid `v` or `yParity` value")})(),o=`0x${new Pn.Signature(mr(e),mr(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:Cr(o)}async function Sk(e,t){let{address:n,chain:r=e.chain,hash:i,erc6492VerifierAddress:a=t.universalSignatureVerifierAddress??r?.contracts?.erc6492Verifier?.address,multicallAddress:o=t.multicallAddress??r?.contracts?.multicall3?.address,mode:s=`auto`}=t;if(r?.verifyHash)return await r.verifyHash(e,t);let c=(()=>{let e=t.signature;return Ir(e)?e:typeof e==`object`&&`r`in e&&`s`in e?xk(e):Gr(e)})();try{if(s===`eoa`)try{if(Vr(dr(n),await Ut({hash:i,signature:c})))return!0}catch{}return fk(c)?await Ck(e,{...t,multicallAddress:o,signature:c}):await wk(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(Vr(dr(n),await Ut({hash:i,signature:c})))return!0}catch{}if(e instanceof Ek)return!1;throw e}}async function Ck(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,multicallAddress:s,requireCanonical:c}=t,{authorization:l,data:u,signature:d,to:f}=dk(t.signature);if(await WO(e,{address:n,blockHash:r,blockNumber:i,blockTag:a,requireCanonical:c})===Rr([`0xef0100`,l.address]))return await Tk(e,{...t,signature:d});let p={address:l.address,chainId:Number(l.chainId),nonce:Number(l.nonce),r:br(l.r,{size:32}),s:br(l.s,{size:32}),yParity:l.yParity};if(!await GO({address:n,authorization:p}))throw new Ek;let m=await w(e,Ve,`readContract`)({...s?{address:s}:{code:ri},authorizationList:[p],abi:Jr,blockHash:r,blockNumber:i,blockTag:`pending`,functionName:`aggregate3`,requireCanonical:c,args:[[...u?[{allowFailure:!0,target:f??n,callData:u}]:[],{allowFailure:!0,target:n,callData:ii({abi:Br,functionName:`isValidSignature`,args:[o,d]})}]]});if((m[m.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new Ek}async function wk(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||yk(o)?o:vk({data:i,signature:o,to:r}))(),u=s?{to:s,data:ii({abi:Qr,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:Fr({abi:Qr,args:[n,a,l],bytecode:qr}),...c},{data:d}=await w(e,ni,`call`)(u).catch(e=>{throw e instanceof xr?new Ek:e});if(gr(d??`0x0`))return!0;throw new Ek}async function Tk(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,requireCanonical:s,signature:c}=t;if((await w(e,Ve,`readContract`)({address:n,abi:Br,args:[o,c],blockHash:r,blockNumber:i,blockTag:a,functionName:`isValidSignature`,requireCanonical:s}).catch(e=>{throw e instanceof wr?new Ek:e})).startsWith(`0x1626ba7e`))return!0;throw new Ek}var Ek=class extends Error{};function Dk(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:i,poll:a,pollingInterval:o=e.pollingInterval}){let s=a===void 0?e.transport.type!==`webSocket`&&e.transport.type!==`ipc`&&(e.transport.type!==`fallback`||e.transport.transports[0].config.type!==`webSocket`&&e.transport.transports[0].config.type!==`ipc`):a,c;return s?SO(Ur([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>wO(async()=>{try{let t=await w(e,AO,`getBlockNumber`)({cacheTime:0});if(c!==void 0){if(t===c)return;if(t-c>1&&n)for(let e=c+1n;e<t;e++)r.onBlockNumber(e,c),c=e}(c===void 0||t>c)&&(r.onBlockNumber(t,c),c=t)}catch(e){r.onError?.(e)}},{emitOnBegin:t,interval:o})):SO(Ur([`watchBlockNumber`,e.uid,t,n]),{onBlockNumber:r,onError:i},t=>{let n=!0,r=()=>n=!1;return(async()=>{try{let{unsubscribe:i}=await(()=>{if(e.transport.type===`fallback`){let t=e.transport.transports.find(e=>e.config.type===`webSocket`||e.config.type===`ipc`);return t?t.value:e.transport}return e.transport})().subscribe({params:[`newHeads`],onData(e){if(!n)return;let r=mr(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}async function Ok(e,t){let{checkReplacement:n=e.chain?.supportsTransactionReplacementDetection??!0,confirmations:r=1,hash:i,onReplaced:a,retryCount:o=6,retryDelay:s=({count:e})=>~~(1<<e)*200,timeout:c=18e4}=t,l=e.chain?.transactionReplacement?.getKey?void 0:t.replacement,u=t=>e.chain?.transactionReplacement?.getKey?.(t)??String(t.nonce),d=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,f=Ur([`waitForTransactionReceipt`,e.uid,i,{checkReplacement:n,confirmations:r,pollingInterval:d,replacement:l,retryCount:o,timeout:c}]),p,m,h,g=!1,_,v,{promise:y,resolve:b,reject:x}=$r(),S=c?setTimeout(()=>{v?.(),_?.(),x(new Er({hash:i}))},c):void 0;return _=SO(f,{onReplaced:a,resolve:b,reject:x},async t=>{m=await w(e,hk,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),m&&r<=1?(clearTimeout(S),t.resolve(m),_?.()):v=w(e,Dk,`watchBlockNumber`)({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:d,async onBlockNumber(a){let c=e=>{clearTimeout(S),v?.(),e(),_?.()},d=a;if(!g)try{if(m){if(r>1&&(!m.blockNumber||d-m.blockNumber+1n<r))return;c(()=>{h&&t.onReplaced?.(h),t.resolve(m)});return}if(n&&!p&&(g=!0,await jO(async()=>{p=await w(e,mk,`getTransaction`)({hash:i}),p.blockNumber&&(d=p.blockNumber)},{delay:s,retryCount:o,shouldRetry:({error:e})=>!(l&&e instanceof Mr)}),g=!1),m=await w(e,hk,`getTransactionReceipt`)({hash:i}),r>1&&(!m.blockNumber||d-m.blockNumber+1n<r))return;c(()=>t.resolve(m))}catch(a){if(a instanceof Mr||a instanceof jr){g=!1;let a=p??(n&&l?{...l,hash:i.toLowerCase()}:void 0);if(!a||a.blockNumber)return;try{if(!p){g=!0;let n=await w(e,mk,`getTransaction`)({nonce:a.nonce,sender:a.from}).catch(e=>{(e instanceof Yt||e instanceof Fe)&&(p=a)});if(g=!1,n?.hash.toLowerCase()===a.hash){p=n;return}if(n){let i=await w(e,hk,`getTransactionReceipt`)({hash:n.hash}).catch(e=>{if(!(e instanceof jr))throw e});if(!i||(m=i,h={reason:e.chain?.transactionReplacement?.getReason?.({replaced:a,replacement:n})??kk(a,n),replacedTransaction:a,transaction:n,transactionReceipt:m},r>1&&(!m.blockNumber||d-m.blockNumber+1n<r)))return;c(()=>{t.onReplaced?.(h),t.resolve(m)});return}}g=!0;let n=await jO(()=>w(e,Tt,`getBlock`)({blockNumber:d,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof Lt});g=!1;let i=u(a),l=n.transactions.find(e=>Vr(e.from,a.from)&&e.hash!==a.hash&&u(e)===i);if(!l||(m=await w(e,hk,`getTransactionReceipt`)({hash:l.hash}),h={reason:e.chain?.transactionReplacement?.getReason?.({replaced:a,replacement:l})??kk(a,l),replacedTransaction:a,transaction:l,transactionReceipt:m},r>1&&(!m.blockNumber||d-m.blockNumber+1n<r)))return;c(()=>{t.onReplaced?.(h),t.resolve(m)})}catch(e){c(()=>t.reject(e))}}else c(()=>t.reject(a))}}})}),y.finally(()=>{clearTimeout(S),_?.()})}function kk(e,t){return(t.to&&e.to?Vr(t.to,e.to):t.to===e.to)&&t.value===e.value&&t.input===e.input?`repriced`:t.from===t.to&&t.value===0n?`cancelled`:`replaced`}async function Ak(e,{serializedTransaction:t,throwOnReceiptRevert:n,timeout:r}){let i=await e.request({method:`eth_sendRawTransactionSync`,params:r?[t,r]:[t]},{retryCount:0}),a=(e.chain?.formatters?.transactionReceipt?.format||NO)(i);if(a.status===`reverted`&&n)throw new Nr({receipt:a});return a}async function jk(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new Re({docsPath:`/docs/actions/wallet/signTransaction`});let a=zr(n);ai({account:a,...t});let o=await w(e,Bt,`getChainId`)({});r!==null&&ze({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||Or;return a.signTransaction?a.signTransaction({...i,account:a,chainId:o},{serializer:e.chain?.serializers?.transaction}):await e.request({method:`eth_signTransaction`,params:[{...s({...i,account:a},`signTransaction`),chainId:br(o),from:a.address}]},{retryCount:0})}function Mk({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=RO();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:JO(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function Nk(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>Mk({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}var Pk=class extends ei{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}},Fk=0,Ik=new WeakMap;function Lk(e){if(!e)return`default`;let t=Ik.get(e);if(t!==void 0)return t;let n=Fk++;return Ik.set(e,n),n}function Rk(e,t={}){let{batch:n,fetchFn:r,fetchOptions:i,key:a=`http`,maxResponseBodySize:o,methods:s,name:c=`HTTP JSON-RPC`,onFetchRequest:l,onFetchResponse:u,retryDelay:d,raw:f}=t;return({chain:p,retryCount:m,timeout:h})=>{let{batchSize:g=1e3,wait:_=0}=typeof n==`object`?n:{},v=t.retryCount??m,y=h??t.timeout??1e4,b=e||p?.rpcUrls.default.http[0];if(!b)throw new Pk;let x=ik(b,{fetchFn:r,fetchOptions:i,maxResponseBodySize:o,onRequest:l,onResponse:u,timeout:y});return Mk({key:a,methods:s,name:c,async request({method:e,params:t},r){let i={method:e,params:t},a=r?.signal?{signal:r.signal}:void 0,{schedule:o}=Xr({id:`${b}.${Lk(r?.signal)}`,wait:_,shouldSplitBatch(e){return e.length>g},fn:e=>x.request({body:e,fetchOptions:a}),sort:(e,t)=>e.id-t.id}),[{error:s,result:c}]=await(async e=>n?o(e):[await x.request({body:e,fetchOptions:a})])(i).catch(e=>{if(f&&e instanceof Wr)return[{error:e.cause,result:void 0}];throw e});if(f)return{error:s,result:c};if(s)throw new Wr({body:i,error:s,url:b});return c},retryCount:v,retryDelay:d,timeout:y,type:`http`},{fetchOptions:i,url:b})}}async function zk(e,t){let{owners:n,salt:r,threshold:i,...a}=t;return ot(Ve)(e,{...a,...zk.call({owners:n,salt:r,threshold:i})})}(function(e){function t(e){let{owners:t,salt:n,threshold:r}=St(e);return Qe({address:Qt,abi:ye,args:[n,r,t],functionName:`deriveAccount`})}Object.defineProperty(e,"call",{configurable:!0,enumerable:!0,value:t,writable:!0})})(zk||={});async function Bk(e,t){let n=await e.request({method:`account_getConfig`,params:[{address:t.address}]});return n?lt(n):null}async function Vk(e,t){let{account:n,...r}=t;return ot(Ve)(e,{...r,...Vk.call({account:n})})}(function(e){function t(e){return Qe({address:Qt,abi:ye,args:[e.account],functionName:`getConfigCommitment`})}Object.defineProperty(e,"call",{configurable:!0,enumerable:!0,value:t,writable:!0})})(Vk||={});async function Hk(e,t){return Hk.inner(ue,e,t)}(function(e){async function t(t,n,r){let{account:i,currentConfig:a,nextConfig:o,...s}=r,c=i??n.account,l=(()=>{if(typeof c==`object`&&c.source===`configurable`)return c})(),u=(()=>{if(a)return a;if(l?.config)return l.config})(),d=(()=>{if(l)return l.address;if(typeof c==`string`)return c;if(c)return c.address})(),f=await(async()=>{if(u)return St(u);if(!d)throw Error(`A configurable account address or current config is required.`);let e=await Bk(n,{address:d});if(!e)throw Error(`No current account config is cached for account ${d}. Provide the current config.`);return e})(),p=(()=>{if(l)return{...l,config:f};if(typeof c==`object`)return c;if(d)return D({address:d,...f})})();return await ot(t)(n,{...s,...p?{account:p}:{},...e.call({currentConfig:f,nextConfig:o})})}e.inner=t;function n(e){let t=St(e.currentConfig),n=Xt(t,e.nextConfig);return Qe({address:Qt,abi:ye,args:[t,n.threshold,n.owners],functionName:`updateConfig`})}Object.defineProperty(e,"call",{configurable:!0,enumerable:!0,value:n,writable:!0});function r(e){let[t]=De({abi:ye,logs:e,eventName:`ConfigurableAccountConfigUpdated`,strict:!0});if(!t)throw Error("`ConfigurableAccountConfigUpdated` event not found.");return t}e.extractEvent=r})(Hk||={});async function Uk(e,t){return Uk.inner(ue,e,t)}(function(e){async function t(t,n,r){let{owners:i,threshold:a,...o}=r;for(let e of[`authorizationList`,`calls`,`data`,`keyAuthorization`,`to`])if(o[e]!==void 0)throw Error(`\`${e}\` is not supported: the upgrade must be the only call, without authorizations.`);let s=o.account??n.account;if(typeof s==`object`){if(s.source===`configurable`)throw Error(`The account is already a configurable account.`);if(s.source===`accessKey`)throw Error(`The root key must sign the upgrade, not an access key.`)}return await ot(t)(n,{...o,...e.call({owners:i,threshold:a}),type:`tempo`})}e.inner=t;function n(e){let{owners:t,threshold:n}=St(e);return Qe({address:Qt,abi:ye,args:[n,t],functionName:`upgradeAccount`})}Object.defineProperty(e,"call",{configurable:!0,enumerable:!0,value:n,writable:!0});function r(e){let[t]=De({abi:ye,logs:e,eventName:`AccountUpgraded`,strict:!0});if(!t)throw Error("`AccountUpgraded` event not found.");return t}e.extractEvent=r})(Uk||={});async function Wk(e,t){let{account:n,hash:r,signature:i,...a}=t;return ot(Ve)(e,{...a,...Wk.call({account:n,hash:r,signature:i})})}(function(e){function t(e){let{account:t,hash:n,signature:r}=e;return Qe({address:je,abi:me,args:[t,n,r],functionName:`verifyConfigurableAccount`})}Object.defineProperty(e,"call",{configurable:!0,enumerable:!0,value:t,writable:!0})})(Wk||={});async function Gk(e,t){let{timeout:n=1e4}=t,r=zr(t.account),i=await e.request({method:`tempo_fundAddress`,params:[r.address]});return await Promise.all(i.map(t=>Ok(e,{hash:t,checkReplacement:!1,timeout:n})))}async function Kk(e,t){let{blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,blocks:i,returnFullTransactions:a,traceTransfers:o,validation:s}=t;try{let t=[];for(let n of i){let r=n.blockOverrides?ti(n.blockOverrides):void 0,i=n.calls.map(t=>{let n=t,r=n.account?zr(n.account):e.account?zr(e.account):void 0,i=n.abi?ii(n):n.data,a={...n,account:r,data:n.dataSuffix?ui([i||`0x`,n.dataSuffix]):i,from:n.from??r?.address};return ai(a),Or(a)}),a=n.stateOverrides?Lr(n.stateOverrides):void 0;t.push({blockOverrides:r,calls:i,stateOverrides:a})}let c=(typeof n==`bigint`?br(n):void 0)||r,l=await e.request({method:`tempo_simulateV1`,params:[{blockStateCalls:t,returnFullTransactions:a,traceTransfers:o,validation:s},c]});return{blocks:l.blocks.map((e,t)=>({...Pt(e),calls:e.calls?.map((e,n)=>{let{abi:r,args:a,functionName:o,to:s}=i[t].calls[n],c=e.error?.data??e.returnData,l=BigInt(e.gasUsed),u=e.logs?.map(e=>y(e)),d=e.status===`0x1`?`success`:`failure`,f=r&&d===`success`&&c!==`0x`?Hr({abi:r,data:c,functionName:o}):null,p=(()=>{if(d===`success`)return;let e;if(c===`0x`?e=new hr:c&&(e=new _r({data:c})),e)return at(e,{abi:r??[],address:s??`0x`,args:a,functionName:o??`<unknown>`})})();return{data:c,gasUsed:l,logs:u,status:d,...d===`success`?{result:f}:{error:p}}})})),tokenMetadata:l.tokenMetadata??{}}}catch(e){let t=e,n=kr(t,{});throw n instanceof Sr?t:n}}async function qk(e,t){let{blockNumber:n,blockTag:r,calls:i,stateOverrides:a,traceTransfers:o,validation:s}=t,c=t.account?zr(t.account):void 0,l=await Kk(e,{blockNumber:n,blockTag:r,blocks:[{calls:i.map(e=>({...e,from:c?.address})),stateOverrides:a}],traceTransfers:o,validation:s}),{calls:u,...d}=l.blocks[0];return{block:d,results:u,tokenMetadata:l.tokenMetadata}}function Jk(e){if(!mt(e))return Ge(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),n=e.operation,{feePayerSignature:r,gasPrice:i,nonce:a,...o}=jp(e);return{...o,accessList:o.accessList,...t!==void 0&&{blockTimestamp:t},feePayerSignature:r?{r:k(r.r,{size:32}),s:k(r.s,{size:32}),v:BigInt(r.v??27),yParity:r.yParity}:void 0,nonce:Number(a),operation:Xk(n),typeHex:kp[o.type],type:o.type}}function Yk(e){return{...NO(e),operation:Xk(e.operation),...e.status===`pending`?{status:`pending`,type:`tempo`}:{}}}function Xk(e){if(!e)return;let t=mp(e);if(t.type!==`transaction`)throw Error(`Expected an account transaction operation.`);return t}function Zk(e,t){let n=e,r=n.account?zr(n.account):void 0,i=n.owner?zr(n.owner):void 0;if(i?.type===`json-rpc`)throw Error(`A local owner account is required to approve a configurable account transaction.`);if(!mt(n))return Or(e,t);t&&(n.calls=n.calls??[{to:e.to||(!e.data||e.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:e.value,data:e.data}]),n.feePayer===!0&&!n.feePayerSignature&&delete n.feeToken;let{owner:a,signatures:o,...s}=n,c=Np({...s,type:`tempo`});t===`estimateGas`&&(c.maxFeePerGas=void 0,c.maxPriorityFeePerGas=void 0),c.to=void 0,c.data=void 0,c.value=void 0;let l=i??r,[u,d]=(()=>{let e=l&&`keyType`in l?l.keyType:l?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,Qk(n.keyData)]:[n.keyType,Qk(n.keyData)]})(),f=l&&`accessKeyAddress`in l?l.accessKeyAddress:n.keyId;return r&&(c.from=r.address),{...c,...n.capabilities?{capabilities:n.capabilities}:{},...d?{keyData:d}:{},...f?{keyId:f}:{},...u?{keyType:u}:{},...n.accountSimulation?{accountSimulation:void 0}:{},...n.owner?{owner:void 0}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?zr(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function Qk(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:k(t,{size:2})}var $k=new Map;async function eA(e){$k.set(e,($k.get(e)??0)+1),await Promise.resolve();let t=($k.get(e)??0)>1;return queueMicrotask(()=>{let t=$k.get(e)??0;t<=1?$k.delete(e):$k.set(e,t-1)}),t}var tA={getKey(e){let t=e;if(t.type!==`tempo`)return`0:${t.nonce}`;let n=t.nonceKey??0n;return n===li?`expiring:${nA(t)}`:`${n}:${t.nonce}`},getReason({replaced:e,replacement:t}){return rA(e,t)}};function nA(e){let t=e,n=Mt({accessList:t.accessList,authorizationList:t.authorizationList,calls:t.calls,chainId:t.chainId,feePayerSignature:t.feePayerSignature?null:void 0,feeToken:t.feeToken,gas:t.gas,keyAuthorization:t.keyAuthorization??void 0,maxFeePerGas:t.maxFeePerGas,maxPriorityFeePerGas:t.maxPriorityFeePerGas,nonce:BigInt(t.nonce),nonceKey:t.nonceKey,validAfter:t.validAfter,validBefore:t.validBefore});return fr(yn(se(n),t.from))}function rA(e,t){let n=iA(t),r=iA(e);return n.length===r.length&&n.every((e,t)=>aA(e,r[t]))?`repriced`:n.every(e=>e.to&&Vr(e.to,t.from)&&!e.value&&oA(e.data))?`cancelled`:`replaced`}function iA(e){return e.type===`tempo`?e.calls:[{data:e.input,to:e.to,value:e.value}]}function aA(e,t){return(e.to&&t.to?Vr(e.to,t.to):!e.to&&!t.to)&&(e.value??0n)===(t.value??0n)&&(oA(e.data)?oA(t.data):e.data===t.data)}function oA(e){return!e||e===`0x`}var sA=25,cA=((e,t)=>_e(e,t)),lA={blockTime:1e3,extendSchema:$O(),formatters:{transaction:pt({exclude:[`aaAuthorizationList`],format:Jk}),transactionReceipt:PO({format:Yk}),transactionRequest:si({format:Zk})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(r.hash){if(!r.account||typeof r.account==`string`||r.account.source!==`configurable`)throw Error(`A local configurable account is required to approve a stored configurable account transaction.`);if(!r.owner||typeof r.owner==`string`)throw Error(`A local owner account is required to approve a stored configurable account transaction.`);if(r.owner.source!==`root`)throw Error(`A Tempo owner account is required to approve a stored configurable account transaction.`);let e=await w(t,mk,`getTransaction`)({hash:r.hash}),n=`operation`in e?e.operation:void 0;if(!n)throw Error(`Expected an account operation transaction.`);if(!Vr(n.account,r.account.address))throw Error(`Account operation account does not match the requested account.`);let i=x(n.transaction);if(fp({account:n.account,config:n.config,transaction:n.transaction,type:`transaction`}).toLowerCase()!==r.hash.toLowerCase())throw Error(`Account operation hash does not match transaction.`);return{...i,gas:i.gas??0n,maxFeePerGas:i.maxFeePerGas??0n,maxPriorityFeePerGas:i.maxPriorityFeePerGas??0n,account:r.account,from:n.account,accountSimulation:uA({config:n.config,local:r.account}),owner:r.owner}}if(n===`afterFillParameters`)return r.gas!==void 0&&r.feePayer&&!r.feePayerSignature&&(r.keyAuthorization?.signature.type===`webAuthn`?r.gas=(r.gas??0n)+20000n:r.account?.source===`accessKey`&&(r.gas=(r.gas??0n)+10000n)),r;let i=(()=>{if(r.account?.source===`configurable`)return{account:r.account.address,config:r.account.config,local:r.account}})();if(r.owner&&!i)throw Error(`A configurable account is required when an owner is provided.`);if(r.owner&&typeof r.owner==`string`)throw Error(`A local owner account is required to approve a configurable account transaction.`);if(r.owner&&r.owner.source!==`root`)throw Error(`A Tempo owner account is required to approve a configurable account transaction.`);let a=!!i&&!!r.owner&&t.transport.accounts===!0;if(i){let{account:e,local:n}=i;if(!e)throw Error(`A configurable account address is required with a current config.`);let o=await(async()=>{if(i.config)return i.config;if(!a)return;let n=await w(t,Bk,`getConfig`)({address:e});if(!n)throw Error(`No current account config is cached for account ${e}. Provide the current config.`);return n})();if(!o)throw Error(`An account config is required to prepare a transaction.`);r.from=e,r.accountSimulation=uA({config:o,local:n})}let o=await(async()=>{if(r.nonceKey===`expiring`||r.nonceKey===li)return!0;if(r.nonceKey!==void 0||i)return!1;if(r.feePayer&&r.nonceKey===void 0)return!0;let e=r.account,t=typeof e==`string`?e:e?.address;return t&&r.nonceKey===void 0?await eA(t.toLowerCase()):!1})();if(a&&r.nonceKey===void 0?(r.nonceKey=an(on(31))+1n,r.nonce=0):o?(r.nonceKey=li,r.nonce??=0,r.validAfter===void 0&&(r.validAfter=fA()),r.validBefore===void 0&&(r.validBefore=Math.floor(Date.now()/1e3)+sA)):r.nonceKey!==void 0&&BigInt(r.nonceKey)!==0n&&(r.nonce=typeof r.nonce==`number`?r.nonce:0),!r.keyAuthorization&&r.account?.source===`accessKey`){let e=r.account.keyAuthorizationManager;if(e){let n=r.chainId??r.chain?.id;if(n!==void 0){let i=r.account.address,a=r.account.accessKeyAddress,o={address:i,accessKey:a,chainId:n},s=await e.get(o);if(s){let n=BigInt(Math.floor(Date.now()/1e3));if(s.expiry!=null&&BigInt(s.expiry)<=n)await e.remove(o);else{let c=await w(t,Vt,`getMetadata`)({account:i,accessKey:a});Vr(c.address,a)&&!c.isRevoked&&c.expiry>n?await e.remove(o):r.keyAuthorization=s}}}}}return!r.feeToken&&r.chain?.feeToken&&(r.feeToken=r.chain.feeToken),r},{runAt:[`beforeFillTransaction`,`afterFillParameters`]}],serializers:{transaction:cA,async transactionEnvelope({serializedTransaction:e,transaction:t}){let n=t;if(!n.accountSimulation)return e;try{Xe(e)}catch{if(x(e).signature?.type===`configurable`)return e;throw Error(`A Tempo owner account is required to approve a configurable account transaction.`)}return await cA({...n,signatures:[...n.signatures??[],e]})}},transactionReplacement:tA,async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)return i;if(i instanceof Uint8Array)return xn(i)})(),s=(()=>{if(o)try{return Xe(o)}catch{return}})();if(s){if(s?.type===`keychain`&&a===`allowAccessKey`){let i=s.version===`v2`?fr(yn(`0x04`,r,n)):r,a=(()=>{try{return bt({payload:i,signature:s.inner})}catch{return}})();if(!a)return!1;let o=await Vt(e,{account:n,accessKey:a,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});return o.isRevoked||o.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:kt(s.inner,{address:a,payload:i})}if(s.type===`configurable`)return await Ve(e,{blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical,...Wk.call({account:n,hash:r,signature:o})}).catch(e=>{if(e instanceof ei&&e.walk(e=>e instanceof pr))return!1;throw e});if(s.type===`p256`||s.type===`webAuthn`){let i=await WO(e,{address:n,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return kt(s,{address:n,payload:r})}}return await w(e,Sk,`verifyHash`)({...t,chain:null})}};function uA(e){let{config:t,local:n}=e;return{approvals:pA(t).map(e=>{let t=n?.owners.find(t=>Vr(t.address,e.owner));return{...dA(t),owner:e.owner}}),config:t}}function dA(e){let t=(()=>{if(e&&typeof e==`object`&&`keyType`in e&&typeof e.keyType==`string`)return e.keyType})();return!t||t===`webAuthn`?{keyData:`0x0578`,keyType:`webAuthn`}:t===`p256`||t===`secp256k1`?{keyType:t}:{keyData:`0x0578`,keyType:`webAuthn`}}function fA(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(on(8))%e)}function pA(e){let t=[...e.owners].sort((e,t)=>Number(t.weight)-Number(e.weight)||e.owner.toLowerCase().localeCompare(t.owner.toLowerCase())),n=[],r=0;for(let i of t.slice(0,8)){if(r>=Number(e.threshold))break;n.push(i),r+=Number(i.weight)}return n.sort((e,t)=>e.owner.toLowerCase().localeCompare(t.owner.toLowerCase()))}var mA=QO({...lA,id:4217,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.tempo.xyz`}},contracts:{earnFactory:{address:`0x3085A8003f340CD51C72D9e1a1298CDafB171B02`},erc4626EngineFactory:{address:`0xd43D00981222a8db444A528E69f19E3cE5A7D2Ff`}},name:`Tempo Mainnet`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.tempo.xyz`],webSocket:[`wss://rpc.tempo.xyz`]}}}),hA=QO({...lA,id:31318,name:`Tempo Devnet`,hardfork:`t3`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.devnet.tempo.xyz`}},nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.devnet.tempoxyz.dev`],webSocket:[`wss://rpc.devnet.tempoxyz.dev`]}},testnet:!0}),gA=QO({...lA,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}}),_A=QO({...lA,id:42431,hardfork:`t5`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.testnet.tempo.xyz`}},contracts:{earnFactory:{address:`0x1de6B233984583F4d936ae4265f3b60282b70cc6`},erc4626EngineFactory:{address:`0x0d57c10249eb3a92b7d81bBA6221F80F2865448A`}},name:`Tempo Testnet (Moderato)`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.moderato.tempo.xyz`],webSocket:[`wss://rpc.moderato.tempo.xyz`]}},testnet:!0});function vA(e){let{addresses:t,currency:n,decimals:r,name:i,popular:a,symbol:o}=e;function s(e){let s=t[e];if(!s)throw Error(`Token has no address for chain id "${e}".`);return{address:s,currency:n,decimals:r,name:i,popular:a,symbol:o}}return Object.defineProperties(s,{addresses:{enumerable:!0,value:t},currency:{enumerable:!0,value:n},decimals:{enumerable:!0,value:r},name:{enumerable:!0,value:i},popular:{enumerable:!0,value:a},symbol:{enumerable:!0,value:o}})}var yA=vA({addresses:{42431:`0x20c0000000000000000000000000000000000001`},currency:`USD`,decimals:6,name:`AlphaUSD`,symbol:`alphaUSD`}),bA=vA({addresses:{42431:`0x20c0000000000000000000000000000000000002`},currency:`USD`,decimals:6,name:`BetaUSD`,symbol:`betaUSD`}),xA=vA({addresses:{4217:`0x20c000000000000000000000f047dd7018e50367`},currency:`BRL`,decimals:6,name:`BRLA Token`,symbol:`BRLA`}),SA=vA({addresses:{4217:`0x20c000000000000000000000c412ec89d0c08be5`},currency:`BTC`,decimals:6,name:`Coinbase Wrapped BTC`,symbol:`cbBTC`}),CA=vA({addresses:{4217:`0x20c00000000000000000000042109aef2f8b28e1`},currency:`CHF`,decimals:6,name:`AllUnity CHF`,symbol:`CHFAU`}),wA=vA({addresses:{1:`0x72DFB2E44f59C5AD2bAFE84314E5b99a7cd5075E`,5042:`0x171A4217b86A807A64eB94757Db6849fb4bDbAA0`,5042002:`0xf0C4a4CE82A5746AbAAd9425360Ab04fbBA432BF`,11155111:`0x3a3fe695F684Bf9b9e43CF43C2b895Ea5e392bB3`},currency:`BTC`,decimals:8,name:`Circle Wrapped Bitcoin`,symbol:`cirBTC`}),TA=vA({addresses:{4217:`0x20c0000000000000000000000520792dcccccccc`},currency:`USD`,decimals:6,name:`Cap USD`,symbol:`cUSD`}),EA=vA({addresses:{4217:`0x20c0000000000000000000006fd9a167923ba194`},currency:`USD`,decimals:6,name:`Deel USD`,symbol:`DLUSD`}),DA=vA({addresses:{4217:`0x20c0000000000000000000009a4a4b17e0dc6651`},currency:`EUR`,decimals:6,name:`AllUnity EUR`,symbol:`EURAU`}),OA=vA({addresses:{1:`0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c`,25:`0xA6dE01a2d62C6B5f3525d768f34d276652C554c8`,338:`0x31f7538adb53cF16350e6B0c89d03D91b7D12c46`,480:`0x1C60ba0A0eD1019e8Eb035E6daF4155A5cE2380B`,4801:`0xe479EcA5740Ac65d6E1823bea2f1C08Bc14e954F`,5042:`0xbEf5f6d51CB62b58e6A8f77868681825C6fe21c1`,8453:`0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42`,9745:`0x3EE196E78d4d4248b849B8E1C7F44C5457FAFD2C`,43113:`0x5E44db7996c682E92a960b65AC713a54AD815c6B`,43114:`0xC891EB4cbdEFf6e073e859e987815Ed1505c2ACD`,84532:`0x808456652fdb597867f38412077A9182bf77359F`,5042002:`0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a`,11155111:`0x08210F9170F89Ab7658F0B5E3fF39b0E03C594D4`},currency:`EUR`,decimals:6,name:`EURC`,symbol:`EURC`}),kA=vA({addresses:{4217:`0x20c0000000000000000000001621e21f71cf12fb`,42431:`0x20c000000000000000000000d72572838bbee59c`},currency:`EUR`,decimals:6,name:`Bridged EURC (Stargate)`,symbol:`EURC.e`}),AA=vA({addresses:{4217:`0x20c0000000000000000000003554d28269e0f3c2`},currency:`USD`,decimals:6,name:`Frax USD`,symbol:`frxUSD`}),jA=vA({addresses:{4217:`0x20c0000000000000000000000a6da882d075a4c3`},currency:`GBP`,decimals:6,name:`Agant GBP`,symbol:`GBPA`}),MA=vA({addresses:{4217:`0x20c0000000000000000000005c0bac7cef389a11`},currency:`USD`,decimals:6,name:`Generic USD`,symbol:`GUSD`}),NA=vA({addresses:{4217:`0x20c000000000000000000000ab02d39df30bd17e`},currency:`USD`,decimals:6,name:`InfiniFi USD`,symbol:`iUSD`}),PA=vA({addresses:{1:`0x9f6F3991D525015a6F8CaF062C83b62fD3AC4436`,4217:`0x20c0000000000000000000006a37DA5C996874BE`,8453:`0xB2000000000000000000002fEb517dFeC7415344`},currency:`USD`,decimals:6,name:`OpenUSD`,popular:!0,symbol:`OUSD`}),FA=vA({addresses:{4217:`0x20c0000000000000000000000000000000000000`,42431:`0x20c0000000000000000000000000000000000000`},currency:`USD`,decimals:6,name:`PathUSD`,symbol:`pathUSD`}),IA=vA({addresses:{4217:`0x20c000000000000000000000383a23bacb546ab9`},currency:`USD`,decimals:6,name:`Re Protocol reUSD`,symbol:`reUSD`}),LA=vA({addresses:{4217:`0x20c0000000000000000000007f7ba549dd0251b9`},currency:`USD`,decimals:6,name:`Reservoir Stablecoin`,symbol:`rUSD`}),RA=vA({addresses:{4217:`0x20c000000000000000000000ae247a1130450f09`},currency:`USD`,decimals:6,name:`Stable Coin`,symbol:`SBC`}),zA=vA({addresses:{4217:`0x20c000000000000000000000048c8f36df1c9a4a`},currency:`siUSD`,decimals:6,name:`InfiniFi Staked USD`,symbol:`siUSD`}),BA=vA({addresses:{4217:`0x20c0000000000000000000008ee4fcff88888888`},currency:`stcUSD`,decimals:6,name:`Staked Cap USD`,symbol:`stcUSD`}),VA=vA({addresses:{4217:`0x20c000000000000000000000bd95bfb69fbe6ce3`},currency:`sUSDe`,decimals:6,name:`Staked USDe`,symbol:`sUSDe`}),HA=vA({addresses:{4217:`0x20c0000000000000000000008191667423f70e67`},currency:`syrupUSDC`,decimals:6,name:`Syrup USDC`,symbol:`syrupUSDC`}),UA=vA({addresses:{42431:`0x20c0000000000000000000000000000000000003`},currency:`USD`,decimals:6,name:`ThetaUSD`,symbol:`thetaUSD`}),WA=vA({addresses:{4217:`0x20c000000000000000000000111111111e910f0f`},currency:`USD`,decimals:6,name:`USD1`,symbol:`USD1`}),GA=vA({addresses:{4217:`0x20c0000000000000000000003158081efd85bfc2`},currency:`USD`,decimals:6,name:`USDBridge`,symbol:`USDB`}),KA=vA({addresses:{1:`0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48`,10:`0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85`,25:`0x3D7F2C478aAfdB65542BCB44bCeeC05849999d2D`,50:`0xfA2958CB79b0491CC627c1557F441eF849Ca8eb1`,51:`0xb5AB69F7bBada22B28e79C8FFAECe55eF1c771D4`,130:`0x078D782b760474a361dDA0AF3839290b0EF57AD6`,137:`0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359`,143:`0x754704Bc059F8C67012fEd69BC8A327a5aafb603`,146:`0x29219dd400f2Bf60E5a23d13Be72B486D4038894`,196:`0xB6CEceAB302E2E4948951eE7843FC24E92933061`,300:`0xAe045DE5638162fa134807Cb558E15A3F5A7F853`,324:`0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4`,338:`0xEb33dc5fac03833e132593659e1dE7256aB59794`,480:`0x79A02482A880bCE3F13e09Da970dC34db4CD24d1`,998:`0x2B3370eE501B4a559b57D449569354196457D8Ab`,999:`0xb88339CB7199b77E23DB6E890353E22632Ba630f`,1301:`0x31d0220469e10c4E71834a79b1f276d740d3768F`,1328:`0x4fCF1784B31630811181f670Aea7A7bEF803eaED`,1329:`0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392`,1439:`0x0C382e685bbeeFE5d3d9C29e29E341fEE8E84C5d`,1672:`0xC879C018dB60520F4355C26eD1a6D572cdAC1815`,1776:`0xa00C59fF5a080D2b954d0c75e46E22a0c371235a`,1952:`0xDec90b78111Ba2fc6FC6d84d8B9ec159A2d4b9B3`,2818:`0xCfb1186F4e93D60E60a8bDd997427D1F33bc372B`,2910:`0x7433b41C6c5e1d58D4Da99483609520255ab661B`,3343:`0x98d2919b9A214E6Fa5384AC81E6864bA686Ad74c`,4801:`0x66145f38cBAC35Ca6F1Dfb4914dF98F1614aeA88`,5042:`0x3600000000000000000000000000000000000000`,8453:`0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`,9745:`0x2d661C89D812261039AF9764eceaAee884f5F67F`,10143:`0x534b2f3A21130d7a60830c2Df862319e593943A3`,33431:`0x2d9F7CAD728051AA35Ecdc472a14cf8cDF5CFD6B`,42161:`0xaf88d065e77c8cC2239327C5EDb3A432268e5831`,42220:`0xcebA9300f2b948710d2653dD7B07f33A8B32118C`,43113:`0x5425890298aed601595a70AB815c96711a31Bc65`,43114:`0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E`,57054:`0xA4879Fed32Ecbef99399e5cbC247E533421C4eC6`,57073:`0x2D270e6886d130D724215A266106e6832161EAEd`,59141:`0xFEce4462D57bD51A6A552365A011b95f0E16d9B7`,59144:`0x176211869cA2b568f2A7D4EE941E073a821EE1ff`,64165:`0x0BA304580ee7c9a980CF72e55f5Ed2E9fd30Bc51`,80002:`0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582`,81224:`0xd996633a415985DBd7D6D12f4A4343E31f5037cf`,84532:`0x036CbD53842c5426634e7929541eC2318f3dCF7e`,98866:`0x222365EF19F7947e5484218551B56bb3965Aa7aF`,98867:`0xcB5f30e335672893c7eb944B374c196392C19D18`,421614:`0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d`,688689:`0xcfC8330f4BCAB529c625D12781b1C19466A9Fc8B`,763373:`0xFabab97dCE620294D2B0b0e46C68964e326300Ac`,812242:`0x6d7f141b6819C2c9CC2f818e6ad549E7Ca090F8f`,5042002:`0x3600000000000000000000000000000000000000`,11142220:`0x01C5C0122039549AD1493B8220cABEdD739BC44E`,11155111:`0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238`,11155420:`0x5fd84259d66Cd46123540766Be93DFE6D43130D7`},currency:`USD`,decimals:6,name:`USD Coin`,popular:!0,symbol:`USDC`}),qA=vA({addresses:{4217:`0x20c000000000000000000000b9537d11c60e8b50`,42431:`0x20c0000000000000000000009e8d7eb59b783726`},currency:`USD`,decimals:6,name:`Bridged USDC (Stargate)`,symbol:`USDC.e`}),JA=vA({addresses:{4217:`0x20c0000000000000000000002f52d5cc21a3207b`},currency:`USD`,decimals:6,name:`USDe`,symbol:`USDe`}),YA=vA({addresses:{4217:`0x20c00000000000000000000014f22ca97301eb73`},currency:`USD`,decimals:6,name:`USDT0`,symbol:`USDT0`}),XA=vA({addresses:{1:`0x136471a34f6ef19fE571EFFC1CA711fdb8E49f2b`,56:`0x8D0fA28f221eB5735BC71d3a0Da67EE5bC821311`,97:`0x109656Aba6F175c634c63C9874f29CeAAAB8E606`,5042002:`0xe9185F0c5F296Ed1797AaE4238D26CCaBEadb86C`,11155111:`0x38D3A3f8717F4DB1CcB4Ad7D8C755919440848A3`},currency:`USD`,decimals:6,name:`US Yield Coin`,symbol:`USYC`}),ZA=vA({addresses:{4217:`0x20c000000000000000000000aeed2ec36a54d0e5`},currency:`wsrUSD`,decimals:6,name:`Wrapped Savings rUSD`,symbol:`wsrUSD`}),QA={all:[yA,bA,xA,SA,CA,wA,TA,EA,DA,OA,kA,AA,jA,MA,NA,PA,FA,IA,LA,RA,zA,BA,VA,HA,UA,WA,GA,KA,qA,JA,YA,XA,ZA],popular:[PA,KA],tempo:[yA,bA,xA,SA,CA,TA,EA,DA,kA,AA,jA,MA,NA,PA,FA,IA,LA,RA,zA,BA,VA,HA,UA,WA,GA,qA,JA,YA,ZA]},$A=new WeakSet,ej=new WeakSet;function tj(e){return $A.has(e)}function nj(e){return ej.has(e)}var rj=new WeakMap,ij=`viem:relay:cache:`;function aj(e){if(e)return{getItem:t=>e.getItem(t),setItem:(t,n)=>e.setItem(t,n),removeItem:t=>e.removeItem(t)}}async function oj(e,t){let{store:n,ttl:r}=t,i=`${ij}${t.key}`,a=!0,o=Error(`Relay cache operation timed out.`);return ek(async()=>{let t=await n.getItem(i);if(!a)throw o;if(t)try{let e=JSON.parse(t,(e,t)=>{if(typeof t!=`string`||!t.startsWith(ij))return t;if(t.startsWith(`${ij}string:`))return t.slice(`${ij}string:`.length);if(t.startsWith(`${ij}bigint:`))return BigInt(t.slice(`${ij}bigint:`.length));throw TypeError(`Invalid relay cache value.`)});if(e.expiresAt>Date.now())return e.value}catch{}let s=rj.get(n);s||(s=new Map,rj.set(n,s));let c=s.get(i);if(c)return c;let l=(async()=>{let t=await e();if(!a)throw o;return t!==void 0&&await n.setItem(i,JSON.stringify({value:t,expiresAt:Date.now()+r},(e,t)=>typeof t==`bigint`?`${ij}bigint:${t}`:typeof t==`string`&&t.startsWith(ij)?`${ij}string:${t}`:t)),t})().finally(()=>s.delete(i));return s.set(i,l),l},{timeout:3e4,errorInstance:o}).finally(()=>{a=!1})}async function sj(e,t,n,r){let i=new AbortController,a=()=>i.abort(n.signal?.reason);n.signal?.addEventListener(`abort`,a,{once:!0}),n.signal?.aborted&&a();let o=setTimeout(()=>i.abort(new cp({message:`Relay fill exceeded its deadline.`})),r.timeout??1e4),s=i.signal,c,l=new Promise((e,t)=>{c=t}),u=()=>c(s.reason);s.addEventListener(`abort`,u,{once:!0});try{return s.throwIfAborted(),await Promise.race([e(t,{...n,signal:s}),l])}finally{clearTimeout(o),n.signal?.removeEventListener(`abort`,a),s.removeEventListener(`abort`,u),i.abort()}}async function cj(e,t){let{account:n=ce,tokens:r=[],targets:i=[]}=t,a=[...new Set(i.map(e=>Ip(e).masterId))],{data:o}=await ni(e,{batch:!1,data:ui([lj,Yr([{type:`address`},{type:`address`},{type:`address[]`},{type:`address`},{type:`bytes4[]`}],[n,Ke,r,Wt,a])])}),[s,c,l,u,d]=Zr([{type:`address`},{type:`uint256`},{type:`uint256[]`},{type:`bool`},{type:`address[]`}],o??`0x`);return{preferredToken:s,preferredBalance:c,balances:r.map((e,t)=>({address:e,balance:l[t]})),virtualAddresses:u&&i.length>0?Object.fromEntries(i.map(e=>{let t=d[a.indexOf(Ip(e).masterId)];return[e,t===`0x0000000000000000000000000000000000000000`?null:t]})):void 0}}var lj=`0x608060405234801561001057600080fd5b506040516108be3803806108be83398101604081905261002f916106ed565b6040516001600160a01b038616602482015260009061008090869060440160408051601f198184030181529190526020810180516001600160e01b03908116631da931f560e31b179091526103fc16565b9150600090506001600160a01b0382111561009c57600061009e565b815b905060006001600160a01b038816156101305760405141602482015260009081906100fb908a9060440160408051601f198184030181529190526020810180516001600160e01b039081166336e2a53d60e11b179091526103fc16565b9150915081801561011357506001600160a01b038111155b1561012d578015610124578061012a565b608360961b5b92505b50505b600086516001600160401b0381111561014b5761014b610601565b604051908082528060200260200182016040528015610174578160200160208202803683370190505b506040516001600160a01b038b1660248201529091506000908190819060440160408051601f198184030181529190526020810180516001600160e01b03166370a0823160e01b179052905060005b8a51811015610270576101f78b82815181106101e1576101e16107e9565b6020026020010151838e8961042c60201b60201c565b858281518110610209576102096107e9565b602002602001018181525050866001600160a01b03168b8281518110610231576102316107e9565b60200260200101516001600160a01b031603610268576001925084818151811061025d5761025d6107e9565b602002602001015193505b6001016101c3565b508115801561028757506001600160a01b03861615155b1561029b5761029886828d8861042c565b92505b600088516001600160401b038111156102b6576102b6610601565b6040519080825280602002602001820160405280156102df578160200160208202803683370190505b509050600160005b8a518110156103c7576000806103648e8e8581518110610309576103096107e9565b602002602001015160405160240161033191906001600160e01b031991909116815260200190565b60408051601f198184030181529190526020810180516001600160e01b03908116636c2558b360e11b179091526103fc16565b9150915081158061037b57506001600160a01b0381115b1561038957600093506103bd565b8085848151811061039c5761039c6107e9565b60200260200101906001600160a01b031690816001600160a01b0316815250505b50506001016102e7565b50600088868884866040516020016103e3959493929190610844565b6040516020818303038152906040529050805160208201f35b60008060405160208185516020870188620186a0fa60203d1015169250821561042457805191505b509250929050565b60008061043986866103fc565b91505080158061045057506001600160a01b038316155b1561045f576000915050610565565b826001600160a01b0316866001600160a01b03161480610485575061048584878561056d565b15610491579050610565565b6040805160048152602481019091526020810180516001600160e01b03908116630217a4b760e41b179091526000916104cd918991906103fc16565b9150508015806104e357506001600160a01b0381115b156104f357600092505050610565565b806001600160a01b03808216908916148061051f5750846001600160a01b0316816001600160a01b0316145b156105305760009350505050610565565b61053b86898361056d565b801561054d575061054d86828761056d565b1561055d57829350505050610565565b600093505050505b949350505050565b6040516001600160a01b03808416602483015282166044820152600090819060640160408051601f198184030181529181526020820180516001600160e01b031663298d501f60e11b1781528151835193945092839189620186a0fa600060208301511160403d101582161693505050509392505050565b80516001600160a01b03811681146105fc57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561063f5761063f610601565b604052919050565b60006001600160401b0382111561066057610660610601565b5060051b60200190565b600082601f83011261067b57600080fd5b815161068e61068982610647565b610617565b8082825260208201915060208360051b8601019250858311156106b057600080fd5b602085015b838110156106e35780516001600160e01b0319811681146106d557600080fd5b8352602092830192016106b5565b5095945050505050565b600080600080600060a0868803121561070557600080fd5b61070e866105e5565b945061071c602087016105e5565b60408701519094506001600160401b0381111561073857600080fd5b8601601f8101881361074957600080fd5b805161075761068982610647565b8082825260208201915060208360051b85010192508a83111561077957600080fd5b6020840193505b828410156107a257610791846105e5565b825260209384019390910190610780565b95506107b492505050606087016105e5565b60808701519092506001600160401b038111156107d057600080fd5b6107dc8882890161066a565b9150509295509295909350565b634e487b7160e01b600052603260045260246000fd5b600081518084526020840193506020830160005b8281101561083a5781516001600160a01b0316865260209586019590910190600101610813565b5093949350505050565b6001600160a01b0386168152602080820186905260a060408301819052855190830181905260009186019060c0840190835b81811015610894578351835260209384019390920191600101610876565b5050851515606085015283810360808501526108b081866107ff565b999850505050505050505056fe`;function uj(e){if(typeof e==`number`)return e;if(typeof e==`bigint`)return Number(e);if(typeof e==`string`){if(!/^(?:0x[0-9a-f]+|[0-9]+)$/i.test(e))return;let t=Number(e);if(Number.isFinite(t))return t}}function dj(e){let{to:t,data:n,value:r,...i}=e,a=fj(e.keyAuthorization),o=a?{keyAuthorization:a}:{};if(Array.isArray(e.calls))return{...e,...o,calls:e.calls.map(e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw new lp({message:`Expected a transaction call object.`});return pj(e.to),{...e,value:mj(e.value)}})};pj(t);let s={...t===void 0?{}:{to:t},...n===void 0?{}:{data:n},...r===void 0?{}:{value:mj(r)}};return{...i,...o,calls:[s]}}function fj(e){if(!e||typeof e!=`object`)return;let t=e.signature;if(t&&typeof t==`object`)return typeof t.signature==`object`&&t.signature!==null?We(e):e}function pj(e){if(e!=null&&(typeof e!=`string`||!nn(e,{strict:!1})))throw new lp({message:`Invalid transaction call target.`})}function mj(e){if(typeof e!=`string`||!e.startsWith(`0x`))return e;if(!/^0x[\da-f]*$/i.test(e))throw new lp({message:`Invalid transaction value.`});return BigInt(e===`0x`?`0x0`:e)}function hj(e){return typeof e==`string`?e.startsWith(`0x76`)||e.startsWith(`0x78`):!1}function gj(e){if(!e)throw Error("Expected `tx` in eth_fillTransaction response.");return jp({type:`0x76`,...e})}function _j(e){return{...Mp(e),...`nonceKey`in e&&e.nonceKey!==void 0?{nonceKey:k(e.nonceKey)}:{}}}function vj(e){let t=e,n,r=new Set;for(;t&&typeof t==`object`&&!r.has(t);){r.add(t);let e=t;!(t instanceof Ee)&&typeof e.code==`number`&&typeof e.message==`string`&&(n=t instanceof op?t:{code:e.code,message:e.message,data:e.data}),t=e.cause}return n?n.code===-32603&&/^Revm error: transaction expired(?:\.|: .+)?$/.test(n.message)?new sp({message:`Transaction expired.`,data:{code:`transaction_expired`}}):n instanceof op?n:new op(n):new up({message:`Internal error`,data:{code:`internal_error`}})}function yj(e,t){let n={...t,...e},r=e.calls;if(Array.isArray(r)&&r.length>0)return n;let i=t.calls;if(Array.isArray(i))return n.calls=i,n;let{to:a,data:o,value:s}=t;return a===void 0&&o===void 0&&s===void 0||(n.calls=[{...a===void 0?{}:{to:a},...o===void 0?{}:{data:o},...s===void 0?{}:{value:s}}]),n}async function bj(e,t){let n=xj(t.calls);if(n.length!==0)return(await cj(e,{targets:n})).virtualAddresses}function xj(e){let t=new Set;for(let n of e)for(let e of[n.to,Sj(n.data)])if(e&&ci(e)&&Fp(e)&&(t.add(e.toLowerCase()),t.size>100))throw new lp({message:`Virtual-address targets exceed the limit of 100 addresses.`});return[...t]}function Sj(e){if(!e)return;let t=e.slice(0,10).toLowerCase();if(Cj.has(t))try{let{args:t,functionName:n}=rc({abi:tn,data:e});if((n===`transfer`||n===`transferWithMemo`)&&typeof t[0]==`string`)return t[0];if((n===`transferFrom`||n===`transferFromWithMemo`)&&typeof t[1]==`string`)return t[1]}catch{}}var Cj=new Set([`0xa9059cbb`,`0x95777d59`,`0x23b872dd`,`0x929c2539`]);function wj(e){let t=e.calls;return t&&t.length>0?t.map(e=>({...e.to?{to:e.to}:{},...e.data?{data:e.data}:{},...e.value?{value:e.value}:{}})):[{...e.to?{to:e.to}:{},...e.data?{data:e.data}:{},...e.value?{value:e.value}:{}}]}async function Tj(e){return QA.tempo.flatMap(t=>{let n=t.addresses[e];return n?[n]:[]})}async function Ej(e,t){let{token:n,tokenMetadata:r,store:i}=t,a=r?.[n]??r?.[n.toLowerCase()];if(rt(n)&&a)return{decimals:6,symbol:a.symbol,name:a.name};let o=()=>Ft(e,{token:n}),s=i?await oj(o,{key:`tokenMetadata:${e.chain?.id??0}:${n.toLowerCase()}`,store:i,ttl:864e5}):await o();return{decimals:s.decimals??6,symbol:a?.symbol||s.symbol,name:a?.name||s.name}}async function Dj(e,t){let{account:n,calls:r,feeToken:i,gas:a,store:o,maxFeePerGas:s,signal:c}=t;c?.throwIfAborted();try{let t=i&&!r.some(e=>e.to?.toLowerCase()===i.toLowerCase())?[Et.call(e,{account:n??`0x0000000000000000000000000000000000000000`,token:i})]:[],l=await qk(e,{account:n===`0x0000000000000000000000000000000000000000`?void 0:n,calls:[...r,...t],traceTransfers:!0}),u=l.results.slice(0,r.length),{tokenMetadata:d}=l;c?.throwIfAborted();let f=[];for(let e of u)e.logs&&f.push(...e.logs);return{balanceDiffs:n?await Oj(e,{account:n,store:o,signal:c,logs:f,tokenMetadata:d}):{},fee:await kj(e,{feeToken:i,gas:a,store:o,signal:c,maxFeePerGas:s,tokenMetadata:d}),tokenMetadata:d}}catch{return c?.throwIfAborted(),{balanceDiffs:void 0,fee:await kj(e,{feeToken:i,gas:a,store:o,maxFeePerGas:s,signal:c}),tokenMetadata:void 0}}}async function Oj(e,t){let{account:n,store:r,logs:i,tokenMetadata:a,signal:o}=t;o?.throwIfAborted();let s=n.toLowerCase(),c=De({abi:[_u(tn,`Transfer`)],eventName:`Transfer`,logs:i}),l=De({abi:[_u(tn,`Approval`)],eventName:`Approval`,logs:i}),u=new Map;for(let e of c){let t=e.address.toLowerCase(),n=e.args.from.toLowerCase(),r=e.args.to.toLowerCase(),i=u.get(t)??{incoming:0n,outgoing:0n,approved:0n,recipients:new Set,token:e.address};n===s&&(i.outgoing+=e.args.amount,i.recipients.add(e.args.to)),r===s&&(i.incoming+=e.args.amount),u.set(t,i)}let d=new Map;for(let e of l)e.args.owner.toLowerCase()===s&&d.set(`${e.address.toLowerCase()}:${e.args.spender.toLowerCase()}`,e);for(let e of d.values()){if(e.args.amount===0n)continue;let t=e.address.toLowerCase(),n=u.get(t)??{incoming:0n,outgoing:0n,approved:0n,recipients:new Set,token:e.address};n.approved+=e.args.amount,n.recipients.add(e.args.spender),u.set(t,n)}let f=[...u.values()].filter(e=>(e.outgoing>e.incoming?e.outgoing-e.incoming:e.incoming-e.outgoing)>0n||e.approved>0n);if(f.length===0)return{};if(f.length>100)return;let p=new Map,m=0;if(await Promise.all(Array.from({length:Math.min(10,f.length)},async()=>{for(;m<f.length;){let t=f[m++];try{let n=await Ej(e,{token:t.token,tokenMetadata:a,store:r});p.set(t.token.toLowerCase(),n)}catch{o?.throwIfAborted()}}})),o?.throwIfAborted(),p.size!==f.length)return;let h=[];for(let e of f){let t=e.incoming>e.outgoing?e.incoming-e.outgoing:0n,n=(e.outgoing>e.incoming?e.outgoing-e.incoming:0n)+e.approved,r=p.get(e.token.toLowerCase()),i=r.decimals,a={address:e.token,decimals:i,name:r.name,symbol:r.symbol};t>0n&&h.push({...a,direction:`incoming`,formatted:Ie(t,i),recipients:[],value:k(t)}),n>0n&&h.push({...a,direction:`outgoing`,formatted:Ie(n,i),recipients:[...e.recipients],value:k(n)})}return{[n]:h}}async function kj(e,t){let{feeToken:n,gas:r,store:i,maxFeePerGas:a,tokenMetadata:o,signal:s}=t;if(s?.throwIfAborted(),n&&r&&a)try{let t=await Ej(e,{token:n,tokenMetadata:o,store:i});s?.throwIfAborted();let c=r*a,l=10n**BigInt(Math.max(0,18-t.decimals)),u=(c+l-1n)/l;return{amount:k(u),decimals:t.decimals,formatted:Ie(u,t.decimals),symbol:t.symbol}}catch{s?.throwIfAborted();return}}function Aj(e){if(!(e instanceof Error))return!1;let t=new Set,n=[e];for(;n.length;){let e=n.pop();if(!e||typeof e!=`object`||t.has(e))continue;t.add(e);let r=e;if(r.code===3||r.name===`UpstreamRevertError`||r.name===`ExecutionRevertedError`||r.name===`ContractFunctionRevertedError`||[r.message,r.details].some(e=>typeof e==`string`&&/^execution reverted\b/i.test(e)))return!0;n.push(r.cause,r.error)}return!1}async function jj(e,t,n,r){let i=Rt(e),a={from:t.from,to:t.to??null,gas:`0x0`,nonce:`0x0`,value:`0x0`,maxFeePerGas:`0x0`,maxPriorityFeePerGas:`0x0`};if(i.errorName===`InsufficientBalance`&&i.args?.length===3){let[e,o,s]=i.args,c=dj(t),l=c?wj(c):void 0,[{balanceDiffs:u,tokenMetadata:d},f]=l?await Promise.all([Dj(n,{account:ce,calls:l,store:r}),bj(n,{calls:l}).catch(()=>void 0)]):[{balanceDiffs:void 0,tokenMetadata:void 0},void 0],p=t.from&&u?{[t.from]:u[`0x0000000000000000000000000000000000000000`]??[]}:u,m=await Ej(n,{token:s,tokenMetadata:d,store:r}).catch(()=>void 0),h=o-e;return{tx:a,capabilities:{balanceDiffs:p,error:dt(i),insufficientFunds:m?{amount:k(h),decimals:m.decimals,formatted:Ie(h,m.decimals),token:s,symbol:m.symbol}:void 0,sponsored:!1,...f?{virtualAddresses:f}:{}}}}let o=dj(t),s=o?await bj(n,{calls:wj(o)}).catch(()=>void 0):void 0;return{tx:a,capabilities:{error:dt(i),sponsored:!1,...s?{virtualAddresses:s}:{}}}}function Mj(e,t={},n){let r=t,i=t.plugins??[];if(i.length===0)return e;if(i.filter(e=>e.signTransaction).length>1)throw Error(`Only one relay transaction signer may be configured.`);let a=async(t,a={})=>{let o=new Map,s=new Map,c=e=>{if(!e)return;let t=o.get(e);return t||(t=aj(e),o.set(e,t)),t},l=async(t,o,d)=>{let f={request:o,options:{...d},result:void 0},p=new Map,m=e=>{let t=p.get(e);if(t)return t;let i=new Map,a=(e=f.options.chainId)=>{if(e===void 0||!Number.isSafeInteger(e)||e<=0)throw new lp({message:`A chain ID is required to resolve the downstream client.`});return e},o={get request(){return f.request},set request(e){f.request=e},get result(){return f.result},set result(e){f.result=e},get options(){return f.options},set options(e){f.options=e},get client(){return o.getClient()},getClient(t){let r=a(t),o=i.get(r);if(o)return o;let s=n?.(r);if(s?.chain&&s.chain.id!==r)throw new lp({message:`Conflicting chain ids.`});return o=zO({chain:{...mA,...s?.chain,id:r},batch:{multicall:{deployless:!0}},transport:t=>{let n=Nk({request:async(t,n)=>(await l(e+1,t,{...f.options,...n,chainId:r})).state.result},{retryCount:0})(t);return{...n,request:n.config.request}}}),i.set(r,o),o},async resolveTokens(e){let t=a(e),n=s.get(t);return n||(n=Promise.resolve().then(()=>(r.resolveTokens??Tj)(t)),s.set(t,n)),n},getStore:c};return p.set(e,o),o},h=async t=>{if(t===i.length){let t=f.request.params?.[0],n=f.request.method===`eth_fillTransaction`&&t?.feePayer===!0&&!t.feePayerSignature?t:void 0,r=n?Pj(n):void 0,i=(()=>{if(!n)return f.request;let{maxFeePerGas:e,maxPriorityFeePerGas:t,...i}=n;return{...f.request,params:[{...r?i:n,feeToken:void 0}]}})();a.signal?.throwIfAborted();let o=await e(i,{...f.options,...u?{signal:a.signal}:{}});f.result=r?Fj(o,r):o;return}let n=i[t],r=m(t);if(!n.handleRequest)return h(t+1);let o=!1,s=await n.handleRequest(r,async()=>{if(o)throw Error(`next() may only be called once per middleware invocation.`);o=!0,await h(t+1)});s!==void 0&&(f.result=s)};return await h(t),{state:f,contextAt:m}},u=t.method===`eth_fillTransaction`,d=[`eth_signRawTransaction`,`eth_sendRawTransaction`,`eth_sendRawTransactionSync`].includes(t.method),f=t.params?.[0],p;try{if(a.signal?.throwIfAborted(),u&&(!f||typeof f!=`object`||Array.isArray(f)))throw new lp({message:`Expected a transaction object.`});u&&dj(f);let e=(()=>{if(d&&hj(t.params?.[0]))try{return x(t.params[0]).chainId}catch{throw new lp({message:`Invalid serialized Tempo transaction.`})}if(!u||f.chainId===void 0)return;let e=uj(f.chainId);if(e===void 0||!Number.isSafeInteger(e)||e<=0)throw new lp({message:`Invalid transaction chain ID.`});return e})();if(e!==void 0&&a.chainId!==void 0&&e!==a.chainId)throw new lp({message:`Conflicting chain ids.`});if(p=await l(0,t,{...a,...(a.chainId??e)===void 0?{}:{chainId:a.chainId??e}}),!u)return p.state.result;let n=p.state.result;if(n.capabilities?.error)return n;let r=gj(yj(n.tx,dj(f))),o={...n,tx:_j(r)},s=Nj(structuredClone(o)),c=xj(wj(r)),m=o.capabilities?.virtualAddresses,[h,g,_]=await Promise.all([Promise.all(i.map((e,t)=>e.afterFill?.(s,p.contextAt(t)))),Promise.all(i.map((e,t)=>e.signTransaction?.(s,p.contextAt(t)))),c.length>0&&!c.every(e=>m&&e in m)?bj(p.contextAt(-1).client,{calls:wj(r)}).catch(()=>{a.signal?.throwIfAborted()}):void 0]);a.signal?.throwIfAborted();let v={...o.capabilities},y=new Set;for(let e of h)for(let[t,n]of Object.entries(e?.capabilities??{})){if(y.has(t))throw Error(`Conflicting relay capability: ${t}.`);y.add(t),v[t]=n}let b=g.find(e=>e!==void 0);b&&(delete o.tx.signature,o.tx.feePayerSignature=b);let S=v.sponsor??o.sponsor;return{...o,capabilities:{sponsored:!!S,...v,..._?{virtualAddresses:_}:{}}}}catch(t){if(a.signal?.throwIfAborted(),u&&Aj(t)&&f.capabilities?.errors===!0){let n=a.chainId??uj(f.chainId);return jj(t,f,zO({chain:{...mA,id:n??mA.id},transport:Nk({request:(t,r)=>e(t,{...a,...r,chainId:n,signal:a.signal})},{retryCount:0})}))}throw!u&&!d?t:vj(t)}};if(t.timeout!==void 0&&(!Number.isSafeInteger(t.timeout)||t.timeout<=0))throw new lp({message:`Expected a positive integer for timeout.`});if(t.timeout!==void 0&&t.timeout>2147483647)throw new lp({message:`The fill timeout cannot exceed 2147483647 milliseconds.`});return(e,n={})=>e.method===`eth_fillTransaction`?sj(a,e,n,t):a(e,n)}function Nj(e){if(e&&typeof e==`object`){for(let t of Object.values(e))Nj(t);Object.freeze(e)}return e}function Pj(e){if(e.gas!=null)return;let t=Ij(e.maxFeePerGas),n=Ij(e.maxPriorityFeePerGas);if(t!==null&&n!==null&&(t!==void 0||n!==void 0)&&!(t!==void 0&&n!==void 0&&n>t))return{maxFeePerGas:t,maxPriorityFeePerGas:n}}function Fj(e,t){let{tx:n}=e??{};if(!n||typeof n!=`object`||n.feePayerSignature)return e;let r=Ij(n.maxFeePerGas),i=Ij(n.maxPriorityFeePerGas),a=t.maxFeePerGas??(r!=null&&t.maxPriorityFeePerGas!==void 0&&t.maxPriorityFeePerGas>r?t.maxPriorityFeePerGas:r);if(a==null)return t.maxPriorityFeePerGas===void 0?e:{...e,tx:{...n,maxPriorityFeePerGas:k(t.maxPriorityFeePerGas)}};let o=t.maxPriorityFeePerGas??(i!=null&&i<a?i:a);return{...e,tx:{...n,maxFeePerGas:k(a),maxPriorityFeePerGas:k(o)}}}function Ij(e){if(e!=null)return typeof e==`bigint`?e>=0n&&e<=Lj?e:null:typeof e==`number`?Number.isSafeInteger(e)&&e>=0?BigInt(e):null:typeof e==`string`&&Rj.test(e)?an(e):null}var Lj=2n**256n-1n,Rj=/^0x(?:0|[1-9a-fA-F][0-9a-fA-F]{0,63})$/,zj={CLOSE_GRACE_PERIOD:`0x956c8327`,VOUCHER_TYPEHASH:`0x94739e87`,close:`0x73b57f74`,computeChannelId:`0x185eeeac`,domainSeparator:`0xf698da25`,getChannel:`0xeef95313`,getChannelState:`0xd18da8b1`,getChannelStatesBatch:`0xd1f4cda2`,getVoucherDigest:`0xf3b349e8`,open:`0xedc53b00`,requestClose:`0x675402e5`,settle:`0x97fb5104`,storageCredits:`0x4d65338b`,topUp:`0xdc48471e`,withdraw:`0x41e2c664`};function Bj(e,t,n){if(typeof t!=`function`)return n=>{let r=e(n),i=Mj((e,t)=>r.request(e,t),t,n.chain?()=>({chain:n.chain}):void 0);return{...r,request:((e,t)=>i(e,{chainId:n.chain?.id,...t})),value:{...r.value,...t.plugins?.some(tj)?{accounts:!0}:{},...t.plugins?.some(nj)?{keyAuthorization:!0}:{}}}};let{keyAuthorization:r,policy:i=`sign-only`}=n??{};return n=>{let a=e(n),o=t(n);return{...Mk({key:Bj.type,name:`Relay Proxy`,async request({method:e,params:t},n){if(e===`eth_fillTransaction`)return o.request({method:e,params:t},n);if(e===`eth_getTransactionByHash`||e===`eth_getTransactionReceipt`){let r=await a.request({method:e,params:t},n);if(r!=null)return r;let i=await(async()=>{try{return await o.request({method:`account_getOperation`,params:t},n)}catch(e){if(e instanceof Yt||e instanceof Fe)return null;throw e}})();return!i||typeof i!=`object`||!(`type`in i)||i.type!==`transaction`?r:o.request({method:e,params:t},n)}if(e===`account_approveKeyAuthorization`||e===`account_approveRawTransaction`||e===`account_approveRawTransactionSync`||e===`account_getConfig`||e===`account_getOperation`||e===`relay_saveKeyAuthorization`)return o.request({method:e,params:t},n);if(e===`eth_sendRawTransactionSync`||e===`eth_sendRawTransaction`){let r=t[0],s=x(r);if(s.signature?.type===`configurable`)return o.request({method:e,params:t},n);if(s.feePayerSignature===null){if(i===`sign-and-broadcast`)return o.request({method:e,params:t},n);{let t=await o.request({method:`eth_signRawTransaction`,params:[r]},n);return a.request({method:e,params:[t]},n)}}}return await a.request({method:e,params:t},n)},type:Bj.type}),value:{accounts:!0,...r?{keyAuthorization:r}:{}}}}}var Vj=[mA,_A,hA,gA],Hj=A().regex(ic),Uj=`https://api.tempo.xyz`;function Wj(e){if(e.apiUrls?.trim()===`none`)return;let t=Object.values($s).some(t=>t===e.chainId);try{return Ys({value:e.apiUrls,variable:`TEMPO_API_URLS`}).find(t=>t.chainId===e.chainId)?.url??(t?Uj:void 0)}catch(e){if(!(e instanceof tc))throw e;nc({error:e,message:`TEMPO_API_URLS does not parse.`});return}}function Gj(e){let t=Object.keys($s).find(t=>$s[t]===e.chainId);if(t)return t;try{return Ys({value:e.rpcUrls}).find(t=>t.chainId===e.chainId)?.name}catch(e){if(!(e instanceof tc))throw e;return}}var Kj=class extends q(`challenge_not_permitted`){name=`KeyAuthorization.ChallengeNotPermittedError`;constructor(e){let{clientId:t}=e;super({error_description:`Challenge not permitted: the app lacks the \`${OD}\` scope. Remove \`challenge\`, or grant the app the scope.`,field:`challenge`,meta:{client_id:t,scope:OD}})}},qj=class extends q(`duplicate_limit`){name=`KeyAuthorization.DuplicateLimitError`},Jj=class extends q(`duplicate_scope`){name=`KeyAuthorization.DuplicateScopeError`},Yj=class extends q(`empty_limits`){name=`KeyAuthorization.EmptyLimitsError`},Xj=class extends q(`empty_scopes`){name=`KeyAuthorization.EmptyScopesError`},Zj=class extends q(`expiry_exceeds_maximum`){name=`KeyAuthorization.ExpiryExceedsMaximumError`},Qj=class extends q(`expiry_passed`){name=`KeyAuthorization.ExpiryPassedError`},$j=class extends q(`invalid_chain`){name=`KeyAuthorization.InvalidChainError`},eM=class extends q(`invalid_expiry`){name=`KeyAuthorization.InvalidExpiryError`},tM=class extends q(`invalid_period`){name=`KeyAuthorization.InvalidPeriodError`},nM=class extends q(`invalid_public_key`){name=`KeyAuthorization.InvalidPublicKeyError`},rM=class extends q(`invalid_recipients`){name=`KeyAuthorization.InvalidRecipientsError`},iM=class extends q(`limit_exceeds_maximum`){name=`KeyAuthorization.LimitExceedsMaximumError`},aM=class extends q(`missing_key`){name=`KeyAuthorization.MissingKeyError`},oM=class extends q(`missing_permissions`){name=`KeyAuthorization.MissingPermissionsError`},sM=class extends q(`missing_recipients`){name=`KeyAuthorization.MissingRecipientsError`},cM=class extends q(`scope_without_limit`){name=`KeyAuthorization.ScopeWithoutLimitError`},lM=class extends q(`unsupported_call`){name=`KeyAuthorization.UnsupportedCallError`},uM=class extends q(`unsupported_token`){name=`KeyAuthorization.UnsupportedTokenError`},dM=class extends q(`webauthn_required`){name=`KeyAuthorization.WebAuthnRequiredError`;constructor(e){super({error_description:e.description??`Passkey required: Tempo Account ${e.account} signs key authorizations only with its passkey, on a Tempo ID page. Authorize through a redirect, popup, or device grant, or name another account.`,field:`key_authorization.account`,meta:{account:e.account}})}},fM=Gi([`0x`,A().regex(/^[0-9a-fA-F]*$/)]).meta({pattern:`^0x[0-9a-fA-F]*$`}),pM=Gi([`0x`,A().regex(/^[0-9a-fA-F]{40}$/)]).meta({pattern:`^0x[0-9a-fA-F]{40}$`}),mM=Gi([`0x`,A().regex(/^[0-9a-fA-F]{0,64}$/)]).meta({pattern:`^0x[0-9a-fA-F]{0,64}$`}),hM=Gi([`0x`,A().regex(/^[0-9a-fA-F]{64}$/)]).meta({pattern:`^0x[0-9a-fA-F]{64}$`});function gM(e){return Qi(pi([mM.meta({examples:e.examples}),Ii()]),Ii(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:an(e),encode:e=>k(e)})}var _M=M({account:Di(pM).meta({description:`The Tempo Account that the key acts for. Defaults to the account selected for the app, else the oldest.`,examples:[`0x9a073914db0d149375ac2b7fbb72c68c0780fb5f`]}),address:Di(pM).meta({description:"The access key's address. Required unless `publicKey` is present.",examples:[`0x81c0f22bd173c115d18eeea0f6a38e935ecf52fb`]}),chainId:Di(gM({examples:[`0x1079`]})).meta({description:`The chain ID the key acts on, as a hex quantity. Defaults to Tempo mainnet.`}),expiry:Di(hi()).meta({description:`When the key expires, in Unix seconds. Defaults to one year for a first-party app, and is required for a third-party app.`,examples:[1893456e3]}),keyType:Di(Fi([`p256`,`secp256k1`,`webAuthn`])).meta({description:"The signature scheme of the access key. Defaults to `secp256k1`.",examples:[`secp256k1`]}),limits:Di(na(M({limit:gM({examples:[`0x989680`]}).meta({description:"The maximum amount of the token that the key can spend, in base units, as a hex quantity. With `period`, the maximum for each period."}),period:Di(hi()).meta({description:`The seconds after which the limit resets. Absent or 0 for a one-time limit.`,examples:[86400]}),token:pM.meta({description:`The TIP-20 token the limit applies to.`,examples:[`0x20c0000000000000000000006a37DA5C996874BE`]})})).readonly()).meta({description:`The spending limit for each token. Defaults to the headless ceiling for a first-party app, and is required for a third-party app.`}),publicKey:Di(fM).meta({description:"The access key's uncompressed public key, as hex. Required without `address`.",examples:[`0x0438ef39ed22456a6956f380ebc18c50bd18c0402658bc52903817cc8a1e8b2f7ed1da68afc7f343c1debc44c04ac60e62e96bbb261d2226e7a7b96e64fd0f0765`]}),scopes:Di(na(M({address:pM.meta({description:`The contract that the key can call, such as a TIP-20 token or the TIP-1034 channel reserve.`,examples:[`0x20c0000000000000000000006a37DA5C996874BE`]}),recipients:Di(na(pM).readonly()).meta({description:"The only recipients or spenders that the call can name. Required for `approve`, and valid only for `transfer`, `transferWithMemo`, and `approve`.",examples:[[`0xff5deded16eb46018387144ff8bf41f26afb41af`]]}),selector:Di(pi([fM,A().max(256)])).meta({description:`The function that the key can call, as a 4-byte selector or a function signature. Absent to allow any function, which a TIP-20 token refuses.`,examples:[`0xa9059cbb`,`transfer(address,uint256)`]})})).readonly()).meta({description:"The calls that the key can make. Defaults to `transfer` and `transferWithMemo` on each limited token for a first-party app, and is required for a third-party app."})}),vM;(function(e){e.account=pM.meta({description:`The Tempo Account the key acts for.`,examples:[`0x9a073914db0d149375ac2b7fbb72c68c0780fb5f`]}),e.request=Di(_M.transform(RM)).meta({description:"A request to authorize the app's own access key on the user's Tempo Account, in the shape of the Accounts SDK's `authorizeAccessKey` capability.",id:`KeyAuthorizationRequest`}),e.description=M({account:pM.optional().meta({description:`The Tempo Account that the request names, if any.`,examples:[`0x9a073914db0d149375ac2b7fbb72c68c0780fb5f`]}),calls:na(M({call:Fi([`open`,`topUp`]).meta({description:"The call on the channel reserve: `open` starts a payment channel, and `topUp` adds to its deposit.",examples:[`open`,`topUp`]})})).readonly().meta({description:`The calls on the channel reserve, in the order of the scopes. Transfers and approvals are not listed, since the limits cover them.`}),expiry:hi().meta({description:`Unix seconds.`,examples:[1893456e3]}),limits:na(M({amount:A().meta({description:`In whole units.`,examples:[`1000`]}),currency:A().meta({description:"The tokens' currency, such as `USD`.",examples:[`USD`]}),period:hi().optional().meta({description:`The seconds after which the amount resets. Absent for a one-time limit.`,examples:[86400]}),tokens:na(M({amount:A().meta({description:`The token's own limit, in whole units.`,examples:[`1000`]}),symbol:A().meta({description:`The token's symbol, or its address when the token has no symbol.`,examples:[`OUSD`]})})).readonly().meta({description:`The tokens the amount spans.`})})).readonly().meta({description:`The spending limits, totaled for each currency and period.`}),unrecognized:na(M({address:pM.meta({description:`The contract that the call targets.`,examples:[`0x9a073914db0d149375ac2b7fbb72c68c0780fb5f`]}),selector:fM.optional().meta({description:`The 4-byte selector of the function. Absent when the scope allows any function on the contract.`,examples:[`0x12345678`]})})).readonly().meta({description:`The calls that Tempo ID does not recognize, which the screens warn about.`})}).meta({description:`What a key authorization grants, for approval screens.`,id:`KeyAuthorizationDescription`});let t=zi(`type`,[M({r:fM.meta({description:"The signature's 32-byte `r` value.",examples:[`0x12fe6a88b99377b94d6a628a86b9df544202c7b03827f44b16ee1a266ab98e17`]}),s:fM.meta({description:"The signature's 32-byte `s` value.",examples:[`0x4b6aa3723402498e07fb1f071673bd969d9f49a286af15ac60581d07ade24b77`]}),type:Pi(`secp256k1`).meta({description:`A secp256k1 ECDSA signature.`}),v:fM.optional().meta({description:"The legacy recovery value, which `yParity` replaces.",examples:[`0x1c`]}),yParity:fM.meta({description:"The parity of the y-coordinate of the curve point, `0x0` or `0x1`.",examples:[`0x1`]})}).meta({description:`A secp256k1 signature.`}),M({preHash:Li().meta({description:`Whether the signer hashed the digest with SHA-256 before signing it, as WebCrypto keys do.`,examples:[!0]}),pubKeyX:fM.meta({description:`The 32-byte x-coordinate of the signer's P256 public key.`,examples:[`0xdae3e3e5faba0a2aca73d4d2a4b84ad46460f3f23af8a60b17b8a13537cfd440`]}),pubKeyY:fM.meta({description:`The 32-byte y-coordinate of the signer's P256 public key.`,examples:[`0x816438c87ffd782cd0e37355eb83fbe1d4e5e905eaafa22fa27c32cc4abf7802`]}),r:fM.meta({description:"The signature's 32-byte `r` value.",examples:[`0x9da52cc71c005844434ce6996f7ea3b3262f84ec3a5d54f1d22d0bba9f2e5ea9`]}),s:fM.meta({description:"The signature's 32-byte `s` value.",examples:[`0x4b6aa3723402498e07fb1f071673bd969d9f49a286af15ac60581d07ade24b77`]}),type:Pi(`p256`).meta({description:`A P256 (secp256r1) signature.`})}).meta({description:`A P256 signature, with its public key.`}),M({pubKeyX:fM.meta({description:`The 32-byte x-coordinate of the passkey's P256 public key.`,examples:[`0xdae3e3e5faba0a2aca73d4d2a4b84ad46460f3f23af8a60b17b8a13537cfd440`]}),pubKeyY:fM.meta({description:`The 32-byte y-coordinate of the passkey's P256 public key.`,examples:[`0x816438c87ffd782cd0e37355eb83fbe1d4e5e905eaafa22fa27c32cc4abf7802`]}),r:fM.meta({description:"The signature's 32-byte `r` value.",examples:[`0x9da52cc71c005844434ce6996f7ea3b3262f84ec3a5d54f1d22d0bba9f2e5ea9`]}),s:fM.meta({description:"The signature's 32-byte `s` value.",examples:[`0x4b6aa3723402498e07fb1f071673bd969d9f49a286af15ac60581d07ade24b77`]}),type:Pi(`webAuthn`).meta({description:`A WebAuthn passkey signature.`}),webauthnData:fM.meta({description:"The assertion's authenticator data followed by its `clientDataJSON`, as hex.",examples:[`0xa7cb28053c8ee4e5394fc67a0018dc1c622dad5ce3591b8ca13094ae86d11ba605000000007b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a2271334a306257467a6157356e6247567a6157647559585231636d566b6157646c633352765a6d746c65574631644767222c226f726967696e223a2268747470733a2f2f617574682e74656d706f2e78797a222c2263726f73734f726967696e223a66616c73657d`]})}).meta({description:`A WebAuthn signature, with its public key.`})]).meta({description:`A signature by one key, as secp256k1, P256, or WebAuthn.`});e.rpc=M({account:pM.nullable().optional().meta({description:"The Tempo Account that the key is bound to (TIP-1049), or absent or `null`.",examples:[`0x9a073914db0d149375ac2b7fbb72c68c0780fb5f`]}),allowedCalls:na(M({selectorRules:na(M({recipients:na(pM).readonly().optional().meta({description:`The only recipients or spenders that the call can name. Absent to allow any address.`,examples:[[`0xff5deded16eb46018387144ff8bf41f26afb41af`]]}),selector:fM.meta({description:`The 4-byte selector of the function the key may call.`,examples:[`0xa9059cbb`]})})).readonly().optional().meta({description:`The functions that the key can call on the target. Absent to allow any function.`}),target:pM.meta({description:`The contract the key may call.`,examples:[`0x20c0000000000000000000006a37DA5C996874BE`]})})).readonly().optional().meta({description:`The calls that the key can make. Absent to allow any call.`}),chainId:fM.meta({description:`The chain ID the key acts on, as a hex quantity.`,examples:[`0xa5bf`]}),expiry:fM.nullable().optional().meta({description:"When the key expires, in Unix seconds, as a hex quantity. Absent or `null` if it never expires.",examples:[`0x6acdc1b4`]}),keyId:pM.meta({description:`The access key's address.`,examples:[`0x81c0f22bd173c115d18eeea0f6a38e935ecf52fb`]}),keyType:A().meta({description:"The signature scheme of the access key, or `multisig` for a configurable account key.",examples:[`secp256k1`]}),limits:na(M({limit:fM.meta({description:"The maximum amount of the token that the key can spend, in base units, as a hex quantity. With `period`, the maximum for each period.",examples:[`0x989680`]}),period:fM.optional().meta({description:"The seconds after which the limit resets, as a hex quantity. Absent or `0x0` for a one-time limit.",examples:[`0x15180`]}),token:pM.meta({description:`The TIP-20 token the limit applies to.`,examples:[`0x20c0000000000000000000006a37DA5C996874BE`]})})).readonly().optional().meta({description:`The spending limit for each token. Absent for no limit, and empty to allow no spending.`}),signature:pi([fM.meta({description:`A configurable account's RLP-encoded signature, which carries its owner approvals.`,examples:[`0xf8a094ff5deded16eb46018387144ff8bf41f26afb41afc0f87cf87a80a012fe6a88b99377b94d6a628a86b9df544202c7b03827f44b16ee1a266ab98e17a04b6aa3723402498e07fb1f071673bd969d9f49a286af15ac60581d07ade24b77`]}),t,M({keyId:pM.optional().meta({description:"The address of the access key that signed. Absent to recover it from `signature`.",examples:[`0x624f27c462b885a83c698cac444a106a8c519e25`]}),signature:t.meta({description:`The access key's own signature.`}),type:Pi(`keychain`).meta({description:`A signature by an access key for an account.`}),userAddress:pM.meta({description:`The Tempo Account the access key signs for.`,examples:[`0x9a073914db0d149375ac2b7fbb72c68c0780fb5f`]}),version:Fi([`v1`,`v2`]).optional().meta({description:"The keychain signature version, `v1` by default. `v2` binds the signature to `userAddress`.",examples:[`v2`]})}).meta({description:`An access key signature that wraps a primitive signature.`})]).meta({description:`The owner's signature envelope, in the node's format.`}),witness:hM.optional().meta({description:`The witness the signature binds, when the request sent one.`,examples:[`0xf1e22f902be2546fe35d49388503ef7ea5c6c0e95a0f4b89d474e58793b64dec`]})}).meta({description:`A signed key authorization (TIP-1011), in the node's RPC format.`,id:`KeyAuthorization`})})(vM||={});var yM=31536e3,bM=PA(mA.id).address,xM=Vj,SM=mA.id,CM={BRL:`5000`,BTC:`0.01`,CHF:`800`,EUR:`850`,GBP:`750`,USD:`1000`},wM=vA({addresses:{[mA.id]:`0x20c000000000000000000000f37de3740adec032`,[_A.id]:`0x20c000000000000000000000f37de3740adec032`},currency:`USD`,decimals:6,name:`MACH`,symbol:`MACH`}),TM=new Map([...QA.tempo,wM].flatMap(e=>xM.flatMap(t=>{let n=e.addresses,r=n[t.id]??(t.id===hA.id||t.id===gA.id?n[_A.id]:void 0)??(e.symbol===`OUSD`?n[mA.id]:void 0);if(!r)return[];let i=CM[e.currency??``]??CM.USD;return[[`${t.id}:${r.toLowerCase()}`,{address:ae(r),cap:Jt(i,e.decimals),currency:e.currency,decimals:e.decimals,symbol:e.symbol??r}]]}))),EM={approve:vu(`approve(address,uint256)`),transfer:vu(`transfer(address,uint256)`),transferWithMemo:vu(`transferWithMemo(address,uint256,bytes32)`)},DM={address:qt,open:zj.open,topUp:zj.topUp};function OM(e,t){let n=t.selector===void 0?void 0:VM(t.selector);return t.address.toLowerCase()===DM.address?n===DM.open||n===DM.topUp:!!BM(e,t.address)&&(n===EM.approve||n===EM.transfer||n===EM.transferWithMemo)}function kM(e,t){return t.challenge===void 0?e:{...e,witness:fe(t.challenge)}}function AM(e){let t=Math.floor(Date.now()/1e3);if(!e.chainId)return new $j({error_description:"Invalid `chainId`: 0. Use a Tempo chain ID, such as 4217.",field:`key_authorization.chainId`,meta:{chain_id:0}});let n=Number(e.chainId);if(!e.address&&!e.publicKey)return new aM({error_description:"Missing `address` or `publicKey`. Provide the access key.",field:`key_authorization.address`});if(e.address===`0x0000000000000000000000000000000000000000`)return new aM({error_description:"Invalid `address`: the zero address holds no key. Provide the address of the access key.",field:`key_authorization.address`});if(e.publicKey&&!WM(e.publicKey))return new nM({error_description:"Invalid `publicKey`. Provide an uncompressed public key, or `address`.",field:`key_authorization.publicKey`});if(!Number.isSafeInteger(e.expiry))return new eM({error_description:`Invalid \`expiry\`: ${e.expiry} is not a whole number of seconds. Use a future Unix time in seconds.`,field:`key_authorization.expiry`,meta:{expiry:e.expiry}});if(e.expiry===0)return new eM({error_description:"Invalid `expiry`: 0 never expires. Use a future Unix time.",field:`key_authorization.expiry`,meta:{expiry:0}});if(e.expiry<=t)return new Qj({error_description:`Invalid \`expiry\`: ${UM(e.expiry)} has passed. Use a future Unix time.`,field:`key_authorization.expiry`,meta:{expiry:e.expiry,now:t}});if(!e.limits.length)return new Yj({error_description:"Empty `limits`. Name at least one token, or omit `limits`.",field:`key_authorization.limits`});if(!e.scopes.length)return new Xj({error_description:"Empty `scopes`. Name at least one call, or omit `scopes`.",field:`key_authorization.scopes`});let r=new Set;for(let[t,i]of e.limits.entries()){if(r.has(i.token.toLowerCase()))return new qj({error_description:`Duplicate limit for ${i.token}. Limit each token once.`,field:`key_authorization.limits.${t}.token`,meta:{token:i.token}});r.add(i.token.toLowerCase());let a=BM(e,i.token);if(!a)return new uM({error_description:`Unsupported token on chain ${n}: ${i.token}. Use a supported token, such as OUSD.`,field:`key_authorization.limits.${t}.token`,meta:{chain_id:n,token:i.token}});if(i.period!==void 0&&(!Number.isSafeInteger(i.period)||i.period<0))return new tM({error_description:`Invalid \`period\` on the ${a.symbol} limit: ${i.period}. Use a whole number of seconds, or 0 for a one-time limit.`,field:`key_authorization.limits.${t}.period`,meta:{period:i.period,symbol:a.symbol,token:a.address}})}let i=new Set,a=new Map;for(let[t,n]of e.scopes.entries()){let r=BM(e,n.address);if(r&&!e.limits.some(e=>ke(e.token,n.address)))return new cM({error_description:`Scope on ${r.symbol} has no limit. Add a limit for it, or remove the scope.`,field:`key_authorization.scopes.${t}.address`,meta:{token:n.address}});let o=r?.symbol??n.address,s={...r?{symbol:r.symbol}:{},token:n.address},c=n.selector===void 0?void 0:VM(n.selector);if(n.selector!==void 0&&!c)return new lM({error_description:`Unsupported call on ${o}: the selector does not parse. Use a 4-byte selector or a function signature.`,field:`key_authorization.scopes.${t}.selector`,meta:s});if(!c&&zM(n.address))return new lM({error_description:`Unsupported call on ${o}: any function, which includes \`approve\` without spenders. Name each function in \`selector\`, such as \`transfer\`.`,field:`key_authorization.scopes.${t}.selector`,meta:s});if(c===EM.approve&&!n.recipients?.length)return new sM({error_description:`Missing \`recipients\` for \`approve\` on ${o}. Name the allowed spenders.`,field:`key_authorization.scopes.${t}.recipients`,meta:s});if(n.recipients?.length&&(!zM(n.address)||c!==EM.approve&&c!==EM.transfer&&c!==EM.transferWithMemo))return new rM({error_description:`Invalid \`recipients\` for ${c??`any function`} on ${o}. Remove \`recipients\`, since only \`transfer\`, \`transferWithMemo\`, and \`approve\` on a TIP-20 token take them.`,field:`key_authorization.scopes.${t}.recipients`,meta:s});let l=`${n.address.toLowerCase()}:${c??`any`}`;if(i.has(l))return new Jj({error_description:`Duplicate scope for ${c??`any function`} on ${o}. Name each call on a target once.`,field:`key_authorization.scopes.${t}.selector`,meta:{...c?{selector:c}:{},...s}});i.add(l);let u=c?`named`:`any`,d=a.get(n.address.toLowerCase());if(d&&d!==u)return new Jj({error_description:`Conflicting scopes on ${o}: one allows any function, and another names ${c??`a function`}. Keep the scope for any function, or name each function.`,field:`key_authorization.scopes.${t}.selector`,meta:{...c?{selector:c}:{},...s}});a.set(n.address.toLowerCase(),u);let f=new Set,p=(n.recipients??[]).findIndex(e=>{let t=e.toLowerCase();return t===`0x0000000000000000000000000000000000000000`||f.has(t)?!0:(f.add(t),!1)}),m=n.recipients?.[p];if(m)return new rM({error_description:`Invalid recipient ${m} for ${c} on ${o}. Name each recipient once, and never the zero address.`,field:`key_authorization.scopes.${t}.recipients.${p}`,meta:{recipient:m,...s}})}}(function(e){e.errors=[qj,Jj,Yj,Xj,Qj,$j,eM,tM,nM,rM,aM,sM,cM,lM,uM]})(AM||={});function jM(e){let{app:t,clientId:n,key:r}=e;if(r?.witness&&!t?.sign)return new Kj({clientId:n})}(function(e){e.errors=[Kj]})(jM||={});function MM(e){let t=typeof e==`object`&&e?{...e}:{},n=[`expiry`,`limits`,`scopes`].filter(e=>t[e]===void 0),[r]=n;if(!r)return;let i=n.map(e=>`\`${e}\``);return new oM({error_description:`Missing ${i.length===1?i[0]:i.length===2?`${i[0]} and ${i[1]}`:`${i.slice(0,-1).join(`, `)}, and ${i.at(-1)}`}. Name the expiry, limits, and scopes of the key, since a third-party app receives no defaults.`,field:`key_authorization.${r}`,meta:{missing:n.join(` `)}})}(function(e){e.errors=[oM]})(MM||={});function NM(e,t){let n=AM(e);if(n)return n;let r=e.scopes.findIndex(t=>!OM(e,t)),i=e.scopes[r];if(i&&!t.sign){let t=BM(e,i.address),n=i.selector===void 0?void 0:VM(i.selector);return new lM({error_description:`Unrecognized call on ${t?.symbol??i.address}: ${n??`any function`}. Authorize through a redirect or device grant, where the user approves it, or grant the app the \`${OD}\` scope.`,field:`key_authorization.scopes.${r}.selector`,meta:{...n?{selector:n}:{},...t?{symbol:t.symbol}:{},token:i.address}})}let a=Math.floor(Date.now()/1e3),o=Number(e.chainId);if(e.expiry>a+31536e3)return new Zj({error_description:`Invalid \`expiry\`: ${UM(e.expiry)} exceeds the one-year maximum. Use an earlier expiry, or authorize through a redirect or device grant.`,field:`key_authorization.expiry`,meta:{expiry:e.expiry,maximum:a+yM}});for(let[t,n]of e.limits.entries()){let r=BM(e,n.token),i=n.period?BigInt(Math.ceil((e.expiry-a)/n.period)):1n,s=n.limit*i;if(s>r.cap)return new iM({error_description:`Invalid ${r.symbol} limit: ${T(s,r.decimals)}${i>1n?` over ${i} periods before the key expires`:``} exceeds the ${T(r.cap,r.decimals)} maximum. ${i>1n?`Lower the limit or shorten the expiry`:`Lower the limit`}, or authorize through a redirect or device grant.`,field:`key_authorization.limits.${t}.limit`,meta:{chain_id:o,limit:s.toString(),maximum:r.cap.toString(),periods:Number(i),symbol:r.symbol,token:r.address}})}}(function(e){e.errors=[...AM.errors,Zj,iM]})(NM||={});function PM(e){let t=new Map;for(let n of e.limits){let r=BM(e,n.token),i=n.period??0,a=`${r.currency}\0${i}`,o=t.get(a);if(!o){t.set(a,{amount:n.limit,currency:r.currency,decimals:r.decimals,period:i,tokens:[{amount:T(n.limit,r.decimals),symbol:r.symbol}]});continue}o.tokens.push({amount:T(n.limit,r.decimals),symbol:r.symbol});let s=Math.max(o.decimals,r.decimals);o.amount=o.amount*10n**BigInt(s-o.decimals)+n.limit*10n**BigInt(s-r.decimals),o.decimals=s}return{account:e.account,calls:e.scopes.flatMap(e=>{if(e.address.toLowerCase()!==DM.address)return[];let t=e.selector===void 0?void 0:VM(e.selector);return t===DM.open?[{call:`open`}]:t===DM.topUp?[{call:`topUp`}]:[]}),expiry:e.expiry,limits:[...t.values()].map(e=>({amount:T(e.amount,e.decimals),currency:e.currency,...e.period?{period:e.period}:{},tokens:e.tokens})),unrecognized:e.scopes.filter(t=>!OM(e,t)).map(e=>{let t=e.selector===void 0?void 0:VM(e.selector);return{address:ae(e.address),...t?{selector:t}:{}}})}}function FM(e){let{account:t}=e,{key:n,...r}=HM(e.key),i=Nt({...r,address:n.address,type:n.type,...e.witness?{witness:e.witness}:{},...t?{account:t.address}:{}});return t?Gt({account:t.address,config:t.config,payload:i}):i}async function IM(e,t){let n=e.source===`configurable`&&`config`in e&&e.config?{config:e.config}:void 0;return We(await _t(e,{...HM(t.key),...n?{configurable:n}:{}}))}async function LM(e,t){let{account:n}=t,{metadata:r,signature:i}=$n(e),a=FM({account:n,key:t.key}),o=Vn(t.publicKey),s=ne({keyType:`webAuthn`,publicKey:o,sign(e){return e.hash===a?Promise.resolve($e({metadata:{authenticatorData:r.authenticatorData,clientDataJSON:r.clientDataJSON},publicKey:o,signature:i,type:`webAuthn`})):Promise.reject(Error(`The assertion signs another key authorization.`))}});if(!n)return await IM(s,{key:t.key});let c=n.config.owners.map(e=>({owner:ke(e.owner,s.address)?s:e.owner,weight:Number(e.weight)})),{salt:l,threshold:u,version:d}=n.config;return await IM(BigInt(d)===0n?D({owners:c,salt:l,threshold:Number(u)}):D({address:n.address,owners:c,salt:l,threshold:Number(u),version:d}),{key:t.key})}function RM(e){let t=e.chainId??BigInt(SM),n=[...new Map((e.scopes??[]).flatMap(e=>{let n=TM.get(`${t}:${e.address.toLowerCase()}`);return n?[[n.address,n]]:[]})).values()],r=e.limits??(n.length?n.map(e=>({limit:e.cap,token:e.address})):[{limit:TM.get(`${t}:${bM.toLowerCase()}`)?.cap??0n,token:bM}]),i=e.scopes??r.flatMap(e=>[EM.transfer,EM.transferWithMemo].map(t=>({address:e.token,selector:t})));return{...e,chainId:t,expiry:e.expiry??Math.floor(Date.now()/1e3)+31536e3,limits:r,scopes:i}}function zM(e){return e.toLowerCase().startsWith(`0x20c000000000000000000000`)}function BM(e,t){return TM.get(`${Number(e.chainId)}:${t.toLowerCase()}`)}function VM(e){if(/^0x[0-9a-fA-F]{8}$/.test(e))return e.toLowerCase();try{return vu(e)}catch{return}}function HM(e){return{chainId:e.chainId,expiry:e.expiry,key:{address:e.address??WM(e.publicKey),type:e.keyType??`secp256k1`},limits:e.limits,scopes:e.scopes,...e.witness?{witness:e.witness}:{}}}function UM(e){return new Date(e*1e3).toUTCString()}function WM(e){try{return he(Kn(e))}catch{return}}var GM=class extends q(`invalid_field`){name=`Validation.InvalidFieldError`;constructor(e){let{issues:t}=e;super({error_description:`Invalid request. ${t.map(e=>`${KM(e)?`\`${KM(e)}\``:`Body`}: ${e.message}.`).join(` `)}`,field:t[0]&&KM(t[0])?KM(t[0]):void 0})}};function KM(e){return(e.path??[]).map(e=>String(typeof e==`object`?e.key:e)).join(`.`)}var qM=class extends q(`invalid_origin`){name=`Authorize.InvalidOriginError`},JM=class extends q(`rejected`){name=`Authorize.RejectedError`;constructor(e={}){super({error_description:e.description??"Authorization request rejected. Check `client_id`, `redirect_uri`, and `scope` against the app's registration."})}},YM;(function(e){let t=e.tokens=M({access_token:A().meta({description:`The access token, a JWT that APIs verify against Tempo ID's JSON Web Key Set.`,examples:[`eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2VyIn0.c2lnbmF0dXJl`]}),expires_in:hi().meta({description:`Seconds until the access token expires.`,examples:[300]}),id_token:A().optional().meta({description:"The OIDC ID token, a JWT about the user. Absent without the `openid` scope.",examples:[`eyJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJhcHAifQ.c2lnbmF0dXJl`]}),refresh_token:A().optional().meta({description:"The refresh token, for new tokens at `/oauth2/token`. Absent without the `offline_access` scope.",examples:[`yAjhKk7QnRZ3vD9pLm2Xc8Ws5Tf1Ub4N`]}),token_type:A().meta({description:`The type of the access token (RFC 6749 §7.1).`,examples:[`Bearer`]})}).meta({description:`OAuth tokens for a public app.`,id:`Tokens`}),n=e.challenge=A().min(1).max(1024).optional().meta({description:"A message, such as a sign-in challenge, that the key authorization's `witness` binds (TIP-1053). Requires `key_authorization` and the `tempo-id:sign` scope.",examples:[`Sign in to app.example.com
405
+ Nonce: 7f3a9c2e5b1d4f60`]});e.request=M({challenge:n,client_id:A().min(1).max(255).meta({description:`The app's client ID.`,examples:[`Qk3vT9xZbLmN2pRw8YcHjF6sDaE4uGtK`]}),code_challenge:A().regex(/^[\w-]{43}$/).optional().meta({description:`An S256 PKCE challenge (RFC 7636). With it, the response holds a code for the app's backend, and without it, tokens.`,examples:[`E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM`]}),key_authorization:vM.request,redirect_uri:Ci({protocol:/^(?!(?:blob|data|file|javascript|vbscript)$)[a-z][a-z\d+.-]*$/}).meta({description:`A registered redirect URI of the app, on the origin of the page.`,examples:[`https://app.example.com/callback`]}),scope:A().regex(/^[\w:.-]+( [\w:.-]+)*$/).max(256).optional().meta({description:"Space-separated OAuth scopes. Defaults to `openid`.",examples:[`openid email offline_access`]}),skip_upgrade:Li().optional().meta({description:"Whether to sign the key before a pending upgrade of a wallet.tempo passkey's account, in place of `upgrade_required`. The key then stops working after the upgrade, unless the upgrade registers it.",examples:[!0]}),state:A().min(1).max(256).optional().meta({description:`An opaque value that the response returns unchanged.`,examples:[`af0ifjsldkj`]})}).refine(e=>!e.challenge||e.key_authorization,{message:"A challenge requires `key_authorization`, whose witness binds it",path:[`challenge`]}).transform(e=>e.key_authorization?{...e,key_authorization:kM(e.key_authorization,{challenge:e.challenge})}:e).meta({description:`An app's headless authorization request.`,id:`AuthorizationRequest`}),e.redirect=M({challenge:n,key_authorization:vM.request}).refine(e=>!e.challenge||e.key_authorization,{message:"A challenge requires `key_authorization`, whose witness binds it",path:[`challenge`]}).transform(e=>e.key_authorization?kM(e.key_authorization,{challenge:e.challenge}):void 0),e.response=M({account:vM.account.optional(),code:A().optional().meta({description:"The authorization code, if the request sent a `code_challenge`. The app's backend redeems it at `/oauth2/token`.",examples:[`Vb7mQ2xLkP9sTzR4`]}),key_authorization:vM.rpc.optional(),state:A().optional().meta({description:"The request's `state`, unchanged.",examples:[`af0ifjsldkj`]}),tokens:t.optional().meta({description:"The tokens, if the request sent no `code_challenge`."}),upgrade_available:Pi(!0).optional().meta({description:"Present if `skip_upgrade` signed the key before a pending upgrade. Send the key to `POST /v1/account/upgrade` to keep it working after the upgrade."})}).meta({description:`An authorization: a code or tokens, with any signed key authorization.`,id:`Authorization`})})(YM||={});function XM(e,t){let{app:n,origin:r}=t;if(!n||!n.redirectUris.includes(e.redirect_uri))return new JM;if(!n.firstParty)return new JM({description:"Headless authorization refused: the app is not a first-party app. Send the user to `/oauth2/authorize`, and receive the code at the redirect URI."});if(n.type===`native`)return new JM({description:"Headless authorization refused: a native app's request does not prove which app sends it. Open `/oauth2/authorize` in an authentication sheet, and receive the code at the redirect URI."});let i=new URL(e.redirect_uri);if(r!==i.origin)return new qM({error_description:`Invalid \`Origin\`: ${r??`none`}. Requests for this redirect URI must come from ${i.origin}.`,field:`Origin`,meta:{expected:i.origin,...r?{origin:r}:{}}});let a=e.key_authorization;if(a)return n.secret?new JM({description:`Key authorization refused: the app holds a client secret, which a headless request does not prove. Authorize the key through a redirect or the device grant.`}):NM(a,{sign:n.sign})??jM({app:n,clientId:e.client_id,key:a})}(function(e){e.errors=[...NM.errors,...jM.errors,qM,JM]})(XM||={});function ZM(e){let{app:t,clientId:n,codeChallenge:r,key:i,query:a}=e;return r?(BD(n)?MM(nN(a.get(`key_authorization`)??``)):void 0)??AM(i)??jM({app:t,clientId:n,key:i}):new JM({description:"Key authorization refused: the request names no `code_challenge`, whose verifier receives the key. Send an S256 `code_challenge`."})}(function(e){e.errors=[...AM.errors,...MM.errors,...jM.errors,JM]})(ZM||={});function QM(e){let t=tN.find(t=>e.getAll(t).length>1);if(t)return new GM({issues:[{message:`Repeated parameter. Send it once`,path:[t]}]});let n=e.get(`key_authorization`),r=YM.redirect.safeParse({challenge:e.get(`challenge`)??void 0,key_authorization:n===null?void 0:nN(n)});return r.success?r.data:new GM({issues:r.error.issues})}function $M(e){if(!e.has(`key_authorization`))return e;let t=new URLSearchParams(e),n=new Set((t.get(`prompt`)??``).split(` `).filter(Boolean));n.add(`consent`),t.set(`prompt`,[...n].join(` `));let[r,...i]=t.getAll(`key_authorization`),a=r&&!i.length?nN(r):void 0;return!BD(t.get(`client_id`)??``)&&typeof a==`object`&&a&&!Array.isArray(a)&&!(`expiry`in a)&&t.set(`key_authorization`,Wn(JSON.stringify({...a,expiry:Math.floor(Date.now()/1e3)+yM}),eN)),t}var eN={pad:!1,url:!0},tN=[`challenge`,`key_authorization`];function nN(e){try{return JSON.parse(Gn(e))}catch{return null}}var rN=class extends q(`already_decided`){name=`Device.AlreadyDecidedError`;constructor(){super({error_description:`Code already approved or denied.`,field:`code`})}},iN=class extends q(`unknown_code`){name=`Device.UnknownCodeError`;constructor(){super({error_description:`Invalid or expired code. Check the code in the terminal.`,field:`code`})}},aN=`openid email offline_access`,oN=`BCDFGHJKLMNPQRSTVWXZ`;async function sN(e,t){return(await e.update(cE).set({userId:t.userId}).where(ZC(U(cE.id,t.id),U(cE.status,`pending`),ow(cE.userId),ew(cE.expiresAt,new Date))).returning({id:cE.id})).length>0}async function cN(e,t){let n=await fN(e,t);if(n&&n.status===`pending`&&!n.userId)return n.clientId}async function lN(e,t){let{challenge:n,device:r,deviceCode:i,expiresAt:a,ip:o,location:s}=t,c=t.key?JSON.parse(JSON.stringify(t.key,(e,t)=>typeof t==`bigint`?k(t):t)):null,l=e.select({id:cE.id}).from(cE).where(U(cE.deviceCode,i));await e.insert(kE).values({challenge:n,device:r,expiresAt:a,id:V`(${l})`,ip:o,key:c,location:s})}async function uN(e,t){return(await e.update(cE).set({status:t.status}).where(ZC(U(cE.id,t.id),U(cE.status,`pending`),U(cE.userId,t.userId),ew(cE.expiresAt,new Date))).returning({id:cE.id})).length>0}function dN(e){return`${e.slice(0,4)}-${e.slice(4)}`}async function fN(e,t){let[n]=await e.select({appName:W.name,challenge:kE.challenge,clientId:cE.clientId,createdAt:kE.createdAt,device:kE.device,expiresAt:cE.expiresAt,id:cE.id,ip:kE.ip,key:kE.key,location:kE.location,status:cE.status,userCode:cE.userCode,userId:cE.userId}).from(cE).leftJoin(kE,U(kE.id,cE.id)).leftJoin(W,U(W.clientId,cE.clientId)).where(ZC(U(cE.userCode,t.userCode),ew(cE.expiresAt,new Date)));if(!n?.clientId)return;let r=n.key?YM.redirect.parse({challenge:n.challenge??void 0,key_authorization:n.key}):void 0;return{...n.appName?{appName:n.appName}:{},...n.challenge?{challenge:n.challenge}:{},clientId:n.clientId,createdAt:n.createdAt??new Date(n.expiresAt.getTime()-6e5),...n.device?{device:n.device}:{},id:n.id,...n.ip?{ip:n.ip}:{},...r?{key:r}:{},...n.location?{location:n.location}:{},status:bN(n.status),userCode:dN(n.userCode),...n.userId?{userId:n.userId}:{}}}async function pN(e,t){let{id:n,key:r,userId:i}=t;return(await e.update(kE).set({account:r.account,keyAuthorization:r.keyAuthorization}).where(ZC(U(kE.id,n),ow(kE.keyAuthorization),cw(e.select({id:cE.id}).from(cE).where(ZC(U(cE.id,n),U(cE.status,`pending`),U(cE.userId,i),ew(cE.expiresAt,new Date)))))).returning({id:kE.id})).length>0}async function mN(e,t){let{id:n,key:r}=t;await e.update(kE).set({account:null,keyAuthorization:null}).where(ZC(U(kE.id,n),V`${kE.keyAuthorization} = ${JSON.stringify(r.keyAuthorization)}::jsonb`,cw(e.select({id:cE.id}).from(cE).where(ZC(U(cE.id,n),U(cE.status,`pending`))))))}async function hN(e,t){let[n]=await e.select({clientId:cE.oauthClientId,id:cE.id}).from(cE).where(U(cE.deviceCode,t.deviceCode));return n}function gN(e){let t=e.toUpperCase().replace(/[^A-Z]/g,``);if(!(t.length!==8||[...t].some(e=>!oN.includes(e))))return t}var _N=`/device`;function vN(e,t){if(!e||!e.startsWith(`/`)||/^\/[/\\]/.test(e))return;let n=new URL(t.origin),r=URL.parse(e,n);if(!r||r.origin!==n.origin||r.pathname!==`/device`||r.hash)return;let i=[...r.searchParams.keys()];if(i.length===0)return _N;let[a]=i;if(i.length>1||a!==`code`&&a!==`user_code`)return;let o=gN(r.searchParams.get(a)??``);if(o)return`${_N}?${new URLSearchParams({code:dN(o)})}`}async function yN(e,t){let[n]=await e.delete(kE).where(U(kE.id,t.id)).returning({account:kE.account,keyAuthorization:kE.keyAuthorization});if(n?.account&&n.keyAuthorization)return{account:n.account,keyAuthorization:n.keyAuthorization}}function bN(e){return e===`approved`||e===`denied`?e:`pending`}var xN=`BCDFGHJKLMNPQRSTVWXZ`,SN=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`;function CN(){return`user_${TN()}`}function wN(){let e=[];for(;e.length<8;)for(let t of crypto.getRandomValues(new Uint8Array(16)))t<240&&e.length<8&&e.push(xN[t%20]);return e.join(``)}function TN(){let e=Date.now();return Array.from({length:10},(t,n)=>{let r=5*(9-n);return SN[Math.floor(e/2**r)%32]}).join(``)+Array.from(crypto.getRandomValues(new Uint8Array(16)),e=>SN[e%32]).join(``)}function EN(e){return e.configurable?.owner.account.address??DN(e)}function DN(e){return AN(e)?.address??e.account.owners[0].address}function ON(e){return e}function kN(e){return e}function AN(e){return e.configurable?.owner===e?e.account:void 0}function jN(e,t){let{configurable:n}=e;return n&&t.chainId!==void 0&&Number(t.chainId)===n.chainId?n.owner:e}function MN(e){let t=e=>Math.floor(e.getTime()/1e3),n=e.map(()=>0),r=[];for(;;){let i=e.reduce((r,i,a)=>{let o=i[n[a]];if(!o)return r;if(r===void 0)return a;let s=e[r][n[r]];return t(o.createdAt)<t(s.createdAt)?a:r},void 0);if(i===void 0)return r;r.push(e[i][n[i]]),n[i]=n[i]+1}}async function NN(e,t){await e.execute(V`select pg_advisory_xact_lock(hashtextextended(${`tempo-account:${t.userId}`}, 0))`)}async function PN(e,t){let{expiresAt:n,identifier:r,others:i=[],value:a}=t,o=new Date,s=e.select({id:G.id}).from(G).where(ZC(iw(G.identifier,[r,...i]),ew(G.expiresAt,o))),[c]=await e.insert(G).select(V`select ${o.toISOString()}::timestamp, ${n.toISOString()}::timestamp, ${r}, ${r}, ${o.toISOString()}::timestamp, ${a} where not exists (${s})`).onConflictDoUpdate({set:{createdAt:o,expiresAt:n,updatedAt:o,value:a},setWhere:rw(G.expiresAt,o),target:G.id}).returning({id:G.id});return c!==void 0}var FN=class extends q(`passkey_limit`){name=`Passkey.LimitError`;constructor(){super({error_description:`Passkey limit reached: the user holds 10 registered passkeys, the most that Tempo ID registers. Sign in with one of them.`,meta:{limit:10}})}},IN=class extends q(`passkey_link_expired`){name=`Passkey.LinkExpiredError`;constructor(){super({error_description:`Expired passkey sign-in: the link from the passkey step is no longer valid. Enter the code again to sign in with email only, or sign in with the passkey again.`,field:`link`})}},LN=class extends q(`passkey_not_permitted`){name=`Passkey.NotPermittedError`;constructor(e={}){let{clientId:t,origin:n}=e;super(t&&n?{error_description:`Passkey not permitted: no realm of the app ${t} holds passkeys for ${n}. Sign in with an emailed code.`,meta:{client_id:t,origin:n}}:t?{error_description:`Passkey not permitted: the app ${t} holds no passkeys. Sign in with an emailed code.`,meta:{client_id:t}}:n?{error_description:`Passkey not permitted: no realm holds passkeys for ${n}. Serve the page on the domain of the relying party, or one of its subdomains.`,meta:{origin:n}}:{error_description:`Passkey not permitted: no realm holds passkeys for this sign-in. Sign in with an emailed code.`})}},RN=class extends q(`reauthentication_required`){name=`Passkey.ReauthenticationRequiredError`;constructor(){super({error_description:`Sign in again: adding a passkey needs a sign-in within the last 10 minutes.`})}},zN=class extends q(`passkey_register_not_permitted`){name=`Passkey.RegisterNotPermittedError`;constructor(e){let{origin:t}=e;super({error_description:`Passkey registration not permitted: no app at ${t} holds the \`${OD}\` scope. Register the passkey on Tempo ID, or grant the app the scope.`,meta:{origin:t,scope:OD}})}},BN=class extends q(`webauthn_rejected`){name=`Passkey.WebAuthnRejectedError`;constructor(){super({error_description:`Passkey rejected. Request new options, then try again with the same passkey or another one.`})}},VN=`passkey-challenge:`,HN=`passkey-registration-proof:`,UN=`passkey-registration:`,WN=`passkey-signature:`,GN=yM,KN=`passkey-signature-spent:`,qN=`passkey-sign-in-spent:`,JN=!1,YN;(function(e){let t=A().regex(/^[A-Za-z0-9_-]+$/),n=Gi([`0x`,A().regex(/^[0-9a-fA-F]*$/)]),r=e.credentialId=t.min(1).max(1364);e.assertion=M({id:r.meta({description:`The credential ID of the passkey that signed, base64url.`,examples:[`KEbWNCc7NgaYnUyrNeFGX9_3Y-8`]}),metadata:M({authenticatorData:n.meta({description:`The authenticator data the passkey signed, as hex: the relying party ID hash, flags, and signature counter.`,examples:[`0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000`]}),challengeIndex:hi().int().nonnegative().optional().meta({description:'The character offset of `"challenge"` in `clientDataJSON`. Absent to search for it.',examples:[23]}),clientDataJSON:A().max(4096).meta({description:`The client data the browser collected, as a JSON string, which holds the type, challenge, and origin.`,examples:[`{"type":"webauthn.get","challenge":"9jEFijuhEWrM4SOW-tChJbUEHEP44VcjcJ-Bqo1fTM8","origin":"https://id.tempo.xyz","crossOrigin":false}`]}),typeIndex:hi().int().nonnegative().optional().meta({description:'The character offset of `"type"` in `clientDataJSON`. Absent to search for it.',examples:[1]}),userVerificationRequired:Li().optional().meta({description:`Whether the client required user verification. Ignored, since Tempo ID always requires it.`,examples:[!0]})}).meta({description:`The signed data, decoded from the browser's response.`}),raw:M({authenticatorAttachment:A().nullable().default(null).meta({description:"How the authenticator connects, such as `platform` or `cross-platform`, or `null`.",examples:[`platform`]}),id:t.meta({description:`The credential ID, base64url, as the browser returns it.`,examples:[`KEbWNCc7NgaYnUyrNeFGX9_3Y-8`]}),rawId:t.meta({description:`The bytes of the credential ID, base64url.`,examples:[`KEbWNCc7NgaYnUyrNeFGX9_3Y-8`]}),response:M({clientDataJSON:t.meta({description:`The client data JSON, base64url.`,examples:[`eyJ0eXBlIjoid2ViYXV0aG4uZ2V0IiwiY2hhbGxlbmdlIjoiOWpFRmlqdWhFV3JNNFNPVy10Q2hKYlVFSEVQNDRWY2pjSi1CcW8xZlRNOCIsIm9yaWdpbiI6Imh0dHBzOi8vaWQudGVtcG8ueHl6IiwiY3Jvc3NPcmlnaW4iOmZhbHNlfQ`]})}).meta({description:"The authenticator's response, of which Tempo ID reads only `clientDataJSON`."}),type:A().meta({description:`The credential type.`,examples:[`public-key`]})}).meta({description:"The `PublicKeyCredential` that `navigator.credentials.get()` returns, serialized as JSON."}),signature:n.meta({description:"The P-256 signature over the authenticator data and the client data hash, as 64-byte hex: `r` then `s`.",examples:[`0x6c3f1e0a9b7d24f58e1c3a6b9d0f2e4a7c5b8d1e3f6a9c2b4d7e0f1a3c5b8d9e1f2a7c4b6d8e0f3a5c7b9d1e4f6a8c0b2d5e7f9a1c3b6d8e0f2a4c7b9d1e3f5a`]})}).meta({description:"The result of `navigator.credentials.get()`, as `webauthx/client` serializes it.",id:`PasskeyAssertion`}),e.clientData=M({challenge:t,crossOrigin:Li().optional()}),e.credential=M({attestationObject:t.max(16384).meta({description:`The authenticator's attestation object, base64url, which holds the new public key.`,examples:[`o2NmbXRkbm9uZWdhdHRTdG10oGhhdXRoRGF0YVjF`]}),clientDataJSON:t.max(4096).meta({description:`The client data the browser collected, base64url, which holds the type, challenge, and origin.`,examples:[`eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiOWpFRmlqdWhFV3JNNFNPVy10Q2hKYlVFSEVQNDRWY2pjSi1CcW8xZlRNOCIsIm9yaWdpbiI6Imh0dHBzOi8vaWQudGVtcG8ueHl6IiwiY3Jvc3NPcmlnaW4iOmZhbHNlfQ`]}),id:r.meta({description:`The credential ID of the new passkey, base64url.`,examples:[`KEbWNCc7NgaYnUyrNeFGX9_3Y-8`]}),publicKey:Gi([`0x`,A().regex(/^04[0-9a-fA-F]{128}$/)]).meta({description:"The new passkey's uncompressed P256 public key, as hex. Ignored, since Tempo ID reads the key from `attestationObject`.",examples:[`0x04f6310589abb21116acc6e123967ed0a125b5041c43f8e157237093e07eaa354c6c3f1e0a9b7d24f58e1c3a6b9d0f2e4a7c5b8d1e3f6a9c2b4d7e0f1a3c5b8d`]}),raw:M({authenticatorAttachment:A().nullable().default(null).meta({description:"How the authenticator connects, such as `platform` or `cross-platform`, or `null`.",examples:[`platform`]}),id:t.max(1364).meta({description:`The credential ID, base64url, as the browser returns it.`,examples:[`KEbWNCc7NgaYnUyrNeFGX9_3Y-8`]}),rawId:t.max(1364).meta({description:`The bytes of the credential ID, base64url.`,examples:[`KEbWNCc7NgaYnUyrNeFGX9_3Y-8`]}),response:M({clientDataJSON:t.max(4096).meta({description:`The client data JSON, base64url.`,examples:[`eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiOWpFRmlqdWhFV3JNNFNPVy10Q2hKYlVFSEVQNDRWY2pjSi1CcW8xZlRNOCIsIm9yaWdpbiI6Imh0dHBzOi8vaWQudGVtcG8ueHl6IiwiY3Jvc3NPcmlnaW4iOmZhbHNlfQ`]})}).meta({description:"The authenticator's response, of which Tempo ID reads only `clientDataJSON`."}),type:A().max(32).meta({description:`The credential type.`,examples:[`public-key`]})}).meta({description:"The `PublicKeyCredential` that `navigator.credentials.create()` returns, serialized as JSON."})}).meta({description:"The result of `navigator.credentials.create()`, as `webauthx/client` serializes it.",id:`PasskeyCredential`}),e.link=M({address:A(),createdAt:hi().nullable(),expiresAt:hi(),host:A(),id:A(),nonce:A(),publicKey:Gi([`0x`,A()]),rpId:A()}),e.proof=M({id:A(),origin:A().optional(),publicKey:n,rpId:A()}),e.registration=M({origin:A().optional(),rpId:A()}),e.signature=M({account:A(),clientId:A(),credential:M({id:A(),publicKey:n,rpId:A()})});let i=e.step=M({step:M({options:M({publicKey:M({allowCredentials:na(M({id:r.meta({description:`The credential ID of the account's passkey, base64url.`,examples:[`KEbWNCc7NgaYnUyrNeFGX9_3Y-8`]}),type:Pi(`public-key`).meta({description:`The credential type.`})}).meta({description:`The passkey that must sign.`})).meta({description:`The account's passkey, which is the only passkey that the browser offers.`}),challenge:Gi([`0x`,A()]).meta({description:`The key authorization's digest, as hex, which expires after 5 minutes.`,examples:[`0xf6310589abb21116acc6e123967ed0a125b5041c43f8e157237093e07eaa354c`]}),rpId:A().meta({description:`The relying party ID of the account's passkey.`,examples:[`tempo.xyz`]}),userVerification:Pi(`required`).meta({description:`Requires user verification, such as a biometric or PIN.`})}).meta({description:"The `PublicKeyCredentialRequestOptions`, with the challenge as hex."})}).meta({description:"The argument for `navigator.credentials.get()`."}),type:Pi(`passkey`).meta({description:"Sign the challenge with the passkey, then repeat the request with `passkey: { assertion }`."})}).meta({description:`The next step: the passkey's signature of the key authorization.`})}).meta({description:`An approval that waits for the passkey to sign the key.`,id:`PasskeyStep`});e.headlessStep=M({expiry:hi().int().meta({description:"The key's expiry, in Unix seconds. Send it as `key_authorization.expiry` in the repeat, so the digest stays the same.",examples:[1791869364]}),step:i.shape.step.extend({type:Pi(`passkey`).meta({description:"Sign the challenge with the passkey, then repeat `POST /v1/authorize` with `passkey: { assertion }`."})}).meta({description:`The next step: the passkey's signature of the key authorization.`})}).meta({description:`A headless authorization that waits for the account's passkey to sign the key.`,id:`HeadlessPasskeyStep`}),e.user=M({createdAt:Vi(),email:A(),emailVerified:Li(),id:A(),image:A().nullable(),name:A(),updatedAt:Vi()}),e.value=M({authorize:Wi().optional(),clientId:A().nullable(),link:A().optional(),origin:A().optional(),realmId:A().optional(),rpId:A(),witness:Gi([`0x`,A()]).optional()})})(YN||={});async function XN(e,t){let n=(t.keyChallenge?.digest??xn(crypto.getRandomValues(new Uint8Array(32)))).toLowerCase(),r=VN+n,i={expiresAt:new Date(Date.now()+3e5),id:crypto.randomUUID(),identifier:r,value:JSON.stringify(YN.value.parse({authorize:t.authorize,clientId:t.clientId,link:t.link,origin:t.origin,realmId:t.realmId,rpId:t.rpId,witness:t.keyChallenge?.witness}))};return t.keyChallenge?await PN(e,i)?n:void 0:(await e.insert(G).values(i),n)}function ZN(e){let{app:t,clientId:n,origin:r}=e;if(!n)return new qM({error_description:`Invalid \`Origin\`: ${r??`none`}. A passkey sign-in from an app's page sends the app's \`client_id\`.`,field:`Origin`,...r?{meta:{origin:r}}:{}});if(!t||!t.firstParty)return new JM({description:`Passkey sign-in refused: ${n} is not a first-party app. Send the user to \`/oauth2/authorize\`, which offers passkey sign-in.`});if(t.type===`native`)return new JM({description:"Passkey sign-in refused: a native app's request does not prove which app sends it. Open `/oauth2/authorize` in an authentication sheet."});let i=t.redirectUris.flatMap(e=>{let t=URL.parse(e);return t?.protocol===`https:`||t?.protocol===`http:`?[t.origin]:[]});if(!r||!i.includes(r))return new qM({error_description:`Invalid \`Origin\`: ${r??`none`}. Passkey sign-in for ${n} must come from the origin of one of its redirect URIs.`,field:`Origin`,...r?{meta:{origin:r}}:{}})}(function(e){e.errors=[qM,JM]})(ZN||={});function QN(e){try{let t=YN.clientData.parse(JSON.parse(e.clientDataJSON));return or(t.challenge)}catch{return}}async function $N(e,t){let[n]=await e.select().from(jE).where(ZC(U(jE.id,t.id),U(jE.rpId,t.rpId)));return n}async function eP(e,t){let{credential:n,id:r,rpId:i,userId:a}=t;return await e.transaction(async e=>{await NN(e,{userId:a}),await e.insert(NE).values({realmId:`default`,rpId:i}).onConflictDoNothing();let[t]=await e.insert(jE).values({address:n.address.toLowerCase(),...n.createdAt===null?{}:{createdAt:new Date(n.createdAt)},id:r,publicKey:n.publicKey,rpId:i,source:`tempo-wallet`,type:`passkey`,userId:a}).onConflictDoNothing().returning({userId:jE.userId});return t?t.userId:(await $N(e,{id:r,rpId:i}))?.userId})}async function tP(e){let t=new TextEncoder,n=await crypto.subtle.importKey(`raw`,t.encode(e),`HKDF`,!1,[`deriveBits`]),r=await crypto.subtle.deriveBits({hash:`SHA-256`,info:t.encode(`tempo-id:passkey-link:v1`),name:`HKDF`,salt:new Uint8Array},n,256);return xn(new Uint8Array(r))}async function nP(e,t){return await e.select({id:jE.id,registered:V`(${oP(t)})`,rpId:jE.rpId}).from(jE).where(U(jE.userId,t.userId)).orderBy(gw(jE.createdAt),gw(jE.id))}function rP(){return{endpoints:{signInPasskey:Ts.serverOnly({body:M({oauth_query:A().optional(),user:YN.user.optional(),userId:A()}),method:`POST`},async e=>{let{user:t,userId:n}=e.body,r=t?.id===n?t:await e.context.internalAdapter.findUserById(n);if(!r)throw Error(`The passkey user is missing.`);let i=await e.context.internalAdapter.createSession(r.id);return await Ga(e,{session:i,user:r}),e.json({user:{email:r.email,id:r.id}})})},id:`tempo-id-passkey`}}async function iP(e,t){let[n]=await e.select({count:V`count(*)::int`}).from(jE).where(oP(t));return n?.count??0}async function aP(e,t){let{id:n,publicKey:r,rpId:i,userId:a}=t;return await e.transaction(async e=>{await NN(e,{userId:a});let t=e.$with(`counted`).as(e.select({count:V`count(*)::int`.as(`count`)}).from(jE).where(oP({userId:a}))),o=e.$with(`stored`).as(e.insert(NE).select(V`select now(), 'default', ${i} from ${t} where ${t.count} < ${10}`).onConflictDoNothing().returning({rpId:NE.rpId})),s=e.select({rpId:NE.rpId}).from(NE).where(U(NE.realmId,`default`)).for(`update`),[c]=await e.with(t,o).select({count:t.count,rpId:V`coalesce((select ${o.rpId} from ${o}), (${s}))`}).from(t);if((c?.count??0)>=10)return`limit`;if((c?.rpId?{rpId:c.rpId}:(await s)[0])?.rpId!==i)return`stale`;let[l]=await e.insert(jE).values({address:he(Vn(r)).toLowerCase(),id:n,publicKey:r,rpId:i,source:`tempo-id`,type:`passkey`,userId:a}).onConflictDoNothing().returning({id:jE.id});return l?`stored`:`held`})}function oP(e){return ZC(iw(jE.source,[`registered`,`tempo-id`]),sw(jE.address),U(jE.userId,e.userId))}function sP(e,t){let n=[t.origin,t.page].flatMap(e=>e?[new URL(e).hostname]:[]);for(let t of e){let e=t.passkeys?.rpId;if(e!==void 0&&n.every(t=>t===e||t.endsWith(`.${e}`)))return{realmId:t.id,rpId:e}}}async function cP(e,t){let{credential:n,origin:r,rpId:i,userId:a}=t,o=xn(crypto.getRandomValues(new Uint8Array(32)));return await e.insert(G).values({expiresAt:new Date(Date.now()+3e5),id:crypto.randomUUID(),identifier:uP({challenge:o,prefix:HN,userId:a}),value:JSON.stringify(YN.proof.parse({...n,origin:r,rpId:i}))}),o}async function lP(e,t){let n=xn(crypto.getRandomValues(new Uint8Array(32)));return await e.insert(G).values({expiresAt:new Date(Date.now()+3e5),id:crypto.randomUUID(),identifier:uP({challenge:n,prefix:UN,userId:t.userId}),value:JSON.stringify(YN.registration.parse({origin:t.origin,rpId:t.rpId}))}),n}function uP(e){return e.prefix+JSON.stringify([e.userId,e.challenge.toLowerCase()])}async function dP(e,t){let{account:n,clientId:r,credential:i,digest:a,userId:o}=t;await e.insert(G).values({expiresAt:new Date(Date.now()+3e5),id:crypto.randomUUID(),identifier:xP({account:n,clientId:r,credentialId:i.id,digest:a,userId:o}),value:JSON.stringify(YN.signature.parse({account:n.toLowerCase(),clientId:r,credential:i}))})}async function fP(e,t){return await Qo({data:JSON.stringify(YN.link.parse(e)),key:await tP(t.secret)})}async function pP(e,t){let n=QN(t);if(!n)return;let[r]=await e.delete(G).where(ZC(U(G.identifier,VN+n.toLowerCase()),ew(G.expiresAt,new Date))).returning({value:G.value});if(r)return mP(r.value,{challenge:n})}function mP(e,t){let n=YN.value.parse(JSON.parse(e));return{authorize:n.authorize,challenge:t.challenge,clientId:n.clientId,link:n.link,origin:n.origin,realmId:n.realmId,rpId:n.rpId,witness:n.witness}}async function hP(e,t){let n=QN(t);if(!n)return;let r=e.$with(`spent`).as(e.delete(G).where(ZC(U(G.identifier,VN+n.toLowerCase()),ew(G.expiresAt,new Date))).returning({value:G.value})),[i]=await e.with(r).select({key:{id:jE.id,publicKey:jE.publicKey,userId:jE.userId},user:wE,value:r.value}).from(r).leftJoin(jE,ZC(U(jE.id,t.id),U(jE.rpId,V`(${r.value})::jsonb ->> 'rpId'`))).leftJoin(wE,U(wE.id,jE.userId));if(i)return{challenge:mP(i.value,{challenge:n}),key:i.key&&i.user?{...i.key,user:i.user}:void 0}}async function gP(e,t){let n=(()=>{try{let e=YN.clientData.parse(JSON.parse(t.clientDataJSON));return or(e.challenge)}catch{return}})();if(!n)return;let[r]=await e.delete(G).where(ZC(U(G.identifier,uP({challenge:n,prefix:HN,userId:t.userId})),ew(G.expiresAt,new Date))).returning({value:G.value});if(!r)return;let i=YN.proof.parse(JSON.parse(r.value));return{challenge:n,id:i.id,origin:i.origin,publicKey:i.publicKey,rpId:i.rpId}}async function _P(e,t){let n=(()=>{try{let e=YN.clientData.parse(JSON.parse(Gn(t.clientDataJSON)));return or(e.challenge)}catch{return}})();if(!n)return;let[r]=await e.delete(G).where(ZC(U(G.identifier,uP({challenge:n,prefix:UN,userId:t.userId})),ew(G.expiresAt,new Date))).returning({value:G.value});if(!r)return;let i=YN.registration.parse(JSON.parse(r.value));return{challenge:n,origin:i.origin,rpId:i.rpId}}async function vP(e,t){let n=SP(t),r=qN+n.slice(24);return await e.transaction(async e=>(await e.execute(V`select pg_advisory_xact_lock(hashtextextended(${n}, 0))`),await PN(e,{expiresAt:new Date(Math.min(Math.max(t.expiry*1e3,Date.now()+3e5),Date.now()+GN*1e3)),identifier:r,others:[n],value:`{}`})))}async function yP(e,t){let n=SP(t);return await e.transaction(async e=>(await e.execute(V`select pg_advisory_xact_lock(hashtextextended(${n}, 0))`),await PN(e,{expiresAt:new Date(Math.min(Math.max(t.expiry*1e3,Date.now()+3e5),Date.now()+GN*1e3)),identifier:n,value:`{}`})))}async function bP(e,t){let n=(()=>{try{let e=YN.clientData.parse(JSON.parse(t.clientDataJSON));return or(e.challenge)}catch{return}})();if(!n)return;let r=SP(t);return await e.transaction(async e=>{await e.execute(V`select pg_advisory_xact_lock(hashtextextended(${r}, 0))`);let[i]=await e.select({id:G.id}).from(G).where(ZC(U(G.identifier,r),ew(G.expiresAt,new Date))),[a]=await e.delete(G).where(ZC(U(G.identifier,xP({...t,digest:n})),ew(G.expiresAt,new Date))).returning({value:G.value});if(!a||i)return;let o={...YN.signature.parse(JSON.parse(a.value)),digest:n};if(t.verify(o))return await e.insert(G).values({expiresAt:new Date(Math.min(Math.max(t.expiry*1e3,Date.now()+3e5),Date.now()+GN*1e3)),id:crypto.randomUUID(),identifier:r,value:`{}`}),o})}function xP(e){return WN+JSON.stringify([e.userId,e.clientId,e.account.toLowerCase(),e.credentialId,e.digest.toLowerCase()])}function SP(e){return KN+Hn(yn(e.authenticatorData,e.signature))}async function CP(e,t){let n=await hs({data:e,key:await tP(t.secret)}).then(e=>YN.link.safeParse(JSON.parse(e))).catch(()=>void 0);if(n?.success&&n.data.host===t.host&&!(n.data.expiresAt<=Date.now()/1e3))return n.data}function wP(){JN||=(ar.utils.precompute(4),!0)}function TP(e,t){wP();try{return!YN.clientData.parse(JSON.parse(e.metadata.clientDataJSON)).crossOrigin&&em({...e,metadata:{...e.metadata,userVerificationRequired:!0}},{challenge:t.challenge,origin:t.origin,publicKey:t.publicKey,rpId:t.rpId})}catch{return!1}}function EP(e,t){try{if(YN.clientData.parse(JSON.parse(Gn(e.clientDataJSON))).crossOrigin)return;let n=im(e,{attestation:`none`,challenge:t.challenge,origin:t.origin,rpId:t.rpId,userVerification:`required`});return{id:n.credential.id,publicKey:n.credential.publicKey}}catch{return}}var DP=class extends q(`authorization_expired`){name=`Auth.AuthorizationExpiredError`;constructor(){super({error_description:`Expired authorization request: the request from the app is no longer valid. Return to the app, and start again.`,field:`oauth_query`})}},OP=class extends q(`invalid_code`){name=`Auth.InvalidCodeError`;constructor(){super({error_description:`Invalid or expired code. Request a new one.`,field:`code`})}},kP=class extends q(`session_changed`){name=`Auth.SessionChangedError`;constructor(){super({error_description:`Changed session: the signed-in account differs from the one that this page showed. Reload the page, and check the account before the decision.`,field:`session_id`})}},AP=class extends q(`session_required`){name=`Auth.SessionRequiredError`;constructor(){super({error_description:`Sign in first.`})}},jP=class extends q(`sign_up_not_permitted`){name=`Auth.SignUpNotPermittedError`;constructor(e){let t=e.domains.join(` or `);super({error_description:`Sign-up not permitted: new accounts need an address at ${t}. Sign in with an existing account, or with an address at ${t}.`,field:`email`,meta:{domains:e.domains.join(`,`)}})}},MP=`tempo-id-session`;function NP(e){let{accounts:t,accountStep:n,baseURL:r,cache:i,db:a,metadataFetch:o,pendingKey:s,secret:c,sendCode:l,sessionCreated:u,signUpDomains:d,userCreated:f,waitUntil:p}=e;return{advanced:{backgroundTasks:{handler:p},cookies:{session_token:{name:MP}},database:{generateId:e=>e.model===`user`?CN():crypto.randomUUID(),joins:!0},ipAddress:{ipAddressHeaders:[`cf-connecting-ip`]}},basePath:`/`,baseURL:r,database:AD(Jw(a,{provider:`pg`,schema:EE})),databaseHooks:{session:{create:{after:e=>(u?.({id:e.id,userId:e.userId}),Promise.resolve())}},user:{create:{after:e=>(f?.({id:e.id}),Promise.resolve()),before:e=>{if(e.emailVerified!==!0)return Promise.resolve(!1);let t=e.email.slice(e.email.lastIndexOf(`@`)+1);return d&&!d.includes(t.toLowerCase())?Promise.reject(new j(`FORBIDDEN`,{code:jP.reason,message:`Sign-up not permitted.`})):Promise.resolve(!0)}}}},onAPIError:{errorURL:`${r}/error`},plugins:[Vy({allowedAttempts:3,expiresIn:600,otpLength:6,sendVerificationOTP:e=>l({code:e.otp,email:e.email}),storeOTP:`hashed`}),rP(),...RD({accounts:t,accountStep:n,baseURL:r,cache:i,metadataFetch:o,pendingKey:s}),ob({expiresIn:`600s`,generateUserCode:wN,interval:`5s`,verificationUri:_N}),{id:`tempo-id-indexes`,schema:{deviceCode:{fields:{},indexes:[{fields:[`expiresAt`]}]},oauthAccessToken:{fields:{},indexes:[{fields:[`expiresAt`]}]},oauthClientAssertion:{fields:{},indexes:[{fields:[`expiresAt`]}]},oauthRefreshToken:{fields:{},indexes:[{fields:[`expiresAt`]}]},session:{fields:{},indexes:[{fields:[`expiresAt`]}]},verification:{fields:{},indexes:[{fields:[`expiresAt`]}]}}}],rateLimit:{enabled:!1},secret:c,verification:{disableCleanup:!0}}}var PP=e=>e,FP=!1;async function Y(e,t,n,r){let i=e.var.timing,a=performance.now(),o={closed:1/0,...r?{description:r}:{},duration:0,name:n,opened:i.events++,start:a-i.start};i.spans.push(o);try{return await t}finally{o.closed=i.events++,o.duration=performance.now()-a}}var IP=PP(async(e,t)=>{let n=!FP;FP=!0;let r={events:0,spans:[],start:performance.now()};e.set(`timing`,r),await t();let i=performance.now()-r.start,a=LP(r.spans);e.res.headers.append(`server-timing`,[`total;dur=${RP(i)}`,...n?[`cold`]:[],...a.map(zP)].join(`, `)),!Qs()&&Js({fields:{duration:RP(i),errorCode:e.var.refusal?.error,method:e.req.method,reason:e.var.refusal?.reason,requestId:e.var.requestId,route:Xs(e),spans:a.map(e=>`${e.name};dur=${RP(e.duration)};start=${RP(e.start)}`).join(`, `),status:e.res.status},message:`The Worker timed a request.`})});function LP(e){return e.map((e,t)=>({settles:e.opened-t,span:e})).toSorted((e,t)=>e.settles===t.settles?e.span.closed===t.span.closed?e.span.opened-t.span.opened:e.span.closed>t.span.closed?-1:1:e.settles-t.settles).map(e=>e.span)}function RP(e){return Math.round(e*10)/10}function zP(e){let t=`${e.name};dur=${RP(e.duration)}`;return e.description?`${t};desc="${e.description.replace(/["\\]/g,`\\$&`)}"`:t}var BP=class extends Error{name=`Balance.RequestError`;constructor(e){super(`The Tempo API responded with ${e.status}.`)}},VP=3e3,HP;(function(e){e.balance=M({amount:A().meta({description:`The value in USD, as a decimal string.`,examples:[`12.5`]}),currency:Pi(`USD`).meta({description:"The currency of `amount`."})}).meta({description:`The value of an account's verified token holdings, in USD.`,id:`Balance`}),e.valuation=M({amount:A().regex(/^\d+(\.\d+)?$/),currency:Pi(`USD`)})})(HP||={});async function UP(e){let t=new URL(e.apiUrl);t.pathname=`${t.pathname.replace(/\/$/,``)}/v1/addresses/${e.address}/valuation`,t.searchParams.set(`chainId`,String(e.chainId)),t.searchParams.set(`currency`,`USD`);let n=[t.username,t.password].filter(Boolean).map(decodeURIComponent).join(`:`);t.username=``,t.password=``;let r=await fetch(t,{headers:n?{"tempo-api-key":n}:{},signal:AbortSignal.timeout(VP)});if(!r.ok)throw await r.body?.cancel(),new BP({status:r.status});return{amount:HP.valuation.parse(await r.json()).amount,currency:`USD`}}function WP(e,t){let{accounts:n,apiUrl:r,chainId:i}=t;return r?Promise.all(n.map(t=>Y(e,UP({address:t.address,apiUrl:r,chainId:i}),`tempoApi.valuation.get`).catch(t=>(nc(e,{error:t,fields:{chainId:i},message:`A balance failed to load.`}),null)))):Promise.resolve(n.map(()=>null))}var GP=`Payload Too Large`,KP=e=>{let t=e.onError||(()=>{throw new al(413,{res:new Response(GP,{status:413})})}),n=e.maxSize;return async function(e,r){if(!e.req.raw.body)return r();let i=e.req.raw.headers.has(`transfer-encoding`);if(e.req.raw.headers.has(`content-length`)&&!i)return parseInt(e.req.raw.headers.get(`content-length`)||`0`,10)>n?t(e):r();let a=0,o=[],s=e.req.raw.body.getReader();for(;;){let{done:r,value:i}=await s.read();if(r)break;if(a+=i.length,a>n)return t(e);o.push(i)}let c={body:new ReadableStream({start(e){for(let t of o)e.enqueue(t);e.close()}}),duplex:`half`};return e.req.raw=new Request(e.req.raw,c),r()}},qP=class extends q(`body_too_large`){name=`BodyLimit.BodyTooLargeError`;constructor(){super({error_description:`Invalid request body: exceeds the ${YP}-byte maximum. Send a body of ${YP} bytes or fewer.`,meta:{maximum:YP}})}},JP=[qP],YP=65536,XP=KP({maxSize:YP,onError:e=>J(e,new qP)});function ZP(e){let{max:t=1e3,ttl:n}=e,r=new Map,i=0;return{async get(e,a,o={}){let{keep:s=()=>!0}=o,c=Math.min(o.ttl??n,n),l=JSON.stringify(a);if(c<=0||l.length>256)return await e();let u=r.get(l);if(u&&u.expires>Date.now())return u.value;let d=++i,f=await e();if(!s(f))return f;let p=r.get(l);if(p&&p.load>d)return f;let m=Date.now();if(r.delete(l),r.size>=t)for(let[e,t]of r)t.expires<=m&&r.delete(e);if(r.size>=t){let e=r.keys().next().value;e!==void 0&&r.delete(e)}return r.set(l,{expires:m+c,load:d,value:f}),f}}}async function QP(e,t,n,r={}){let i=e.var.cache;return i?await i.get(t,n,r):await t()}var $P=1e3;async function eF(e){let[t,n]=await Promise.all([(async()=>{if(!e.apiUrl)return`none`;let t=new URL(e.apiUrl);t.pathname=`${t.pathname.replace(/\/$/,``)}/health`,t.username=``,t.password=``;try{let e=await fetch(t,{signal:AbortSignal.timeout($P)});return await e.body?.cancel(),e.ok?`up`:`down`}catch{return`down`}})(),(async()=>{let t=zO({transport:Rk(e.rpcUrl,{retryCount:0,timeout:$P})});return await Bt(t).catch(()=>void 0)===e.chainId?`up`:`down`})()]);return{api:t,node:n}}var tF=class extends q(`config_conflict`){name=`ConfigurableAccount.ConflictError`;constructor(e){super({error_description:`Configuration conflict: the chain's configuration of ${e.account} differs from the stored one. Reload the account, and try again.`,field:`account`,meta:{account:e.account}})}},nF=class extends q(`configurable_accounts_disabled`){name=`ConfigurableAccount.DisabledError`;constructor(e={}){let{chain:t,configured:n=[]}=e;super(t&&n.length>0?{error_description:`Configurable accounts are not available on the chain \`${t}\`. Select ${n.map(e=>`\`${e}\``).join(` or `)}.`,field:`chain`,meta:{chain:t,configured:n.join(`,`)}}:{error_description:`Configurable accounts are not available on this deployment. Use the account as it is.`,field:`chain`})}},rF=class extends q(`not_configurable`){name=`ConfigurableAccount.NotConfigurableError`;constructor(e){let{account:t}=e;super({error_description:e.reason===`cloud`?`Not configurable: a cloud wallet owns ${t}, and only an account that a passkey owns upgrades in place. Use an account that is configurable from its creation.`:`Not configurable: ${t} is not a configurable account yet. Upgrade it with its passkey, then add the owner.`,field:`account`,meta:{account:t,reason:e.reason}})}},iF=class extends q(`owner_exists`){name=`ConfigurableAccount.OwnerExistsError`;constructor(e){super({error_description:{configurable:`Owner exists: ${e.account} is already a configurable account. Add an owner to it instead.`,passkey:`Owner exists: a passkey already owns ${e.account}. Use the account as it is.`}[e.owner],field:e.owner===`passkey`?`account`:`wallet`,meta:{account:e.account,owner:e.owner}})}},aF=class extends q(`upgrade_required`){name=`ConfigurableAccount.UpgradeRequiredError`;constructor(e){super({error_description:`Upgrade required: Tempo Account ${e.account} is not a configurable account on this chain yet. Upgrade it on the account page, then authorize again.`,field:`key_authorization.account`,meta:{account:e.account}})}},oF=`tempo-id:account-config`,sF=`0x20c0000000000000000000000000000000000000`,cF=`0x${`0`.repeat(63)}1`,lF={transfer:`0xa9059cbb`,transferWithMemo:`0x95777d59`},uF=`account-config:`,dF;(function(e){let t=Gi([`0x`,A().regex(/^[0-9a-fA-F]{40}$/)]),n=Gi([`0x`,A().regex(/^[0-9a-fA-F]*$/)]),r=e.owners=na(M({address:t,type:A(),weight:hi().int().positive()})),i=M({address:t,chainId:hi().int(),key:t,owners:r,salt:n,threshold:hi().int(),version:A().regex(/^[0-9]+$/)});e.pending=M({current:i.optional(),registration:M({digest:n,transaction:n}).optional(),target:i,transaction:n})})(dF||={});function fF(e,t){let{chainId:n}=t,r=t=>e.find(e=>ke(DN(e),t)),i=[...t.configs,...e.flatMap(e=>e.linked||t.configs.some(t=>ke(t.key,DN(e)))?[]:[gF({chainId:n,key:DN(e),type:e.type})])],a=new Set(i.flatMap(e=>e.owners.filter(t=>!ke(t.address,e.key)).map(e=>e.address.toLowerCase())));return e.filter(e=>!a.has(DN(e).toLowerCase())).map(e=>{let t=i.find(t=>ke(t.key,DN(e)));if(!t)return e;let n=t.owners.flatMap(e=>{let t=r(e.address);return t?[t]:[]}),a=n.find(e=>e.credential),o=n.find(e=>e.signer),s=ON({account:AF(t),createdAt:e.createdAt,credential:a?.credential,linked:e.linked,realm:e.realm,signer:o?.signer?async(e,n)=>AF(t,{signers:[await o.signer(e,n)]}):void 0,type:e.type}),c={chainId:t.chainId,owner:s,owners:t.owners};return s.configurable=c,{...e,configurable:c}})}function pF(e){return Zs(e).flatMap(e=>{let t=Vj.find(t=>t.id===e.chainId);return t?[{...e,definition:t}]:[]})}function mF(e){let{chainId:t,env:n}=e;if(t!==void 0)return pF({rpcUrl:n.TEMPO_RPC_URL,rpcUrls:n.RPC_URLS,value:n.CONFIGURABLE_ACCOUNTS}).find(e=>e.chainId===t)}function hF(e){let{apiUrl:t,chain:n}=e,r=(()=>{if(!t)return;let e=new URL(t),r=[e.username,e.password].filter(Boolean).map(decodeURIComponent).join(`:`);if(r)return e.username=``,e.password=``,e.pathname=`${e.pathname.replace(/\/$/,``)}/rpc/sponsor/${n.chainId}`,{key:r,url:e.href}})(),i=Rk(n.rpcUrl,{retryCount:0});return zO({chain:n.definition,transport:r?Bj(i,Rk(r.url,{fetchOptions:{headers:{"tempo-api-key":r.key}},retryCount:0})):i})}function gF(e){let{chainId:t,key:n,type:r}=e,i=_F({address:n,chainId:t,key:n,owners:[{address:n,type:r,weight:1}],salt:`0x${`0`.repeat(64)}`,threshold:1,version:0n});return _F({...i,address:AF(i).address})}function _F(e){return e}async function vF(e,t){return(await e.select().from(DE).where(ZC(U(DE.chainId,t.chainId),U(DE.userId,t.userId)))).map(e=>_F({address:ae(e.address),chainId:e.chainId,key:ae(e.key),owners:dF.owners.parse(e.owners).map(e=>({...e,address:ae(e.address)})),salt:e.salt,threshold:e.threshold,version:BigInt(e.version)}))}function yF(e){let{add:t=[],address:n,chainId:r,current:i}=e,a=[...i?.owners??[{address:n,type:e.type,weight:1}],...t],o=a.map(e=>({owner:e.address,weight:e.weight})),s=i?Xt(RF(i),{owners:o,threshold:1}):st(n,{owners:o,threshold:1});return _F({address:n,chainId:r,key:i?.key??n,owners:s.owners.map(e=>({address:ae(e.owner),type:a.find(t=>ke(t.address,e.owner)).type,weight:Number(e.weight)})),salt:s.salt,threshold:Number(s.threshold),version:BigInt(s.version)})}function bF(e){let{configurable:t}=e;if(!t)return;let{config:n}=t.owner.account;return _F({address:t.owner.account.address,chainId:t.chainId,key:DN(e),owners:t.owners,salt:n.salt,threshold:Number(n.threshold),version:BigInt(n.version)})}async function xF(e){let{client:t,current:n,publicKey:r,target:i}=e;await MF({client:t,current:n,target:i});let a={},o=ne({keyType:`webAuthn`,publicKey:Vn(r),sign(e){return a.digest=e.hash,Promise.reject(Error(`The digest is captured.`))}}),s=n?AF(n,{signers:[o]}):o,c=await FF({account:s,client:t,current:n,target:i}),l=await _e(c);if(await jk(t,{...c,account:s}).catch(()=>void 0),!a.digest)throw Error(`The transaction asked the passkey to sign no digest.`);return{digest:a.digest,transaction:l}}async function SF(e,t){let{config:n,userId:r}=t,i={address:n.address.toLowerCase(),chainId:n.chainId,key:n.key.toLowerCase(),owners:n.owners.map(e=>({address:e.address.toLowerCase(),type:e.type,weight:e.weight})),salt:n.salt,threshold:n.threshold,userId:r,version:n.version.toString()};await e.insert(DE).values(i).onConflictDoUpdate({set:{owners:i.owners,salt:i.salt,threshold:i.threshold,updatedAt:V`now()`,version:i.version},setWhere:V`${DE.version}::numeric < excluded.version::numeric and ${DE.userId} = excluded.user_id`,target:[DE.chainId,DE.address]})}async function CF(e){let{account:t,client:n,current:r,target:i}=e;return await MF({client:n,current:r,target:i}),await LF({client:n,serialized:await jk(n,{...await FF({account:t,client:n,current:r,target:i}),account:t})}),i}async function wF(e){let{assertion:t,client:n,current:r,digest:i,publicKey:a,target:o}=e;await MF({client:n,current:r,target:o});let{metadata:s,signature:c}=$n(t),l=$e({metadata:{authenticatorData:s.authenticatorData,clientDataJSON:s.clientDataJSON},publicKey:Vn(a),signature:c,type:`webAuthn`}),u=ne({keyType:`webAuthn`,publicKey:Vn(a),sign(e){return e.hash===i?Promise.resolve(l):Promise.reject(Error(`The assertion signs another transaction.`))}}),d=r?AF(r,{signers:[u]}):u;return await LF({client:n,serialized:await jk(n,{...x(e.transaction),account:d})}),o}async function TF(e){let{account:t,client:n,key:r}=e,i=IF(r,{account:t});if(!i)return;let a={},o=jF({account:t,key:r,sign(e){return a.digest=e,Promise.reject(Error(`The digest is captured.`))}}),s=await nt(n,{account:o,calls:[i],feePayer:n.transport.key===`relay`||void 0,keyAuthorization:r,nonceKey:an(on(24)),type:`tempo`,validBefore:Math.floor(Date.now()/1e3)+300}),c=await _e(s);if(await jk(n,{...s,account:o}).catch(()=>void 0),!a.digest)throw Error(`The transaction asked the access key to sign no digest.`);return{digest:a.digest,transaction:c}}async function EF(e){let{account:t,client:n,key:r}=e,i=await Vt(n,{account:t,accessKey:r});return i.isRevoked?`revoked`:ke(i.address,r)?`active`:`missing`}async function DF(e){let{account:t,client:n,digest:r,signature:i}=e,a=x(e.transaction),o=jF({account:t,key:a.keyAuthorization,sign(e){return e===r?Promise.resolve(i):Promise.reject(Error(`The signature signs another transaction.`))}});await LF({client:n,serialized:await jk(n,{...a,account:o})})}async function OF(e,t){let{current:n,digest:r,registration:i,target:a,transaction:o,userId:s}=t,c=e=>({...e,version:e.version.toString()});await e.insert(G).values({expiresAt:new Date(Date.now()+3e5),id:crypto.randomUUID(),identifier:PF({digest:r,userId:s}),value:JSON.stringify(dF.pending.parse({...n?{current:c(n)}:{},...i?{registration:i}:{},target:c(a),transaction:o}))})}async function kF(e,t){let[n]=await e.delete(G).where(ZC(U(G.identifier,PF(t)),ew(G.expiresAt,new Date))).returning({value:G.value});if(!n)return;let r=dF.pending.parse(JSON.parse(n.value)),i=e=>_F({...e,address:ae(e.address),key:ae(e.key),owners:e.owners.map(e=>({...e,address:ae(e.address)})),version:BigInt(e.version)});return{current:r.current?i(r.current):void 0,registration:r.registration,target:i(r.target),transaction:r.transaction}}function AF(e,t={}){let{signers:n=[]}=t,r=e.owners.map(e=>({owner:n.find(t=>ke(t.address,e.address))??e.address,weight:e.weight}));return e.version===0n?D({owners:r,salt:e.salt,threshold:e.threshold}):D({address:e.address,owners:r,salt:e.salt,threshold:e.threshold,version:e.version})}function jF(e){let{account:t,key:n}=e;return{...ne({access:t,keyType:n.type,publicKey:re({privateKey:cF}),sign:t=>e.sign(t.hash)}),accessKeyAddress:ae(n.address)}}async function MF(e){let{client:t,current:n,target:r}=e,i=await Vk(t,{account:r.address}),a=n?He(RF(n)):void 0,o=/^0x0*$/.test(i);if(!(a?bn(i,a)||n.version===0n&&o:o))throw new tF({account:r.address})}async function NF(e){let{client:t,target:n}=e,r=await Vk(t,{account:n.address});return bn(r,He(RF(n)))}function PF(e){return uF+JSON.stringify([e.userId,e.digest.toLowerCase()])}async function FF(e){let{account:t,client:n,current:r,target:i}=e,a=i.owners.map(e=>({owner:e.address,weight:e.weight})),o=r?[Hk.call({currentConfig:RF(r),nextConfig:{owners:a,threshold:i.threshold}})]:[Uk.call({owners:a,threshold:i.threshold})];return await nt(n,{account:t,calls:o,feePayer:n.transport.key===`relay`||void 0,nonceKey:an(on(24)),type:`tempo`,validBefore:Math.floor(Date.now()/1e3)+300})}function IF(e,t){let{account:n}=t;if(!e.scopes)return zF({to:n,token:sF});for(let t of e.scopes){if(!zM(t.address))continue;let e=t.recipients?.[0]??n,r=t.selector?.toLowerCase();if(r===lF.transfer)return zF({to:e,token:t.address});if(r===lF.transferWithMemo)return Ye.call({amount:0n,memo:dn(`0x`,32),to:e,token:t.address})}}async function LF(e){let t=await Ak(e.client,{serializedTransaction:e.serialized});if(t.status!==`success`)throw Error(`The transaction ${t.transactionHash} reverted.`)}function RF(e){return St({owners:e.owners.map(e=>({owner:e.address,weight:e.weight})),salt:e.salt,threshold:e.threshold,version:e.version})}function zF(e){return Ye.call({amount:0n,...e})}var BF=Vj.filter(e=>e.id!==$s.mainnet);async function VF(e){return(await Gk(zO({chain:e.chain,transport:Rk(e.rpcUrl,{retryCount:0})}),{account:e.address})).map(e=>e.transactionHash)}var HF=e=>e.__COMPOSED_HANDLER?HF(e[Ol]):e,UF=(e,t,n)=>{let r=e.req.raw.headers.get(`Cookie`);if(typeof t==`string`){if(!r)return;let e=t;return n===`secure`?e=`__Secure-`+t:n===`host`&&(e=`__Host-`+t),_(r,e)[e]}return r?_(r):{}},WF=async(e,t,n,r)=>{let i=e.req.raw.headers.get(`Cookie`);if(typeof n==`string`){if(!i)return;let e=n;return r===`secure`?e=`__Secure-`+n:r===`host`&&(e=`__Host-`+n),(await f(i,t,e))[e]}return i?await f(i,t):{}},GF=(e,t,n)=>{let r;return r=n?.prefix===`secure`?h(`__Secure-`+e,t,{path:`/`,...n,secure:!0}):n?.prefix===`host`?h(`__Host-`+e,t,{...n,path:`/`,secure:!0,domain:void 0}):h(e,t,{path:`/`,...n}),r},KF=(e,t,n,r)=>{let i=GF(t,n,r);e.header(`Set-Cookie`,i,{append:!0})},qF=(e,t,n)=>{let r=UF(e,t,n?.prefix);return KF(e,t,``,{...n,maxAge:0}),r},JF=/^application\/([a-z-\.]+\+)?json(;\s*[a-zA-Z0-9\-]+\=([^;]+))*$/i,YF=/^multipart\/form-data(;\s?boundary=[a-zA-Z0-9'"()+_,\-./:=?]+)?$/i,XF=/^application\/x-www-form-urlencoded(;\s*[a-zA-Z0-9\-]+\=([^;]+))*$/i,ZF=(e,t)=>async(n,r)=>{let i={},a=n.req.header(`Content-Type`);switch(e){case`json`:if(!a||!JF.test(a))break;try{i=await n.req.json()}catch{throw new al(400,{message:`Malformed JSON in request body`})}break;case`form`:{if(!a||!(YF.test(a)||XF.test(a)))break;let e;if(n.req.bodyCache.formData)e=await n.req.bodyCache.formData;else try{e=await sl(await n.req.arrayBuffer(),a),n.req.bodyCache.formData=e}catch(e){let t=`Malformed FormData request.`;throw t+=e instanceof Error?` ${e.message}`:` ${String(e)}`,new al(400,{message:t})}let t=Object.create(null);e.forEach((e,n)=>{n.endsWith(`[]`)?(t[n]??=[]).push(e):Array.isArray(t[n])?t[n].push(e):Object.hasOwn(t,n)?t[n]=[t[n],e]:t[n]=e}),i=t;break}case`query`:i=Object.fromEntries(Object.entries(n.req.queries()).map(([e,t])=>t.length===1?[e,t[0]]:[e,t]));break;case`param`:i=n.req.param();break;case`header`:i=n.req.header();break;case`cookie`:i=UF(n)}let o=await t(i,n);return o instanceof Response?o:(n.req.addValidatedData(e,o),await r())},QF={header:[`cookie`]};function $F(e,t,n){if(!(n in QF))return e;let r=QF[n]||[];return t===`arktype`?eI(e,r):t===`valibot`?tI(e,r):e}function eI(e,t){return e.map(e=>{if(e&&typeof e==`object`&&`data`in e&&typeof e.data==`object`&&e.data!==null&&!Array.isArray(e.data)){let n={...e.data};for(let e of t)delete n[e];let r=Object.create(Object.getPrototypeOf(e));return Object.assign(r,e,{data:n}),r}return e})}function tI(e,t){return e.map(e=>{if(e&&typeof e==`object`&&`path`in e&&Array.isArray(e.path)){for(let n of e.path)if(typeof n==`object`&&`input`in n&&typeof n.input==`object`&&n.input!==null&&!Array.isArray(n.input))for(let e of t)delete n.input[e]}return e})}var nI=(e,t,n)=>ZF(e,async(r,i)=>{let a=await t[`~standard`].validate(r);if(n){let t=await n(a.issues?{data:r,error:a.issues,success:!1,target:e}:{data:r,success:!0,target:e},i);if(t){if(t instanceof Response)return t;if(typeof t==`object`&&`response`in t)return t.response}}if(a.issues){let n=$F(a.issues,t[`~standard`].vendor,e);return i.json({data:r,error:n,success:!1},400)}return a.value}),rI=Symbol(`openapi`),iI=`__HonoOpenAPIValidator__`,aI=[`GET`,`PUT`,`POST`,`DELETE`,`OPTIONS`,`HEAD`,`PATCH`,`TRACE`],oI=e=>{let t=e;if(t.startsWith(`:`)){let e=t.match(/^:([^{?]+)(?:{(.+)})?(\?)?$/);e?t=`{${e[1]}}`:(t=t.slice(1,t.length),t.endsWith(`?`)&&(t=t.slice(0,-1)),t=`{${t}}`)}return t},sI=e=>e.split(`/`).map(oI).join(`/`),cI=e=>e.split(/[\W_]+/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``),lI=e=>{let t=e.method.toLowerCase();if(e.path===`/`)return`${t}Index`;for(let n of e.path.split(`/`)){let e=oI(n);e.charCodeAt(0)===123?t+=`By${cI(e.slice(1,-1))}`:t+=cI(e)}return t},uI=e=>`$ref`in e?e.$ref:`${e.in} ${e.name}`;function dI(...e){let t=e.flatMap(e=>e??[]).reduce((e,t)=>(e.set(uI(t),t),e),new Map);return Array.from(t.values())}var fI=new Map;function pI(e,t){let n=[];for(let[r,i]of t){if(!i)continue;let t=r.endsWith(`/*`)?r.slice(0,-2):r;(e===t||e.startsWith(`${t}/`))&&n.push(i)}return n}function mI(e,t){return!e||!t||`$ref`in e||`$ref`in t?t:{...e,...t,content:{...e.content,...t.content}}}function hI(e,...t){return t.reduce((t,n)=>{if(!n||!t)return t;for(let[r,i]of Object.entries(n))if(i!=null){if(r in t&&(typeof i==`object`||typeof i==`function`&&r===`operationId`)){if(Array.isArray(i)){let e=[...t[r]??[],...i];t[r]=r===`tags`?Array.from(new Set(e)):r===`parameters`?dI(e):e}else typeof i==`function`?t[r]=i(e):r===`parameters`?t[r]=dI(t[r],i):r===`requestBody`?t.requestBody=mI(t.requestBody,i):t[r]={...t[r],...i}}else t[r]=i}return t},{operationId:lI(e)})}function gI({route:e,specs:t,paths:n},r=fI){let i=sI(e.path),a=e.method.toLowerCase();if(a===`all`){if(!t)return;if(r.has(i)){let n=r.get(i)??{};r.set(i,hI(e,n,t))}else r.set(i,t)}else{let o=pI(i,r);i in n||(n[i]={}),n[i]&&(n[i][a]=hI(e,...o,n[i]?.[a],t))}}function _I(e,t){let{exclude:n,excludeStaticFile:r}=t.options,i={},a=Array.isArray(n)?n:[n];for(let[n,o]of Object.entries(e)){if(o==null||a.some(e=>typeof e==`string`?n===e:e.test(n))||n.includes(`*`)&&!n.includes(`{`))continue;if(r){let e=n.includes(`{`),t=(n.split(`/`).pop()||``).includes(`.`);if(!e&&t)continue}for(let e of Object.keys(o)){let r=o[e];if(r==null)continue;let i=r[iI]===!0;if(delete r[iI],n.includes(`{`)){r.parameters=r.parameters?[...r.parameters]:[];let e=n.split(`/`).filter(e=>e.startsWith(`{`)&&!r.parameters.find(t=>t.in===`path`&&t.name===e.slice(1,e.length-1)));for(let n of e){let e=n.slice(1,n.length-1);r.parameters.findIndex(n=>{if(`$ref`in n){let r=n.$ref.split(`/`).pop();if(r){let n=t.components.parameters?.[r];if(n&&!(`$ref`in n))return n.in===`path`&&n.name===e}return!1}return n.in===`path`&&n.name===e})===-1&&r.parameters.push({schema:{type:`string`},in:`path`,name:e,required:!0})}}if(r.responses||={200:{}},i&&t.options.defaultValidationErrorResponse!==!1&&!r.responses[400]){let e=t.options.defaultValidationErrorResponse;typeof e==`object`?r.responses[400]=structuredClone(e):t.validationErrorResponse&&(r.responses[400]=structuredClone(t.validationErrorResponse))}}let e={};for(let t of Object.keys(o))o[t]!=null&&(e[t]=o[t]);Object.keys(e).length>0&&(i[n]=e)}return i}var vI={documentation:{},excludeStaticFile:!0,exclude:[],excludeMethods:[`OPTIONS`],excludeTags:[],defaultValidationErrorResponse:!0},yI={description:`Validation Error`,content:{"application/json":{schema:{type:`object`,properties:{success:{type:`boolean`,enum:[!1]},error:{type:`array`,items:{}},data:{}},required:[`success`,`error`,`data`]}}}};async function bI(e,t=vI,n){let r={components:{},options:{...vI,...t},validationErrorResponse:yI},i=r.options.documentation??{},a={...i,components:i.components&&{...i.components}},o=await xI(e,r);for(let e in o)for(let t in o[e])SI({valueOrFunc:o[e][t]?.hide,method:t,path:e,c:n})&&(o[e][t]=void 0);let s=a.components?.responses?await DI(a.components.responses):void 0;s&&a.components&&(a.components.responses=s.responses);let c=kI(a.components,s?.components,r.components);return{openapi:`3.1.0`,...a,tags:a.tags?.filter(e=>!r.options.excludeTags?.includes(e?.name)),info:{title:`Hono Documentation`,description:`Development documentation`,version:`0.0.0`,...a.info},paths:{..._I(o,r),...a.paths},components:c}}async function xI(e,t){let n={},r=new Map;for(let i of e.routes){let e=HF(i.handler)[rI];if(!e){t.options.includeEmptyPaths&&gI({route:i,paths:n},r);continue}let a=i.method;if(a!==`ALL`&&(t.options.excludeMethods?.includes(a)||!aI.includes(a)))continue;let{schema:o,components:s={}}=await CI(e,t.options.defaultOptions?.[a]&&{...t.options.defaultOptions[a]},t.components.parameters);t.components=kI(t.components,s),gI({route:i,specs:o,paths:n},r)}return n}function SI(e){let{valueOrFunc:t,c:n,method:r,path:i}=e;if(t!=null){if(typeof t==`boolean`)return t;if(typeof t==`function`)return t({c:n,method:r,path:i})}return!1}async function CI(e,t,n){if(`spec`in e){let n={...t,...e.spec,responses:{...t?.responses,...e.spec.responses}},r={};if(n.responses){let e=await DI(n.responses);n.responses=e.responses,r=e.components}if(n.requestBody&&`content`in n.requestBody){let e=await EI(n.requestBody.content);n.requestBody={...n.requestBody,content:e.content},r=kI(r,e.components)}return{schema:n,components:r}}let r=await e.toOpenAPISchema();OI(r);let i={...t,[iI]:!0};if(e.target===`form`||e.target===`json`){let t=e.options?.media??(e.target===`json`?`application/json`:`multipart/form-data`);!i.requestBody||!(`content`in i.requestBody)||!i.requestBody.content?i.requestBody={required:!0,content:{[t]:{schema:r.schema}}}:i.requestBody.content[t]={schema:r.schema}}else{let t=[];if(`$ref`in r.schema){let i=r.schema.$ref.split(`/`).pop();if(i&&r.components?.schemas?.[i]){let a=r.components.schemas[i],o=wI(e.target,a,r.components.schemas),s=o.length===1?o[0]:void 0,c=n?.[i];s&&(!c||`in`in c&&c.in===s.in&&c.name===s.name)?(r.components.parameters??={},r.components.parameters[i]=s,t.push({$ref:`#/components/parameters/${i}`}),delete r.components.schemas[i]):t=o}}else t=wI(e.target,r.schema,r.components?.schemas);i.parameters=t}return{schema:i,components:r.components}}function wI(e,t,n){let r=[];for(let[i,a]of TI(t,n)){let t={in:e===`param`?`path`:e,name:i,schema:a.schema};a.required&&(t.required=!0),t.schema&&`description`in t.schema&&t.schema.description&&(t.description=t.schema.description,t.schema={...t.schema,description:void 0}),r.push(t)}return r}function TI(e,t){let n=new Map,r=new Set,i=e=>{for(let[t,r]of Object.entries(e.properties??{})){let i=n.get(t);n.set(t,{schema:i?{allOf:[i.schema,r]}:r,required:!!e.required?.includes(t)||i?.required})}for(let n of e.allOf??[])if(`$ref`in n){if(!n.$ref.startsWith(`#/components/schemas/`))continue;let e=n.$ref.slice(21).replaceAll(`~1`,`/`).replaceAll(`~0`,`~`),a=t?.[e];a&&!r.has(e)&&(r.add(e),i(a),r.delete(e))}else i(n)};return i(e),n}async function EI(e){let t={},n={};for(let[r,i]of Object.entries(e))if(i){if(i.schema&&`toOpenAPISchema`in i.schema){let e=await i.schema.toOpenAPISchema();OI(e),n[r]={...i,schema:e.schema},e.components&&(t=kI(t,e.components))}else n[r]=i}return{content:n,components:t}}async function DI(e){let t={},n={};for(let[r,i]of Object.entries(e)){if(!i||!(`content`in i)||!i.content){n[r]=i;continue}let e=await EI(i.content);n[r]={...i,content:e.content},t=kI(t,e.components)}return{responses:n,components:t}}function OI(e){let t=e.schema.$defs;t&&typeof t==`object`&&(e.components??={},e.components.schemas={...t,...e.components.schemas},delete e.schema.$defs)}function kI(...e){return e.reduce((e,t,n)=>(t==null||n===0||((e.schemas&&Object.keys(e.schemas).length>0||t.schemas&&Object.keys(t.schemas).length>0)&&(e.schemas={...e.schemas,...t.schemas}),(e.parameters&&Object.keys(e.parameters).length>0||t.parameters&&Object.keys(t.parameters).length>0)&&(e.parameters={...e.parameters,...t.parameters})),e),e[0]??{})}var AI=e=>e.base,jI=e=>{e.zodSchema._zod.def.type===`date`&&(e.jsonSchema.type=`string`,e.jsonSchema.format=`date-time`)};function MI(e,t){let n=e[`~standard`].vendor;return{vendor:n,validate:e[`~standard`].validate,toJSONSchema:n=>ac(e,{...t,...n}),toOpenAPISchema:r=>oc(e,{...t,...r,...n===`arktype`?NI(t,r):void 0,...n===`zod`?PI(e,t,r):void 0})}}function NI(e,t){let n=e?.options,r=t?.options;if(!(e?.fallback||n?.fallback||t?.fallback||r?.fallback))return{options:{fallback:AI,...n,...r}}}function PI(e,t,n){if(!(`_zod`in e))return;let r=t?.options,i=n?.options;if(!(t?.override||r?.override||n?.override||i?.override))return{options:{unrepresentable:`any`,override:jI,...r,...i}}}function FI(e,t,n,r){let i=nI(e,t,n);return Object.defineProperty(i,"name",{value:`validator`,configurable:!0}),Object.assign(i,{[rI]:{target:e,...MI(t,r),options:r}})}function II(e){let t=async(e,t)=>{await t()};return Object.defineProperty(t,"name",{value:`describeRoute`,configurable:!0}),Object.assign(t,{[rI]:{spec:e}})}var LI={options:{override:e=>{let{jsonSchema:t}=e;delete t.readOnly;let n=t.anyOf?.filter(e=>Object.keys(e).length>0);n&&n.length!==t.anyOf.length&&(n.length===1?(delete t.anyOf,Object.assign(t,n[0])):t.anyOf=n)},unrepresentable:`any`}},RI={integrity:`sha384-U11tb2XnKvmwt8RlTvnwUnYgrN+ur4Xyh9htLhjajWNR/Oyl5AX5DEz00qRmlrmK`,src:`https://cdn.jsdelivr.net/npm/@scalar/api-reference@1.72.1/dist/browser/standalone.js`},zI={description:"Tempo ID signs users in to Tempo apps, authorizes apps for them, and signs key authorizations on their Tempo Accounts. Every refusal is an OAuth error response (RFC 6749 §5.2) whose `reason` determines its `error` and status.",title:`Tempo ID`,version:`0.0.0`},BI=[{description:`Sign-in with an emailed code or a passkey, in two requests each. The first returns a code or WebAuthn options, and the second verifies it and sets the session cookie.`,name:`Authenticate`},{description:"Authorizes an app for the signed-in user. The redirect flow starts at `GET /oauth2/authorize` and ends at `POST /oauth2/token`, and a first-party page can use `POST /v1/authorize` without a redirect.",name:`Authorization`},{description:"Authorizes a device without a browser (RFC 8628). The device requests codes, the user approves the user code on the device page, and the device polls `POST /oauth2/token`.",name:`Device grant`},{description:`The signed-in user's Tempo Accounts and passkeys. A passkey registers in three requests: the options, the new credential, and the new passkey's signature.`,name:`Account`},{description:`The issuer's standard OAuth 2.0 and OpenID Connect endpoints.`,name:`OAuth`},{description:`The Worker's status.`,name:`Health`},{description:`This document and its API reference.`,name:`Reference`}];function VI(e){let t=qI.get(e);if(t)return t;let n=JI(e);return qI.set(e,n),n.catch(()=>qI.delete(e)),n}var HI=`<!doctype html>
406
406
  <html lang="en">
407
407
  <head>
408
408
  <meta charset="utf-8" />
@@ -410,11 +410,11 @@ Nonce: 7f3a9c2e5b1d4f60`]});e.request=M({challenge:n,client_id:A().min(1).max(25
410
410
  <title>Tempo ID API</title>
411
411
  </head>
412
412
  <body>
413
- <script id="api-reference" type="application/json" data-url="openapi.json"><\/script>
413
+ <script id="api-reference" type="application/json" data-url="/openapi.json"><\/script>
414
414
  <script src="${RI.src}" integrity="${RI.integrity}" crossorigin="anonymous"><\/script>
415
415
  </body>
416
416
  </html>
417
- `,UI=[`default-src 'self'`,`script-src ${RI.src}`,`style-src 'self' 'unsafe-inline' https://fonts.scalar.com`,`font-src https://fonts.scalar.com`,`img-src 'self' data:`,`connect-src 'self'`,`object-src 'none'`,`base-uri 'none'`,`form-action 'none'`,`frame-ancestors 'none'`].join(`; `);function WI(e){let t=new Map;for(let n of new Set([...e,dO].map(e=>e.reason)).values()){let e=sO[n].status;t.set(e,[...t.get(e)??[],n])}return Object.fromEntries([...t].map(([e,t])=>[e,{content:{"application/json":{schema:{anyOf:t.map(e=>({$ref:`#/components/schemas/ErrorResponse.${e}`}))}}},description:t.map(e=>`\`${e}\``).join(`, `)}]))}function GI(e,t){let n=FI(e,t,void 0,{...LI,...e===`form`?{media:`application/x-www-form-urlencoded`}:{}});return Object.assign((e,t)=>t(),{[rI]:n[rI]})}function KI(e){let{errors:t=[],success:n}=e;return{[n.status??200]:{content:{"application/json":{schema:MI(n.schema,LI)}},description:n.description},...WI(t)}}function X(e,t){return FI(e,t,(e,t)=>{if(!e.success)return J(t,new GM({issues:e.error}))},LI)}(function(e){e.errors=[lO,GM]})(X||={});var qI=new WeakMap;async function JI(e,t){let n=await Promise.all(Object.keys(sO).map(async e=>(await MI(mO.of(e),LI).toOpenAPISchema()).components?.schemas));return bI(e,{defaultValidationErrorResponse:!1,excludeStaticFile:!1,documentation:{components:{schemas:Object.assign({},...n),securitySchemes:t.securitySchemes??{accessToken:{bearerFormat:`JWT`,description:"An access token from `/oauth2/token`, as `Authorization: Bearer <token>`.",scheme:`bearer`,type:`http`},clientBasic:{description:"An OAuth app's client ID and secret, as HTTP Basic `Authorization` (RFC 6749 §2.3.1).",scheme:`basic`,type:`http`},sessionCookie:{description:`The Tempo ID session, which sign-in sets as an HTTP-only cookie on Tempo ID's origin.`,in:`cookie`,name:`tempo-id-session`,type:`apiKey`}}},info:t.info?{...t.info,version:zI.version}:zI,openapi:`3.1.0`,...t.security?{security:t.security.map(e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[e,[...t]])))}:{},tags:t.tags?[...t.tags]:BI}})}var YI={ACCOUNT_LIMIT:{limit:60,namespace:`1007`,period:60},APP_DISCOVERY_LIMIT:{limit:30,namespace:`1009`,period:60},AUTHORIZE_LIMIT:{limit:60,namespace:`1001`,period:60},DEVICE_LIMIT:{limit:10,namespace:`1002`,period:60},SIGN_IN_CODE_LIMIT:{limit:5,namespace:`1003`,period:60},SIGN_IN_IP_LIMIT:{limit:100,namespace:`1004`,period:60},TOKEN_APP_LIMIT:{limit:600,namespace:`1008`,period:60},TOKEN_LIMIT:{limit:300,namespace:`1006`,period:60}},XI=[`TOKEN_APP_LIMIT`],ZI=class extends q(`rate_limited`){name=`RateLimit.LimitedError`;constructor(e){super({error_description:`Too many requests. Try again in ${vO({seconds:e.retryAfter})}.`,meta:{retryAfter:e.retryAfter}})}},QI=`2a06:98c0:3600::103`,$I=aL({name:`sign-in-codes`,quota:10,window:3600}),eL=[`RateLimit`,`RateLimit-Policy`,`Retry-After`];async function Z(e,t){let n=e.env,r=t.limits.flatMap(t=>t.key===void 0?[]:!n[t.binding]&&XI.includes(t.binding)?(nc(e,{fields:{binding:t.binding},message:`A rate limit has no binding, so the request is not counted.`}),[]):[{...t,key:t.key,policy:sL({binding:t.binding})}]);for(let t of r)rL(e,{policy:t.policy});for(let t of r)if(!await tL(e,{binding:t.binding,key:t.key}))return cL(e,{policy:t.policy,retryAfter:t.policy.window})}(function(e){e.errors=[ZI]})(Z||={});function tL(e,t){let n=e.var.counted??new Map;e.var.counted||e.set(`counted`,n);let r=JSON.stringify([t.binding,t.key]),i=n.get(r)??Y(e,e.env[t.binding].limit({key:t.key}),`ratelimit.limit`).then(e=>e.success);return n.set(r,i),i}async function nL(e,t){let n=`sign-in-codes:${iL(t)}`,r=Date.now(),i=crypto.randomUUID();await e.insert(G).values({expiresAt:new Date(r+$I.window*1e3),id:i,identifier:n,value:``});let[a]=await e.select({count:V`count(*)::int`}).from(G).where(ZC(U(G.identifier,n),ew(G.expiresAt,new Date(r))));return(a?.count??0)<=$I.quota||(await e.delete(G).where(U(G.id,i)),!1)}function rL(e,t){let{policy:n}=t;e.header(`ratelimit-policy`,`"${n.name}";q=${n.quota};w=${n.window}`,{append:!0})}function iL(e){return Hn(mn(e.email),{as:`Hex`})}function aL(e){return e}function oL(e){let t=e.req.header(`cf-connecting-ip`);if(t===QI)return`worker:${e.req.header(`cf-worker`)??``}`;if(!t?.includes(`:`)||t.includes(`.`))return t;let[n,r]=t.toLowerCase().split(`::`),i=n?n.split(`:`):[],a=r?r.split(`:`):[];return`${(r===void 0?i:[...i,...Array(Math.max(0,8-i.length-a.length)).fill(`0`),...a]).slice(0,4).map(e=>e.replace(/^0+(?=.)/,``)).join(`:`)}::/64`}function sL(e){let{binding:t}=e,n=YI[t];return aL({name:t.replace(/_LIMIT$/,``).toLowerCase().replaceAll(`_`,`-`),quota:n.limit,window:n.period})}function cL(e,t){let{policy:n,retryAfter:r}=t;return e.header(`ratelimit`,`"${n.name}";r=0;t=${r}`),e.header(`retry-after`,String(r)),J(e,new ZI({retryAfter:r}))}function lL(e,t){return e.endsWith(t)?e.length===t.length||e[e.length-t.length-1]===`.`:!1}function uL(e,t){let n=e.length-t.length-2,r=e.lastIndexOf(`.`,n);return r===-1?e:e.slice(r+1)}function dL(e,t,n){if(n.validHosts!==null){let e=n.validHosts;for(let n of e)if(lL(t,n))return n}let r=0;if(t.startsWith(`.`))for(;r<t.length&&t[r]===`.`;)r+=1;return e.length===t.length-r?null:uL(t,e)}function fL(e,t){return e.slice(0,-t.length-1)}var pL=/[\t\n\r]/g,mL=!1;function hL(e){return e>=97&&e<=122||e>=48&&e<=57||e>127||e>=65&&e<=90||e===45||e===95}function gL(e,t,n){let r=n-t,i=e.charCodeAt(t)|32;if(r===2)return+(i===119&&(e.charCodeAt(t+1)|32)==115);if(r===3){let n=e.charCodeAt(t+1)|32,r=e.charCodeAt(t+2)|32;return+(i===119&&n===115&&r===115||i===102&&n===116&&r===112)}if(r===4){let n=e.charCodeAt(t+1)|32,r=e.charCodeAt(t+2)|32,a=e.charCodeAt(t+3)|32;return i===104&&n===116&&r===116&&a===112?1:i===102&&n===105&&r===108&&a===101?2:0}return r===5?+(i===104&&(e.charCodeAt(t+1)|32)==116&&(e.charCodeAt(t+2)|32)==116&&(e.charCodeAt(t+3)|32)==112&&(e.charCodeAt(t+4)|32)==115):0}function _L(e,t,n=!1){let r=0,i=e.length,a=!1,o=!1;if(mL=!1,!t){if(e.startsWith(`data:`))return null;for(;r<e.length&&e.charCodeAt(r)<=32;)r+=1;for(;i>r+1&&e.charCodeAt(i-1)<=32;)--i;if(e.charCodeAt(r)===47&&e.charCodeAt(r+1)===47)r+=2;else{let a=e.indexOf(`:/`,r);if(a!==-1){let i=gL(e,r,a);if(i===1)for(o=!0,r=a+2;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1;else if(i===2){o=!0,r=a+1;let t=0;for(;(e.charCodeAt(r)===47||e.charCodeAt(r)===92)&&t<2;)r+=1,t+=1;if(t<2)return null}else{for(let i=r;i<a;i+=1){let r=e.charCodeAt(i)|32;if(!(r>=97&&r<=122||r>=48&&r<=57||r===46||r===45||r===43)){let r=e.charCodeAt(i);return r===9||r===10||r===13?_L(e.replace(pL,``),t,n):null}}if(e.charCodeAt(a+2)===47)r=a+3;else return null}}else if(e.charCodeAt(r)!==91){let a=-1;for(let o=r;o<i;o+=1){let r=e.charCodeAt(o);if(r===9||r===10||r===13)return _L(e.replace(pL,``),t,n);if(r===58){a=o;break}if(r===47||r===92||r===63||r===35)break}if(a!==-1){let t=!1;for(let n=a+1;n<i;n+=1){let r=e.charCodeAt(n);if(r===47||r===92||r===63||r===35)break;if(r===64){t=!0;break}}if(!t){let t=!0,n=a+1;for(;n<i;n+=1){let r=e.charCodeAt(n);if(r===47||r===92||r===63||r===35)break;if(r<48||r>57){t=!1;break}}if(n===a+1&&(t=!1),!t){let t=gL(e,r,a);if(t===0){let t=!1;for(let n=a+1;n<i;n+=1){let r=e.charCodeAt(n);if(r===47||r===92||r===63||r===35)break;if(r===58){t=!0;break}}if(!t)return null}else if(o=!0,r=a+1,t===2){let t=0;for(;(e.charCodeAt(r)===47||e.charCodeAt(r)===92)&&t<2;)r+=1,t+=1;if(t<2)return null}else for(;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1}}}}}let s=-1,c=-1,l=-1,u=-1,d=!1,f=n,p=r-1,m=-1;if(n&&r<i){let t=e.charCodeAt(r);(!(hL(t)||t===46||t===95)||t===45)&&(f=!1)}for(let t=r;t<i;t+=1){let r=e.charCodeAt(t);if(r<64){if(r===47||r===35||r===63){i=t;break}r===58?(u===-1&&(u=t),l=t):r===9||r===10||r===13?d=!0:n&&(r===46?((t-p>64||m===46||m===45)&&(f=!1),p=t):(r<48||r>57)&&(r!==45||m===46)&&(f=!1))}else if(o&&r===92){i=t;break}else r===64?(s=t,u=-1):r===93?c=t:r>=65&&r<=90?a=!0:n&&!hL(r)&&(f=!1);n&&(m=r)}if(d)return _L(e.replace(pL,``),t,n);if(s!==-1&&s>=r&&s<i&&(r=s+1),e.charCodeAt(r)===91)return c===-1?null:e.slice(r+1,c).toLowerCase();if(l!==-1&&l>r&&l<i&&u===l&&(i=l),r>=i)return null;n&&f&&s===-1&&l===-1&&c===-1&&e.charCodeAt(i-1)!==46&&i-r<=255&&i-p-1<=63&&m!==45&&(mL=!0)}for(;i>r+1&&e.charCodeAt(i-1)===46;)--i;let s=r!==0||i!==e.length?e.slice(r,i):e;return a?s.toLowerCase():s}function vL(e){if(e.length<7||e.length>15)return!1;let t=0;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r===46)t+=1;else if(r<48||r>57)return!1}return t===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function yL(e){if(e.length<3)return!1;let t=+!!e.startsWith(`[`),n=e.length;if(e[n-1]===`]`&&--n,n-t>39)return!1;let r=!1;for(;t<n;t+=1){let n=e.charCodeAt(t);if(n===58)r=!0;else if(!(n>=48&&n<=57||n>=97&&n<=102||n>=65&&n<=70))return!1}return r}function bL(e){return yL(e)||vL(e)}var xL=[`test`,`localhost`,`invalid`,`example`,`example.com`,`example.net`,`example.org`,`local`,`onion`,`alt`,`home.arpa`,`ipv4only.arpa`,`resolver.arpa`,`service.arpa`,`6tisch.arpa`,`eap.arpa`];function SL(e){for(let t of xL)if(e.endsWith(t)&&(e.length===t.length||e.charCodeAt(e.length-t.length-1)===46))return!0;return!1}function CL(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function wL(e){if(e.length>255||e.length===0||!CL(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let t=-1,n=-1,r=e.length;for(let i=0;i<r;i+=1){let r=e.charCodeAt(i);if(r===46){if(i-t>64||n===46||n===45)return!1;t=i}else if(!(CL(r)||r===45||r===95)||r===45&&n===46)return!1;n=r}return r-t-1<=63&&n!==45}function TL({allowIcannDomains:e=!0,allowPrivateDomains:t=!1,detectIp:n=!0,detectSpecialUse:r=!1,extractHostname:i=!0,mixedInputs:a=!0,validHosts:o=null,validateHostname:s=!0}){return{allowIcannDomains:e,allowPrivateDomains:t,detectIp:n,detectSpecialUse:r,extractHostname:i,mixedInputs:a,validHosts:o,validateHostname:s}}var EL=TL({});function DL(e){return e===void 0?EL:TL(e)}function OL(e,t){return t.length===e.length?``:e.slice(0,-t.length-1)}function kL(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,isSpecialUse:null,publicSuffix:null,subdomain:null}}function AL(e,t,n,r,i){let a=DL(r);if(typeof e!=`string`)return i;let o=!1;return a.extractHostname?a.mixedInputs?(o=wL(e),i.hostname=_L(e,o,a.validateHostname)):i.hostname=_L(e,!1,a.validateHostname):i.hostname=e,a.detectIp&&i.hostname!==null&&(i.isIp=bL(i.hostname),i.isIp)?i:a.validateHostname&&a.extractHostname&&i.hostname!==null&&!(o&&i.hostname===e)&&!mL&&!wL(i.hostname)?(i.hostname=null,i):(t===0||i.hostname===null||(t===5&&a.detectSpecialUse&&(i.isSpecialUse=SL(i.hostname)),n(i.hostname,a,i),t===2||i.publicSuffix===null)||(i.domain=dL(i.publicSuffix,i.hostname,a),t===3||i.domain===null)||(i.subdomain=OL(i.hostname,i.domain),t===4)||(i.domainWithoutSuffix=fL(i.domain,i.publicSuffix)),i)}function jL(e,t,n){if(!t.allowPrivateDomains&&e.length>3){let t=e.length-1,r=e.charCodeAt(t),i=e.charCodeAt(t-1),a=e.charCodeAt(t-2),o=e.charCodeAt(t-3);if(r===109&&i===111&&a===99&&o===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix=`com`,!0;if(r===103&&i===114&&a===111&&o===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix=`org`,!0;if(r===117&&i===100&&a===101&&o===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix=`edu`,!0;if(r===118&&i===111&&a===103&&o===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix=`gov`,!0;if(r===116&&i===101&&a===110&&o===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix=`net`,!0;if(r===101&&i===100&&a===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix=`de`,!0}return!1}var ML=new Uint8Array([1,2,1,1,1,1,1,1,1,1,1,1,0,2,2,2,0,2,2,0,2,0,0,1,0,0,2,1,1,1,1,1,1,0,0,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,2,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,0,0,0,0,0,0,1,1,1,0,2,0,0,0,0,0,0,0,2,0,2,2,0,0,2,2,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,2,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,1,0,2,2,0,0,0,2,0,1,1,0,2,0,2,2,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,2,2,0,2,2,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,2,2,0,2,2,2,2,0,0,0,0,2,0,0,0,0,0,0,0,2,2,0,0,0,2,2,1,1,1,1,1,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,2,2,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,2,1,2,1,1,1,2,1,1,1,1,1,0,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,0,0]),NL=new Uint16Array([0,0,0,10,11,18,106,111,117,124,130,136,145,146,147,148,149,150,151,153,154,155,157,159,227,240,242,243,244,259,266,267,270,271,272,275,277,296,297,299,308,313,330,331,334,336,337,339,373,374,376,379,380,384,386,390,393,425,428,441,442,450,451,453,463,477,478,479,480,489,490,527,532,548,568,574,616,617,644,671,672,820,826,829,830,831,836,841,850,872,873,874,875,876,877,878,896,898,899,902,904,905,907,909,924,939,944,945,947,948,949,950,951,953,956,961,962,963,965,966,969,972,973,974,987,989,1001,1012,1020,1022,1063,1066,1070,1071,1073,1076,1087,1089,1099,1101,1107,1109,1110,1112,1115,1116,1117,1170,1172,1174,1194,1195,1196,1197,1199,1210,1241,1252,1264,1273,1280,1285,1298,1309,1322,1323,1334,1368,1369,1370,1385,1400,1472,1473,1475,1476,1510,1511,1512,1513,1516,1520,1523,1525,1554,1555,1563,1564,1565,1566,1568,1570,1571,1573,1574,1575,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1601,1602,1603,2057,2060,2061,2063,2070,2077,2087,2091,2102,2103,2104,2116,2117,2119,2121,2122,2129,2130,2132,2133,2135,2136,2137,2138,2139,2213,2215,2236,2237,2238,2240,2266,2267,2318,2319,2321,2328,2334,2344,2354,2407,2408,2409,2419,2433,2434,2437,2444,2445,2453,2454,2455,2456,2457,2468,2469,2470,2472,2473,2474,2483,2495,2501,2533,2537,2539,2540,2542,2543,2554,2555,2557,2565,2572,2578,2583,2584,2590,2593,2599,2606,2607,2614,2622,2623,2624,2662,2668,2683,2684,2689,2707,2738,2756,2758,2761,2769,2771,2778,2830,2854,2855,2856,2857,2858,2859,2860,2867,2868,2869,2870,2871,2872,2874,2875,2879,2959,2972,2973,3410,3414,3428,3480,3508,3530,3588,3610,3625,3688,3739,3777,3813,3838,3980,4026,4077,4096,4130,4145,4165,4195,4226,4249,4280,4310,4342,4369,4444,4466,4504,4514,4548,4567,4593,4635,4685,4711,4780,4781,4783,4806,4829,4865,4896,4913,4970,4983,5007,5036,5038,5072,5088,5116,5421,5430,5439,5446,5463,5467,5473,5512,5514,5521,5528,5537,5544,5545,5546,5558,5561,5576,5577,5586,5587,5596,5605,5611,5613,5614,5615,5652,5653,5655,5663,5670,5683,5687,5689,5690,5696,5703,5717,5727,5732,5740,5748,5754,5755,5759,5761,5762,5774,5846,5847,5848,5849,5851,5852,5855,5857,5860,5864,5865,5866,5872,5873,5874,5876,5878,5880,5881,5882,5885,5887,5890,5891,5893,6091,6098,6099,6100,6110,6115,6132,6146,6155,6156,6157,6161,6162,6164,6166,6172,6173,6176,6177,6179,6180,6181,7081,7084,7088,7106,7115,7118,7125,7126,7128,7129,7130,7132,7184,7185,7188,7189,7306,7307,7318,7329,7336,7339,7348,7349,7350,7365,7420,7612,7614,7615,7617,7622,7635,7650,7657,7666,7669,7672,7679,7687,7691,7692,7693,7707,7711,7720,7721,7722,7726,7761,7762,7780,7787,7795,7796,7801,7809,7853,7854,7860,7863,7875,7880,7881,7884,7886,7921,7922,7928,7935,7936,7945,7954,7969,7973,7974,8026,8027,8032,8034,8037,8039,8040,8041,8050,8064,8072,8086,8098,8099,8101,8103,8125,8136,8142,8143,8155,8167,8254,8266,8274,8277,8283,8308,8311,8312,8313,8314,8316,8319,8322,8333,8335,8337,8365,8440,8447,8451,8452,8461,8483,8484,8489,8490,8569,8571,8573,8582,8586,8592,8598,8604,8614,8619,8620,8638,8649,8654,8659,8669,8675,8679,8685,8691,10300,10301,10302,10309,10311]),PL=new Uint8Array([3,3,3,3,3,3,3,3,5,8,8,2,2,3,3,3,3,3,8,5,5,5,5,5,3,3,5,5,9,12,19,8,19,8,11,9,9,8,7,7,6,8,9,16,10,7,7,11,8,6,6,9,7,11,7,14,4,4,4,4,4,4,10,7,6,6,6,6,10,10,6,10,10,22,11,9,10,10,10,9,10,8,7,7,7,8,21,13,11,11,9,10,9,13,10,8,8,9,12,9,7,10,7,7,13,7,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,8,6,3,3,3,3,3,3,2,5,3,3,3,7,2,2,2,2,2,2,3,3,3,1,1,7,8,5,2,2,7,2,2,1,4,1,11,9,9,5,5,8,5,5,5,5,5,5,5,3,3,3,3,3,5,11,9,9,13,7,14,7,6,6,6,7,6,6,6,6,6,10,7,11,9,4,4,4,4,4,6,6,6,6,13,6,8,7,10,9,9,7,9,8,9,8,7,10,6,9,8,10,10,7,8,1,9,10,12,12,12,10,9,9,10,10,9,9,1,1,5,3,3,3,3,3,3,3,3,3,3,3,3,6,6,6,4,3,3,3,7,4,4,4,3,3,6,7,3,4,1,2,2,2,6,1,2,2,2,2,2,12,5,3,8,9,13,4,4,13,9,9,11,7,3,12,9,2,2,2,3,3,3,3,3,8,2,2,3,3,3,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,3,7,10,15,7,15,15,20,15,9,10,10,12,14,14,14,12,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,9,7,8,6,8,8,6,8,13,8,8,6,13,8,11,13,8,6,13,8,6,9,10,10,12,14,14,14,12,12,12,12,14,14,10,10,10,10,9,9,9,10,14,14,11,13,13,9,9,9,9,9,9,2,6,9,2,2,3,3,3,3,3,3,3,3,3,4,4,4,2,3,3,3,3,3,3,7,7,2,3,2,2,5,3,3,3,3,3,3,4,2,2,2,2,2,2,3,3,3,3,3,3,3,4,5,7,4,2,2,12,8,10,8,10,7,18,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,2,3,3,3,5,5,3,8,8,6,8,6,6,4,6,7,7,7,10,11,2,5,5,3,3,3,3,3,3,5,5,6,11,10,7,7,7,4,4,4,2,3,3,3,3,3,2,2,7,5,5,3,3,3,3,3,3,3,3,7,7,7,11,7,6,9,6,6,8,10,8,6,8,13,4,4,4,4,4,10,8,11,8,8,8,10,10,7,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,10,13,7,8,7,11,8,8,6,9,8,8,6,6,6,8,8,6,6,6,6,6,9,7,6,4,4,4,4,4,4,4,6,6,6,9,7,8,10,8,8,2,3,3,3,3,3,2,8,9,9,2,2,2,3,3,3,2,3,3,3,9,2,2,3,3,3,3,3,3,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,5,5,3,5,4,2,3,2,4,3,9,2,2,2,2,2,5,5,3,8,8,13,6,10,9,4,7,9,11,2,3,7,3,3,4,1,3,4,2,9,3,3,12,5,3,7,10,10,7,4,4,6,14,7,9,7,13,2,2,2,2,2,2,3,3,3,3,3,8,15,4,4,2,3,3,3,7,4,9,9,2,3,3,3,5,3,2,2,7,2,7,6,6,7,2,4,2,2,2,2,2,2,8,8,8,9,5,2,3,3,3,3,3,3,10,7,4,4,4,4,3,4,2,3,3,3,3,3,10,7,4,4,4,4,2,3,3,3,3,10,7,4,4,4,4,3,9,6,6,6,9,13,9,2,2,2,8,7,9,5,3,3,3,5,5,13,12,9,10,7,8,7,6,8,6,11,12,7,9,10,4,4,7,8,11,6,7,9,8,7,10,8,9,15,7,8,5,4,7,2,3,3,3,2,14,10,2,14,10,2,14,3,9,13,13,10,14,16,17,11,2,14,2,14,3,9,13,10,14,16,17,11,14,10,14,2,7,3,10,7,14,10,2,14,10,9,9,17,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,10,10,10,12,9,4,10,10,11,8,8,8,7,9,5,3,3,3,3,3,3,3,3,5,8,4,4,4,4,4,4,6,16,3,3,14,3,14,2,14,9,13,10,10,14,16,17,11,6,9,10,10,12,14,14,14,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,9,9,9,9,9,9,2,14,9,13,10,10,14,16,17,11,6,2,14,9,17,13,10,10,14,16,17,11,6,2,14,9,13,10,14,16,17,11,2,14,9,13,10,16,11,2,14,10,19,7,2,14,9,13,10,19,10,7,14,16,17,11,6,2,14,9,13,10,19,7,14,16,17,11,2,14,9,13,17,13,10,10,14,16,17,11,6,3,2,14,9,13,10,10,14,16,17,11,6,9,10,12,14,14,14,12,12,12,12,12,14,14,14,10,10,10,14,9,9,9,9,14,14,14,13,13,14,9,9,9,9,9,9,4,11,2,14,9,13,17,13,10,19,10,7,14,16,17,11,6,2,14,9,13,17,13,10,19,10,7,14,16,17,11,6,2,9,10,10,7,17,3,3,12,12,16,15,15,12,14,14,14,20,20,13,12,12,12,12,12,12,20,25,14,14,12,12,10,10,10,10,9,9,9,25,4,9,17,10,7,14,16,21,13,13,14,20,14,13,17,24,9,12,13,25,13,21,20,17,9,9,9,9,9,9,12,17,4,4,9,9,9,10,10,12,14,14,14,12,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,9,1,5,8,7,11,11,1,3,3,3,5,3,3,4,8,9,10,14,14,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,7,4,4,4,4,4,4,4,4,4,7,4,9,12,6,14,4,12,7,2,2,1,2,7,6,4,4,4,6,8,8,7,4,5,6,3,3,3,3,4,16,8,5,4,3,3,3,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,11,12,7,7,13,9,10,17,12,8,9,7,8,5,12,10,13,14,5,5,5,13,5,5,5,3,3,3,5,16,5,5,5,5,7,12,14,8,12,8,10,12,9,11,7,9,7,10,7,13,9,7,12,8,17,7,7,16,10,13,13,8,10,10,14,17,7,16,16,15,8,10,10,12,17,17,7,17,14,7,10,17,8,7,7,7,8,15,15,7,14,10,10,10,11,11,7,7,13,8,10,7,16,7,8,7,14,17,12,10,11,21,8,9,7,13,9,8,13,6,12,7,6,13,10,10,10,8,18,9,17,13,10,12,6,13,6,11,8,13,10,13,18,13,11,13,8,16,7,10,8,16,12,10,8,8,14,11,8,15,8,8,7,7,12,7,8,9,14,15,8,9,10,9,15,7,8,8,12,13,9,10,15,13,7,10,10,20,7,6,9,6,6,14,11,14,11,12,9,10,16,16,12,7,11,28,8,11,10,7,21,8,7,9,4,4,4,17,7,8,6,9,6,6,13,6,6,6,6,18,20,14,8,11,12,9,10,13,15,15,19,8,9,12,7,10,16,12,9,9,9,14,12,11,9,12,11,18,9,9,9,10,7,7,16,8,9,7,13,12,10,14,18,7,8,11,7,7,8,8,13,7,7,7,11,15,13,11,7,8,15,11,7,8,18,14,13,18,15,10,12,12,9,7,11,11,8,7,10,8,14,12,10,18,7,10,9,7,8,13,10,14,10,8,8,23,7,7,11,12,12,17,7,7,11,11,17,16,16,7,8,11,14,14,8,10,7,7,16,16,13,9,11,9,15,15,11,11,7,7,14,7,9,7,7,16,10,13,10,11,14,7,11,10,11,7,11,10,11,15,11,15,10,12,10,14,13,11,11,12,13,10,7,13,10,16,12,21,9,10,10,7,11,14,17,7,7,8,11,12,8,15,14,14,8,17,12,10,10,7,9,11,7,10,7,11,18,7,11,7,12,11,8,8,14,12,7,8,15,3,7,7,5,2,9,2,2,2,2,2,2,2,3,3,3,3,3,3,3,2,5,3,3,3,3,3,3,4,4,3,3,3,3,3,3,5,11,6,4,7,10,7,7,11,1,10,2,2,3,3,3,3,3,3,3,3,5,7,3,5,6,3,3,5,2,2,5,3,4,13,11,3,3,6,3,5,14,2,2,3,8,2,2,12,5,18,5,3,3,3,16,5,5,5,10,7,13,12,13,9,12,14,19,9,9,21,9,9,10,6,9,6,15,10,6,12,8,6,10,15,4,4,6,6,9,9,12,16,14,23,7,7,7,14,9,7,7,11,14,10,7,10,10,10,12,6,11,10,13,11,15,11,7,12,10,3,7,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,3,7,2,5,5,3,3,5,5,5,5,7,6,6,6,4,4,4,4,4,4,6,6,6,6,6,7,10,2,2,2,5,5,5,5,3,3,3,3,3,5,5,10,9,11,8,7,12,8,9,7,6,13,11,6,13,7,9,9,4,4,4,4,4,6,10,7,8,13,8,8,9,14,7,8,10,7,7,7,9,6,9,7,2,12,5,3,3,13,4,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,4,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,4,4,4,4,4,4,4,4,4,4,4,4,9,3,3,3,3,3,3,3,3,3,3,4,2,2,2,5,3,3,3,3,3,3,3,3,4,4,1,7,6,4,12,3,3,3,3,3,8,7,3,3,3,3,3,3,4,4,11,14,2,8,3,5,5,8,10,8,6,4,7,17,7,4,5,2,6,3,2,2,12,5,5,3,15,13,8,11,2,2,3,3,3,3,3,3,3,3,4,4,5,3,3,3,3,4,18,2,12,5,3,3,3,3,3,5,16,8,8,9,6,6,4,4,4,4,31,6,6,10,11,21,10,9,7,10,7,7,2,4,4,4,4,6,5,3,3,4,3,3,3,3,3,3,3,3,3,6,6,6,2,2,2,5,3,3,3,7,7,4,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,8,2,3,3,3,3,3,5,9,11,3,3,3,3,4,4,3,3,3,3,3,5,10,9,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,11,10,10,10,10,10,11,10,11,10,11,10,9,9,11,3,3,3,3,3,3,5,3,7,8,8,7,6,6,11,4,4,4,7,8,9,9,2,3,7,4,4,2,5,5,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,2,2,5,5,5,5,5,3,3,5,5,5,7,7,6,6,6,4,4,4,4,4,4,4,4,4,4,6,6,8,8,1,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,6,9,12,3,7,10,7,2,2,3,3,3,3,3,4,3,3,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,8,8,6,6,8,6,7,4,4,4,4,4,4,6,7,5,5,20,19,8,10,9,7,10,6,8,11,6,6,6,6,13,12,8,6,7,14,11,9,2,5,3,6,2,3,2,2,2,2,2,2,2,5,4,3,7,6,4,7,4,3,6,4,7,2,7,7,7,5,5,5,5,3,3,3,3,3,3,3,3,3,5,9,10,10,11,7,8,20,7,8,9,8,12,6,6,6,8,9,8,12,6,6,8,13,10,12,6,6,7,7,9,6,4,4,4,4,4,4,10,6,6,6,7,14,11,10,7,8,10,8,11,14,11,11,9,7,9,8,11,9,17,10,9,2,2,2,9,3,3,3,3,15,14,9,5,5,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,15,12,22,19,17,18,18,19,21,7,16,16,5,5,5,5,5,5,5,5,5,5,5,7,5,5,5,5,5,5,5,5,5,5,5,9,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,7,16,11,11,7,7,7,7,17,7,8,12,15,9,19,7,19,8,21,11,12,19,14,22,7,7,7,7,7,7,7,7,7,7,7,16,16,19,24,12,7,14,7,12,7,8,10,10,13,7,12,12,7,7,10,18,15,12,16,7,14,12,17,10,16,17,12,17,25,7,7,7,13,6,9,6,9,18,6,6,11,20,10,6,6,6,6,6,6,17,6,6,6,15,6,6,6,6,6,8,14,11,12,11,15,13,19,17,21,7,18,8,13,13,8,12,8,6,6,13,6,15,15,16,6,6,16,6,6,6,14,6,18,6,6,6,17,18,9,13,15,8,19,8,15,15,18,14,16,4,4,4,4,4,4,4,4,4,4,4,4,6,11,10,11,6,21,23,12,17,12,11,14,13,22,15,15,11,12,14,12,7,12,8,12,14,12,18,10,8,16,19,17,12,14,15,8,19,17,12,13,13,15,18,13,23,24,23,21,17,24,8,21,8,14,14,16,20,14,8,8,15,20,8,19,21,9,8,13,12,13,15,11,8,11,9,9,8,11,8,21,14,21,15,15,13,7,19,7,7,7,7,7,7,16,12,17,18,7,7,11,11,7,9,9,2,2,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,4,5,5,5,5,5,5,5,5,3,3,10,10,7,9,7,7,7,6,8,6,6,6,6,6,6,6,7,6,8,6,6,9,7,7,7,4,4,4,4,4,4,4,4,8,9,8,7,8,7,8,10,7,5,5,5,5,5,5,3,9,7,7,8,6,6,6,6,6,6,6,6,9,6,6,9,11,13,7,8,9,9,5,5,5,7,8,6,6,6,6,6,6,6,7,8,9,7,10,9,10,7,8,5,5,5,5,5,5,7,7,9,8,7,7,6,6,6,6,6,6,10,6,6,6,6,6,6,6,6,6,6,6,9,10,4,4,4,4,8,7,7,10,10,9,8,8,15,9,8,8,8,8,8,9,10,9,10,7,8,13,5,5,5,5,5,3,3,7,7,8,6,6,6,4,4,11,9,7,8,9,10,7,5,5,5,5,5,3,3,7,6,6,13,7,9,8,7,5,5,5,5,5,5,5,5,3,3,3,3,7,8,7,8,13,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,6,6,6,6,7,6,7,6,6,9,7,4,4,4,4,4,4,4,7,8,7,8,9,8,8,8,7,10,7,8,5,5,5,5,5,5,5,5,3,7,7,7,7,9,7,10,9,6,6,6,6,6,8,8,6,6,6,7,6,6,6,9,9,4,4,13,7,10,9,9,12,7,8,8,10,8,8,8,8,8,8,5,5,5,5,3,7,7,11,7,9,8,8,6,6,10,6,8,8,8,6,7,6,6,12,4,4,4,4,4,4,4,4,4,9,8,8,16,8,9,8,7,5,5,5,5,5,3,3,7,7,7,10,15,8,9,8,9,9,6,6,6,6,6,6,7,4,8,7,8,8,7,8,11,8,5,5,5,5,5,3,7,7,6,11,16,7,6,4,4,4,4,9,9,8,8,8,13,12,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,7,8,8,9,13,7,7,7,9,8,8,9,12,7,12,7,12,8,7,10,12,9,9,6,6,8,8,6,6,6,6,6,6,6,9,8,9,11,8,6,6,6,6,6,12,7,6,6,6,9,7,7,6,6,6,6,6,11,9,6,6,6,6,6,7,9,4,4,4,4,4,4,4,4,9,9,9,9,7,7,7,7,7,11,7,7,8,8,8,8,8,8,9,8,9,9,7,7,11,11,7,12,8,8,8,8,8,7,8,8,8,8,8,13,12,8,8,8,8,7,7,7,9,5,5,5,5,5,5,5,3,3,7,7,11,7,8,8,8,6,6,6,6,6,6,6,6,6,6,6,10,11,6,7,9,4,4,4,4,4,4,9,9,8,9,8,8,8,7,7,5,5,5,5,5,5,5,5,5,5,3,3,11,7,7,7,9,6,6,11,8,10,6,6,6,12,8,8,7,6,6,8,7,4,4,4,4,4,4,4,4,9,10,9,9,8,10,9,11,8,5,5,5,7,6,6,8,7,4,4,4,4,8,7,7,8,7,8,8,5,5,5,5,7,7,8,8,8,6,6,6,6,6,10,8,9,13,6,7,6,6,8,7,8,4,4,4,4,11,8,8,8,10,5,5,8,7,8,13,8,7,6,8,6,9,7,8,7,5,5,5,5,5,5,3,3,7,8,9,6,4,8,10,10,8,12,9,13,2,7,5,5,5,5,5,7,7,10,6,6,6,6,6,6,6,8,4,4,9,8,8,8,14,8,8,8,9,8,5,5,5,5,5,3,3,9,6,6,6,6,10,12,6,6,6,6,6,6,6,4,4,4,4,11,8,7,8,8,8,5,5,3,3,3,3,7,7,6,8,6,8,11,7,6,6,6,7,4,8,11,9,10,5,5,5,3,3,3,7,7,8,9,8,15,9,6,6,6,6,6,6,11,11,4,4,4,4,4,7,9,9,10,8,7,5,5,5,5,5,5,3,3,8,6,6,6,6,6,6,6,6,6,9,7,4,4,4,4,4,9,9,8,8,10,13,5,5,5,3,17,7,7,7,7,7,8,6,8,13,6,6,6,6,6,6,6,6,4,4,4,9,10,8,8,8,5,5,5,5,3,7,7,7,8,8,6,6,6,8,8,8,9,10,8,4,8,10,9,8,8,8,9,13,10,5,5,5,5,5,5,5,5,5,5,3,3,7,8,9,9,7,7,7,10,9,9,8,9,8,8,8,6,6,6,6,6,6,6,6,6,6,6,6,6,8,12,6,6,6,6,6,6,6,6,6,12,4,4,4,4,4,4,4,4,4,4,4,11,8,8,9,9,10,8,9,7,7,5,5,5,5,5,5,3,7,8,7,6,6,8,6,6,10,4,7,8,9,12,8,7,7,5,5,5,5,5,5,3,3,7,14,7,9,8,8,6,6,8,12,12,6,6,7,7,10,4,4,4,4,4,9,9,14,9,13,8,7,5,5,5,6,6,6,7,4,8,7,5,5,5,5,5,5,5,5,3,3,7,7,7,8,6,6,6,6,6,6,12,6,6,6,6,4,4,9,9,8,8,11,7,7,7,5,5,5,3,9,8,6,6,7,4,4,4,4,4,4,8,8,11,5,5,5,7,7,7,9,6,6,6,6,6,6,9,8,4,4,4,4,7,12,9,8,8,8,7,10,10,5,5,5,5,5,5,5,3,11,14,8,7,8,8,6,6,6,6,6,8,7,6,6,6,7,6,8,9,4,4,4,7,8,9,7,9,7,7,9,8,5,5,5,5,5,5,5,5,5,11,3,9,7,7,12,14,8,6,6,12,11,8,6,6,6,6,6,6,6,6,6,15,7,4,4,4,16,9,9,9,8,9,9,9,9,9,8,8,8,13,11,8,5,5,5,5,3,7,6,6,8,8,8,6,6,7,10,7,4,4,4,4,9,7,8,7,7,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,7,7,7,9,6,6,6,6,6,8,8,7,7,9,6,6,6,7,6,6,6,6,6,15,4,4,4,4,4,8,8,7,8,12,9,8,8,8,8,8,9,8,8,10,8,8,8,8,16,9,10,2,5,5,5,5,5,5,5,9,7,6,8,9,4,4,4,4,4,7,8,8,8,9,8,11,10,5,5,5,5,3,7,8,6,6,6,6,6,8,6,6,6,6,4,12,10,12,7,7,7,7,7,7,7,5,5,5,5,3,3,7,7,10,8,9,7,6,10,7,6,6,4,4,8,9,7,9,9,9,9,8,8,8,8,10,5,5,5,5,5,5,8,7,6,6,6,10,6,7,10,7,4,4,4,4,4,4,4,12,9,10,7,7,10,8,10,5,12,9,6,6,6,6,6,7,6,4,4,4,10,9,9,8,7,7,5,5,5,5,5,5,3,3,13,7,7,9,7,7,7,8,9,9,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,7,13,9,15,15,4,4,4,4,4,10,10,9,8,9,8,8,9,7,8,7,8,5,5,7,6,6,6,4,4,4,7,8,11,8,5,5,5,5,5,5,5,7,6,6,6,6,6,6,9,11,10,7,4,4,4,9,8,8,5,5,5,5,5,9,9,6,6,6,6,6,6,6,9,9,4,4,4,4,8,8,8,9,9,8,8,8,13,2,4,2,7,5,5,5,5,5,5,9,9,6,6,6,6,10,8,8,8,6,6,6,4,4,9,8,10,8,9,8,8,8,9,8,8,5,3,3,3,11,6,6,6,7,6,6,6,4,4,9,8,5,5,5,5,5,3,11,8,6,6,6,6,6,9,7,4,4,14,10,9,8,12,8,8,8,11,15,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,11,11,11,10,10,7,7,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,5,5,5,3,3,3,7,11,7,7,11,11,7,8,9,10,7,7,9,9,9,9,7,7,10,8,13,8,8,8,8,11,10,6,6,8,10,11,14,14,6,6,6,6,6,6,9,11,7,7,6,8,12,11,11,6,6,10,6,6,6,6,6,10,7,7,6,6,11,6,6,6,11,8,9,7,6,10,11,9,10,11,7,11,8,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,6,6,8,9,10,9,6,6,6,10,6,6,6,6,11,10,11,10,9,8,7,7,7,7,11,14,8,10,9,9,8,8,7,11,8,8,8,11,11,10,10,9,10,8,11,10,8,11,9,12,8,10,8,11,8,9,9,11,11,10,11,13,8,7,8,8,9,7,8,8,8,8,7,8,2,2,2,2,2,2,2,4,4,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4,2,3,3,3,3,3,3,3,3,8,6,4,4,4,11,7,11,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,5,3,3,3,3,8,7,7,8,8,4,8,7,7,7,9,7,8,9,8,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,6,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,4,5,5,3,3,8,8,6,9,4,4,10,7,3,3,3,2,5,3,3,3,3,3,3,3,3,3,3,3,3,4,3,2,2,2,3,3,3,3,3,4,10,2,3,3,3,3,3,3,3,4,2,3,3,3,3,3,3,3,3,2,2,3,3,3,5,2,4,2,6,2,2,9,5,5,3,3,3,3,3,3,3,5,5,5,9,8,7,9,6,6,11,4,4,4,4,4,4,4,4,6,6,7,7,11,8,8,6,5,11,2,3,3,3,3,3,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,6,4,4,4,4,3,3,3,3,5,7,2,3,3,3,3,3,8,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,6,4,4,4,4,2,2,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,2,3,3,3,3,3,6,3,3,8,10,3,4,4,1,1,1,1,1,1,1,8,9,10,7,7,1,14,18,13,18,13,10,10,16,13,18,16,13,16,18,13,22,16,16,16,14,21,16,9,14,16,9,9,14,10,10,14,12,14,19,12,11,18,13,17,15,15,15,15,16,14,13,19,18,15,19,18,12,18,12,11,20,14,15,10,17,17,16,19,20,21,15,13,16,15,15,15,1,1,3,8,7,7,8,8,8,1,6,1,1,6,3,3,4,7,3,3,5,5,4,4,4,4,4,2,7,7,8,12,3,4,5,1,3,4,4,10,4,3,3,3,8,7,7,2,2,2,2,2,2,2,2,2,12,9,20,7,5,5,5,9,13,5,5,5,5,5,3,3,3,16,5,5,5,13,7,8,8,11,8,7,9,7,11,12,9,9,8,8,11,10,14,7,12,10,11,13,7,9,11,17,17,14,13,7,8,7,10,10,7,16,13,7,8,17,12,9,8,6,7,10,6,6,12,6,8,10,8,8,8,6,8,6,14,6,6,6,13,6,10,6,6,7,14,8,6,6,10,11,10,9,9,7,7,6,6,6,9,9,7,9,10,9,13,12,4,4,4,4,4,4,4,4,4,4,6,6,6,8,8,6,8,9,10,9,7,10,10,8,7,8,7,10,12,9,8,15,8,7,8,8,7,7,15,13,7,10,9,14,18,16,7,24,7,8,10,11,16,8,14,7,9,9,9,13,19,14,15,14,11,7,13,9,10,7,13,9,10,11,12,8,9,2,3,5,8,7,4,4,15,10,5,3,3,3,3,3,5,4,4,4,2,2,2,2,2,1,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,2,2,2,3,3,3,3,3,3,3,3,3,3,4,2,12,5,3,8,10,15,6,7,2,3,2,5,5,12,2,5,5,5,5,2,2,5,5,12,9,5,2,2,9,5,5,12,12,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,12,5,8,8,9,5,5,5,8,19,7,16,15,14,9,9,9,9,7,11,11,11,7,14,10,10,5,5,5,5,5,5,5,5,5,15,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,14,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,15,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,12,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,12,9,9,12,12,12,15,7,11,7,14,11,18,13,8,18,15,18,12,14,12,8,8,8,8,9,9,9,12,7,10,10,8,8,12,12,12,7,12,12,9,7,7,7,7,7,8,15,12,9,10,10,7,10,10,13,11,10,9,22,11,9,8,8,8,8,8,13,18,13,9,15,19,9,7,7,10,7,7,7,11,8,13,17,7,7,10,10,10,7,20,16,7,7,7,7,7,7,11,21,12,12,13,11,14,16,8,8,13,11,7,7,13,7,7,14,15,15,6,6,6,6,6,6,6,6,6,6,13,10,18,6,6,6,6,6,6,6,6,6,11,8,8,12,12,11,11,8,12,9,9,9,13,13,9,9,9,9,9,9,6,10,12,6,6,6,6,17,11,7,7,7,7,14,14,12,6,7,7,6,6,15,10,13,10,6,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,13,9,9,15,13,6,12,12,6,19,11,10,7,7,16,8,19,17,9,9,9,9,9,6,6,6,10,8,16,8,6,6,9,6,6,6,6,6,6,6,6,8,8,8,6,7,6,6,6,6,6,6,6,6,6,6,6,14,6,6,6,6,20,6,9,6,14,9,9,9,6,9,8,8,12,9,8,8,8,8,7,8,12,7,8,8,8,6,8,6,6,6,6,6,6,6,9,8,8,6,6,13,9,12,13,12,14,13,12,11,11,6,8,8,8,6,13,12,11,11,12,6,11,12,11,13,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,6,6,6,6,6,6,6,13,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,6,18,6,12,13,13,13,9,10,15,9,12,6,6,6,6,6,6,6,6,9,15,10,9,10,13,9,19,8,18,17,10,10,8,8,6,6,6,6,6,6,10,14,8,16,16,9,8,15,8,8,10,12,14,7,7,8,8,7,7,7,7,8,13,13,11,9,9,9,12,10,17,8,11,9,7,7,14,8,14,14,7,7,7,7,7,7,14,7,7,7,7,7,10,10,8,14,7,7,7,7,8,8,8,8,8,17,9,7,15,7,8,12,7,9,14,7,7,7,9,13,8,14,7,16,18,13,15,14,12,13,10,15,9,7,7,7,10,13,15,15,9,9,9,9,19,11,7,11,11,13,8,8,8,8,7,12,19,17,9,9,13,7,7,7,9,7,7,7,12,13,15,10,8,8,14,15,12,13,13,8,12,14,7,11,7,14,15,13,12,8,8,8,8,11,13,15,15,8,13,12,8,8,8,13,10,16,14,11,8,8,12,12,9,15,15,12,12,13,8,8,9,12,13,9,8,8,8,8,8,8,8,8,8,8,8,11,12,11,7,14,7,13,13,13,12,18,16,7,12,11,10,10,15,9,9,9,21,7,7,7,11,16,8,8,11,11,7,7,7,7,7,19,7,7,7,7,7,7,7,7,7,12,8,9,12,14,11,9,9,9,22,12,3,3,4,8,8,15,4,2,2,5,5,3,3,3,3,3,3,6,6,4,4,4,12,7,10,2,3,3,3,3,3,3,3,6,7,3,7,5,14,4,4,7,8,10,4,1,3,3,6,2,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,4,2,2,5,3,4,2,2,2,2,2,2,11,5,5,5,11,5,5,3,5,5,5,5,11,14,13,9,11,9,12,8,11,11,8,11,16,9,9,7,10,9,12,8,15,6,7,6,6,13,10,8,11,8,6,6,6,12,16,6,11,7,8,9,18,6,6,9,4,4,6,13,6,6,6,6,8,8,9,16,7,7,14,7,8,8,8,7,7,7,7,7,7,15,13,7,10,7,7,10,12,16,15,7,9,9,14,11,11,10,9,10,8,12,7,8,7,7,10,12,7,12,8,7,2,3,3,3,3,3,3,3,3,3,3,5,3,3,5,5,5,10,4,8,7,10,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,7,4,5,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,8,2,2,2,8,12,7,7,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,7,11,9,8,8,8,7,8,9,7,7,9,7,7,7,10,7,7,10,9,10,6,6,6,6,6,6,15,7,8,9,9,8,6,6,10,9,6,8,13,9,7,6,6,6,6,6,6,12,6,6,7,6,7,6,6,6,10,10,7,6,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,6,14,6,6,7,7,9,6,6,6,6,9,9,8,9,10,9,8,9,12,7,7,7,8,7,10,12,11,9,10,7,7,7,9,10,10,8,12,9,7,7,9,8,8,8,10,7,7,8,9,9,7,7,7,8,2,4,6,3,4,2,3,3,3,3,2,3,3,3,3,3,3,3,3,4,4,4,4,5,5,3,3,3,3,3,3,3,3,5,8,6,4,7,3,3,3,3,3,3,3,12,3,3,3,3,3,3,4,4,2,3,5,3,4,7,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4,3,3,6,4,3,4,2,2,2,5,3,3,3,3,3,5,4,4,4,4,7,6,8,9,2,2,2,2,3,3,3,5,7,2,3,3,8,7,7,2,2,8,5,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,8,8,7,7,6,10,6,9,7,11,4,6,8,8,7,8,4,5,5,5,5,3,3,11,8,9,6,6,8,7,4,4,7,8,7,2,2,3,3,3,3,4,3,3,3,3,3,3,3,3,7,2,2,5,3,3,2,3,3,3,3,3,3,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,12,5,5,3,3,3,5,10,12,6,15,4,6,6,7,14,9,3,3,3,3,3,8,2,2,3,5,5,3,3,3,3,3,3,8,8,8,7,5,8,4,6,11,2,2,6,7,3,3,2,9,8,5,5,3,3,3,5,5,7,7,6,6,10,6,8,6,8,9,7,4,4,4,4,7,6,6,7,7,10,9,8,11,8,3,3,3,3,3,4,4,2,3,3,3,3,3,7,6,2,5,6,7,6,4,8,9,11,2,2,3,3,3,3,3,3,3,2,2,5,3,3,3,3,3,9,9,6,4,8,7,7,5,9,8,6,2,8,7,8,5,5,5,5,5,3,3,3,16,8,7,7,7,8,7,7,7,7,9,6,9,6,10,7,7,7,6,10,8,9,11,11,8,4,4,10,8,8,6,9,6,11,8,8,8,15,7,8,9,5,3,3,3,3,3,5,11,2,2,3,8,9,10,3,2,2,2,2,2,2,3,6,4,2,2,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,11,5,3,3,3,3,3,3,3,3,6,7,4,4,2,3,3,3,3,3,3,3,3,12,7,4,12,4,6,5,4,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,3,4,4,11,10,6,4,6,10,8,3,3,3,3,3,3,3,3,5,4,4,4,2,2,2,2,2,2,2,2,5,3,4,4,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,10,5,5,5,5,5,5,3,3,3,3,3,3,3,3,7,8,8,7,13,12,10,10,8,8,7,7,9,12,11,6,6,8,8,9,7,7,7,10,15,10,4,4,4,4,4,11,8,8,9,7,9,14,14,12,2,2,2,2,2,2,2,3,3,3,3,3,12,5,5,5,11,10,7,9,3,8,7,3,15,13,11,4,4,2,2,2,19,7,5,5,3,3,3,3,3,3,3,5,22,18,6,14,17,4,4,19,16,18,2,3,3,7,2,3,2,3,3,6,4,2,3,3,2,5,3,3,3,3,3,3,3,9,9,2,3,2,2,2,3,3,3,5,7,14,7,7,12,9,13,6,11,6,10,9,7,7,8,12,12,8,8,8,10,7,7,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,5,8,10,7,8,11,8,12,9,4,14,7,7,9,13,2,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,3,3,3,3,5,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,4,4,4,3,2,3,3,3,3,5,2,2,2,2,5,5,5,5,3,3,3,3,3,3,3,3,3,7,7,7,7,7,8,8,8,8,8,12,9,8,8,9,8,6,17,6,6,6,8,8,6,6,6,6,6,6,6,6,6,6,6,7,4,4,8,8,9,9,9,7,7,7,7,7,7,7,9,9,9,7,8,8,8,10,7,13,10,8,9,3,3,5,13,3,3,3,3,3,7,7,6,6,10,13,11,11,8,8,9,8,9,9,10,10,10,11,10,10,13,13,16,15,11,12,9,9,10,9,11,10,9,9,14,7,8,3,10,7,7,3,2,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,6,7,2,2,3,3,3,3,3,3,3,3,4,11,6,7,4,6,2,2,3,3,3,1,3,3,3,3,3,3,6,4,4,2,2,2,3,3,3,3,4,4,6,6,6,6,5,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,11,6,10,9,12,7,7,11,14,9,7,12,3,3,7,12,11,12,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,5,5,5,5,5,5,5,5,11,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,3,3,3,5,5,5,5,5,5,5,5,5,5,5,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,5,5,5,5,5,5,5,5,5,5,5,5,3,10,3,3,3,11,3,5,9,11,8,12,14,9,7,8,7,7,11,11,7,7,10,9,8,10,9,7,7,7,7,7,7,8,8,7,11,8,8,8,7,7,10,8,7,13,12,7,17,10,8,8,11,7,11,11,14,7,11,7,8,6,9,20,8,7,9,16,7,10,6,11,10,8,9,7,16,11,11,9,8,9,8,8,8,11,8,15,8,8,9,7,8,8,11,10,7,5,7,10,10,15,7,7,7,8,7,8,8,10,11,10,10,10,11,11,7,8,6,8,8,8,10,6,8,6,6,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,16,6,15,6,7,11,11,7,9,10,11,13,10,6,16,8,10,12,11,6,6,6,6,6,6,6,10,6,10,7,7,7,7,11,7,11,6,6,6,6,6,6,17,7,7,6,6,12,22,6,6,6,6,6,8,6,6,6,6,7,6,6,5,6,6,8,11,6,9,14,11,9,11,7,7,8,6,6,6,8,10,9,6,6,6,6,9,7,6,6,6,6,6,15,6,4,4,4,6,4,17,8,11,6,6,9,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,6,6,6,6,10,6,10,6,6,6,6,12,8,6,6,6,6,6,6,6,6,6,9,6,6,6,6,18,6,6,6,8,9,10,7,8,9,10,11,7,13,6,8,8,6,6,14,7,7,7,7,10,7,14,9,6,6,9,15,9,7,14,6,11,14,13,7,12,8,7,7,7,7,7,12,7,10,9,16,6,8,6,5,17,6,8,10,4,6,4,10,15,17,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,4,4,11,7,4,4,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,19,17,6,10,11,6,6,6,6,18,6,6,11,4,4,4,5,6,6,6,9,5,6,4,6,6,4,6,6,6,6,10,6,6,4,6,6,10,6,10,6,6,6,6,11,6,6,10,6,6,8,6,6,6,8,6,11,4,11,9,10,9,11,4,8,4,11,12,7,9,8,6,7,7,8,12,12,11,13,10,11,7,7,7,9,7,11,10,7,7,7,16,11,10,11,17,9,9,8,8,7,7,7,9,7,7,7,14,7,13,9,11,10,14,10,10,12,11,10,7,10,5,14,8,8,8,9,7,8,7,7,9,8,7,8,7,7,7,7,7,7,7,11,8,10,8,7,8,14,11,8,9,9,9,8,24,10,10,12,7,7,15,11,8,8,12,11,8,9,9,7,8,9,10,11,10,11,7,12,7,7,11,9,8,14,13,12,8,11,10,8,8,7,7,14,9,10,8,9,11,7,14,8,8,13,8,8,12,7,10,14,14,11,9,10,9,9,7,7,11,11,13,9,13,5,5,5,7,9,5,11,12,14,8,7,7,11,10,9,7,8,8,7,10,11,11,5,5,7,5,5,5,7,7,15,7,7,8,7,15,12,12,10,7,8,7,11,7,7,7,23,11,8,8,11,10,7,8,11,7,19,7,7,6,9,9,9,11,3,4,7,8,6,6,4,10,8,2,2]),FL=new Uint16Array([0,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,1,1,1,1,1,17,1,1,1,12,1,12,1,12,13,1,1,1,1,12,1,12,1,1,1,1,1,14,21,1,1,1,1,1,1,1,19,12,1,1,1,1,1,1,1,20,1,1,1,16,18,1,1,15,1,1,1,1,12,1,1,1,1,1,1,1,1,22,1,1,1,1,12,1,1,1,1,1,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,1,24,25,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,12,12,12,12,1,32,0,0,0,1,1,1,1,35,34,1,1,1,1,1,33,1,1,1,1,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,0,39,40,0,0,0,0,12,1,1,12,1,1,1,1,43,44,44,44,43,44,43,43,45,44,43,44,43,43,43,43,43,43,45,43,43,43,43,43,43,44,46,46,44,43,43,43,43,43,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,49,51,49,49,49,51,49,50,49,52,49,50,50,49,49,49,50,52,50,52,49,50,50,12,54,54,53,55,50,52,49,49,47,48,56,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,59,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,66,67,12,1,1,65,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,76,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,12,1,1,1,1,89,1,91,1,1,1,1,1,1,1,1,94,1,1,1,1,1,1,1,1,1,1,1,1,0,1,97,97,1,1,12,1,100,1,1,1,1,1,1,1,98,1,99,1,101,1,1,1,1,1,102,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,110,111,1,1,1,1,1,1,113,113,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,121,122,1,1,1,1,1,1,1,1,1,1,1,1,1,122,1,1,1,1,1,1,1,1,1,1,122,1,1,1,1,1,1,1,1,1,126,123,125,120,1,124,1,1,114,1,1,1,1,117,1,127,1,1,1,1,1,1,119,1,108,1,109,1,12,128,106,1,112,1,1,1,1,1,107,115,1,12,12,12,118,116,1,1,1,1,1,1,0,0,0,0,1,12,12,1,1,1,1,1,12,134,1,1,1,1,1,1,1,1,1,1,1,12,136,1,1,1,1,1,1,1,1,137,138,12,12,135,133,44,44,140,49,49,139,142,141,1,1,0,0,0,0,0,0,0,0,0,0,0,0,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0,0,0,1,0,144,132,1,0,1,1,12,12,1,1,1,1,1,0,0,0,0,0,0,0,1,148,147,20,1,1,12,12,1,20,12,12,1,1,1,1,1,134,1,1,152,1,1,1,1,153,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,1,136,1,1,152,1,1,1,1,153,1,1,134,1,1,1,152,1,1,1,1,153,1,1,134,1,1,1,1,1,1,1,1,134,1,1,1,1,1,1,1,1,1,1,1,160,1,1,1,152,1,1,1,1,1,153,1,1,160,1,1,1,1,1,1,1,1,1,1,134,1,1,1,1,152,1,1,1,1,153,1,1,1,134,1,1,152,1,1,1,1,164,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,167,1,1,160,1,1,1,1,1,152,1,1,1,1,1,153,1,1,160,1,1,1,1,1,152,1,1,1,1,1,153,1,154,158,158,12,1,12,166,1,1,1,1,1,158,158,158,154,1,1,1,157,158,161,165,1,1,1,1,157,157,1,1,156,154,154,157,170,156,170,1,1,168,1,156,155,157,1,1,1,1,157,1,159,1,1,1,12,1,162,1,162,1,1,1,162,161,163,169,156,154,1,1,1,1,1,1,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,173,172,173,172,172,172,172,174,174,172,173,172,173,172,172,12,1,12,12,12,12,1,12,12,12,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,196,1,1,1,1,12,202,203,204,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,151,1,1,1,1,1,1,1,1,1,1,1,199,1,1,1,186,1,1,1,1,210,1,1,207,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,12,1,1,1,1,1,1,1,1,177,193,1,1,1,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,184,1,1,1,1,1,1,1,194,1,1,1,1,198,1,1,1,1,171,1,1,192,1,1,1,195,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,182,1,12,1,1,12,1,1,1,1,185,1,1,1,191,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,211,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,197,1,1,1,1,1,12,1,1,1,1,1,1,1,1,176,12,1,1,1,179,12,1,1,1,1,1,1,1,201,1,1,1,1,1,1,1,1,1,1,178,1,1,1,1,1,1,1,206,1,1,1,183,1,1,1,190,1,12,1,187,12,1,1,1,1,1,1,1,1,1,1,194,1,1,1,1,181,1,1,1,1,1,1,1,1,1,1,1,1,1,1,175,1,1,1,1,1,1,1,1,1,1,188,1,1,1,1,1,1,1,1,1,1,1,208,1,1,1,1,1,1,1,1,1,1,12,1,209,1,1,12,1,1,1,1,180,1,1,1,188,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,200,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,12,1,1,1,1,1,1,1,1,1,205,1,1,12,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,221,0,0,0,0,0,222,0,0,0,0,0,0,1,12,1,1,1,226,1,1,1,0,227,224,225,1,1,1,1,1,1,232,1,234,1,1,1,1,1,1,1,1,1,1,1,230,1,1,1,1,1,236,1,1,12,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,235,1,1,1,12,1,1,1,1,231,1,1,1,229,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,233,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,242,13,1,1,1,12,12,239,240,1,1,1,1,241,1,1,12,1,1,1,1,1,1,1,243,1,1,12,16,1,1,1,1,1,1,244,1,1,1,12,12,1,1,1,1,1,1,244,12,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,257,257,1,0,0,0,0,0,1,12,0,0,0,0,0,0,0,0,172,262,263,1,12,1,1,1,1,12,265,1,1,264,1,1,267,1,1,1,1,1,1,0,1,1,1,271,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,12,1,0,1,0,0,0,0,1,0,1,0,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,12,0,282,0,0,283,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,12,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,59,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,1,0,307,0,0,0,0,0,0,0,0,0,309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,12,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,325,325,326,325,0,188,1,1,13,321,1,319,0,0,0,0,0,0,0,322,1,1,327,1,207,1,1,1,1,320,1,317,1,323,1,315,1,324,1,316,1,1,1,1,1,1,1,12,1,1,1,1,12,318,318,1,1,1,186,1,1,12,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,12,1,1,1,1,314,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,330,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,267,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,370,370,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,362,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,338,349,1,1,337,372,1,343,1,1,335,367,1,1,353,334,339,1,1,1,346,377,355,1,1,1,1,1,1,356,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0,365,369,0,0,79,1,1,0,363,340,376,341,344,351,1,366,0,1,0,79,360,358,1,0,0,1,1,1,0,0,0,0,379,1,1,350,1,79,1,0,1,1,1,382,1,0,0,79,357,0,1,336,1,1,1,0,1,1,359,1,0,1,1,1,0,1,384,347,1,1,0,1,0,0,375,0,1,1,1,79,368,1,1,364,361,1,1,1,1,1,1,1,1,1,1,1,342,1,1,1,1,1,1,1,1,1,1,1,374,0,79,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,378,1,1,1,0,0,381,0,0,0,1,354,1,0,79,380,1,0,0,0,0,383,1,1,0,0,1,0,1,0,352,0,348,0,1,1,1,0,1,1,0,371,345,373,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,12,1,1,1,12,399,399,1,1,12,12,1,399,1,1,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,411,1,1,0,1,1,1,1,207,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,429,429,1,1,0,0,315,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,442,1,441,1,1,1,1,1,1,1,1,1,446,1,12,12,1,1,1,1,1,12,1,1,1,1,454,1,1,1,456,1,1,1,1,1,1,1,1,1,1,453,1,448,1,1,1,1,435,1,1,1,1,1,1,1,1,449,12,1,1,1,1,455,1,1,1,450,444,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,315,1,432,1,1,12,452,1,1,315,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,437,1,1,1,1,1,1,1,1,1,1,1,455,1,1,1,1,315,1,451,1,1,1,445,439,1,1,1,1,1,440,1,457,443,1,1,1,1,1,438,1,1,1,1,1,1,1,1,1,433,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,447,1,1,1,1,1,1,1,1,1,1,1,1,436,1,1,1,1,1,434,1,221,458,1,1,1,1,1,12,1,1,1,1,12,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,464,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,12,1,67,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,468,468,468,468,468,468,468,0,468,468,468,468,468,1,468,468,468,0,468,468,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,473,472,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,477,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,470,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,471,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,479,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,469,0,0,480,475,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,474,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,478,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,12,1,1,1,1,1,1,1,1,1,1,1,1,490,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,201,201,1,494,1,1,1,493,1,1,1,1,489,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,491,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,495,1,1,492,1,1,1,1,1,1,1,1,370,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,496,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,507,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,1,0,1,0,0,12,1,509,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,12,12,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,0,0,0,0,0,0,0,1,0,0,1,0,1,1,1,1,0,0,0,1,0,0,0,1,59,1,1,12,12,12,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,528,1,1,1,1,1,1,1,529,1,1,1,1,1,1,1,527,1,1,12,1,1,531,240,1,1,12,12,1,1,12,1,12,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,1,1,541,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,132,1,12,546,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,107,1,1,12,1,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,551,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,144,1,1,1,229,1,1,12,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,576,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,221,1,326,1,1,1,1,1,1,1,1,1,0,0,581,1,1,1,1,0,583,0,79,0,582,0,1,1,1,0,1,1,1,1,1,1,12,0,0,0,1,0,1,0,0,0,0,0,0,590,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,585,585,0,589,587,585,585,585,585,585,591,585,585,595,585,585,585,585,585,585,585,585,585,585,592,589,585,585,589,585,585,585,585,585,585,585,585,585,585,585,585,585,587,585,585,585,585,585,593,585,585,585,585,585,585,0,0,0,1,594,1,1,1,1,588,1,1,1,1,1,586,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,12,599,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,12,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,1,1,12,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,64,279,305,410,537,0,4,68,237,255,281,306,332,386,412,0,501,521,538,601,9,0,60,88,396,408,428,579,0,499,520,534,616,0,30,6,0,463,502,606,564,70,0,7,284,256,387,465,415,540,79,602,0,580,308,417,467,9,105,287,508,6,30,0,310,79,389,79,485,10,6,131,249,274,0,617,511,0,567,0,63,6,6,252,95,2,431,397,409,600,0,6,0,6,285,103,6,565,503,542,0,466,388,272,286,8,71,104,603,545,390,311,299,418,146,74,289,549,512,605,568,333,328,481,6,75,149,11,0,250,524,550,569,516,554,574,615,36,6,261,294,331,303,219,30,530,557,219,41,217,266,295,304,405,422,483,273,0,73,566,0,402,416,298,79,248,79,0,584,548,506,291,420,79,391,385,0,0,0,9,559,575,218,0,423,406,533,518,577,619,85,219,42,296,394,424,573,0,513,292,275,79,216,80,28,388,30,6,392,329,302,608,596,526,553,515,0,259,81,30,404,421,0,30,425,0,220,597,519,9,407,426,219,249,86,223,598,578,561,484,427,395,251,228,87,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,624,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,413,0,0,0,0,0,0,0,0,82,0,129,0,0,84,552,0,0,0,0,0,0,0,27,0,555,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,413,0,0,0,0,505,0,258,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,293,0,0,0,0,0,0,0,621,0,0,0,0,0,620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,393,0,0,0,486,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,497,0,0,0,0,0,0,403,0,0,0,0,0,0,0,0,0,0,0,0,0,212,0,0,0,0,0,0,0,0,0,0,0,517,0,0,0,0,0,0,0,0,0,0,0,0,498,0,0,0,0,0,0,0,0,0,0,0,0,0,0,270,280,0,0,0,0,0,532,276,0,0,0,0,0,0,0,0,0,0,0,0,0,514,0,0,0,0,0,0,0,0,0,0,0,459,0,0,0,313,0,0,0,0,0,0,254,0,0,0,0,0,0,23,0,0,0,0,572,0,0,0,0,604,523,0,0,0,0,245,0,0,0,0,0,0,461,0,0,482,0,0,0,0,0,61,0,0,0,268,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,0,0,0,0,0,278,614,0,72,0,0,0,0,0,0,0,0,0,623,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,277,0,0,0,0,0,0,571,0,0,0,0,0,0,525,0,0,0,0,0,0,0,0,0,570,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,0,504,0,0,0,0,0,558,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,83,0,0,0,0,0,0,0,0,0,0,0,0,488,0,487,0,0,0,0,0,0,0,0,0,0,260,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,539,0,0,0,0,0,0,0,0,297,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,238,0,0,0,0,0,0,0,0,0,0,84,0,610,0,0,556,0,0,0,0,0,0,0,0,0,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,522,0,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,0,618,0,0,430,0,0,0,0,0,0,0,0,0,0,0,0,401,0,0,0,547,0,93,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,29,92,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,215,0,0,0,0,0,0,562,0,0,0,0,130,0,0,0,0,0,563,0,0,0,0,0,0,0,413,419,0,0,0,0,0,0,0,0,0,0,0,0,0,0,398,0,312,0,0,0,0,0,5,0,0,0,0,0,0,0,300,0,0,0,0,0,0,0,0,0,0,0,0,0,536,0,0,0,414,0,0,400,0,0,0,0,0,0,607,0,0,0,543,0,0,90,0,544,0,0,0,0,0,0,0,0,0,0,510,462,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,269,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,612,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,611,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,622,0,0,0,0,0,560,0,0,0,0,0,0,0,0,0,0,301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,609,0,0,213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,627,627,627,627,627,627,627,626,628]),IL=`orgmilcomschnetedugovdrrformsfeedbackofficialaccoorgmilschnetgovmagazinemediaunioncargopilotgroupcaarespressworksaerodromeworkinggroupair-traffic-controlaircraftaccident-preventioneducatormarketplaceambulanceinsurancecateringairportrepbodyenginesoftwaremodellingair-surveillanceconsultingchartertrainermaintenanceservicesdesignflightskydivingfreightassociationstudentgroundhandlingdgcafuelclubtaxicrewshowballooningexpresstraderbrokerauthoragentsairtrafficjournalistsafetyconsultantmicrolightaccident-investigationparachutingequipmentproductionfederationrecreationscientistnavigationengineertradingglidingleasingresearchpassenger-associationentertainmentparaglidinghangglidingaerobaticrotorcraftemergencycertificationgovernmentaeroclubexchangelogisticschampionshiphomebuiltcouncilconferencecontrolairlinecivilaviationjournalorgcomnetedugovcoorgcomnomnetobjofforgcomnetuwukiloappsframerorgmilcomnetedugovcoradioorgcomnetcommuneedogpbcoitgvorgedugov*spreviewfrontendrelayononstagingupid*mtls*privatelinktypedreamdeveloperbravemochawindsurfaivenmirenupsunwnextbegetngrokclerkwale2bwebcsbrunputerflutterflowspawnbaseshiptodaymagicpatternsnetlifyondigitaloceanrailwayhostedclaudehasurabotdashvercelgithubluyanigadgetreplitcloudflaretelebitedgecomputeevervaultexponyatnoopencrpplxzeaburwasmerframerzeropsrocketpreviewconvexmedusajsspritesonherculeseasypanelstreamlitglideossnowflakemesserliloginlinehackclubcodepennorthflankbase44corespeedleapcellngrok-freeclerkstagelovableon-fleek*us-west-3ap-south-2us-central-2us-central-1eu-central-1ap-south-1us-west-2us-east-2eu-north-1ap-north-1us-west-1us-east-1*rcloudintsegorgmilcomgobbetnetintedugovturmusicasenasamutualcoopip6uriurnin-addre164homeirisgovdixdaemoncloudnssthwien*inexexkunden4accogvormymyspreadshop4lima2ixortsinfofuturecmsfuturehosting12hpprivfuturemailinglima-cityfunkfeuer123webseitednshomemelmyspreadshopcloudletswasantqldvicactnswtascatholicwasaqldvictasidwasantozqldorgcomvicasnactnetedugovnswtasconfcomairflowlambda-urltransfer-webappairflowtransfer-webapptransfer-webapptransfer-webapp-fipstransfer-webappeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1privatenotebookstudiolabelingnotebookstudionotebooknotebook-fipslabelingnotebookstudionotebook-fipsnotebookstudio-fipsnotebook-fipsnotebookstudionotebook-fipsnotebookstudioeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2experimentsus-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1onrepostsagemakercopporgmilcompronetintedugovbiznameinfoshoprsorgmilcomnetedugovbrendlyresolvenzauscotvstoreorgcomnetedugovbizinfoidacaicoittvorgmilcomschnetedugovinfocloudezproxysiteacmymyspreadshopkuleuvenwebhostingtransurl123websitecloudnsinterhostsolutionsddns5476103298edgfacbmlonihkjutwvqpsryxzbarsycoororgcomedumyftpno-iporxcloud-ipfor-somemmafanfor-morewebhopselfipjozidyndnscloudnsdscloudfor-thefor-betteractivetrailcoeconorestooteorgcomeconeteduassurmoneyafricaarchitectesrestaurantloisirstourismavocatsinfoagrounivcoorgcomnetedugoviatvdeportesaludtksatorgmilcomwebgobnetinteducienciaboliviarevistacooperativaempresanombreindustriamusicapatriamedicinademocraciapoliticapuebloindigenaplurinacionalarteblogwikiinfoagrotransportenoticiasprofesionalacademiaeconomiaecologiamovimientotecnologianaturalsimplesitecepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesmscepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesms*biaamfmtcmptvfeirasampajampanatalbelemananiradiog12medindfndbmdtrdthepoaggfjdfdefinfenflegsegongengcngorgzlgslglogppgmillelqslcimcomnomadmjabimbbibbsbabcrectecsjcetcpscpvhudieticriapipsiecnbiorioecogeoteoodoproatoartfstmatvetdetbetnetcntnotfotgrueduajuespappreptmpemparqsrvadvdevgovntrturagrjorfarjusmusdesvixxyzcozfozslzbhzmaringasantamariacampinagrandegoianiasorocabafloripasaobernardocuritibaboavistarecifeaparecidasaogoncasalvadorcuiabamorenamacapalondrinacontagemsocialfortalmaceioleilaoosascoriobranconiteroi9guacutcheblogflogvlogwikitaxicoopmanauspalmascaxiasjoinvillebaruericampinassantoandreribeiraoriopretoweorgcomnetedugovv0windsurfshiptodaycloudsitecoaccoorgnetgovofmilcomgovmediatechzacoorgcomnetedugsjgovmydnspenfnlabnbmbgcbcqconcontnuyksknsmyspreadshopno-ipawdevboxbarsyonidatemfuinabusavinstanceseceuguukussryzespawncsxcloud-ipmyphotosfantasyleaguetwmailcleverappsscrappingccwucloudnsftpaccessgame-serverccgovobjectsrmalpgcust*svcalp1aeappenginermalpgmyspreadshop4lima2ixsquare7cloudscale123websitefirenet12hpflowgotdnslinkyard-cloudcloudnslima-citydnskingobjectstorageedaccogoorusorgcomnetinteduaéroportxn--aroport-byaassogouvcomilgobgovcloudnses-1eu-west-1us-east-1euvipit1eurarubait1s3lbwebsites3websiteru-spbru-mskelasticcsrunstnukukcaukusnl-ams-1fr-par-1fr-par-2functionsnodess3ddlwhmrdbfnck8sifrs3-websitecockpitscblmgdbdtwhkafkpubprivs3ddlwhmrdbk8sifrs3-websitecockpitscblmgdbdtwhkafks3ddlrdbk8sifrs3-websitecockpitscblmgdbdtwhkafkk8sscalebookpl-wawfr-parnl-amsbaremetalsmartlabelinginstancesdechk2kuleuvenlaravelvoorloperurownoxazapscwhstgrvaporonline-serverobservablehqelementorantagonistreclaimjoteluluencowaydiademjelasticmatlabmagentositetrendhostingaxarnetperspectajenv-arubajelejoteravendbemergenttrafficplexconvexkeliwebserveboltbegetcdnstaticson-rancherprimetelonstackitunison-servicesdnshomelinkyardbarsyjelecloudnscocomnetgovmycn-northwest-1cn-north-1s3s3-accesspoints3-websites3s3-accesspointrdsdualstacks3-deprecatedemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspoints3s3-accesspointrdsdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicn-northwest-1cn-north-1cn-northwest-1ebcomputeelbcn-north-1airflowcn-northwest-1cn-north-1oncn-northwest-1cn-north-1amazonawssagemakeramazonwebservicesdirectasgdsdhehahljlnmhbacscahqhshhihnlnynsnmofjbjzjxjtjhkcqtwgsjssxnxjxgxxzgz網絡网络公司orgmilcomnetedugovxn--55qx5dcanva-appsxn--io0a7iquickconnectcanvasitekhsjxn--od0algcanva-codemyqnapcloudsrvrlessclustersrealtimestorageleadpagescarrdcrdorgmilcomnomnetedugovhidnssupabaserdpareplmypiumsoxmitotaplpagesfirewalledreplitowodevwebview-assetsvfswebview-assetss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecateds3-websites3-object-lambdaexecute-apis3s3-accesspoints3-websites3-accesspoint-fipss3-fipss3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipss3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9vfss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1us-northeast-1ap-southeast-1me-south-1af-south-1ap-south-1ap-southeast-7us-west-2eu-west-2ap-east-2us-east-2ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ap-southeast-6ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1mrapaccesspoints3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3eu-west-3ap-south-2eu-south-2computes3-ap-northeast-2elbrdss3-ap-east-1s3-sa-east-1s3-us-gov-west-1s3-eu-central-1s3-ca-central-1eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3s3-website-us-west-2s3-website-eu-west-1s3-external-1eu-central-1me-central-1ca-central-1il-central-1s3-us-west-1s3-eu-west-1s3-website-sa-east-1s3-website-ap-southeast-2ap-northeast-1ap-southeast-1s3-us-west-2s3-eu-west-2me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2s3-website-ap-southeast-1s3-1s3-globals3-ap-northeast-3eu-north-1airflowap-southeast-2s3-us-gov-east-1s3-fips-us-gov-east-1s3-me-south-1s3-ap-south-1ap-northeast-2s3-website-us-west-1ap-southeast-5s3-eu-north-1s3-ap-southeast-1s3-website-us-gov-west-1compute-1s3-eu-west-3us-gov-west-1s3-website-ap-northeast-1us-gov-east-1s3-fips-us-gov-west-1s3-website-us-east-1s3-ap-southeast-2ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3-us-east-2s3-ap-northeast-1authauthauth-fipsauth-fipseu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1rframeservicesbuilderstg-builderdev-builder*ociocpocsazuregcpawsdemoinstanceeu-west-3eu-south-2ap-southeast-3ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1previeweu-4us-4us-1eu-1us-2eu-2us-3eu-3appscomputepaasrag-cloudrag-cloud-chjcloudjcloud-ver-jpcdemonodebalancermembersipeuxvsoncillaocelotonzayalilynxsphinxfentigercustomercaracalo365cloudstaticxendevapp001testcode-builder-stgplatformmediasiteprojedrydpagesjsx0desazacncoitrueu4uhkukgrbrushatenadiarymyspreadshopfrom-flfrom-wvwebspace-hosttheworkpchatenablogcursorusercontentservesarcasmapplinzisakuratanwixsiteappchizigiizeis-into-carsdnsiskinkyadobeaemcloudis-a-therapistpgfogmyvncdojinis-an-actress1kappfldrvkozowqa2jpnmexprgmrfirewall-gatewaydynnscafjsfbsbxooguyfrom-gawoltlab-demois-a-anarchistwiardwebteaches-yogadattowebtb-hostinglive-websiteservegamegotpantheonfrom-nhsubsc-payfrom-ohvipsinaappfrom-cadyndns-officehomelinuxfrom-mahercules-appservebbsstreakusercontentfrom-okfrom-wyfastly-terrariumis-a-llamaqualyhqportalserveexchangeon-vaporvivenushopciscofreakgrayjayleaguesmetaaiusercontentfrom-iais-a-libertariansaves-the-whalestaveusercontentyolasiteoperaunitepoint2thisis-a-catererclaudeusercontentlinodeusercontentfrom-vagithubusercontentsells-for-lesshosteurcanva-appsplaystation-cloudddnsfreefrom-pafrom-prfrom-waddnskingoutsystemscloudhotelwithflightmydattois-a-nascarfanmydbserverminiserverdamnserverservehumouris-a-playerfrom-nvfrom-nmemergentagentgentappsamplifyappfrom-kyis-an-accountantnfshostserveircfrom-akpythonanywherestackhero-networkpostman-echolikescandydyndns-mailobservableusercontentserveftpfreeboxosfrom-utcdn77-storageamazonawsneat-urldyndns-serverlinodeis-a-teacherfrom-vtgleezemythic-beastsus1-pleniteu1-plenitla1-plenitpaywhirlservecounterstrikejdevcloudhealth-carereformis-into-animegoogleapisis-a-painterafricaisa-hockeynutatmetais-an-actora2hostedis-a-democratdatadetectest-le-patrondigitaloceanspacesis-a-designeris-a-hunterlinodeobjectstemp-dnsissmarterthanyoufrom-arsimplesiteevennodetownnews-stagingis-a-liberalgooglecodejelasticservemp3qualyhqpartnerdyndns-free1cooldnsest-a-la-masiondrayddnsdynuddnsfrom-orfrom-miis-a-bloggerfrom-himydobisscanvacodeis-an-engineerest-a-la-maisonupsunappdevinappswafflecellmyasustorwpenginepoweredfrom-ctservep2psame-appmyshopblocksthingdustdatalikes-piediscordsezis-with-thebandlpusercontentis-leetshopitsite3utilitiesis-a-personaltrainersinaappladeskis-a-cheflogoipselfipbase44-sandboxnospamproxyalibabacloudcsmesswithdnsauthgearappsiamallamawithgooglelutrausercontentmochausercontentframercanvasmytabitdyndns-homew-credentialless-staticblitzcpserverdiscordsaysis-a-nurseappspotatlassian-isolated-3premotewdfrom-mtwixstudiocode0emm180rmyactivedirectoryawsappsmytuleapdnsabrpolyspaceqbuserrenderbuiltwithdarkboutirgotdnsabrdnsdopaascanva-hosted-embedawsglobalacceleratorhomesecuritypcmyiphostditchyouripclever-clouddyndns-ipon-aptibleis-a-musicianhosted-by-filessecuritytacticsappspaceusercontenthomeunixstrapiappsame-previewcf-ipfsmycloudnaselasticbeanstalkis-certifieddontexistkasserverik-serverdrive-platformatlassian-3pfirebaseappherokuappawsapprunnerbarsycenteris-a-cubicle-slaveservehttpmyshopifyis-a-guruquicksytessiiitesorsitesmagicpatternsappis-a-cpameteorappfrom-wiis-a-rockstarbumbleshrimpdattolocaldatabricksappsreadthedocs-hostedfrom-rifamilydsdyndns-picsplesknsbplaceddnsaliasdynaliasdyndns-remotedoomdnsip-ddnsblogdnsis-a-doctorroutingthecloudamazoncognitobarsyonlinedsmynasddnsgurucloudflare-ipfsdeus-canvasfrom-idsmushcdnpagespeedmobilizerdyndns-at-homeunusualpersonhosted-by-previderis-a-republicandyn-o-saurstreamlitappworkisboringonthewificprapidqualifioappis-uberleetis-slickgetmyipwpdevcloudtypeformdyndns-at-workgentlentapismynascloudw-corp-staticblitzfrom-ingeekgalaxyservebeerfrom-mdonrenderspace-to-rentaivencloudappspacehostedwafaicloudcodespotblogspotatlassian-3p-us-gov-modfrom-ndfrom-msis-a-techieis-a-studentcustomer-ociis-a-photographerdurumisfrom-ksmassivegriddyndns-wikiis-an-entertaineris-a-hard-workermysecuritycamerafrom-mnrackmazedyndns-blogis-a-bulls-fanwritesthisblogfreemyipsimple-urlfrom-sdreservdauthgear-stagingest-mon-blogueuris-into-gamesrice-labsxtooldevicesakurawebis-an-anarchistoraclecloudappsdyndns-worksells-for-urhcloudfrom-dcfastvps-serverwpmucdnis-a-geekscrysecfrom-txis-into-cartoonsmodelscapetrycloudflarelocaltonetstreak-linkbalena-devicesfrom-njforgeblocksfreebox-oswebadorsitefrom-ncdoesntexisthobby-sitestreaklinkshomesecuritymacownprovidertuleap-partnersdattorelaywphostedmailservequakeis-a-socialistservehalflifepivohostingdynuhostingquipelementsw-staticblitzdyndns-webfrom-deproject-studyaliases121is-not-certifiedhercules-devis-a-financialadvisorservepicsis-a-greenloseyouripfrom-ilwithyoutubemwcloudnonprodwiredbladehostingdnsdojofrom-tnpixolinomyqnapcloudis-an-artisthostedpiis-a-landscaperauiusercontentoaiusercontenton-forgeis-a-conservativedreamhostersnet-freaksapps-1and1is-goneencoreapifastly-edgefrom-nesalesforcefrom-scdeployagentoraclegovcloudappsfrom-alis-a-lawyercechirevultrobjectsstufftoreadisa-geekddnsgeeklovableprojecttry-snowplowfrom-moblogsyteis-a-bookkeepernogmyforumravendbmyboxdeelementoredsaacficogoorinforgcomgobnatneteduidstoreorgcomnetintedudevnomepublorgcomneteduathgovtestscalculatorspaynowinfoquizzesresearchedcloudnsfunnelsassessmentsjscaleforcetmacltdorgmilcompronetgovbizpresseklogesrsccloudcustomfltusrcloude4corealmgovmunicontentproxy9metacentrumdyndyndyndnsdynpagespages-researchitionoccustomercomymyspreadshopipv64diskussionsbereich4limacomrub2ixfirewall-gatewayddnssspdnsbarsykeymachinesquare7myhome-serverspeedpartnercommunity-proschuldockxenonconnectgünstigliefernbwcloud-os-instancedyndnssecmy-routerxn--gnstigliefern-wobin-butterl-o-g-i-nisteingeekin-dslin-berlinin-brbfuettertdasnetzleitungsenin-vpnlcube-serverdyn-ip24logoipdyn-berlinruhr-uni-bochum12hpgoipsrvdnsfruskygit-repossvn-reposinternet-dnsgünstigbestellenhome-webserverxn--gnstigbestellen-zvbbplacedheimdnscosidnswebspaceconfiglima-citydyndns1istmeinvirtualuserschulplattformmy-gatewayddnsseclebtimnetztest-iservmein-iservvirtual-userhome64iservschuletaifun-dnstraeumtgeradeschulserverdynamisches-dns123webseitednshomehs-heilbronndnsupdaterbssgraphicdwadpdwdaepeweaawapaafpfwfabwbpbacwcpcciwebuserapiobjectsidsiskospockkimodorikerbonesteamsparisjanewaypicardglobaltarpitreedpikekiraworfsulukirkarchertuckerhackercanarywesleystagingprereleaset3r2lpbravepanelngrokiservstglclcrmerpflypagesbarsyvivenushoplocalcertlocalplayerbearbloggatewaydeno-stagingis-not-ais-a-goodbotdashvercelmocha-sandboxplatter-appreplitgithubpreviewworkersinbrowserevervaultis-ahrsndenoxmitmodxmyaddrstorageapipayloadgrebedocruncontainersstgstagelclstageloginlineis-a-fullstackcodepenleapcellngrok-freeis-coolstoragewebharemediatechlibp2pdiscourseimaginecomyspreadshopstoreregbiz123hjemmesidefirmcoorgcomnetedugovsldorgmilcomwebgobartnetedugovtmorgpolcomsocartnetedugovassoagrondiscoodontk12medcuegyecpaabgengorgmilgalsaltulcomadmesmgobpubdocmonfindgnriouioproartlatvetnetfotedulojgovntrturibrbarxxxofficialbasechefprofmktgpsictechinfoarqtcontdentrrpppsiqgit-pagesritmedfieorgcomlibprieduaipgovriikmeactvsportorgmilcomscieunnetedugovnameinfopintouchtawktotawkmyspreadshoporgcomnomgobedu123miwebcomputeorgcomnetedugovbiznameinfocognito-idpeusc-de-east-1onjelasticnxaspdnsbarsydirectwpdeuxfleurstransurldogadoprvwcloudnsamazonwebservicesdnshomeuserpartycokoobinmkmfidymyspreadshopalandkapsiikixn--hkkinen-5wacloudplatformhäkkinen123kotisivuidacorgmilcompronetedugovbiznameinforadioorgcomneteduuserexperts-comptablestmmyspreadshopgretaprdcomnomynhccifbxoshuissier-justicenotairesaeroportfreeboxoson-webavocatassoportgouvkdnschirurgiens-dentistes-en-franceavouesfbx-os123sitewebveterinairechirurgiens-dentistespharmacienchambagrimedecinfreebox-osdediboxgoupilemszicpyicpvicppleysheezypagesedugovcnpyorgcomcybllcpvtnetedugovtnxonlineschooldaemond6atcopanelorgnetplybotdashstackitkaasorgmilcomnetedugovbizmodltdorgcomedugovcoorgcomneteduappwriteacorgcomnetedugovcloudtranslateusercontentorgcomnetedumobiassoorgcomnetedugovbarsysimplesitediscourseindorgmilcomgobneteduorgcomwebnetedugovguaminfonxhra教育敎育網絡网絡组織組織网络網络组织組织公司政府個人个人箇人ltdorgcomincneteduidvgovxn--uc0ay4axn--55qx5dxn--mk0axixn--io0a7ixn--uc0atvxn--zf0avxxn--lcvr32dxn--od0algxn--wcvs22dxn--gmqw5axn--od0aq3bxn--mxtq1mxn--ciqpnxn--tn0agxn--gmq050iorgmilcomgobneteduiservwp2tempurlmircloudfreesitewpmudevmyfastgadgetcloudaccessjelehalfboltfastvpsemergenteasypanelopencraftizcombrendlynamefromrtpersoadultmedorgpolrelcomproartnetedufirminfoassoshopcoopgouvtmcomediahotelforumvideosportorgsexagrargameslakaseroticaerotikatozsdereklamcasino2000filmsuliinfoboltshopprivnewsszexcityutazasjogaszkonyveloingatlaneacaicogoormyᬩᬮᬶmilwebschnetkopbizzonedesaponpesxn--9tfkymyspreadshopgovmytabittabitorderravpageaccok12idforgnetgovmuniltdplcaccotttvorgcomnetmeca6g5gpgamubacaicniocoukuptverdruscsdelhiindorgmilcomwebnicfingenpronetintedugovresbizbiharbarsyinternetbusinessschooltravelsupabasealumnigujaratfirminfoaeropostbankcoopindevscloudnsno-ipbarsybarrell-of-knowledgebarrel-of-knowledgensupdategroks-thisdnsupdatefor-ourknowsitalldvrcammittwalddynamic-dnsv-infowebhopselfipdyndnshere-for-moreilovecollegemayfirstforumzcloudnsmittwaldservertypo3servergroks-theeusekd1cdndyndnsidrawsainaueuapjpusstagemocksysdevicesclientcustreservdcustdevdisrecprodtestingcobeebyteutwenteboxfusebravepstmndedynngrokorgmilcomnomnetedugovqcxqzzbarsythingdustmo-siemensrb-hostingfh-muenstergitbookbluebitecloudbeesusercontentnodeartkiloappsforgerockdarklangresinstagingapigeebubbleb-datascryptedhypernodedappnodepantheonsitegitlabgithubkeeneticvirtualservercleverappshostyhostingon-rioedugitticketstelebitwixstudioon-k3sicp0icp12038jeleqotolairbubbleappsmyaddrstolosmyrdbxwebflowdrive-platformbeagleboardhasura-applolipopdefinimavaporcloudmusicianwebflowtestazurecontainerresindevicereadthedocsloginlineeditorxmoonscalesandcatsbasicserverwebthingsbrowsersafetymarkbeebyteappbitbucketidaccovistablogorgschnetgovxn--mgba3a4f16axn--mgba3a4fraarvanedgeايرانایرانjclaspeziapdudcefegelemeperetevebacanatavaparasabgagfgogrgpgalclblimfmrmcbmbvbfclcmcvcrcpcchlimifibicivipirisimncnbnanenrnpntnnolomobocoaogorosopotoptvtatctbtmtltotpusulunutpspapaqsvpvvvtvavvrtrsrprgrfrcrbrarorkrvstsssbscsmsispzczbzbozen-suedtirolmyspreadshopxn--bulsan-sdtirol-nsbxn--valledaoste-ebbtrentinoaltoadigetrentin-sued-tirolxn--forlcesena-c8axn--forl-cesena-fcbxn--bozen-sdtirol-2obtriestetrentinsuedtiroltrentino-s-tirollecceudineaostesienaparmaluccapaviagenoapaduaaostamonzaabruzzoternirietiturinmilanbozenlaziofermoleccocuneonuoropratola-speziavdataaligfvgpugmolcalcamlomumbsicpmnvenvaoedugovabrsarmaremrbastoslazibxosfirenzetrentinosüdtirolval-d-aostavalle-aostamessinacremonaravennatoscanatrentin-suedtirolbolognacalabriaurbinopesarofriuli-v-giuliaogliastraxn--valle-aoste-ebblaquilaandriatranibarlettasyncloudxn--valle-d-aoste-ehbaostavalleyvalled-aostatrentino-alto-adigevallee-d-aostexn--balsan-sdtirol-nsbpistoiasicilialucaniacataniaiserniaperugiabresciaveneziagorizialiguriaimperiabulsan-suedtirolbalsan-suedtirolbarlettatraniandriaxn--trentino-sdtirol-szbforlì-cesenatuscanyvallée-d-aostemantovavallée-aostecasertapiemontevalleaostaval-daostafriulivgiuliatrevisoforli-cesenavalléedaosteferrarapescaravald-aostatrentino-altoadigefriuli-vegiuliavallee-aostecarboniaiglesiastarantomediocampidanovalleedaostetrentinosud-tirolcampobassotrentinsüd-tiroltrentinosüd-tirolmonzabrianzatrentino-südtirolxn--trentino-sd-tirol-c3bpotenzacosenzavicenzaemiliaromagnavenicefrosinonemarchepordenonetrentinosued-tirolvaresemolisevalléeaostefriuli-veneziagiuliabasilicatalatinaanconasavonaveronamodenabiellabolzano-altoadigepugliafoggiaumbriatrentino-stirolgenovapadovamateranovararagusapiacenzatrentinostirolvalleeaostetempio-olbiasudsardegnatrentinsudtirolmassa-carrarafriuliveneziagiuliatrentinosuedtirolandria-barletta-tranitrapanixn--cesenaforl-i8amaceratacaltanissettaascoli-picenobrindisicarraramassacagliaririmininapolivibo-valentiachietibulsan-sudtirolbalsan-sudtiroltrentino-a-adigebulsanbalsaniglesiascarboniamilanotorinoteramodell-ogliastraarezzotrentinoalto-adigerovigotrentovenetoiglesias-carboniatrentino-sud-tirolaltoadigereggio-emiliareggio-calabriasardegnatranibarlettaandriapiedmontxn--sdtirol-n2amedio-campidanotrentino-süd-tirolfriuli-vgiuliafriuli-ve-giuliaromeennaromapisa32-b16-b64-blodiastibarineencomonaplesforlicesenailiadboxosalessandriasicilytrani-barletta-andriaxn--trentin-sdtirol-7vbpesarourbinotrentinsued-tirolcesena-forliforlìcesenaemilia-romagnamonzaebrianzaxn--trentinsdtirol-nsbtrentinos-tiroltrentinsüdtirolvalledaostaolbia-tempiocampidanomediovibovalentiasassarivalle-daostalombardysud-sardegnafriulivegiuliareggioemiliamonzaedellabrianzaalto-adigevercellitrentin-sudtiroltraniandriabarlettatrentino-sudtirolascolipicenobozen-südtirolfriulive-giuliaflorencexn--cesena-forl-mcbcarbonia-iglesiasaosta-valleycarrara-massadellogliastratrentinoa-adigexn--valleaoste-e7apesaro-urbinoxn--trentinosdtirol-7vbxn--trentin-sd-tirol-rzbxn--trentinsd-tirol-6vbtrani-andria-barlettatrentin-süd-tirolxn--trentinosd-tirol-rzbgrossetomonza-e-della-brianzasüdtirolreggiocalabriatrentinoaadigetrentin-südtirolverbano-cusio-ossolafriuliv-giuliaverbaniacampaniatrentino-aadigefriulivenezia-giuliasardiniaandriabarlettatranibarletta-trani-andriacatanzarooristanourbino-pesarocesena-forlìvalle-d-aostacampidano-medio123homepagesiracusatempioolbiasuedtirollombardiaavellinocesenaforlìtrentinofriuli-venezia-giuliabozen-sudtirolandria-trani-barlettabulsan-südtirolbalsan-südtirolmonza-brianzabolzanotrentino-sued-tirolbellunosalernolivornocrotonesondriodnshometrentinsud-tirolmassacarraratrentin-sud-tiroltrentino-suedtirolviterbobergamocesenaforliolbiatempiopalermobeneventoagrigentoofcoorgnetfmaitvphdengorgmilcomschnetedugovperagrikanieasukehandachitatokaiaisaikonanoharuamaobuhigashiuraowariasahiinuyamatobishimaiwakurashitarainazawatoyonegamagorimihamatoyotataharakariyayatomioguchikomakimiyoshinishiotokonamekiyosuchiryutoyohashiokazakiisshikikasugaikotakiratoeianjotogofusosetohazutsushimashinshirotakahamanisshinshikatsuhekinantoyokawaichinomiyatoyoakeodateogataakitaikawakyowahonjoogayurihonjonoshirokamiokakatagamimitanegojomeyokotekosakadaisenkazunonikahohonjyomoriyoshimisatohappoukamikoanihachirogatahigashinarusesembokufujisatokitaakitaitayanagiowanitakkomutsutsurutahirosakigonoheoirasetowadamisawanohejiaomorishingohiranairokunohehashikamitsugarushichinohehachinohenakadomarisannohekuroishisakaeisumiasahiotakiinzaiabikomatsudoyachiyomutsuzawakujukuriomigawakashiwatoganemihamanaritasakuranagaramobarahanamigawachoshishiroichoseikozakishisuikatorimidorichonankyonanfuttsuonjukufunabashinagareyamanodasosatakochuotohnoshourayasukimitsuyokaichibayotsukaidosodegauratateyamakamagayayokoshibahikariyachimatakatsuuratomisatokisarazukamogawaichikawanarashinoichinomiyashimofusaminamibososhirakoichiharaoamishirasatoikatahonaiainansaijoseiyoiyoozuuwajimaniihamanamikatamasakiuchikokihokutobetoonshikokuchuomatsuyamaimabarikamijimakumakogenyawatahamamatsunosabaeikedaobamasakaifukuiohionotsurugamihamawakasaminamiechizeneiheijikatsuyamatakahamaechizensoedaukihaomutaokawanishiogoribuzenonojosueumiokiotochikugosasagurisaigawamizumakishinyoshitomikurumekurateyamadakasuganakamamiyamanogatatakatahakataiizukakawaratagawakasuyaashiyainatsukimunakataminamitsuikishonaikurogifukuchikeisenhigashimiyakoshinguyukuhashiokagakiyamekogaongausuikahotohochuotoyotsumiyawakadazaifuhisayamatachiaraiyanagawanakagawahirokawachikujochikushinochikuhochikuzennamieotamaokumashowateneiiwakikoorinangoononishigoshimogoomotegomishimafukushimaasakawakagamiishishirakawaiitatefutabahiratayugawahanawakitakatakawamatakunimiyabukibandaihigashihironoyamatomiharuyamatsuriaizubangedatesomaaizuwakamatsuyanaizuaizumisatonishiaizuizumizakikitashiobarataishinkaneyamakoriyamainawashirotanagurafurudonosamegawasukagawaishikawatamakawaikedaogakitaruiginanenahashimahichisonakatsugawaibigawashirakawamizunamiminokamomitakekawauesekigaharatomikasakahogikitagatayamagatatajimianpachimotosuyaotsukakamigaharahidakanisekitokigujominogodoyorogifukasamatsutakayamawanouchihigashishirakawakasaharashimonitatsumagoichiyodakannakanrashowameiwakiryuotaoratomiokafujiokaitakuranaganoharahigashiagatsumatakasakishibukawaminakamikatashinatsukiyonokawabanumataannakaoizumimidorishintoisesakiuenoyoshiokakusatsutakayamanakanojonanmokutamamuratatebayashimaebashiotakekaitadaiwahongofuchukuietajimashobaramiharahatsukaichihigashihiroshimamiyoshikumanokurenakasakaseraseranishiasaminamifukuyamashinichionomichiosakikamijimajinsekikogentakeharaotobenanaeikedatohmaozoraobiraabirakyowaeniwataikibibaisharirebunerimohiroooketootarupippunishiokoppechitosefurubirahakodateshiranukakitahiroshimakushiroobihironanporoiwamizawaniikappukunneppufukushimanakasatsunaitoyourakuromatsunaiakabirakamisunagawashibechaurakawakamifuranonakatombetsuasahikawashimokawakayabeokoppebiratoriabashirisaromaatsumanumatahidakabifukamukawamikasahorokanaitoyotomisarufutsuhigashikawaishikarikitamiyoichiesashiiwanaitomariminamifuranoakkeshifuranotoyakoyakumootoineppushikaoishiraoinemuronayorohaboroashorobihororishirifujiutashinaihokutotakasuebetsuurausuassabukikonaishimamakinaiedatetoyabieinikiesanuryuoumuteshikagarikubetsuashibetsukimobetsuaibetsutobetsusobetsuembetsushimizuchippubetsurishirihokuryuhoronobeshintokutsubetsushibetsuhonbetsumombetsutsukigatakuriyamakoshimizushiriuchikutchanmurorannoboribetsukamishihorowassamushinshinotsukembuchiwakkanaikamoenaikiyosatotakinoueshikabesunagawafukagawanakagawatakikawakamikawahigashikagurahamatonbetsumatsumaemoseushirankoshishakotanimakanemashikeotofuketomakomaisandatambaitamiawajikasaiasagoshisoonoakoyashirotoyookaminamiawajiinagawafukusakitakasagokamigorikasugaharimayokawaashiyahimejiakashitaishiaogakisannantakinosumototakarazukanishinomiyashingugoshikinishiwakiyokatakaaioimikisayoyabukawanishiamagasakisasayamashinonsenkakogawaichikawakamikawatatsunotsukubaiwamaogawaasahisakaitokaioaraiitakobandodaigosuifuinaamikasumigaurakashimaomitamayachiyoshimodatetomobetoridehitachinakainashikisakuragawakasamayawaramoriyahitachiomiyanamegatayamagatahitachikamisuushikutakahagiibarakitonekoganakasowayukimihojosomitoryugasakishimotsumafujishirotsuchiurachikuseihitachiotashirosatotamatsukuriuchiharashikahakuinanaotsubatawajimakahokukawakitatsurugikaganominotosuzuuchinadakomatsuanamizunakanotohakusannonoichikanazawaiwateshiwafudaikawaimoriokaofunatohanamakikuzumakikitakamininohekunoheyamadayahabasumitaichinosekitanohatahiraizumirikuzentakatajobojiotsuchihironomiyakoiwaizumikarumaiichinohenodakujitonooshushizukuishifujisawamizusawakamaishikanegasakimannoutazukotohiraayagawazentsujihigashikagawauchinomikanonjisanukimarugamemitoyotakamatsutadotsunaoshimatonoshoakuneamamiizumihiokiyusuikinkoisasookouyamanakatanekagoshimakanoyaisenkawanabeminamitanemakurazakitarumizunishinoomotematsumotosatsumasendaioimatsudaayaseebinamiurazushinakaiodawaraiseharasagamiharahakoneaikawakaiseiatsugitsukuihadanoyamatoyamakitazamaoisochigasakininomiyayokosukakamakuraminamiashigarafujisawasamukawakiyokawahiratsukayugawaraokawaumajikochitsunootoyoakiinonishitosayasudahidakamiharasakawaniyodogawahigashitsunokagamigeiseisusakiotsukinaharisukumomurototosakamiochitoyotosashimizumotoyamanankokunakamurakitagawayusuharaogunichoyoukiasoutoozugyokutoamakusamifunetakamoriyamagaminamataminamiogunikikuchisumotoyamatonagasumashikiaraokumamotokamiamakusanishiharayatsushiroayabeseikasakyoideineujinakagyokameokakyotangokyotanabekyotambaminamiyamashiroyamashinatanabeyawatawazukaminaminantanmiyazuhigashiyamafukuchiyamakitamukokamojoyokizumaizuruujitawaraoyamazakinagaokakyokumiyamakawagoeinabeshimameiwaasahitaikiudonoisetsukisosakikuwanamihamamiyamasuzukatamakimisuginabarikumanokomonominamiisewataraitobakiwatakikihotadomatsusakayokkaichikameyamaureshinoishinomakishichikashukuohirataiwaosakizaohigashimatsushimashikamaiwanumashibataogawaraonagawakawasakiseminemarumoriminamisanrikukakudamuratawakuyatomiyanatoriwataritagajomisatotomekamirifushiroishimatsushimayamamotoshiogamafurukawahyugaebinotsunosaitoayakushimanobeokakitauramiyazakitakazakigokaseshiibamimatashintomikunitomikitakatakobayashikawaminamitakaharukijotakanabemiyakonojonishimeranichinankitagawakadogawamorotsukakisofukushimaminamimakisakaeobuseikedaogawamiasaokayaasahiotakiotarichinoinaomichikumakomaganechikuhokukaruizawayasuokaooshikaikusakaminamiaikitogakushimatsukawakawakamitateshinatakamorikitaaikishiojirimiyadahakubaiizunaiijimaiiyamamiyotasuzakayasakatoguraookuwanagawaminowahirayayamagataminamiminowafujimiomachisakakitakaginaganonakanosakuhokomoronagisoshinanomachiwadauedaiidaharasuwatomiachiaokianankisosakunozawaonsenagematsutakayamashimosuwamatsumotoyamanouchinakagawamochizukiazuminotatsunoobamaomuraseihiunzenosetofutsuikichijiwanagasakiisahayahasamisaikaikawatanasasebohiradokuchinotsugototogitsutsushimashimabarashinkamigotomatsuurayamazoekashibaikomakawaitenrioyodosangokoryoudaojiikarugayamatokoriyamatenkawakatsuragikurotakikawakamimiyakemitsuetakatorikamikitayamayamatotakadahegurishinjokanmakisakuraitawaramotogoseoudanarasoniandokawanishishimoichihigashiyoshinokashiharashimokitayamanosegawayoshinomintsivorytopazsakuragehirnsumomoaseinetopalmail-boxmokurenyoitamuikaojiyagosensanjoaganomyokoseiroagaomishibataniigatanagaokamurakamiuonumayuzawakariwatagamitainaitsunanminamiuonumatochioyahikojoetsuseiroukamosadoizumozakitokamachiitoigawasekikawakashiwazakitsubamemitsukekokonoesaikiusukibeppuusahimeshimakunisakihasamataketatsukumihitaoitahijikusuyufukujukamitsuebungoonobungotakadaibaraniimibizentsuyamaokayamakasaokahayashimayakagemaniwaakaiwamisakishinjotamanotakahashikibichuowakesojanagishookumenannishiawakurakurashikiasakuchisetouchikagaminosatoshotomigusukunakagusukuyaeseizenaurumaiheyaaguniogiminanjokinminamidaitokitanakagusukuyonaguniokinawaishigakikunigamiurasoekadenataramahiraraginozataketomishimojizamamitonakiitomanhigashimotobuyonabarugushikamionnanahanagohaebarukumejimakitadaitonakijinnishiharayomitanginowantokashikiishikawaikedasuitaminohizuminishisakaikananabenodaitoosakasayamayaokishiwadatadaokakaizukatondabayashichihayaakasakakumatorikadomasayamahigashiosakashijonawatehirakatataishimisakitajirihannansennankatanotoyonominatosettsuhigashiyodogawaibarakinosekitachuohigashisumiyoshifujiiderakashiwaraizumiotsutoyonakamatsubaramoriguchiizumisanoshimamototakatsukineyagawahabikinotakaishikawachinaganoyoshinogarikamiminearitaouchiimarihizenogikashimaariakekiyamafukudomikitagatakitahataomachigenkaikanzakinishiaritakyuragisagataratosutakushiroishikaratsuhamatamakouhokukawagoeyoshidasatteogoseirumaasakaurawaogawaniizaomiyayoriiotakishikihonjooganohannohanyuinasaitamaokegawaarakawayoshikawayokozehasudasayamahidakafukayachichibuiwatsukiryokamiyoshimikamiizumifujimiwarabiranzanmiyoshiminanoyashiosakadosugitomisatohigashichichibutodasokakukiyonokazoshiraokakasukabekounosukawajimatsurugashimamiyashirokitamotohatoyamamoroyamahatogayakumagayakawaguchinagatorokamisatomatsubushinamegawatokigawakamikawafujiminohigashimatsuyamakoshigayatokorozawas3isk01isk02ryuohkoseikonanaishorittotakashimamaibarahikonetorahimenishiazaikokagamokotoyasuotsukusatsunagahamamoriyamatoyosatotakatsukinotogawaomihachimanhigashiomiakagiunnanizumogotsuamayatsukakakinokimatsuehamadamasudahikawahikimiokuizumoyasugiyakumomisatotamayuohdahigashiizumookinoshimanishinoshimatsuwanoshimaneshimadafujiedayoshidashimodagotembaiwataatamikosaiyaizuitoizumishimahaibaramakinoharaomaezakikawanehonkannamisusonohigashiizufukuroinumazukawazufujiaraishizuokahamamatsushimizuizunokunimatsuzakimorimachiminamiizunishiizukikugawakakegawafujikawafujinomiyaujiietsugaoyamayaitaohiranikkoashikagakuroisokanumasakurashioyakarasuyamamotegiichikaikaminokawatochigihagamokanogisanobatonasumibunasushiobaranishikatautsunomiyaiwafunemashikoshimotsukeohtawaratakanezawaitanokomatsushimatokushimaichibaminamiaizumiwajikikainanmiyoshinarutomimamugiananmatsushigesanagochishishikuinakagawamachidachiyodakomaefussainagitaitochofufuchuomeotahigashiyamatotoshimaokutamaaogashimakodairaedogawaarakawahachiojishinagawatachikawashibuyasuginamihinodekiyosesumidaoshimanerimamitakahamuraadachinakanomizuhobunkyomegurominatokoganeihigashikurumekokubunjihigashimurayamamusashimurayamatamakitahinochuokotokatsushikakouzushimaogasawaraakishimakunitachishinjukusetagayamusashinohachijoitabashiakirunohinoharachizunanbukotouramisasawakasayonagokogehinoyazutottorinichinansakaiminatokawaharaoyabetairainamiasahinantoimizufuchutakaokakurobeyamadajohanatoyamatonaminyuzenfunahashinakaniikawanamerikawaunazukitogahimiuozufukumitsutateyamakamiichiiwadearidayuasainamitaijikatsuragiaridagawatanabemihamahidakakainankiminomisatoshingushirahamakamitondayurakozakoyagobokitayamawakayamakudoyamahashimotokushimotokozagawahirogawakinokawanachikatsuurarsuseroeoishidasagaeoguniasahinagaitendonanyoobanazawanishikawasakataohkuratozawamikawamamurogawayamagatafunagatatakahatashonaishinjokahokuiideyuzakawanishitsuruokakaminoyamayamanobeshiratakamurayamanakayamakaneyamahigashineyonezawasakegawamitouubeyuuabushimonosekitabuseoshimatoyotaiwakunihikarishunannagatohagihofukudamatsutokuyamashowadoshitsurunanbukoshukaiminami-alpsnirasakikosugeotsukioshinohokutominobuyamanashifuefukichuokofuichikawamisatoyamanakakonakamichitabayamanishikatsuranarusawafujikawahayakawafujiyoshidafujikawaguchikouenohara長野京都岐阜大阪三重群馬千葉滋賀佐賀奈良adednelgaccogogror秋田愛知高知埼玉沖縄栃木熊本岩手青森山梨新潟島根鳥取長崎香川宮城石川大分宮崎茨城山口兵庫山形徳島広島福島福岡岡山富山静岡愛媛福井東京xn--4it168dhatenadiaryxn--vgu402ckawaiishophatenablogcocottenamaste北海道penneehimeiwateversestabachibashigagonnagunmapermahaccaakitaosakauh-ohblushkochiaichifukuikuroncapooitigohyogotokyokyotopunyuthickcheap0t00g00j0mie2-ddaapyawjg0amfemsubxiiboomoobutchueekpgwrgrherskrboyrdyupperunderflierchipsmydnsheavyangryhippygirlyrulez神奈川鹿児島和歌山bambinaxn--nit225kokayamasaitamaxn--k7yn95exn--1lqs03nsapporoparasitelolipopmcxn--efvn9sniigatafukuokatokushimafukushimahiroshimakagoshimafakefurokinawaxn--8pvr4ucoolblogxn--0trq7p7nnkawasakinagasakimiyazakichilloutxn--8ltr62kxn--klty5xpeeweezombiecutegirlxn--rny31hxn--uuwu58axn--ntso0iqx3axn--djrs72d6uytoyamanikitanyantakagawamimozanagoyaboyfriendxn--2m4a15egreaterchowderegoismyamagatafashionstorexn--elqq16hxn--pssu33lsendaimiyagixn--rht27zpecoriaomorisaloonwatsonvivianxn--djty4knobushipigboatnaganopinokoxn--f6qx53asadistvelvetsecretxn--5js045dchicappayamanashiibarakidigickgirlfriendxn--1lqs71dmongolianxn--c3s14mxn--qqqt11mtochigixn--5rtq34kparallelo0o0mondkobesagabonadecaoitanarafoolkilldecimainhiholomosblokilociaoundopupugifutankcrapflopnooroopsmodsholyjeezstripperpepperbittershizuokaxn--rht3dkitakyushureadymadeicurusversusmatrixxn--rht61ehungryfloppygloomycrankyhandcraftedlittlestarxn--klt787dxn--kltx9awhitesnowsunnydaytottorilovepoptheshopbuyshopxn--5rtp49cxn--d5qv7z876cwebaccelxn--kbrq7oxn--4pvxsxn--1ctwolovesickkumamotocatfoodxn--tor131oyokohamawakayamatonkotsuxn--ehqz56nxn--uist22hxn--6btw5axn--kltp7dyamaguchifrenchkisspussycatxn--4it797kxn--uisz3gbabybluexn--zbx025dnetgamersxn--7t0a264ckanagawaxn--6orx2rishikawaxn--ntsq17ghalfmoonschoolbusjellybeanxn--mkru45iusercontentlolitapunkxn--32vp30hsakurastoragehokkaidoshimanecandypopbabymilksupersaleweblikeraindropbackdropwebsozaikikirarahateblodaynightmeneacsccogoormobiinfoaeusxxorgmilcomnetedugovorgcomnetedugovbizinfotmprdorgmilcomnomedugovassnotairespresseassocoopgouvveterinairemedecinpharmaciensorgnetedugovtraorgcomedurepgovmeneperekgacscaiiocogoitoresmshsseoulbusanulsandaeguc01milvkimmvchungnamjeonnamjeonbukeliv-dnsgyeonggijejueliv-cdnincheondaejeongangwongyeongbukgwangjuchungbukgyeongnameliv-apicoeduindorgcomembnetedugovorgmilcomnetedugovjcloudorgcomnetintedugovperbnrinfocooyorgcomnetedugovethipfscanvamypepethw3sstorachakeeneticjoinmcinbrowserdwebcyonnftstoragemyfritzaemewphlxachotelltdorgcomwebsocschngonetintedugrpgovassnomgacsccoorgnetedugovbizinfo123websiteidorgmilcomasnnetedugovconfidmedorgcomplcschnetedugovaccoorgnetgovpresstmassoirseproxaccosoundcasthoptocraftvp4c66orgnetedugovitsmcdirmyboxbarsyedgestacksynologylogintoopencloudnohostwebhopdiskstationi234tcp4hoocgroknoipprivmydsddnsdnsforlohmustransipdscloudfilegear-sgbrasiliafilegearframerbarsybarsyonlinecoprdorgmilcomnomedugovinforgcomnetedugovnameacprorgcomartnetedugovpresseinfoassoinstgouvorgnycedugovbarsydscloudjuorgcomnetedugovminisiteaccoororgcomnetgovorgmilcompronetintedugovbizmuseumnameinfoaerocoopaccoorgcomnetintedugovbizcooporgcomgobneteduorgmilcomnetedugovbiznameaccoorgmilneteduadvgovcoorgcomnetaltgovforgotherhiskeeneticispmanagernomassoprod5476132eastasiacentraluswesteuropewestus2eastus2pnortheurope-01newzealandnorth-01southindia-01southcentralus2-01norwaywest-01eastus2-01westus2-01australiaeast-01italynorth-01israelnorthwest-01swedencentral-01westeurope-01centraluseuap-01taiwannorthwest-01uaecentral-01northcentralusstage-01israelcentral-01mexicocentral-01canadacentral-01austriaeast-01germanywestcentral-01francecentral-01ukwest-01denmarkeast-01polandcentral-01eastus-01westus-01swedensouth-01eastus3-01westus3-01brazilsouth-01centralus-01francesouth-01australiacentral-01westindia-01uaenorth-01jioindiacentral-01canadaeast-01belgiumcentral-01spaincentral-01koreacentral-01chilecentral-01qatarcentral-01westcentralus-01eastus2euap-01norwayeast-01southafricanorth-01brazilsoutheast-01germanynorth-01switzerlandnorth-01switzerlandwest-01japanwest-01southafricawest-01japaneast-01eastasia-01indiasouthcentral-01taiwannorth-01centralindia-01uksouth-01southcentralus-01northcentralus-01eastasiastage-01indonesiacentral-01australiacentral2-01australiasoutheast-01malaysiawest-01koreasouth-01southeastasia-01southeastus5-01northeastus5-01jioindiawest-01rucdnwest1-usfra1-desandboxjls-sto1jls-sto3jls-sto2aglobalabglobalsslmapprodfreetlsmapvpslon-1lon-2ny-1fr-1sg-1ny-2paassnwebpaashostingjelasticnordeste-idcsocuserpagescwebfileblobservicebuscoreatlricnjsjelasticwebsitestoragesezagbinruhuukjptsmyspreadshopmynetnameakamaiorigin-stagingfrom-coipv64dynv6cdn77serveblogadobeaemcloudhicamsprytdnsupno-ipownipde5ovhicpfirewall-gatewaysytesmypsxbarsyusgovcloudapimyamazemyradwebakamaihdsaveincloudfastlylbfrom-lasubsc-paysquare7in-the-bandblackbaudcdnhomelinuxoninfernoctfcloudservebbsdns-dynamiccloudfrontakamai-stagingipifonyham-radio-opsenseeringclickrisingcommunity-profrom-nylocalcertgrafana-devedgesuite-stagingcloudflareanycasteating-organicatlassian-devmydattofeste-iplocaltotorprojectknx-serveredgekeycloudflareglobalcloudyclustercasacamserveftpakamaized-stagingakamaiorigindns-cloudmyeffectboomlabotdashbuyshousestwmailhetemlazure-mobilein-dslthruhereredirectmedynuddnsbouncemesupabaseluyanicloudappakamaicloudfunctionsdebiannhlfanpgafanstatic-accessin-vpnmysynologymafeloappudohomeftptrafficmanagersiteleafseidatmemsetcloudflarecloudaccesskeyword-onazure-apiis-a-chefdoes-itgets-itwebhopselfiphomeipkicks-assedgesuitewindowsserver-ontunnelmolemydissentscrapper-sitecloudflarecnuni5srcfggffiobbzabchrsndenodynuopikddnsvpndnsakadnselastxkinghostvps-hostfastlyhomeunixazureedgeshopselectdontexistmyfritzcloudjiffyalwaysdatasells-itsquaresbroke-itazurefddattolocalat-band-campmeinforumfamilydsazurestaticappsdefinimabplaceddnsaliasdynaliasnow-dnsblogdnsroutingthecloudendofinternetdsmynasakamaiedgemymediapcadobeio-staticakamaiedge-stagingakamaihd-stagingddns-ipprivatizehealthinsurancelive-onkrellianschokokeksmassivegridmysecuritycamerarackmazeserveminecraftfrom-azis-a-geekakamaizedmoonscaleoffice-on-theusgovtrafficmanageradobeioruntimeedgekey-stagingreserve-onlinechannelsdvrdnsdojousgovcloudappcdn77-sslapps-1and1podzoneazurewebsitesdynathomescaleforceyandexcloudvusercontentisa-geekcdn-edgescoaemalcesappwriteazimuthtlonarvobuiltwithrocketnoticeablestorecomwebrecnetperotherfirminfoartslgdloncogoiltdorgmilcolcomplcschgenngonetedugovbiznamefirmmobiacincoorgmilcomnomwebgobnetintedubizinfocomyspreadshopdemongovtransurl123websitehosting-clusterkhplaycistrongsnesosvalervålerxn--vler-qoaossandeheroysandeherøybøboheroyherøyxn--hery-iraxn--b-5gavalerbøboxn--b-5gasandesandexn--hery-iraxn--vler-qoavålerhåreålaahavaofsfvfhlolnlalrlhmfmtmahcostntbuåstrmreigersundmyspreadshopgálsáeidsvolltingvollgildeskalflorøvadsøvardøvanylvenxn--bhccavuotna-k7astrandaxn--kvnangen-k0axn--sknland-fxaxn--mosjen-eyarakkestadhyllestadnannestadvevelstadvaapstenordre-landsondre-landsøndre-landtjieltexn--vrggt-xqadsør-aurdalsor-aurdalheradstordmoldefordeførdeseljefedjeryggehemnexn--krehamn-dxasognegranesøgnebrynetjomevallebykletokkegiskedovretjømehobølvoldasaudatolgasømnaviknadønnasomnadonnatranafrananesnaraumasmolatrænafrænalesjasmølaørstaorstahitrafloraaukraloppafrøyarissasnasahalsagalsaromsaraisaráisafroyasnåsagronghobolfjelltydalårdalardalaskimharamkraanghkekråanghkesorumbarumhurumbærumsørummodumsálátbálátfrognbjugnvåganvagangulenskienløtenlotenstrynvefsnxn--merker-kuaskaunsveiobømlobomloskjåkvardoflorovadsosalatbalatsálatklæbuklabuselbubarduulvikskjakklepprisørxn--nttery-byaeflåeidflahofmilgolholsellomskifetvikdepvgsfhsaskerrisorhamarasnesåsnesrørosrorosxn--slat-5namasoynaroyvaroyluroydyroyaskoyradoyandoyrodoymeloyradøyandøyrødøymeløyaskøylurøydyrøymåsøyværøynærøyhoylandethøylandetdivtasvuodnalørenskoglorenskognesoddtangenxn--tjme-hraxn--smla-hraxn--stjrdal-s1aunjargalillehammerunjárgaxn--hamary-fyadavvenjargaxn--bearalvhki-y4a123hjemmesidegjerdrumxn--brnnysund-m8acxn--tnsberg-q1axn--mlatvuopmi-s4axn--snsa-roaxn--skierv-utaxn--brum-voatysfjordkvafjordeidfjordkvæfjordsongdalenmjondalenmjøndalenxn--gls-elackragerogáŋgaviikagangaviikasørreisasorreisasør-varangersor-varangerxn--risr-iraskiervaxn--frna-woaxn--trna-woakvinesdalleksvikleirvikrøyrvikroyrviksvelvikvenneslaevje-og-hornnessandnessjøenmarnardalvindafjordsandefjordenebakksnillfjordullensvangxn--trany-yuabrønnøysundnamsskoganaustevollxn--stjrdalshalsen-sqbnord-aurdalnord-frontrøgstadtrogstadgrimstadflakstadgjerstadxn--sandy-yuaxn--leagaviika-52bnore-og-uvdalvegarsheixn--rlingen-mxaxn--ggaviika-8ya47hvegårsheikarlsoykvitsoymasfjordenhamaroyinderoyosteroydavvenjárgasauheradguovdageaidnuxn--vre-eiker-k8abronnoysiellakkrødsheradkrodsheradkvinnheradbrønnøyxn--mtta-vrjjat-k7afxn--lrenskog-54akvitsøyvárggátkarlsøyosterøyinderøyhamarøybronnoysundxn--aurskog-hland-jnbbahccavuotnabáhccavuotnagiehtavuoatnastor-elvdalmidtre-gauldalxn--gildeskl-g0akarasjokevenassixn--bievt-0qaxn--yer-znalebesbynessebyxn--hbmer-xqamalselvmålselvxn--unjrga-rtamøre-og-romsdalmore-og-romsdalhareidmelandørlandorlandstrandålgårdsolundalgardafjordåfjorddielddanuorrikautokeinoxn--stre-toten-zcbskodjeaejriestangeliernebamblestokkefauskesnåasesnaasekongsvingerlangevagberlevagxn--flor-jrahattfjelldalostre-totenøstre-totenvestfoldxn--mely-iraálaheadjualaheadjunordreisaxn--troms-zuaxn--lgrd-poacporsangerflatangerstavangerleikangerbremangersamnangergieldakarasjohkaxn--rdy-0nabfrostautsirasnoasatromsaxn--sr-aurdal-l8aflekkefjordjølsterjolsteraremarkhedmarknååmesjevuemienaamesjevuemiexn--vard-jrarollagmeråkermerakerorskogørskogxn--bdddj-mrabdákŋoluoktaxn--osyro-wuaaknoluoktatrysilskjervøymandaljondalbindalrindalmeldalsuldalorkdalsigdalalvdallærdalhurdalsirdalverdallerdallardaloppdalåseralaseralhadselkragerødivttasvuotnaoverhallasteinkjerxn--hnefoss-q1askedsmokorsettromsøxn--dyry-iravestre-totenmuseumxn--sandnessjen-ogbrahkkeravjufylkesbiblbájddarbajddarxn--laheadju-7yarennesøyxn--koluokta-7ya57hxn--hgebostad-g3aleirfjordstorfjordbalsfjordbåtsfjordbatsfjordmuosátbievátloabátkárášjohkanøtterøyxn--mjndalen-64anordkappláhppilahppialstahaugsiljanverranrøykenroykenhaldenlyngenbergenhortenhønefosshonefosstroandinbeiarnvarggatosoyroosøyrotromsoidrettmuosatbievatruovatloabatvoagattynsetnessetxn--indery-fyaskánitskanitraholtråholtxn--ystre-slidre-ujbandebusarpsborgbearduxn--karlsy-fyahordalandjorpelandjørpelanddeatnuringsakersør-odalsor-odalxn--slt-elabringerikeaudnedalnittedalnissedalhemsedalslattumsurnadalxn--blt-elabelverumstjørdalnaustdalhjartdalgjøvikfyresdalhasviknarviklarvikgjovikmalvikgamviklenvikporsgrunnstjordalengerdaldrobakdrøbakxn--msy-ula0hvestvagoyxn--vgan-qoaxn--ryken-vuaxn--lten-graxn--stfold-9xaxn--hpmir-xqaxn--lury-iramálatvuopmimalatvuopmitysværkirkenesbirkenesmoskenesbáidárxn--fjord-lraxn--rdal-poabahcavuotnabáhcavuotnaxn--frde-gralindåsbearalvahkixn--hobl-iraráhkkerávjuxn--loabt-0qavågåáltábodøsundlundraderådeetnetimeholeauregrueoddavagavegaranatanaarnasolasulaaltalekafusavangbergkvamåmliamlibokntinnroangranosenoslobodorøstroststatåmotamotivguprivøyeroyerliermossvossxn--nvuotna-hwalusterlunnermarkerhábmerhabmerhvalerfjalerxn--rholt-mratysvarbaidarfitjargaularhápmirhapmirmelhusfosnesøksnesoksnestysneshemnesevenesflesbergeidsbergtonsbergtønsberglindasxn--sndre-land-0cbnamsosxn--srum-graøystre-slidreoystre-slidrevestre-slidretrondheimbalestrandxn--langevg-jxaaustrheimxn--skjk-soavagsoyaveroysandoykarmoyfinnoytranoyvestbytranbysykkylvenxn--hyanger-q1aspjelkavikandasuoloxn--fl-ziaxn--drbak-wuastathellexn--sr-varanger-ggbtelemarkxn--bhcavuotna-s4axn--porsgu-sta26fčáhcesuolocahcesuoloakrehamnåkrehamnsandøykarmøyfinnøytranøyvågsøyaverøynamdalseidxn--lesund-huabadaddjaxn--vegrshei-c0axn--btsfjord-9zagildeskålporsanguxn--trgstad-r1anávuotnanavuotnahammerfestxn--sgne-graxn--brnny-wuacibestadharstadnarviikaevenáššivestnesgjemnessandnesagdenesrennesoyxn--avery-yuaxn--tysvr-vrabearalváhkikongsbergspydebergrandabergxn--andy-iradavvesiidaxn--krdsherad-m8aporsáŋgufredrikstadbjerkreimringeburennebuaurskog-holandnotteroyxn--vgsy-qoa0jxn--rmskog-byaskierváivelandbyglandfrolandaurlandforsandxn--bjddar-ptamidsundålesundalesundfetsundfarsundovre-eikerøvre-eikerakershusxn--moreke-juasørfoldøstfoldostfoldsorfoldhøyangerhoyangerlevangerorkangertanangerxn--vestvgy-ixa6olillesandulsteinxn--rennesy-v1agranvinskjervoyxn--klbu-woalavagisxn--h-2faxn--ryrvik-byakafjordkåfjordseljordfolkebiblxn--gjvik-wuajevnakerxn--kfjord-iuabudejjuxn--kranghke-b0axn--davvenjrga-y4axn--rland-uuaxn--ldingen-q1axn--mlselv-iuaxn--rady-iraxn--linds-prabrumunddalxn--ygarden-p1amo-i-ranaeidskogrømskogromskoghjelmelandxn--finny-yuaxn--sr-odal-q1axn--skjervy-v1aballangenkvanangenkvænangengratangenxn--hmmrfeasta-s4acvossevangensuohkanxn--rde-ulaxn--mli-tlaxn--ksnes-uuanordlandskanlandskånlandsortlandfuoiskuxn--rros-graxn--hcesuolo-7ya35bxn--eveni-0qa01gagaivuotnagáivuotnaxn--seral-lradrammenmodalenmosjoenjan-mayentorskensteigengloppenxn--snes-poamatta-varjjatxn--sr-fron-q1aomasvuotnajessheimbådåddjåxn--krager-gyaxn--kvfjord-nxaxn--asky-iraxn--snase-nraxn--bidr-5nacholtålenxn--vads-jraxn--jlster-byamosjøenxn--rst-0nastavernxn--ostery-fyaxn--oppegrd-ixaxn--sknit-yqaxn--risa-5naoppegårdskiptvetrendalenholtalenxn--mot-tlaxn--lhppi-xqaxn--holtlen-hxaxn--srreisa-q1akopervikxn--muost-0qaxn--bmlo-grahokksundkvalsundegersundxn--karmy-yuaullensakerxn--hylandet-54axn--kvitsy-fyaxn--bod-2nalangevågberlevågkristiansandxn--rsta-frahornindalstjørdalshalsenstjordalshalsensandnessjoenhámmárfeastaxn--lrdal-srasør-fronsor-fronnord-odalkristiansundmátta-várjjatvestvågøynesoddennotoddenbuskerudøygardenoygardensalangenlavangenralingenrælingenlodingenlødingenleaŋgaviikalaakesvuemieleangaviikauenorgexn--srfold-byaaskvollxn--rskog-uuaxn--nry-yla5gxn--vry-yla5ghammarfeastaxn--rhkkervju-01afxn--givuotna-8yakommunekrokstadelvanedre-eikerhagebostadhægebostadxn--berlevg-jxakviteseidxn--s-1faxn--l-1faxn--nmesjevuemie-tcbafuosskomoårekemoarekexn--lt-liacxn--jrpeland-54asvalbardoppegardholmestrandtvedestrandsogndalsokndalarendalsunndalfolldalxn--krjohka-hwab49jlyngdaletnedalnorddalsaltdalgausdalskedsmovaksdalgjesdalstordalxn--frya-hraaarbortedrangedalxn--smna-graaurskog-hølandxn--vg-yiabtjeldsundhaugesundlindesnesxn--mre-og-romsdal-qqbxn--dnna-gradyntmpheremerseineshacknetenterprisecloudmineaccomaorimāoriorgmilcriiwigennetschoolhealthkiwigovtgeekxn--mori-qsacloudnsparliamentcomedorgcompronetedugovmuseumwebsitekinservicebarsywebsitebuildereerobookheimdnsleapcelleero-stagetechcrscsslorigingohomecdbedeeeiemesecabgngilnlalplchfisiincnnoroptatitmtltruauhulumkdkukskjplvtrgrfrkrhrusesismycynzcznetinteduassoososcloudstgbetaaezaeuhkusjshatenadiarycdn77hoptozaptois-a-knightmyftpno-ipjpnddnssdpdnsspdnsbarsysweetpepperis-a-bruinsfanis-very-sweetservegameis-a-soxfanhomelinuxcdn77-secureservebbsmisconfusedwebredirectblogsitefreedesktopcouchpotatofriestoolforgeaccesscamis-lostreadmyblogsmall-webfedorapeopleserveftpis-a-celticsfanmywirepotagertwmailin-dslsellsyourhomeread-booksfreeddnscable-modemis-savednflfanufcfanmlbfanstuff-4-saleendoftheinternetin-vpnmy-firewallhomeftpis-localis-a-chefboldlygoingnowherewebhopselfipkicks-assroxatunkcamdvrfedoraprojectgotdnsdvrdnsdyndnspubtlspimientahomeunixdontexistfedorainfracloudwmflabsfspagesbmoattachmentsteckidsfamilydsdnsaliasdynaliasnow-dnscloudnsdoomdnsduckdnsblogdnshomednsroutingthecloudendofinternetdsmynasip-dynamicpoivronhttpbinmyfirewallis-very-evilmysecuritycamerais-a-linux-userwmcloudis-a-geektuxfamilyis-a-candidatedoesntexistis-very-badhobby-sitegame-hostaltervistais-foundis-a-patsfandnsdojohepforgepodzonedynservcollegefanis-very-goodfrom-meis-very-niceisa-geeknerdpolacmedsldingorgcomnomgobabonetedupleskaemhlxmyboxrockyprvcydeuxfleurspdnscodebergheyflowstatichostorgmilcomnomgobneteduorgcomeduiorgmilcomngonetedugovcloudns1337ngrokacorggogfamcomwebgobnetedugokgopgkpgovgosbizpasaugumicsopozpapuwmwsrprusiskwpspkppspkmpspokeoiawsawifoumsdnskokwpmuppuppsppiwwiwoowuzswkzoschrzpisdnwzmiuwwitdpssewsseumigugimoirmpinbwinbwiihupporzgwgriwupowwskrwioswuozstarostwokonsulattmpccopruszkowmyspreadshopostrodakartuzyopolegminamediaustkazgorajgoraolawailawalomzawloclradombytomjaworznotargilubinkoninzagantorunkutnokepnonakloczestsopotsanokturekplockslasksklepzarowlukowmedaidgdaorgmilrelcomnomatmgsmartneteduelkgovwawsossexbiztgorysejnytychypomorzeboleslawiechomesklepsdscloudunicloudzakopanelegnicarawa-mazbydgoszczswidnikkrasnikwloclawekbielawamragowograjeworealestatebeskidykaszubymalopolskaprzeworskswiebodzinlecznadfirmaszkolawarmiagdyniamiastakazimierz-dolnymalborkswidnicadlugolekaostrolekapodlasieelblagtravelsimplesitezachpomormielecszczecinnieruchomosciwalbrzychlezajsklublinbedzinpoznanwielunmielnooleckostarachowicedkontopowiatwroclawrybniksuwalkileborkslupskgdanskostrowwlkptarnobrzegtourismwegrowkrakowglogowyou2pilanysamailwrocinfoagroautobeepshoppriviqhslapypiszlodzcfolksecommerce-shopmazurypulawyskoczowrzeszowpomorskiezgierzkaliszolkuszlowiczostrowiecsosnowiecmazowszewodzislawbialowiezazgorzeleckatowicepabianicejelenia-gorawolominkarpaczsieradznowarudaczeladzkonskowolaskierniewiceswinoujscieturystykabieszczadycieszynketrzynolsztynbialystokbabia-goraprochowicewarszawastalowa-wolapolkowicegorlicegliwiceponiatowalimanowalubartowaugustowkobierzyceopocznognieznoszczytnokolobrzegshoparenapodhalebielskoklodzkostargardatwithplayitownnamecoorgnetedugovacorgcomproestnetedugovbiznameislaprofinforechtngrokmedaaaacacpaenglawjurbarbarsykeeneticavocatacctcloudnsorgcomsecplonetedugov123paginaweborgcomnetintedugovnomepublidkinbarsygovx443cloudnsorgmilcomnetedugovcooporgmilcomschnetedugovnamecomcannetlibassoaemclantmcontstoreorgcomnomrecwwwbarsyfirminfoshopartsstackitmyddnswebspacelima-cityacincooxorgedugovbarsybrendlyhbvpsvpsspectrumlandinghostingacppmordoviamcprecbgorgmilcomspbnetintedumsknovgovbirrasmcdirmytismircloudvladimirnalchikadygeyamarinepyatigorskmyjinobashkiriaeurodirvladikavkazna4ugroznykustanaikalmykiacldmaildagestaniranbuildcloudcanvaliaravalwixdevelopmentappwritemigrationneedleverceldatabasestackitcodereplravendbonporterlovableaccoorgmilnetgovcoopmedorgcompubschnetedugovservicemecomygovorggovtvmedorgcomnetedugovinfoedgfacbmlonihkutwpsryxzbdtmacfhppmyspreadshopbrandpartiorgcomfhvpress123minsidaitcouldbeworlanbibkommunalforbundfhskiopsyskomvuxkomforbnaturbruksgymnloginlineorgcomnetedugovenscaledeuusentsurgebotdaorgmilcomnetgovnowteleporthashbangplatformlovablebarsyshopwarebasehoplixbarsyonlinemsf5gitappgitpagewawamscofigma-govcaffeinefigmacanvasoltstscwputerbarsysupportchatgptsquareomniweopensocialcpanelplaycodenotionnovecorewpsquaredpreviewjelecyonbyensrhtfastvpspieboxconvexjouwwebheyflowplatformshloginlinemadethissourcecraftclouderaorgorgcomartedugouvunivmeorgcomnetedugovsurveysstatichfheiyuxs4allprojectmyfastubervibehostapp-ionosdeployagentmecoorgcomschnetedugovbizcncostoreorgmilcomneteduembaixadaconsuladokiraranohoprincipesaotomeheliohobarsystorebaseshopwaresellfyaiabkhaziavologdamordoviapenzalenugsochinavoiexnetspbmsknovnorth-kazakhstanashgabadkareliaarmeniageorgiavladimirnalchikivanovobukharaadygeyakhakassiakalugakrasnodarjambylaktyubinsktroitskbryanskobninskkurganazerbaijanpokrovskbashkiriatselinogradvladikavkazmurmansktulatuvamangyshlaktashkentchimkentgroznykaragandatermezarkhangelskkustanaikalmykiabalashoveast-kazakhstankaracoldagestantogliattibarsyredorgcomgobedumirenknightpointaccoorgjelasticdiscoursecleverappsschacmiincogoornetonlineshopcogoorgmilcomwebnicnetintedugovbiznametestcoorgmilcomnomnetedugovorangecloudpersoindorgcomfinnatnetgovensmincomtourismintlinfox0611oyaorgmilcomnetedugovquickconnectvpnplusnettprequalifymeaddrmyaddrntdllwadlnctvavdrk12orgmilpolbeltelcomwebgennetedutskkepgovbbsbiznameinfocoorgmilcompronetedugovbiznameinfobetter-thanworse-thansakurafromdyndnson-the-webmymailerorgmilurlcomneteduidvgovmydnsgameclubebizmeneacsccogotvorhotelmilmobiinfovodteiflgplkmsmsbcckhincndnvncoztltmkckppzpdprvcvkvlvcrkrkscxuzchernovtsyrivneyaltaodesavolynrovnolutskltdinforgcomnetedugovbizvinnicazhitomirternopilpoltavakropyvnytskyizaporizhzhiasevastopolsebastopoluzhgoroduzhhorodkharkovkharkivvinnytsiakhmelnytskyizaporizhzhecrimeaodessazhytomyrnikolaevcherkassydonetskluganskluhanskkirovogradivano-frankivskchernivtsikrymkievkyivlvivsumyzakarpattiamykolaivcherkasychernigovkhersonchernihivdnipropetrovskdnepropetrovskkhmelnitskiyneacsccogoorusorgmilcomedugovmyspreadshopadimono-ipbarsybarsyonlinelayershiftnh-servretrosnubapicampaignservicelugaffinitylotteryweeklylotteryraffleentrygluglugsmeaccoindependent-inquestnimsitecopropymntltdorgplcschnetgovnhsbarsyindependent-commissionindependent-reviewpolicepublic-inquiryindependent-panelconnhospindependent-inquiryroyal-commissionoraclegovcloudappscck12libaws-govccphxcclibpvtparochchtrcck12libcceatonk12coglibtecgendstmusann-arborwashtenawcck12glghcck12sealibforksolympiabainbridge-islkeyporthoquiamyarrow-pointcentraliaport-townsendsequimport-ludlowrentonsilverdalebremertonredmondsheltonbellevueport-orchardport-angeleskingstonchehalisaberdeengig-harborseattlepoulsboidmdndsddemenegacalamaiavawapailalflnmdcncscohnhmihiviwiriinmntnmocoutvtctmtgunjokakwvnvprarorasmskstxwynykyazisadninsnngosrvis-bymircloudservernamepointtoenscaledland-4-salefreeddnsstuff-4-saleazure-apinoipdatabricksappscloudnsgolffanheliohostazurewebsitesgvorgmilcomgubneteducoorgcomnetd0egvorgmilcomnetedugovmydnsiacostoree12orgmilcomnomwebgobbibrectecnetintedugovraremprendefirminfoartseducok12orgcomnethidnsidacaiiosonlahanamhanoicamauhueorgcompronetintedugovbizbacninhtayninhhoabinhnamdinhtravinhhaiphongvinhlonghaiduongquangnamquangtrithuathienhuequangninhbacgianghaugiangquangbinhsoctrangbentrethanhphohochiminhdanangkontumhatinhkhanhhoathanhhoahealthgialailaocaiyenbaibackanngheanlonganphuyenphuthocanthodaklakdongnainameinfovinhphucdongthapkiengiangtiengiangquangngailaichaulangsonlamdongdaknonghagiangangiangcaobangbinhduongninhthuanbinhthuanbaclieuthaibinhninhbinhbinhdinhtuyenquanghungyenbaria-vungtauthainguyendienbienbinhphuocschbizputerimagine-proxyorgcomnetedugovcloud66advisormypetsdyndnsxn--8dbq2axn--4dbgdty6cxn--5dbhl8dxn--hebda8bxn--80auxn--d1atxn--c1avgxn--o1acxn--o1achxn--90azhxn--55qx5dxn--uc0atvxn--od0algxn--wcvs22dxn--gmqw5axn--mxtq1mxn--12c1fe0brxn--h3cuzk1dixn--12co0c3b4evaxn--12cfi8ixb8lxn--o3cyx2axn--m3ch0j3axn--j1adpxn--90amcxn--90a1afxn--h1ahnxn--j1ael8bxn--h1alizxn--c1avgxn--j1aefxn--80aaa0cvacxn--41acaffeineexeopentunnelbotdashtelebitorgtmaccoagricorgmilnomwebnicngonetaltedugovlawnisschoolgrondaraccoorgmilcomschnetedugovbizinfoprg1-zeropstritonstackitlimazeropsaccoorgmilgovяспборгкоммскбизмирсамаракрымсочиакодпроргобрупрצהלממשלישובאקדמיהองค์กรธุรกิจรัฐบาลศึกษาทหารเน็ต教育網絡組織公司政府個人닷넷한국澳门新闻澳門联通家電嘉里招聘通販닷컴삼성コムგეбгрфеюadcdbdgdidmdsdtdaebedeeegeiejekemenepereseveyegabacalamanauavapaqasazacfbfafgfnfpfwftfbgcgagggegkgngmgsgpgvgtgugilmlnlalclglplsltlhmimjmkmmmomambmcmdmfmgmzmpmsmtmgbbblbsbecccacnclcmcvctcscmhkhghchbhthphshlinikifigiaibicivisikninhnmncnbngnsnpnvntnjoionomobocoaofodorosotoptstttytatbtetgtithtmtltrusuvuaucueuguhulumunufjdjbjtjsjlkmkhkfkdkcktkukskpkgpmpnpkpjpgqaqmqiqsvtvcvbvmvlvrwpwtwzwbwcwawgwkwmwtrsrprgrfrercrbrarnrmrlrkrirhrwsusrssspsgsesbsaslsmsissxmxaxcxuypysylymykygybycyuztzsznzmzkzdzczbzazελευ世界台灣购物公益点看臺灣网络書籍在线网站手机机构大拿游戏信息台湾谷歌慈善商标香港中国餐厅网址中國商城食品微博政务移动集团公司八卦商店健康网店政府时尚佛山中信娱乐广东企业homedepotengineeringاماراتrepublicankuokgroupversicherungchannelcitadelxn--pgbs0dhxn--b4w605ferdstatebankwebsitexn--mgb9awbf亚马逊淡马锡alibabaxn--ngbc5azdxn--mgbbh1axn--45br5cyltoshibabuildworldcloudtradeguideplacespacedancemoviephoneprimesmilebiblestyleappleazurestoreskypegripexn--l1accdrivelottehorsehouseleasechasereisestadahondaomegaaetnaamicaninjanokiamediadeltavodkaedekaosakapizzaslingemailgmailtirolshelltmallfinallegaltotalhotelamfamforumrehabmusicciticricohcoachwatchboschearthfaithirishmiamiarchidubaiguccipraxiみんなストアセールcanonsalononionnikonepsonkoelngreensevencrownikanoradioaudioweiboglobopromogalloyahoociscorodeovideomangobingotokyovolvolottokyotophotosmartsportquesttrusthyattjetztadultcymrubaidutushuxn--kprw13dubankclickblackmerckgroupsharpcheapnowtvxn--h2brj9cקוםհայоргсрбмонкомбелмкдқазрусукрمصرقطرعربكومdadcfdmedwedredphdthdbidpidkrdmsdltdiceonewmeglemoerwecfageacbanbambaaaammakianraspacpaaxawtfbcgaegongingaigvigorgdogdhlmilrilonlaolloluoljllcalgalnflafltelsrlfrllplkimibmcamcombommomifmabbjcbscbwebcabnabtabmlbpubabcbbcnecincpncllcstcwtcpwcnyckfhbzhovhmoiskiobisbitcifyituipinvinwinxincbnbcnmanfangdnmenrenkpnmtnyunrunfununobiojioriohbogmofooboooooacoecoceongoproartistottnttbbtcateatlatvetpetbetnethktmitfitintjothotgotdotbotprueduicujnjyouinknhktdkappsapgapmapdnptopgopllpjmpzipvipripesqtrvdtvitvdevmovgovhivnrwlawsewnewbmwwownowhowdvrftrmtrsfrbarcartvscrseusawsupsubssbsadsddsldssasbmsmlsxxxboxfoxgmxtjxsextaxbuyflydiysoyjoyskypaydaygayxyzanzbizwebersenerpokerlameractortatarsolarລາວคอมไทยtourslocusnexuslexusgiftsbeatsboatspartspressglassswissकॉमनेटtiresgivescodeshomesgamestunesshoescardswalesloansvegastoolsdealsautosparisファッションworkssucksrocksxeroxforexfedexpartylillymoneystudyrugbytoraytoday中文网xn--unup4y天主教飞利浦新加坡enterprises我爱你嘉里大酒店christmasxn--fct429kholdingsxn--8y0a063axn--mgbx4cd0ablifestyleabogadoallstatenetbankكاثوليكxn--s9brj9cxn--gk3at1ebestbuycharityxn--55qx5dmicrosoftpropertybasketballhomegoodscorsicajewelrygallerygrocerysurgerycountrybrusselsverisignferreroxn--czr694bhdfcbankcommbanksoftbankپاكستانپاکستانnextdirectالسعوديهالعليانxn--h2brj9c8cxn--80adxhksshikshaxn--mgbai9azgqp6jcuisinellabarclayscatholicxn--kpry57dcompanyxn--xhq521bblackfridayxn--mgba3a3ejtsandvikxn--d1acj3bacademydownloadمليسياxn--j1amhxn--w4r85el8fhu5dnraipirangaathletaxn--fhbeixn--mgbqly7cvafrzuerichxn--c2br7gஇலங்கைcontractorsxn--io0a7igraphicsinsurancetemasekxn--xkc2al3hye2amotorcyclesphotographydirectoryplumbingxn--vhquvclothingtrainingcleaningwilliamhilllightingxn--mgba3a4f16ashoppingcateringeducationokinawapicturesventuresproductionsxn--9et52uwalmartഭാരതംsupportrealestatecapitalonexn--nqv7fs00emaauspostfloristdentistxn--qxamgodaddybradescobargainsmitsubishikerryhotelsxn--9dbq2axn--3pxu8kimmobilienxn--fjq720axn--mgbtx2bholidaymckinseymadridbusinessbuildershelsinkixn--4gbrimмоскваالسعودیةcoffeedegreelacaixapartnersalsaceofficeabbvievoyageorangegeorgeonlinechromemobilekindlegoogleoraclecircleschulesecureinsurexn--mgba7c0bbn0aestatexn--mgbc0a9azcgcruisehangoutxn--vuq861bxn--42c2d9arexrothfirestoneuniversityxn--nnx388alifeinsuranceextraspaceонлайнvermögensberatersoftwarexn--fiqs8sxn--mgbab2bdxn--w4rs40ltiendaभारतम्africatoyotaotsukasakuracameracreditcardnagoyaconsultingnetworkjunipertheatermonsterprogressivepioneerxn--55qw42gracingdatingvotingvikinglivinggivingxn--bck1b9a5dre4cbrotherweatherjoburgفلسطينlplfinancialxn--clchc0ea0b2g2a9gcdfutbolschoolsocialglobaldentalwoodsidechanelairtelmatteltravelrealtorwebcamstreamభారత్unicomalstomxn--nodexn--6frz82gmuseumfurniturexn--rvc1e0am3exn--mix891faccenturexn--11b4c3dismailineustardiscountquebeccomsecclinicservicesxn--y9a3aqxn--c1avgswatchchurchsearchالاردنmarketingcontacthealthmonashshoujisanofitaipeiamericanexpresssuzukiアマゾンクラウドポイントbhartiグーグルxn--mgberp4a5d4armemorialxn--1qqw23alondonmormoninstitutevisionbostonnortoncouponmaisonamazonvirginberlindesigndurbanolayannissananquanxihuanhitachikaufengardenreisenbayerntechnologydatsunxn--90a3aclatinocasinostudiophysioxn--ngbe9e0apharmacytattootaobaoaramcoexpertreportabbottdirectselectimamatfairwindspictettargetmarketintuittravelersinsurancecreditdupontryukyusuppliesxn--tckwebnpparibasschmidtmerckmsdyodobashirestaurantbridgestonecricketxn--fpcrj9c3dbostikbroadwayattorneylefrakemerckxn--fiq228c5hscareersfarmerswinnersflowersxn--wgbh1cguitarsxn--54b7fta0ccxn--p1acfmakeupgalluplandroverxn--kcrx77d1x4agoldpointbauhausxn--mgbayh7gpahiphopplaystationxn--mgba3a4fraxn--eckvdtc9dhyundaixn--gckr3f0fistanbulticketsmarketsflightschintaireviewsxn--3e0b707ewindowsxn--fiqz9sfinancialxn--fzys8d69uvgmابوظبيdiscoverreviewবাংলাxn--5su34j936bgsgmoscowobserverapartmentsдетиارامكوсайтeurovisionxn--i1b6b1a6a2exn--xkc2dl3a5ee0hتونسموقعبارتڀارتشبكةعمانبيتكعراقreadkredbondlandbandfundfoodprodgoldfordtubecafesafelifeggeeieeefreefagepagegugezonewinememenamegamesaleablebikenikelikecarecbreherefiresaveloveliveblueartedatesitevotecaseluxebofamodaltdaasdatiaayogasinavanashiaasiajavabbvatevavivadatazaraarpacasavisasncfprofmaifsurfgolfdvagsongbingpingwangkpmggoogblogpohlfailcooldellcalldeallidlsarlfilmteamroomfarmimdbarabclubhdfcicbchsbcgmbhrichtechfishdishcashminiernikddiaudiwikimobitaxicitikiwidesiqponskinloanakdnwienopenporncerntownimmolimoolloinfonicofidolegosaxozeroaerovivoautovotomotofastbestresthostpostnextlgbtchatseatgiftmeetdietreitmintrentgentspotscotguruitausohumenucyoubanklinkpinkdclktalksilkbookseekworkrsvpaarpjeepshopcoophelpcamppccwshowbeerstarruhrflirweirhaircarsparsjprshausplusnewstipstoysjobskidsfanspicsdocsxboxamexsexynavycitysonyarmyallybabyplaydeliverybuzzgbizlamborghiniphilipsලංකාಭಾರತfitnessexpresslanxesspfizercenterwalterlawyersoccercareerkosherbrokerlockerdealerdoctorauthorxn--mgbqly7c0a67fbcvermögensberatungjaguarxn--pssy2uxn--hxt814eflickrrepairrogersairbusxn--mgbai9a5eva00beventsyachtsxn--t60b56aভাৰতভারতभारतभारोतviajeshermeshughesxn--j1aefसंगठनvillasଭାରତclaimshotelsભારતzapposphotosjuegoscondostatamotorsgratistennisਭਾਰਤtkmaxxtjmaxxschaeffleryandexxn--80aswgrealtysafetybeautyluxuryxn--3ds443gsupplyfamilyxn--o3cw4hhockeysydneyxn--90aenissayalipayenergycomputeragencyxn--rovu88b電訊盈科xn--gecrj9cstatefarmaccountantaquarelleolayangroup香格里拉xn--p1ai组织机构xn--1ck2e1bxn--mgbt3dhdschwarzموريتانياabudhabinowruzkomatsufujitsuhospitalxn--80asehdbxn--mgbtf8flxn--j6w193gxn--yfro4i67oprudentialxn--flw351ecruisescoursesrecipesxn--e1a4cferrarixn--ses554gxn--wgbl6awatchesstaplessinglesxn--mgbcpq6gpa1axn--otu796dpropertiescreditunionxn--mgbah1a3hjkrdstockholmhisamitsuالسعوديةstcgroupdomainsoriginscouponsbloombergclubmedfroganslimitedxn--80aqecdr1aexposedinternationalequipmentbarclaycardxn--q7ce6axn--mgbi4ecexpprotectionassociatesconstructionxn--cck2b3bxn--45q11candroidfoundationישראלxn--mgbca7dzdocliniqueboutiqueengineerxn--qxa6asystemsfirmdalefashionauctionxn--nqv7finfinitirentalsreliancetradingweddingfishinghostinggentingbookingcookingxn--3hcrj9cgraingerxn--czrs0tdemocratsamsungyokohamaxn--h2breg3evexn--nyqy26alundbeckmelbournevacationssolutionsfrontierxn--vermgensberatung-pwbmanagementxn--cg4bkixn--mgb2ddeslincolnhamburgsandvikcoromantblockbusterairforcebarefootxn--4dbrk0ceinvestmentsfeedbackcommunityxn--ngbrxالبحرينdiamondsamsterdamhealthcareredumbrellaxn--mxtq1mxn--2scrj9cagakhanxn--mgbpl2fhкатоликcaravanசிங்கப்பூர்richardlimortgageamericanfamilyxn--fzc2c9e2cscholarshipssaarlandxn--imr513nvlaanderensamsclubgoodyearkitchenஇந்தியாweatherchannelallfinanzxn--kput3iالسعودیۃxn--90aisxn--efvy88hالجزائرxn--mgbaam7a8hexchangejpmorganxn--tiq49xqyjfidelitysecurityxn--mk1bu44cwanggouxn--fiq64bxn--6qq986b3xlxn--mgbbh1a71exn--80ao21amarshallsxn--5tzm5gtravelerspanasoniclatrobeyoutubeaccountantsxn--rhqv96gxn--cckwcxetdanalyticsxn--ygbi2ammxبازاربھارتسوريةorganicfreseniusسورياxn--9krt00axn--qcka1pmcxn--jlq480n2rgdeloittesciencefinancexn--jvr189mxn--30rr7yhomesensehotmailbaseballfootballleclercboehringerxn--q9jyb4cxn--mix082fاليمنهمراهpolitieسودانايرانایرانnetflixyamaxunxn--lgbbat1ad8jcollegestoragecapetowncolognekerrypropertiesxn--mgbgu82axn--ogbpf8flxn--czru2dwhoswhociprianilasallexn--g2xx48cforsalebanamexaudiblexn--vermgensberater-ctbxn--zfr164bericssonvanguardxn--45brj9cindustriestheatremarriottxn--3bst00mcomparexn--mgberp4a5d4a87gcapitaldigitalالمغربbarcelonashangrilaxn--d1alfcalvinkleinwwwcitysapporokawasakinagoyasendaikobekitakyushuyokohamackjp`,LL=ML.length,RL=PL.length,zL=new Uint32Array(RL),BL=new Uint32Array(RL),VL=new Int32Array(LL).fill(-1);for(let e=0,t=0;e<LL;e+=1)for(let n=NL[e];n<NL[e+1];n+=1){zL[n]=t;let r=t+PL[n],i=5381;for(let e=r-1;e>=t;--e)i=i*33^IL.charCodeAt(e);BL[n]=i>>>0,PL[n]===1&&`orgmilcomschnetedugovdrrformsfeedbackofficialaccoorgmilschnetgovmagazinemediaunioncargopilotgroupcaarespressworksaerodromeworkinggroupair-traffic-controlaircraftaccident-preventioneducatormarketplaceambulanceinsurancecateringairportrepbodyenginesoftwaremodellingair-surveillanceconsultingchartertrainermaintenanceservicesdesignflightskydivingfreightassociationstudentgroundhandlingdgcafuelclubtaxicrewshowballooningexpresstraderbrokerauthoragentsairtrafficjournalistsafetyconsultantmicrolightaccident-investigationparachutingequipmentproductionfederationrecreationscientistnavigationengineertradingglidingleasingresearchpassenger-associationentertainmentparaglidinghangglidingaerobaticrotorcraftemergencycertificationgovernmentaeroclubexchangelogisticschampionshiphomebuiltcouncilconferencecontrolairlinecivilaviationjournalorgcomnetedugovcoorgcomnomnetobjofforgcomnetuwukiloappsframerorgmilcomnetedugovcoradioorgcomnetcommuneedogpbcoitgvorgedugov*spreviewfrontendrelayononstagingupid*mtls*privatelinktypedreamdeveloperbravemochawindsurfaivenmirenupsunwnextbegetngrokclerkwale2bwebcsbrunputerflutterflowspawnbaseshiptodaymagicpatternsnetlifyondigitaloceanrailwayhostedclaudehasurabotdashvercelgithubluyanigadgetreplitcloudflaretelebitedgecomputeevervaultexponyatnoopencrpplxzeaburwasmerframerzeropsrocketpreviewconvexmedusajsspritesonherculeseasypanelstreamlitglideossnowflakemesserliloginlinehackclubcodepennorthflankbase44corespeedleapcellngrok-freeclerkstagelovableon-fleek*us-west-3ap-south-2us-central-2us-central-1eu-central-1ap-south-1us-west-2us-east-2eu-north-1ap-north-1us-west-1us-east-1*rcloudintsegorgmilcomgobbetnetintedugovturmusicasenasamutualcoopip6uriurnin-addre164homeirisgovdixdaemoncloudnssthwien*inexexkunden4accogvormymyspreadshop4lima2ixortsinfofuturecmsfuturehosting12hpprivfuturemailinglima-cityfunkfeuer123webseitednshomemelmyspreadshopcloudletswasantqldvicactnswtascatholicwasaqldvictasidwasantozqldorgcomvicasnactnetedugovnswtasconfcomairflowlambda-urltransfer-webappairflowtransfer-webapptransfer-webapptransfer-webapp-fipstransfer-webappeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1privatenotebookstudiolabelingnotebookstudionotebooknotebook-fipslabelingnotebookstudionotebook-fipsnotebookstudio-fipsnotebook-fipsnotebookstudionotebook-fipsnotebookstudioeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2experimentsus-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1onrepostsagemakercopporgmilcompronetintedugovbiznameinfoshoprsorgmilcomnetedugovbrendlyresolvenzauscotvstoreorgcomnetedugovbizinfoidacaicoittvorgmilcomschnetedugovinfocloudezproxysiteacmymyspreadshopkuleuvenwebhostingtransurl123websitecloudnsinterhostsolutionsddns5476103298edgfacbmlonihkjutwvqpsryxzbarsycoororgcomedumyftpno-iporxcloud-ipfor-somemmafanfor-morewebhopselfipjozidyndnscloudnsdscloudfor-thefor-betteractivetrailcoeconorestooteorgcomeconeteduassurmoneyafricaarchitectesrestaurantloisirstourismavocatsinfoagrounivcoorgcomnetedugoviatvdeportesaludtksatorgmilcomwebgobnetinteducienciaboliviarevistacooperativaempresanombreindustriamusicapatriamedicinademocraciapoliticapuebloindigenaplurinacionalarteblogwikiinfoagrotransportenoticiasprofesionalacademiaeconomiaecologiamovimientotecnologianaturalsimplesitecepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesmscepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesms*biaamfmtcmptvfeirasampajampanatalbelemananiradiog12medindfndbmdtrdthepoaggfjdfdefinfenflegsegongengcngorgzlgslglogppgmillelqslcimcomnomadmjabimbbibbsbabcrectecsjcetcpscpvhudieticriapipsiecnbiorioecogeoteoodoproatoartfstmatvetdetbetnetcntnotfotgrueduajuespappreptmpemparqsrvadvdevgovntrturagrjorfarjusmusdesvixxyzcozfozslzbhzmaringasantamariacampinagrandegoianiasorocabafloripasaobernardocuritibaboavistarecifeaparecidasaogoncasalvadorcuiabamorenamacapalondrinacontagemsocialfortalmaceioleilaoosascoriobranconiteroi9guacutcheblogflogvlogwikitaxicoopmanauspalmascaxiasjoinvillebaruericampinassantoandreribeiraoriopretoweorgcomnetedugovv0windsurfshiptodaycloudsitecoaccoorgnetgovofmilcomgovmediatechzacoorgcomnetedugsjgovmydnspenfnlabnbmbgcbcqconcontnuyksknsmyspreadshopno-ipawdevboxbarsyonidatemfuinabusavinstanceseceuguukussryzespawncsxcloud-ipmyphotosfantasyleaguetwmailcleverappsscrappingccwucloudnsftpaccessgame-serverccgovobjectsrmalpgcust*svcalp1aeappenginermalpgmyspreadshop4lima2ixsquare7cloudscale123websitefirenet12hpflowgotdnslinkyard-cloudcloudnslima-citydnskingobjectstorageedaccogoorusorgcomnetinteduaéroportxn--aroport-byaassogouvcomilgobgovcloudnses-1eu-west-1us-east-1euvipit1eurarubait1s3lbwebsites3websiteru-spbru-mskelasticcsrunstnukukcaukusnl-ams-1fr-par-1fr-par-2functionsnodess3ddlwhmrdbfnck8sifrs3-websitecockpitscblmgdbdtwhkafkpubprivs3ddlwhmrdbk8sifrs3-websitecockpitscblmgdbdtwhkafks3ddlrdbk8sifrs3-websitecockpitscblmgdbdtwhkafkk8sscalebookpl-wawfr-parnl-amsbaremetalsmartlabelinginstancesdechk2kuleuvenlaravelvoorloperurownoxazapscwhstgrvaporonline-serverobservablehqelementorantagonistreclaimjoteluluencowaydiademjelasticmatlabmagentositetrendhostingaxarnetperspectajenv-arubajelejoteravendbemergenttrafficplexconvexkeliwebserveboltbegetcdnstaticson-rancherprimetelonstackitunison-servicesdnshomelinkyardbarsyjelecloudnscocomnetgovmycn-northwest-1cn-north-1s3s3-accesspoints3-websites3s3-accesspointrdsdualstacks3-deprecatedemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspoints3s3-accesspointrdsdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicn-northwest-1cn-north-1cn-northwest-1ebcomputeelbcn-north-1airflowcn-northwest-1cn-north-1oncn-northwest-1cn-north-1amazonawssagemakeramazonwebservicesdirectasgdsdhehahljlnmhbacscahqhshhihnlnynsnmofjbjzjxjtjhkcqtwgsjssxnxjxgxxzgz網絡网络公司orgmilcomnetedugovxn--55qx5dcanva-appsxn--io0a7iquickconnectcanvasitekhsjxn--od0algcanva-codemyqnapcloudsrvrlessclustersrealtimestorageleadpagescarrdcrdorgmilcomnomnetedugovhidnssupabaserdpareplmypiumsoxmitotaplpagesfirewalledreplitowodevwebview-assetsvfswebview-assetss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecateds3-websites3-object-lambdaexecute-apis3s3-accesspoints3-websites3-accesspoint-fipss3-fipss3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipss3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9vfss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1us-northeast-1ap-southeast-1me-south-1af-south-1ap-south-1ap-southeast-7us-west-2eu-west-2ap-east-2us-east-2ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ap-southeast-6ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1mrapaccesspoints3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3eu-west-3ap-south-2eu-south-2computes3-ap-northeast-2elbrdss3-ap-east-1s3-sa-east-1s3-us-gov-west-1s3-eu-central-1s3-ca-central-1eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3s3-website-us-west-2s3-website-eu-west-1s3-external-1eu-central-1me-central-1ca-central-1il-central-1s3-us-west-1s3-eu-west-1s3-website-sa-east-1s3-website-ap-southeast-2ap-northeast-1ap-southeast-1s3-us-west-2s3-eu-west-2me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2s3-website-ap-southeast-1s3-1s3-globals3-ap-northeast-3eu-north-1airflowap-southeast-2s3-us-gov-east-1s3-fips-us-gov-east-1s3-me-south-1s3-ap-south-1ap-northeast-2s3-website-us-west-1ap-southeast-5s3-eu-north-1s3-ap-southeast-1s3-website-us-gov-west-1compute-1s3-eu-west-3us-gov-west-1s3-website-ap-northeast-1us-gov-east-1s3-fips-us-gov-west-1s3-website-us-east-1s3-ap-southeast-2ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3-us-east-2s3-ap-northeast-1authauthauth-fipsauth-fipseu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1rframeservicesbuilderstg-builderdev-builder*ociocpocsazuregcpawsdemoinstanceeu-west-3eu-south-2ap-southeast-3ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1previeweu-4us-4us-1eu-1us-2eu-2us-3eu-3appscomputepaasrag-cloudrag-cloud-chjcloudjcloud-ver-jpcdemonodebalancermembersipeuxvsoncillaocelotonzayalilynxsphinxfentigercustomercaracalo365cloudstaticxendevapp001testcode-builder-stgplatformmediasiteprojedrydpagesjsx0desazacncoitrueu4uhkukgrbrushatenadiarymyspreadshopfrom-flfrom-wvwebspace-hosttheworkpchatenablogcursorusercontentservesarcasmapplinzisakuratanwixsiteappchizigiizeis-into-carsdnsiskinkyadobeaemcloudis-a-therapistpgfogmyvncdojinis-an-actress1kappfldrvkozowqa2jpnmexprgmrfirewall-gatewaydynnscafjsfbsbxooguyfrom-gawoltlab-demois-a-anarchistwiardwebteaches-yogadattowebtb-hostinglive-websiteservegamegotpantheonfrom-nhsubsc-payfrom-ohvipsinaappfrom-cadyndns-officehomelinuxfrom-mahercules-appservebbsstreakusercontentfrom-okfrom-wyfastly-terrariumis-a-llamaqualyhqportalserveexchangeon-vaporvivenushopciscofreakgrayjayleaguesmetaaiusercontentfrom-iais-a-libertariansaves-the-whalestaveusercontentyolasiteoperaunitepoint2thisis-a-catererclaudeusercontentlinodeusercontentfrom-vagithubusercontentsells-for-lesshosteurcanva-appsplaystation-cloudddnsfreefrom-pafrom-prfrom-waddnskingoutsystemscloudhotelwithflightmydattois-a-nascarfanmydbserverminiserverdamnserverservehumouris-a-playerfrom-nvfrom-nmemergentagentgentappsamplifyappfrom-kyis-an-accountantnfshostserveircfrom-akpythonanywherestackhero-networkpostman-echolikescandydyndns-mailobservableusercontentserveftpfreeboxosfrom-utcdn77-storageamazonawsneat-urldyndns-serverlinodeis-a-teacherfrom-vtgleezemythic-beastsus1-pleniteu1-plenitla1-plenitpaywhirlservecounterstrikejdevcloudhealth-carereformis-into-animegoogleapisis-a-painterafricaisa-hockeynutatmetais-an-actora2hostedis-a-democratdatadetectest-le-patrondigitaloceanspacesis-a-designeris-a-hunterlinodeobjectstemp-dnsissmarterthanyoufrom-arsimplesiteevennodetownnews-stagingis-a-liberalgooglecodejelasticservemp3qualyhqpartnerdyndns-free1cooldnsest-a-la-masiondrayddnsdynuddnsfrom-orfrom-miis-a-bloggerfrom-himydobisscanvacodeis-an-engineerest-a-la-maisonupsunappdevinappswafflecellmyasustorwpenginepoweredfrom-ctservep2psame-appmyshopblocksthingdustdatalikes-piediscordsezis-with-thebandlpusercontentis-leetshopitsite3utilitiesis-a-personaltrainersinaappladeskis-a-cheflogoipselfipbase44-sandboxnospamproxyalibabacloudcsmesswithdnsauthgearappsiamallamawithgooglelutrausercontentmochausercontentframercanvasmytabitdyndns-homew-credentialless-staticblitzcpserverdiscordsaysis-a-nurseappspotatlassian-isolated-3premotewdfrom-mtwixstudiocode0emm180rmyactivedirectoryawsappsmytuleapdnsabrpolyspaceqbuserrenderbuiltwithdarkboutirgotdnsabrdnsdopaascanva-hosted-embedawsglobalacceleratorhomesecuritypcmyiphostditchyouripclever-clouddyndns-ipon-aptibleis-a-musicianhosted-by-filessecuritytacticsappspaceusercontenthomeunixstrapiappsame-previewcf-ipfsmycloudnaselasticbeanstalkis-certifieddontexistkasserverik-serverdrive-platformatlassian-3pfirebaseappherokuappawsapprunnerbarsycenteris-a-cubicle-slaveservehttpmyshopifyis-a-guruquicksytessiiitesorsitesmagicpatternsappis-a-cpameteorappfrom-wiis-a-rockstarbumbleshrimpdattolocaldatabricksappsreadthedocs-hostedfrom-rifamilydsdyndns-picsplesknsbplaceddnsaliasdynaliasdyndns-remotedoomdnsip-ddnsblogdnsis-a-doctorroutingthecloudamazoncognitobarsyonlinedsmynasddnsgurucloudflare-ipfsdeus-canvasfrom-idsmushcdnpagespeedmobilizerdyndns-at-homeunusualpersonhosted-by-previderis-a-republicandyn-o-saurstreamlitappworkisboringonthewificprapidqualifioappis-uberleetis-slickgetmyipwpdevcloudtypeformdyndns-at-workgentlentapismynascloudw-corp-staticblitzfrom-ingeekgalaxyservebeerfrom-mdonrenderspace-to-rentaivencloudappspacehostedwafaicloudcodespotblogspotatlassian-3p-us-gov-modfrom-ndfrom-msis-a-techieis-a-studentcustomer-ociis-a-photographerdurumisfrom-ksmassivegriddyndns-wikiis-an-entertaineris-a-hard-workermysecuritycamerafrom-mnrackmazedyndns-blogis-a-bulls-fanwritesthisblogfreemyipsimple-urlfrom-sdreservdauthgear-stagingest-mon-blogueuris-into-gamesrice-labsxtooldevicesakurawebis-an-anarchistoraclecloudappsdyndns-worksells-for-urhcloudfrom-dcfastvps-serverwpmucdnis-a-geekscrysecfrom-txis-into-cartoonsmodelscapetrycloudflarelocaltonetstreak-linkbalena-devicesfrom-njforgeblocksfreebox-oswebadorsitefrom-ncdoesntexisthobby-sitestreaklinkshomesecuritymacownprovidertuleap-partnersdattorelaywphostedmailservequakeis-a-socialistservehalflifepivohostingdynuhostingquipelementsw-staticblitzdyndns-webfrom-deproject-studyaliases121is-not-certifiedhercules-devis-a-financialadvisorservepicsis-a-greenloseyouripfrom-ilwithyoutubemwcloudnonprodwiredbladehostingdnsdojofrom-tnpixolinomyqnapcloudis-an-artisthostedpiis-a-landscaperauiusercontentoaiusercontenton-forgeis-a-conservativedreamhostersnet-freaksapps-1and1is-goneencoreapifastly-edgefrom-nesalesforcefrom-scdeployagentoraclegovcloudappsfrom-alis-a-lawyercechirevultrobjectsstufftoreadisa-geekddnsgeeklovableprojecttry-snowplowfrom-moblogsyteis-a-bookkeepernogmyforumravendbmyboxdeelementoredsaacficogoorinforgcomgobnatneteduidstoreorgcomnetintedudevnomepublorgcomneteduathgovtestscalculatorspaynowinfoquizzesresearchedcloudnsfunnelsassessmentsjscaleforcetmacltdorgmilcompronetgovbizpresseklogesrsccloudcustomfltusrcloude4corealmgovmunicontentproxy9metacentrumdyndyndyndnsdynpagespages-researchitionoccustomercomymyspreadshopipv64diskussionsbereich4limacomrub2ixfirewall-gatewayddnssspdnsbarsykeymachinesquare7myhome-serverspeedpartnercommunity-proschuldockxenonconnectgünstigliefernbwcloud-os-instancedyndnssecmy-routerxn--gnstigliefern-wobin-butterl-o-g-i-nisteingeekin-dslin-berlinin-brbfuettertdasnetzleitungsenin-vpnlcube-serverdyn-ip24logoipdyn-berlinruhr-uni-bochum12hpgoipsrvdnsfruskygit-repossvn-reposinternet-dnsgünstigbestellenhome-webserverxn--gnstigbestellen-zvbbplacedheimdnscosidnswebspaceconfiglima-citydyndns1istmeinvirtualuserschulplattformmy-gatewayddnsseclebtimnetztest-iservmein-iservvirtual-userhome64iservschuletaifun-dnstraeumtgeradeschulserverdynamisches-dns123webseitednshomehs-heilbronndnsupdaterbssgraphicdwadpdwdaepeweaawapaafpfwfabwbpbacwcpcciwebuserapiobjectsidsiskospockkimodorikerbonesteamsparisjanewaypicardglobaltarpitreedpikekiraworfsulukirkarchertuckerhackercanarywesleystagingprereleaset3r2lpbravepanelngrokiservstglclcrmerpflypagesbarsyvivenushoplocalcertlocalplayerbearbloggatewaydeno-stagingis-not-ais-a-goodbotdashvercelmocha-sandboxplatter-appreplitgithubpreviewworkersinbrowserevervaultis-ahrsndenoxmitmodxmyaddrstorageapipayloadgrebedocruncontainersstgstagelclstageloginlineis-a-fullstackcodepenleapcellngrok-freeis-coolstoragewebharemediatechlibp2pdiscourseimaginecomyspreadshopstoreregbiz123hjemmesidefirmcoorgcomnetedugovsldorgmilcomwebgobartnetedugovtmorgpolcomsocartnetedugovassoagrondiscoodontk12medcuegyecpaabgengorgmilgalsaltulcomadmesmgobpubdocmonfindgnriouioproartlatvetnetfotedulojgovntrturibrbarxxxofficialbasechefprofmktgpsictechinfoarqtcontdentrrpppsiqgit-pagesritmedfieorgcomlibprieduaipgovriikmeactvsportorgmilcomscieunnetedugovnameinfopintouchtawktotawkmyspreadshoporgcomnomgobedu123miwebcomputeorgcomnetedugovbiznameinfocognito-idpeusc-de-east-1onjelasticnxaspdnsbarsydirectwpdeuxfleurstransurldogadoprvwcloudnsamazonwebservicesdnshomeuserpartycokoobinmkmfidymyspreadshopalandkapsiikixn--hkkinen-5wacloudplatformhäkkinen123kotisivuidacorgmilcompronetedugovbiznameinforadioorgcomneteduuserexperts-comptablestmmyspreadshopgretaprdcomnomynhccifbxoshuissier-justicenotairesaeroportfreeboxoson-webavocatassoportgouvkdnschirurgiens-dentistes-en-franceavouesfbx-os123sitewebveterinairechirurgiens-dentistespharmacienchambagrimedecinfreebox-osdediboxgoupilemszicpyicpvicppleysheezypagesedugovcnpyorgcomcybllcpvtnetedugovtnxonlineschooldaemond6atcopanelorgnetplybotdashstackitkaasorgmilcomnetedugovbizmodltdorgcomedugovcoorgcomneteduappwriteacorgcomnetedugovcloudtranslateusercontentorgcomnetedumobiassoorgcomnetedugovbarsysimplesitediscourseindorgmilcomgobneteduorgcomwebnetedugovguaminfonxhra教育敎育網絡网絡组織組織网络網络组织組织公司政府個人个人箇人ltdorgcomincneteduidvgovxn--uc0ay4axn--55qx5dxn--mk0axixn--io0a7ixn--uc0atvxn--zf0avxxn--lcvr32dxn--od0algxn--wcvs22dxn--gmqw5axn--od0aq3bxn--mxtq1mxn--ciqpnxn--tn0agxn--gmq050iorgmilcomgobneteduiservwp2tempurlmircloudfreesitewpmudevmyfastgadgetcloudaccessjelehalfboltfastvpsemergenteasypanelopencraftizcombrendlynamefromrtpersoadultmedorgpolrelcomproartnetedufirminfoassoshopcoopgouvtmcomediahotelforumvideosportorgsexagrargameslakaseroticaerotikatozsdereklamcasino2000filmsuliinfoboltshopprivnewsszexcityutazasjogaszkonyveloingatlaneacaicogoormyᬩᬮᬶmilwebschnetkopbizzonedesaponpesxn--9tfkymyspreadshopgovmytabittabitorderravpageaccok12idforgnetgovmuniltdplcaccotttvorgcomnetmeca6g5gpgamubacaicniocoukuptverdruscsdelhiindorgmilcomwebnicfingenpronetintedugovresbizbiharbarsyinternetbusinessschooltravelsupabasealumnigujaratfirminfoaeropostbankcoopindevscloudnsno-ipbarsybarrell-of-knowledgebarrel-of-knowledgensupdategroks-thisdnsupdatefor-ourknowsitalldvrcammittwalddynamic-dnsv-infowebhopselfipdyndnshere-for-moreilovecollegemayfirstforumzcloudnsmittwaldservertypo3servergroks-theeusekd1cdndyndnsidrawsainaueuapjpusstagemocksysdevicesclientcustreservdcustdevdisrecprodtestingcobeebyteutwenteboxfusebravepstmndedynngrokorgmilcomnomnetedugovqcxqzzbarsythingdustmo-siemensrb-hostingfh-muenstergitbookbluebitecloudbeesusercontentnodeartkiloappsforgerockdarklangresinstagingapigeebubbleb-datascryptedhypernodedappnodepantheonsitegitlabgithubkeeneticvirtualservercleverappshostyhostingon-rioedugitticketstelebitwixstudioon-k3sicp0icp12038jeleqotolairbubbleappsmyaddrstolosmyrdbxwebflowdrive-platformbeagleboardhasura-applolipopdefinimavaporcloudmusicianwebflowtestazurecontainerresindevicereadthedocsloginlineeditorxmoonscalesandcatsbasicserverwebthingsbrowsersafetymarkbeebyteappbitbucketidaccovistablogorgschnetgovxn--mgba3a4f16axn--mgba3a4fraarvanedgeايرانایرانjclaspeziapdudcefegelemeperetevebacanatavaparasabgagfgogrgpgalclblimfmrmcbmbvbfclcmcvcrcpcchlimifibicivipirisimncnbnanenrnpntnnolomobocoaogorosopotoptvtatctbtmtltotpusulunutpspapaqsvpvvvtvavvrtrsrprgrfrcrbrarorkrvstsssbscsmsispzczbzbozen-suedtirolmyspreadshopxn--bulsan-sdtirol-nsbxn--valledaoste-ebbtrentinoaltoadigetrentin-sued-tirolxn--forlcesena-c8axn--forl-cesena-fcbxn--bozen-sdtirol-2obtriestetrentinsuedtiroltrentino-s-tirollecceudineaostesienaparmaluccapaviagenoapaduaaostamonzaabruzzoternirietiturinmilanbozenlaziofermoleccocuneonuoropratola-speziavdataaligfvgpugmolcalcamlomumbsicpmnvenvaoedugovabrsarmaremrbastoslazibxosfirenzetrentinosüdtirolval-d-aostavalle-aostamessinacremonaravennatoscanatrentin-suedtirolbolognacalabriaurbinopesarofriuli-v-giuliaogliastraxn--valle-aoste-ebblaquilaandriatranibarlettasyncloudxn--valle-d-aoste-ehbaostavalleyvalled-aostatrentino-alto-adigevallee-d-aostexn--balsan-sdtirol-nsbpistoiasicilialucaniacataniaiserniaperugiabresciaveneziagorizialiguriaimperiabulsan-suedtirolbalsan-suedtirolbarlettatraniandriaxn--trentino-sdtirol-szbforlì-cesenatuscanyvallée-d-aostemantovavallée-aostecasertapiemontevalleaostaval-daostafriulivgiuliatrevisoforli-cesenavalléedaosteferrarapescaravald-aostatrentino-altoadigefriuli-vegiuliavallee-aostecarboniaiglesiastarantomediocampidanovalleedaostetrentinosud-tirolcampobassotrentinsüd-tiroltrentinosüd-tirolmonzabrianzatrentino-südtirolxn--trentino-sd-tirol-c3bpotenzacosenzavicenzaemiliaromagnavenicefrosinonemarchepordenonetrentinosued-tirolvaresemolisevalléeaostefriuli-veneziagiuliabasilicatalatinaanconasavonaveronamodenabiellabolzano-altoadigepugliafoggiaumbriatrentino-stirolgenovapadovamateranovararagusapiacenzatrentinostirolvalleeaostetempio-olbiasudsardegnatrentinsudtirolmassa-carrarafriuliveneziagiuliatrentinosuedtirolandria-barletta-tranitrapanixn--cesenaforl-i8amaceratacaltanissettaascoli-picenobrindisicarraramassacagliaririmininapolivibo-valentiachietibulsan-sudtirolbalsan-sudtiroltrentino-a-adigebulsanbalsaniglesiascarboniamilanotorinoteramodell-ogliastraarezzotrentinoalto-adigerovigotrentovenetoiglesias-carboniatrentino-sud-tirolaltoadigereggio-emiliareggio-calabriasardegnatranibarlettaandriapiedmontxn--sdtirol-n2amedio-campidanotrentino-süd-tirolfriuli-vgiuliafriuli-ve-giuliaromeennaromapisa32-b16-b64-blodiastibarineencomonaplesforlicesenailiadboxosalessandriasicilytrani-barletta-andriaxn--trentin-sdtirol-7vbpesarourbinotrentinsued-tirolcesena-forliforlìcesenaemilia-romagnamonzaebrianzaxn--trentinsdtirol-nsbtrentinos-tiroltrentinsüdtirolvalledaostaolbia-tempiocampidanomediovibovalentiasassarivalle-daostalombardysud-sardegnafriulivegiuliareggioemiliamonzaedellabrianzaalto-adigevercellitrentin-sudtiroltraniandriabarlettatrentino-sudtirolascolipicenobozen-südtirolfriulive-giuliaflorencexn--cesena-forl-mcbcarbonia-iglesiasaosta-valleycarrara-massadellogliastratrentinoa-adigexn--valleaoste-e7apesaro-urbinoxn--trentinosdtirol-7vbxn--trentin-sd-tirol-rzbxn--trentinsd-tirol-6vbtrani-andria-barlettatrentin-süd-tirolxn--trentinosd-tirol-rzbgrossetomonza-e-della-brianzasüdtirolreggiocalabriatrentinoaadigetrentin-südtirolverbano-cusio-ossolafriuliv-giuliaverbaniacampaniatrentino-aadigefriulivenezia-giuliasardiniaandriabarlettatranibarletta-trani-andriacatanzarooristanourbino-pesarocesena-forlìvalle-d-aostacampidano-medio123homepagesiracusatempioolbiasuedtirollombardiaavellinocesenaforlìtrentinofriuli-venezia-giuliabozen-sudtirolandria-trani-barlettabulsan-südtirolbalsan-südtirolmonza-brianzabolzanotrentino-sued-tirolbellunosalernolivornocrotonesondriodnshometrentinsud-tirolmassacarraratrentin-sud-tiroltrentino-suedtirolviterbobergamocesenaforliolbiatempiopalermobeneventoagrigentoofcoorgnetfmaitvphdengorgmilcomschnetedugovperagrikanieasukehandachitatokaiaisaikonanoharuamaobuhigashiuraowariasahiinuyamatobishimaiwakurashitarainazawatoyonegamagorimihamatoyotataharakariyayatomioguchikomakimiyoshinishiotokonamekiyosuchiryutoyohashiokazakiisshikikasugaikotakiratoeianjotogofusosetohazutsushimashinshirotakahamanisshinshikatsuhekinantoyokawaichinomiyatoyoakeodateogataakitaikawakyowahonjoogayurihonjonoshirokamiokakatagamimitanegojomeyokotekosakadaisenkazunonikahohonjyomoriyoshimisatohappoukamikoanihachirogatahigashinarusesembokufujisatokitaakitaitayanagiowanitakkomutsutsurutahirosakigonoheoirasetowadamisawanohejiaomorishingohiranairokunohehashikamitsugarushichinohehachinohenakadomarisannohekuroishisakaeisumiasahiotakiinzaiabikomatsudoyachiyomutsuzawakujukuriomigawakashiwatoganemihamanaritasakuranagaramobarahanamigawachoshishiroichoseikozakishisuikatorimidorichonankyonanfuttsuonjukufunabashinagareyamanodasosatakochuotohnoshourayasukimitsuyokaichibayotsukaidosodegauratateyamakamagayayokoshibahikariyachimatakatsuuratomisatokisarazukamogawaichikawanarashinoichinomiyashimofusaminamibososhirakoichiharaoamishirasatoikatahonaiainansaijoseiyoiyoozuuwajimaniihamanamikatamasakiuchikokihokutobetoonshikokuchuomatsuyamaimabarikamijimakumakogenyawatahamamatsunosabaeikedaobamasakaifukuiohionotsurugamihamawakasaminamiechizeneiheijikatsuyamatakahamaechizensoedaukihaomutaokawanishiogoribuzenonojosueumiokiotochikugosasagurisaigawamizumakishinyoshitomikurumekurateyamadakasuganakamamiyamanogatatakatahakataiizukakawaratagawakasuyaashiyainatsukimunakataminamitsuikishonaikurogifukuchikeisenhigashimiyakoshinguyukuhashiokagakiyamekogaongausuikahotohochuotoyotsumiyawakadazaifuhisayamatachiaraiyanagawanakagawahirokawachikujochikushinochikuhochikuzennamieotamaokumashowateneiiwakikoorinangoononishigoshimogoomotegomishimafukushimaasakawakagamiishishirakawaiitatefutabahiratayugawahanawakitakatakawamatakunimiyabukibandaihigashihironoyamatomiharuyamatsuriaizubangedatesomaaizuwakamatsuyanaizuaizumisatonishiaizuizumizakikitashiobarataishinkaneyamakoriyamainawashirotanagurafurudonosamegawasukagawaishikawatamakawaikedaogakitaruiginanenahashimahichisonakatsugawaibigawashirakawamizunamiminokamomitakekawauesekigaharatomikasakahogikitagatayamagatatajimianpachimotosuyaotsukakamigaharahidakanisekitokigujominogodoyorogifukasamatsutakayamawanouchihigashishirakawakasaharashimonitatsumagoichiyodakannakanrashowameiwakiryuotaoratomiokafujiokaitakuranaganoharahigashiagatsumatakasakishibukawaminakamikatashinatsukiyonokawabanumataannakaoizumimidorishintoisesakiuenoyoshiokakusatsutakayamanakanojonanmokutamamuratatebayashimaebashiotakekaitadaiwahongofuchukuietajimashobaramiharahatsukaichihigashihiroshimamiyoshikumanokurenakasakaseraseranishiasaminamifukuyamashinichionomichiosakikamijimajinsekikogentakeharaotobenanaeikedatohmaozoraobiraabirakyowaeniwataikibibaisharirebunerimohiroooketootarupippunishiokoppechitosefurubirahakodateshiranukakitahiroshimakushiroobihironanporoiwamizawaniikappukunneppufukushimanakasatsunaitoyourakuromatsunaiakabirakamisunagawashibechaurakawakamifuranonakatombetsuasahikawashimokawakayabeokoppebiratoriabashirisaromaatsumanumatahidakabifukamukawamikasahorokanaitoyotomisarufutsuhigashikawaishikarikitamiyoichiesashiiwanaitomariminamifuranoakkeshifuranotoyakoyakumootoineppushikaoishiraoinemuronayorohaboroashorobihororishirifujiutashinaihokutotakasuebetsuurausuassabukikonaishimamakinaiedatetoyabieinikiesanuryuoumuteshikagarikubetsuashibetsukimobetsuaibetsutobetsusobetsuembetsushimizuchippubetsurishirihokuryuhoronobeshintokutsubetsushibetsuhonbetsumombetsutsukigatakuriyamakoshimizushiriuchikutchanmurorannoboribetsukamishihorowassamushinshinotsukembuchiwakkanaikamoenaikiyosatotakinoueshikabesunagawafukagawanakagawatakikawakamikawahigashikagurahamatonbetsumatsumaemoseushirankoshishakotanimakanemashikeotofuketomakomaisandatambaitamiawajikasaiasagoshisoonoakoyashirotoyookaminamiawajiinagawafukusakitakasagokamigorikasugaharimayokawaashiyahimejiakashitaishiaogakisannantakinosumototakarazukanishinomiyashingugoshikinishiwakiyokatakaaioimikisayoyabukawanishiamagasakisasayamashinonsenkakogawaichikawakamikawatatsunotsukubaiwamaogawaasahisakaitokaioaraiitakobandodaigosuifuinaamikasumigaurakashimaomitamayachiyoshimodatetomobetoridehitachinakainashikisakuragawakasamayawaramoriyahitachiomiyanamegatayamagatahitachikamisuushikutakahagiibarakitonekoganakasowayukimihojosomitoryugasakishimotsumafujishirotsuchiurachikuseihitachiotashirosatotamatsukuriuchiharashikahakuinanaotsubatawajimakahokukawakitatsurugikaganominotosuzuuchinadakomatsuanamizunakanotohakusannonoichikanazawaiwateshiwafudaikawaimoriokaofunatohanamakikuzumakikitakamininohekunoheyamadayahabasumitaichinosekitanohatahiraizumirikuzentakatajobojiotsuchihironomiyakoiwaizumikarumaiichinohenodakujitonooshushizukuishifujisawamizusawakamaishikanegasakimannoutazukotohiraayagawazentsujihigashikagawauchinomikanonjisanukimarugamemitoyotakamatsutadotsunaoshimatonoshoakuneamamiizumihiokiyusuikinkoisasookouyamanakatanekagoshimakanoyaisenkawanabeminamitanemakurazakitarumizunishinoomotematsumotosatsumasendaioimatsudaayaseebinamiurazushinakaiodawaraiseharasagamiharahakoneaikawakaiseiatsugitsukuihadanoyamatoyamakitazamaoisochigasakininomiyayokosukakamakuraminamiashigarafujisawasamukawakiyokawahiratsukayugawaraokawaumajikochitsunootoyoakiinonishitosayasudahidakamiharasakawaniyodogawahigashitsunokagamigeiseisusakiotsukinaharisukumomurototosakamiochitoyotosashimizumotoyamanankokunakamurakitagawayusuharaogunichoyoukiasoutoozugyokutoamakusamifunetakamoriyamagaminamataminamiogunikikuchisumotoyamatonagasumashikiaraokumamotokamiamakusanishiharayatsushiroayabeseikasakyoideineujinakagyokameokakyotangokyotanabekyotambaminamiyamashiroyamashinatanabeyawatawazukaminaminantanmiyazuhigashiyamafukuchiyamakitamukokamojoyokizumaizuruujitawaraoyamazakinagaokakyokumiyamakawagoeinabeshimameiwaasahitaikiudonoisetsukisosakikuwanamihamamiyamasuzukatamakimisuginabarikumanokomonominamiisewataraitobakiwatakikihotadomatsusakayokkaichikameyamaureshinoishinomakishichikashukuohirataiwaosakizaohigashimatsushimashikamaiwanumashibataogawaraonagawakawasakiseminemarumoriminamisanrikukakudamuratawakuyatomiyanatoriwataritagajomisatotomekamirifushiroishimatsushimayamamotoshiogamafurukawahyugaebinotsunosaitoayakushimanobeokakitauramiyazakitakazakigokaseshiibamimatashintomikunitomikitakatakobayashikawaminamitakaharukijotakanabemiyakonojonishimeranichinankitagawakadogawamorotsukakisofukushimaminamimakisakaeobuseikedaogawamiasaokayaasahiotakiotarichinoinaomichikumakomaganechikuhokukaruizawayasuokaooshikaikusakaminamiaikitogakushimatsukawakawakamitateshinatakamorikitaaikishiojirimiyadahakubaiizunaiijimaiiyamamiyotasuzakayasakatoguraookuwanagawaminowahirayayamagataminamiminowafujimiomachisakakitakaginaganonakanosakuhokomoronagisoshinanomachiwadauedaiidaharasuwatomiachiaokianankisosakunozawaonsenagematsutakayamashimosuwamatsumotoyamanouchinakagawamochizukiazuminotatsunoobamaomuraseihiunzenosetofutsuikichijiwanagasakiisahayahasamisaikaikawatanasasebohiradokuchinotsugototogitsutsushimashimabarashinkamigotomatsuurayamazoekashibaikomakawaitenrioyodosangokoryoudaojiikarugayamatokoriyamatenkawakatsuragikurotakikawakamimiyakemitsuetakatorikamikitayamayamatotakadahegurishinjokanmakisakuraitawaramotogoseoudanarasoniandokawanishishimoichihigashiyoshinokashiharashimokitayamanosegawayoshinomintsivorytopazsakuragehirnsumomoaseinetopalmail-boxmokurenyoitamuikaojiyagosensanjoaganomyokoseiroagaomishibataniigatanagaokamurakamiuonumayuzawakariwatagamitainaitsunanminamiuonumatochioyahikojoetsuseiroukamosadoizumozakitokamachiitoigawasekikawakashiwazakitsubamemitsukekokonoesaikiusukibeppuusahimeshimakunisakihasamataketatsukumihitaoitahijikusuyufukujukamitsuebungoonobungotakadaibaraniimibizentsuyamaokayamakasaokahayashimayakagemaniwaakaiwamisakishinjotamanotakahashikibichuowakesojanagishookumenannishiawakurakurashikiasakuchisetouchikagaminosatoshotomigusukunakagusukuyaeseizenaurumaiheyaaguniogiminanjokinminamidaitokitanakagusukuyonaguniokinawaishigakikunigamiurasoekadenataramahiraraginozataketomishimojizamamitonakiitomanhigashimotobuyonabarugushikamionnanahanagohaebarukumejimakitadaitonakijinnishiharayomitanginowantokashikiishikawaikedasuitaminohizuminishisakaikananabenodaitoosakasayamayaokishiwadatadaokakaizukatondabayashichihayaakasakakumatorikadomasayamahigashiosakashijonawatehirakatataishimisakitajirihannansennankatanotoyonominatosettsuhigashiyodogawaibarakinosekitachuohigashisumiyoshifujiiderakashiwaraizumiotsutoyonakamatsubaramoriguchiizumisanoshimamototakatsukineyagawahabikinotakaishikawachinaganoyoshinogarikamiminearitaouchiimarihizenogikashimaariakekiyamafukudomikitagatakitahataomachigenkaikanzakinishiaritakyuragisagataratosutakushiroishikaratsuhamatamakouhokukawagoeyoshidasatteogoseirumaasakaurawaogawaniizaomiyayoriiotakishikihonjooganohannohanyuinasaitamaokegawaarakawayoshikawayokozehasudasayamahidakafukayachichibuiwatsukiryokamiyoshimikamiizumifujimiwarabiranzanmiyoshiminanoyashiosakadosugitomisatohigashichichibutodasokakukiyonokazoshiraokakasukabekounosukawajimatsurugashimamiyashirokitamotohatoyamamoroyamahatogayakumagayakawaguchinagatorokamisatomatsubushinamegawatokigawakamikawafujiminohigashimatsuyamakoshigayatokorozawas3isk01isk02ryuohkoseikonanaishorittotakashimamaibarahikonetorahimenishiazaikokagamokotoyasuotsukusatsunagahamamoriyamatoyosatotakatsukinotogawaomihachimanhigashiomiakagiunnanizumogotsuamayatsukakakinokimatsuehamadamasudahikawahikimiokuizumoyasugiyakumomisatotamayuohdahigashiizumookinoshimanishinoshimatsuwanoshimaneshimadafujiedayoshidashimodagotembaiwataatamikosaiyaizuitoizumishimahaibaramakinoharaomaezakikawanehonkannamisusonohigashiizufukuroinumazukawazufujiaraishizuokahamamatsushimizuizunokunimatsuzakimorimachiminamiizunishiizukikugawakakegawafujikawafujinomiyaujiietsugaoyamayaitaohiranikkoashikagakuroisokanumasakurashioyakarasuyamamotegiichikaikaminokawatochigihagamokanogisanobatonasumibunasushiobaranishikatautsunomiyaiwafunemashikoshimotsukeohtawaratakanezawaitanokomatsushimatokushimaichibaminamiaizumiwajikikainanmiyoshinarutomimamugiananmatsushigesanagochishishikuinakagawamachidachiyodakomaefussainagitaitochofufuchuomeotahigashiyamatotoshimaokutamaaogashimakodairaedogawaarakawahachiojishinagawatachikawashibuyasuginamihinodekiyosesumidaoshimanerimamitakahamuraadachinakanomizuhobunkyomegurominatokoganeihigashikurumekokubunjihigashimurayamamusashimurayamatamakitahinochuokotokatsushikakouzushimaogasawaraakishimakunitachishinjukusetagayamusashinohachijoitabashiakirunohinoharachizunanbukotouramisasawakasayonagokogehinoyazutottorinichinansakaiminatokawaharaoyabetairainamiasahinantoimizufuchutakaokakurobeyamadajohanatoyamatonaminyuzenfunahashinakaniikawanamerikawaunazukitogahimiuozufukumitsutateyamakamiichiiwadearidayuasainamitaijikatsuragiaridagawatanabemihamahidakakainankiminomisatoshingushirahamakamitondayurakozakoyagobokitayamawakayamakudoyamahashimotokushimotokozagawahirogawakinokawanachikatsuurarsuseroeoishidasagaeoguniasahinagaitendonanyoobanazawanishikawasakataohkuratozawamikawamamurogawayamagatafunagatatakahatashonaishinjokahokuiideyuzakawanishitsuruokakaminoyamayamanobeshiratakamurayamanakayamakaneyamahigashineyonezawasakegawamitouubeyuuabushimonosekitabuseoshimatoyotaiwakunihikarishunannagatohagihofukudamatsutokuyamashowadoshitsurunanbukoshukaiminami-alpsnirasakikosugeotsukioshinohokutominobuyamanashifuefukichuokofuichikawamisatoyamanakakonakamichitabayamanishikatsuranarusawafujikawahayakawafujiyoshidafujikawaguchikouenohara長野京都岐阜大阪三重群馬千葉滋賀佐賀奈良adednelgaccogogror秋田愛知高知埼玉沖縄栃木熊本岩手青森山梨新潟島根鳥取長崎香川宮城石川大分宮崎茨城山口兵庫山形徳島広島福島福岡岡山富山静岡愛媛福井東京xn--4it168dhatenadiaryxn--vgu402ckawaiishophatenablogcocottenamaste北海道penneehimeiwateversestabachibashigagonnagunmapermahaccaakitaosakauh-ohblushkochiaichifukuikuroncapooitigohyogotokyokyotopunyuthickcheap0t00g00j0mie2-ddaapyawjg0amfemsubxiiboomoobutchueekpgwrgrherskrboyrdyupperunderflierchipsmydnsheavyangryhippygirlyrulez神奈川鹿児島和歌山bambinaxn--nit225kokayamasaitamaxn--k7yn95exn--1lqs03nsapporoparasitelolipopmcxn--efvn9sniigatafukuokatokushimafukushimahiroshimakagoshimafakefurokinawaxn--8pvr4ucoolblogxn--0trq7p7nnkawasakinagasakimiyazakichilloutxn--8ltr62kxn--klty5xpeeweezombiecutegirlxn--rny31hxn--uuwu58axn--ntso0iqx3axn--djrs72d6uytoyamanikitanyantakagawamimozanagoyaboyfriendxn--2m4a15egreaterchowderegoismyamagatafashionstorexn--elqq16hxn--pssu33lsendaimiyagixn--rht27zpecoriaomorisaloonwatsonvivianxn--djty4knobushipigboatnaganopinokoxn--f6qx53asadistvelvetsecretxn--5js045dchicappayamanashiibarakidigickgirlfriendxn--1lqs71dmongolianxn--c3s14mxn--qqqt11mtochigixn--5rtq34kparallelo0o0mondkobesagabonadecaoitanarafoolkilldecimainhiholomosblokilociaoundopupugifutankcrapflopnooroopsmodsholyjeezstripperpepperbittershizuokaxn--rht3dkitakyushureadymadeicurusversusmatrixxn--rht61ehungryfloppygloomycrankyhandcraftedlittlestarxn--klt787dxn--kltx9awhitesnowsunnydaytottorilovepoptheshopbuyshopxn--5rtp49cxn--d5qv7z876cwebaccelxn--kbrq7oxn--4pvxsxn--1ctwolovesickkumamotocatfoodxn--tor131oyokohamawakayamatonkotsuxn--ehqz56nxn--uist22hxn--6btw5axn--kltp7dyamaguchifrenchkisspussycatxn--4it797kxn--uisz3gbabybluexn--zbx025dnetgamersxn--7t0a264ckanagawaxn--6orx2rishikawaxn--ntsq17ghalfmoonschoolbusjellybeanxn--mkru45iusercontentlolitapunkxn--32vp30hsakurastoragehokkaidoshimanecandypopbabymilksupersaleweblikeraindropbackdropwebsozaikikirarahateblodaynightmeneacsccogoormobiinfoaeusxxorgmilcomnetedugovorgcomnetedugovbizinfotmprdorgmilcomnomedugovassnotairespresseassocoopgouvveterinairemedecinpharmaciensorgnetedugovtraorgcomedurepgovmeneperekgacscaiiocogoitoresmshsseoulbusanulsandaeguc01milvkimmvchungnamjeonnamjeonbukeliv-dnsgyeonggijejueliv-cdnincheondaejeongangwongyeongbukgwangjuchungbukgyeongnameliv-apicoeduindorgcomembnetedugovorgmilcomnetedugovjcloudorgcomnetintedugovperbnrinfocooyorgcomnetedugovethipfscanvamypepethw3sstorachakeeneticjoinmcinbrowserdwebcyonnftstoragemyfritzaemewphlxachotelltdorgcomwebsocschngonetintedugrpgovassnomgacsccoorgnetedugovbizinfo123websiteidorgmilcomasnnetedugovconfidmedorgcomplcschnetedugovaccoorgnetgovpresstmassoirseproxaccosoundcasthoptocraftvp4c66orgnetedugovitsmcdirmyboxbarsyedgestacksynologylogintoopencloudnohostwebhopdiskstationi234tcp4hoocgroknoipprivmydsddnsdnsforlohmustransipdscloudfilegear-sgbrasiliafilegearframerbarsybarsyonlinecoprdorgmilcomnomedugovinforgcomnetedugovnameacprorgcomartnetedugovpresseinfoassoinstgouvorgnycedugovbarsydscloudjuorgcomnetedugovminisiteaccoororgcomnetgovorgmilcompronetintedugovbizmuseumnameinfoaerocoopaccoorgcomnetintedugovbizcooporgcomgobneteduorgmilcomnetedugovbiznameaccoorgmilneteduadvgovcoorgcomnetaltgovforgotherhiskeeneticispmanagernomassoprod5476132eastasiacentraluswesteuropewestus2eastus2pnortheurope-01newzealandnorth-01southindia-01southcentralus2-01norwaywest-01eastus2-01westus2-01australiaeast-01italynorth-01israelnorthwest-01swedencentral-01westeurope-01centraluseuap-01taiwannorthwest-01uaecentral-01northcentralusstage-01israelcentral-01mexicocentral-01canadacentral-01austriaeast-01germanywestcentral-01francecentral-01ukwest-01denmarkeast-01polandcentral-01eastus-01westus-01swedensouth-01eastus3-01westus3-01brazilsouth-01centralus-01francesouth-01australiacentral-01westindia-01uaenorth-01jioindiacentral-01canadaeast-01belgiumcentral-01spaincentral-01koreacentral-01chilecentral-01qatarcentral-01westcentralus-01eastus2euap-01norwayeast-01southafricanorth-01brazilsoutheast-01germanynorth-01switzerlandnorth-01switzerlandwest-01japanwest-01southafricawest-01japaneast-01eastasia-01indiasouthcentral-01taiwannorth-01centralindia-01uksouth-01southcentralus-01northcentralus-01eastasiastage-01indonesiacentral-01australiacentral2-01australiasoutheast-01malaysiawest-01koreasouth-01southeastasia-01southeastus5-01northeastus5-01jioindiawest-01rucdnwest1-usfra1-desandboxjls-sto1jls-sto3jls-sto2aglobalabglobalsslmapprodfreetlsmapvpslon-1lon-2ny-1fr-1sg-1ny-2paassnwebpaashostingjelasticnordeste-idcsocuserpagescwebfileblobservicebuscoreatlricnjsjelasticwebsitestoragesezagbinruhuukjptsmyspreadshopmynetnameakamaiorigin-stagingfrom-coipv64dynv6cdn77serveblogadobeaemcloudhicamsprytdnsupno-ipownipde5ovhicpfirewall-gatewaysytesmypsxbarsyusgovcloudapimyamazemyradwebakamaihdsaveincloudfastlylbfrom-lasubsc-paysquare7in-the-bandblackbaudcdnhomelinuxoninfernoctfcloudservebbsdns-dynamiccloudfrontakamai-stagingipifonyham-radio-opsenseeringclickrisingcommunity-profrom-nylocalcertgrafana-devedgesuite-stagingcloudflareanycasteating-organicatlassian-devmydattofeste-iplocaltotorprojectknx-serveredgekeycloudflareglobalcloudyclustercasacamserveftpakamaized-stagingakamaiorigindns-cloudmyeffectboomlabotdashbuyshousestwmailhetemlazure-mobilein-dslthruhereredirectmedynuddnsbouncemesupabaseluyanicloudappakamaicloudfunctionsdebiannhlfanpgafanstatic-accessin-vpnmysynologymafeloappudohomeftptrafficmanagersiteleafseidatmemsetcloudflarecloudaccesskeyword-onazure-apiis-a-chefdoes-itgets-itwebhopselfiphomeipkicks-assedgesuitewindowsserver-ontunnelmolemydissentscrapper-sitecloudflarecnuni5srcfggffiobbzabchrsndenodynuopikddnsvpndnsakadnselastxkinghostvps-hostfastlyhomeunixazureedgeshopselectdontexistmyfritzcloudjiffyalwaysdatasells-itsquaresbroke-itazurefddattolocalat-band-campmeinforumfamilydsazurestaticappsdefinimabplaceddnsaliasdynaliasnow-dnsblogdnsroutingthecloudendofinternetdsmynasakamaiedgemymediapcadobeio-staticakamaiedge-stagingakamaihd-stagingddns-ipprivatizehealthinsurancelive-onkrellianschokokeksmassivegridmysecuritycamerarackmazeserveminecraftfrom-azis-a-geekakamaizedmoonscaleoffice-on-theusgovtrafficmanageradobeioruntimeedgekey-stagingreserve-onlinechannelsdvrdnsdojousgovcloudappcdn77-sslapps-1and1podzoneazurewebsitesdynathomescaleforceyandexcloudvusercontentisa-geekcdn-edgescoaemalcesappwriteazimuthtlonarvobuiltwithrocketnoticeablestorecomwebrecnetperotherfirminfoartslgdloncogoiltdorgmilcolcomplcschgenngonetedugovbiznamefirmmobiacincoorgmilcomnomwebgobnetintedubizinfocomyspreadshopdemongovtransurl123websitehosting-clusterkhplaycistrongsnesosvalervålerxn--vler-qoaossandeheroysandeherøybøboheroyherøyxn--hery-iraxn--b-5gavalerbøboxn--b-5gasandesandexn--hery-iraxn--vler-qoavålerhåreålaahavaofsfvfhlolnlalrlhmfmtmahcostntbuåstrmreigersundmyspreadshopgálsáeidsvolltingvollgildeskalflorøvadsøvardøvanylvenxn--bhccavuotna-k7astrandaxn--kvnangen-k0axn--sknland-fxaxn--mosjen-eyarakkestadhyllestadnannestadvevelstadvaapstenordre-landsondre-landsøndre-landtjieltexn--vrggt-xqadsør-aurdalsor-aurdalheradstordmoldefordeførdeseljefedjeryggehemnexn--krehamn-dxasognegranesøgnebrynetjomevallebykletokkegiskedovretjømehobølvoldasaudatolgasømnaviknadønnasomnadonnatranafrananesnaraumasmolatrænafrænalesjasmølaørstaorstahitrafloraaukraloppafrøyarissasnasahalsagalsaromsaraisaráisafroyasnåsagronghobolfjelltydalårdalardalaskimharamkraanghkekråanghkesorumbarumhurumbærumsørummodumsálátbálátfrognbjugnvåganvagangulenskienløtenlotenstrynvefsnxn--merker-kuaskaunsveiobømlobomloskjåkvardoflorovadsosalatbalatsálatklæbuklabuselbubarduulvikskjakklepprisørxn--nttery-byaeflåeidflahofmilgolholsellomskifetvikdepvgsfhsaskerrisorhamarasnesåsnesrørosrorosxn--slat-5namasoynaroyvaroyluroydyroyaskoyradoyandoyrodoymeloyradøyandøyrødøymeløyaskøylurøydyrøymåsøyværøynærøyhoylandethøylandetdivtasvuodnalørenskoglorenskognesoddtangenxn--tjme-hraxn--smla-hraxn--stjrdal-s1aunjargalillehammerunjárgaxn--hamary-fyadavvenjargaxn--bearalvhki-y4a123hjemmesidegjerdrumxn--brnnysund-m8acxn--tnsberg-q1axn--mlatvuopmi-s4axn--snsa-roaxn--skierv-utaxn--brum-voatysfjordkvafjordeidfjordkvæfjordsongdalenmjondalenmjøndalenxn--gls-elackragerogáŋgaviikagangaviikasørreisasorreisasør-varangersor-varangerxn--risr-iraskiervaxn--frna-woaxn--trna-woakvinesdalleksvikleirvikrøyrvikroyrviksvelvikvenneslaevje-og-hornnessandnessjøenmarnardalvindafjordsandefjordenebakksnillfjordullensvangxn--trany-yuabrønnøysundnamsskoganaustevollxn--stjrdalshalsen-sqbnord-aurdalnord-frontrøgstadtrogstadgrimstadflakstadgjerstadxn--sandy-yuaxn--leagaviika-52bnore-og-uvdalvegarsheixn--rlingen-mxaxn--ggaviika-8ya47hvegårsheikarlsoykvitsoymasfjordenhamaroyinderoyosteroydavvenjárgasauheradguovdageaidnuxn--vre-eiker-k8abronnoysiellakkrødsheradkrodsheradkvinnheradbrønnøyxn--mtta-vrjjat-k7afxn--lrenskog-54akvitsøyvárggátkarlsøyosterøyinderøyhamarøybronnoysundxn--aurskog-hland-jnbbahccavuotnabáhccavuotnagiehtavuoatnastor-elvdalmidtre-gauldalxn--gildeskl-g0akarasjokevenassixn--bievt-0qaxn--yer-znalebesbynessebyxn--hbmer-xqamalselvmålselvxn--unjrga-rtamøre-og-romsdalmore-og-romsdalhareidmelandørlandorlandstrandålgårdsolundalgardafjordåfjorddielddanuorrikautokeinoxn--stre-toten-zcbskodjeaejriestangeliernebamblestokkefauskesnåasesnaasekongsvingerlangevagberlevagxn--flor-jrahattfjelldalostre-totenøstre-totenvestfoldxn--mely-iraálaheadjualaheadjunordreisaxn--troms-zuaxn--lgrd-poacporsangerflatangerstavangerleikangerbremangersamnangergieldakarasjohkaxn--rdy-0nabfrostautsirasnoasatromsaxn--sr-aurdal-l8aflekkefjordjølsterjolsteraremarkhedmarknååmesjevuemienaamesjevuemiexn--vard-jrarollagmeråkermerakerorskogørskogxn--bdddj-mrabdákŋoluoktaxn--osyro-wuaaknoluoktatrysilskjervøymandaljondalbindalrindalmeldalsuldalorkdalsigdalalvdallærdalhurdalsirdalverdallerdallardaloppdalåseralaseralhadselkragerødivttasvuotnaoverhallasteinkjerxn--hnefoss-q1askedsmokorsettromsøxn--dyry-iravestre-totenmuseumxn--sandnessjen-ogbrahkkeravjufylkesbiblbájddarbajddarxn--laheadju-7yarennesøyxn--koluokta-7ya57hxn--hgebostad-g3aleirfjordstorfjordbalsfjordbåtsfjordbatsfjordmuosátbievátloabátkárášjohkanøtterøyxn--mjndalen-64anordkappláhppilahppialstahaugsiljanverranrøykenroykenhaldenlyngenbergenhortenhønefosshonefosstroandinbeiarnvarggatosoyroosøyrotromsoidrettmuosatbievatruovatloabatvoagattynsetnessetxn--indery-fyaskánitskanitraholtråholtxn--ystre-slidre-ujbandebusarpsborgbearduxn--karlsy-fyahordalandjorpelandjørpelanddeatnuringsakersør-odalsor-odalxn--slt-elabringerikeaudnedalnittedalnissedalhemsedalslattumsurnadalxn--blt-elabelverumstjørdalnaustdalhjartdalgjøvikfyresdalhasviknarviklarvikgjovikmalvikgamviklenvikporsgrunnstjordalengerdaldrobakdrøbakxn--msy-ula0hvestvagoyxn--vgan-qoaxn--ryken-vuaxn--lten-graxn--stfold-9xaxn--hpmir-xqaxn--lury-iramálatvuopmimalatvuopmitysværkirkenesbirkenesmoskenesbáidárxn--fjord-lraxn--rdal-poabahcavuotnabáhcavuotnaxn--frde-gralindåsbearalvahkixn--hobl-iraráhkkerávjuxn--loabt-0qavågåáltábodøsundlundraderådeetnetimeholeauregrueoddavagavegaranatanaarnasolasulaaltalekafusavangbergkvamåmliamlibokntinnroangranosenoslobodorøstroststatåmotamotivguprivøyeroyerliermossvossxn--nvuotna-hwalusterlunnermarkerhábmerhabmerhvalerfjalerxn--rholt-mratysvarbaidarfitjargaularhápmirhapmirmelhusfosnesøksnesoksnestysneshemnesevenesflesbergeidsbergtonsbergtønsberglindasxn--sndre-land-0cbnamsosxn--srum-graøystre-slidreoystre-slidrevestre-slidretrondheimbalestrandxn--langevg-jxaaustrheimxn--skjk-soavagsoyaveroysandoykarmoyfinnoytranoyvestbytranbysykkylvenxn--hyanger-q1aspjelkavikandasuoloxn--fl-ziaxn--drbak-wuastathellexn--sr-varanger-ggbtelemarkxn--bhcavuotna-s4axn--porsgu-sta26fčáhcesuolocahcesuoloakrehamnåkrehamnsandøykarmøyfinnøytranøyvågsøyaverøynamdalseidxn--lesund-huabadaddjaxn--vegrshei-c0axn--btsfjord-9zagildeskålporsanguxn--trgstad-r1anávuotnanavuotnahammerfestxn--sgne-graxn--brnny-wuacibestadharstadnarviikaevenáššivestnesgjemnessandnesagdenesrennesoyxn--avery-yuaxn--tysvr-vrabearalváhkikongsbergspydebergrandabergxn--andy-iradavvesiidaxn--krdsherad-m8aporsáŋgufredrikstadbjerkreimringeburennebuaurskog-holandnotteroyxn--vgsy-qoa0jxn--rmskog-byaskierváivelandbyglandfrolandaurlandforsandxn--bjddar-ptamidsundålesundalesundfetsundfarsundovre-eikerøvre-eikerakershusxn--moreke-juasørfoldøstfoldostfoldsorfoldhøyangerhoyangerlevangerorkangertanangerxn--vestvgy-ixa6olillesandulsteinxn--rennesy-v1agranvinskjervoyxn--klbu-woalavagisxn--h-2faxn--ryrvik-byakafjordkåfjordseljordfolkebiblxn--gjvik-wuajevnakerxn--kfjord-iuabudejjuxn--kranghke-b0axn--davvenjrga-y4axn--rland-uuaxn--ldingen-q1axn--mlselv-iuaxn--rady-iraxn--linds-prabrumunddalxn--ygarden-p1amo-i-ranaeidskogrømskogromskoghjelmelandxn--finny-yuaxn--sr-odal-q1axn--skjervy-v1aballangenkvanangenkvænangengratangenxn--hmmrfeasta-s4acvossevangensuohkanxn--rde-ulaxn--mli-tlaxn--ksnes-uuanordlandskanlandskånlandsortlandfuoiskuxn--rros-graxn--hcesuolo-7ya35bxn--eveni-0qa01gagaivuotnagáivuotnaxn--seral-lradrammenmodalenmosjoenjan-mayentorskensteigengloppenxn--snes-poamatta-varjjatxn--sr-fron-q1aomasvuotnajessheimbådåddjåxn--krager-gyaxn--kvfjord-nxaxn--asky-iraxn--snase-nraxn--bidr-5nacholtålenxn--vads-jraxn--jlster-byamosjøenxn--rst-0nastavernxn--ostery-fyaxn--oppegrd-ixaxn--sknit-yqaxn--risa-5naoppegårdskiptvetrendalenholtalenxn--mot-tlaxn--lhppi-xqaxn--holtlen-hxaxn--srreisa-q1akopervikxn--muost-0qaxn--bmlo-grahokksundkvalsundegersundxn--karmy-yuaullensakerxn--hylandet-54axn--kvitsy-fyaxn--bod-2nalangevågberlevågkristiansandxn--rsta-frahornindalstjørdalshalsenstjordalshalsensandnessjoenhámmárfeastaxn--lrdal-srasør-fronsor-fronnord-odalkristiansundmátta-várjjatvestvågøynesoddennotoddenbuskerudøygardenoygardensalangenlavangenralingenrælingenlodingenlødingenleaŋgaviikalaakesvuemieleangaviikauenorgexn--srfold-byaaskvollxn--rskog-uuaxn--nry-yla5gxn--vry-yla5ghammarfeastaxn--rhkkervju-01afxn--givuotna-8yakommunekrokstadelvanedre-eikerhagebostadhægebostadxn--berlevg-jxakviteseidxn--s-1faxn--l-1faxn--nmesjevuemie-tcbafuosskomoårekemoarekexn--lt-liacxn--jrpeland-54asvalbardoppegardholmestrandtvedestrandsogndalsokndalarendalsunndalfolldalxn--krjohka-hwab49jlyngdaletnedalnorddalsaltdalgausdalskedsmovaksdalgjesdalstordalxn--frya-hraaarbortedrangedalxn--smna-graaurskog-hølandxn--vg-yiabtjeldsundhaugesundlindesnesxn--mre-og-romsdal-qqbxn--dnna-gradyntmpheremerseineshacknetenterprisecloudmineaccomaorimāoriorgmilcriiwigennetschoolhealthkiwigovtgeekxn--mori-qsacloudnsparliamentcomedorgcompronetedugovmuseumwebsitekinservicebarsywebsitebuildereerobookheimdnsleapcelleero-stagetechcrscsslorigingohomecdbedeeeiemesecabgngilnlalplchfisiincnnoroptatitmtltruauhulumkdkukskjplvtrgrfrkrhrusesismycynzcznetinteduassoososcloudstgbetaaezaeuhkusjshatenadiarycdn77hoptozaptois-a-knightmyftpno-ipjpnddnssdpdnsspdnsbarsysweetpepperis-a-bruinsfanis-very-sweetservegameis-a-soxfanhomelinuxcdn77-secureservebbsmisconfusedwebredirectblogsitefreedesktopcouchpotatofriestoolforgeaccesscamis-lostreadmyblogsmall-webfedorapeopleserveftpis-a-celticsfanmywirepotagertwmailin-dslsellsyourhomeread-booksfreeddnscable-modemis-savednflfanufcfanmlbfanstuff-4-saleendoftheinternetin-vpnmy-firewallhomeftpis-localis-a-chefboldlygoingnowherewebhopselfipkicks-assroxatunkcamdvrfedoraprojectgotdnsdvrdnsdyndnspubtlspimientahomeunixdontexistfedorainfracloudwmflabsfspagesbmoattachmentsteckidsfamilydsdnsaliasdynaliasnow-dnscloudnsdoomdnsduckdnsblogdnshomednsroutingthecloudendofinternetdsmynasip-dynamicpoivronhttpbinmyfirewallis-very-evilmysecuritycamerais-a-linux-userwmcloudis-a-geektuxfamilyis-a-candidatedoesntexistis-very-badhobby-sitegame-hostaltervistais-foundis-a-patsfandnsdojohepforgepodzonedynservcollegefanis-very-goodfrom-meis-very-niceisa-geeknerdpolacmedsldingorgcomnomgobabonetedupleskaemhlxmyboxrockyprvcydeuxfleurspdnscodebergheyflowstatichostorgmilcomnomgobneteduorgcomeduiorgmilcomngonetedugovcloudns1337ngrokacorggogfamcomwebgobnetedugokgopgkpgovgosbizpasaugumicsopozpapuwmwsrprusiskwpspkppspkmpspokeoiawsawifoumsdnskokwpmuppuppsppiwwiwoowuzswkzoschrzpisdnwzmiuwwitdpssewsseumigugimoirmpinbwinbwiihupporzgwgriwupowwskrwioswuozstarostwokonsulattmpccopruszkowmyspreadshopostrodakartuzyopolegminamediaustkazgorajgoraolawailawalomzawloclradombytomjaworznotargilubinkoninzagantorunkutnokepnonakloczestsopotsanokturekplockslasksklepzarowlukowmedaidgdaorgmilrelcomnomatmgsmartneteduelkgovwawsossexbiztgorysejnytychypomorzeboleslawiechomesklepsdscloudunicloudzakopanelegnicarawa-mazbydgoszczswidnikkrasnikwloclawekbielawamragowograjeworealestatebeskidykaszubymalopolskaprzeworskswiebodzinlecznadfirmaszkolawarmiagdyniamiastakazimierz-dolnymalborkswidnicadlugolekaostrolekapodlasieelblagtravelsimplesitezachpomormielecszczecinnieruchomosciwalbrzychlezajsklublinbedzinpoznanwielunmielnooleckostarachowicedkontopowiatwroclawrybniksuwalkileborkslupskgdanskostrowwlkptarnobrzegtourismwegrowkrakowglogowyou2pilanysamailwrocinfoagroautobeepshoppriviqhslapypiszlodzcfolksecommerce-shopmazurypulawyskoczowrzeszowpomorskiezgierzkaliszolkuszlowiczostrowiecsosnowiecmazowszewodzislawbialowiezazgorzeleckatowicepabianicejelenia-gorawolominkarpaczsieradznowarudaczeladzkonskowolaskierniewiceswinoujscieturystykabieszczadycieszynketrzynolsztynbialystokbabia-goraprochowicewarszawastalowa-wolapolkowicegorlicegliwiceponiatowalimanowalubartowaugustowkobierzyceopocznognieznoszczytnokolobrzegshoparenapodhalebielskoklodzkostargardatwithplayitownnamecoorgnetedugovacorgcomproestnetedugovbiznameislaprofinforechtngrokmedaaaacacpaenglawjurbarbarsykeeneticavocatacctcloudnsorgcomsecplonetedugov123paginaweborgcomnetintedugovnomepublidkinbarsygovx443cloudnsorgmilcomnetedugovcooporgmilcomschnetedugovnamecomcannetlibassoaemclantmcontstoreorgcomnomrecwwwbarsyfirminfoshopartsstackitmyddnswebspacelima-cityacincooxorgedugovbarsybrendlyhbvpsvpsspectrumlandinghostingacppmordoviamcprecbgorgmilcomspbnetintedumsknovgovbirrasmcdirmytismircloudvladimirnalchikadygeyamarinepyatigorskmyjinobashkiriaeurodirvladikavkazna4ugroznykustanaikalmykiacldmaildagestaniranbuildcloudcanvaliaravalwixdevelopmentappwritemigrationneedleverceldatabasestackitcodereplravendbonporterlovableaccoorgmilnetgovcoopmedorgcompubschnetedugovservicemecomygovorggovtvmedorgcomnetedugovinfoedgfacbmlonihkutwpsryxzbdtmacfhppmyspreadshopbrandpartiorgcomfhvpress123minsidaitcouldbeworlanbibkommunalforbundfhskiopsyskomvuxkomforbnaturbruksgymnloginlineorgcomnetedugovenscaledeuusentsurgebotdaorgmilcomnetgovnowteleporthashbangplatformlovablebarsyshopwarebasehoplixbarsyonlinemsf5gitappgitpagewawamscofigma-govcaffeinefigmacanvasoltstscwputerbarsysupportchatgptsquareomniweopensocialcpanelplaycodenotionnovecorewpsquaredpreviewjelecyonbyensrhtfastvpspieboxconvexjouwwebheyflowplatformshloginlinemadethissourcecraftclouderaorgorgcomartedugouvunivmeorgcomnetedugovsurveysstatichfheiyuxs4allprojectmyfastubervibehostapp-ionosdeployagentmecoorgcomschnetedugovbizcncostoreorgmilcomneteduembaixadaconsuladokiraranohoprincipesaotomeheliohobarsystorebaseshopwaresellfyaiabkhaziavologdamordoviapenzalenugsochinavoiexnetspbmsknovnorth-kazakhstanashgabadkareliaarmeniageorgiavladimirnalchikivanovobukharaadygeyakhakassiakalugakrasnodarjambylaktyubinsktroitskbryanskobninskkurganazerbaijanpokrovskbashkiriatselinogradvladikavkazmurmansktulatuvamangyshlaktashkentchimkentgroznykaragandatermezarkhangelskkustanaikalmykiabalashoveast-kazakhstankaracoldagestantogliattibarsyredorgcomgobedumirenknightpointaccoorgjelasticdiscoursecleverappsschacmiincogoornetonlineshopcogoorgmilcomwebnicnetintedugovbiznametestcoorgmilcomnomnetedugovorangecloudpersoindorgcomfinnatnetgovensmincomtourismintlinfox0611oyaorgmilcomnetedugovquickconnectvpnplusnettprequalifymeaddrmyaddrntdllwadlnctvavdrk12orgmilpolbeltelcomwebgennetedutskkepgovbbsbiznameinfocoorgmilcompronetedugovbiznameinfobetter-thanworse-thansakurafromdyndnson-the-webmymailerorgmilurlcomneteduidvgovmydnsgameclubebizmeneacsccogotvorhotelmilmobiinfovodteiflgplkmsmsbcckhincndnvncoztltmkckppzpdprvcvkvlvcrkrkscxuzchernovtsyrivneyaltaodesavolynrovnolutskltdinforgcomnetedugovbizvinnicazhitomirternopilpoltavakropyvnytskyizaporizhzhiasevastopolsebastopoluzhgoroduzhhorodkharkovkharkivvinnytsiakhmelnytskyizaporizhzhecrimeaodessazhytomyrnikolaevcherkassydonetskluganskluhanskkirovogradivano-frankivskchernivtsikrymkievkyivlvivsumyzakarpattiamykolaivcherkasychernigovkhersonchernihivdnipropetrovskdnepropetrovskkhmelnitskiyneacsccogoorusorgmilcomedugovmyspreadshopadimono-ipbarsybarsyonlinelayershiftnh-servretrosnubapicampaignservicelugaffinitylotteryweeklylotteryraffleentrygluglugsmeaccoindependent-inquestnimsitecopropymntltdorgplcschnetgovnhsbarsyindependent-commissionindependent-reviewpolicepublic-inquiryindependent-panelconnhospindependent-inquiryroyal-commissionoraclegovcloudappscck12libaws-govccphxcclibpvtparochchtrcck12libcceatonk12coglibtecgendstmusann-arborwashtenawcck12glghcck12sealibforksolympiabainbridge-islkeyporthoquiamyarrow-pointcentraliaport-townsendsequimport-ludlowrentonsilverdalebremertonredmondsheltonbellevueport-orchardport-angeleskingstonchehalisaberdeengig-harborseattlepoulsboidmdndsddemenegacalamaiavawapailalflnmdcncscohnhmihiviwiriinmntnmocoutvtctmtgunjokakwvnvprarorasmskstxwynykyazisadninsnngosrvis-bymircloudservernamepointtoenscaledland-4-salefreeddnsstuff-4-saleazure-apinoipdatabricksappscloudnsgolffanheliohostazurewebsitesgvorgmilcomgubneteducoorgcomnetd0egvorgmilcomnetedugovmydnsiacostoree12orgmilcomnomwebgobbibrectecnetintedugovraremprendefirminfoartseducok12orgcomnethidnsidacaiiosonlahanamhanoicamauhueorgcompronetintedugovbizbacninhtayninhhoabinhnamdinhtravinhhaiphongvinhlonghaiduongquangnamquangtrithuathienhuequangninhbacgianghaugiangquangbinhsoctrangbentrethanhphohochiminhdanangkontumhatinhkhanhhoathanhhoahealthgialailaocaiyenbaibackanngheanlonganphuyenphuthocanthodaklakdongnainameinfovinhphucdongthapkiengiangtiengiangquangngailaichaulangsonlamdongdaknonghagiangangiangcaobangbinhduongninhthuanbinhthuanbaclieuthaibinhninhbinhbinhdinhtuyenquanghungyenbaria-vungtauthainguyendienbienbinhphuocschbizputerimagine-proxyorgcomnetedugovcloud66advisormypetsdyndnsxn--8dbq2axn--4dbgdty6cxn--5dbhl8dxn--hebda8bxn--80auxn--d1atxn--c1avgxn--o1acxn--o1achxn--90azhxn--55qx5dxn--uc0atvxn--od0algxn--wcvs22dxn--gmqw5axn--mxtq1mxn--12c1fe0brxn--h3cuzk1dixn--12co0c3b4evaxn--12cfi8ixb8lxn--o3cyx2axn--m3ch0j3axn--j1adpxn--90amcxn--90a1afxn--h1ahnxn--j1ael8bxn--h1alizxn--c1avgxn--j1aefxn--80aaa0cvacxn--41acaffeineexeopentunnelbotdashtelebitorgtmaccoagricorgmilnomwebnicngonetaltedugovlawnisschoolgrondaraccoorgmilcomschnetedugovbizinfoprg1-zeropstritonstackitlimazeropsaccoorgmilgovяспборгкоммскбизмирсамаракрымсочиакодпроргобрупрצהלממשלישובאקדמיהองค์กรธุรกิจรัฐบาลศึกษาทหารเน็ต教育網絡組織公司政府個人닷넷한국澳门新闻澳門联通家電嘉里招聘通販닷컴삼성コムგეбгрфеюadcdbdgdidmdsdtdaebedeeegeiejekemenepereseveyegabacalamanauavapaqasazacfbfafgfnfpfwftfbgcgagggegkgngmgsgpgvgtgugilmlnlalclglplsltlhmimjmkmmmomambmcmdmfmgmzmpmsmtmgbbblbsbecccacnclcmcvctcscmhkhghchbhthphshlinikifigiaibicivisikninhnmncnbngnsnpnvntnjoionomobocoaofodorosotoptstttytatbtetgtithtmtltrusuvuaucueuguhulumunufjdjbjtjsjlkmkhkfkdkcktkukskpkgpmpnpkpjpgqaqmqiqsvtvcvbvmvlvrwpwtwzwbwcwawgwkwmwtrsrprgrfrercrbrarnrmrlrkrirhrwsusrssspsgsesbsaslsmsissxmxaxcxuypysylymykygybycyuztzsznzmzkzdzczbzazελευ世界台灣购物公益点看臺灣网络書籍在线网站手机机构大拿游戏信息台湾谷歌慈善商标香港中国餐厅网址中國商城食品微博政务移动集团公司八卦商店健康网店政府时尚佛山中信娱乐广东企业homedepotengineeringاماراتrepublicankuokgroupversicherungchannelcitadelxn--pgbs0dhxn--b4w605ferdstatebankwebsitexn--mgb9awbf亚马逊淡马锡alibabaxn--ngbc5azdxn--mgbbh1axn--45br5cyltoshibabuildworldcloudtradeguideplacespacedancemoviephoneprimesmilebiblestyleappleazurestoreskypegripexn--l1accdrivelottehorsehouseleasechasereisestadahondaomegaaetnaamicaninjanokiamediadeltavodkaedekaosakapizzaslingemailgmailtirolshelltmallfinallegaltotalhotelamfamforumrehabmusicciticricohcoachwatchboschearthfaithirishmiamiarchidubaiguccipraxiみんなストアセールcanonsalononionnikonepsonkoelngreensevencrownikanoradioaudioweiboglobopromogalloyahoociscorodeovideomangobingotokyovolvolottokyotophotosmartsportquesttrusthyattjetztadultcymrubaidutushuxn--kprw13dubankclickblackmerckgroupsharpcheapnowtvxn--h2brj9cקוםհայоргсрбмонкомбелмкдқазрусукрمصرقطرعربكومdadcfdmedwedredphdthdbidpidkrdmsdltdiceonewmeglemoerwecfageacbanbambaaaammakianraspacpaaxawtfbcgaegongingaigvigorgdogdhlmilrilonlaolloluoljllcalgalnflafltelsrlfrllplkimibmcamcombommomifmabbjcbscbwebcabnabtabmlbpubabcbbcnecincpncllcstcwtcpwcnyckfhbzhovhmoiskiobisbitcifyituipinvinwinxincbnbcnmanfangdnmenrenkpnmtnyunrunfununobiojioriohbogmofooboooooacoecoceongoproartistottnttbbtcateatlatvetpetbetnethktmitfitintjothotgotdotbotprueduicujnjyouinknhktdkappsapgapmapdnptopgopllpjmpzipvipripesqtrvdtvitvdevmovgovhivnrwlawsewnewbmwwownowhowdvrftrmtrsfrbarcartvscrseusawsupsubssbsadsddsldssasbmsmlsxxxboxfoxgmxtjxsextaxbuyflydiysoyjoyskypaydaygayxyzanzbizwebersenerpokerlameractortatarsolarລາວคอมไทยtourslocusnexuslexusgiftsbeatsboatspartspressglassswissकॉमनेटtiresgivescodeshomesgamestunesshoescardswalesloansvegastoolsdealsautosparisファッションworkssucksrocksxeroxforexfedexpartylillymoneystudyrugbytoraytoday中文网xn--unup4y天主教飞利浦新加坡enterprises我爱你嘉里大酒店christmasxn--fct429kholdingsxn--8y0a063axn--mgbx4cd0ablifestyleabogadoallstatenetbankكاثوليكxn--s9brj9cxn--gk3at1ebestbuycharityxn--55qx5dmicrosoftpropertybasketballhomegoodscorsicajewelrygallerygrocerysurgerycountrybrusselsverisignferreroxn--czr694bhdfcbankcommbanksoftbankپاكستانپاکستانnextdirectالسعوديهالعليانxn--h2brj9c8cxn--80adxhksshikshaxn--mgbai9azgqp6jcuisinellabarclayscatholicxn--kpry57dcompanyxn--xhq521bblackfridayxn--mgba3a3ejtsandvikxn--d1acj3bacademydownloadمليسياxn--j1amhxn--w4r85el8fhu5dnraipirangaathletaxn--fhbeixn--mgbqly7cvafrzuerichxn--c2br7gஇலங்கைcontractorsxn--io0a7igraphicsinsurancetemasekxn--xkc2al3hye2amotorcyclesphotographydirectoryplumbingxn--vhquvclothingtrainingcleaningwilliamhilllightingxn--mgba3a4f16ashoppingcateringeducationokinawapicturesventuresproductionsxn--9et52uwalmartഭാരതംsupportrealestatecapitalonexn--nqv7fs00emaauspostfloristdentistxn--qxamgodaddybradescobargainsmitsubishikerryhotelsxn--9dbq2axn--3pxu8kimmobilienxn--fjq720axn--mgbtx2bholidaymckinseymadridbusinessbuildershelsinkixn--4gbrimмоскваالسعودیةcoffeedegreelacaixapartnersalsaceofficeabbvievoyageorangegeorgeonlinechromemobilekindlegoogleoraclecircleschulesecureinsurexn--mgba7c0bbn0aestatexn--mgbc0a9azcgcruisehangoutxn--vuq861bxn--42c2d9arexrothfirestoneuniversityxn--nnx388alifeinsuranceextraspaceонлайнvermögensberatersoftwarexn--fiqs8sxn--mgbab2bdxn--w4rs40ltiendaभारतम्africatoyotaotsukasakuracameracreditcardnagoyaconsultingnetworkjunipertheatermonsterprogressivepioneerxn--55qw42gracingdatingvotingvikinglivinggivingxn--bck1b9a5dre4cbrotherweatherjoburgفلسطينlplfinancialxn--clchc0ea0b2g2a9gcdfutbolschoolsocialglobaldentalwoodsidechanelairtelmatteltravelrealtorwebcamstreamభారత్unicomalstomxn--nodexn--6frz82gmuseumfurniturexn--rvc1e0am3exn--mix891faccenturexn--11b4c3dismailineustardiscountquebeccomsecclinicservicesxn--y9a3aqxn--c1avgswatchchurchsearchالاردنmarketingcontacthealthmonashshoujisanofitaipeiamericanexpresssuzukiアマゾンクラウドポイントbhartiグーグルxn--mgberp4a5d4armemorialxn--1qqw23alondonmormoninstitutevisionbostonnortoncouponmaisonamazonvirginberlindesigndurbanolayannissananquanxihuanhitachikaufengardenreisenbayerntechnologydatsunxn--90a3aclatinocasinostudiophysioxn--ngbe9e0apharmacytattootaobaoaramcoexpertreportabbottdirectselectimamatfairwindspictettargetmarketintuittravelersinsurancecreditdupontryukyusuppliesxn--tckwebnpparibasschmidtmerckmsdyodobashirestaurantbridgestonecricketxn--fpcrj9c3dbostikbroadwayattorneylefrakemerckxn--fiq228c5hscareersfarmerswinnersflowersxn--wgbh1cguitarsxn--54b7fta0ccxn--p1acfmakeupgalluplandroverxn--kcrx77d1x4agoldpointbauhausxn--mgbayh7gpahiphopplaystationxn--mgba3a4fraxn--eckvdtc9dhyundaixn--gckr3f0fistanbulticketsmarketsflightschintaireviewsxn--3e0b707ewindowsxn--fiqz9sfinancialxn--fzys8d69uvgmابوظبيdiscoverreviewবাংলাxn--5su34j936bgsgmoscowobserverapartmentsдетиارامكوсайтeurovisionxn--i1b6b1a6a2exn--xkc2dl3a5ee0hتونسموقعبارتڀارتشبكةعمانبيتكعراقreadkredbondlandbandfundfoodprodgoldfordtubecafesafelifeggeeieeefreefagepagegugezonewinememenamegamesaleablebikenikelikecarecbreherefiresaveloveliveblueartedatesitevotecaseluxebofamodaltdaasdatiaayogasinavanashiaasiajavabbvatevavivadatazaraarpacasavisasncfprofmaifsurfgolfdvagsongbingpingwangkpmggoogblogpohlfailcooldellcalldeallidlsarlfilmteamroomfarmimdbarabclubhdfcicbchsbcgmbhrichtechfishdishcashminiernikddiaudiwikimobitaxicitikiwidesiqponskinloanakdnwienopenporncerntownimmolimoolloinfonicofidolegosaxozeroaerovivoautovotomotofastbestresthostpostnextlgbtchatseatgiftmeetdietreitmintrentgentspotscotguruitausohumenucyoubanklinkpinkdclktalksilkbookseekworkrsvpaarpjeepshopcoophelpcamppccwshowbeerstarruhrflirweirhaircarsparsjprshausplusnewstipstoysjobskidsfanspicsdocsxboxamexsexynavycitysonyarmyallybabyplaydeliverybuzzgbizlamborghiniphilipsලංකාಭಾರತfitnessexpresslanxesspfizercenterwalterlawyersoccercareerkosherbrokerlockerdealerdoctorauthorxn--mgbqly7c0a67fbcvermögensberatungjaguarxn--pssy2uxn--hxt814eflickrrepairrogersairbusxn--mgbai9a5eva00beventsyachtsxn--t60b56aভাৰতভারতभारतभारोतviajeshermeshughesxn--j1aefसंगठनvillasଭାରତclaimshotelsભારતzapposphotosjuegoscondostatamotorsgratistennisਭਾਰਤtkmaxxtjmaxxschaeffleryandexxn--80aswgrealtysafetybeautyluxuryxn--3ds443gsupplyfamilyxn--o3cw4hhockeysydneyxn--90aenissayalipayenergycomputeragencyxn--rovu88b電訊盈科xn--gecrj9cstatefarmaccountantaquarelleolayangroup香格里拉xn--p1ai组织机构xn--1ck2e1bxn--mgbt3dhdschwarzموريتانياabudhabinowruzkomatsufujitsuhospitalxn--80asehdbxn--mgbtf8flxn--j6w193gxn--yfro4i67oprudentialxn--flw351ecruisescoursesrecipesxn--e1a4cferrarixn--ses554gxn--wgbl6awatchesstaplessinglesxn--mgbcpq6gpa1axn--otu796dpropertiescreditunionxn--mgbah1a3hjkrdstockholmhisamitsuالسعوديةstcgroupdomainsoriginscouponsbloombergclubmedfroganslimitedxn--80aqecdr1aexposedinternationalequipmentbarclaycardxn--q7ce6axn--mgbi4ecexpprotectionassociatesconstructionxn--cck2b3bxn--45q11candroidfoundationישראלxn--mgbca7dzdocliniqueboutiqueengineerxn--qxa6asystemsfirmdalefashionauctionxn--nqv7finfinitirentalsreliancetradingweddingfishinghostinggentingbookingcookingxn--3hcrj9cgraingerxn--czrs0tdemocratsamsungyokohamaxn--h2breg3evexn--nyqy26alundbeckmelbournevacationssolutionsfrontierxn--vermgensberatung-pwbmanagementxn--cg4bkixn--mgb2ddeslincolnhamburgsandvikcoromantblockbusterairforcebarefootxn--4dbrk0ceinvestmentsfeedbackcommunityxn--ngbrxالبحرينdiamondsamsterdamhealthcareredumbrellaxn--mxtq1mxn--2scrj9cagakhanxn--mgbpl2fhкатоликcaravanசிங்கப்பூர்richardlimortgageamericanfamilyxn--fzc2c9e2cscholarshipssaarlandxn--imr513nvlaanderensamsclubgoodyearkitchenஇந்தியாweatherchannelallfinanzxn--kput3iالسعودیۃxn--90aisxn--efvy88hالجزائرxn--mgbaam7a8hexchangejpmorganxn--tiq49xqyjfidelitysecurityxn--mk1bu44cwanggouxn--fiq64bxn--6qq986b3xlxn--mgbbh1a71exn--80ao21amarshallsxn--5tzm5gtravelerspanasoniclatrobeyoutubeaccountantsxn--rhqv96gxn--cckwcxetdanalyticsxn--ygbi2ammxبازاربھارتسوريةorganicfreseniusسورياxn--9krt00axn--qcka1pmcxn--jlq480n2rgdeloittesciencefinancexn--jvr189mxn--30rr7yhomesensehotmailbaseballfootballleclercboehringerxn--q9jyb4cxn--mix082fاليمنهمراهpolitieسودانايرانایرانnetflixyamaxunxn--lgbbat1ad8jcollegestoragecapetowncolognekerrypropertiesxn--mgbgu82axn--ogbpf8flxn--czru2dwhoswhociprianilasallexn--g2xx48cforsalebanamexaudiblexn--vermgensberater-ctbxn--zfr164bericssonvanguardxn--45brj9cindustriestheatremarriottxn--3bst00mcomparexn--mgberp4a5d4a87gcapitaldigitalالمغربbarcelonashangrilaxn--d1alfcalvinkleinwwwcitysapporokawasakinagoyasendaikobekitakyushuyokohamackjp`.charCodeAt(t)===42&&(VL[e]=n),t=r}var HL=-1,UL=0,WL=0;function GL(e,t,n,r){if(PL[e]!==r)return!1;let i=zL[e];for(let e=0;e<r;e+=1)if(`orgmilcomschnetedugovdrrformsfeedbackofficialaccoorgmilschnetgovmagazinemediaunioncargopilotgroupcaarespressworksaerodromeworkinggroupair-traffic-controlaircraftaccident-preventioneducatormarketplaceambulanceinsurancecateringairportrepbodyenginesoftwaremodellingair-surveillanceconsultingchartertrainermaintenanceservicesdesignflightskydivingfreightassociationstudentgroundhandlingdgcafuelclubtaxicrewshowballooningexpresstraderbrokerauthoragentsairtrafficjournalistsafetyconsultantmicrolightaccident-investigationparachutingequipmentproductionfederationrecreationscientistnavigationengineertradingglidingleasingresearchpassenger-associationentertainmentparaglidinghangglidingaerobaticrotorcraftemergencycertificationgovernmentaeroclubexchangelogisticschampionshiphomebuiltcouncilconferencecontrolairlinecivilaviationjournalorgcomnetedugovcoorgcomnomnetobjofforgcomnetuwukiloappsframerorgmilcomnetedugovcoradioorgcomnetcommuneedogpbcoitgvorgedugov*spreviewfrontendrelayononstagingupid*mtls*privatelinktypedreamdeveloperbravemochawindsurfaivenmirenupsunwnextbegetngrokclerkwale2bwebcsbrunputerflutterflowspawnbaseshiptodaymagicpatternsnetlifyondigitaloceanrailwayhostedclaudehasurabotdashvercelgithubluyanigadgetreplitcloudflaretelebitedgecomputeevervaultexponyatnoopencrpplxzeaburwasmerframerzeropsrocketpreviewconvexmedusajsspritesonherculeseasypanelstreamlitglideossnowflakemesserliloginlinehackclubcodepennorthflankbase44corespeedleapcellngrok-freeclerkstagelovableon-fleek*us-west-3ap-south-2us-central-2us-central-1eu-central-1ap-south-1us-west-2us-east-2eu-north-1ap-north-1us-west-1us-east-1*rcloudintsegorgmilcomgobbetnetintedugovturmusicasenasamutualcoopip6uriurnin-addre164homeirisgovdixdaemoncloudnssthwien*inexexkunden4accogvormymyspreadshop4lima2ixortsinfofuturecmsfuturehosting12hpprivfuturemailinglima-cityfunkfeuer123webseitednshomemelmyspreadshopcloudletswasantqldvicactnswtascatholicwasaqldvictasidwasantozqldorgcomvicasnactnetedugovnswtasconfcomairflowlambda-urltransfer-webappairflowtransfer-webapptransfer-webapptransfer-webapp-fipstransfer-webappeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1privatenotebookstudiolabelingnotebookstudionotebooknotebook-fipslabelingnotebookstudionotebook-fipsnotebookstudio-fipsnotebook-fipsnotebookstudionotebook-fipsnotebookstudioeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2experimentsus-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1onrepostsagemakercopporgmilcompronetintedugovbiznameinfoshoprsorgmilcomnetedugovbrendlyresolvenzauscotvstoreorgcomnetedugovbizinfoidacaicoittvorgmilcomschnetedugovinfocloudezproxysiteacmymyspreadshopkuleuvenwebhostingtransurl123websitecloudnsinterhostsolutionsddns5476103298edgfacbmlonihkjutwvqpsryxzbarsycoororgcomedumyftpno-iporxcloud-ipfor-somemmafanfor-morewebhopselfipjozidyndnscloudnsdscloudfor-thefor-betteractivetrailcoeconorestooteorgcomeconeteduassurmoneyafricaarchitectesrestaurantloisirstourismavocatsinfoagrounivcoorgcomnetedugoviatvdeportesaludtksatorgmilcomwebgobnetinteducienciaboliviarevistacooperativaempresanombreindustriamusicapatriamedicinademocraciapoliticapuebloindigenaplurinacionalarteblogwikiinfoagrotransportenoticiasprofesionalacademiaeconomiaecologiamovimientotecnologianaturalsimplesitecepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesmscepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesms*biaamfmtcmptvfeirasampajampanatalbelemananiradiog12medindfndbmdtrdthepoaggfjdfdefinfenflegsegongengcngorgzlgslglogppgmillelqslcimcomnomadmjabimbbibbsbabcrectecsjcetcpscpvhudieticriapipsiecnbiorioecogeoteoodoproatoartfstmatvetdetbetnetcntnotfotgrueduajuespappreptmpemparqsrvadvdevgovntrturagrjorfarjusmusdesvixxyzcozfozslzbhzmaringasantamariacampinagrandegoianiasorocabafloripasaobernardocuritibaboavistarecifeaparecidasaogoncasalvadorcuiabamorenamacapalondrinacontagemsocialfortalmaceioleilaoosascoriobranconiteroi9guacutcheblogflogvlogwikitaxicoopmanauspalmascaxiasjoinvillebaruericampinassantoandreribeiraoriopretoweorgcomnetedugovv0windsurfshiptodaycloudsitecoaccoorgnetgovofmilcomgovmediatechzacoorgcomnetedugsjgovmydnspenfnlabnbmbgcbcqconcontnuyksknsmyspreadshopno-ipawdevboxbarsyonidatemfuinabusavinstanceseceuguukussryzespawncsxcloud-ipmyphotosfantasyleaguetwmailcleverappsscrappingccwucloudnsftpaccessgame-serverccgovobjectsrmalpgcust*svcalp1aeappenginermalpgmyspreadshop4lima2ixsquare7cloudscale123websitefirenet12hpflowgotdnslinkyard-cloudcloudnslima-citydnskingobjectstorageedaccogoorusorgcomnetinteduaéroportxn--aroport-byaassogouvcomilgobgovcloudnses-1eu-west-1us-east-1euvipit1eurarubait1s3lbwebsites3websiteru-spbru-mskelasticcsrunstnukukcaukusnl-ams-1fr-par-1fr-par-2functionsnodess3ddlwhmrdbfnck8sifrs3-websitecockpitscblmgdbdtwhkafkpubprivs3ddlwhmrdbk8sifrs3-websitecockpitscblmgdbdtwhkafks3ddlrdbk8sifrs3-websitecockpitscblmgdbdtwhkafkk8sscalebookpl-wawfr-parnl-amsbaremetalsmartlabelinginstancesdechk2kuleuvenlaravelvoorloperurownoxazapscwhstgrvaporonline-serverobservablehqelementorantagonistreclaimjoteluluencowaydiademjelasticmatlabmagentositetrendhostingaxarnetperspectajenv-arubajelejoteravendbemergenttrafficplexconvexkeliwebserveboltbegetcdnstaticson-rancherprimetelonstackitunison-servicesdnshomelinkyardbarsyjelecloudnscocomnetgovmycn-northwest-1cn-north-1s3s3-accesspoints3-websites3s3-accesspointrdsdualstacks3-deprecatedemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspoints3s3-accesspointrdsdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicn-northwest-1cn-north-1cn-northwest-1ebcomputeelbcn-north-1airflowcn-northwest-1cn-north-1oncn-northwest-1cn-north-1amazonawssagemakeramazonwebservicesdirectasgdsdhehahljlnmhbacscahqhshhihnlnynsnmofjbjzjxjtjhkcqtwgsjssxnxjxgxxzgz網絡网络公司orgmilcomnetedugovxn--55qx5dcanva-appsxn--io0a7iquickconnectcanvasitekhsjxn--od0algcanva-codemyqnapcloudsrvrlessclustersrealtimestorageleadpagescarrdcrdorgmilcomnomnetedugovhidnssupabaserdpareplmypiumsoxmitotaplpagesfirewalledreplitowodevwebview-assetsvfswebview-assetss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecateds3-websites3-object-lambdaexecute-apis3s3-accesspoints3-websites3-accesspoint-fipss3-fipss3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipss3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9vfss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1us-northeast-1ap-southeast-1me-south-1af-south-1ap-south-1ap-southeast-7us-west-2eu-west-2ap-east-2us-east-2ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ap-southeast-6ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1mrapaccesspoints3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3eu-west-3ap-south-2eu-south-2computes3-ap-northeast-2elbrdss3-ap-east-1s3-sa-east-1s3-us-gov-west-1s3-eu-central-1s3-ca-central-1eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3s3-website-us-west-2s3-website-eu-west-1s3-external-1eu-central-1me-central-1ca-central-1il-central-1s3-us-west-1s3-eu-west-1s3-website-sa-east-1s3-website-ap-southeast-2ap-northeast-1ap-southeast-1s3-us-west-2s3-eu-west-2me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2s3-website-ap-southeast-1s3-1s3-globals3-ap-northeast-3eu-north-1airflowap-southeast-2s3-us-gov-east-1s3-fips-us-gov-east-1s3-me-south-1s3-ap-south-1ap-northeast-2s3-website-us-west-1ap-southeast-5s3-eu-north-1s3-ap-southeast-1s3-website-us-gov-west-1compute-1s3-eu-west-3us-gov-west-1s3-website-ap-northeast-1us-gov-east-1s3-fips-us-gov-west-1s3-website-us-east-1s3-ap-southeast-2ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3-us-east-2s3-ap-northeast-1authauthauth-fipsauth-fipseu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1rframeservicesbuilderstg-builderdev-builder*ociocpocsazuregcpawsdemoinstanceeu-west-3eu-south-2ap-southeast-3ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1previeweu-4us-4us-1eu-1us-2eu-2us-3eu-3appscomputepaasrag-cloudrag-cloud-chjcloudjcloud-ver-jpcdemonodebalancermembersipeuxvsoncillaocelotonzayalilynxsphinxfentigercustomercaracalo365cloudstaticxendevapp001testcode-builder-stgplatformmediasiteprojedrydpagesjsx0desazacncoitrueu4uhkukgrbrushatenadiarymyspreadshopfrom-flfrom-wvwebspace-hosttheworkpchatenablogcursorusercontentservesarcasmapplinzisakuratanwixsiteappchizigiizeis-into-carsdnsiskinkyadobeaemcloudis-a-therapistpgfogmyvncdojinis-an-actress1kappfldrvkozowqa2jpnmexprgmrfirewall-gatewaydynnscafjsfbsbxooguyfrom-gawoltlab-demois-a-anarchistwiardwebteaches-yogadattowebtb-hostinglive-websiteservegamegotpantheonfrom-nhsubsc-payfrom-ohvipsinaappfrom-cadyndns-officehomelinuxfrom-mahercules-appservebbsstreakusercontentfrom-okfrom-wyfastly-terrariumis-a-llamaqualyhqportalserveexchangeon-vaporvivenushopciscofreakgrayjayleaguesmetaaiusercontentfrom-iais-a-libertariansaves-the-whalestaveusercontentyolasiteoperaunitepoint2thisis-a-catererclaudeusercontentlinodeusercontentfrom-vagithubusercontentsells-for-lesshosteurcanva-appsplaystation-cloudddnsfreefrom-pafrom-prfrom-waddnskingoutsystemscloudhotelwithflightmydattois-a-nascarfanmydbserverminiserverdamnserverservehumouris-a-playerfrom-nvfrom-nmemergentagentgentappsamplifyappfrom-kyis-an-accountantnfshostserveircfrom-akpythonanywherestackhero-networkpostman-echolikescandydyndns-mailobservableusercontentserveftpfreeboxosfrom-utcdn77-storageamazonawsneat-urldyndns-serverlinodeis-a-teacherfrom-vtgleezemythic-beastsus1-pleniteu1-plenitla1-plenitpaywhirlservecounterstrikejdevcloudhealth-carereformis-into-animegoogleapisis-a-painterafricaisa-hockeynutatmetais-an-actora2hostedis-a-democratdatadetectest-le-patrondigitaloceanspacesis-a-designeris-a-hunterlinodeobjectstemp-dnsissmarterthanyoufrom-arsimplesiteevennodetownnews-stagingis-a-liberalgooglecodejelasticservemp3qualyhqpartnerdyndns-free1cooldnsest-a-la-masiondrayddnsdynuddnsfrom-orfrom-miis-a-bloggerfrom-himydobisscanvacodeis-an-engineerest-a-la-maisonupsunappdevinappswafflecellmyasustorwpenginepoweredfrom-ctservep2psame-appmyshopblocksthingdustdatalikes-piediscordsezis-with-thebandlpusercontentis-leetshopitsite3utilitiesis-a-personaltrainersinaappladeskis-a-cheflogoipselfipbase44-sandboxnospamproxyalibabacloudcsmesswithdnsauthgearappsiamallamawithgooglelutrausercontentmochausercontentframercanvasmytabitdyndns-homew-credentialless-staticblitzcpserverdiscordsaysis-a-nurseappspotatlassian-isolated-3premotewdfrom-mtwixstudiocode0emm180rmyactivedirectoryawsappsmytuleapdnsabrpolyspaceqbuserrenderbuiltwithdarkboutirgotdnsabrdnsdopaascanva-hosted-embedawsglobalacceleratorhomesecuritypcmyiphostditchyouripclever-clouddyndns-ipon-aptibleis-a-musicianhosted-by-filessecuritytacticsappspaceusercontenthomeunixstrapiappsame-previewcf-ipfsmycloudnaselasticbeanstalkis-certifieddontexistkasserverik-serverdrive-platformatlassian-3pfirebaseappherokuappawsapprunnerbarsycenteris-a-cubicle-slaveservehttpmyshopifyis-a-guruquicksytessiiitesorsitesmagicpatternsappis-a-cpameteorappfrom-wiis-a-rockstarbumbleshrimpdattolocaldatabricksappsreadthedocs-hostedfrom-rifamilydsdyndns-picsplesknsbplaceddnsaliasdynaliasdyndns-remotedoomdnsip-ddnsblogdnsis-a-doctorroutingthecloudamazoncognitobarsyonlinedsmynasddnsgurucloudflare-ipfsdeus-canvasfrom-idsmushcdnpagespeedmobilizerdyndns-at-homeunusualpersonhosted-by-previderis-a-republicandyn-o-saurstreamlitappworkisboringonthewificprapidqualifioappis-uberleetis-slickgetmyipwpdevcloudtypeformdyndns-at-workgentlentapismynascloudw-corp-staticblitzfrom-ingeekgalaxyservebeerfrom-mdonrenderspace-to-rentaivencloudappspacehostedwafaicloudcodespotblogspotatlassian-3p-us-gov-modfrom-ndfrom-msis-a-techieis-a-studentcustomer-ociis-a-photographerdurumisfrom-ksmassivegriddyndns-wikiis-an-entertaineris-a-hard-workermysecuritycamerafrom-mnrackmazedyndns-blogis-a-bulls-fanwritesthisblogfreemyipsimple-urlfrom-sdreservdauthgear-stagingest-mon-blogueuris-into-gamesrice-labsxtooldevicesakurawebis-an-anarchistoraclecloudappsdyndns-worksells-for-urhcloudfrom-dcfastvps-serverwpmucdnis-a-geekscrysecfrom-txis-into-cartoonsmodelscapetrycloudflarelocaltonetstreak-linkbalena-devicesfrom-njforgeblocksfreebox-oswebadorsitefrom-ncdoesntexisthobby-sitestreaklinkshomesecuritymacownprovidertuleap-partnersdattorelaywphostedmailservequakeis-a-socialistservehalflifepivohostingdynuhostingquipelementsw-staticblitzdyndns-webfrom-deproject-studyaliases121is-not-certifiedhercules-devis-a-financialadvisorservepicsis-a-greenloseyouripfrom-ilwithyoutubemwcloudnonprodwiredbladehostingdnsdojofrom-tnpixolinomyqnapcloudis-an-artisthostedpiis-a-landscaperauiusercontentoaiusercontenton-forgeis-a-conservativedreamhostersnet-freaksapps-1and1is-goneencoreapifastly-edgefrom-nesalesforcefrom-scdeployagentoraclegovcloudappsfrom-alis-a-lawyercechirevultrobjectsstufftoreadisa-geekddnsgeeklovableprojecttry-snowplowfrom-moblogsyteis-a-bookkeepernogmyforumravendbmyboxdeelementoredsaacficogoorinforgcomgobnatneteduidstoreorgcomnetintedudevnomepublorgcomneteduathgovtestscalculatorspaynowinfoquizzesresearchedcloudnsfunnelsassessmentsjscaleforcetmacltdorgmilcompronetgovbizpresseklogesrsccloudcustomfltusrcloude4corealmgovmunicontentproxy9metacentrumdyndyndyndnsdynpagespages-researchitionoccustomercomymyspreadshopipv64diskussionsbereich4limacomrub2ixfirewall-gatewayddnssspdnsbarsykeymachinesquare7myhome-serverspeedpartnercommunity-proschuldockxenonconnectgünstigliefernbwcloud-os-instancedyndnssecmy-routerxn--gnstigliefern-wobin-butterl-o-g-i-nisteingeekin-dslin-berlinin-brbfuettertdasnetzleitungsenin-vpnlcube-serverdyn-ip24logoipdyn-berlinruhr-uni-bochum12hpgoipsrvdnsfruskygit-repossvn-reposinternet-dnsgünstigbestellenhome-webserverxn--gnstigbestellen-zvbbplacedheimdnscosidnswebspaceconfiglima-citydyndns1istmeinvirtualuserschulplattformmy-gatewayddnsseclebtimnetztest-iservmein-iservvirtual-userhome64iservschuletaifun-dnstraeumtgeradeschulserverdynamisches-dns123webseitednshomehs-heilbronndnsupdaterbssgraphicdwadpdwdaepeweaawapaafpfwfabwbpbacwcpcciwebuserapiobjectsidsiskospockkimodorikerbonesteamsparisjanewaypicardglobaltarpitreedpikekiraworfsulukirkarchertuckerhackercanarywesleystagingprereleaset3r2lpbravepanelngrokiservstglclcrmerpflypagesbarsyvivenushoplocalcertlocalplayerbearbloggatewaydeno-stagingis-not-ais-a-goodbotdashvercelmocha-sandboxplatter-appreplitgithubpreviewworkersinbrowserevervaultis-ahrsndenoxmitmodxmyaddrstorageapipayloadgrebedocruncontainersstgstagelclstageloginlineis-a-fullstackcodepenleapcellngrok-freeis-coolstoragewebharemediatechlibp2pdiscourseimaginecomyspreadshopstoreregbiz123hjemmesidefirmcoorgcomnetedugovsldorgmilcomwebgobartnetedugovtmorgpolcomsocartnetedugovassoagrondiscoodontk12medcuegyecpaabgengorgmilgalsaltulcomadmesmgobpubdocmonfindgnriouioproartlatvetnetfotedulojgovntrturibrbarxxxofficialbasechefprofmktgpsictechinfoarqtcontdentrrpppsiqgit-pagesritmedfieorgcomlibprieduaipgovriikmeactvsportorgmilcomscieunnetedugovnameinfopintouchtawktotawkmyspreadshoporgcomnomgobedu123miwebcomputeorgcomnetedugovbiznameinfocognito-idpeusc-de-east-1onjelasticnxaspdnsbarsydirectwpdeuxfleurstransurldogadoprvwcloudnsamazonwebservicesdnshomeuserpartycokoobinmkmfidymyspreadshopalandkapsiikixn--hkkinen-5wacloudplatformhäkkinen123kotisivuidacorgmilcompronetedugovbiznameinforadioorgcomneteduuserexperts-comptablestmmyspreadshopgretaprdcomnomynhccifbxoshuissier-justicenotairesaeroportfreeboxoson-webavocatassoportgouvkdnschirurgiens-dentistes-en-franceavouesfbx-os123sitewebveterinairechirurgiens-dentistespharmacienchambagrimedecinfreebox-osdediboxgoupilemszicpyicpvicppleysheezypagesedugovcnpyorgcomcybllcpvtnetedugovtnxonlineschooldaemond6atcopanelorgnetplybotdashstackitkaasorgmilcomnetedugovbizmodltdorgcomedugovcoorgcomneteduappwriteacorgcomnetedugovcloudtranslateusercontentorgcomnetedumobiassoorgcomnetedugovbarsysimplesitediscourseindorgmilcomgobneteduorgcomwebnetedugovguaminfonxhra教育敎育網絡网絡组織組織网络網络组织組织公司政府個人个人箇人ltdorgcomincneteduidvgovxn--uc0ay4axn--55qx5dxn--mk0axixn--io0a7ixn--uc0atvxn--zf0avxxn--lcvr32dxn--od0algxn--wcvs22dxn--gmqw5axn--od0aq3bxn--mxtq1mxn--ciqpnxn--tn0agxn--gmq050iorgmilcomgobneteduiservwp2tempurlmircloudfreesitewpmudevmyfastgadgetcloudaccessjelehalfboltfastvpsemergenteasypanelopencraftizcombrendlynamefromrtpersoadultmedorgpolrelcomproartnetedufirminfoassoshopcoopgouvtmcomediahotelforumvideosportorgsexagrargameslakaseroticaerotikatozsdereklamcasino2000filmsuliinfoboltshopprivnewsszexcityutazasjogaszkonyveloingatlaneacaicogoormyᬩᬮᬶmilwebschnetkopbizzonedesaponpesxn--9tfkymyspreadshopgovmytabittabitorderravpageaccok12idforgnetgovmuniltdplcaccotttvorgcomnetmeca6g5gpgamubacaicniocoukuptverdruscsdelhiindorgmilcomwebnicfingenpronetintedugovresbizbiharbarsyinternetbusinessschooltravelsupabasealumnigujaratfirminfoaeropostbankcoopindevscloudnsno-ipbarsybarrell-of-knowledgebarrel-of-knowledgensupdategroks-thisdnsupdatefor-ourknowsitalldvrcammittwalddynamic-dnsv-infowebhopselfipdyndnshere-for-moreilovecollegemayfirstforumzcloudnsmittwaldservertypo3servergroks-theeusekd1cdndyndnsidrawsainaueuapjpusstagemocksysdevicesclientcustreservdcustdevdisrecprodtestingcobeebyteutwenteboxfusebravepstmndedynngrokorgmilcomnomnetedugovqcxqzzbarsythingdustmo-siemensrb-hostingfh-muenstergitbookbluebitecloudbeesusercontentnodeartkiloappsforgerockdarklangresinstagingapigeebubbleb-datascryptedhypernodedappnodepantheonsitegitlabgithubkeeneticvirtualservercleverappshostyhostingon-rioedugitticketstelebitwixstudioon-k3sicp0icp12038jeleqotolairbubbleappsmyaddrstolosmyrdbxwebflowdrive-platformbeagleboardhasura-applolipopdefinimavaporcloudmusicianwebflowtestazurecontainerresindevicereadthedocsloginlineeditorxmoonscalesandcatsbasicserverwebthingsbrowsersafetymarkbeebyteappbitbucketidaccovistablogorgschnetgovxn--mgba3a4f16axn--mgba3a4fraarvanedgeايرانایرانjclaspeziapdudcefegelemeperetevebacanatavaparasabgagfgogrgpgalclblimfmrmcbmbvbfclcmcvcrcpcchlimifibicivipirisimncnbnanenrnpntnnolomobocoaogorosopotoptvtatctbtmtltotpusulunutpspapaqsvpvvvtvavvrtrsrprgrfrcrbrarorkrvstsssbscsmsispzczbzbozen-suedtirolmyspreadshopxn--bulsan-sdtirol-nsbxn--valledaoste-ebbtrentinoaltoadigetrentin-sued-tirolxn--forlcesena-c8axn--forl-cesena-fcbxn--bozen-sdtirol-2obtriestetrentinsuedtiroltrentino-s-tirollecceudineaostesienaparmaluccapaviagenoapaduaaostamonzaabruzzoternirietiturinmilanbozenlaziofermoleccocuneonuoropratola-speziavdataaligfvgpugmolcalcamlomumbsicpmnvenvaoedugovabrsarmaremrbastoslazibxosfirenzetrentinosüdtirolval-d-aostavalle-aostamessinacremonaravennatoscanatrentin-suedtirolbolognacalabriaurbinopesarofriuli-v-giuliaogliastraxn--valle-aoste-ebblaquilaandriatranibarlettasyncloudxn--valle-d-aoste-ehbaostavalleyvalled-aostatrentino-alto-adigevallee-d-aostexn--balsan-sdtirol-nsbpistoiasicilialucaniacataniaiserniaperugiabresciaveneziagorizialiguriaimperiabulsan-suedtirolbalsan-suedtirolbarlettatraniandriaxn--trentino-sdtirol-szbforlì-cesenatuscanyvallée-d-aostemantovavallée-aostecasertapiemontevalleaostaval-daostafriulivgiuliatrevisoforli-cesenavalléedaosteferrarapescaravald-aostatrentino-altoadigefriuli-vegiuliavallee-aostecarboniaiglesiastarantomediocampidanovalleedaostetrentinosud-tirolcampobassotrentinsüd-tiroltrentinosüd-tirolmonzabrianzatrentino-südtirolxn--trentino-sd-tirol-c3bpotenzacosenzavicenzaemiliaromagnavenicefrosinonemarchepordenonetrentinosued-tirolvaresemolisevalléeaostefriuli-veneziagiuliabasilicatalatinaanconasavonaveronamodenabiellabolzano-altoadigepugliafoggiaumbriatrentino-stirolgenovapadovamateranovararagusapiacenzatrentinostirolvalleeaostetempio-olbiasudsardegnatrentinsudtirolmassa-carrarafriuliveneziagiuliatrentinosuedtirolandria-barletta-tranitrapanixn--cesenaforl-i8amaceratacaltanissettaascoli-picenobrindisicarraramassacagliaririmininapolivibo-valentiachietibulsan-sudtirolbalsan-sudtiroltrentino-a-adigebulsanbalsaniglesiascarboniamilanotorinoteramodell-ogliastraarezzotrentinoalto-adigerovigotrentovenetoiglesias-carboniatrentino-sud-tirolaltoadigereggio-emiliareggio-calabriasardegnatranibarlettaandriapiedmontxn--sdtirol-n2amedio-campidanotrentino-süd-tirolfriuli-vgiuliafriuli-ve-giuliaromeennaromapisa32-b16-b64-blodiastibarineencomonaplesforlicesenailiadboxosalessandriasicilytrani-barletta-andriaxn--trentin-sdtirol-7vbpesarourbinotrentinsued-tirolcesena-forliforlìcesenaemilia-romagnamonzaebrianzaxn--trentinsdtirol-nsbtrentinos-tiroltrentinsüdtirolvalledaostaolbia-tempiocampidanomediovibovalentiasassarivalle-daostalombardysud-sardegnafriulivegiuliareggioemiliamonzaedellabrianzaalto-adigevercellitrentin-sudtiroltraniandriabarlettatrentino-sudtirolascolipicenobozen-südtirolfriulive-giuliaflorencexn--cesena-forl-mcbcarbonia-iglesiasaosta-valleycarrara-massadellogliastratrentinoa-adigexn--valleaoste-e7apesaro-urbinoxn--trentinosdtirol-7vbxn--trentin-sd-tirol-rzbxn--trentinsd-tirol-6vbtrani-andria-barlettatrentin-süd-tirolxn--trentinosd-tirol-rzbgrossetomonza-e-della-brianzasüdtirolreggiocalabriatrentinoaadigetrentin-südtirolverbano-cusio-ossolafriuliv-giuliaverbaniacampaniatrentino-aadigefriulivenezia-giuliasardiniaandriabarlettatranibarletta-trani-andriacatanzarooristanourbino-pesarocesena-forlìvalle-d-aostacampidano-medio123homepagesiracusatempioolbiasuedtirollombardiaavellinocesenaforlìtrentinofriuli-venezia-giuliabozen-sudtirolandria-trani-barlettabulsan-südtirolbalsan-südtirolmonza-brianzabolzanotrentino-sued-tirolbellunosalernolivornocrotonesondriodnshometrentinsud-tirolmassacarraratrentin-sud-tiroltrentino-suedtirolviterbobergamocesenaforliolbiatempiopalermobeneventoagrigentoofcoorgnetfmaitvphdengorgmilcomschnetedugovperagrikanieasukehandachitatokaiaisaikonanoharuamaobuhigashiuraowariasahiinuyamatobishimaiwakurashitarainazawatoyonegamagorimihamatoyotataharakariyayatomioguchikomakimiyoshinishiotokonamekiyosuchiryutoyohashiokazakiisshikikasugaikotakiratoeianjotogofusosetohazutsushimashinshirotakahamanisshinshikatsuhekinantoyokawaichinomiyatoyoakeodateogataakitaikawakyowahonjoogayurihonjonoshirokamiokakatagamimitanegojomeyokotekosakadaisenkazunonikahohonjyomoriyoshimisatohappoukamikoanihachirogatahigashinarusesembokufujisatokitaakitaitayanagiowanitakkomutsutsurutahirosakigonoheoirasetowadamisawanohejiaomorishingohiranairokunohehashikamitsugarushichinohehachinohenakadomarisannohekuroishisakaeisumiasahiotakiinzaiabikomatsudoyachiyomutsuzawakujukuriomigawakashiwatoganemihamanaritasakuranagaramobarahanamigawachoshishiroichoseikozakishisuikatorimidorichonankyonanfuttsuonjukufunabashinagareyamanodasosatakochuotohnoshourayasukimitsuyokaichibayotsukaidosodegauratateyamakamagayayokoshibahikariyachimatakatsuuratomisatokisarazukamogawaichikawanarashinoichinomiyashimofusaminamibososhirakoichiharaoamishirasatoikatahonaiainansaijoseiyoiyoozuuwajimaniihamanamikatamasakiuchikokihokutobetoonshikokuchuomatsuyamaimabarikamijimakumakogenyawatahamamatsunosabaeikedaobamasakaifukuiohionotsurugamihamawakasaminamiechizeneiheijikatsuyamatakahamaechizensoedaukihaomutaokawanishiogoribuzenonojosueumiokiotochikugosasagurisaigawamizumakishinyoshitomikurumekurateyamadakasuganakamamiyamanogatatakatahakataiizukakawaratagawakasuyaashiyainatsukimunakataminamitsuikishonaikurogifukuchikeisenhigashimiyakoshinguyukuhashiokagakiyamekogaongausuikahotohochuotoyotsumiyawakadazaifuhisayamatachiaraiyanagawanakagawahirokawachikujochikushinochikuhochikuzennamieotamaokumashowateneiiwakikoorinangoononishigoshimogoomotegomishimafukushimaasakawakagamiishishirakawaiitatefutabahiratayugawahanawakitakatakawamatakunimiyabukibandaihigashihironoyamatomiharuyamatsuriaizubangedatesomaaizuwakamatsuyanaizuaizumisatonishiaizuizumizakikitashiobarataishinkaneyamakoriyamainawashirotanagurafurudonosamegawasukagawaishikawatamakawaikedaogakitaruiginanenahashimahichisonakatsugawaibigawashirakawamizunamiminokamomitakekawauesekigaharatomikasakahogikitagatayamagatatajimianpachimotosuyaotsukakamigaharahidakanisekitokigujominogodoyorogifukasamatsutakayamawanouchihigashishirakawakasaharashimonitatsumagoichiyodakannakanrashowameiwakiryuotaoratomiokafujiokaitakuranaganoharahigashiagatsumatakasakishibukawaminakamikatashinatsukiyonokawabanumataannakaoizumimidorishintoisesakiuenoyoshiokakusatsutakayamanakanojonanmokutamamuratatebayashimaebashiotakekaitadaiwahongofuchukuietajimashobaramiharahatsukaichihigashihiroshimamiyoshikumanokurenakasakaseraseranishiasaminamifukuyamashinichionomichiosakikamijimajinsekikogentakeharaotobenanaeikedatohmaozoraobiraabirakyowaeniwataikibibaisharirebunerimohiroooketootarupippunishiokoppechitosefurubirahakodateshiranukakitahiroshimakushiroobihironanporoiwamizawaniikappukunneppufukushimanakasatsunaitoyourakuromatsunaiakabirakamisunagawashibechaurakawakamifuranonakatombetsuasahikawashimokawakayabeokoppebiratoriabashirisaromaatsumanumatahidakabifukamukawamikasahorokanaitoyotomisarufutsuhigashikawaishikarikitamiyoichiesashiiwanaitomariminamifuranoakkeshifuranotoyakoyakumootoineppushikaoishiraoinemuronayorohaboroashorobihororishirifujiutashinaihokutotakasuebetsuurausuassabukikonaishimamakinaiedatetoyabieinikiesanuryuoumuteshikagarikubetsuashibetsukimobetsuaibetsutobetsusobetsuembetsushimizuchippubetsurishirihokuryuhoronobeshintokutsubetsushibetsuhonbetsumombetsutsukigatakuriyamakoshimizushiriuchikutchanmurorannoboribetsukamishihorowassamushinshinotsukembuchiwakkanaikamoenaikiyosatotakinoueshikabesunagawafukagawanakagawatakikawakamikawahigashikagurahamatonbetsumatsumaemoseushirankoshishakotanimakanemashikeotofuketomakomaisandatambaitamiawajikasaiasagoshisoonoakoyashirotoyookaminamiawajiinagawafukusakitakasagokamigorikasugaharimayokawaashiyahimejiakashitaishiaogakisannantakinosumototakarazukanishinomiyashingugoshikinishiwakiyokatakaaioimikisayoyabukawanishiamagasakisasayamashinonsenkakogawaichikawakamikawatatsunotsukubaiwamaogawaasahisakaitokaioaraiitakobandodaigosuifuinaamikasumigaurakashimaomitamayachiyoshimodatetomobetoridehitachinakainashikisakuragawakasamayawaramoriyahitachiomiyanamegatayamagatahitachikamisuushikutakahagiibarakitonekoganakasowayukimihojosomitoryugasakishimotsumafujishirotsuchiurachikuseihitachiotashirosatotamatsukuriuchiharashikahakuinanaotsubatawajimakahokukawakitatsurugikaganominotosuzuuchinadakomatsuanamizunakanotohakusannonoichikanazawaiwateshiwafudaikawaimoriokaofunatohanamakikuzumakikitakamininohekunoheyamadayahabasumitaichinosekitanohatahiraizumirikuzentakatajobojiotsuchihironomiyakoiwaizumikarumaiichinohenodakujitonooshushizukuishifujisawamizusawakamaishikanegasakimannoutazukotohiraayagawazentsujihigashikagawauchinomikanonjisanukimarugamemitoyotakamatsutadotsunaoshimatonoshoakuneamamiizumihiokiyusuikinkoisasookouyamanakatanekagoshimakanoyaisenkawanabeminamitanemakurazakitarumizunishinoomotematsumotosatsumasendaioimatsudaayaseebinamiurazushinakaiodawaraiseharasagamiharahakoneaikawakaiseiatsugitsukuihadanoyamatoyamakitazamaoisochigasakininomiyayokosukakamakuraminamiashigarafujisawasamukawakiyokawahiratsukayugawaraokawaumajikochitsunootoyoakiinonishitosayasudahidakamiharasakawaniyodogawahigashitsunokagamigeiseisusakiotsukinaharisukumomurototosakamiochitoyotosashimizumotoyamanankokunakamurakitagawayusuharaogunichoyoukiasoutoozugyokutoamakusamifunetakamoriyamagaminamataminamiogunikikuchisumotoyamatonagasumashikiaraokumamotokamiamakusanishiharayatsushiroayabeseikasakyoideineujinakagyokameokakyotangokyotanabekyotambaminamiyamashiroyamashinatanabeyawatawazukaminaminantanmiyazuhigashiyamafukuchiyamakitamukokamojoyokizumaizuruujitawaraoyamazakinagaokakyokumiyamakawagoeinabeshimameiwaasahitaikiudonoisetsukisosakikuwanamihamamiyamasuzukatamakimisuginabarikumanokomonominamiisewataraitobakiwatakikihotadomatsusakayokkaichikameyamaureshinoishinomakishichikashukuohirataiwaosakizaohigashimatsushimashikamaiwanumashibataogawaraonagawakawasakiseminemarumoriminamisanrikukakudamuratawakuyatomiyanatoriwataritagajomisatotomekamirifushiroishimatsushimayamamotoshiogamafurukawahyugaebinotsunosaitoayakushimanobeokakitauramiyazakitakazakigokaseshiibamimatashintomikunitomikitakatakobayashikawaminamitakaharukijotakanabemiyakonojonishimeranichinankitagawakadogawamorotsukakisofukushimaminamimakisakaeobuseikedaogawamiasaokayaasahiotakiotarichinoinaomichikumakomaganechikuhokukaruizawayasuokaooshikaikusakaminamiaikitogakushimatsukawakawakamitateshinatakamorikitaaikishiojirimiyadahakubaiizunaiijimaiiyamamiyotasuzakayasakatoguraookuwanagawaminowahirayayamagataminamiminowafujimiomachisakakitakaginaganonakanosakuhokomoronagisoshinanomachiwadauedaiidaharasuwatomiachiaokianankisosakunozawaonsenagematsutakayamashimosuwamatsumotoyamanouchinakagawamochizukiazuminotatsunoobamaomuraseihiunzenosetofutsuikichijiwanagasakiisahayahasamisaikaikawatanasasebohiradokuchinotsugototogitsutsushimashimabarashinkamigotomatsuurayamazoekashibaikomakawaitenrioyodosangokoryoudaojiikarugayamatokoriyamatenkawakatsuragikurotakikawakamimiyakemitsuetakatorikamikitayamayamatotakadahegurishinjokanmakisakuraitawaramotogoseoudanarasoniandokawanishishimoichihigashiyoshinokashiharashimokitayamanosegawayoshinomintsivorytopazsakuragehirnsumomoaseinetopalmail-boxmokurenyoitamuikaojiyagosensanjoaganomyokoseiroagaomishibataniigatanagaokamurakamiuonumayuzawakariwatagamitainaitsunanminamiuonumatochioyahikojoetsuseiroukamosadoizumozakitokamachiitoigawasekikawakashiwazakitsubamemitsukekokonoesaikiusukibeppuusahimeshimakunisakihasamataketatsukumihitaoitahijikusuyufukujukamitsuebungoonobungotakadaibaraniimibizentsuyamaokayamakasaokahayashimayakagemaniwaakaiwamisakishinjotamanotakahashikibichuowakesojanagishookumenannishiawakurakurashikiasakuchisetouchikagaminosatoshotomigusukunakagusukuyaeseizenaurumaiheyaaguniogiminanjokinminamidaitokitanakagusukuyonaguniokinawaishigakikunigamiurasoekadenataramahiraraginozataketomishimojizamamitonakiitomanhigashimotobuyonabarugushikamionnanahanagohaebarukumejimakitadaitonakijinnishiharayomitanginowantokashikiishikawaikedasuitaminohizuminishisakaikananabenodaitoosakasayamayaokishiwadatadaokakaizukatondabayashichihayaakasakakumatorikadomasayamahigashiosakashijonawatehirakatataishimisakitajirihannansennankatanotoyonominatosettsuhigashiyodogawaibarakinosekitachuohigashisumiyoshifujiiderakashiwaraizumiotsutoyonakamatsubaramoriguchiizumisanoshimamototakatsukineyagawahabikinotakaishikawachinaganoyoshinogarikamiminearitaouchiimarihizenogikashimaariakekiyamafukudomikitagatakitahataomachigenkaikanzakinishiaritakyuragisagataratosutakushiroishikaratsuhamatamakouhokukawagoeyoshidasatteogoseirumaasakaurawaogawaniizaomiyayoriiotakishikihonjooganohannohanyuinasaitamaokegawaarakawayoshikawayokozehasudasayamahidakafukayachichibuiwatsukiryokamiyoshimikamiizumifujimiwarabiranzanmiyoshiminanoyashiosakadosugitomisatohigashichichibutodasokakukiyonokazoshiraokakasukabekounosukawajimatsurugashimamiyashirokitamotohatoyamamoroyamahatogayakumagayakawaguchinagatorokamisatomatsubushinamegawatokigawakamikawafujiminohigashimatsuyamakoshigayatokorozawas3isk01isk02ryuohkoseikonanaishorittotakashimamaibarahikonetorahimenishiazaikokagamokotoyasuotsukusatsunagahamamoriyamatoyosatotakatsukinotogawaomihachimanhigashiomiakagiunnanizumogotsuamayatsukakakinokimatsuehamadamasudahikawahikimiokuizumoyasugiyakumomisatotamayuohdahigashiizumookinoshimanishinoshimatsuwanoshimaneshimadafujiedayoshidashimodagotembaiwataatamikosaiyaizuitoizumishimahaibaramakinoharaomaezakikawanehonkannamisusonohigashiizufukuroinumazukawazufujiaraishizuokahamamatsushimizuizunokunimatsuzakimorimachiminamiizunishiizukikugawakakegawafujikawafujinomiyaujiietsugaoyamayaitaohiranikkoashikagakuroisokanumasakurashioyakarasuyamamotegiichikaikaminokawatochigihagamokanogisanobatonasumibunasushiobaranishikatautsunomiyaiwafunemashikoshimotsukeohtawaratakanezawaitanokomatsushimatokushimaichibaminamiaizumiwajikikainanmiyoshinarutomimamugiananmatsushigesanagochishishikuinakagawamachidachiyodakomaefussainagitaitochofufuchuomeotahigashiyamatotoshimaokutamaaogashimakodairaedogawaarakawahachiojishinagawatachikawashibuyasuginamihinodekiyosesumidaoshimanerimamitakahamuraadachinakanomizuhobunkyomegurominatokoganeihigashikurumekokubunjihigashimurayamamusashimurayamatamakitahinochuokotokatsushikakouzushimaogasawaraakishimakunitachishinjukusetagayamusashinohachijoitabashiakirunohinoharachizunanbukotouramisasawakasayonagokogehinoyazutottorinichinansakaiminatokawaharaoyabetairainamiasahinantoimizufuchutakaokakurobeyamadajohanatoyamatonaminyuzenfunahashinakaniikawanamerikawaunazukitogahimiuozufukumitsutateyamakamiichiiwadearidayuasainamitaijikatsuragiaridagawatanabemihamahidakakainankiminomisatoshingushirahamakamitondayurakozakoyagobokitayamawakayamakudoyamahashimotokushimotokozagawahirogawakinokawanachikatsuurarsuseroeoishidasagaeoguniasahinagaitendonanyoobanazawanishikawasakataohkuratozawamikawamamurogawayamagatafunagatatakahatashonaishinjokahokuiideyuzakawanishitsuruokakaminoyamayamanobeshiratakamurayamanakayamakaneyamahigashineyonezawasakegawamitouubeyuuabushimonosekitabuseoshimatoyotaiwakunihikarishunannagatohagihofukudamatsutokuyamashowadoshitsurunanbukoshukaiminami-alpsnirasakikosugeotsukioshinohokutominobuyamanashifuefukichuokofuichikawamisatoyamanakakonakamichitabayamanishikatsuranarusawafujikawahayakawafujiyoshidafujikawaguchikouenohara長野京都岐阜大阪三重群馬千葉滋賀佐賀奈良adednelgaccogogror秋田愛知高知埼玉沖縄栃木熊本岩手青森山梨新潟島根鳥取長崎香川宮城石川大分宮崎茨城山口兵庫山形徳島広島福島福岡岡山富山静岡愛媛福井東京xn--4it168dhatenadiaryxn--vgu402ckawaiishophatenablogcocottenamaste北海道penneehimeiwateversestabachibashigagonnagunmapermahaccaakitaosakauh-ohblushkochiaichifukuikuroncapooitigohyogotokyokyotopunyuthickcheap0t00g00j0mie2-ddaapyawjg0amfemsubxiiboomoobutchueekpgwrgrherskrboyrdyupperunderflierchipsmydnsheavyangryhippygirlyrulez神奈川鹿児島和歌山bambinaxn--nit225kokayamasaitamaxn--k7yn95exn--1lqs03nsapporoparasitelolipopmcxn--efvn9sniigatafukuokatokushimafukushimahiroshimakagoshimafakefurokinawaxn--8pvr4ucoolblogxn--0trq7p7nnkawasakinagasakimiyazakichilloutxn--8ltr62kxn--klty5xpeeweezombiecutegirlxn--rny31hxn--uuwu58axn--ntso0iqx3axn--djrs72d6uytoyamanikitanyantakagawamimozanagoyaboyfriendxn--2m4a15egreaterchowderegoismyamagatafashionstorexn--elqq16hxn--pssu33lsendaimiyagixn--rht27zpecoriaomorisaloonwatsonvivianxn--djty4knobushipigboatnaganopinokoxn--f6qx53asadistvelvetsecretxn--5js045dchicappayamanashiibarakidigickgirlfriendxn--1lqs71dmongolianxn--c3s14mxn--qqqt11mtochigixn--5rtq34kparallelo0o0mondkobesagabonadecaoitanarafoolkilldecimainhiholomosblokilociaoundopupugifutankcrapflopnooroopsmodsholyjeezstripperpepperbittershizuokaxn--rht3dkitakyushureadymadeicurusversusmatrixxn--rht61ehungryfloppygloomycrankyhandcraftedlittlestarxn--klt787dxn--kltx9awhitesnowsunnydaytottorilovepoptheshopbuyshopxn--5rtp49cxn--d5qv7z876cwebaccelxn--kbrq7oxn--4pvxsxn--1ctwolovesickkumamotocatfoodxn--tor131oyokohamawakayamatonkotsuxn--ehqz56nxn--uist22hxn--6btw5axn--kltp7dyamaguchifrenchkisspussycatxn--4it797kxn--uisz3gbabybluexn--zbx025dnetgamersxn--7t0a264ckanagawaxn--6orx2rishikawaxn--ntsq17ghalfmoonschoolbusjellybeanxn--mkru45iusercontentlolitapunkxn--32vp30hsakurastoragehokkaidoshimanecandypopbabymilksupersaleweblikeraindropbackdropwebsozaikikirarahateblodaynightmeneacsccogoormobiinfoaeusxxorgmilcomnetedugovorgcomnetedugovbizinfotmprdorgmilcomnomedugovassnotairespresseassocoopgouvveterinairemedecinpharmaciensorgnetedugovtraorgcomedurepgovmeneperekgacscaiiocogoitoresmshsseoulbusanulsandaeguc01milvkimmvchungnamjeonnamjeonbukeliv-dnsgyeonggijejueliv-cdnincheondaejeongangwongyeongbukgwangjuchungbukgyeongnameliv-apicoeduindorgcomembnetedugovorgmilcomnetedugovjcloudorgcomnetintedugovperbnrinfocooyorgcomnetedugovethipfscanvamypepethw3sstorachakeeneticjoinmcinbrowserdwebcyonnftstoragemyfritzaemewphlxachotelltdorgcomwebsocschngonetintedugrpgovassnomgacsccoorgnetedugovbizinfo123websiteidorgmilcomasnnetedugovconfidmedorgcomplcschnetedugovaccoorgnetgovpresstmassoirseproxaccosoundcasthoptocraftvp4c66orgnetedugovitsmcdirmyboxbarsyedgestacksynologylogintoopencloudnohostwebhopdiskstationi234tcp4hoocgroknoipprivmydsddnsdnsforlohmustransipdscloudfilegear-sgbrasiliafilegearframerbarsybarsyonlinecoprdorgmilcomnomedugovinforgcomnetedugovnameacprorgcomartnetedugovpresseinfoassoinstgouvorgnycedugovbarsydscloudjuorgcomnetedugovminisiteaccoororgcomnetgovorgmilcompronetintedugovbizmuseumnameinfoaerocoopaccoorgcomnetintedugovbizcooporgcomgobneteduorgmilcomnetedugovbiznameaccoorgmilneteduadvgovcoorgcomnetaltgovforgotherhiskeeneticispmanagernomassoprod5476132eastasiacentraluswesteuropewestus2eastus2pnortheurope-01newzealandnorth-01southindia-01southcentralus2-01norwaywest-01eastus2-01westus2-01australiaeast-01italynorth-01israelnorthwest-01swedencentral-01westeurope-01centraluseuap-01taiwannorthwest-01uaecentral-01northcentralusstage-01israelcentral-01mexicocentral-01canadacentral-01austriaeast-01germanywestcentral-01francecentral-01ukwest-01denmarkeast-01polandcentral-01eastus-01westus-01swedensouth-01eastus3-01westus3-01brazilsouth-01centralus-01francesouth-01australiacentral-01westindia-01uaenorth-01jioindiacentral-01canadaeast-01belgiumcentral-01spaincentral-01koreacentral-01chilecentral-01qatarcentral-01westcentralus-01eastus2euap-01norwayeast-01southafricanorth-01brazilsoutheast-01germanynorth-01switzerlandnorth-01switzerlandwest-01japanwest-01southafricawest-01japaneast-01eastasia-01indiasouthcentral-01taiwannorth-01centralindia-01uksouth-01southcentralus-01northcentralus-01eastasiastage-01indonesiacentral-01australiacentral2-01australiasoutheast-01malaysiawest-01koreasouth-01southeastasia-01southeastus5-01northeastus5-01jioindiawest-01rucdnwest1-usfra1-desandboxjls-sto1jls-sto3jls-sto2aglobalabglobalsslmapprodfreetlsmapvpslon-1lon-2ny-1fr-1sg-1ny-2paassnwebpaashostingjelasticnordeste-idcsocuserpagescwebfileblobservicebuscoreatlricnjsjelasticwebsitestoragesezagbinruhuukjptsmyspreadshopmynetnameakamaiorigin-stagingfrom-coipv64dynv6cdn77serveblogadobeaemcloudhicamsprytdnsupno-ipownipde5ovhicpfirewall-gatewaysytesmypsxbarsyusgovcloudapimyamazemyradwebakamaihdsaveincloudfastlylbfrom-lasubsc-paysquare7in-the-bandblackbaudcdnhomelinuxoninfernoctfcloudservebbsdns-dynamiccloudfrontakamai-stagingipifonyham-radio-opsenseeringclickrisingcommunity-profrom-nylocalcertgrafana-devedgesuite-stagingcloudflareanycasteating-organicatlassian-devmydattofeste-iplocaltotorprojectknx-serveredgekeycloudflareglobalcloudyclustercasacamserveftpakamaized-stagingakamaiorigindns-cloudmyeffectboomlabotdashbuyshousestwmailhetemlazure-mobilein-dslthruhereredirectmedynuddnsbouncemesupabaseluyanicloudappakamaicloudfunctionsdebiannhlfanpgafanstatic-accessin-vpnmysynologymafeloappudohomeftptrafficmanagersiteleafseidatmemsetcloudflarecloudaccesskeyword-onazure-apiis-a-chefdoes-itgets-itwebhopselfiphomeipkicks-assedgesuitewindowsserver-ontunnelmolemydissentscrapper-sitecloudflarecnuni5srcfggffiobbzabchrsndenodynuopikddnsvpndnsakadnselastxkinghostvps-hostfastlyhomeunixazureedgeshopselectdontexistmyfritzcloudjiffyalwaysdatasells-itsquaresbroke-itazurefddattolocalat-band-campmeinforumfamilydsazurestaticappsdefinimabplaceddnsaliasdynaliasnow-dnsblogdnsroutingthecloudendofinternetdsmynasakamaiedgemymediapcadobeio-staticakamaiedge-stagingakamaihd-stagingddns-ipprivatizehealthinsurancelive-onkrellianschokokeksmassivegridmysecuritycamerarackmazeserveminecraftfrom-azis-a-geekakamaizedmoonscaleoffice-on-theusgovtrafficmanageradobeioruntimeedgekey-stagingreserve-onlinechannelsdvrdnsdojousgovcloudappcdn77-sslapps-1and1podzoneazurewebsitesdynathomescaleforceyandexcloudvusercontentisa-geekcdn-edgescoaemalcesappwriteazimuthtlonarvobuiltwithrocketnoticeablestorecomwebrecnetperotherfirminfoartslgdloncogoiltdorgmilcolcomplcschgenngonetedugovbiznamefirmmobiacincoorgmilcomnomwebgobnetintedubizinfocomyspreadshopdemongovtransurl123websitehosting-clusterkhplaycistrongsnesosvalervålerxn--vler-qoaossandeheroysandeherøybøboheroyherøyxn--hery-iraxn--b-5gavalerbøboxn--b-5gasandesandexn--hery-iraxn--vler-qoavålerhåreålaahavaofsfvfhlolnlalrlhmfmtmahcostntbuåstrmreigersundmyspreadshopgálsáeidsvolltingvollgildeskalflorøvadsøvardøvanylvenxn--bhccavuotna-k7astrandaxn--kvnangen-k0axn--sknland-fxaxn--mosjen-eyarakkestadhyllestadnannestadvevelstadvaapstenordre-landsondre-landsøndre-landtjieltexn--vrggt-xqadsør-aurdalsor-aurdalheradstordmoldefordeførdeseljefedjeryggehemnexn--krehamn-dxasognegranesøgnebrynetjomevallebykletokkegiskedovretjømehobølvoldasaudatolgasømnaviknadønnasomnadonnatranafrananesnaraumasmolatrænafrænalesjasmølaørstaorstahitrafloraaukraloppafrøyarissasnasahalsagalsaromsaraisaráisafroyasnåsagronghobolfjelltydalårdalardalaskimharamkraanghkekråanghkesorumbarumhurumbærumsørummodumsálátbálátfrognbjugnvåganvagangulenskienløtenlotenstrynvefsnxn--merker-kuaskaunsveiobømlobomloskjåkvardoflorovadsosalatbalatsálatklæbuklabuselbubarduulvikskjakklepprisørxn--nttery-byaeflåeidflahofmilgolholsellomskifetvikdepvgsfhsaskerrisorhamarasnesåsnesrørosrorosxn--slat-5namasoynaroyvaroyluroydyroyaskoyradoyandoyrodoymeloyradøyandøyrødøymeløyaskøylurøydyrøymåsøyværøynærøyhoylandethøylandetdivtasvuodnalørenskoglorenskognesoddtangenxn--tjme-hraxn--smla-hraxn--stjrdal-s1aunjargalillehammerunjárgaxn--hamary-fyadavvenjargaxn--bearalvhki-y4a123hjemmesidegjerdrumxn--brnnysund-m8acxn--tnsberg-q1axn--mlatvuopmi-s4axn--snsa-roaxn--skierv-utaxn--brum-voatysfjordkvafjordeidfjordkvæfjordsongdalenmjondalenmjøndalenxn--gls-elackragerogáŋgaviikagangaviikasørreisasorreisasør-varangersor-varangerxn--risr-iraskiervaxn--frna-woaxn--trna-woakvinesdalleksvikleirvikrøyrvikroyrviksvelvikvenneslaevje-og-hornnessandnessjøenmarnardalvindafjordsandefjordenebakksnillfjordullensvangxn--trany-yuabrønnøysundnamsskoganaustevollxn--stjrdalshalsen-sqbnord-aurdalnord-frontrøgstadtrogstadgrimstadflakstadgjerstadxn--sandy-yuaxn--leagaviika-52bnore-og-uvdalvegarsheixn--rlingen-mxaxn--ggaviika-8ya47hvegårsheikarlsoykvitsoymasfjordenhamaroyinderoyosteroydavvenjárgasauheradguovdageaidnuxn--vre-eiker-k8abronnoysiellakkrødsheradkrodsheradkvinnheradbrønnøyxn--mtta-vrjjat-k7afxn--lrenskog-54akvitsøyvárggátkarlsøyosterøyinderøyhamarøybronnoysundxn--aurskog-hland-jnbbahccavuotnabáhccavuotnagiehtavuoatnastor-elvdalmidtre-gauldalxn--gildeskl-g0akarasjokevenassixn--bievt-0qaxn--yer-znalebesbynessebyxn--hbmer-xqamalselvmålselvxn--unjrga-rtamøre-og-romsdalmore-og-romsdalhareidmelandørlandorlandstrandålgårdsolundalgardafjordåfjorddielddanuorrikautokeinoxn--stre-toten-zcbskodjeaejriestangeliernebamblestokkefauskesnåasesnaasekongsvingerlangevagberlevagxn--flor-jrahattfjelldalostre-totenøstre-totenvestfoldxn--mely-iraálaheadjualaheadjunordreisaxn--troms-zuaxn--lgrd-poacporsangerflatangerstavangerleikangerbremangersamnangergieldakarasjohkaxn--rdy-0nabfrostautsirasnoasatromsaxn--sr-aurdal-l8aflekkefjordjølsterjolsteraremarkhedmarknååmesjevuemienaamesjevuemiexn--vard-jrarollagmeråkermerakerorskogørskogxn--bdddj-mrabdákŋoluoktaxn--osyro-wuaaknoluoktatrysilskjervøymandaljondalbindalrindalmeldalsuldalorkdalsigdalalvdallærdalhurdalsirdalverdallerdallardaloppdalåseralaseralhadselkragerødivttasvuotnaoverhallasteinkjerxn--hnefoss-q1askedsmokorsettromsøxn--dyry-iravestre-totenmuseumxn--sandnessjen-ogbrahkkeravjufylkesbiblbájddarbajddarxn--laheadju-7yarennesøyxn--koluokta-7ya57hxn--hgebostad-g3aleirfjordstorfjordbalsfjordbåtsfjordbatsfjordmuosátbievátloabátkárášjohkanøtterøyxn--mjndalen-64anordkappláhppilahppialstahaugsiljanverranrøykenroykenhaldenlyngenbergenhortenhønefosshonefosstroandinbeiarnvarggatosoyroosøyrotromsoidrettmuosatbievatruovatloabatvoagattynsetnessetxn--indery-fyaskánitskanitraholtråholtxn--ystre-slidre-ujbandebusarpsborgbearduxn--karlsy-fyahordalandjorpelandjørpelanddeatnuringsakersør-odalsor-odalxn--slt-elabringerikeaudnedalnittedalnissedalhemsedalslattumsurnadalxn--blt-elabelverumstjørdalnaustdalhjartdalgjøvikfyresdalhasviknarviklarvikgjovikmalvikgamviklenvikporsgrunnstjordalengerdaldrobakdrøbakxn--msy-ula0hvestvagoyxn--vgan-qoaxn--ryken-vuaxn--lten-graxn--stfold-9xaxn--hpmir-xqaxn--lury-iramálatvuopmimalatvuopmitysværkirkenesbirkenesmoskenesbáidárxn--fjord-lraxn--rdal-poabahcavuotnabáhcavuotnaxn--frde-gralindåsbearalvahkixn--hobl-iraráhkkerávjuxn--loabt-0qavågåáltábodøsundlundraderådeetnetimeholeauregrueoddavagavegaranatanaarnasolasulaaltalekafusavangbergkvamåmliamlibokntinnroangranosenoslobodorøstroststatåmotamotivguprivøyeroyerliermossvossxn--nvuotna-hwalusterlunnermarkerhábmerhabmerhvalerfjalerxn--rholt-mratysvarbaidarfitjargaularhápmirhapmirmelhusfosnesøksnesoksnestysneshemnesevenesflesbergeidsbergtonsbergtønsberglindasxn--sndre-land-0cbnamsosxn--srum-graøystre-slidreoystre-slidrevestre-slidretrondheimbalestrandxn--langevg-jxaaustrheimxn--skjk-soavagsoyaveroysandoykarmoyfinnoytranoyvestbytranbysykkylvenxn--hyanger-q1aspjelkavikandasuoloxn--fl-ziaxn--drbak-wuastathellexn--sr-varanger-ggbtelemarkxn--bhcavuotna-s4axn--porsgu-sta26fčáhcesuolocahcesuoloakrehamnåkrehamnsandøykarmøyfinnøytranøyvågsøyaverøynamdalseidxn--lesund-huabadaddjaxn--vegrshei-c0axn--btsfjord-9zagildeskålporsanguxn--trgstad-r1anávuotnanavuotnahammerfestxn--sgne-graxn--brnny-wuacibestadharstadnarviikaevenáššivestnesgjemnessandnesagdenesrennesoyxn--avery-yuaxn--tysvr-vrabearalváhkikongsbergspydebergrandabergxn--andy-iradavvesiidaxn--krdsherad-m8aporsáŋgufredrikstadbjerkreimringeburennebuaurskog-holandnotteroyxn--vgsy-qoa0jxn--rmskog-byaskierváivelandbyglandfrolandaurlandforsandxn--bjddar-ptamidsundålesundalesundfetsundfarsundovre-eikerøvre-eikerakershusxn--moreke-juasørfoldøstfoldostfoldsorfoldhøyangerhoyangerlevangerorkangertanangerxn--vestvgy-ixa6olillesandulsteinxn--rennesy-v1agranvinskjervoyxn--klbu-woalavagisxn--h-2faxn--ryrvik-byakafjordkåfjordseljordfolkebiblxn--gjvik-wuajevnakerxn--kfjord-iuabudejjuxn--kranghke-b0axn--davvenjrga-y4axn--rland-uuaxn--ldingen-q1axn--mlselv-iuaxn--rady-iraxn--linds-prabrumunddalxn--ygarden-p1amo-i-ranaeidskogrømskogromskoghjelmelandxn--finny-yuaxn--sr-odal-q1axn--skjervy-v1aballangenkvanangenkvænangengratangenxn--hmmrfeasta-s4acvossevangensuohkanxn--rde-ulaxn--mli-tlaxn--ksnes-uuanordlandskanlandskånlandsortlandfuoiskuxn--rros-graxn--hcesuolo-7ya35bxn--eveni-0qa01gagaivuotnagáivuotnaxn--seral-lradrammenmodalenmosjoenjan-mayentorskensteigengloppenxn--snes-poamatta-varjjatxn--sr-fron-q1aomasvuotnajessheimbådåddjåxn--krager-gyaxn--kvfjord-nxaxn--asky-iraxn--snase-nraxn--bidr-5nacholtålenxn--vads-jraxn--jlster-byamosjøenxn--rst-0nastavernxn--ostery-fyaxn--oppegrd-ixaxn--sknit-yqaxn--risa-5naoppegårdskiptvetrendalenholtalenxn--mot-tlaxn--lhppi-xqaxn--holtlen-hxaxn--srreisa-q1akopervikxn--muost-0qaxn--bmlo-grahokksundkvalsundegersundxn--karmy-yuaullensakerxn--hylandet-54axn--kvitsy-fyaxn--bod-2nalangevågberlevågkristiansandxn--rsta-frahornindalstjørdalshalsenstjordalshalsensandnessjoenhámmárfeastaxn--lrdal-srasør-fronsor-fronnord-odalkristiansundmátta-várjjatvestvågøynesoddennotoddenbuskerudøygardenoygardensalangenlavangenralingenrælingenlodingenlødingenleaŋgaviikalaakesvuemieleangaviikauenorgexn--srfold-byaaskvollxn--rskog-uuaxn--nry-yla5gxn--vry-yla5ghammarfeastaxn--rhkkervju-01afxn--givuotna-8yakommunekrokstadelvanedre-eikerhagebostadhægebostadxn--berlevg-jxakviteseidxn--s-1faxn--l-1faxn--nmesjevuemie-tcbafuosskomoårekemoarekexn--lt-liacxn--jrpeland-54asvalbardoppegardholmestrandtvedestrandsogndalsokndalarendalsunndalfolldalxn--krjohka-hwab49jlyngdaletnedalnorddalsaltdalgausdalskedsmovaksdalgjesdalstordalxn--frya-hraaarbortedrangedalxn--smna-graaurskog-hølandxn--vg-yiabtjeldsundhaugesundlindesnesxn--mre-og-romsdal-qqbxn--dnna-gradyntmpheremerseineshacknetenterprisecloudmineaccomaorimāoriorgmilcriiwigennetschoolhealthkiwigovtgeekxn--mori-qsacloudnsparliamentcomedorgcompronetedugovmuseumwebsitekinservicebarsywebsitebuildereerobookheimdnsleapcelleero-stagetechcrscsslorigingohomecdbedeeeiemesecabgngilnlalplchfisiincnnoroptatitmtltruauhulumkdkukskjplvtrgrfrkrhrusesismycynzcznetinteduassoososcloudstgbetaaezaeuhkusjshatenadiarycdn77hoptozaptois-a-knightmyftpno-ipjpnddnssdpdnsspdnsbarsysweetpepperis-a-bruinsfanis-very-sweetservegameis-a-soxfanhomelinuxcdn77-secureservebbsmisconfusedwebredirectblogsitefreedesktopcouchpotatofriestoolforgeaccesscamis-lostreadmyblogsmall-webfedorapeopleserveftpis-a-celticsfanmywirepotagertwmailin-dslsellsyourhomeread-booksfreeddnscable-modemis-savednflfanufcfanmlbfanstuff-4-saleendoftheinternetin-vpnmy-firewallhomeftpis-localis-a-chefboldlygoingnowherewebhopselfipkicks-assroxatunkcamdvrfedoraprojectgotdnsdvrdnsdyndnspubtlspimientahomeunixdontexistfedorainfracloudwmflabsfspagesbmoattachmentsteckidsfamilydsdnsaliasdynaliasnow-dnscloudnsdoomdnsduckdnsblogdnshomednsroutingthecloudendofinternetdsmynasip-dynamicpoivronhttpbinmyfirewallis-very-evilmysecuritycamerais-a-linux-userwmcloudis-a-geektuxfamilyis-a-candidatedoesntexistis-very-badhobby-sitegame-hostaltervistais-foundis-a-patsfandnsdojohepforgepodzonedynservcollegefanis-very-goodfrom-meis-very-niceisa-geeknerdpolacmedsldingorgcomnomgobabonetedupleskaemhlxmyboxrockyprvcydeuxfleurspdnscodebergheyflowstatichostorgmilcomnomgobneteduorgcomeduiorgmilcomngonetedugovcloudns1337ngrokacorggogfamcomwebgobnetedugokgopgkpgovgosbizpasaugumicsopozpapuwmwsrprusiskwpspkppspkmpspokeoiawsawifoumsdnskokwpmuppuppsppiwwiwoowuzswkzoschrzpisdnwzmiuwwitdpssewsseumigugimoirmpinbwinbwiihupporzgwgriwupowwskrwioswuozstarostwokonsulattmpccopruszkowmyspreadshopostrodakartuzyopolegminamediaustkazgorajgoraolawailawalomzawloclradombytomjaworznotargilubinkoninzagantorunkutnokepnonakloczestsopotsanokturekplockslasksklepzarowlukowmedaidgdaorgmilrelcomnomatmgsmartneteduelkgovwawsossexbiztgorysejnytychypomorzeboleslawiechomesklepsdscloudunicloudzakopanelegnicarawa-mazbydgoszczswidnikkrasnikwloclawekbielawamragowograjeworealestatebeskidykaszubymalopolskaprzeworskswiebodzinlecznadfirmaszkolawarmiagdyniamiastakazimierz-dolnymalborkswidnicadlugolekaostrolekapodlasieelblagtravelsimplesitezachpomormielecszczecinnieruchomosciwalbrzychlezajsklublinbedzinpoznanwielunmielnooleckostarachowicedkontopowiatwroclawrybniksuwalkileborkslupskgdanskostrowwlkptarnobrzegtourismwegrowkrakowglogowyou2pilanysamailwrocinfoagroautobeepshoppriviqhslapypiszlodzcfolksecommerce-shopmazurypulawyskoczowrzeszowpomorskiezgierzkaliszolkuszlowiczostrowiecsosnowiecmazowszewodzislawbialowiezazgorzeleckatowicepabianicejelenia-gorawolominkarpaczsieradznowarudaczeladzkonskowolaskierniewiceswinoujscieturystykabieszczadycieszynketrzynolsztynbialystokbabia-goraprochowicewarszawastalowa-wolapolkowicegorlicegliwiceponiatowalimanowalubartowaugustowkobierzyceopocznognieznoszczytnokolobrzegshoparenapodhalebielskoklodzkostargardatwithplayitownnamecoorgnetedugovacorgcomproestnetedugovbiznameislaprofinforechtngrokmedaaaacacpaenglawjurbarbarsykeeneticavocatacctcloudnsorgcomsecplonetedugov123paginaweborgcomnetintedugovnomepublidkinbarsygovx443cloudnsorgmilcomnetedugovcooporgmilcomschnetedugovnamecomcannetlibassoaemclantmcontstoreorgcomnomrecwwwbarsyfirminfoshopartsstackitmyddnswebspacelima-cityacincooxorgedugovbarsybrendlyhbvpsvpsspectrumlandinghostingacppmordoviamcprecbgorgmilcomspbnetintedumsknovgovbirrasmcdirmytismircloudvladimirnalchikadygeyamarinepyatigorskmyjinobashkiriaeurodirvladikavkazna4ugroznykustanaikalmykiacldmaildagestaniranbuildcloudcanvaliaravalwixdevelopmentappwritemigrationneedleverceldatabasestackitcodereplravendbonporterlovableaccoorgmilnetgovcoopmedorgcompubschnetedugovservicemecomygovorggovtvmedorgcomnetedugovinfoedgfacbmlonihkutwpsryxzbdtmacfhppmyspreadshopbrandpartiorgcomfhvpress123minsidaitcouldbeworlanbibkommunalforbundfhskiopsyskomvuxkomforbnaturbruksgymnloginlineorgcomnetedugovenscaledeuusentsurgebotdaorgmilcomnetgovnowteleporthashbangplatformlovablebarsyshopwarebasehoplixbarsyonlinemsf5gitappgitpagewawamscofigma-govcaffeinefigmacanvasoltstscwputerbarsysupportchatgptsquareomniweopensocialcpanelplaycodenotionnovecorewpsquaredpreviewjelecyonbyensrhtfastvpspieboxconvexjouwwebheyflowplatformshloginlinemadethissourcecraftclouderaorgorgcomartedugouvunivmeorgcomnetedugovsurveysstatichfheiyuxs4allprojectmyfastubervibehostapp-ionosdeployagentmecoorgcomschnetedugovbizcncostoreorgmilcomneteduembaixadaconsuladokiraranohoprincipesaotomeheliohobarsystorebaseshopwaresellfyaiabkhaziavologdamordoviapenzalenugsochinavoiexnetspbmsknovnorth-kazakhstanashgabadkareliaarmeniageorgiavladimirnalchikivanovobukharaadygeyakhakassiakalugakrasnodarjambylaktyubinsktroitskbryanskobninskkurganazerbaijanpokrovskbashkiriatselinogradvladikavkazmurmansktulatuvamangyshlaktashkentchimkentgroznykaragandatermezarkhangelskkustanaikalmykiabalashoveast-kazakhstankaracoldagestantogliattibarsyredorgcomgobedumirenknightpointaccoorgjelasticdiscoursecleverappsschacmiincogoornetonlineshopcogoorgmilcomwebnicnetintedugovbiznametestcoorgmilcomnomnetedugovorangecloudpersoindorgcomfinnatnetgovensmincomtourismintlinfox0611oyaorgmilcomnetedugovquickconnectvpnplusnettprequalifymeaddrmyaddrntdllwadlnctvavdrk12orgmilpolbeltelcomwebgennetedutskkepgovbbsbiznameinfocoorgmilcompronetedugovbiznameinfobetter-thanworse-thansakurafromdyndnson-the-webmymailerorgmilurlcomneteduidvgovmydnsgameclubebizmeneacsccogotvorhotelmilmobiinfovodteiflgplkmsmsbcckhincndnvncoztltmkckppzpdprvcvkvlvcrkrkscxuzchernovtsyrivneyaltaodesavolynrovnolutskltdinforgcomnetedugovbizvinnicazhitomirternopilpoltavakropyvnytskyizaporizhzhiasevastopolsebastopoluzhgoroduzhhorodkharkovkharkivvinnytsiakhmelnytskyizaporizhzhecrimeaodessazhytomyrnikolaevcherkassydonetskluganskluhanskkirovogradivano-frankivskchernivtsikrymkievkyivlvivsumyzakarpattiamykolaivcherkasychernigovkhersonchernihivdnipropetrovskdnepropetrovskkhmelnitskiyneacsccogoorusorgmilcomedugovmyspreadshopadimono-ipbarsybarsyonlinelayershiftnh-servretrosnubapicampaignservicelugaffinitylotteryweeklylotteryraffleentrygluglugsmeaccoindependent-inquestnimsitecopropymntltdorgplcschnetgovnhsbarsyindependent-commissionindependent-reviewpolicepublic-inquiryindependent-panelconnhospindependent-inquiryroyal-commissionoraclegovcloudappscck12libaws-govccphxcclibpvtparochchtrcck12libcceatonk12coglibtecgendstmusann-arborwashtenawcck12glghcck12sealibforksolympiabainbridge-islkeyporthoquiamyarrow-pointcentraliaport-townsendsequimport-ludlowrentonsilverdalebremertonredmondsheltonbellevueport-orchardport-angeleskingstonchehalisaberdeengig-harborseattlepoulsboidmdndsddemenegacalamaiavawapailalflnmdcncscohnhmihiviwiriinmntnmocoutvtctmtgunjokakwvnvprarorasmskstxwynykyazisadninsnngosrvis-bymircloudservernamepointtoenscaledland-4-salefreeddnsstuff-4-saleazure-apinoipdatabricksappscloudnsgolffanheliohostazurewebsitesgvorgmilcomgubneteducoorgcomnetd0egvorgmilcomnetedugovmydnsiacostoree12orgmilcomnomwebgobbibrectecnetintedugovraremprendefirminfoartseducok12orgcomnethidnsidacaiiosonlahanamhanoicamauhueorgcompronetintedugovbizbacninhtayninhhoabinhnamdinhtravinhhaiphongvinhlonghaiduongquangnamquangtrithuathienhuequangninhbacgianghaugiangquangbinhsoctrangbentrethanhphohochiminhdanangkontumhatinhkhanhhoathanhhoahealthgialailaocaiyenbaibackanngheanlonganphuyenphuthocanthodaklakdongnainameinfovinhphucdongthapkiengiangtiengiangquangngailaichaulangsonlamdongdaknonghagiangangiangcaobangbinhduongninhthuanbinhthuanbaclieuthaibinhninhbinhbinhdinhtuyenquanghungyenbaria-vungtauthainguyendienbienbinhphuocschbizputerimagine-proxyorgcomnetedugovcloud66advisormypetsdyndnsxn--8dbq2axn--4dbgdty6cxn--5dbhl8dxn--hebda8bxn--80auxn--d1atxn--c1avgxn--o1acxn--o1achxn--90azhxn--55qx5dxn--uc0atvxn--od0algxn--wcvs22dxn--gmqw5axn--mxtq1mxn--12c1fe0brxn--h3cuzk1dixn--12co0c3b4evaxn--12cfi8ixb8lxn--o3cyx2axn--m3ch0j3axn--j1adpxn--90amcxn--90a1afxn--h1ahnxn--j1ael8bxn--h1alizxn--c1avgxn--j1aefxn--80aaa0cvacxn--41acaffeineexeopentunnelbotdashtelebitorgtmaccoagricorgmilnomwebnicngonetaltedugovlawnisschoolgrondaraccoorgmilcomschnetedugovbizinfoprg1-zeropstritonstackitlimazeropsaccoorgmilgovяспборгкоммскбизмирсамаракрымсочиакодпроргобрупрצהלממשלישובאקדמיהองค์กรธุรกิจรัฐบาลศึกษาทหารเน็ต教育網絡組織公司政府個人닷넷한국澳门新闻澳門联通家電嘉里招聘通販닷컴삼성コムგეбгрфеюadcdbdgdidmdsdtdaebedeeegeiejekemenepereseveyegabacalamanauavapaqasazacfbfafgfnfpfwftfbgcgagggegkgngmgsgpgvgtgugilmlnlalclglplsltlhmimjmkmmmomambmcmdmfmgmzmpmsmtmgbbblbsbecccacnclcmcvctcscmhkhghchbhthphshlinikifigiaibicivisikninhnmncnbngnsnpnvntnjoionomobocoaofodorosotoptstttytatbtetgtithtmtltrusuvuaucueuguhulumunufjdjbjtjsjlkmkhkfkdkcktkukskpkgpmpnpkpjpgqaqmqiqsvtvcvbvmvlvrwpwtwzwbwcwawgwkwmwtrsrprgrfrercrbrarnrmrlrkrirhrwsusrssspsgsesbsaslsmsissxmxaxcxuypysylymykygybycyuztzsznzmzkzdzczbzazελευ世界台灣购物公益点看臺灣网络書籍在线网站手机机构大拿游戏信息台湾谷歌慈善商标香港中国餐厅网址中國商城食品微博政务移动集团公司八卦商店健康网店政府时尚佛山中信娱乐广东企业homedepotengineeringاماراتrepublicankuokgroupversicherungchannelcitadelxn--pgbs0dhxn--b4w605ferdstatebankwebsitexn--mgb9awbf亚马逊淡马锡alibabaxn--ngbc5azdxn--mgbbh1axn--45br5cyltoshibabuildworldcloudtradeguideplacespacedancemoviephoneprimesmilebiblestyleappleazurestoreskypegripexn--l1accdrivelottehorsehouseleasechasereisestadahondaomegaaetnaamicaninjanokiamediadeltavodkaedekaosakapizzaslingemailgmailtirolshelltmallfinallegaltotalhotelamfamforumrehabmusicciticricohcoachwatchboschearthfaithirishmiamiarchidubaiguccipraxiみんなストアセールcanonsalononionnikonepsonkoelngreensevencrownikanoradioaudioweiboglobopromogalloyahoociscorodeovideomangobingotokyovolvolottokyotophotosmartsportquesttrusthyattjetztadultcymrubaidutushuxn--kprw13dubankclickblackmerckgroupsharpcheapnowtvxn--h2brj9cקוםհայоргсрбмонкомбелмкдқазрусукрمصرقطرعربكومdadcfdmedwedredphdthdbidpidkrdmsdltdiceonewmeglemoerwecfageacbanbambaaaammakianraspacpaaxawtfbcgaegongingaigvigorgdogdhlmilrilonlaolloluoljllcalgalnflafltelsrlfrllplkimibmcamcombommomifmabbjcbscbwebcabnabtabmlbpubabcbbcnecincpncllcstcwtcpwcnyckfhbzhovhmoiskiobisbitcifyituipinvinwinxincbnbcnmanfangdnmenrenkpnmtnyunrunfununobiojioriohbogmofooboooooacoecoceongoproartistottnttbbtcateatlatvetpetbetnethktmitfitintjothotgotdotbotprueduicujnjyouinknhktdkappsapgapmapdnptopgopllpjmpzipvipripesqtrvdtvitvdevmovgovhivnrwlawsewnewbmwwownowhowdvrftrmtrsfrbarcartvscrseusawsupsubssbsadsddsldssasbmsmlsxxxboxfoxgmxtjxsextaxbuyflydiysoyjoyskypaydaygayxyzanzbizwebersenerpokerlameractortatarsolarລາວคอมไทยtourslocusnexuslexusgiftsbeatsboatspartspressglassswissकॉमनेटtiresgivescodeshomesgamestunesshoescardswalesloansvegastoolsdealsautosparisファッションworkssucksrocksxeroxforexfedexpartylillymoneystudyrugbytoraytoday中文网xn--unup4y天主教飞利浦新加坡enterprises我爱你嘉里大酒店christmasxn--fct429kholdingsxn--8y0a063axn--mgbx4cd0ablifestyleabogadoallstatenetbankكاثوليكxn--s9brj9cxn--gk3at1ebestbuycharityxn--55qx5dmicrosoftpropertybasketballhomegoodscorsicajewelrygallerygrocerysurgerycountrybrusselsverisignferreroxn--czr694bhdfcbankcommbanksoftbankپاكستانپاکستانnextdirectالسعوديهالعليانxn--h2brj9c8cxn--80adxhksshikshaxn--mgbai9azgqp6jcuisinellabarclayscatholicxn--kpry57dcompanyxn--xhq521bblackfridayxn--mgba3a3ejtsandvikxn--d1acj3bacademydownloadمليسياxn--j1amhxn--w4r85el8fhu5dnraipirangaathletaxn--fhbeixn--mgbqly7cvafrzuerichxn--c2br7gஇலங்கைcontractorsxn--io0a7igraphicsinsurancetemasekxn--xkc2al3hye2amotorcyclesphotographydirectoryplumbingxn--vhquvclothingtrainingcleaningwilliamhilllightingxn--mgba3a4f16ashoppingcateringeducationokinawapicturesventuresproductionsxn--9et52uwalmartഭാരതംsupportrealestatecapitalonexn--nqv7fs00emaauspostfloristdentistxn--qxamgodaddybradescobargainsmitsubishikerryhotelsxn--9dbq2axn--3pxu8kimmobilienxn--fjq720axn--mgbtx2bholidaymckinseymadridbusinessbuildershelsinkixn--4gbrimмоскваالسعودیةcoffeedegreelacaixapartnersalsaceofficeabbvievoyageorangegeorgeonlinechromemobilekindlegoogleoraclecircleschulesecureinsurexn--mgba7c0bbn0aestatexn--mgbc0a9azcgcruisehangoutxn--vuq861bxn--42c2d9arexrothfirestoneuniversityxn--nnx388alifeinsuranceextraspaceонлайнvermögensberatersoftwarexn--fiqs8sxn--mgbab2bdxn--w4rs40ltiendaभारतम्africatoyotaotsukasakuracameracreditcardnagoyaconsultingnetworkjunipertheatermonsterprogressivepioneerxn--55qw42gracingdatingvotingvikinglivinggivingxn--bck1b9a5dre4cbrotherweatherjoburgفلسطينlplfinancialxn--clchc0ea0b2g2a9gcdfutbolschoolsocialglobaldentalwoodsidechanelairtelmatteltravelrealtorwebcamstreamభారత్unicomalstomxn--nodexn--6frz82gmuseumfurniturexn--rvc1e0am3exn--mix891faccenturexn--11b4c3dismailineustardiscountquebeccomsecclinicservicesxn--y9a3aqxn--c1avgswatchchurchsearchالاردنmarketingcontacthealthmonashshoujisanofitaipeiamericanexpresssuzukiアマゾンクラウドポイントbhartiグーグルxn--mgberp4a5d4armemorialxn--1qqw23alondonmormoninstitutevisionbostonnortoncouponmaisonamazonvirginberlindesigndurbanolayannissananquanxihuanhitachikaufengardenreisenbayerntechnologydatsunxn--90a3aclatinocasinostudiophysioxn--ngbe9e0apharmacytattootaobaoaramcoexpertreportabbottdirectselectimamatfairwindspictettargetmarketintuittravelersinsurancecreditdupontryukyusuppliesxn--tckwebnpparibasschmidtmerckmsdyodobashirestaurantbridgestonecricketxn--fpcrj9c3dbostikbroadwayattorneylefrakemerckxn--fiq228c5hscareersfarmerswinnersflowersxn--wgbh1cguitarsxn--54b7fta0ccxn--p1acfmakeupgalluplandroverxn--kcrx77d1x4agoldpointbauhausxn--mgbayh7gpahiphopplaystationxn--mgba3a4fraxn--eckvdtc9dhyundaixn--gckr3f0fistanbulticketsmarketsflightschintaireviewsxn--3e0b707ewindowsxn--fiqz9sfinancialxn--fzys8d69uvgmابوظبيdiscoverreviewবাংলাxn--5su34j936bgsgmoscowobserverapartmentsдетиارامكوсайтeurovisionxn--i1b6b1a6a2exn--xkc2dl3a5ee0hتونسموقعبارتڀارتشبكةعمانبيتكعراقreadkredbondlandbandfundfoodprodgoldfordtubecafesafelifeggeeieeefreefagepagegugezonewinememenamegamesaleablebikenikelikecarecbreherefiresaveloveliveblueartedatesitevotecaseluxebofamodaltdaasdatiaayogasinavanashiaasiajavabbvatevavivadatazaraarpacasavisasncfprofmaifsurfgolfdvagsongbingpingwangkpmggoogblogpohlfailcooldellcalldeallidlsarlfilmteamroomfarmimdbarabclubhdfcicbchsbcgmbhrichtechfishdishcashminiernikddiaudiwikimobitaxicitikiwidesiqponskinloanakdnwienopenporncerntownimmolimoolloinfonicofidolegosaxozeroaerovivoautovotomotofastbestresthostpostnextlgbtchatseatgiftmeetdietreitmintrentgentspotscotguruitausohumenucyoubanklinkpinkdclktalksilkbookseekworkrsvpaarpjeepshopcoophelpcamppccwshowbeerstarruhrflirweirhaircarsparsjprshausplusnewstipstoysjobskidsfanspicsdocsxboxamexsexynavycitysonyarmyallybabyplaydeliverybuzzgbizlamborghiniphilipsලංකාಭಾರತfitnessexpresslanxesspfizercenterwalterlawyersoccercareerkosherbrokerlockerdealerdoctorauthorxn--mgbqly7c0a67fbcvermögensberatungjaguarxn--pssy2uxn--hxt814eflickrrepairrogersairbusxn--mgbai9a5eva00beventsyachtsxn--t60b56aভাৰতভারতभारतभारोतviajeshermeshughesxn--j1aefसंगठनvillasଭାରତclaimshotelsભારતzapposphotosjuegoscondostatamotorsgratistennisਭਾਰਤtkmaxxtjmaxxschaeffleryandexxn--80aswgrealtysafetybeautyluxuryxn--3ds443gsupplyfamilyxn--o3cw4hhockeysydneyxn--90aenissayalipayenergycomputeragencyxn--rovu88b電訊盈科xn--gecrj9cstatefarmaccountantaquarelleolayangroup香格里拉xn--p1ai组织机构xn--1ck2e1bxn--mgbt3dhdschwarzموريتانياabudhabinowruzkomatsufujitsuhospitalxn--80asehdbxn--mgbtf8flxn--j6w193gxn--yfro4i67oprudentialxn--flw351ecruisescoursesrecipesxn--e1a4cferrarixn--ses554gxn--wgbl6awatchesstaplessinglesxn--mgbcpq6gpa1axn--otu796dpropertiescreditunionxn--mgbah1a3hjkrdstockholmhisamitsuالسعوديةstcgroupdomainsoriginscouponsbloombergclubmedfroganslimitedxn--80aqecdr1aexposedinternationalequipmentbarclaycardxn--q7ce6axn--mgbi4ecexpprotectionassociatesconstructionxn--cck2b3bxn--45q11candroidfoundationישראלxn--mgbca7dzdocliniqueboutiqueengineerxn--qxa6asystemsfirmdalefashionauctionxn--nqv7finfinitirentalsreliancetradingweddingfishinghostinggentingbookingcookingxn--3hcrj9cgraingerxn--czrs0tdemocratsamsungyokohamaxn--h2breg3evexn--nyqy26alundbeckmelbournevacationssolutionsfrontierxn--vermgensberatung-pwbmanagementxn--cg4bkixn--mgb2ddeslincolnhamburgsandvikcoromantblockbusterairforcebarefootxn--4dbrk0ceinvestmentsfeedbackcommunityxn--ngbrxالبحرينdiamondsamsterdamhealthcareredumbrellaxn--mxtq1mxn--2scrj9cagakhanxn--mgbpl2fhкатоликcaravanசிங்கப்பூர்richardlimortgageamericanfamilyxn--fzc2c9e2cscholarshipssaarlandxn--imr513nvlaanderensamsclubgoodyearkitchenஇந்தியாweatherchannelallfinanzxn--kput3iالسعودیۃxn--90aisxn--efvy88hالجزائرxn--mgbaam7a8hexchangejpmorganxn--tiq49xqyjfidelitysecurityxn--mk1bu44cwanggouxn--fiq64bxn--6qq986b3xlxn--mgbbh1a71exn--80ao21amarshallsxn--5tzm5gtravelerspanasoniclatrobeyoutubeaccountantsxn--rhqv96gxn--cckwcxetdanalyticsxn--ygbi2ammxبازاربھارتسوريةorganicfreseniusسورياxn--9krt00axn--qcka1pmcxn--jlq480n2rgdeloittesciencefinancexn--jvr189mxn--30rr7yhomesensehotmailbaseballfootballleclercboehringerxn--q9jyb4cxn--mix082fاليمنهمراهpolitieسودانايرانایرانnetflixyamaxunxn--lgbbat1ad8jcollegestoragecapetowncolognekerrypropertiesxn--mgbgu82axn--ogbpf8flxn--czru2dwhoswhociprianilasallexn--g2xx48cforsalebanamexaudiblexn--vermgensberater-ctbxn--zfr164bericssonvanguardxn--45brj9cindustriestheatremarriottxn--3bst00mcomparexn--mgberp4a5d4a87gcapitaldigitalالمغربbarcelonashangrilaxn--d1alfcalvinkleinwwwcitysapporokawasakinagoyasendaikobekitakyushuyokohamackjp`.charCodeAt(i+e)!==t.charCodeAt(n+e))return!1;return!0}function KL(e,t,n,r,i){let a=NL[e],o=NL[e+1];for(;a<o;){let e=a+o>>>1,s=BL[e];if(s<t)a=e+1;else if(s>t)o=e;else{for(let o=e;o>=a&&BL[o]===t;--o)if(GL(o,n,r,i))return o;for(let a=e+1;a<o&&BL[a]===t;a+=1)if(GL(a,n,r,i))return a;return-1}}return-1}function qL(e,t,n){let r=t,i=e.length,a=5381;HL=-1;for(let t=e.length-1;t>=0;--t){let o=e.charCodeAt(t);if(o===46){let o=t+1,s=KL(r,a>>>0,e,o,i-o);if(s===-1&&(s=VL[r]),s===-1)return HL!==-1;r=FL[s],(ML[r]&n)!==0&&(HL=r,UL=o,WL=i),i=t,a=5381}else a=a*33^o}let o=KL(r,a>>>0,e,0,i);return o===-1&&(o=VL[r]),o!==-1&&(r=FL[o],(ML[r]&n)!==0&&(HL=r,UL=0,WL=i)),HL!==-1}function JL(e,t,n){if(jL(e,t,n))return;let r=(t.allowPrivateDomains?2:0)|!!t.allowIcannDomains;if(qL(e,629,r)){n.isIcann=!!(ML[HL]&1),n.isPrivate=!!(ML[HL]&2),n.publicSuffix=e.slice(WL+1);return}if(qL(e,625,r)){n.isIcann=!!(ML[HL]&1),n.isPrivate=!!(ML[HL]&2),n.publicSuffix=e.slice(UL);return}n.isIcann=!1,n.isPrivate=!1;let i=e.lastIndexOf(`.`);n.publicSuffix=i===-1?e:e.slice(i+1)}function YL(e,t){return AL(e,5,JL,t,kL())}var XL=class extends Error{name=`Realm.NotFoundError`;constructor(e){super(`Unknown realm ${e.id}. Add it first.`)}},ZL=`default`,QL;(function(e){let t=e.id=A().regex(/^[a-z0-9]+(-[a-z0-9]+)*$/,{message:`Use lowercase kebab case, such as tempo-cash.`});e.realm=M({id:t,name:A().trim().min(1,{message:`Set a name.`})}),e.passkeys=M({realmId:t,rpId:A().regex(/^(?=.{1,253}$)([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)(\.[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/,{message:`Use a lowercase domain, such as tempo.xyz.`})}),e.privy=M({appId:A().trim().min(1,{message:`Set a Privy app ID.`}),appSecret:A().min(1,{message:`Set a Privy app secret.`}),realmId:t}),e.realms=na(t).refine(e=>new Set(e).size===e.length,{message:`Name each realm once.`})})(QL||={});async function $L(e,t){let n=await e.select({appId:PE.appId,id:IE.id,name:IE.name,position:OE.position,rpId:NE.rpId,secp256k1:FE.realmId}).from(IE).leftJoin(OE,ZC(U(OE.realmId,IE.id),U(OE.clientId,t.clientId))).leftJoin(NE,U(NE.realmId,IE.id)).leftJoin(PE,U(PE.realmId,IE.id)).leftJoin(FE,U(FE.realmId,IE.id)).where(QC(U(OE.clientId,t.clientId),U(IE.id,ZL))).orderBy(gw(OE.position)),r=n.filter(e=>e.position!==null);return(r.length>0?r:n).map(aR)}async function eR(e,t){let{clientId:n,db:r,origin:i,own:a}=t,o=async()=>[await QP(e,()=>nR(r,{id:ZL}),[`realm.get`,ZL])];if(!n)return await o();let s=await QP(e,async()=>{let[e]=await r.select({redirectUris:W.redirectUris}).from(W).where(ZC(U(W.clientId,n),ow(W.clientDiscoveryId)));return{origins:(e?.redirectUris??[]).flatMap(e=>{let t=URL.parse(e);return t&&(t.protocol===`https:`||t.protocol===`http:`)?[t.origin]:[]}),realms:await $L(r,{clientId:n})}},[`realm.forRequest`,n]);return i&&i!==a&&!s.origins.includes(i)?await o():s.realms}function tR(e){return e}async function nR(e,t){let[n]=await e.select({appId:PE.appId,id:IE.id,name:IE.name,rpId:NE.rpId,secp256k1:FE.realmId}).from(IE).leftJoin(NE,U(NE.realmId,IE.id)).leftJoin(PE,U(PE.realmId,IE.id)).leftJoin(FE,U(FE.realmId,IE.id)).where(U(IE.id,t.id));if(!n)throw new XL({id:t.id});return aR(n)}async function rR(e,t){let{db:n}=t,r=t.realms.flatMap(e=>e.privy?[e.id]:[]);if(r.length===0)return new Map;let i=await QP(e,()=>n.select().from(PE).where(iw(PE.realmId,r)),[`realm.privyApps`,...r]);return new Map(await Promise.all(i.map(async e=>[e.realmId,{appId:e.appId,appSecret:await hs({data:e.appSecret,key:t.secret})}])))}async function iR(e,t){let{db:n,realms:r}=t;if(!r.some(e=>e.id==="default"&&!e.passkeys))return r;let i=new URL(t.origin).hostname,a=YL(i,{allowPrivateDomains:!0});if(a.isIp)return r;let o=a.domain??i,s=i.split(`.`),c=s.map((e,t)=>s.slice(t).join(`.`)).filter(e=>e===o||e.endsWith(`.${o}`));if(r.some(e=>e.passkeys&&c.includes(e.passkeys.rpId)))return r;let l=await QP(e,async()=>{let e=await n.select({realmId:NE.realmId,rpId:NE.rpId}).from(NE).where(QC(U(NE.realmId,ZL),iw(NE.rpId,c))),t=e.find(e=>e.realmId===ZL);return{own:t?.rpId??null,taken:!t&&e.length>0}},[`realm.rpHolder`,...c]);return l.taken?r:r.map(e=>e.id==="default"&&!e.passkeys?tR({...e,passkeys:{rpId:l.own??o}}):e)}function aR(e){return tR({id:e.id,name:e.name,passkeys:e.rpId===null?void 0:{rpId:e.rpId},privy:e.appId===null?void 0:{appId:e.appId},secp256k1:e.secp256k1!==null})}var oR=kN({errors:[],load(e,t){let{userId:n}=t,r=t.realms.filter(e=>e.passkeys);return Promise.resolve({async list(e,t){return r.length===0?[]:(await t.db.select().from(jE).where(ZC(U(jE.userId,n),sw(jE.address),iw(jE.rpId,r.map(e=>e.passkeys.rpId)))).orderBy(gw(jE.createdAt),gw(jE.id))).flatMap(e=>r.filter(t=>t.passkeys.rpId===e.rpId).map(t=>ON({account:D({owners:[Se({id:e.id,publicKey:e.publicKey},{rpId:e.rpId})]}),createdAt:e.createdAt,credential:{id:e.id,publicKey:e.publicKey,rpId:e.rpId},linked:[`tempo-wallet`,`wallet`].includes(e.source),realm:t,signer:void 0,type:`webAuthn`})))}})},type:`webAuthn`});function sR(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function cR(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}var lR=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return lR=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(+e^n()&15>>e/4).toString(16))};function uR(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}var dR=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)},fR=class extends Error{},pR=class e extends fR{constructor(t,n,r,i){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.error=n}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,i){if(!t||!i)return new hR({message:r,cause:dR(n)});let a=n;return t===400?new _R(t,a,r,i):t===401?new vR(t,a,r,i):t===403?new yR(t,a,r,i):t===404?new bR(t,a,r,i):t===409?new xR(t,a,r,i):t===422?new SR(t,a,r,i):t===429?new CR(t,a,r,i):t>=500?new wR(t,a,r,i):new e(t,a,r,i)}},mR=class extends pR{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},hR=class extends pR{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},gR=class extends hR{constructor({message:e}={}){super({message:e??`Request timed out.`})}},_R=class extends pR{},vR=class extends pR{},yR=class extends pR{},bR=class extends pR{},xR=class extends pR{},SR=class extends pR{},CR=class extends pR{},wR=class extends pR{},TR=/^[a-z][a-z0-9+.-]*:/i,ER=e=>TR.test(e),DR=e=>(DR=Array.isArray,DR(e)),OR=DR;function kR(e){return typeof e==`object`?e??{}:{}}function AR(e){if(!e)return!0;for(let t in e)return!1;return!0}function jR(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var MR=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new fR(`${e} must be an integer`);if(t<0)throw new fR(`${e} must be a positive integer`);return t},NR=e=>{try{return JSON.parse(e)}catch{return}},PR=e=>new Promise(t=>setTimeout(t,e)),FR=`0.35.0`,IR=()=>typeof window<`u`&&window.document!==void 0&&typeof navigator<`u`;function LR(){return typeof Deno<`u`&&Deno.build!=null?`deno`:typeof EdgeRuntime<`u`?`edge`:Object.prototype.toString.call(globalThis.process===void 0?0:globalThis.process)===`[object process]`?`node`:`unknown`}var RR=()=>{let e=LR();if(e===`deno`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":FR,"X-Stainless-OS":VR(Deno.build.os),"X-Stainless-Arch":BR(Deno.build.arch),"X-Stainless-Runtime":`deno`,"X-Stainless-Runtime-Version":typeof Deno.version==`string`?Deno.version:Deno.version?.deno??`unknown`};if(typeof EdgeRuntime<`u`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":FR,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":`edge`,"X-Stainless-Runtime-Version":globalThis.process.version};if(e===`node`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":FR,"X-Stainless-OS":VR(globalThis.process.platform??`unknown`),"X-Stainless-Arch":BR(globalThis.process.arch??`unknown`),"X-Stainless-Runtime":`node`,"X-Stainless-Runtime-Version":globalThis.process.version??`unknown`};let t=zR();return t?{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":FR,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":FR,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`unknown`,"X-Stainless-Runtime-Version":`unknown`}};function zR(){if(typeof navigator>`u`||!navigator)return null;for(let{key:e,pattern:t}of[{key:`edge`,pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`chrome`,pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`firefox`,pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`safari`,pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let n=t.exec(navigator.userAgent);if(n)return{browser:e,version:`${n[1]||0}.${n[2]||0}.${n[3]||0}`}}return null}var BR=e=>e===`x32`?`x32`:e===`x86_64`||e===`x64`?`x64`:e===`arm`?`arm`:e===`aarch64`||e===`arm64`?`arm64`:e?`other:${e}`:`unknown`,VR=e=>(e=e.toLowerCase(),e.includes(`ios`)?`iOS`:e===`android`?`Android`:e===`darwin`?`MacOS`:e===`win32`?`Windows`:e===`freebsd`?`FreeBSD`:e===`openbsd`?`OpenBSD`:e===`linux`?`Linux`:e?`Other:${e}`:`Unknown`),HR,UR=()=>HR??=RR();function WR(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new PrivyAPI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function GR(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function KR(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return GR({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}async function qR(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}var JR=({headers:e,body:t})=>({bodyHeaders:{"content-type":`application/json`},body:JSON.stringify(t)}),YR=`RFC3986`,XR=e=>String(e),ZR={RFC1738:e=>String(e).replace(/%20/g,`+`),RFC3986:XR},QR=(e,t)=>(QR=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),QR(e,t)),$R=(()=>{let e=[];for(let t=0;t<256;++t)e.push(`%`+((t<16?`0`:``)+t.toString(16)).toUpperCase());return e})(),ez=1024,tz=(e,t,n,r,i)=>{if(e.length===0)return e;let a=e;if(typeof e==`symbol`?a=Symbol.prototype.toString.call(e):typeof e!=`string`&&(a=String(e)),n===`iso-8859-1`)return escape(a).replace(/%u[0-9a-f]{4}/gi,function(e){return`%26%23`+parseInt(e.slice(2),16)+`%3B`});let o=``;for(let e=0;e<a.length;e+=ez){let t=a.length>=ez?a.slice(e,e+ez):a,n=[];for(let e=0;e<t.length;++e){let r=t.charCodeAt(e);r===45||r===46||r===95||r===126||r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||i===`RFC1738`&&(r===40||r===41)?n[n.length]=t.charAt(e):r<128?n[n.length]=$R[r]:r<2048?n[n.length]=$R[192|r>>6]+$R[128|r&63]:r<55296||r>=57344?n[n.length]=$R[224|r>>12]+$R[128|r>>6&63]+$R[128|r&63]:(e+=1,r=65536+((r&1023)<<10|t.charCodeAt(e)&1023),n[n.length]=$R[240|r>>18]+$R[128|r>>12&63]+$R[128|r>>6&63]+$R[128|r&63])}o+=n.join(``)}return o};function nz(e){return!e||typeof e!=`object`?!1:!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}function rz(e,t){if(DR(e)){let n=[];for(let r=0;r<e.length;r+=1)n.push(t(e[r]));return n}return t(e)}var iz={brackets(e){return String(e)+`[]`},comma:`comma`,indices(e,t){return String(e)+`[`+t+`]`},repeat(e){return String(e)}},az=function(e,t){Array.prototype.push.apply(e,DR(t)?t:[t])},oz,sz={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:`indices`,charset:`utf-8`,charsetSentinel:!1,delimiter:`&`,encode:!0,encodeDotInKeys:!1,encoder:tz,encodeValuesOnly:!1,format:YR,formatter:XR,indices:!1,serializeDate(e){return(oz??=Function.prototype.call.bind(Date.prototype.toISOString))(e)},skipNulls:!1,strictNullHandling:!1};function cz(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`symbol`||typeof e==`bigint`}var lz={};function uz(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v=e,y=_,b=0,x=!1;for(;(y=y.get(lz))!==void 0&&!x;){let t=y.get(e);if(b+=1,t!==void 0){if(t===b)throw RangeError(`Cyclic object value`);x=!0}y.get(lz)===void 0&&(b=0)}if(typeof l==`function`?v=l(t,v):v instanceof Date?v=f?.(v):n===`comma`&&DR(v)&&(v=rz(v,function(e){return e instanceof Date?f?.(e):e})),v===null){if(a)return c&&!h?c(t,sz.encoder,g,`key`,p):t;v=``}if(cz(v)||nz(v)){if(c){let e=h?t:c(t,sz.encoder,g,`key`,p);return[m?.(e)+`=`+m?.(c(v,sz.encoder,g,`value`,p))]}return[m?.(t)+`=`+m?.(String(v))]}let S=[];if(v===void 0)return S;let C;if(n===`comma`&&DR(v))h&&c&&(v=rz(v,c)),C=[{value:v.length>0?v.join(`,`)||null:void 0}];else if(DR(l))C=l;else{let e=Object.keys(v);C=u?e.sort(u):e}let w=s?String(t).replace(/\./g,`%2E`):String(t),T=r&&DR(v)&&v.length===1?w+`[]`:w;if(i&&DR(v)&&v.length===0)return T+`[]`;for(let t=0;t<C.length;++t){let y=C[t],x=typeof y==`object`&&y.value!==void 0?y.value:v[y];if(o&&x===null)continue;let w=d&&s?y.replace(/\./g,`%2E`):y,E=DR(v)?typeof n==`function`?n(T,w):T:T+(d?`.`+w:`[`+w+`]`);_.set(e,b);let D=new WeakMap;D.set(lz,_),az(S,uz(x,E,n,r,i,a,o,s,n===`comma`&&h&&DR(v)?null:c,l,u,d,f,p,m,h,g,D))}return S}function dz(e=sz){if(e.allowEmptyArrays!==void 0&&typeof e.allowEmptyArrays!=`boolean`)throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(e.encodeDotInKeys!==void 0&&typeof e.encodeDotInKeys!=`boolean`)throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(e.encoder!==null&&e.encoder!==void 0&&typeof e.encoder!=`function`)throw TypeError(`Encoder has to be a function.`);let t=e.charset||sz.charset;if(e.charset!==void 0&&e.charset!==`utf-8`&&e.charset!==`iso-8859-1`)throw TypeError(`The charset option must be either utf-8, iso-8859-1, or undefined`);let n=YR;if(e.format!==void 0){if(!QR(ZR,e.format))throw TypeError(`Unknown format option provided.`);n=e.format}let r=ZR[n],i=sz.filter;(typeof e.filter==`function`||DR(e.filter))&&(i=e.filter);let a;if(a=e.arrayFormat&&e.arrayFormat in iz?e.arrayFormat:`indices`in e?e.indices?`indices`:`repeat`:sz.arrayFormat,`commaRoundTrip`in e&&typeof e.commaRoundTrip!=`boolean`)throw TypeError("`commaRoundTrip` must be a boolean, or absent");let o=e.allowDots===void 0?e.encodeDotInKeys?!0:sz.allowDots:!!e.allowDots;return{addQueryPrefix:typeof e.addQueryPrefix==`boolean`?e.addQueryPrefix:sz.addQueryPrefix,allowDots:o,allowEmptyArrays:typeof e.allowEmptyArrays==`boolean`?!!e.allowEmptyArrays:sz.allowEmptyArrays,arrayFormat:a,charset:t,charsetSentinel:typeof e.charsetSentinel==`boolean`?e.charsetSentinel:sz.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:e.delimiter===void 0?sz.delimiter:e.delimiter,encode:typeof e.encode==`boolean`?e.encode:sz.encode,encodeDotInKeys:typeof e.encodeDotInKeys==`boolean`?e.encodeDotInKeys:sz.encodeDotInKeys,encoder:typeof e.encoder==`function`?e.encoder:sz.encoder,encodeValuesOnly:typeof e.encodeValuesOnly==`boolean`?e.encodeValuesOnly:sz.encodeValuesOnly,filter:i,format:n,formatter:r,serializeDate:typeof e.serializeDate==`function`?e.serializeDate:sz.serializeDate,skipNulls:typeof e.skipNulls==`boolean`?e.skipNulls:sz.skipNulls,sort:typeof e.sort==`function`?e.sort:null,strictNullHandling:typeof e.strictNullHandling==`boolean`?e.strictNullHandling:sz.strictNullHandling}}function fz(e,t={}){let n=e,r=dz(t),i,a;typeof r.filter==`function`?(a=r.filter,n=a(``,n)):DR(r.filter)&&(a=r.filter,i=a);let o=[];if(typeof n!=`object`||!n)return``;let s=iz[r.arrayFormat],c=s===`comma`&&r.commaRoundTrip;i||=Object.keys(n),r.sort&&i.sort(r.sort);let l=new WeakMap;for(let e=0;e<i.length;++e){let t=i[e];r.skipNulls&&n[t]===null||az(o,uz(n[t],t,s,c,r.allowEmptyArrays,r.strictNullHandling,r.skipNulls,r.encodeDotInKeys,r.encode?r.encoder:null,r.filter,r.sort,r.allowDots,r.serializeDate,r.format,r.formatter,r.encodeValuesOnly,r.charset,l))}let u=o.join(r.delimiter),d=r.addQueryPrefix===!0?`?`:``;return r.charsetSentinel&&(r.charset===`iso-8859-1`?d+=`utf8=%26%2310003%3B&`:d+=`utf8=%E2%9C%93&`),u.length>0?d+u:``}function pz(e){return fz(e,{arrayFormat:`comma`})}var mz={off:0,error:200,warn:300,info:400,debug:500},hz=(e,t,n)=>{if(e){if(jR(mz,e))return e;bz(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(mz))}`)}};function gz(){}function _z(e,t,n){return!t||mz[e]>mz[n]?gz:t[e].bind(t)}var vz={error:gz,warn:gz,info:gz,debug:gz},yz=new WeakMap;function bz(e){let t=e.logger,n=e.logLevel??`off`;if(!t)return vz;let r=yz.get(t);if(r&&r[0]===n)return r[1];let i={error:_z(`error`,t,n),warn:_z(`warn`,t,n),info:_z(`info`,t,n),debug:_z(`debug`,t,n)};return yz.set(t,[n,i]),i}var xz=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,e.toLowerCase()===`authorization`||e.toLowerCase()===`api-key`||e.toLowerCase()===`x-api-key`||e.toLowerCase()===`cookie`||e.toLowerCase()===`set-cookie`?`***`:t])),`retryOfRequestLogID`in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e);async function Sz(e,t){let{response:n,requestLogID:r,retryOfRequestLogID:i,startTime:a}=t,o=await(async()=>{if(n.status===204)return null;if(t.options.__binaryResponse)return n;let e=n.headers.get(`content-type`)?.split(`;`)[0]?.trim();return e?.includes(`application/json`)||e?.endsWith(`+json`)?n.headers.get(`content-length`)===`0`?void 0:await n.json():await n.text()})();return bz(e).debug(`[${r}] response parsed`,xz({retryOfRequestLogID:i,url:n.url,status:n.status,body:o,durationMs:Date.now()-a})),o}var Cz,wz=class e extends Promise{constructor(e,t,n=Sz){super(e=>{e(null)}),this.responsePromise=t,this.parseResponse=n,Cz.set(this,void 0),sR(this,Cz,e,`f`)}_thenUnwrap(t){return new e(cR(this,Cz,`f`),this.responsePromise,async(e,n)=>t(await this.parseResponse(e,n),n))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,t]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:t}}parse(){return this.parsedPromise||=this.responsePromise.then(e=>this.parseResponse(cR(this,Cz,`f`),e)),this.parsedPromise}then(e,t){return this.parse().then(e,t)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}};Cz=new WeakMap;var Tz,Ez=class{constructor(e,t,n,r){Tz.set(this,void 0),sR(this,Tz,e,`f`),this.options=r,this.response=t,this.body=n}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){let e=this.nextPageRequestOptions();if(!e)throw new fR("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await cR(this,Tz,`f`).requestAPIList(this.constructor,e)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(Tz=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let t of e.getPaginatedItems())yield t}},Dz=class extends wz{constructor(e,t,n){super(e,t,async(e,t)=>new n(e,t.response,await Sz(e,t),t.options))}async*[Symbol.asyncIterator](){let e=await this;for await(let t of e)yield t}},Oz=class extends Ez{constructor(e,t,n,r){super(e,t,n,r),this.data=n.data||[],this.next_cursor=n.next_cursor||``}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){let e=this.next_cursor;return e?{...this.options,query:{...kR(this.options.query),cursor:e}}:null}},kz=()=>{if(typeof File>`u`){let{process:e}=globalThis,t=typeof e?.versions?.node==`string`&&parseInt(e.versions.node.split(`.`))<20;throw Error("`File` is not defined as a global, which is required for file uploads."+(t?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":``))}};function Az(e,t,n){return kz(),new File(e,t??`unknown_file`,n)}function jz(e){return(typeof e==`object`&&!!e&&(`name`in e&&e.name&&String(e.name)||`url`in e&&e.url&&String(e.url)||`filename`in e&&e.filename&&String(e.filename)||`path`in e&&e.path&&String(e.path))||``).split(/[\\/]/).pop()||void 0}var Mz=e=>typeof e==`object`&&!!e&&typeof e[Symbol.asyncIterator]==`function`,Nz=e=>typeof e==`object`&&!!e&&typeof e.size==`number`&&typeof e.type==`string`&&typeof e.text==`function`&&typeof e.slice==`function`&&typeof e.arrayBuffer==`function`,Pz=e=>typeof e==`object`&&!!e&&typeof e.name==`string`&&typeof e.lastModified==`number`&&Nz(e),Fz=e=>typeof e==`object`&&!!e&&typeof e.url==`string`&&typeof e.blob==`function`;async function Iz(e,t,n){if(kz(),e=await e,Pz(e))return e instanceof File?e:Az([await e.arrayBuffer()],e.name);if(Fz(e)){let r=await e.blob();return t||=new URL(e.url).pathname.split(/[\\/]/).pop(),Az(await Lz(r),t,n)}let r=await Lz(e);if(t||=jz(e),!n?.type){let e=r.find(e=>typeof e==`object`&&`type`in e&&e.type);typeof e==`string`&&(n={...n,type:e})}return Az(r,t,n)}async function Lz(e){let t=[];if(typeof e==`string`||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)t.push(e);else if(Nz(e))t.push(e instanceof Blob?e:await e.arrayBuffer());else if(Mz(e))for await(let n of e)t.push(...await Lz(n));else{let t=e?.constructor?.name;throw Error(`Unexpected data type: ${typeof e}${t?`; constructor: ${t}`:``}${Rz(e)}`)}return t}function Rz(e){return typeof e!=`object`||!e?``:`; props: [${Object.getOwnPropertyNames(e).map(e=>`"${e}"`).join(`, `)}]`}var zz=class{constructor(e){this._client=e}},Bz=class extends zz{},Vz=class extends zz{},Hz=class extends zz{},Uz=class extends zz{};function Wz(e){return e.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var Gz=Object.freeze(Object.create(null)),Q=((e=Wz)=>function(t,...n){if(t.length===1)return t[0];let r=!1,i=[],a=t.reduce((t,a,o)=>{/[?#]/.test(a)&&(r=!0);let s=n[o],c=(r?encodeURIComponent:e)(``+s);return o!==n.length&&(s==null||typeof s==`object`&&s.toString===Object.getPrototypeOf(Object.getPrototypeOf(s.hasOwnProperty??Gz)??Gz)?.toString)&&(c=s+``,i.push({start:t.length+a.length,length:c.length,error:`Value of type ${Object.prototype.toString.call(s).slice(8,-1)} is not a valid path parameter`})),t+a+(o===n.length?``:c)},``),o=a.split(/[?#]/,1)[0],s=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,c;for(;(c=s.exec(o))!==null;)i.push({start:c.index,length:c[0].length,error:`Value "${c[0]}" can\'t be safely passed as a path parameter`});if(i.sort((e,t)=>e.start-t.start),i.length>0){let e=0,t=i.reduce((t,n)=>{let r=` `.repeat(n.start-e),i=`^`.repeat(n.length);return e=n.start+n.length,t+r+i},``);throw new fR(`Path parameters result in path with invalid segments:\n${i.map(e=>e.error).join(`
417
+ `,UI=[`default-src 'self'`,`script-src ${RI.src}`,`style-src 'self' 'unsafe-inline' https://fonts.scalar.com`,`font-src https://fonts.scalar.com`,`img-src 'self' data:`,`connect-src 'self'`,`object-src 'none'`,`base-uri 'none'`,`form-action 'none'`,`frame-ancestors 'none'`].join(`; `);function WI(e){let t=new Map;for(let n of new Set([...e,dO].map(e=>e.reason)).values()){let e=sO[n].status;t.set(e,[...t.get(e)??[],n])}return Object.fromEntries([...t].map(([e,t])=>[e,{content:{"application/json":{schema:{anyOf:t.map(e=>({$ref:`#/components/schemas/ErrorResponse.${e}`}))}}},description:t.map(e=>`\`${e}\``).join(`, `)}]))}function GI(e,t){let n=FI(e,t,void 0,{...LI,...e===`form`?{media:`application/x-www-form-urlencoded`}:{}});return Object.assign((e,t)=>t(),{[rI]:n[rI]})}function KI(e){let{errors:t=[],success:n}=e;return{[n.status??200]:{content:{"application/json":{schema:MI(n.schema,LI)}},description:n.description},...WI(t)}}function X(e,t){return FI(e,t,(e,t)=>{if(!e.success)return J(t,new GM({issues:e.error}))},LI)}(function(e){e.errors=[lO,GM]})(X||={});var qI=new WeakMap;async function JI(e){let t=await Promise.all(Object.keys(sO).map(async e=>(await MI(mO.of(e),LI).toOpenAPISchema()).components?.schemas));return bI(e,{defaultValidationErrorResponse:!1,excludeStaticFile:!1,documentation:{components:{schemas:Object.assign({},...t),securitySchemes:{accessToken:{bearerFormat:`JWT`,description:"An access token from `/oauth2/token`, as `Authorization: Bearer <token>`.",scheme:`bearer`,type:`http`},clientBasic:{description:"An OAuth app's client ID and secret, as HTTP Basic `Authorization` (RFC 6749 §2.3.1).",scheme:`basic`,type:`http`},sessionCookie:{description:`The Tempo ID session, which sign-in sets as an HTTP-only cookie on Tempo ID's origin.`,in:`cookie`,name:MP,type:`apiKey`}}},info:zI,openapi:`3.1.0`,tags:BI}})}var YI={ACCOUNT_LIMIT:{limit:60,namespace:`1007`,period:60},APP_DISCOVERY_LIMIT:{limit:30,namespace:`1009`,period:60},AUTHORIZE_LIMIT:{limit:60,namespace:`1001`,period:60},DEVICE_LIMIT:{limit:10,namespace:`1002`,period:60},SIGN_IN_CODE_LIMIT:{limit:5,namespace:`1003`,period:60},SIGN_IN_IP_LIMIT:{limit:100,namespace:`1004`,period:60},TOKEN_APP_LIMIT:{limit:600,namespace:`1008`,period:60},TOKEN_LIMIT:{limit:300,namespace:`1006`,period:60}},XI=[`TOKEN_APP_LIMIT`],ZI=class extends q(`rate_limited`){name=`RateLimit.LimitedError`;constructor(e){super({error_description:`Too many requests. Try again in ${vO({seconds:e.retryAfter})}.`,meta:{retryAfter:e.retryAfter}})}},QI=`2a06:98c0:3600::103`,$I=aL({name:`sign-in-codes`,quota:10,window:3600}),eL=[`RateLimit`,`RateLimit-Policy`,`Retry-After`];async function Z(e,t){let n=e.env,r=t.limits.flatMap(t=>t.key===void 0?[]:!n[t.binding]&&XI.includes(t.binding)?(nc(e,{fields:{binding:t.binding},message:`A rate limit has no binding, so the request is not counted.`}),[]):[{...t,key:t.key,policy:sL({binding:t.binding})}]);for(let t of r)rL(e,{policy:t.policy});for(let t of r)if(!await tL(e,{binding:t.binding,key:t.key}))return cL(e,{policy:t.policy,retryAfter:t.policy.window})}(function(e){e.errors=[ZI]})(Z||={});function tL(e,t){let n=e.var.counted??new Map;e.var.counted||e.set(`counted`,n);let r=JSON.stringify([t.binding,t.key]),i=n.get(r)??Y(e,e.env[t.binding].limit({key:t.key}),`ratelimit.limit`).then(e=>e.success);return n.set(r,i),i}async function nL(e,t){let n=`sign-in-codes:${iL(t)}`,r=Date.now(),i=crypto.randomUUID();await e.insert(G).values({expiresAt:new Date(r+$I.window*1e3),id:i,identifier:n,value:``});let[a]=await e.select({count:V`count(*)::int`}).from(G).where(ZC(U(G.identifier,n),ew(G.expiresAt,new Date(r))));return(a?.count??0)<=$I.quota||(await e.delete(G).where(U(G.id,i)),!1)}function rL(e,t){let{policy:n}=t;e.header(`ratelimit-policy`,`"${n.name}";q=${n.quota};w=${n.window}`,{append:!0})}function iL(e){return Hn(mn(e.email),{as:`Hex`})}function aL(e){return e}function oL(e){let t=e.req.header(`cf-connecting-ip`);if(t===QI)return`worker:${e.req.header(`cf-worker`)??``}`;if(!t?.includes(`:`)||t.includes(`.`))return t;let[n,r]=t.toLowerCase().split(`::`),i=n?n.split(`:`):[],a=r?r.split(`:`):[];return`${(r===void 0?i:[...i,...Array(Math.max(0,8-i.length-a.length)).fill(`0`),...a]).slice(0,4).map(e=>e.replace(/^0+(?=.)/,``)).join(`:`)}::/64`}function sL(e){let{binding:t}=e,n=YI[t];return aL({name:t.replace(/_LIMIT$/,``).toLowerCase().replaceAll(`_`,`-`),quota:n.limit,window:n.period})}function cL(e,t){let{policy:n,retryAfter:r}=t;return e.header(`ratelimit`,`"${n.name}";r=0;t=${r}`),e.header(`retry-after`,String(r)),J(e,new ZI({retryAfter:r}))}function lL(e,t){return e.endsWith(t)?e.length===t.length||e[e.length-t.length-1]===`.`:!1}function uL(e,t){let n=e.length-t.length-2,r=e.lastIndexOf(`.`,n);return r===-1?e:e.slice(r+1)}function dL(e,t,n){if(n.validHosts!==null){let e=n.validHosts;for(let n of e)if(lL(t,n))return n}let r=0;if(t.startsWith(`.`))for(;r<t.length&&t[r]===`.`;)r+=1;return e.length===t.length-r?null:uL(t,e)}function fL(e,t){return e.slice(0,-t.length-1)}var pL=/[\t\n\r]/g,mL=!1;function hL(e){return e>=97&&e<=122||e>=48&&e<=57||e>127||e>=65&&e<=90||e===45||e===95}function gL(e,t,n){let r=n-t,i=e.charCodeAt(t)|32;if(r===2)return+(i===119&&(e.charCodeAt(t+1)|32)==115);if(r===3){let n=e.charCodeAt(t+1)|32,r=e.charCodeAt(t+2)|32;return+(i===119&&n===115&&r===115||i===102&&n===116&&r===112)}if(r===4){let n=e.charCodeAt(t+1)|32,r=e.charCodeAt(t+2)|32,a=e.charCodeAt(t+3)|32;return i===104&&n===116&&r===116&&a===112?1:i===102&&n===105&&r===108&&a===101?2:0}return r===5?+(i===104&&(e.charCodeAt(t+1)|32)==116&&(e.charCodeAt(t+2)|32)==116&&(e.charCodeAt(t+3)|32)==112&&(e.charCodeAt(t+4)|32)==115):0}function _L(e,t,n=!1){let r=0,i=e.length,a=!1,o=!1;if(mL=!1,!t){if(e.startsWith(`data:`))return null;for(;r<e.length&&e.charCodeAt(r)<=32;)r+=1;for(;i>r+1&&e.charCodeAt(i-1)<=32;)--i;if(e.charCodeAt(r)===47&&e.charCodeAt(r+1)===47)r+=2;else{let a=e.indexOf(`:/`,r);if(a!==-1){let i=gL(e,r,a);if(i===1)for(o=!0,r=a+2;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1;else if(i===2){o=!0,r=a+1;let t=0;for(;(e.charCodeAt(r)===47||e.charCodeAt(r)===92)&&t<2;)r+=1,t+=1;if(t<2)return null}else{for(let i=r;i<a;i+=1){let r=e.charCodeAt(i)|32;if(!(r>=97&&r<=122||r>=48&&r<=57||r===46||r===45||r===43)){let r=e.charCodeAt(i);return r===9||r===10||r===13?_L(e.replace(pL,``),t,n):null}}if(e.charCodeAt(a+2)===47)r=a+3;else return null}}else if(e.charCodeAt(r)!==91){let a=-1;for(let o=r;o<i;o+=1){let r=e.charCodeAt(o);if(r===9||r===10||r===13)return _L(e.replace(pL,``),t,n);if(r===58){a=o;break}if(r===47||r===92||r===63||r===35)break}if(a!==-1){let t=!1;for(let n=a+1;n<i;n+=1){let r=e.charCodeAt(n);if(r===47||r===92||r===63||r===35)break;if(r===64){t=!0;break}}if(!t){let t=!0,n=a+1;for(;n<i;n+=1){let r=e.charCodeAt(n);if(r===47||r===92||r===63||r===35)break;if(r<48||r>57){t=!1;break}}if(n===a+1&&(t=!1),!t){let t=gL(e,r,a);if(t===0){let t=!1;for(let n=a+1;n<i;n+=1){let r=e.charCodeAt(n);if(r===47||r===92||r===63||r===35)break;if(r===58){t=!0;break}}if(!t)return null}else if(o=!0,r=a+1,t===2){let t=0;for(;(e.charCodeAt(r)===47||e.charCodeAt(r)===92)&&t<2;)r+=1,t+=1;if(t<2)return null}else for(;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1}}}}}let s=-1,c=-1,l=-1,u=-1,d=!1,f=n,p=r-1,m=-1;if(n&&r<i){let t=e.charCodeAt(r);(!(hL(t)||t===46||t===95)||t===45)&&(f=!1)}for(let t=r;t<i;t+=1){let r=e.charCodeAt(t);if(r<64){if(r===47||r===35||r===63){i=t;break}r===58?(u===-1&&(u=t),l=t):r===9||r===10||r===13?d=!0:n&&(r===46?((t-p>64||m===46||m===45)&&(f=!1),p=t):(r<48||r>57)&&(r!==45||m===46)&&(f=!1))}else if(o&&r===92){i=t;break}else r===64?(s=t,u=-1):r===93?c=t:r>=65&&r<=90?a=!0:n&&!hL(r)&&(f=!1);n&&(m=r)}if(d)return _L(e.replace(pL,``),t,n);if(s!==-1&&s>=r&&s<i&&(r=s+1),e.charCodeAt(r)===91)return c===-1?null:e.slice(r+1,c).toLowerCase();if(l!==-1&&l>r&&l<i&&u===l&&(i=l),r>=i)return null;n&&f&&s===-1&&l===-1&&c===-1&&e.charCodeAt(i-1)!==46&&i-r<=255&&i-p-1<=63&&m!==45&&(mL=!0)}for(;i>r+1&&e.charCodeAt(i-1)===46;)--i;let s=r!==0||i!==e.length?e.slice(r,i):e;return a?s.toLowerCase():s}function vL(e){if(e.length<7||e.length>15)return!1;let t=0;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r===46)t+=1;else if(r<48||r>57)return!1}return t===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function yL(e){if(e.length<3)return!1;let t=+!!e.startsWith(`[`),n=e.length;if(e[n-1]===`]`&&--n,n-t>39)return!1;let r=!1;for(;t<n;t+=1){let n=e.charCodeAt(t);if(n===58)r=!0;else if(!(n>=48&&n<=57||n>=97&&n<=102||n>=65&&n<=70))return!1}return r}function bL(e){return yL(e)||vL(e)}var xL=[`test`,`localhost`,`invalid`,`example`,`example.com`,`example.net`,`example.org`,`local`,`onion`,`alt`,`home.arpa`,`ipv4only.arpa`,`resolver.arpa`,`service.arpa`,`6tisch.arpa`,`eap.arpa`];function SL(e){for(let t of xL)if(e.endsWith(t)&&(e.length===t.length||e.charCodeAt(e.length-t.length-1)===46))return!0;return!1}function CL(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function wL(e){if(e.length>255||e.length===0||!CL(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let t=-1,n=-1,r=e.length;for(let i=0;i<r;i+=1){let r=e.charCodeAt(i);if(r===46){if(i-t>64||n===46||n===45)return!1;t=i}else if(!(CL(r)||r===45||r===95)||r===45&&n===46)return!1;n=r}return r-t-1<=63&&n!==45}function TL({allowIcannDomains:e=!0,allowPrivateDomains:t=!1,detectIp:n=!0,detectSpecialUse:r=!1,extractHostname:i=!0,mixedInputs:a=!0,validHosts:o=null,validateHostname:s=!0}){return{allowIcannDomains:e,allowPrivateDomains:t,detectIp:n,detectSpecialUse:r,extractHostname:i,mixedInputs:a,validHosts:o,validateHostname:s}}var EL=TL({});function DL(e){return e===void 0?EL:TL(e)}function OL(e,t){return t.length===e.length?``:e.slice(0,-t.length-1)}function kL(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,isSpecialUse:null,publicSuffix:null,subdomain:null}}function AL(e,t,n,r,i){let a=DL(r);if(typeof e!=`string`)return i;let o=!1;return a.extractHostname?a.mixedInputs?(o=wL(e),i.hostname=_L(e,o,a.validateHostname)):i.hostname=_L(e,!1,a.validateHostname):i.hostname=e,a.detectIp&&i.hostname!==null&&(i.isIp=bL(i.hostname),i.isIp)?i:a.validateHostname&&a.extractHostname&&i.hostname!==null&&!(o&&i.hostname===e)&&!mL&&!wL(i.hostname)?(i.hostname=null,i):(t===0||i.hostname===null||(t===5&&a.detectSpecialUse&&(i.isSpecialUse=SL(i.hostname)),n(i.hostname,a,i),t===2||i.publicSuffix===null)||(i.domain=dL(i.publicSuffix,i.hostname,a),t===3||i.domain===null)||(i.subdomain=OL(i.hostname,i.domain),t===4)||(i.domainWithoutSuffix=fL(i.domain,i.publicSuffix)),i)}function jL(e,t,n){if(!t.allowPrivateDomains&&e.length>3){let t=e.length-1,r=e.charCodeAt(t),i=e.charCodeAt(t-1),a=e.charCodeAt(t-2),o=e.charCodeAt(t-3);if(r===109&&i===111&&a===99&&o===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix=`com`,!0;if(r===103&&i===114&&a===111&&o===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix=`org`,!0;if(r===117&&i===100&&a===101&&o===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix=`edu`,!0;if(r===118&&i===111&&a===103&&o===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix=`gov`,!0;if(r===116&&i===101&&a===110&&o===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix=`net`,!0;if(r===101&&i===100&&a===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix=`de`,!0}return!1}var ML=new Uint8Array([1,2,1,1,1,1,1,1,1,1,1,1,0,2,2,2,0,2,2,0,2,0,0,1,0,0,2,1,1,1,1,1,1,0,0,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,2,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,0,0,0,0,0,0,1,1,1,0,2,0,0,0,0,0,0,0,2,0,2,2,0,0,2,2,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,2,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,1,0,2,2,0,0,0,2,0,1,1,0,2,0,2,2,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,2,2,0,2,2,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,2,2,0,2,2,2,2,0,0,0,0,2,0,0,0,0,0,0,0,2,2,0,0,0,2,2,1,1,1,1,1,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,2,2,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,2,1,2,1,1,1,2,1,1,1,1,1,0,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,0,0]),NL=new Uint16Array([0,0,0,10,11,18,106,111,117,124,130,136,145,146,147,148,149,150,151,153,154,155,157,159,227,240,242,243,244,259,266,267,270,271,272,275,277,296,297,299,308,313,330,331,334,336,337,339,373,374,376,379,380,384,386,390,393,425,428,441,442,450,451,453,463,477,478,479,480,489,490,527,532,548,568,574,616,617,644,671,672,820,826,829,830,831,836,841,850,872,873,874,875,876,877,878,896,898,899,902,904,905,907,909,924,939,944,945,947,948,949,950,951,953,956,961,962,963,965,966,969,972,973,974,987,989,1001,1012,1020,1022,1063,1066,1070,1071,1073,1076,1087,1089,1099,1101,1107,1109,1110,1112,1115,1116,1117,1170,1172,1174,1194,1195,1196,1197,1199,1210,1241,1252,1264,1273,1280,1285,1298,1309,1322,1323,1334,1368,1369,1370,1385,1400,1472,1473,1475,1476,1510,1511,1512,1513,1516,1520,1523,1525,1554,1555,1563,1564,1565,1566,1568,1570,1571,1573,1574,1575,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1601,1602,1603,2057,2060,2061,2063,2070,2077,2087,2091,2102,2103,2104,2116,2117,2119,2121,2122,2129,2130,2132,2133,2135,2136,2137,2138,2139,2213,2215,2236,2237,2238,2240,2266,2267,2318,2319,2321,2328,2334,2344,2354,2407,2408,2409,2419,2433,2434,2437,2444,2445,2453,2454,2455,2456,2457,2468,2469,2470,2472,2473,2474,2483,2495,2501,2533,2537,2539,2540,2542,2543,2554,2555,2557,2565,2572,2578,2583,2584,2590,2593,2599,2606,2607,2614,2622,2623,2624,2662,2668,2683,2684,2689,2707,2738,2756,2758,2761,2769,2771,2778,2830,2854,2855,2856,2857,2858,2859,2860,2867,2868,2869,2870,2871,2872,2874,2875,2879,2959,2972,2973,3410,3414,3428,3480,3508,3530,3588,3610,3625,3688,3739,3777,3813,3838,3980,4026,4077,4096,4130,4145,4165,4195,4226,4249,4280,4310,4342,4369,4444,4466,4504,4514,4548,4567,4593,4635,4685,4711,4780,4781,4783,4806,4829,4865,4896,4913,4970,4983,5007,5036,5038,5072,5088,5116,5421,5430,5439,5446,5463,5467,5473,5512,5514,5521,5528,5537,5544,5545,5546,5558,5561,5576,5577,5586,5587,5596,5605,5611,5613,5614,5615,5652,5653,5655,5663,5670,5683,5687,5689,5690,5696,5703,5717,5727,5732,5740,5748,5754,5755,5759,5761,5762,5774,5846,5847,5848,5849,5851,5852,5855,5857,5860,5864,5865,5866,5872,5873,5874,5876,5878,5880,5881,5882,5885,5887,5890,5891,5893,6091,6098,6099,6100,6110,6115,6132,6146,6155,6156,6157,6161,6162,6164,6166,6172,6173,6176,6177,6179,6180,6181,7081,7084,7088,7106,7115,7118,7125,7126,7128,7129,7130,7132,7184,7185,7188,7189,7306,7307,7318,7329,7336,7339,7348,7349,7350,7365,7420,7612,7614,7615,7617,7622,7635,7650,7657,7666,7669,7672,7679,7687,7691,7692,7693,7707,7711,7720,7721,7722,7726,7761,7762,7780,7787,7795,7796,7801,7809,7853,7854,7860,7863,7875,7880,7881,7884,7886,7921,7922,7928,7935,7936,7945,7954,7969,7973,7974,8026,8027,8032,8034,8037,8039,8040,8041,8050,8064,8072,8086,8098,8099,8101,8103,8125,8136,8142,8143,8155,8167,8254,8266,8274,8277,8283,8308,8311,8312,8313,8314,8316,8319,8322,8333,8335,8337,8365,8440,8447,8451,8452,8461,8483,8484,8489,8490,8569,8571,8573,8582,8586,8592,8598,8604,8614,8619,8620,8638,8649,8654,8659,8669,8675,8679,8685,8691,10300,10301,10302,10309,10311]),PL=new Uint8Array([3,3,3,3,3,3,3,3,5,8,8,2,2,3,3,3,3,3,8,5,5,5,5,5,3,3,5,5,9,12,19,8,19,8,11,9,9,8,7,7,6,8,9,16,10,7,7,11,8,6,6,9,7,11,7,14,4,4,4,4,4,4,10,7,6,6,6,6,10,10,6,10,10,22,11,9,10,10,10,9,10,8,7,7,7,8,21,13,11,11,9,10,9,13,10,8,8,9,12,9,7,10,7,7,13,7,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,8,6,3,3,3,3,3,3,2,5,3,3,3,7,2,2,2,2,2,2,3,3,3,1,1,7,8,5,2,2,7,2,2,1,4,1,11,9,9,5,5,8,5,5,5,5,5,5,5,3,3,3,3,3,5,11,9,9,13,7,14,7,6,6,6,7,6,6,6,6,6,10,7,11,9,4,4,4,4,4,6,6,6,6,13,6,8,7,10,9,9,7,9,8,9,8,7,10,6,9,8,10,10,7,8,1,9,10,12,12,12,10,9,9,10,10,9,9,1,1,5,3,3,3,3,3,3,3,3,3,3,3,3,6,6,6,4,3,3,3,7,4,4,4,3,3,6,7,3,4,1,2,2,2,6,1,2,2,2,2,2,12,5,3,8,9,13,4,4,13,9,9,11,7,3,12,9,2,2,2,3,3,3,3,3,8,2,2,3,3,3,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,3,7,10,15,7,15,15,20,15,9,10,10,12,14,14,14,12,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,9,7,8,6,8,8,6,8,13,8,8,6,13,8,11,13,8,6,13,8,6,9,10,10,12,14,14,14,12,12,12,12,14,14,10,10,10,10,9,9,9,10,14,14,11,13,13,9,9,9,9,9,9,2,6,9,2,2,3,3,3,3,3,3,3,3,3,4,4,4,2,3,3,3,3,3,3,7,7,2,3,2,2,5,3,3,3,3,3,3,4,2,2,2,2,2,2,3,3,3,3,3,3,3,4,5,7,4,2,2,12,8,10,8,10,7,18,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,2,3,3,3,5,5,3,8,8,6,8,6,6,4,6,7,7,7,10,11,2,5,5,3,3,3,3,3,3,5,5,6,11,10,7,7,7,4,4,4,2,3,3,3,3,3,2,2,7,5,5,3,3,3,3,3,3,3,3,7,7,7,11,7,6,9,6,6,8,10,8,6,8,13,4,4,4,4,4,10,8,11,8,8,8,10,10,7,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,10,13,7,8,7,11,8,8,6,9,8,8,6,6,6,8,8,6,6,6,6,6,9,7,6,4,4,4,4,4,4,4,6,6,6,9,7,8,10,8,8,2,3,3,3,3,3,2,8,9,9,2,2,2,3,3,3,2,3,3,3,9,2,2,3,3,3,3,3,3,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,5,5,3,5,4,2,3,2,4,3,9,2,2,2,2,2,5,5,3,8,8,13,6,10,9,4,7,9,11,2,3,7,3,3,4,1,3,4,2,9,3,3,12,5,3,7,10,10,7,4,4,6,14,7,9,7,13,2,2,2,2,2,2,3,3,3,3,3,8,15,4,4,2,3,3,3,7,4,9,9,2,3,3,3,5,3,2,2,7,2,7,6,6,7,2,4,2,2,2,2,2,2,8,8,8,9,5,2,3,3,3,3,3,3,10,7,4,4,4,4,3,4,2,3,3,3,3,3,10,7,4,4,4,4,2,3,3,3,3,10,7,4,4,4,4,3,9,6,6,6,9,13,9,2,2,2,8,7,9,5,3,3,3,5,5,13,12,9,10,7,8,7,6,8,6,11,12,7,9,10,4,4,7,8,11,6,7,9,8,7,10,8,9,15,7,8,5,4,7,2,3,3,3,2,14,10,2,14,10,2,14,3,9,13,13,10,14,16,17,11,2,14,2,14,3,9,13,10,14,16,17,11,14,10,14,2,7,3,10,7,14,10,2,14,10,9,9,17,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,10,10,10,12,9,4,10,10,11,8,8,8,7,9,5,3,3,3,3,3,3,3,3,5,8,4,4,4,4,4,4,6,16,3,3,14,3,14,2,14,9,13,10,10,14,16,17,11,6,9,10,10,12,14,14,14,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,9,9,9,9,9,9,2,14,9,13,10,10,14,16,17,11,6,2,14,9,17,13,10,10,14,16,17,11,6,2,14,9,13,10,14,16,17,11,2,14,9,13,10,16,11,2,14,10,19,7,2,14,9,13,10,19,10,7,14,16,17,11,6,2,14,9,13,10,19,7,14,16,17,11,2,14,9,13,17,13,10,10,14,16,17,11,6,3,2,14,9,13,10,10,14,16,17,11,6,9,10,12,14,14,14,12,12,12,12,12,14,14,14,10,10,10,14,9,9,9,9,14,14,14,13,13,14,9,9,9,9,9,9,4,11,2,14,9,13,17,13,10,19,10,7,14,16,17,11,6,2,14,9,13,17,13,10,19,10,7,14,16,17,11,6,2,9,10,10,7,17,3,3,12,12,16,15,15,12,14,14,14,20,20,13,12,12,12,12,12,12,20,25,14,14,12,12,10,10,10,10,9,9,9,25,4,9,17,10,7,14,16,21,13,13,14,20,14,13,17,24,9,12,13,25,13,21,20,17,9,9,9,9,9,9,12,17,4,4,9,9,9,10,10,12,14,14,14,12,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,9,1,5,8,7,11,11,1,3,3,3,5,3,3,4,8,9,10,14,14,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,7,4,4,4,4,4,4,4,4,4,7,4,9,12,6,14,4,12,7,2,2,1,2,7,6,4,4,4,6,8,8,7,4,5,6,3,3,3,3,4,16,8,5,4,3,3,3,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,11,12,7,7,13,9,10,17,12,8,9,7,8,5,12,10,13,14,5,5,5,13,5,5,5,3,3,3,5,16,5,5,5,5,7,12,14,8,12,8,10,12,9,11,7,9,7,10,7,13,9,7,12,8,17,7,7,16,10,13,13,8,10,10,14,17,7,16,16,15,8,10,10,12,17,17,7,17,14,7,10,17,8,7,7,7,8,15,15,7,14,10,10,10,11,11,7,7,13,8,10,7,16,7,8,7,14,17,12,10,11,21,8,9,7,13,9,8,13,6,12,7,6,13,10,10,10,8,18,9,17,13,10,12,6,13,6,11,8,13,10,13,18,13,11,13,8,16,7,10,8,16,12,10,8,8,14,11,8,15,8,8,7,7,12,7,8,9,14,15,8,9,10,9,15,7,8,8,12,13,9,10,15,13,7,10,10,20,7,6,9,6,6,14,11,14,11,12,9,10,16,16,12,7,11,28,8,11,10,7,21,8,7,9,4,4,4,17,7,8,6,9,6,6,13,6,6,6,6,18,20,14,8,11,12,9,10,13,15,15,19,8,9,12,7,10,16,12,9,9,9,14,12,11,9,12,11,18,9,9,9,10,7,7,16,8,9,7,13,12,10,14,18,7,8,11,7,7,8,8,13,7,7,7,11,15,13,11,7,8,15,11,7,8,18,14,13,18,15,10,12,12,9,7,11,11,8,7,10,8,14,12,10,18,7,10,9,7,8,13,10,14,10,8,8,23,7,7,11,12,12,17,7,7,11,11,17,16,16,7,8,11,14,14,8,10,7,7,16,16,13,9,11,9,15,15,11,11,7,7,14,7,9,7,7,16,10,13,10,11,14,7,11,10,11,7,11,10,11,15,11,15,10,12,10,14,13,11,11,12,13,10,7,13,10,16,12,21,9,10,10,7,11,14,17,7,7,8,11,12,8,15,14,14,8,17,12,10,10,7,9,11,7,10,7,11,18,7,11,7,12,11,8,8,14,12,7,8,15,3,7,7,5,2,9,2,2,2,2,2,2,2,3,3,3,3,3,3,3,2,5,3,3,3,3,3,3,4,4,3,3,3,3,3,3,5,11,6,4,7,10,7,7,11,1,10,2,2,3,3,3,3,3,3,3,3,5,7,3,5,6,3,3,5,2,2,5,3,4,13,11,3,3,6,3,5,14,2,2,3,8,2,2,12,5,18,5,3,3,3,16,5,5,5,10,7,13,12,13,9,12,14,19,9,9,21,9,9,10,6,9,6,15,10,6,12,8,6,10,15,4,4,6,6,9,9,12,16,14,23,7,7,7,14,9,7,7,11,14,10,7,10,10,10,12,6,11,10,13,11,15,11,7,12,10,3,7,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,3,7,2,5,5,3,3,5,5,5,5,7,6,6,6,4,4,4,4,4,4,6,6,6,6,6,7,10,2,2,2,5,5,5,5,3,3,3,3,3,5,5,10,9,11,8,7,12,8,9,7,6,13,11,6,13,7,9,9,4,4,4,4,4,6,10,7,8,13,8,8,9,14,7,8,10,7,7,7,9,6,9,7,2,12,5,3,3,13,4,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,4,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,4,4,4,4,4,4,4,4,4,4,4,4,9,3,3,3,3,3,3,3,3,3,3,4,2,2,2,5,3,3,3,3,3,3,3,3,4,4,1,7,6,4,12,3,3,3,3,3,8,7,3,3,3,3,3,3,4,4,11,14,2,8,3,5,5,8,10,8,6,4,7,17,7,4,5,2,6,3,2,2,12,5,5,3,15,13,8,11,2,2,3,3,3,3,3,3,3,3,4,4,5,3,3,3,3,4,18,2,12,5,3,3,3,3,3,5,16,8,8,9,6,6,4,4,4,4,31,6,6,10,11,21,10,9,7,10,7,7,2,4,4,4,4,6,5,3,3,4,3,3,3,3,3,3,3,3,3,6,6,6,2,2,2,5,3,3,3,7,7,4,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,8,2,3,3,3,3,3,5,9,11,3,3,3,3,4,4,3,3,3,3,3,5,10,9,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,11,10,10,10,10,10,11,10,11,10,11,10,9,9,11,3,3,3,3,3,3,5,3,7,8,8,7,6,6,11,4,4,4,7,8,9,9,2,3,7,4,4,2,5,5,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,2,2,5,5,5,5,5,3,3,5,5,5,7,7,6,6,6,4,4,4,4,4,4,4,4,4,4,6,6,8,8,1,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,6,9,12,3,7,10,7,2,2,3,3,3,3,3,4,3,3,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,8,8,6,6,8,6,7,4,4,4,4,4,4,6,7,5,5,20,19,8,10,9,7,10,6,8,11,6,6,6,6,13,12,8,6,7,14,11,9,2,5,3,6,2,3,2,2,2,2,2,2,2,5,4,3,7,6,4,7,4,3,6,4,7,2,7,7,7,5,5,5,5,3,3,3,3,3,3,3,3,3,5,9,10,10,11,7,8,20,7,8,9,8,12,6,6,6,8,9,8,12,6,6,8,13,10,12,6,6,7,7,9,6,4,4,4,4,4,4,10,6,6,6,7,14,11,10,7,8,10,8,11,14,11,11,9,7,9,8,11,9,17,10,9,2,2,2,9,3,3,3,3,15,14,9,5,5,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,15,12,22,19,17,18,18,19,21,7,16,16,5,5,5,5,5,5,5,5,5,5,5,7,5,5,5,5,5,5,5,5,5,5,5,9,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,7,16,11,11,7,7,7,7,17,7,8,12,15,9,19,7,19,8,21,11,12,19,14,22,7,7,7,7,7,7,7,7,7,7,7,16,16,19,24,12,7,14,7,12,7,8,10,10,13,7,12,12,7,7,10,18,15,12,16,7,14,12,17,10,16,17,12,17,25,7,7,7,13,6,9,6,9,18,6,6,11,20,10,6,6,6,6,6,6,17,6,6,6,15,6,6,6,6,6,8,14,11,12,11,15,13,19,17,21,7,18,8,13,13,8,12,8,6,6,13,6,15,15,16,6,6,16,6,6,6,14,6,18,6,6,6,17,18,9,13,15,8,19,8,15,15,18,14,16,4,4,4,4,4,4,4,4,4,4,4,4,6,11,10,11,6,21,23,12,17,12,11,14,13,22,15,15,11,12,14,12,7,12,8,12,14,12,18,10,8,16,19,17,12,14,15,8,19,17,12,13,13,15,18,13,23,24,23,21,17,24,8,21,8,14,14,16,20,14,8,8,15,20,8,19,21,9,8,13,12,13,15,11,8,11,9,9,8,11,8,21,14,21,15,15,13,7,19,7,7,7,7,7,7,16,12,17,18,7,7,11,11,7,9,9,2,2,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,4,5,5,5,5,5,5,5,5,3,3,10,10,7,9,7,7,7,6,8,6,6,6,6,6,6,6,7,6,8,6,6,9,7,7,7,4,4,4,4,4,4,4,4,8,9,8,7,8,7,8,10,7,5,5,5,5,5,5,3,9,7,7,8,6,6,6,6,6,6,6,6,9,6,6,9,11,13,7,8,9,9,5,5,5,7,8,6,6,6,6,6,6,6,7,8,9,7,10,9,10,7,8,5,5,5,5,5,5,7,7,9,8,7,7,6,6,6,6,6,6,10,6,6,6,6,6,6,6,6,6,6,6,9,10,4,4,4,4,8,7,7,10,10,9,8,8,15,9,8,8,8,8,8,9,10,9,10,7,8,13,5,5,5,5,5,3,3,7,7,8,6,6,6,4,4,11,9,7,8,9,10,7,5,5,5,5,5,3,3,7,6,6,13,7,9,8,7,5,5,5,5,5,5,5,5,3,3,3,3,7,8,7,8,13,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,6,6,6,6,7,6,7,6,6,9,7,4,4,4,4,4,4,4,7,8,7,8,9,8,8,8,7,10,7,8,5,5,5,5,5,5,5,5,3,7,7,7,7,9,7,10,9,6,6,6,6,6,8,8,6,6,6,7,6,6,6,9,9,4,4,13,7,10,9,9,12,7,8,8,10,8,8,8,8,8,8,5,5,5,5,3,7,7,11,7,9,8,8,6,6,10,6,8,8,8,6,7,6,6,12,4,4,4,4,4,4,4,4,4,9,8,8,16,8,9,8,7,5,5,5,5,5,3,3,7,7,7,10,15,8,9,8,9,9,6,6,6,6,6,6,7,4,8,7,8,8,7,8,11,8,5,5,5,5,5,3,7,7,6,11,16,7,6,4,4,4,4,9,9,8,8,8,13,12,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,7,8,8,9,13,7,7,7,9,8,8,9,12,7,12,7,12,8,7,10,12,9,9,6,6,8,8,6,6,6,6,6,6,6,9,8,9,11,8,6,6,6,6,6,12,7,6,6,6,9,7,7,6,6,6,6,6,11,9,6,6,6,6,6,7,9,4,4,4,4,4,4,4,4,9,9,9,9,7,7,7,7,7,11,7,7,8,8,8,8,8,8,9,8,9,9,7,7,11,11,7,12,8,8,8,8,8,7,8,8,8,8,8,13,12,8,8,8,8,7,7,7,9,5,5,5,5,5,5,5,3,3,7,7,11,7,8,8,8,6,6,6,6,6,6,6,6,6,6,6,10,11,6,7,9,4,4,4,4,4,4,9,9,8,9,8,8,8,7,7,5,5,5,5,5,5,5,5,5,5,3,3,11,7,7,7,9,6,6,11,8,10,6,6,6,12,8,8,7,6,6,8,7,4,4,4,4,4,4,4,4,9,10,9,9,8,10,9,11,8,5,5,5,7,6,6,8,7,4,4,4,4,8,7,7,8,7,8,8,5,5,5,5,7,7,8,8,8,6,6,6,6,6,10,8,9,13,6,7,6,6,8,7,8,4,4,4,4,11,8,8,8,10,5,5,8,7,8,13,8,7,6,8,6,9,7,8,7,5,5,5,5,5,5,3,3,7,8,9,6,4,8,10,10,8,12,9,13,2,7,5,5,5,5,5,7,7,10,6,6,6,6,6,6,6,8,4,4,9,8,8,8,14,8,8,8,9,8,5,5,5,5,5,3,3,9,6,6,6,6,10,12,6,6,6,6,6,6,6,4,4,4,4,11,8,7,8,8,8,5,5,3,3,3,3,7,7,6,8,6,8,11,7,6,6,6,7,4,8,11,9,10,5,5,5,3,3,3,7,7,8,9,8,15,9,6,6,6,6,6,6,11,11,4,4,4,4,4,7,9,9,10,8,7,5,5,5,5,5,5,3,3,8,6,6,6,6,6,6,6,6,6,9,7,4,4,4,4,4,9,9,8,8,10,13,5,5,5,3,17,7,7,7,7,7,8,6,8,13,6,6,6,6,6,6,6,6,4,4,4,9,10,8,8,8,5,5,5,5,3,7,7,7,8,8,6,6,6,8,8,8,9,10,8,4,8,10,9,8,8,8,9,13,10,5,5,5,5,5,5,5,5,5,5,3,3,7,8,9,9,7,7,7,10,9,9,8,9,8,8,8,6,6,6,6,6,6,6,6,6,6,6,6,6,8,12,6,6,6,6,6,6,6,6,6,12,4,4,4,4,4,4,4,4,4,4,4,11,8,8,9,9,10,8,9,7,7,5,5,5,5,5,5,3,7,8,7,6,6,8,6,6,10,4,7,8,9,12,8,7,7,5,5,5,5,5,5,3,3,7,14,7,9,8,8,6,6,8,12,12,6,6,7,7,10,4,4,4,4,4,9,9,14,9,13,8,7,5,5,5,6,6,6,7,4,8,7,5,5,5,5,5,5,5,5,3,3,7,7,7,8,6,6,6,6,6,6,12,6,6,6,6,4,4,9,9,8,8,11,7,7,7,5,5,5,3,9,8,6,6,7,4,4,4,4,4,4,8,8,11,5,5,5,7,7,7,9,6,6,6,6,6,6,9,8,4,4,4,4,7,12,9,8,8,8,7,10,10,5,5,5,5,5,5,5,3,11,14,8,7,8,8,6,6,6,6,6,8,7,6,6,6,7,6,8,9,4,4,4,7,8,9,7,9,7,7,9,8,5,5,5,5,5,5,5,5,5,11,3,9,7,7,12,14,8,6,6,12,11,8,6,6,6,6,6,6,6,6,6,15,7,4,4,4,16,9,9,9,8,9,9,9,9,9,8,8,8,13,11,8,5,5,5,5,3,7,6,6,8,8,8,6,6,7,10,7,4,4,4,4,9,7,8,7,7,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,7,7,7,9,6,6,6,6,6,8,8,7,7,9,6,6,6,7,6,6,6,6,6,15,4,4,4,4,4,8,8,7,8,12,9,8,8,8,8,8,9,8,8,10,8,8,8,8,16,9,10,2,5,5,5,5,5,5,5,9,7,6,8,9,4,4,4,4,4,7,8,8,8,9,8,11,10,5,5,5,5,3,7,8,6,6,6,6,6,8,6,6,6,6,4,12,10,12,7,7,7,7,7,7,7,5,5,5,5,3,3,7,7,10,8,9,7,6,10,7,6,6,4,4,8,9,7,9,9,9,9,8,8,8,8,10,5,5,5,5,5,5,8,7,6,6,6,10,6,7,10,7,4,4,4,4,4,4,4,12,9,10,7,7,10,8,10,5,12,9,6,6,6,6,6,7,6,4,4,4,10,9,9,8,7,7,5,5,5,5,5,5,3,3,13,7,7,9,7,7,7,8,9,9,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,7,13,9,15,15,4,4,4,4,4,10,10,9,8,9,8,8,9,7,8,7,8,5,5,7,6,6,6,4,4,4,7,8,11,8,5,5,5,5,5,5,5,7,6,6,6,6,6,6,9,11,10,7,4,4,4,9,8,8,5,5,5,5,5,9,9,6,6,6,6,6,6,6,9,9,4,4,4,4,8,8,8,9,9,8,8,8,13,2,4,2,7,5,5,5,5,5,5,9,9,6,6,6,6,10,8,8,8,6,6,6,4,4,9,8,10,8,9,8,8,8,9,8,8,5,3,3,3,11,6,6,6,7,6,6,6,4,4,9,8,5,5,5,5,5,3,11,8,6,6,6,6,6,9,7,4,4,14,10,9,8,12,8,8,8,11,15,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,11,11,11,10,10,7,7,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,5,5,5,3,3,3,7,11,7,7,11,11,7,8,9,10,7,7,9,9,9,9,7,7,10,8,13,8,8,8,8,11,10,6,6,8,10,11,14,14,6,6,6,6,6,6,9,11,7,7,6,8,12,11,11,6,6,10,6,6,6,6,6,10,7,7,6,6,11,6,6,6,11,8,9,7,6,10,11,9,10,11,7,11,8,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,6,6,8,9,10,9,6,6,6,10,6,6,6,6,11,10,11,10,9,8,7,7,7,7,11,14,8,10,9,9,8,8,7,11,8,8,8,11,11,10,10,9,10,8,11,10,8,11,9,12,8,10,8,11,8,9,9,11,11,10,11,13,8,7,8,8,9,7,8,8,8,8,7,8,2,2,2,2,2,2,2,4,4,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4,2,3,3,3,3,3,3,3,3,8,6,4,4,4,11,7,11,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,5,3,3,3,3,8,7,7,8,8,4,8,7,7,7,9,7,8,9,8,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,6,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,4,5,5,3,3,8,8,6,9,4,4,10,7,3,3,3,2,5,3,3,3,3,3,3,3,3,3,3,3,3,4,3,2,2,2,3,3,3,3,3,4,10,2,3,3,3,3,3,3,3,4,2,3,3,3,3,3,3,3,3,2,2,3,3,3,5,2,4,2,6,2,2,9,5,5,3,3,3,3,3,3,3,5,5,5,9,8,7,9,6,6,11,4,4,4,4,4,4,4,4,6,6,7,7,11,8,8,6,5,11,2,3,3,3,3,3,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,6,4,4,4,4,3,3,3,3,5,7,2,3,3,3,3,3,8,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,6,4,4,4,4,2,2,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,2,3,3,3,3,3,6,3,3,8,10,3,4,4,1,1,1,1,1,1,1,8,9,10,7,7,1,14,18,13,18,13,10,10,16,13,18,16,13,16,18,13,22,16,16,16,14,21,16,9,14,16,9,9,14,10,10,14,12,14,19,12,11,18,13,17,15,15,15,15,16,14,13,19,18,15,19,18,12,18,12,11,20,14,15,10,17,17,16,19,20,21,15,13,16,15,15,15,1,1,3,8,7,7,8,8,8,1,6,1,1,6,3,3,4,7,3,3,5,5,4,4,4,4,4,2,7,7,8,12,3,4,5,1,3,4,4,10,4,3,3,3,8,7,7,2,2,2,2,2,2,2,2,2,12,9,20,7,5,5,5,9,13,5,5,5,5,5,3,3,3,16,5,5,5,13,7,8,8,11,8,7,9,7,11,12,9,9,8,8,11,10,14,7,12,10,11,13,7,9,11,17,17,14,13,7,8,7,10,10,7,16,13,7,8,17,12,9,8,6,7,10,6,6,12,6,8,10,8,8,8,6,8,6,14,6,6,6,13,6,10,6,6,7,14,8,6,6,10,11,10,9,9,7,7,6,6,6,9,9,7,9,10,9,13,12,4,4,4,4,4,4,4,4,4,4,6,6,6,8,8,6,8,9,10,9,7,10,10,8,7,8,7,10,12,9,8,15,8,7,8,8,7,7,15,13,7,10,9,14,18,16,7,24,7,8,10,11,16,8,14,7,9,9,9,13,19,14,15,14,11,7,13,9,10,7,13,9,10,11,12,8,9,2,3,5,8,7,4,4,15,10,5,3,3,3,3,3,5,4,4,4,2,2,2,2,2,1,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,2,2,2,3,3,3,3,3,3,3,3,3,3,4,2,12,5,3,8,10,15,6,7,2,3,2,5,5,12,2,5,5,5,5,2,2,5,5,12,9,5,2,2,9,5,5,12,12,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,12,5,8,8,9,5,5,5,8,19,7,16,15,14,9,9,9,9,7,11,11,11,7,14,10,10,5,5,5,5,5,5,5,5,5,15,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,14,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,15,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,12,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,12,9,9,12,12,12,15,7,11,7,14,11,18,13,8,18,15,18,12,14,12,8,8,8,8,9,9,9,12,7,10,10,8,8,12,12,12,7,12,12,9,7,7,7,7,7,8,15,12,9,10,10,7,10,10,13,11,10,9,22,11,9,8,8,8,8,8,13,18,13,9,15,19,9,7,7,10,7,7,7,11,8,13,17,7,7,10,10,10,7,20,16,7,7,7,7,7,7,11,21,12,12,13,11,14,16,8,8,13,11,7,7,13,7,7,14,15,15,6,6,6,6,6,6,6,6,6,6,13,10,18,6,6,6,6,6,6,6,6,6,11,8,8,12,12,11,11,8,12,9,9,9,13,13,9,9,9,9,9,9,6,10,12,6,6,6,6,17,11,7,7,7,7,14,14,12,6,7,7,6,6,15,10,13,10,6,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,13,9,9,15,13,6,12,12,6,19,11,10,7,7,16,8,19,17,9,9,9,9,9,6,6,6,10,8,16,8,6,6,9,6,6,6,6,6,6,6,6,8,8,8,6,7,6,6,6,6,6,6,6,6,6,6,6,14,6,6,6,6,20,6,9,6,14,9,9,9,6,9,8,8,12,9,8,8,8,8,7,8,12,7,8,8,8,6,8,6,6,6,6,6,6,6,9,8,8,6,6,13,9,12,13,12,14,13,12,11,11,6,8,8,8,6,13,12,11,11,12,6,11,12,11,13,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,6,6,6,6,6,6,6,13,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,6,18,6,12,13,13,13,9,10,15,9,12,6,6,6,6,6,6,6,6,9,15,10,9,10,13,9,19,8,18,17,10,10,8,8,6,6,6,6,6,6,10,14,8,16,16,9,8,15,8,8,10,12,14,7,7,8,8,7,7,7,7,8,13,13,11,9,9,9,12,10,17,8,11,9,7,7,14,8,14,14,7,7,7,7,7,7,14,7,7,7,7,7,10,10,8,14,7,7,7,7,8,8,8,8,8,17,9,7,15,7,8,12,7,9,14,7,7,7,9,13,8,14,7,16,18,13,15,14,12,13,10,15,9,7,7,7,10,13,15,15,9,9,9,9,19,11,7,11,11,13,8,8,8,8,7,12,19,17,9,9,13,7,7,7,9,7,7,7,12,13,15,10,8,8,14,15,12,13,13,8,12,14,7,11,7,14,15,13,12,8,8,8,8,11,13,15,15,8,13,12,8,8,8,13,10,16,14,11,8,8,12,12,9,15,15,12,12,13,8,8,9,12,13,9,8,8,8,8,8,8,8,8,8,8,8,11,12,11,7,14,7,13,13,13,12,18,16,7,12,11,10,10,15,9,9,9,21,7,7,7,11,16,8,8,11,11,7,7,7,7,7,19,7,7,7,7,7,7,7,7,7,12,8,9,12,14,11,9,9,9,22,12,3,3,4,8,8,15,4,2,2,5,5,3,3,3,3,3,3,6,6,4,4,4,12,7,10,2,3,3,3,3,3,3,3,6,7,3,7,5,14,4,4,7,8,10,4,1,3,3,6,2,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,4,2,2,5,3,4,2,2,2,2,2,2,11,5,5,5,11,5,5,3,5,5,5,5,11,14,13,9,11,9,12,8,11,11,8,11,16,9,9,7,10,9,12,8,15,6,7,6,6,13,10,8,11,8,6,6,6,12,16,6,11,7,8,9,18,6,6,9,4,4,6,13,6,6,6,6,8,8,9,16,7,7,14,7,8,8,8,7,7,7,7,7,7,15,13,7,10,7,7,10,12,16,15,7,9,9,14,11,11,10,9,10,8,12,7,8,7,7,10,12,7,12,8,7,2,3,3,3,3,3,3,3,3,3,3,5,3,3,5,5,5,10,4,8,7,10,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,7,4,5,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,8,2,2,2,8,12,7,7,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,7,11,9,8,8,8,7,8,9,7,7,9,7,7,7,10,7,7,10,9,10,6,6,6,6,6,6,15,7,8,9,9,8,6,6,10,9,6,8,13,9,7,6,6,6,6,6,6,12,6,6,7,6,7,6,6,6,10,10,7,6,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,6,14,6,6,7,7,9,6,6,6,6,9,9,8,9,10,9,8,9,12,7,7,7,8,7,10,12,11,9,10,7,7,7,9,10,10,8,12,9,7,7,9,8,8,8,10,7,7,8,9,9,7,7,7,8,2,4,6,3,4,2,3,3,3,3,2,3,3,3,3,3,3,3,3,4,4,4,4,5,5,3,3,3,3,3,3,3,3,5,8,6,4,7,3,3,3,3,3,3,3,12,3,3,3,3,3,3,4,4,2,3,5,3,4,7,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4,3,3,6,4,3,4,2,2,2,5,3,3,3,3,3,5,4,4,4,4,7,6,8,9,2,2,2,2,3,3,3,5,7,2,3,3,8,7,7,2,2,8,5,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,8,8,7,7,6,10,6,9,7,11,4,6,8,8,7,8,4,5,5,5,5,3,3,11,8,9,6,6,8,7,4,4,7,8,7,2,2,3,3,3,3,4,3,3,3,3,3,3,3,3,7,2,2,5,3,3,2,3,3,3,3,3,3,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,12,5,5,3,3,3,5,10,12,6,15,4,6,6,7,14,9,3,3,3,3,3,8,2,2,3,5,5,3,3,3,3,3,3,8,8,8,7,5,8,4,6,11,2,2,6,7,3,3,2,9,8,5,5,3,3,3,5,5,7,7,6,6,10,6,8,6,8,9,7,4,4,4,4,7,6,6,7,7,10,9,8,11,8,3,3,3,3,3,4,4,2,3,3,3,3,3,7,6,2,5,6,7,6,4,8,9,11,2,2,3,3,3,3,3,3,3,2,2,5,3,3,3,3,3,9,9,6,4,8,7,7,5,9,8,6,2,8,7,8,5,5,5,5,5,3,3,3,16,8,7,7,7,8,7,7,7,7,9,6,9,6,10,7,7,7,6,10,8,9,11,11,8,4,4,10,8,8,6,9,6,11,8,8,8,15,7,8,9,5,3,3,3,3,3,5,11,2,2,3,8,9,10,3,2,2,2,2,2,2,3,6,4,2,2,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,11,5,3,3,3,3,3,3,3,3,6,7,4,4,2,3,3,3,3,3,3,3,3,12,7,4,12,4,6,5,4,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,3,4,4,11,10,6,4,6,10,8,3,3,3,3,3,3,3,3,5,4,4,4,2,2,2,2,2,2,2,2,5,3,4,4,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,10,5,5,5,5,5,5,3,3,3,3,3,3,3,3,7,8,8,7,13,12,10,10,8,8,7,7,9,12,11,6,6,8,8,9,7,7,7,10,15,10,4,4,4,4,4,11,8,8,9,7,9,14,14,12,2,2,2,2,2,2,2,3,3,3,3,3,12,5,5,5,11,10,7,9,3,8,7,3,15,13,11,4,4,2,2,2,19,7,5,5,3,3,3,3,3,3,3,5,22,18,6,14,17,4,4,19,16,18,2,3,3,7,2,3,2,3,3,6,4,2,3,3,2,5,3,3,3,3,3,3,3,9,9,2,3,2,2,2,3,3,3,5,7,14,7,7,12,9,13,6,11,6,10,9,7,7,8,12,12,8,8,8,10,7,7,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,5,8,10,7,8,11,8,12,9,4,14,7,7,9,13,2,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,3,3,3,3,5,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,4,4,4,3,2,3,3,3,3,5,2,2,2,2,5,5,5,5,3,3,3,3,3,3,3,3,3,7,7,7,7,7,8,8,8,8,8,12,9,8,8,9,8,6,17,6,6,6,8,8,6,6,6,6,6,6,6,6,6,6,6,7,4,4,8,8,9,9,9,7,7,7,7,7,7,7,9,9,9,7,8,8,8,10,7,13,10,8,9,3,3,5,13,3,3,3,3,3,7,7,6,6,10,13,11,11,8,8,9,8,9,9,10,10,10,11,10,10,13,13,16,15,11,12,9,9,10,9,11,10,9,9,14,7,8,3,10,7,7,3,2,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,6,7,2,2,3,3,3,3,3,3,3,3,4,11,6,7,4,6,2,2,3,3,3,1,3,3,3,3,3,3,6,4,4,2,2,2,3,3,3,3,4,4,6,6,6,6,5,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,11,6,10,9,12,7,7,11,14,9,7,12,3,3,7,12,11,12,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,5,5,5,5,5,5,5,5,11,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,3,3,3,5,5,5,5,5,5,5,5,5,5,5,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,5,5,5,5,5,5,5,5,5,5,5,5,3,10,3,3,3,11,3,5,9,11,8,12,14,9,7,8,7,7,11,11,7,7,10,9,8,10,9,7,7,7,7,7,7,8,8,7,11,8,8,8,7,7,10,8,7,13,12,7,17,10,8,8,11,7,11,11,14,7,11,7,8,6,9,20,8,7,9,16,7,10,6,11,10,8,9,7,16,11,11,9,8,9,8,8,8,11,8,15,8,8,9,7,8,8,11,10,7,5,7,10,10,15,7,7,7,8,7,8,8,10,11,10,10,10,11,11,7,8,6,8,8,8,10,6,8,6,6,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,16,6,15,6,7,11,11,7,9,10,11,13,10,6,16,8,10,12,11,6,6,6,6,6,6,6,10,6,10,7,7,7,7,11,7,11,6,6,6,6,6,6,17,7,7,6,6,12,22,6,6,6,6,6,8,6,6,6,6,7,6,6,5,6,6,8,11,6,9,14,11,9,11,7,7,8,6,6,6,8,10,9,6,6,6,6,9,7,6,6,6,6,6,15,6,4,4,4,6,4,17,8,11,6,6,9,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,6,6,6,6,10,6,10,6,6,6,6,12,8,6,6,6,6,6,6,6,6,6,9,6,6,6,6,18,6,6,6,8,9,10,7,8,9,10,11,7,13,6,8,8,6,6,14,7,7,7,7,10,7,14,9,6,6,9,15,9,7,14,6,11,14,13,7,12,8,7,7,7,7,7,12,7,10,9,16,6,8,6,5,17,6,8,10,4,6,4,10,15,17,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,4,4,11,7,4,4,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,19,17,6,10,11,6,6,6,6,18,6,6,11,4,4,4,5,6,6,6,9,5,6,4,6,6,4,6,6,6,6,10,6,6,4,6,6,10,6,10,6,6,6,6,11,6,6,10,6,6,8,6,6,6,8,6,11,4,11,9,10,9,11,4,8,4,11,12,7,9,8,6,7,7,8,12,12,11,13,10,11,7,7,7,9,7,11,10,7,7,7,16,11,10,11,17,9,9,8,8,7,7,7,9,7,7,7,14,7,13,9,11,10,14,10,10,12,11,10,7,10,5,14,8,8,8,9,7,8,7,7,9,8,7,8,7,7,7,7,7,7,7,11,8,10,8,7,8,14,11,8,9,9,9,8,24,10,10,12,7,7,15,11,8,8,12,11,8,9,9,7,8,9,10,11,10,11,7,12,7,7,11,9,8,14,13,12,8,11,10,8,8,7,7,14,9,10,8,9,11,7,14,8,8,13,8,8,12,7,10,14,14,11,9,10,9,9,7,7,11,11,13,9,13,5,5,5,7,9,5,11,12,14,8,7,7,11,10,9,7,8,8,7,10,11,11,5,5,7,5,5,5,7,7,15,7,7,8,7,15,12,12,10,7,8,7,11,7,7,7,23,11,8,8,11,10,7,8,11,7,19,7,7,6,9,9,9,11,3,4,7,8,6,6,4,10,8,2,2]),FL=new Uint16Array([0,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,1,1,1,1,1,17,1,1,1,12,1,12,1,12,13,1,1,1,1,12,1,12,1,1,1,1,1,14,21,1,1,1,1,1,1,1,19,12,1,1,1,1,1,1,1,20,1,1,1,16,18,1,1,15,1,1,1,1,12,1,1,1,1,1,1,1,1,22,1,1,1,1,12,1,1,1,1,1,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,1,24,25,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,12,12,12,12,1,32,0,0,0,1,1,1,1,35,34,1,1,1,1,1,33,1,1,1,1,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,0,39,40,0,0,0,0,12,1,1,12,1,1,1,1,43,44,44,44,43,44,43,43,45,44,43,44,43,43,43,43,43,43,45,43,43,43,43,43,43,44,46,46,44,43,43,43,43,43,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,49,51,49,49,49,51,49,50,49,52,49,50,50,49,49,49,50,52,50,52,49,50,50,12,54,54,53,55,50,52,49,49,47,48,56,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,59,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,66,67,12,1,1,65,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,76,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,12,1,1,1,1,89,1,91,1,1,1,1,1,1,1,1,94,1,1,1,1,1,1,1,1,1,1,1,1,0,1,97,97,1,1,12,1,100,1,1,1,1,1,1,1,98,1,99,1,101,1,1,1,1,1,102,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,110,111,1,1,1,1,1,1,113,113,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,121,122,1,1,1,1,1,1,1,1,1,1,1,1,1,122,1,1,1,1,1,1,1,1,1,1,122,1,1,1,1,1,1,1,1,1,126,123,125,120,1,124,1,1,114,1,1,1,1,117,1,127,1,1,1,1,1,1,119,1,108,1,109,1,12,128,106,1,112,1,1,1,1,1,107,115,1,12,12,12,118,116,1,1,1,1,1,1,0,0,0,0,1,12,12,1,1,1,1,1,12,134,1,1,1,1,1,1,1,1,1,1,1,12,136,1,1,1,1,1,1,1,1,137,138,12,12,135,133,44,44,140,49,49,139,142,141,1,1,0,0,0,0,0,0,0,0,0,0,0,0,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0,0,0,1,0,144,132,1,0,1,1,12,12,1,1,1,1,1,0,0,0,0,0,0,0,1,148,147,20,1,1,12,12,1,20,12,12,1,1,1,1,1,134,1,1,152,1,1,1,1,153,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,1,136,1,1,152,1,1,1,1,153,1,1,134,1,1,1,152,1,1,1,1,153,1,1,134,1,1,1,1,1,1,1,1,134,1,1,1,1,1,1,1,1,1,1,1,160,1,1,1,152,1,1,1,1,1,153,1,1,160,1,1,1,1,1,1,1,1,1,1,134,1,1,1,1,152,1,1,1,1,153,1,1,1,134,1,1,152,1,1,1,1,164,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,167,1,1,160,1,1,1,1,1,152,1,1,1,1,1,153,1,1,160,1,1,1,1,1,152,1,1,1,1,1,153,1,154,158,158,12,1,12,166,1,1,1,1,1,158,158,158,154,1,1,1,157,158,161,165,1,1,1,1,157,157,1,1,156,154,154,157,170,156,170,1,1,168,1,156,155,157,1,1,1,1,157,1,159,1,1,1,12,1,162,1,162,1,1,1,162,161,163,169,156,154,1,1,1,1,1,1,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,173,172,173,172,172,172,172,174,174,172,173,172,173,172,172,12,1,12,12,12,12,1,12,12,12,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,196,1,1,1,1,12,202,203,204,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,151,1,1,1,1,1,1,1,1,1,1,1,199,1,1,1,186,1,1,1,1,210,1,1,207,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,12,1,1,1,1,1,1,1,1,177,193,1,1,1,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,184,1,1,1,1,1,1,1,194,1,1,1,1,198,1,1,1,1,171,1,1,192,1,1,1,195,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,182,1,12,1,1,12,1,1,1,1,185,1,1,1,191,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,211,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,197,1,1,1,1,1,12,1,1,1,1,1,1,1,1,176,12,1,1,1,179,12,1,1,1,1,1,1,1,201,1,1,1,1,1,1,1,1,1,1,178,1,1,1,1,1,1,1,206,1,1,1,183,1,1,1,190,1,12,1,187,12,1,1,1,1,1,1,1,1,1,1,194,1,1,1,1,181,1,1,1,1,1,1,1,1,1,1,1,1,1,1,175,1,1,1,1,1,1,1,1,1,1,188,1,1,1,1,1,1,1,1,1,1,1,208,1,1,1,1,1,1,1,1,1,1,12,1,209,1,1,12,1,1,1,1,180,1,1,1,188,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,200,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,12,1,1,1,1,1,1,1,1,1,205,1,1,12,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,221,0,0,0,0,0,222,0,0,0,0,0,0,1,12,1,1,1,226,1,1,1,0,227,224,225,1,1,1,1,1,1,232,1,234,1,1,1,1,1,1,1,1,1,1,1,230,1,1,1,1,1,236,1,1,12,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,235,1,1,1,12,1,1,1,1,231,1,1,1,229,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,233,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,242,13,1,1,1,12,12,239,240,1,1,1,1,241,1,1,12,1,1,1,1,1,1,1,243,1,1,12,16,1,1,1,1,1,1,244,1,1,1,12,12,1,1,1,1,1,1,244,12,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,257,257,1,0,0,0,0,0,1,12,0,0,0,0,0,0,0,0,172,262,263,1,12,1,1,1,1,12,265,1,1,264,1,1,267,1,1,1,1,1,1,0,1,1,1,271,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,12,1,0,1,0,0,0,0,1,0,1,0,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,12,0,282,0,0,283,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,12,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,59,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,1,0,307,0,0,0,0,0,0,0,0,0,309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,12,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,325,325,326,325,0,188,1,1,13,321,1,319,0,0,0,0,0,0,0,322,1,1,327,1,207,1,1,1,1,320,1,317,1,323,1,315,1,324,1,316,1,1,1,1,1,1,1,12,1,1,1,1,12,318,318,1,1,1,186,1,1,12,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,12,1,1,1,1,314,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,330,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,267,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,370,370,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,362,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,338,349,1,1,337,372,1,343,1,1,335,367,1,1,353,334,339,1,1,1,346,377,355,1,1,1,1,1,1,356,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0,365,369,0,0,79,1,1,0,363,340,376,341,344,351,1,366,0,1,0,79,360,358,1,0,0,1,1,1,0,0,0,0,379,1,1,350,1,79,1,0,1,1,1,382,1,0,0,79,357,0,1,336,1,1,1,0,1,1,359,1,0,1,1,1,0,1,384,347,1,1,0,1,0,0,375,0,1,1,1,79,368,1,1,364,361,1,1,1,1,1,1,1,1,1,1,1,342,1,1,1,1,1,1,1,1,1,1,1,374,0,79,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,378,1,1,1,0,0,381,0,0,0,1,354,1,0,79,380,1,0,0,0,0,383,1,1,0,0,1,0,1,0,352,0,348,0,1,1,1,0,1,1,0,371,345,373,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,12,1,1,1,12,399,399,1,1,12,12,1,399,1,1,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,411,1,1,0,1,1,1,1,207,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,429,429,1,1,0,0,315,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,442,1,441,1,1,1,1,1,1,1,1,1,446,1,12,12,1,1,1,1,1,12,1,1,1,1,454,1,1,1,456,1,1,1,1,1,1,1,1,1,1,453,1,448,1,1,1,1,435,1,1,1,1,1,1,1,1,449,12,1,1,1,1,455,1,1,1,450,444,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,315,1,432,1,1,12,452,1,1,315,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,437,1,1,1,1,1,1,1,1,1,1,1,455,1,1,1,1,315,1,451,1,1,1,445,439,1,1,1,1,1,440,1,457,443,1,1,1,1,1,438,1,1,1,1,1,1,1,1,1,433,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,447,1,1,1,1,1,1,1,1,1,1,1,1,436,1,1,1,1,1,434,1,221,458,1,1,1,1,1,12,1,1,1,1,12,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,464,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,12,1,67,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,468,468,468,468,468,468,468,0,468,468,468,468,468,1,468,468,468,0,468,468,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,473,472,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,477,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,470,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,471,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,479,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,469,0,0,480,475,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,474,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,478,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,12,1,1,1,1,1,1,1,1,1,1,1,1,490,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,201,201,1,494,1,1,1,493,1,1,1,1,489,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,491,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,495,1,1,492,1,1,1,1,1,1,1,1,370,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,496,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,507,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,1,0,1,0,0,12,1,509,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,12,12,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,0,0,0,0,0,0,0,1,0,0,1,0,1,1,1,1,0,0,0,1,0,0,0,1,59,1,1,12,12,12,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,528,1,1,1,1,1,1,1,529,1,1,1,1,1,1,1,527,1,1,12,1,1,531,240,1,1,12,12,1,1,12,1,12,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,1,1,541,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,132,1,12,546,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,107,1,1,12,1,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,551,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,144,1,1,1,229,1,1,12,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,576,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,221,1,326,1,1,1,1,1,1,1,1,1,0,0,581,1,1,1,1,0,583,0,79,0,582,0,1,1,1,0,1,1,1,1,1,1,12,0,0,0,1,0,1,0,0,0,0,0,0,590,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,585,585,0,589,587,585,585,585,585,585,591,585,585,595,585,585,585,585,585,585,585,585,585,585,592,589,585,585,589,585,585,585,585,585,585,585,585,585,585,585,585,585,587,585,585,585,585,585,593,585,585,585,585,585,585,0,0,0,1,594,1,1,1,1,588,1,1,1,1,1,586,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,12,599,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,12,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,1,1,12,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,64,279,305,410,537,0,4,68,237,255,281,306,332,386,412,0,501,521,538,601,9,0,60,88,396,408,428,579,0,499,520,534,616,0,30,6,0,463,502,606,564,70,0,7,284,256,387,465,415,540,79,602,0,580,308,417,467,9,105,287,508,6,30,0,310,79,389,79,485,10,6,131,249,274,0,617,511,0,567,0,63,6,6,252,95,2,431,397,409,600,0,6,0,6,285,103,6,565,503,542,0,466,388,272,286,8,71,104,603,545,390,311,299,418,146,74,289,549,512,605,568,333,328,481,6,75,149,11,0,250,524,550,569,516,554,574,615,36,6,261,294,331,303,219,30,530,557,219,41,217,266,295,304,405,422,483,273,0,73,566,0,402,416,298,79,248,79,0,584,548,506,291,420,79,391,385,0,0,0,9,559,575,218,0,423,406,533,518,577,619,85,219,42,296,394,424,573,0,513,292,275,79,216,80,28,388,30,6,392,329,302,608,596,526,553,515,0,259,81,30,404,421,0,30,425,0,220,597,519,9,407,426,219,249,86,223,598,578,561,484,427,395,251,228,87,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,624,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,413,0,0,0,0,0,0,0,0,82,0,129,0,0,84,552,0,0,0,0,0,0,0,27,0,555,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,413,0,0,0,0,505,0,258,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,293,0,0,0,0,0,0,0,621,0,0,0,0,0,620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,393,0,0,0,486,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,497,0,0,0,0,0,0,403,0,0,0,0,0,0,0,0,0,0,0,0,0,212,0,0,0,0,0,0,0,0,0,0,0,517,0,0,0,0,0,0,0,0,0,0,0,0,498,0,0,0,0,0,0,0,0,0,0,0,0,0,0,270,280,0,0,0,0,0,532,276,0,0,0,0,0,0,0,0,0,0,0,0,0,514,0,0,0,0,0,0,0,0,0,0,0,459,0,0,0,313,0,0,0,0,0,0,254,0,0,0,0,0,0,23,0,0,0,0,572,0,0,0,0,604,523,0,0,0,0,245,0,0,0,0,0,0,461,0,0,482,0,0,0,0,0,61,0,0,0,268,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,0,0,0,0,0,278,614,0,72,0,0,0,0,0,0,0,0,0,623,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,277,0,0,0,0,0,0,571,0,0,0,0,0,0,525,0,0,0,0,0,0,0,0,0,570,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,0,504,0,0,0,0,0,558,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,83,0,0,0,0,0,0,0,0,0,0,0,0,488,0,487,0,0,0,0,0,0,0,0,0,0,260,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,539,0,0,0,0,0,0,0,0,297,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,238,0,0,0,0,0,0,0,0,0,0,84,0,610,0,0,556,0,0,0,0,0,0,0,0,0,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,522,0,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,0,618,0,0,430,0,0,0,0,0,0,0,0,0,0,0,0,401,0,0,0,547,0,93,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,29,92,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,215,0,0,0,0,0,0,562,0,0,0,0,130,0,0,0,0,0,563,0,0,0,0,0,0,0,413,419,0,0,0,0,0,0,0,0,0,0,0,0,0,0,398,0,312,0,0,0,0,0,5,0,0,0,0,0,0,0,300,0,0,0,0,0,0,0,0,0,0,0,0,0,536,0,0,0,414,0,0,400,0,0,0,0,0,0,607,0,0,0,543,0,0,90,0,544,0,0,0,0,0,0,0,0,0,0,510,462,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,269,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,612,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,611,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,622,0,0,0,0,0,560,0,0,0,0,0,0,0,0,0,0,301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,609,0,0,213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,627,627,627,627,627,627,627,626,628]),IL=`orgmilcomschnetedugovdrrformsfeedbackofficialaccoorgmilschnetgovmagazinemediaunioncargopilotgroupcaarespressworksaerodromeworkinggroupair-traffic-controlaircraftaccident-preventioneducatormarketplaceambulanceinsurancecateringairportrepbodyenginesoftwaremodellingair-surveillanceconsultingchartertrainermaintenanceservicesdesignflightskydivingfreightassociationstudentgroundhandlingdgcafuelclubtaxicrewshowballooningexpresstraderbrokerauthoragentsairtrafficjournalistsafetyconsultantmicrolightaccident-investigationparachutingequipmentproductionfederationrecreationscientistnavigationengineertradingglidingleasingresearchpassenger-associationentertainmentparaglidinghangglidingaerobaticrotorcraftemergencycertificationgovernmentaeroclubexchangelogisticschampionshiphomebuiltcouncilconferencecontrolairlinecivilaviationjournalorgcomnetedugovcoorgcomnomnetobjofforgcomnetuwukiloappsframerorgmilcomnetedugovcoradioorgcomnetcommuneedogpbcoitgvorgedugov*spreviewfrontendrelayononstagingupid*mtls*privatelinktypedreamdeveloperbravemochawindsurfaivenmirenupsunwnextbegetngrokclerkwale2bwebcsbrunputerflutterflowspawnbaseshiptodaymagicpatternsnetlifyondigitaloceanrailwayhostedclaudehasurabotdashvercelgithubluyanigadgetreplitcloudflaretelebitedgecomputeevervaultexponyatnoopencrpplxzeaburwasmerframerzeropsrocketpreviewconvexmedusajsspritesonherculeseasypanelstreamlitglideossnowflakemesserliloginlinehackclubcodepennorthflankbase44corespeedleapcellngrok-freeclerkstagelovableon-fleek*us-west-3ap-south-2us-central-2us-central-1eu-central-1ap-south-1us-west-2us-east-2eu-north-1ap-north-1us-west-1us-east-1*rcloudintsegorgmilcomgobbetnetintedugovturmusicasenasamutualcoopip6uriurnin-addre164homeirisgovdixdaemoncloudnssthwien*inexexkunden4accogvormymyspreadshop4lima2ixortsinfofuturecmsfuturehosting12hpprivfuturemailinglima-cityfunkfeuer123webseitednshomemelmyspreadshopcloudletswasantqldvicactnswtascatholicwasaqldvictasidwasantozqldorgcomvicasnactnetedugovnswtasconfcomairflowlambda-urltransfer-webappairflowtransfer-webapptransfer-webapptransfer-webapp-fipstransfer-webappeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1privatenotebookstudiolabelingnotebookstudionotebooknotebook-fipslabelingnotebookstudionotebook-fipsnotebookstudio-fipsnotebook-fipsnotebookstudionotebook-fipsnotebookstudioeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2experimentsus-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1onrepostsagemakercopporgmilcompronetintedugovbiznameinfoshoprsorgmilcomnetedugovbrendlyresolvenzauscotvstoreorgcomnetedugovbizinfoidacaicoittvorgmilcomschnetedugovinfocloudezproxysiteacmymyspreadshopkuleuvenwebhostingtransurl123websitecloudnsinterhostsolutionsddns5476103298edgfacbmlonihkjutwvqpsryxzbarsycoororgcomedumyftpno-iporxcloud-ipfor-somemmafanfor-morewebhopselfipjozidyndnscloudnsdscloudfor-thefor-betteractivetrailcoeconorestooteorgcomeconeteduassurmoneyafricaarchitectesrestaurantloisirstourismavocatsinfoagrounivcoorgcomnetedugoviatvdeportesaludtksatorgmilcomwebgobnetinteducienciaboliviarevistacooperativaempresanombreindustriamusicapatriamedicinademocraciapoliticapuebloindigenaplurinacionalarteblogwikiinfoagrotransportenoticiasprofesionalacademiaeconomiaecologiamovimientotecnologianaturalsimplesitecepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesmscepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesms*biaamfmtcmptvfeirasampajampanatalbelemananiradiog12medindfndbmdtrdthepoaggfjdfdefinfenflegsegongengcngorgzlgslglogppgmillelqslcimcomnomadmjabimbbibbsbabcrectecsjcetcpscpvhudieticriapipsiecnbiorioecogeoteoodoproatoartfstmatvetdetbetnetcntnotfotgrueduajuespappreptmpemparqsrvadvdevgovntrturagrjorfarjusmusdesvixxyzcozfozslzbhzmaringasantamariacampinagrandegoianiasorocabafloripasaobernardocuritibaboavistarecifeaparecidasaogoncasalvadorcuiabamorenamacapalondrinacontagemsocialfortalmaceioleilaoosascoriobranconiteroi9guacutcheblogflogvlogwikitaxicoopmanauspalmascaxiasjoinvillebaruericampinassantoandreribeiraoriopretoweorgcomnetedugovv0windsurfshiptodaycloudsitecoaccoorgnetgovofmilcomgovmediatechzacoorgcomnetedugsjgovmydnspenfnlabnbmbgcbcqconcontnuyksknsmyspreadshopno-ipawdevboxbarsyonidatemfuinabusavinstanceseceuguukussryzespawncsxcloud-ipmyphotosfantasyleaguetwmailcleverappsscrappingccwucloudnsftpaccessgame-serverccgovobjectsrmalpgcust*svcalp1aeappenginermalpgmyspreadshop4lima2ixsquare7cloudscale123websitefirenet12hpflowgotdnslinkyard-cloudcloudnslima-citydnskingobjectstorageedaccogoorusorgcomnetinteduaéroportxn--aroport-byaassogouvcomilgobgovcloudnses-1eu-west-1us-east-1euvipit1eurarubait1s3lbwebsites3websiteru-spbru-mskelasticcsrunstnukukcaukusnl-ams-1fr-par-1fr-par-2functionsnodess3ddlwhmrdbfnck8sifrs3-websitecockpitscblmgdbdtwhkafkpubprivs3ddlwhmrdbk8sifrs3-websitecockpitscblmgdbdtwhkafks3ddlrdbk8sifrs3-websitecockpitscblmgdbdtwhkafkk8sscalebookpl-wawfr-parnl-amsbaremetalsmartlabelinginstancesdechk2kuleuvenlaravelvoorloperurownoxazapscwhstgrvaporonline-serverobservablehqelementorantagonistreclaimjoteluluencowaydiademjelasticmatlabmagentositetrendhostingaxarnetperspectajenv-arubajelejoteravendbemergenttrafficplexconvexkeliwebserveboltbegetcdnstaticson-rancherprimetelonstackitunison-servicesdnshomelinkyardbarsyjelecloudnscocomnetgovmycn-northwest-1cn-north-1s3s3-accesspoints3-websites3s3-accesspointrdsdualstacks3-deprecatedemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspoints3s3-accesspointrdsdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicn-northwest-1cn-north-1cn-northwest-1ebcomputeelbcn-north-1airflowcn-northwest-1cn-north-1oncn-northwest-1cn-north-1amazonawssagemakeramazonwebservicesdirectasgdsdhehahljlnmhbacscahqhshhihnlnynsnmofjbjzjxjtjhkcqtwgsjssxnxjxgxxzgz網絡网络公司orgmilcomnetedugovxn--55qx5dcanva-appsxn--io0a7iquickconnectcanvasitekhsjxn--od0algcanva-codemyqnapcloudsrvrlessclustersrealtimestorageleadpagescarrdcrdorgmilcomnomnetedugovhidnssupabaserdpareplmypiumsoxmitotaplpagesfirewalledreplitowodevwebview-assetsvfswebview-assetss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecateds3-websites3-object-lambdaexecute-apis3s3-accesspoints3-websites3-accesspoint-fipss3-fipss3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipss3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9vfss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1us-northeast-1ap-southeast-1me-south-1af-south-1ap-south-1ap-southeast-7us-west-2eu-west-2ap-east-2us-east-2ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ap-southeast-6ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1mrapaccesspoints3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3eu-west-3ap-south-2eu-south-2computes3-ap-northeast-2elbrdss3-ap-east-1s3-sa-east-1s3-us-gov-west-1s3-eu-central-1s3-ca-central-1eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3s3-website-us-west-2s3-website-eu-west-1s3-external-1eu-central-1me-central-1ca-central-1il-central-1s3-us-west-1s3-eu-west-1s3-website-sa-east-1s3-website-ap-southeast-2ap-northeast-1ap-southeast-1s3-us-west-2s3-eu-west-2me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2s3-website-ap-southeast-1s3-1s3-globals3-ap-northeast-3eu-north-1airflowap-southeast-2s3-us-gov-east-1s3-fips-us-gov-east-1s3-me-south-1s3-ap-south-1ap-northeast-2s3-website-us-west-1ap-southeast-5s3-eu-north-1s3-ap-southeast-1s3-website-us-gov-west-1compute-1s3-eu-west-3us-gov-west-1s3-website-ap-northeast-1us-gov-east-1s3-fips-us-gov-west-1s3-website-us-east-1s3-ap-southeast-2ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3-us-east-2s3-ap-northeast-1authauthauth-fipsauth-fipseu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1rframeservicesbuilderstg-builderdev-builder*ociocpocsazuregcpawsdemoinstanceeu-west-3eu-south-2ap-southeast-3ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1previeweu-4us-4us-1eu-1us-2eu-2us-3eu-3appscomputepaasrag-cloudrag-cloud-chjcloudjcloud-ver-jpcdemonodebalancermembersipeuxvsoncillaocelotonzayalilynxsphinxfentigercustomercaracalo365cloudstaticxendevapp001testcode-builder-stgplatformmediasiteprojedrydpagesjsx0desazacncoitrueu4uhkukgrbrushatenadiarymyspreadshopfrom-flfrom-wvwebspace-hosttheworkpchatenablogcursorusercontentservesarcasmapplinzisakuratanwixsiteappchizigiizeis-into-carsdnsiskinkyadobeaemcloudis-a-therapistpgfogmyvncdojinis-an-actress1kappfldrvkozowqa2jpnmexprgmrfirewall-gatewaydynnscafjsfbsbxooguyfrom-gawoltlab-demois-a-anarchistwiardwebteaches-yogadattowebtb-hostinglive-websiteservegamegotpantheonfrom-nhsubsc-payfrom-ohvipsinaappfrom-cadyndns-officehomelinuxfrom-mahercules-appservebbsstreakusercontentfrom-okfrom-wyfastly-terrariumis-a-llamaqualyhqportalserveexchangeon-vaporvivenushopciscofreakgrayjayleaguesmetaaiusercontentfrom-iais-a-libertariansaves-the-whalestaveusercontentyolasiteoperaunitepoint2thisis-a-catererclaudeusercontentlinodeusercontentfrom-vagithubusercontentsells-for-lesshosteurcanva-appsplaystation-cloudddnsfreefrom-pafrom-prfrom-waddnskingoutsystemscloudhotelwithflightmydattois-a-nascarfanmydbserverminiserverdamnserverservehumouris-a-playerfrom-nvfrom-nmemergentagentgentappsamplifyappfrom-kyis-an-accountantnfshostserveircfrom-akpythonanywherestackhero-networkpostman-echolikescandydyndns-mailobservableusercontentserveftpfreeboxosfrom-utcdn77-storageamazonawsneat-urldyndns-serverlinodeis-a-teacherfrom-vtgleezemythic-beastsus1-pleniteu1-plenitla1-plenitpaywhirlservecounterstrikejdevcloudhealth-carereformis-into-animegoogleapisis-a-painterafricaisa-hockeynutatmetais-an-actora2hostedis-a-democratdatadetectest-le-patrondigitaloceanspacesis-a-designeris-a-hunterlinodeobjectstemp-dnsissmarterthanyoufrom-arsimplesiteevennodetownnews-stagingis-a-liberalgooglecodejelasticservemp3qualyhqpartnerdyndns-free1cooldnsest-a-la-masiondrayddnsdynuddnsfrom-orfrom-miis-a-bloggerfrom-himydobisscanvacodeis-an-engineerest-a-la-maisonupsunappdevinappswafflecellmyasustorwpenginepoweredfrom-ctservep2psame-appmyshopblocksthingdustdatalikes-piediscordsezis-with-thebandlpusercontentis-leetshopitsite3utilitiesis-a-personaltrainersinaappladeskis-a-cheflogoipselfipbase44-sandboxnospamproxyalibabacloudcsmesswithdnsauthgearappsiamallamawithgooglelutrausercontentmochausercontentframercanvasmytabitdyndns-homew-credentialless-staticblitzcpserverdiscordsaysis-a-nurseappspotatlassian-isolated-3premotewdfrom-mtwixstudiocode0emm180rmyactivedirectoryawsappsmytuleapdnsabrpolyspaceqbuserrenderbuiltwithdarkboutirgotdnsabrdnsdopaascanva-hosted-embedawsglobalacceleratorhomesecuritypcmyiphostditchyouripclever-clouddyndns-ipon-aptibleis-a-musicianhosted-by-filessecuritytacticsappspaceusercontenthomeunixstrapiappsame-previewcf-ipfsmycloudnaselasticbeanstalkis-certifieddontexistkasserverik-serverdrive-platformatlassian-3pfirebaseappherokuappawsapprunnerbarsycenteris-a-cubicle-slaveservehttpmyshopifyis-a-guruquicksytessiiitesorsitesmagicpatternsappis-a-cpameteorappfrom-wiis-a-rockstarbumbleshrimpdattolocaldatabricksappsreadthedocs-hostedfrom-rifamilydsdyndns-picsplesknsbplaceddnsaliasdynaliasdyndns-remotedoomdnsip-ddnsblogdnsis-a-doctorroutingthecloudamazoncognitobarsyonlinedsmynasddnsgurucloudflare-ipfsdeus-canvasfrom-idsmushcdnpagespeedmobilizerdyndns-at-homeunusualpersonhosted-by-previderis-a-republicandyn-o-saurstreamlitappworkisboringonthewificprapidqualifioappis-uberleetis-slickgetmyipwpdevcloudtypeformdyndns-at-workgentlentapismynascloudw-corp-staticblitzfrom-ingeekgalaxyservebeerfrom-mdonrenderspace-to-rentaivencloudappspacehostedwafaicloudcodespotblogspotatlassian-3p-us-gov-modfrom-ndfrom-msis-a-techieis-a-studentcustomer-ociis-a-photographerdurumisfrom-ksmassivegriddyndns-wikiis-an-entertaineris-a-hard-workermysecuritycamerafrom-mnrackmazedyndns-blogis-a-bulls-fanwritesthisblogfreemyipsimple-urlfrom-sdreservdauthgear-stagingest-mon-blogueuris-into-gamesrice-labsxtooldevicesakurawebis-an-anarchistoraclecloudappsdyndns-worksells-for-urhcloudfrom-dcfastvps-serverwpmucdnis-a-geekscrysecfrom-txis-into-cartoonsmodelscapetrycloudflarelocaltonetstreak-linkbalena-devicesfrom-njforgeblocksfreebox-oswebadorsitefrom-ncdoesntexisthobby-sitestreaklinkshomesecuritymacownprovidertuleap-partnersdattorelaywphostedmailservequakeis-a-socialistservehalflifepivohostingdynuhostingquipelementsw-staticblitzdyndns-webfrom-deproject-studyaliases121is-not-certifiedhercules-devis-a-financialadvisorservepicsis-a-greenloseyouripfrom-ilwithyoutubemwcloudnonprodwiredbladehostingdnsdojofrom-tnpixolinomyqnapcloudis-an-artisthostedpiis-a-landscaperauiusercontentoaiusercontenton-forgeis-a-conservativedreamhostersnet-freaksapps-1and1is-goneencoreapifastly-edgefrom-nesalesforcefrom-scdeployagentoraclegovcloudappsfrom-alis-a-lawyercechirevultrobjectsstufftoreadisa-geekddnsgeeklovableprojecttry-snowplowfrom-moblogsyteis-a-bookkeepernogmyforumravendbmyboxdeelementoredsaacficogoorinforgcomgobnatneteduidstoreorgcomnetintedudevnomepublorgcomneteduathgovtestscalculatorspaynowinfoquizzesresearchedcloudnsfunnelsassessmentsjscaleforcetmacltdorgmilcompronetgovbizpresseklogesrsccloudcustomfltusrcloude4corealmgovmunicontentproxy9metacentrumdyndyndyndnsdynpagespages-researchitionoccustomercomymyspreadshopipv64diskussionsbereich4limacomrub2ixfirewall-gatewayddnssspdnsbarsykeymachinesquare7myhome-serverspeedpartnercommunity-proschuldockxenonconnectgünstigliefernbwcloud-os-instancedyndnssecmy-routerxn--gnstigliefern-wobin-butterl-o-g-i-nisteingeekin-dslin-berlinin-brbfuettertdasnetzleitungsenin-vpnlcube-serverdyn-ip24logoipdyn-berlinruhr-uni-bochum12hpgoipsrvdnsfruskygit-repossvn-reposinternet-dnsgünstigbestellenhome-webserverxn--gnstigbestellen-zvbbplacedheimdnscosidnswebspaceconfiglima-citydyndns1istmeinvirtualuserschulplattformmy-gatewayddnsseclebtimnetztest-iservmein-iservvirtual-userhome64iservschuletaifun-dnstraeumtgeradeschulserverdynamisches-dns123webseitednshomehs-heilbronndnsupdaterbssgraphicdwadpdwdaepeweaawapaafpfwfabwbpbacwcpcciwebuserapiobjectsidsiskospockkimodorikerbonesteamsparisjanewaypicardglobaltarpitreedpikekiraworfsulukirkarchertuckerhackercanarywesleystagingprereleaset3r2lpbravepanelngrokiservstglclcrmerpflypagesbarsyvivenushoplocalcertlocalplayerbearbloggatewaydeno-stagingis-not-ais-a-goodbotdashvercelmocha-sandboxplatter-appreplitgithubpreviewworkersinbrowserevervaultis-ahrsndenoxmitmodxmyaddrstorageapipayloadgrebedocruncontainersstgstagelclstageloginlineis-a-fullstackcodepenleapcellngrok-freeis-coolstoragewebharemediatechlibp2pdiscourseimaginecomyspreadshopstoreregbiz123hjemmesidefirmcoorgcomnetedugovsldorgmilcomwebgobartnetedugovtmorgpolcomsocartnetedugovassoagrondiscoodontk12medcuegyecpaabgengorgmilgalsaltulcomadmesmgobpubdocmonfindgnriouioproartlatvetnetfotedulojgovntrturibrbarxxxofficialbasechefprofmktgpsictechinfoarqtcontdentrrpppsiqgit-pagesritmedfieorgcomlibprieduaipgovriikmeactvsportorgmilcomscieunnetedugovnameinfopintouchtawktotawkmyspreadshoporgcomnomgobedu123miwebcomputeorgcomnetedugovbiznameinfocognito-idpeusc-de-east-1onjelasticnxaspdnsbarsydirectwpdeuxfleurstransurldogadoprvwcloudnsamazonwebservicesdnshomeuserpartycokoobinmkmfidymyspreadshopalandkapsiikixn--hkkinen-5wacloudplatformhäkkinen123kotisivuidacorgmilcompronetedugovbiznameinforadioorgcomneteduuserexperts-comptablestmmyspreadshopgretaprdcomnomynhccifbxoshuissier-justicenotairesaeroportfreeboxoson-webavocatassoportgouvkdnschirurgiens-dentistes-en-franceavouesfbx-os123sitewebveterinairechirurgiens-dentistespharmacienchambagrimedecinfreebox-osdediboxgoupilemszicpyicpvicppleysheezypagesedugovcnpyorgcomcybllcpvtnetedugovtnxonlineschooldaemond6atcopanelorgnetplybotdashstackitkaasorgmilcomnetedugovbizmodltdorgcomedugovcoorgcomneteduappwriteacorgcomnetedugovcloudtranslateusercontentorgcomnetedumobiassoorgcomnetedugovbarsysimplesitediscourseindorgmilcomgobneteduorgcomwebnetedugovguaminfonxhra教育敎育網絡网絡组織組織网络網络组织組织公司政府個人个人箇人ltdorgcomincneteduidvgovxn--uc0ay4axn--55qx5dxn--mk0axixn--io0a7ixn--uc0atvxn--zf0avxxn--lcvr32dxn--od0algxn--wcvs22dxn--gmqw5axn--od0aq3bxn--mxtq1mxn--ciqpnxn--tn0agxn--gmq050iorgmilcomgobneteduiservwp2tempurlmircloudfreesitewpmudevmyfastgadgetcloudaccessjelehalfboltfastvpsemergenteasypanelopencraftizcombrendlynamefromrtpersoadultmedorgpolrelcomproartnetedufirminfoassoshopcoopgouvtmcomediahotelforumvideosportorgsexagrargameslakaseroticaerotikatozsdereklamcasino2000filmsuliinfoboltshopprivnewsszexcityutazasjogaszkonyveloingatlaneacaicogoormyᬩᬮᬶmilwebschnetkopbizzonedesaponpesxn--9tfkymyspreadshopgovmytabittabitorderravpageaccok12idforgnetgovmuniltdplcaccotttvorgcomnetmeca6g5gpgamubacaicniocoukuptverdruscsdelhiindorgmilcomwebnicfingenpronetintedugovresbizbiharbarsyinternetbusinessschooltravelsupabasealumnigujaratfirminfoaeropostbankcoopindevscloudnsno-ipbarsybarrell-of-knowledgebarrel-of-knowledgensupdategroks-thisdnsupdatefor-ourknowsitalldvrcammittwalddynamic-dnsv-infowebhopselfipdyndnshere-for-moreilovecollegemayfirstforumzcloudnsmittwaldservertypo3servergroks-theeusekd1cdndyndnsidrawsainaueuapjpusstagemocksysdevicesclientcustreservdcustdevdisrecprodtestingcobeebyteutwenteboxfusebravepstmndedynngrokorgmilcomnomnetedugovqcxqzzbarsythingdustmo-siemensrb-hostingfh-muenstergitbookbluebitecloudbeesusercontentnodeartkiloappsforgerockdarklangresinstagingapigeebubbleb-datascryptedhypernodedappnodepantheonsitegitlabgithubkeeneticvirtualservercleverappshostyhostingon-rioedugitticketstelebitwixstudioon-k3sicp0icp12038jeleqotolairbubbleappsmyaddrstolosmyrdbxwebflowdrive-platformbeagleboardhasura-applolipopdefinimavaporcloudmusicianwebflowtestazurecontainerresindevicereadthedocsloginlineeditorxmoonscalesandcatsbasicserverwebthingsbrowsersafetymarkbeebyteappbitbucketidaccovistablogorgschnetgovxn--mgba3a4f16axn--mgba3a4fraarvanedgeايرانایرانjclaspeziapdudcefegelemeperetevebacanatavaparasabgagfgogrgpgalclblimfmrmcbmbvbfclcmcvcrcpcchlimifibicivipirisimncnbnanenrnpntnnolomobocoaogorosopotoptvtatctbtmtltotpusulunutpspapaqsvpvvvtvavvrtrsrprgrfrcrbrarorkrvstsssbscsmsispzczbzbozen-suedtirolmyspreadshopxn--bulsan-sdtirol-nsbxn--valledaoste-ebbtrentinoaltoadigetrentin-sued-tirolxn--forlcesena-c8axn--forl-cesena-fcbxn--bozen-sdtirol-2obtriestetrentinsuedtiroltrentino-s-tirollecceudineaostesienaparmaluccapaviagenoapaduaaostamonzaabruzzoternirietiturinmilanbozenlaziofermoleccocuneonuoropratola-speziavdataaligfvgpugmolcalcamlomumbsicpmnvenvaoedugovabrsarmaremrbastoslazibxosfirenzetrentinosüdtirolval-d-aostavalle-aostamessinacremonaravennatoscanatrentin-suedtirolbolognacalabriaurbinopesarofriuli-v-giuliaogliastraxn--valle-aoste-ebblaquilaandriatranibarlettasyncloudxn--valle-d-aoste-ehbaostavalleyvalled-aostatrentino-alto-adigevallee-d-aostexn--balsan-sdtirol-nsbpistoiasicilialucaniacataniaiserniaperugiabresciaveneziagorizialiguriaimperiabulsan-suedtirolbalsan-suedtirolbarlettatraniandriaxn--trentino-sdtirol-szbforlì-cesenatuscanyvallée-d-aostemantovavallée-aostecasertapiemontevalleaostaval-daostafriulivgiuliatrevisoforli-cesenavalléedaosteferrarapescaravald-aostatrentino-altoadigefriuli-vegiuliavallee-aostecarboniaiglesiastarantomediocampidanovalleedaostetrentinosud-tirolcampobassotrentinsüd-tiroltrentinosüd-tirolmonzabrianzatrentino-südtirolxn--trentino-sd-tirol-c3bpotenzacosenzavicenzaemiliaromagnavenicefrosinonemarchepordenonetrentinosued-tirolvaresemolisevalléeaostefriuli-veneziagiuliabasilicatalatinaanconasavonaveronamodenabiellabolzano-altoadigepugliafoggiaumbriatrentino-stirolgenovapadovamateranovararagusapiacenzatrentinostirolvalleeaostetempio-olbiasudsardegnatrentinsudtirolmassa-carrarafriuliveneziagiuliatrentinosuedtirolandria-barletta-tranitrapanixn--cesenaforl-i8amaceratacaltanissettaascoli-picenobrindisicarraramassacagliaririmininapolivibo-valentiachietibulsan-sudtirolbalsan-sudtiroltrentino-a-adigebulsanbalsaniglesiascarboniamilanotorinoteramodell-ogliastraarezzotrentinoalto-adigerovigotrentovenetoiglesias-carboniatrentino-sud-tirolaltoadigereggio-emiliareggio-calabriasardegnatranibarlettaandriapiedmontxn--sdtirol-n2amedio-campidanotrentino-süd-tirolfriuli-vgiuliafriuli-ve-giuliaromeennaromapisa32-b16-b64-blodiastibarineencomonaplesforlicesenailiadboxosalessandriasicilytrani-barletta-andriaxn--trentin-sdtirol-7vbpesarourbinotrentinsued-tirolcesena-forliforlìcesenaemilia-romagnamonzaebrianzaxn--trentinsdtirol-nsbtrentinos-tiroltrentinsüdtirolvalledaostaolbia-tempiocampidanomediovibovalentiasassarivalle-daostalombardysud-sardegnafriulivegiuliareggioemiliamonzaedellabrianzaalto-adigevercellitrentin-sudtiroltraniandriabarlettatrentino-sudtirolascolipicenobozen-südtirolfriulive-giuliaflorencexn--cesena-forl-mcbcarbonia-iglesiasaosta-valleycarrara-massadellogliastratrentinoa-adigexn--valleaoste-e7apesaro-urbinoxn--trentinosdtirol-7vbxn--trentin-sd-tirol-rzbxn--trentinsd-tirol-6vbtrani-andria-barlettatrentin-süd-tirolxn--trentinosd-tirol-rzbgrossetomonza-e-della-brianzasüdtirolreggiocalabriatrentinoaadigetrentin-südtirolverbano-cusio-ossolafriuliv-giuliaverbaniacampaniatrentino-aadigefriulivenezia-giuliasardiniaandriabarlettatranibarletta-trani-andriacatanzarooristanourbino-pesarocesena-forlìvalle-d-aostacampidano-medio123homepagesiracusatempioolbiasuedtirollombardiaavellinocesenaforlìtrentinofriuli-venezia-giuliabozen-sudtirolandria-trani-barlettabulsan-südtirolbalsan-südtirolmonza-brianzabolzanotrentino-sued-tirolbellunosalernolivornocrotonesondriodnshometrentinsud-tirolmassacarraratrentin-sud-tiroltrentino-suedtirolviterbobergamocesenaforliolbiatempiopalermobeneventoagrigentoofcoorgnetfmaitvphdengorgmilcomschnetedugovperagrikanieasukehandachitatokaiaisaikonanoharuamaobuhigashiuraowariasahiinuyamatobishimaiwakurashitarainazawatoyonegamagorimihamatoyotataharakariyayatomioguchikomakimiyoshinishiotokonamekiyosuchiryutoyohashiokazakiisshikikasugaikotakiratoeianjotogofusosetohazutsushimashinshirotakahamanisshinshikatsuhekinantoyokawaichinomiyatoyoakeodateogataakitaikawakyowahonjoogayurihonjonoshirokamiokakatagamimitanegojomeyokotekosakadaisenkazunonikahohonjyomoriyoshimisatohappoukamikoanihachirogatahigashinarusesembokufujisatokitaakitaitayanagiowanitakkomutsutsurutahirosakigonoheoirasetowadamisawanohejiaomorishingohiranairokunohehashikamitsugarushichinohehachinohenakadomarisannohekuroishisakaeisumiasahiotakiinzaiabikomatsudoyachiyomutsuzawakujukuriomigawakashiwatoganemihamanaritasakuranagaramobarahanamigawachoshishiroichoseikozakishisuikatorimidorichonankyonanfuttsuonjukufunabashinagareyamanodasosatakochuotohnoshourayasukimitsuyokaichibayotsukaidosodegauratateyamakamagayayokoshibahikariyachimatakatsuuratomisatokisarazukamogawaichikawanarashinoichinomiyashimofusaminamibososhirakoichiharaoamishirasatoikatahonaiainansaijoseiyoiyoozuuwajimaniihamanamikatamasakiuchikokihokutobetoonshikokuchuomatsuyamaimabarikamijimakumakogenyawatahamamatsunosabaeikedaobamasakaifukuiohionotsurugamihamawakasaminamiechizeneiheijikatsuyamatakahamaechizensoedaukihaomutaokawanishiogoribuzenonojosueumiokiotochikugosasagurisaigawamizumakishinyoshitomikurumekurateyamadakasuganakamamiyamanogatatakatahakataiizukakawaratagawakasuyaashiyainatsukimunakataminamitsuikishonaikurogifukuchikeisenhigashimiyakoshinguyukuhashiokagakiyamekogaongausuikahotohochuotoyotsumiyawakadazaifuhisayamatachiaraiyanagawanakagawahirokawachikujochikushinochikuhochikuzennamieotamaokumashowateneiiwakikoorinangoononishigoshimogoomotegomishimafukushimaasakawakagamiishishirakawaiitatefutabahiratayugawahanawakitakatakawamatakunimiyabukibandaihigashihironoyamatomiharuyamatsuriaizubangedatesomaaizuwakamatsuyanaizuaizumisatonishiaizuizumizakikitashiobarataishinkaneyamakoriyamainawashirotanagurafurudonosamegawasukagawaishikawatamakawaikedaogakitaruiginanenahashimahichisonakatsugawaibigawashirakawamizunamiminokamomitakekawauesekigaharatomikasakahogikitagatayamagatatajimianpachimotosuyaotsukakamigaharahidakanisekitokigujominogodoyorogifukasamatsutakayamawanouchihigashishirakawakasaharashimonitatsumagoichiyodakannakanrashowameiwakiryuotaoratomiokafujiokaitakuranaganoharahigashiagatsumatakasakishibukawaminakamikatashinatsukiyonokawabanumataannakaoizumimidorishintoisesakiuenoyoshiokakusatsutakayamanakanojonanmokutamamuratatebayashimaebashiotakekaitadaiwahongofuchukuietajimashobaramiharahatsukaichihigashihiroshimamiyoshikumanokurenakasakaseraseranishiasaminamifukuyamashinichionomichiosakikamijimajinsekikogentakeharaotobenanaeikedatohmaozoraobiraabirakyowaeniwataikibibaisharirebunerimohiroooketootarupippunishiokoppechitosefurubirahakodateshiranukakitahiroshimakushiroobihironanporoiwamizawaniikappukunneppufukushimanakasatsunaitoyourakuromatsunaiakabirakamisunagawashibechaurakawakamifuranonakatombetsuasahikawashimokawakayabeokoppebiratoriabashirisaromaatsumanumatahidakabifukamukawamikasahorokanaitoyotomisarufutsuhigashikawaishikarikitamiyoichiesashiiwanaitomariminamifuranoakkeshifuranotoyakoyakumootoineppushikaoishiraoinemuronayorohaboroashorobihororishirifujiutashinaihokutotakasuebetsuurausuassabukikonaishimamakinaiedatetoyabieinikiesanuryuoumuteshikagarikubetsuashibetsukimobetsuaibetsutobetsusobetsuembetsushimizuchippubetsurishirihokuryuhoronobeshintokutsubetsushibetsuhonbetsumombetsutsukigatakuriyamakoshimizushiriuchikutchanmurorannoboribetsukamishihorowassamushinshinotsukembuchiwakkanaikamoenaikiyosatotakinoueshikabesunagawafukagawanakagawatakikawakamikawahigashikagurahamatonbetsumatsumaemoseushirankoshishakotanimakanemashikeotofuketomakomaisandatambaitamiawajikasaiasagoshisoonoakoyashirotoyookaminamiawajiinagawafukusakitakasagokamigorikasugaharimayokawaashiyahimejiakashitaishiaogakisannantakinosumototakarazukanishinomiyashingugoshikinishiwakiyokatakaaioimikisayoyabukawanishiamagasakisasayamashinonsenkakogawaichikawakamikawatatsunotsukubaiwamaogawaasahisakaitokaioaraiitakobandodaigosuifuinaamikasumigaurakashimaomitamayachiyoshimodatetomobetoridehitachinakainashikisakuragawakasamayawaramoriyahitachiomiyanamegatayamagatahitachikamisuushikutakahagiibarakitonekoganakasowayukimihojosomitoryugasakishimotsumafujishirotsuchiurachikuseihitachiotashirosatotamatsukuriuchiharashikahakuinanaotsubatawajimakahokukawakitatsurugikaganominotosuzuuchinadakomatsuanamizunakanotohakusannonoichikanazawaiwateshiwafudaikawaimoriokaofunatohanamakikuzumakikitakamininohekunoheyamadayahabasumitaichinosekitanohatahiraizumirikuzentakatajobojiotsuchihironomiyakoiwaizumikarumaiichinohenodakujitonooshushizukuishifujisawamizusawakamaishikanegasakimannoutazukotohiraayagawazentsujihigashikagawauchinomikanonjisanukimarugamemitoyotakamatsutadotsunaoshimatonoshoakuneamamiizumihiokiyusuikinkoisasookouyamanakatanekagoshimakanoyaisenkawanabeminamitanemakurazakitarumizunishinoomotematsumotosatsumasendaioimatsudaayaseebinamiurazushinakaiodawaraiseharasagamiharahakoneaikawakaiseiatsugitsukuihadanoyamatoyamakitazamaoisochigasakininomiyayokosukakamakuraminamiashigarafujisawasamukawakiyokawahiratsukayugawaraokawaumajikochitsunootoyoakiinonishitosayasudahidakamiharasakawaniyodogawahigashitsunokagamigeiseisusakiotsukinaharisukumomurototosakamiochitoyotosashimizumotoyamanankokunakamurakitagawayusuharaogunichoyoukiasoutoozugyokutoamakusamifunetakamoriyamagaminamataminamiogunikikuchisumotoyamatonagasumashikiaraokumamotokamiamakusanishiharayatsushiroayabeseikasakyoideineujinakagyokameokakyotangokyotanabekyotambaminamiyamashiroyamashinatanabeyawatawazukaminaminantanmiyazuhigashiyamafukuchiyamakitamukokamojoyokizumaizuruujitawaraoyamazakinagaokakyokumiyamakawagoeinabeshimameiwaasahitaikiudonoisetsukisosakikuwanamihamamiyamasuzukatamakimisuginabarikumanokomonominamiisewataraitobakiwatakikihotadomatsusakayokkaichikameyamaureshinoishinomakishichikashukuohirataiwaosakizaohigashimatsushimashikamaiwanumashibataogawaraonagawakawasakiseminemarumoriminamisanrikukakudamuratawakuyatomiyanatoriwataritagajomisatotomekamirifushiroishimatsushimayamamotoshiogamafurukawahyugaebinotsunosaitoayakushimanobeokakitauramiyazakitakazakigokaseshiibamimatashintomikunitomikitakatakobayashikawaminamitakaharukijotakanabemiyakonojonishimeranichinankitagawakadogawamorotsukakisofukushimaminamimakisakaeobuseikedaogawamiasaokayaasahiotakiotarichinoinaomichikumakomaganechikuhokukaruizawayasuokaooshikaikusakaminamiaikitogakushimatsukawakawakamitateshinatakamorikitaaikishiojirimiyadahakubaiizunaiijimaiiyamamiyotasuzakayasakatoguraookuwanagawaminowahirayayamagataminamiminowafujimiomachisakakitakaginaganonakanosakuhokomoronagisoshinanomachiwadauedaiidaharasuwatomiachiaokianankisosakunozawaonsenagematsutakayamashimosuwamatsumotoyamanouchinakagawamochizukiazuminotatsunoobamaomuraseihiunzenosetofutsuikichijiwanagasakiisahayahasamisaikaikawatanasasebohiradokuchinotsugototogitsutsushimashimabarashinkamigotomatsuurayamazoekashibaikomakawaitenrioyodosangokoryoudaojiikarugayamatokoriyamatenkawakatsuragikurotakikawakamimiyakemitsuetakatorikamikitayamayamatotakadahegurishinjokanmakisakuraitawaramotogoseoudanarasoniandokawanishishimoichihigashiyoshinokashiharashimokitayamanosegawayoshinomintsivorytopazsakuragehirnsumomoaseinetopalmail-boxmokurenyoitamuikaojiyagosensanjoaganomyokoseiroagaomishibataniigatanagaokamurakamiuonumayuzawakariwatagamitainaitsunanminamiuonumatochioyahikojoetsuseiroukamosadoizumozakitokamachiitoigawasekikawakashiwazakitsubamemitsukekokonoesaikiusukibeppuusahimeshimakunisakihasamataketatsukumihitaoitahijikusuyufukujukamitsuebungoonobungotakadaibaraniimibizentsuyamaokayamakasaokahayashimayakagemaniwaakaiwamisakishinjotamanotakahashikibichuowakesojanagishookumenannishiawakurakurashikiasakuchisetouchikagaminosatoshotomigusukunakagusukuyaeseizenaurumaiheyaaguniogiminanjokinminamidaitokitanakagusukuyonaguniokinawaishigakikunigamiurasoekadenataramahiraraginozataketomishimojizamamitonakiitomanhigashimotobuyonabarugushikamionnanahanagohaebarukumejimakitadaitonakijinnishiharayomitanginowantokashikiishikawaikedasuitaminohizuminishisakaikananabenodaitoosakasayamayaokishiwadatadaokakaizukatondabayashichihayaakasakakumatorikadomasayamahigashiosakashijonawatehirakatataishimisakitajirihannansennankatanotoyonominatosettsuhigashiyodogawaibarakinosekitachuohigashisumiyoshifujiiderakashiwaraizumiotsutoyonakamatsubaramoriguchiizumisanoshimamototakatsukineyagawahabikinotakaishikawachinaganoyoshinogarikamiminearitaouchiimarihizenogikashimaariakekiyamafukudomikitagatakitahataomachigenkaikanzakinishiaritakyuragisagataratosutakushiroishikaratsuhamatamakouhokukawagoeyoshidasatteogoseirumaasakaurawaogawaniizaomiyayoriiotakishikihonjooganohannohanyuinasaitamaokegawaarakawayoshikawayokozehasudasayamahidakafukayachichibuiwatsukiryokamiyoshimikamiizumifujimiwarabiranzanmiyoshiminanoyashiosakadosugitomisatohigashichichibutodasokakukiyonokazoshiraokakasukabekounosukawajimatsurugashimamiyashirokitamotohatoyamamoroyamahatogayakumagayakawaguchinagatorokamisatomatsubushinamegawatokigawakamikawafujiminohigashimatsuyamakoshigayatokorozawas3isk01isk02ryuohkoseikonanaishorittotakashimamaibarahikonetorahimenishiazaikokagamokotoyasuotsukusatsunagahamamoriyamatoyosatotakatsukinotogawaomihachimanhigashiomiakagiunnanizumogotsuamayatsukakakinokimatsuehamadamasudahikawahikimiokuizumoyasugiyakumomisatotamayuohdahigashiizumookinoshimanishinoshimatsuwanoshimaneshimadafujiedayoshidashimodagotembaiwataatamikosaiyaizuitoizumishimahaibaramakinoharaomaezakikawanehonkannamisusonohigashiizufukuroinumazukawazufujiaraishizuokahamamatsushimizuizunokunimatsuzakimorimachiminamiizunishiizukikugawakakegawafujikawafujinomiyaujiietsugaoyamayaitaohiranikkoashikagakuroisokanumasakurashioyakarasuyamamotegiichikaikaminokawatochigihagamokanogisanobatonasumibunasushiobaranishikatautsunomiyaiwafunemashikoshimotsukeohtawaratakanezawaitanokomatsushimatokushimaichibaminamiaizumiwajikikainanmiyoshinarutomimamugiananmatsushigesanagochishishikuinakagawamachidachiyodakomaefussainagitaitochofufuchuomeotahigashiyamatotoshimaokutamaaogashimakodairaedogawaarakawahachiojishinagawatachikawashibuyasuginamihinodekiyosesumidaoshimanerimamitakahamuraadachinakanomizuhobunkyomegurominatokoganeihigashikurumekokubunjihigashimurayamamusashimurayamatamakitahinochuokotokatsushikakouzushimaogasawaraakishimakunitachishinjukusetagayamusashinohachijoitabashiakirunohinoharachizunanbukotouramisasawakasayonagokogehinoyazutottorinichinansakaiminatokawaharaoyabetairainamiasahinantoimizufuchutakaokakurobeyamadajohanatoyamatonaminyuzenfunahashinakaniikawanamerikawaunazukitogahimiuozufukumitsutateyamakamiichiiwadearidayuasainamitaijikatsuragiaridagawatanabemihamahidakakainankiminomisatoshingushirahamakamitondayurakozakoyagobokitayamawakayamakudoyamahashimotokushimotokozagawahirogawakinokawanachikatsuurarsuseroeoishidasagaeoguniasahinagaitendonanyoobanazawanishikawasakataohkuratozawamikawamamurogawayamagatafunagatatakahatashonaishinjokahokuiideyuzakawanishitsuruokakaminoyamayamanobeshiratakamurayamanakayamakaneyamahigashineyonezawasakegawamitouubeyuuabushimonosekitabuseoshimatoyotaiwakunihikarishunannagatohagihofukudamatsutokuyamashowadoshitsurunanbukoshukaiminami-alpsnirasakikosugeotsukioshinohokutominobuyamanashifuefukichuokofuichikawamisatoyamanakakonakamichitabayamanishikatsuranarusawafujikawahayakawafujiyoshidafujikawaguchikouenohara長野京都岐阜大阪三重群馬千葉滋賀佐賀奈良adednelgaccogogror秋田愛知高知埼玉沖縄栃木熊本岩手青森山梨新潟島根鳥取長崎香川宮城石川大分宮崎茨城山口兵庫山形徳島広島福島福岡岡山富山静岡愛媛福井東京xn--4it168dhatenadiaryxn--vgu402ckawaiishophatenablogcocottenamaste北海道penneehimeiwateversestabachibashigagonnagunmapermahaccaakitaosakauh-ohblushkochiaichifukuikuroncapooitigohyogotokyokyotopunyuthickcheap0t00g00j0mie2-ddaapyawjg0amfemsubxiiboomoobutchueekpgwrgrherskrboyrdyupperunderflierchipsmydnsheavyangryhippygirlyrulez神奈川鹿児島和歌山bambinaxn--nit225kokayamasaitamaxn--k7yn95exn--1lqs03nsapporoparasitelolipopmcxn--efvn9sniigatafukuokatokushimafukushimahiroshimakagoshimafakefurokinawaxn--8pvr4ucoolblogxn--0trq7p7nnkawasakinagasakimiyazakichilloutxn--8ltr62kxn--klty5xpeeweezombiecutegirlxn--rny31hxn--uuwu58axn--ntso0iqx3axn--djrs72d6uytoyamanikitanyantakagawamimozanagoyaboyfriendxn--2m4a15egreaterchowderegoismyamagatafashionstorexn--elqq16hxn--pssu33lsendaimiyagixn--rht27zpecoriaomorisaloonwatsonvivianxn--djty4knobushipigboatnaganopinokoxn--f6qx53asadistvelvetsecretxn--5js045dchicappayamanashiibarakidigickgirlfriendxn--1lqs71dmongolianxn--c3s14mxn--qqqt11mtochigixn--5rtq34kparallelo0o0mondkobesagabonadecaoitanarafoolkilldecimainhiholomosblokilociaoundopupugifutankcrapflopnooroopsmodsholyjeezstripperpepperbittershizuokaxn--rht3dkitakyushureadymadeicurusversusmatrixxn--rht61ehungryfloppygloomycrankyhandcraftedlittlestarxn--klt787dxn--kltx9awhitesnowsunnydaytottorilovepoptheshopbuyshopxn--5rtp49cxn--d5qv7z876cwebaccelxn--kbrq7oxn--4pvxsxn--1ctwolovesickkumamotocatfoodxn--tor131oyokohamawakayamatonkotsuxn--ehqz56nxn--uist22hxn--6btw5axn--kltp7dyamaguchifrenchkisspussycatxn--4it797kxn--uisz3gbabybluexn--zbx025dnetgamersxn--7t0a264ckanagawaxn--6orx2rishikawaxn--ntsq17ghalfmoonschoolbusjellybeanxn--mkru45iusercontentlolitapunkxn--32vp30hsakurastoragehokkaidoshimanecandypopbabymilksupersaleweblikeraindropbackdropwebsozaikikirarahateblodaynightmeneacsccogoormobiinfoaeusxxorgmilcomnetedugovorgcomnetedugovbizinfotmprdorgmilcomnomedugovassnotairespresseassocoopgouvveterinairemedecinpharmaciensorgnetedugovtraorgcomedurepgovmeneperekgacscaiiocogoitoresmshsseoulbusanulsandaeguc01milvkimmvchungnamjeonnamjeonbukeliv-dnsgyeonggijejueliv-cdnincheondaejeongangwongyeongbukgwangjuchungbukgyeongnameliv-apicoeduindorgcomembnetedugovorgmilcomnetedugovjcloudorgcomnetintedugovperbnrinfocooyorgcomnetedugovethipfscanvamypepethw3sstorachakeeneticjoinmcinbrowserdwebcyonnftstoragemyfritzaemewphlxachotelltdorgcomwebsocschngonetintedugrpgovassnomgacsccoorgnetedugovbizinfo123websiteidorgmilcomasnnetedugovconfidmedorgcomplcschnetedugovaccoorgnetgovpresstmassoirseproxaccosoundcasthoptocraftvp4c66orgnetedugovitsmcdirmyboxbarsyedgestacksynologylogintoopencloudnohostwebhopdiskstationi234tcp4hoocgroknoipprivmydsddnsdnsforlohmustransipdscloudfilegear-sgbrasiliafilegearframerbarsybarsyonlinecoprdorgmilcomnomedugovinforgcomnetedugovnameacprorgcomartnetedugovpresseinfoassoinstgouvorgnycedugovbarsydscloudjuorgcomnetedugovminisiteaccoororgcomnetgovorgmilcompronetintedugovbizmuseumnameinfoaerocoopaccoorgcomnetintedugovbizcooporgcomgobneteduorgmilcomnetedugovbiznameaccoorgmilneteduadvgovcoorgcomnetaltgovforgotherhiskeeneticispmanagernomassoprod5476132eastasiacentraluswesteuropewestus2eastus2pnortheurope-01newzealandnorth-01southindia-01southcentralus2-01norwaywest-01eastus2-01westus2-01australiaeast-01italynorth-01israelnorthwest-01swedencentral-01westeurope-01centraluseuap-01taiwannorthwest-01uaecentral-01northcentralusstage-01israelcentral-01mexicocentral-01canadacentral-01austriaeast-01germanywestcentral-01francecentral-01ukwest-01denmarkeast-01polandcentral-01eastus-01westus-01swedensouth-01eastus3-01westus3-01brazilsouth-01centralus-01francesouth-01australiacentral-01westindia-01uaenorth-01jioindiacentral-01canadaeast-01belgiumcentral-01spaincentral-01koreacentral-01chilecentral-01qatarcentral-01westcentralus-01eastus2euap-01norwayeast-01southafricanorth-01brazilsoutheast-01germanynorth-01switzerlandnorth-01switzerlandwest-01japanwest-01southafricawest-01japaneast-01eastasia-01indiasouthcentral-01taiwannorth-01centralindia-01uksouth-01southcentralus-01northcentralus-01eastasiastage-01indonesiacentral-01australiacentral2-01australiasoutheast-01malaysiawest-01koreasouth-01southeastasia-01southeastus5-01northeastus5-01jioindiawest-01rucdnwest1-usfra1-desandboxjls-sto1jls-sto3jls-sto2aglobalabglobalsslmapprodfreetlsmapvpslon-1lon-2ny-1fr-1sg-1ny-2paassnwebpaashostingjelasticnordeste-idcsocuserpagescwebfileblobservicebuscoreatlricnjsjelasticwebsitestoragesezagbinruhuukjptsmyspreadshopmynetnameakamaiorigin-stagingfrom-coipv64dynv6cdn77serveblogadobeaemcloudhicamsprytdnsupno-ipownipde5ovhicpfirewall-gatewaysytesmypsxbarsyusgovcloudapimyamazemyradwebakamaihdsaveincloudfastlylbfrom-lasubsc-paysquare7in-the-bandblackbaudcdnhomelinuxoninfernoctfcloudservebbsdns-dynamiccloudfrontakamai-stagingipifonyham-radio-opsenseeringclickrisingcommunity-profrom-nylocalcertgrafana-devedgesuite-stagingcloudflareanycasteating-organicatlassian-devmydattofeste-iplocaltotorprojectknx-serveredgekeycloudflareglobalcloudyclustercasacamserveftpakamaized-stagingakamaiorigindns-cloudmyeffectboomlabotdashbuyshousestwmailhetemlazure-mobilein-dslthruhereredirectmedynuddnsbouncemesupabaseluyanicloudappakamaicloudfunctionsdebiannhlfanpgafanstatic-accessin-vpnmysynologymafeloappudohomeftptrafficmanagersiteleafseidatmemsetcloudflarecloudaccesskeyword-onazure-apiis-a-chefdoes-itgets-itwebhopselfiphomeipkicks-assedgesuitewindowsserver-ontunnelmolemydissentscrapper-sitecloudflarecnuni5srcfggffiobbzabchrsndenodynuopikddnsvpndnsakadnselastxkinghostvps-hostfastlyhomeunixazureedgeshopselectdontexistmyfritzcloudjiffyalwaysdatasells-itsquaresbroke-itazurefddattolocalat-band-campmeinforumfamilydsazurestaticappsdefinimabplaceddnsaliasdynaliasnow-dnsblogdnsroutingthecloudendofinternetdsmynasakamaiedgemymediapcadobeio-staticakamaiedge-stagingakamaihd-stagingddns-ipprivatizehealthinsurancelive-onkrellianschokokeksmassivegridmysecuritycamerarackmazeserveminecraftfrom-azis-a-geekakamaizedmoonscaleoffice-on-theusgovtrafficmanageradobeioruntimeedgekey-stagingreserve-onlinechannelsdvrdnsdojousgovcloudappcdn77-sslapps-1and1podzoneazurewebsitesdynathomescaleforceyandexcloudvusercontentisa-geekcdn-edgescoaemalcesappwriteazimuthtlonarvobuiltwithrocketnoticeablestorecomwebrecnetperotherfirminfoartslgdloncogoiltdorgmilcolcomplcschgenngonetedugovbiznamefirmmobiacincoorgmilcomnomwebgobnetintedubizinfocomyspreadshopdemongovtransurl123websitehosting-clusterkhplaycistrongsnesosvalervålerxn--vler-qoaossandeheroysandeherøybøboheroyherøyxn--hery-iraxn--b-5gavalerbøboxn--b-5gasandesandexn--hery-iraxn--vler-qoavålerhåreålaahavaofsfvfhlolnlalrlhmfmtmahcostntbuåstrmreigersundmyspreadshopgálsáeidsvolltingvollgildeskalflorøvadsøvardøvanylvenxn--bhccavuotna-k7astrandaxn--kvnangen-k0axn--sknland-fxaxn--mosjen-eyarakkestadhyllestadnannestadvevelstadvaapstenordre-landsondre-landsøndre-landtjieltexn--vrggt-xqadsør-aurdalsor-aurdalheradstordmoldefordeførdeseljefedjeryggehemnexn--krehamn-dxasognegranesøgnebrynetjomevallebykletokkegiskedovretjømehobølvoldasaudatolgasømnaviknadønnasomnadonnatranafrananesnaraumasmolatrænafrænalesjasmølaørstaorstahitrafloraaukraloppafrøyarissasnasahalsagalsaromsaraisaráisafroyasnåsagronghobolfjelltydalårdalardalaskimharamkraanghkekråanghkesorumbarumhurumbærumsørummodumsálátbálátfrognbjugnvåganvagangulenskienløtenlotenstrynvefsnxn--merker-kuaskaunsveiobømlobomloskjåkvardoflorovadsosalatbalatsálatklæbuklabuselbubarduulvikskjakklepprisørxn--nttery-byaeflåeidflahofmilgolholsellomskifetvikdepvgsfhsaskerrisorhamarasnesåsnesrørosrorosxn--slat-5namasoynaroyvaroyluroydyroyaskoyradoyandoyrodoymeloyradøyandøyrødøymeløyaskøylurøydyrøymåsøyværøynærøyhoylandethøylandetdivtasvuodnalørenskoglorenskognesoddtangenxn--tjme-hraxn--smla-hraxn--stjrdal-s1aunjargalillehammerunjárgaxn--hamary-fyadavvenjargaxn--bearalvhki-y4a123hjemmesidegjerdrumxn--brnnysund-m8acxn--tnsberg-q1axn--mlatvuopmi-s4axn--snsa-roaxn--skierv-utaxn--brum-voatysfjordkvafjordeidfjordkvæfjordsongdalenmjondalenmjøndalenxn--gls-elackragerogáŋgaviikagangaviikasørreisasorreisasør-varangersor-varangerxn--risr-iraskiervaxn--frna-woaxn--trna-woakvinesdalleksvikleirvikrøyrvikroyrviksvelvikvenneslaevje-og-hornnessandnessjøenmarnardalvindafjordsandefjordenebakksnillfjordullensvangxn--trany-yuabrønnøysundnamsskoganaustevollxn--stjrdalshalsen-sqbnord-aurdalnord-frontrøgstadtrogstadgrimstadflakstadgjerstadxn--sandy-yuaxn--leagaviika-52bnore-og-uvdalvegarsheixn--rlingen-mxaxn--ggaviika-8ya47hvegårsheikarlsoykvitsoymasfjordenhamaroyinderoyosteroydavvenjárgasauheradguovdageaidnuxn--vre-eiker-k8abronnoysiellakkrødsheradkrodsheradkvinnheradbrønnøyxn--mtta-vrjjat-k7afxn--lrenskog-54akvitsøyvárggátkarlsøyosterøyinderøyhamarøybronnoysundxn--aurskog-hland-jnbbahccavuotnabáhccavuotnagiehtavuoatnastor-elvdalmidtre-gauldalxn--gildeskl-g0akarasjokevenassixn--bievt-0qaxn--yer-znalebesbynessebyxn--hbmer-xqamalselvmålselvxn--unjrga-rtamøre-og-romsdalmore-og-romsdalhareidmelandørlandorlandstrandålgårdsolundalgardafjordåfjorddielddanuorrikautokeinoxn--stre-toten-zcbskodjeaejriestangeliernebamblestokkefauskesnåasesnaasekongsvingerlangevagberlevagxn--flor-jrahattfjelldalostre-totenøstre-totenvestfoldxn--mely-iraálaheadjualaheadjunordreisaxn--troms-zuaxn--lgrd-poacporsangerflatangerstavangerleikangerbremangersamnangergieldakarasjohkaxn--rdy-0nabfrostautsirasnoasatromsaxn--sr-aurdal-l8aflekkefjordjølsterjolsteraremarkhedmarknååmesjevuemienaamesjevuemiexn--vard-jrarollagmeråkermerakerorskogørskogxn--bdddj-mrabdákŋoluoktaxn--osyro-wuaaknoluoktatrysilskjervøymandaljondalbindalrindalmeldalsuldalorkdalsigdalalvdallærdalhurdalsirdalverdallerdallardaloppdalåseralaseralhadselkragerødivttasvuotnaoverhallasteinkjerxn--hnefoss-q1askedsmokorsettromsøxn--dyry-iravestre-totenmuseumxn--sandnessjen-ogbrahkkeravjufylkesbiblbájddarbajddarxn--laheadju-7yarennesøyxn--koluokta-7ya57hxn--hgebostad-g3aleirfjordstorfjordbalsfjordbåtsfjordbatsfjordmuosátbievátloabátkárášjohkanøtterøyxn--mjndalen-64anordkappláhppilahppialstahaugsiljanverranrøykenroykenhaldenlyngenbergenhortenhønefosshonefosstroandinbeiarnvarggatosoyroosøyrotromsoidrettmuosatbievatruovatloabatvoagattynsetnessetxn--indery-fyaskánitskanitraholtråholtxn--ystre-slidre-ujbandebusarpsborgbearduxn--karlsy-fyahordalandjorpelandjørpelanddeatnuringsakersør-odalsor-odalxn--slt-elabringerikeaudnedalnittedalnissedalhemsedalslattumsurnadalxn--blt-elabelverumstjørdalnaustdalhjartdalgjøvikfyresdalhasviknarviklarvikgjovikmalvikgamviklenvikporsgrunnstjordalengerdaldrobakdrøbakxn--msy-ula0hvestvagoyxn--vgan-qoaxn--ryken-vuaxn--lten-graxn--stfold-9xaxn--hpmir-xqaxn--lury-iramálatvuopmimalatvuopmitysværkirkenesbirkenesmoskenesbáidárxn--fjord-lraxn--rdal-poabahcavuotnabáhcavuotnaxn--frde-gralindåsbearalvahkixn--hobl-iraráhkkerávjuxn--loabt-0qavågåáltábodøsundlundraderådeetnetimeholeauregrueoddavagavegaranatanaarnasolasulaaltalekafusavangbergkvamåmliamlibokntinnroangranosenoslobodorøstroststatåmotamotivguprivøyeroyerliermossvossxn--nvuotna-hwalusterlunnermarkerhábmerhabmerhvalerfjalerxn--rholt-mratysvarbaidarfitjargaularhápmirhapmirmelhusfosnesøksnesoksnestysneshemnesevenesflesbergeidsbergtonsbergtønsberglindasxn--sndre-land-0cbnamsosxn--srum-graøystre-slidreoystre-slidrevestre-slidretrondheimbalestrandxn--langevg-jxaaustrheimxn--skjk-soavagsoyaveroysandoykarmoyfinnoytranoyvestbytranbysykkylvenxn--hyanger-q1aspjelkavikandasuoloxn--fl-ziaxn--drbak-wuastathellexn--sr-varanger-ggbtelemarkxn--bhcavuotna-s4axn--porsgu-sta26fčáhcesuolocahcesuoloakrehamnåkrehamnsandøykarmøyfinnøytranøyvågsøyaverøynamdalseidxn--lesund-huabadaddjaxn--vegrshei-c0axn--btsfjord-9zagildeskålporsanguxn--trgstad-r1anávuotnanavuotnahammerfestxn--sgne-graxn--brnny-wuacibestadharstadnarviikaevenáššivestnesgjemnessandnesagdenesrennesoyxn--avery-yuaxn--tysvr-vrabearalváhkikongsbergspydebergrandabergxn--andy-iradavvesiidaxn--krdsherad-m8aporsáŋgufredrikstadbjerkreimringeburennebuaurskog-holandnotteroyxn--vgsy-qoa0jxn--rmskog-byaskierváivelandbyglandfrolandaurlandforsandxn--bjddar-ptamidsundålesundalesundfetsundfarsundovre-eikerøvre-eikerakershusxn--moreke-juasørfoldøstfoldostfoldsorfoldhøyangerhoyangerlevangerorkangertanangerxn--vestvgy-ixa6olillesandulsteinxn--rennesy-v1agranvinskjervoyxn--klbu-woalavagisxn--h-2faxn--ryrvik-byakafjordkåfjordseljordfolkebiblxn--gjvik-wuajevnakerxn--kfjord-iuabudejjuxn--kranghke-b0axn--davvenjrga-y4axn--rland-uuaxn--ldingen-q1axn--mlselv-iuaxn--rady-iraxn--linds-prabrumunddalxn--ygarden-p1amo-i-ranaeidskogrømskogromskoghjelmelandxn--finny-yuaxn--sr-odal-q1axn--skjervy-v1aballangenkvanangenkvænangengratangenxn--hmmrfeasta-s4acvossevangensuohkanxn--rde-ulaxn--mli-tlaxn--ksnes-uuanordlandskanlandskånlandsortlandfuoiskuxn--rros-graxn--hcesuolo-7ya35bxn--eveni-0qa01gagaivuotnagáivuotnaxn--seral-lradrammenmodalenmosjoenjan-mayentorskensteigengloppenxn--snes-poamatta-varjjatxn--sr-fron-q1aomasvuotnajessheimbådåddjåxn--krager-gyaxn--kvfjord-nxaxn--asky-iraxn--snase-nraxn--bidr-5nacholtålenxn--vads-jraxn--jlster-byamosjøenxn--rst-0nastavernxn--ostery-fyaxn--oppegrd-ixaxn--sknit-yqaxn--risa-5naoppegårdskiptvetrendalenholtalenxn--mot-tlaxn--lhppi-xqaxn--holtlen-hxaxn--srreisa-q1akopervikxn--muost-0qaxn--bmlo-grahokksundkvalsundegersundxn--karmy-yuaullensakerxn--hylandet-54axn--kvitsy-fyaxn--bod-2nalangevågberlevågkristiansandxn--rsta-frahornindalstjørdalshalsenstjordalshalsensandnessjoenhámmárfeastaxn--lrdal-srasør-fronsor-fronnord-odalkristiansundmátta-várjjatvestvågøynesoddennotoddenbuskerudøygardenoygardensalangenlavangenralingenrælingenlodingenlødingenleaŋgaviikalaakesvuemieleangaviikauenorgexn--srfold-byaaskvollxn--rskog-uuaxn--nry-yla5gxn--vry-yla5ghammarfeastaxn--rhkkervju-01afxn--givuotna-8yakommunekrokstadelvanedre-eikerhagebostadhægebostadxn--berlevg-jxakviteseidxn--s-1faxn--l-1faxn--nmesjevuemie-tcbafuosskomoårekemoarekexn--lt-liacxn--jrpeland-54asvalbardoppegardholmestrandtvedestrandsogndalsokndalarendalsunndalfolldalxn--krjohka-hwab49jlyngdaletnedalnorddalsaltdalgausdalskedsmovaksdalgjesdalstordalxn--frya-hraaarbortedrangedalxn--smna-graaurskog-hølandxn--vg-yiabtjeldsundhaugesundlindesnesxn--mre-og-romsdal-qqbxn--dnna-gradyntmpheremerseineshacknetenterprisecloudmineaccomaorimāoriorgmilcriiwigennetschoolhealthkiwigovtgeekxn--mori-qsacloudnsparliamentcomedorgcompronetedugovmuseumwebsitekinservicebarsywebsitebuildereerobookheimdnsleapcelleero-stagetechcrscsslorigingohomecdbedeeeiemesecabgngilnlalplchfisiincnnoroptatitmtltruauhulumkdkukskjplvtrgrfrkrhrusesismycynzcznetinteduassoososcloudstgbetaaezaeuhkusjshatenadiarycdn77hoptozaptois-a-knightmyftpno-ipjpnddnssdpdnsspdnsbarsysweetpepperis-a-bruinsfanis-very-sweetservegameis-a-soxfanhomelinuxcdn77-secureservebbsmisconfusedwebredirectblogsitefreedesktopcouchpotatofriestoolforgeaccesscamis-lostreadmyblogsmall-webfedorapeopleserveftpis-a-celticsfanmywirepotagertwmailin-dslsellsyourhomeread-booksfreeddnscable-modemis-savednflfanufcfanmlbfanstuff-4-saleendoftheinternetin-vpnmy-firewallhomeftpis-localis-a-chefboldlygoingnowherewebhopselfipkicks-assroxatunkcamdvrfedoraprojectgotdnsdvrdnsdyndnspubtlspimientahomeunixdontexistfedorainfracloudwmflabsfspagesbmoattachmentsteckidsfamilydsdnsaliasdynaliasnow-dnscloudnsdoomdnsduckdnsblogdnshomednsroutingthecloudendofinternetdsmynasip-dynamicpoivronhttpbinmyfirewallis-very-evilmysecuritycamerais-a-linux-userwmcloudis-a-geektuxfamilyis-a-candidatedoesntexistis-very-badhobby-sitegame-hostaltervistais-foundis-a-patsfandnsdojohepforgepodzonedynservcollegefanis-very-goodfrom-meis-very-niceisa-geeknerdpolacmedsldingorgcomnomgobabonetedupleskaemhlxmyboxrockyprvcydeuxfleurspdnscodebergheyflowstatichostorgmilcomnomgobneteduorgcomeduiorgmilcomngonetedugovcloudns1337ngrokacorggogfamcomwebgobnetedugokgopgkpgovgosbizpasaugumicsopozpapuwmwsrprusiskwpspkppspkmpspokeoiawsawifoumsdnskokwpmuppuppsppiwwiwoowuzswkzoschrzpisdnwzmiuwwitdpssewsseumigugimoirmpinbwinbwiihupporzgwgriwupowwskrwioswuozstarostwokonsulattmpccopruszkowmyspreadshopostrodakartuzyopolegminamediaustkazgorajgoraolawailawalomzawloclradombytomjaworznotargilubinkoninzagantorunkutnokepnonakloczestsopotsanokturekplockslasksklepzarowlukowmedaidgdaorgmilrelcomnomatmgsmartneteduelkgovwawsossexbiztgorysejnytychypomorzeboleslawiechomesklepsdscloudunicloudzakopanelegnicarawa-mazbydgoszczswidnikkrasnikwloclawekbielawamragowograjeworealestatebeskidykaszubymalopolskaprzeworskswiebodzinlecznadfirmaszkolawarmiagdyniamiastakazimierz-dolnymalborkswidnicadlugolekaostrolekapodlasieelblagtravelsimplesitezachpomormielecszczecinnieruchomosciwalbrzychlezajsklublinbedzinpoznanwielunmielnooleckostarachowicedkontopowiatwroclawrybniksuwalkileborkslupskgdanskostrowwlkptarnobrzegtourismwegrowkrakowglogowyou2pilanysamailwrocinfoagroautobeepshoppriviqhslapypiszlodzcfolksecommerce-shopmazurypulawyskoczowrzeszowpomorskiezgierzkaliszolkuszlowiczostrowiecsosnowiecmazowszewodzislawbialowiezazgorzeleckatowicepabianicejelenia-gorawolominkarpaczsieradznowarudaczeladzkonskowolaskierniewiceswinoujscieturystykabieszczadycieszynketrzynolsztynbialystokbabia-goraprochowicewarszawastalowa-wolapolkowicegorlicegliwiceponiatowalimanowalubartowaugustowkobierzyceopocznognieznoszczytnokolobrzegshoparenapodhalebielskoklodzkostargardatwithplayitownnamecoorgnetedugovacorgcomproestnetedugovbiznameislaprofinforechtngrokmedaaaacacpaenglawjurbarbarsykeeneticavocatacctcloudnsorgcomsecplonetedugov123paginaweborgcomnetintedugovnomepublidkinbarsygovx443cloudnsorgmilcomnetedugovcooporgmilcomschnetedugovnamecomcannetlibassoaemclantmcontstoreorgcomnomrecwwwbarsyfirminfoshopartsstackitmyddnswebspacelima-cityacincooxorgedugovbarsybrendlyhbvpsvpsspectrumlandinghostingacppmordoviamcprecbgorgmilcomspbnetintedumsknovgovbirrasmcdirmytismircloudvladimirnalchikadygeyamarinepyatigorskmyjinobashkiriaeurodirvladikavkazna4ugroznykustanaikalmykiacldmaildagestaniranbuildcloudcanvaliaravalwixdevelopmentappwritemigrationneedleverceldatabasestackitcodereplravendbonporterlovableaccoorgmilnetgovcoopmedorgcompubschnetedugovservicemecomygovorggovtvmedorgcomnetedugovinfoedgfacbmlonihkutwpsryxzbdtmacfhppmyspreadshopbrandpartiorgcomfhvpress123minsidaitcouldbeworlanbibkommunalforbundfhskiopsyskomvuxkomforbnaturbruksgymnloginlineorgcomnetedugovenscaledeuusentsurgebotdaorgmilcomnetgovnowteleporthashbangplatformlovablebarsyshopwarebasehoplixbarsyonlinemsf5gitappgitpagewawamscofigma-govcaffeinefigmacanvasoltstscwputerbarsysupportchatgptsquareomniweopensocialcpanelplaycodenotionnovecorewpsquaredpreviewjelecyonbyensrhtfastvpspieboxconvexjouwwebheyflowplatformshloginlinemadethissourcecraftclouderaorgorgcomartedugouvunivmeorgcomnetedugovsurveysstatichfheiyuxs4allprojectmyfastubervibehostapp-ionosdeployagentmecoorgcomschnetedugovbizcncostoreorgmilcomneteduembaixadaconsuladokiraranohoprincipesaotomeheliohobarsystorebaseshopwaresellfyaiabkhaziavologdamordoviapenzalenugsochinavoiexnetspbmsknovnorth-kazakhstanashgabadkareliaarmeniageorgiavladimirnalchikivanovobukharaadygeyakhakassiakalugakrasnodarjambylaktyubinsktroitskbryanskobninskkurganazerbaijanpokrovskbashkiriatselinogradvladikavkazmurmansktulatuvamangyshlaktashkentchimkentgroznykaragandatermezarkhangelskkustanaikalmykiabalashoveast-kazakhstankaracoldagestantogliattibarsyredorgcomgobedumirenknightpointaccoorgjelasticdiscoursecleverappsschacmiincogoornetonlineshopcogoorgmilcomwebnicnetintedugovbiznametestcoorgmilcomnomnetedugovorangecloudpersoindorgcomfinnatnetgovensmincomtourismintlinfox0611oyaorgmilcomnetedugovquickconnectvpnplusnettprequalifymeaddrmyaddrntdllwadlnctvavdrk12orgmilpolbeltelcomwebgennetedutskkepgovbbsbiznameinfocoorgmilcompronetedugovbiznameinfobetter-thanworse-thansakurafromdyndnson-the-webmymailerorgmilurlcomneteduidvgovmydnsgameclubebizmeneacsccogotvorhotelmilmobiinfovodteiflgplkmsmsbcckhincndnvncoztltmkckppzpdprvcvkvlvcrkrkscxuzchernovtsyrivneyaltaodesavolynrovnolutskltdinforgcomnetedugovbizvinnicazhitomirternopilpoltavakropyvnytskyizaporizhzhiasevastopolsebastopoluzhgoroduzhhorodkharkovkharkivvinnytsiakhmelnytskyizaporizhzhecrimeaodessazhytomyrnikolaevcherkassydonetskluganskluhanskkirovogradivano-frankivskchernivtsikrymkievkyivlvivsumyzakarpattiamykolaivcherkasychernigovkhersonchernihivdnipropetrovskdnepropetrovskkhmelnitskiyneacsccogoorusorgmilcomedugovmyspreadshopadimono-ipbarsybarsyonlinelayershiftnh-servretrosnubapicampaignservicelugaffinitylotteryweeklylotteryraffleentrygluglugsmeaccoindependent-inquestnimsitecopropymntltdorgplcschnetgovnhsbarsyindependent-commissionindependent-reviewpolicepublic-inquiryindependent-panelconnhospindependent-inquiryroyal-commissionoraclegovcloudappscck12libaws-govccphxcclibpvtparochchtrcck12libcceatonk12coglibtecgendstmusann-arborwashtenawcck12glghcck12sealibforksolympiabainbridge-islkeyporthoquiamyarrow-pointcentraliaport-townsendsequimport-ludlowrentonsilverdalebremertonredmondsheltonbellevueport-orchardport-angeleskingstonchehalisaberdeengig-harborseattlepoulsboidmdndsddemenegacalamaiavawapailalflnmdcncscohnhmihiviwiriinmntnmocoutvtctmtgunjokakwvnvprarorasmskstxwynykyazisadninsnngosrvis-bymircloudservernamepointtoenscaledland-4-salefreeddnsstuff-4-saleazure-apinoipdatabricksappscloudnsgolffanheliohostazurewebsitesgvorgmilcomgubneteducoorgcomnetd0egvorgmilcomnetedugovmydnsiacostoree12orgmilcomnomwebgobbibrectecnetintedugovraremprendefirminfoartseducok12orgcomnethidnsidacaiiosonlahanamhanoicamauhueorgcompronetintedugovbizbacninhtayninhhoabinhnamdinhtravinhhaiphongvinhlonghaiduongquangnamquangtrithuathienhuequangninhbacgianghaugiangquangbinhsoctrangbentrethanhphohochiminhdanangkontumhatinhkhanhhoathanhhoahealthgialailaocaiyenbaibackanngheanlonganphuyenphuthocanthodaklakdongnainameinfovinhphucdongthapkiengiangtiengiangquangngailaichaulangsonlamdongdaknonghagiangangiangcaobangbinhduongninhthuanbinhthuanbaclieuthaibinhninhbinhbinhdinhtuyenquanghungyenbaria-vungtauthainguyendienbienbinhphuocschbizputerimagine-proxyorgcomnetedugovcloud66advisormypetsdyndnsxn--8dbq2axn--4dbgdty6cxn--5dbhl8dxn--hebda8bxn--80auxn--d1atxn--c1avgxn--o1acxn--o1achxn--90azhxn--55qx5dxn--uc0atvxn--od0algxn--wcvs22dxn--gmqw5axn--mxtq1mxn--12c1fe0brxn--h3cuzk1dixn--12co0c3b4evaxn--12cfi8ixb8lxn--o3cyx2axn--m3ch0j3axn--j1adpxn--90amcxn--90a1afxn--h1ahnxn--j1ael8bxn--h1alizxn--c1avgxn--j1aefxn--80aaa0cvacxn--41acaffeineexeopentunnelbotdashtelebitorgtmaccoagricorgmilnomwebnicngonetaltedugovlawnisschoolgrondaraccoorgmilcomschnetedugovbizinfoprg1-zeropstritonstackitlimazeropsaccoorgmilgovяспборгкоммскбизмирсамаракрымсочиакодпроргобрупрצהלממשלישובאקדמיהองค์กรธุรกิจรัฐบาลศึกษาทหารเน็ต教育網絡組織公司政府個人닷넷한국澳门新闻澳門联通家電嘉里招聘通販닷컴삼성コムგეбгрфеюadcdbdgdidmdsdtdaebedeeegeiejekemenepereseveyegabacalamanauavapaqasazacfbfafgfnfpfwftfbgcgagggegkgngmgsgpgvgtgugilmlnlalclglplsltlhmimjmkmmmomambmcmdmfmgmzmpmsmtmgbbblbsbecccacnclcmcvctcscmhkhghchbhthphshlinikifigiaibicivisikninhnmncnbngnsnpnvntnjoionomobocoaofodorosotoptstttytatbtetgtithtmtltrusuvuaucueuguhulumunufjdjbjtjsjlkmkhkfkdkcktkukskpkgpmpnpkpjpgqaqmqiqsvtvcvbvmvlvrwpwtwzwbwcwawgwkwmwtrsrprgrfrercrbrarnrmrlrkrirhrwsusrssspsgsesbsaslsmsissxmxaxcxuypysylymykygybycyuztzsznzmzkzdzczbzazελευ世界台灣购物公益点看臺灣网络書籍在线网站手机机构大拿游戏信息台湾谷歌慈善商标香港中国餐厅网址中國商城食品微博政务移动集团公司八卦商店健康网店政府时尚佛山中信娱乐广东企业homedepotengineeringاماراتrepublicankuokgroupversicherungchannelcitadelxn--pgbs0dhxn--b4w605ferdstatebankwebsitexn--mgb9awbf亚马逊淡马锡alibabaxn--ngbc5azdxn--mgbbh1axn--45br5cyltoshibabuildworldcloudtradeguideplacespacedancemoviephoneprimesmilebiblestyleappleazurestoreskypegripexn--l1accdrivelottehorsehouseleasechasereisestadahondaomegaaetnaamicaninjanokiamediadeltavodkaedekaosakapizzaslingemailgmailtirolshelltmallfinallegaltotalhotelamfamforumrehabmusicciticricohcoachwatchboschearthfaithirishmiamiarchidubaiguccipraxiみんなストアセールcanonsalononionnikonepsonkoelngreensevencrownikanoradioaudioweiboglobopromogalloyahoociscorodeovideomangobingotokyovolvolottokyotophotosmartsportquesttrusthyattjetztadultcymrubaidutushuxn--kprw13dubankclickblackmerckgroupsharpcheapnowtvxn--h2brj9cקוםհայоргсрбмонкомбелмкдқазрусукрمصرقطرعربكومdadcfdmedwedredphdthdbidpidkrdmsdltdiceonewmeglemoerwecfageacbanbambaaaammakianraspacpaaxawtfbcgaegongingaigvigorgdogdhlmilrilonlaolloluoljllcalgalnflafltelsrlfrllplkimibmcamcombommomifmabbjcbscbwebcabnabtabmlbpubabcbbcnecincpncllcstcwtcpwcnyckfhbzhovhmoiskiobisbitcifyituipinvinwinxincbnbcnmanfangdnmenrenkpnmtnyunrunfununobiojioriohbogmofooboooooacoecoceongoproartistottnttbbtcateatlatvetpetbetnethktmitfitintjothotgotdotbotprueduicujnjyouinknhktdkappsapgapmapdnptopgopllpjmpzipvipripesqtrvdtvitvdevmovgovhivnrwlawsewnewbmwwownowhowdvrftrmtrsfrbarcartvscrseusawsupsubssbsadsddsldssasbmsmlsxxxboxfoxgmxtjxsextaxbuyflydiysoyjoyskypaydaygayxyzanzbizwebersenerpokerlameractortatarsolarລາວคอมไทยtourslocusnexuslexusgiftsbeatsboatspartspressglassswissकॉमनेटtiresgivescodeshomesgamestunesshoescardswalesloansvegastoolsdealsautosparisファッションworkssucksrocksxeroxforexfedexpartylillymoneystudyrugbytoraytoday中文网xn--unup4y天主教飞利浦新加坡enterprises我爱你嘉里大酒店christmasxn--fct429kholdingsxn--8y0a063axn--mgbx4cd0ablifestyleabogadoallstatenetbankكاثوليكxn--s9brj9cxn--gk3at1ebestbuycharityxn--55qx5dmicrosoftpropertybasketballhomegoodscorsicajewelrygallerygrocerysurgerycountrybrusselsverisignferreroxn--czr694bhdfcbankcommbanksoftbankپاكستانپاکستانnextdirectالسعوديهالعليانxn--h2brj9c8cxn--80adxhksshikshaxn--mgbai9azgqp6jcuisinellabarclayscatholicxn--kpry57dcompanyxn--xhq521bblackfridayxn--mgba3a3ejtsandvikxn--d1acj3bacademydownloadمليسياxn--j1amhxn--w4r85el8fhu5dnraipirangaathletaxn--fhbeixn--mgbqly7cvafrzuerichxn--c2br7gஇலங்கைcontractorsxn--io0a7igraphicsinsurancetemasekxn--xkc2al3hye2amotorcyclesphotographydirectoryplumbingxn--vhquvclothingtrainingcleaningwilliamhilllightingxn--mgba3a4f16ashoppingcateringeducationokinawapicturesventuresproductionsxn--9et52uwalmartഭാരതംsupportrealestatecapitalonexn--nqv7fs00emaauspostfloristdentistxn--qxamgodaddybradescobargainsmitsubishikerryhotelsxn--9dbq2axn--3pxu8kimmobilienxn--fjq720axn--mgbtx2bholidaymckinseymadridbusinessbuildershelsinkixn--4gbrimмоскваالسعودیةcoffeedegreelacaixapartnersalsaceofficeabbvievoyageorangegeorgeonlinechromemobilekindlegoogleoraclecircleschulesecureinsurexn--mgba7c0bbn0aestatexn--mgbc0a9azcgcruisehangoutxn--vuq861bxn--42c2d9arexrothfirestoneuniversityxn--nnx388alifeinsuranceextraspaceонлайнvermögensberatersoftwarexn--fiqs8sxn--mgbab2bdxn--w4rs40ltiendaभारतम्africatoyotaotsukasakuracameracreditcardnagoyaconsultingnetworkjunipertheatermonsterprogressivepioneerxn--55qw42gracingdatingvotingvikinglivinggivingxn--bck1b9a5dre4cbrotherweatherjoburgفلسطينlplfinancialxn--clchc0ea0b2g2a9gcdfutbolschoolsocialglobaldentalwoodsidechanelairtelmatteltravelrealtorwebcamstreamభారత్unicomalstomxn--nodexn--6frz82gmuseumfurniturexn--rvc1e0am3exn--mix891faccenturexn--11b4c3dismailineustardiscountquebeccomsecclinicservicesxn--y9a3aqxn--c1avgswatchchurchsearchالاردنmarketingcontacthealthmonashshoujisanofitaipeiamericanexpresssuzukiアマゾンクラウドポイントbhartiグーグルxn--mgberp4a5d4armemorialxn--1qqw23alondonmormoninstitutevisionbostonnortoncouponmaisonamazonvirginberlindesigndurbanolayannissananquanxihuanhitachikaufengardenreisenbayerntechnologydatsunxn--90a3aclatinocasinostudiophysioxn--ngbe9e0apharmacytattootaobaoaramcoexpertreportabbottdirectselectimamatfairwindspictettargetmarketintuittravelersinsurancecreditdupontryukyusuppliesxn--tckwebnpparibasschmidtmerckmsdyodobashirestaurantbridgestonecricketxn--fpcrj9c3dbostikbroadwayattorneylefrakemerckxn--fiq228c5hscareersfarmerswinnersflowersxn--wgbh1cguitarsxn--54b7fta0ccxn--p1acfmakeupgalluplandroverxn--kcrx77d1x4agoldpointbauhausxn--mgbayh7gpahiphopplaystationxn--mgba3a4fraxn--eckvdtc9dhyundaixn--gckr3f0fistanbulticketsmarketsflightschintaireviewsxn--3e0b707ewindowsxn--fiqz9sfinancialxn--fzys8d69uvgmابوظبيdiscoverreviewবাংলাxn--5su34j936bgsgmoscowobserverapartmentsдетиارامكوсайтeurovisionxn--i1b6b1a6a2exn--xkc2dl3a5ee0hتونسموقعبارتڀارتشبكةعمانبيتكعراقreadkredbondlandbandfundfoodprodgoldfordtubecafesafelifeggeeieeefreefagepagegugezonewinememenamegamesaleablebikenikelikecarecbreherefiresaveloveliveblueartedatesitevotecaseluxebofamodaltdaasdatiaayogasinavanashiaasiajavabbvatevavivadatazaraarpacasavisasncfprofmaifsurfgolfdvagsongbingpingwangkpmggoogblogpohlfailcooldellcalldeallidlsarlfilmteamroomfarmimdbarabclubhdfcicbchsbcgmbhrichtechfishdishcashminiernikddiaudiwikimobitaxicitikiwidesiqponskinloanakdnwienopenporncerntownimmolimoolloinfonicofidolegosaxozeroaerovivoautovotomotofastbestresthostpostnextlgbtchatseatgiftmeetdietreitmintrentgentspotscotguruitausohumenucyoubanklinkpinkdclktalksilkbookseekworkrsvpaarpjeepshopcoophelpcamppccwshowbeerstarruhrflirweirhaircarsparsjprshausplusnewstipstoysjobskidsfanspicsdocsxboxamexsexynavycitysonyarmyallybabyplaydeliverybuzzgbizlamborghiniphilipsලංකාಭಾರತfitnessexpresslanxesspfizercenterwalterlawyersoccercareerkosherbrokerlockerdealerdoctorauthorxn--mgbqly7c0a67fbcvermögensberatungjaguarxn--pssy2uxn--hxt814eflickrrepairrogersairbusxn--mgbai9a5eva00beventsyachtsxn--t60b56aভাৰতভারতभारतभारोतviajeshermeshughesxn--j1aefसंगठनvillasଭାରତclaimshotelsભારતzapposphotosjuegoscondostatamotorsgratistennisਭਾਰਤtkmaxxtjmaxxschaeffleryandexxn--80aswgrealtysafetybeautyluxuryxn--3ds443gsupplyfamilyxn--o3cw4hhockeysydneyxn--90aenissayalipayenergycomputeragencyxn--rovu88b電訊盈科xn--gecrj9cstatefarmaccountantaquarelleolayangroup香格里拉xn--p1ai组织机构xn--1ck2e1bxn--mgbt3dhdschwarzموريتانياabudhabinowruzkomatsufujitsuhospitalxn--80asehdbxn--mgbtf8flxn--j6w193gxn--yfro4i67oprudentialxn--flw351ecruisescoursesrecipesxn--e1a4cferrarixn--ses554gxn--wgbl6awatchesstaplessinglesxn--mgbcpq6gpa1axn--otu796dpropertiescreditunionxn--mgbah1a3hjkrdstockholmhisamitsuالسعوديةstcgroupdomainsoriginscouponsbloombergclubmedfroganslimitedxn--80aqecdr1aexposedinternationalequipmentbarclaycardxn--q7ce6axn--mgbi4ecexpprotectionassociatesconstructionxn--cck2b3bxn--45q11candroidfoundationישראלxn--mgbca7dzdocliniqueboutiqueengineerxn--qxa6asystemsfirmdalefashionauctionxn--nqv7finfinitirentalsreliancetradingweddingfishinghostinggentingbookingcookingxn--3hcrj9cgraingerxn--czrs0tdemocratsamsungyokohamaxn--h2breg3evexn--nyqy26alundbeckmelbournevacationssolutionsfrontierxn--vermgensberatung-pwbmanagementxn--cg4bkixn--mgb2ddeslincolnhamburgsandvikcoromantblockbusterairforcebarefootxn--4dbrk0ceinvestmentsfeedbackcommunityxn--ngbrxالبحرينdiamondsamsterdamhealthcareredumbrellaxn--mxtq1mxn--2scrj9cagakhanxn--mgbpl2fhкатоликcaravanசிங்கப்பூர்richardlimortgageamericanfamilyxn--fzc2c9e2cscholarshipssaarlandxn--imr513nvlaanderensamsclubgoodyearkitchenஇந்தியாweatherchannelallfinanzxn--kput3iالسعودیۃxn--90aisxn--efvy88hالجزائرxn--mgbaam7a8hexchangejpmorganxn--tiq49xqyjfidelitysecurityxn--mk1bu44cwanggouxn--fiq64bxn--6qq986b3xlxn--mgbbh1a71exn--80ao21amarshallsxn--5tzm5gtravelerspanasoniclatrobeyoutubeaccountantsxn--rhqv96gxn--cckwcxetdanalyticsxn--ygbi2ammxبازاربھارتسوريةorganicfreseniusسورياxn--9krt00axn--qcka1pmcxn--jlq480n2rgdeloittesciencefinancexn--jvr189mxn--30rr7yhomesensehotmailbaseballfootballleclercboehringerxn--q9jyb4cxn--mix082fاليمنهمراهpolitieسودانايرانایرانnetflixyamaxunxn--lgbbat1ad8jcollegestoragecapetowncolognekerrypropertiesxn--mgbgu82axn--ogbpf8flxn--czru2dwhoswhociprianilasallexn--g2xx48cforsalebanamexaudiblexn--vermgensberater-ctbxn--zfr164bericssonvanguardxn--45brj9cindustriestheatremarriottxn--3bst00mcomparexn--mgberp4a5d4a87gcapitaldigitalالمغربbarcelonashangrilaxn--d1alfcalvinkleinwwwcitysapporokawasakinagoyasendaikobekitakyushuyokohamackjp`,LL=ML.length,RL=PL.length,zL=new Uint32Array(RL),BL=new Uint32Array(RL),VL=new Int32Array(LL).fill(-1);for(let e=0,t=0;e<LL;e+=1)for(let n=NL[e];n<NL[e+1];n+=1){zL[n]=t;let r=t+PL[n],i=5381;for(let e=r-1;e>=t;--e)i=i*33^IL.charCodeAt(e);BL[n]=i>>>0,PL[n]===1&&`orgmilcomschnetedugovdrrformsfeedbackofficialaccoorgmilschnetgovmagazinemediaunioncargopilotgroupcaarespressworksaerodromeworkinggroupair-traffic-controlaircraftaccident-preventioneducatormarketplaceambulanceinsurancecateringairportrepbodyenginesoftwaremodellingair-surveillanceconsultingchartertrainermaintenanceservicesdesignflightskydivingfreightassociationstudentgroundhandlingdgcafuelclubtaxicrewshowballooningexpresstraderbrokerauthoragentsairtrafficjournalistsafetyconsultantmicrolightaccident-investigationparachutingequipmentproductionfederationrecreationscientistnavigationengineertradingglidingleasingresearchpassenger-associationentertainmentparaglidinghangglidingaerobaticrotorcraftemergencycertificationgovernmentaeroclubexchangelogisticschampionshiphomebuiltcouncilconferencecontrolairlinecivilaviationjournalorgcomnetedugovcoorgcomnomnetobjofforgcomnetuwukiloappsframerorgmilcomnetedugovcoradioorgcomnetcommuneedogpbcoitgvorgedugov*spreviewfrontendrelayononstagingupid*mtls*privatelinktypedreamdeveloperbravemochawindsurfaivenmirenupsunwnextbegetngrokclerkwale2bwebcsbrunputerflutterflowspawnbaseshiptodaymagicpatternsnetlifyondigitaloceanrailwayhostedclaudehasurabotdashvercelgithubluyanigadgetreplitcloudflaretelebitedgecomputeevervaultexponyatnoopencrpplxzeaburwasmerframerzeropsrocketpreviewconvexmedusajsspritesonherculeseasypanelstreamlitglideossnowflakemesserliloginlinehackclubcodepennorthflankbase44corespeedleapcellngrok-freeclerkstagelovableon-fleek*us-west-3ap-south-2us-central-2us-central-1eu-central-1ap-south-1us-west-2us-east-2eu-north-1ap-north-1us-west-1us-east-1*rcloudintsegorgmilcomgobbetnetintedugovturmusicasenasamutualcoopip6uriurnin-addre164homeirisgovdixdaemoncloudnssthwien*inexexkunden4accogvormymyspreadshop4lima2ixortsinfofuturecmsfuturehosting12hpprivfuturemailinglima-cityfunkfeuer123webseitednshomemelmyspreadshopcloudletswasantqldvicactnswtascatholicwasaqldvictasidwasantozqldorgcomvicasnactnetedugovnswtasconfcomairflowlambda-urltransfer-webappairflowtransfer-webapptransfer-webapptransfer-webapp-fipstransfer-webappeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1privatenotebookstudiolabelingnotebookstudionotebooknotebook-fipslabelingnotebookstudionotebook-fipsnotebookstudio-fipsnotebook-fipsnotebookstudionotebook-fipsnotebookstudioeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2experimentsus-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1onrepostsagemakercopporgmilcompronetintedugovbiznameinfoshoprsorgmilcomnetedugovbrendlyresolvenzauscotvstoreorgcomnetedugovbizinfoidacaicoittvorgmilcomschnetedugovinfocloudezproxysiteacmymyspreadshopkuleuvenwebhostingtransurl123websitecloudnsinterhostsolutionsddns5476103298edgfacbmlonihkjutwvqpsryxzbarsycoororgcomedumyftpno-iporxcloud-ipfor-somemmafanfor-morewebhopselfipjozidyndnscloudnsdscloudfor-thefor-betteractivetrailcoeconorestooteorgcomeconeteduassurmoneyafricaarchitectesrestaurantloisirstourismavocatsinfoagrounivcoorgcomnetedugoviatvdeportesaludtksatorgmilcomwebgobnetinteducienciaboliviarevistacooperativaempresanombreindustriamusicapatriamedicinademocraciapoliticapuebloindigenaplurinacionalarteblogwikiinfoagrotransportenoticiasprofesionalacademiaeconomiaecologiamovimientotecnologianaturalsimplesitecepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesmscepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesms*biaamfmtcmptvfeirasampajampanatalbelemananiradiog12medindfndbmdtrdthepoaggfjdfdefinfenflegsegongengcngorgzlgslglogppgmillelqslcimcomnomadmjabimbbibbsbabcrectecsjcetcpscpvhudieticriapipsiecnbiorioecogeoteoodoproatoartfstmatvetdetbetnetcntnotfotgrueduajuespappreptmpemparqsrvadvdevgovntrturagrjorfarjusmusdesvixxyzcozfozslzbhzmaringasantamariacampinagrandegoianiasorocabafloripasaobernardocuritibaboavistarecifeaparecidasaogoncasalvadorcuiabamorenamacapalondrinacontagemsocialfortalmaceioleilaoosascoriobranconiteroi9guacutcheblogflogvlogwikitaxicoopmanauspalmascaxiasjoinvillebaruericampinassantoandreribeiraoriopretoweorgcomnetedugovv0windsurfshiptodaycloudsitecoaccoorgnetgovofmilcomgovmediatechzacoorgcomnetedugsjgovmydnspenfnlabnbmbgcbcqconcontnuyksknsmyspreadshopno-ipawdevboxbarsyonidatemfuinabusavinstanceseceuguukussryzespawncsxcloud-ipmyphotosfantasyleaguetwmailcleverappsscrappingccwucloudnsftpaccessgame-serverccgovobjectsrmalpgcust*svcalp1aeappenginermalpgmyspreadshop4lima2ixsquare7cloudscale123websitefirenet12hpflowgotdnslinkyard-cloudcloudnslima-citydnskingobjectstorageedaccogoorusorgcomnetinteduaéroportxn--aroport-byaassogouvcomilgobgovcloudnses-1eu-west-1us-east-1euvipit1eurarubait1s3lbwebsites3websiteru-spbru-mskelasticcsrunstnukukcaukusnl-ams-1fr-par-1fr-par-2functionsnodess3ddlwhmrdbfnck8sifrs3-websitecockpitscblmgdbdtwhkafkpubprivs3ddlwhmrdbk8sifrs3-websitecockpitscblmgdbdtwhkafks3ddlrdbk8sifrs3-websitecockpitscblmgdbdtwhkafkk8sscalebookpl-wawfr-parnl-amsbaremetalsmartlabelinginstancesdechk2kuleuvenlaravelvoorloperurownoxazapscwhstgrvaporonline-serverobservablehqelementorantagonistreclaimjoteluluencowaydiademjelasticmatlabmagentositetrendhostingaxarnetperspectajenv-arubajelejoteravendbemergenttrafficplexconvexkeliwebserveboltbegetcdnstaticson-rancherprimetelonstackitunison-servicesdnshomelinkyardbarsyjelecloudnscocomnetgovmycn-northwest-1cn-north-1s3s3-accesspoints3-websites3s3-accesspointrdsdualstacks3-deprecatedemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspoints3s3-accesspointrdsdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicn-northwest-1cn-north-1cn-northwest-1ebcomputeelbcn-north-1airflowcn-northwest-1cn-north-1oncn-northwest-1cn-north-1amazonawssagemakeramazonwebservicesdirectasgdsdhehahljlnmhbacscahqhshhihnlnynsnmofjbjzjxjtjhkcqtwgsjssxnxjxgxxzgz網絡网络公司orgmilcomnetedugovxn--55qx5dcanva-appsxn--io0a7iquickconnectcanvasitekhsjxn--od0algcanva-codemyqnapcloudsrvrlessclustersrealtimestorageleadpagescarrdcrdorgmilcomnomnetedugovhidnssupabaserdpareplmypiumsoxmitotaplpagesfirewalledreplitowodevwebview-assetsvfswebview-assetss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecateds3-websites3-object-lambdaexecute-apis3s3-accesspoints3-websites3-accesspoint-fipss3-fipss3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipss3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9vfss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1us-northeast-1ap-southeast-1me-south-1af-south-1ap-south-1ap-southeast-7us-west-2eu-west-2ap-east-2us-east-2ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ap-southeast-6ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1mrapaccesspoints3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3eu-west-3ap-south-2eu-south-2computes3-ap-northeast-2elbrdss3-ap-east-1s3-sa-east-1s3-us-gov-west-1s3-eu-central-1s3-ca-central-1eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3s3-website-us-west-2s3-website-eu-west-1s3-external-1eu-central-1me-central-1ca-central-1il-central-1s3-us-west-1s3-eu-west-1s3-website-sa-east-1s3-website-ap-southeast-2ap-northeast-1ap-southeast-1s3-us-west-2s3-eu-west-2me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2s3-website-ap-southeast-1s3-1s3-globals3-ap-northeast-3eu-north-1airflowap-southeast-2s3-us-gov-east-1s3-fips-us-gov-east-1s3-me-south-1s3-ap-south-1ap-northeast-2s3-website-us-west-1ap-southeast-5s3-eu-north-1s3-ap-southeast-1s3-website-us-gov-west-1compute-1s3-eu-west-3us-gov-west-1s3-website-ap-northeast-1us-gov-east-1s3-fips-us-gov-west-1s3-website-us-east-1s3-ap-southeast-2ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3-us-east-2s3-ap-northeast-1authauthauth-fipsauth-fipseu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1rframeservicesbuilderstg-builderdev-builder*ociocpocsazuregcpawsdemoinstanceeu-west-3eu-south-2ap-southeast-3ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1previeweu-4us-4us-1eu-1us-2eu-2us-3eu-3appscomputepaasrag-cloudrag-cloud-chjcloudjcloud-ver-jpcdemonodebalancermembersipeuxvsoncillaocelotonzayalilynxsphinxfentigercustomercaracalo365cloudstaticxendevapp001testcode-builder-stgplatformmediasiteprojedrydpagesjsx0desazacncoitrueu4uhkukgrbrushatenadiarymyspreadshopfrom-flfrom-wvwebspace-hosttheworkpchatenablogcursorusercontentservesarcasmapplinzisakuratanwixsiteappchizigiizeis-into-carsdnsiskinkyadobeaemcloudis-a-therapistpgfogmyvncdojinis-an-actress1kappfldrvkozowqa2jpnmexprgmrfirewall-gatewaydynnscafjsfbsbxooguyfrom-gawoltlab-demois-a-anarchistwiardwebteaches-yogadattowebtb-hostinglive-websiteservegamegotpantheonfrom-nhsubsc-payfrom-ohvipsinaappfrom-cadyndns-officehomelinuxfrom-mahercules-appservebbsstreakusercontentfrom-okfrom-wyfastly-terrariumis-a-llamaqualyhqportalserveexchangeon-vaporvivenushopciscofreakgrayjayleaguesmetaaiusercontentfrom-iais-a-libertariansaves-the-whalestaveusercontentyolasiteoperaunitepoint2thisis-a-catererclaudeusercontentlinodeusercontentfrom-vagithubusercontentsells-for-lesshosteurcanva-appsplaystation-cloudddnsfreefrom-pafrom-prfrom-waddnskingoutsystemscloudhotelwithflightmydattois-a-nascarfanmydbserverminiserverdamnserverservehumouris-a-playerfrom-nvfrom-nmemergentagentgentappsamplifyappfrom-kyis-an-accountantnfshostserveircfrom-akpythonanywherestackhero-networkpostman-echolikescandydyndns-mailobservableusercontentserveftpfreeboxosfrom-utcdn77-storageamazonawsneat-urldyndns-serverlinodeis-a-teacherfrom-vtgleezemythic-beastsus1-pleniteu1-plenitla1-plenitpaywhirlservecounterstrikejdevcloudhealth-carereformis-into-animegoogleapisis-a-painterafricaisa-hockeynutatmetais-an-actora2hostedis-a-democratdatadetectest-le-patrondigitaloceanspacesis-a-designeris-a-hunterlinodeobjectstemp-dnsissmarterthanyoufrom-arsimplesiteevennodetownnews-stagingis-a-liberalgooglecodejelasticservemp3qualyhqpartnerdyndns-free1cooldnsest-a-la-masiondrayddnsdynuddnsfrom-orfrom-miis-a-bloggerfrom-himydobisscanvacodeis-an-engineerest-a-la-maisonupsunappdevinappswafflecellmyasustorwpenginepoweredfrom-ctservep2psame-appmyshopblocksthingdustdatalikes-piediscordsezis-with-thebandlpusercontentis-leetshopitsite3utilitiesis-a-personaltrainersinaappladeskis-a-cheflogoipselfipbase44-sandboxnospamproxyalibabacloudcsmesswithdnsauthgearappsiamallamawithgooglelutrausercontentmochausercontentframercanvasmytabitdyndns-homew-credentialless-staticblitzcpserverdiscordsaysis-a-nurseappspotatlassian-isolated-3premotewdfrom-mtwixstudiocode0emm180rmyactivedirectoryawsappsmytuleapdnsabrpolyspaceqbuserrenderbuiltwithdarkboutirgotdnsabrdnsdopaascanva-hosted-embedawsglobalacceleratorhomesecuritypcmyiphostditchyouripclever-clouddyndns-ipon-aptibleis-a-musicianhosted-by-filessecuritytacticsappspaceusercontenthomeunixstrapiappsame-previewcf-ipfsmycloudnaselasticbeanstalkis-certifieddontexistkasserverik-serverdrive-platformatlassian-3pfirebaseappherokuappawsapprunnerbarsycenteris-a-cubicle-slaveservehttpmyshopifyis-a-guruquicksytessiiitesorsitesmagicpatternsappis-a-cpameteorappfrom-wiis-a-rockstarbumbleshrimpdattolocaldatabricksappsreadthedocs-hostedfrom-rifamilydsdyndns-picsplesknsbplaceddnsaliasdynaliasdyndns-remotedoomdnsip-ddnsblogdnsis-a-doctorroutingthecloudamazoncognitobarsyonlinedsmynasddnsgurucloudflare-ipfsdeus-canvasfrom-idsmushcdnpagespeedmobilizerdyndns-at-homeunusualpersonhosted-by-previderis-a-republicandyn-o-saurstreamlitappworkisboringonthewificprapidqualifioappis-uberleetis-slickgetmyipwpdevcloudtypeformdyndns-at-workgentlentapismynascloudw-corp-staticblitzfrom-ingeekgalaxyservebeerfrom-mdonrenderspace-to-rentaivencloudappspacehostedwafaicloudcodespotblogspotatlassian-3p-us-gov-modfrom-ndfrom-msis-a-techieis-a-studentcustomer-ociis-a-photographerdurumisfrom-ksmassivegriddyndns-wikiis-an-entertaineris-a-hard-workermysecuritycamerafrom-mnrackmazedyndns-blogis-a-bulls-fanwritesthisblogfreemyipsimple-urlfrom-sdreservdauthgear-stagingest-mon-blogueuris-into-gamesrice-labsxtooldevicesakurawebis-an-anarchistoraclecloudappsdyndns-worksells-for-urhcloudfrom-dcfastvps-serverwpmucdnis-a-geekscrysecfrom-txis-into-cartoonsmodelscapetrycloudflarelocaltonetstreak-linkbalena-devicesfrom-njforgeblocksfreebox-oswebadorsitefrom-ncdoesntexisthobby-sitestreaklinkshomesecuritymacownprovidertuleap-partnersdattorelaywphostedmailservequakeis-a-socialistservehalflifepivohostingdynuhostingquipelementsw-staticblitzdyndns-webfrom-deproject-studyaliases121is-not-certifiedhercules-devis-a-financialadvisorservepicsis-a-greenloseyouripfrom-ilwithyoutubemwcloudnonprodwiredbladehostingdnsdojofrom-tnpixolinomyqnapcloudis-an-artisthostedpiis-a-landscaperauiusercontentoaiusercontenton-forgeis-a-conservativedreamhostersnet-freaksapps-1and1is-goneencoreapifastly-edgefrom-nesalesforcefrom-scdeployagentoraclegovcloudappsfrom-alis-a-lawyercechirevultrobjectsstufftoreadisa-geekddnsgeeklovableprojecttry-snowplowfrom-moblogsyteis-a-bookkeepernogmyforumravendbmyboxdeelementoredsaacficogoorinforgcomgobnatneteduidstoreorgcomnetintedudevnomepublorgcomneteduathgovtestscalculatorspaynowinfoquizzesresearchedcloudnsfunnelsassessmentsjscaleforcetmacltdorgmilcompronetgovbizpresseklogesrsccloudcustomfltusrcloude4corealmgovmunicontentproxy9metacentrumdyndyndyndnsdynpagespages-researchitionoccustomercomymyspreadshopipv64diskussionsbereich4limacomrub2ixfirewall-gatewayddnssspdnsbarsykeymachinesquare7myhome-serverspeedpartnercommunity-proschuldockxenonconnectgünstigliefernbwcloud-os-instancedyndnssecmy-routerxn--gnstigliefern-wobin-butterl-o-g-i-nisteingeekin-dslin-berlinin-brbfuettertdasnetzleitungsenin-vpnlcube-serverdyn-ip24logoipdyn-berlinruhr-uni-bochum12hpgoipsrvdnsfruskygit-repossvn-reposinternet-dnsgünstigbestellenhome-webserverxn--gnstigbestellen-zvbbplacedheimdnscosidnswebspaceconfiglima-citydyndns1istmeinvirtualuserschulplattformmy-gatewayddnsseclebtimnetztest-iservmein-iservvirtual-userhome64iservschuletaifun-dnstraeumtgeradeschulserverdynamisches-dns123webseitednshomehs-heilbronndnsupdaterbssgraphicdwadpdwdaepeweaawapaafpfwfabwbpbacwcpcciwebuserapiobjectsidsiskospockkimodorikerbonesteamsparisjanewaypicardglobaltarpitreedpikekiraworfsulukirkarchertuckerhackercanarywesleystagingprereleaset3r2lpbravepanelngrokiservstglclcrmerpflypagesbarsyvivenushoplocalcertlocalplayerbearbloggatewaydeno-stagingis-not-ais-a-goodbotdashvercelmocha-sandboxplatter-appreplitgithubpreviewworkersinbrowserevervaultis-ahrsndenoxmitmodxmyaddrstorageapipayloadgrebedocruncontainersstgstagelclstageloginlineis-a-fullstackcodepenleapcellngrok-freeis-coolstoragewebharemediatechlibp2pdiscourseimaginecomyspreadshopstoreregbiz123hjemmesidefirmcoorgcomnetedugovsldorgmilcomwebgobartnetedugovtmorgpolcomsocartnetedugovassoagrondiscoodontk12medcuegyecpaabgengorgmilgalsaltulcomadmesmgobpubdocmonfindgnriouioproartlatvetnetfotedulojgovntrturibrbarxxxofficialbasechefprofmktgpsictechinfoarqtcontdentrrpppsiqgit-pagesritmedfieorgcomlibprieduaipgovriikmeactvsportorgmilcomscieunnetedugovnameinfopintouchtawktotawkmyspreadshoporgcomnomgobedu123miwebcomputeorgcomnetedugovbiznameinfocognito-idpeusc-de-east-1onjelasticnxaspdnsbarsydirectwpdeuxfleurstransurldogadoprvwcloudnsamazonwebservicesdnshomeuserpartycokoobinmkmfidymyspreadshopalandkapsiikixn--hkkinen-5wacloudplatformhäkkinen123kotisivuidacorgmilcompronetedugovbiznameinforadioorgcomneteduuserexperts-comptablestmmyspreadshopgretaprdcomnomynhccifbxoshuissier-justicenotairesaeroportfreeboxoson-webavocatassoportgouvkdnschirurgiens-dentistes-en-franceavouesfbx-os123sitewebveterinairechirurgiens-dentistespharmacienchambagrimedecinfreebox-osdediboxgoupilemszicpyicpvicppleysheezypagesedugovcnpyorgcomcybllcpvtnetedugovtnxonlineschooldaemond6atcopanelorgnetplybotdashstackitkaasorgmilcomnetedugovbizmodltdorgcomedugovcoorgcomneteduappwriteacorgcomnetedugovcloudtranslateusercontentorgcomnetedumobiassoorgcomnetedugovbarsysimplesitediscourseindorgmilcomgobneteduorgcomwebnetedugovguaminfonxhra教育敎育網絡网絡组織組織网络網络组织組织公司政府個人个人箇人ltdorgcomincneteduidvgovxn--uc0ay4axn--55qx5dxn--mk0axixn--io0a7ixn--uc0atvxn--zf0avxxn--lcvr32dxn--od0algxn--wcvs22dxn--gmqw5axn--od0aq3bxn--mxtq1mxn--ciqpnxn--tn0agxn--gmq050iorgmilcomgobneteduiservwp2tempurlmircloudfreesitewpmudevmyfastgadgetcloudaccessjelehalfboltfastvpsemergenteasypanelopencraftizcombrendlynamefromrtpersoadultmedorgpolrelcomproartnetedufirminfoassoshopcoopgouvtmcomediahotelforumvideosportorgsexagrargameslakaseroticaerotikatozsdereklamcasino2000filmsuliinfoboltshopprivnewsszexcityutazasjogaszkonyveloingatlaneacaicogoormyᬩᬮᬶmilwebschnetkopbizzonedesaponpesxn--9tfkymyspreadshopgovmytabittabitorderravpageaccok12idforgnetgovmuniltdplcaccotttvorgcomnetmeca6g5gpgamubacaicniocoukuptverdruscsdelhiindorgmilcomwebnicfingenpronetintedugovresbizbiharbarsyinternetbusinessschooltravelsupabasealumnigujaratfirminfoaeropostbankcoopindevscloudnsno-ipbarsybarrell-of-knowledgebarrel-of-knowledgensupdategroks-thisdnsupdatefor-ourknowsitalldvrcammittwalddynamic-dnsv-infowebhopselfipdyndnshere-for-moreilovecollegemayfirstforumzcloudnsmittwaldservertypo3servergroks-theeusekd1cdndyndnsidrawsainaueuapjpusstagemocksysdevicesclientcustreservdcustdevdisrecprodtestingcobeebyteutwenteboxfusebravepstmndedynngrokorgmilcomnomnetedugovqcxqzzbarsythingdustmo-siemensrb-hostingfh-muenstergitbookbluebitecloudbeesusercontentnodeartkiloappsforgerockdarklangresinstagingapigeebubbleb-datascryptedhypernodedappnodepantheonsitegitlabgithubkeeneticvirtualservercleverappshostyhostingon-rioedugitticketstelebitwixstudioon-k3sicp0icp12038jeleqotolairbubbleappsmyaddrstolosmyrdbxwebflowdrive-platformbeagleboardhasura-applolipopdefinimavaporcloudmusicianwebflowtestazurecontainerresindevicereadthedocsloginlineeditorxmoonscalesandcatsbasicserverwebthingsbrowsersafetymarkbeebyteappbitbucketidaccovistablogorgschnetgovxn--mgba3a4f16axn--mgba3a4fraarvanedgeايرانایرانjclaspeziapdudcefegelemeperetevebacanatavaparasabgagfgogrgpgalclblimfmrmcbmbvbfclcmcvcrcpcchlimifibicivipirisimncnbnanenrnpntnnolomobocoaogorosopotoptvtatctbtmtltotpusulunutpspapaqsvpvvvtvavvrtrsrprgrfrcrbrarorkrvstsssbscsmsispzczbzbozen-suedtirolmyspreadshopxn--bulsan-sdtirol-nsbxn--valledaoste-ebbtrentinoaltoadigetrentin-sued-tirolxn--forlcesena-c8axn--forl-cesena-fcbxn--bozen-sdtirol-2obtriestetrentinsuedtiroltrentino-s-tirollecceudineaostesienaparmaluccapaviagenoapaduaaostamonzaabruzzoternirietiturinmilanbozenlaziofermoleccocuneonuoropratola-speziavdataaligfvgpugmolcalcamlomumbsicpmnvenvaoedugovabrsarmaremrbastoslazibxosfirenzetrentinosüdtirolval-d-aostavalle-aostamessinacremonaravennatoscanatrentin-suedtirolbolognacalabriaurbinopesarofriuli-v-giuliaogliastraxn--valle-aoste-ebblaquilaandriatranibarlettasyncloudxn--valle-d-aoste-ehbaostavalleyvalled-aostatrentino-alto-adigevallee-d-aostexn--balsan-sdtirol-nsbpistoiasicilialucaniacataniaiserniaperugiabresciaveneziagorizialiguriaimperiabulsan-suedtirolbalsan-suedtirolbarlettatraniandriaxn--trentino-sdtirol-szbforlì-cesenatuscanyvallée-d-aostemantovavallée-aostecasertapiemontevalleaostaval-daostafriulivgiuliatrevisoforli-cesenavalléedaosteferrarapescaravald-aostatrentino-altoadigefriuli-vegiuliavallee-aostecarboniaiglesiastarantomediocampidanovalleedaostetrentinosud-tirolcampobassotrentinsüd-tiroltrentinosüd-tirolmonzabrianzatrentino-südtirolxn--trentino-sd-tirol-c3bpotenzacosenzavicenzaemiliaromagnavenicefrosinonemarchepordenonetrentinosued-tirolvaresemolisevalléeaostefriuli-veneziagiuliabasilicatalatinaanconasavonaveronamodenabiellabolzano-altoadigepugliafoggiaumbriatrentino-stirolgenovapadovamateranovararagusapiacenzatrentinostirolvalleeaostetempio-olbiasudsardegnatrentinsudtirolmassa-carrarafriuliveneziagiuliatrentinosuedtirolandria-barletta-tranitrapanixn--cesenaforl-i8amaceratacaltanissettaascoli-picenobrindisicarraramassacagliaririmininapolivibo-valentiachietibulsan-sudtirolbalsan-sudtiroltrentino-a-adigebulsanbalsaniglesiascarboniamilanotorinoteramodell-ogliastraarezzotrentinoalto-adigerovigotrentovenetoiglesias-carboniatrentino-sud-tirolaltoadigereggio-emiliareggio-calabriasardegnatranibarlettaandriapiedmontxn--sdtirol-n2amedio-campidanotrentino-süd-tirolfriuli-vgiuliafriuli-ve-giuliaromeennaromapisa32-b16-b64-blodiastibarineencomonaplesforlicesenailiadboxosalessandriasicilytrani-barletta-andriaxn--trentin-sdtirol-7vbpesarourbinotrentinsued-tirolcesena-forliforlìcesenaemilia-romagnamonzaebrianzaxn--trentinsdtirol-nsbtrentinos-tiroltrentinsüdtirolvalledaostaolbia-tempiocampidanomediovibovalentiasassarivalle-daostalombardysud-sardegnafriulivegiuliareggioemiliamonzaedellabrianzaalto-adigevercellitrentin-sudtiroltraniandriabarlettatrentino-sudtirolascolipicenobozen-südtirolfriulive-giuliaflorencexn--cesena-forl-mcbcarbonia-iglesiasaosta-valleycarrara-massadellogliastratrentinoa-adigexn--valleaoste-e7apesaro-urbinoxn--trentinosdtirol-7vbxn--trentin-sd-tirol-rzbxn--trentinsd-tirol-6vbtrani-andria-barlettatrentin-süd-tirolxn--trentinosd-tirol-rzbgrossetomonza-e-della-brianzasüdtirolreggiocalabriatrentinoaadigetrentin-südtirolverbano-cusio-ossolafriuliv-giuliaverbaniacampaniatrentino-aadigefriulivenezia-giuliasardiniaandriabarlettatranibarletta-trani-andriacatanzarooristanourbino-pesarocesena-forlìvalle-d-aostacampidano-medio123homepagesiracusatempioolbiasuedtirollombardiaavellinocesenaforlìtrentinofriuli-venezia-giuliabozen-sudtirolandria-trani-barlettabulsan-südtirolbalsan-südtirolmonza-brianzabolzanotrentino-sued-tirolbellunosalernolivornocrotonesondriodnshometrentinsud-tirolmassacarraratrentin-sud-tiroltrentino-suedtirolviterbobergamocesenaforliolbiatempiopalermobeneventoagrigentoofcoorgnetfmaitvphdengorgmilcomschnetedugovperagrikanieasukehandachitatokaiaisaikonanoharuamaobuhigashiuraowariasahiinuyamatobishimaiwakurashitarainazawatoyonegamagorimihamatoyotataharakariyayatomioguchikomakimiyoshinishiotokonamekiyosuchiryutoyohashiokazakiisshikikasugaikotakiratoeianjotogofusosetohazutsushimashinshirotakahamanisshinshikatsuhekinantoyokawaichinomiyatoyoakeodateogataakitaikawakyowahonjoogayurihonjonoshirokamiokakatagamimitanegojomeyokotekosakadaisenkazunonikahohonjyomoriyoshimisatohappoukamikoanihachirogatahigashinarusesembokufujisatokitaakitaitayanagiowanitakkomutsutsurutahirosakigonoheoirasetowadamisawanohejiaomorishingohiranairokunohehashikamitsugarushichinohehachinohenakadomarisannohekuroishisakaeisumiasahiotakiinzaiabikomatsudoyachiyomutsuzawakujukuriomigawakashiwatoganemihamanaritasakuranagaramobarahanamigawachoshishiroichoseikozakishisuikatorimidorichonankyonanfuttsuonjukufunabashinagareyamanodasosatakochuotohnoshourayasukimitsuyokaichibayotsukaidosodegauratateyamakamagayayokoshibahikariyachimatakatsuuratomisatokisarazukamogawaichikawanarashinoichinomiyashimofusaminamibososhirakoichiharaoamishirasatoikatahonaiainansaijoseiyoiyoozuuwajimaniihamanamikatamasakiuchikokihokutobetoonshikokuchuomatsuyamaimabarikamijimakumakogenyawatahamamatsunosabaeikedaobamasakaifukuiohionotsurugamihamawakasaminamiechizeneiheijikatsuyamatakahamaechizensoedaukihaomutaokawanishiogoribuzenonojosueumiokiotochikugosasagurisaigawamizumakishinyoshitomikurumekurateyamadakasuganakamamiyamanogatatakatahakataiizukakawaratagawakasuyaashiyainatsukimunakataminamitsuikishonaikurogifukuchikeisenhigashimiyakoshinguyukuhashiokagakiyamekogaongausuikahotohochuotoyotsumiyawakadazaifuhisayamatachiaraiyanagawanakagawahirokawachikujochikushinochikuhochikuzennamieotamaokumashowateneiiwakikoorinangoononishigoshimogoomotegomishimafukushimaasakawakagamiishishirakawaiitatefutabahiratayugawahanawakitakatakawamatakunimiyabukibandaihigashihironoyamatomiharuyamatsuriaizubangedatesomaaizuwakamatsuyanaizuaizumisatonishiaizuizumizakikitashiobarataishinkaneyamakoriyamainawashirotanagurafurudonosamegawasukagawaishikawatamakawaikedaogakitaruiginanenahashimahichisonakatsugawaibigawashirakawamizunamiminokamomitakekawauesekigaharatomikasakahogikitagatayamagatatajimianpachimotosuyaotsukakamigaharahidakanisekitokigujominogodoyorogifukasamatsutakayamawanouchihigashishirakawakasaharashimonitatsumagoichiyodakannakanrashowameiwakiryuotaoratomiokafujiokaitakuranaganoharahigashiagatsumatakasakishibukawaminakamikatashinatsukiyonokawabanumataannakaoizumimidorishintoisesakiuenoyoshiokakusatsutakayamanakanojonanmokutamamuratatebayashimaebashiotakekaitadaiwahongofuchukuietajimashobaramiharahatsukaichihigashihiroshimamiyoshikumanokurenakasakaseraseranishiasaminamifukuyamashinichionomichiosakikamijimajinsekikogentakeharaotobenanaeikedatohmaozoraobiraabirakyowaeniwataikibibaisharirebunerimohiroooketootarupippunishiokoppechitosefurubirahakodateshiranukakitahiroshimakushiroobihironanporoiwamizawaniikappukunneppufukushimanakasatsunaitoyourakuromatsunaiakabirakamisunagawashibechaurakawakamifuranonakatombetsuasahikawashimokawakayabeokoppebiratoriabashirisaromaatsumanumatahidakabifukamukawamikasahorokanaitoyotomisarufutsuhigashikawaishikarikitamiyoichiesashiiwanaitomariminamifuranoakkeshifuranotoyakoyakumootoineppushikaoishiraoinemuronayorohaboroashorobihororishirifujiutashinaihokutotakasuebetsuurausuassabukikonaishimamakinaiedatetoyabieinikiesanuryuoumuteshikagarikubetsuashibetsukimobetsuaibetsutobetsusobetsuembetsushimizuchippubetsurishirihokuryuhoronobeshintokutsubetsushibetsuhonbetsumombetsutsukigatakuriyamakoshimizushiriuchikutchanmurorannoboribetsukamishihorowassamushinshinotsukembuchiwakkanaikamoenaikiyosatotakinoueshikabesunagawafukagawanakagawatakikawakamikawahigashikagurahamatonbetsumatsumaemoseushirankoshishakotanimakanemashikeotofuketomakomaisandatambaitamiawajikasaiasagoshisoonoakoyashirotoyookaminamiawajiinagawafukusakitakasagokamigorikasugaharimayokawaashiyahimejiakashitaishiaogakisannantakinosumototakarazukanishinomiyashingugoshikinishiwakiyokatakaaioimikisayoyabukawanishiamagasakisasayamashinonsenkakogawaichikawakamikawatatsunotsukubaiwamaogawaasahisakaitokaioaraiitakobandodaigosuifuinaamikasumigaurakashimaomitamayachiyoshimodatetomobetoridehitachinakainashikisakuragawakasamayawaramoriyahitachiomiyanamegatayamagatahitachikamisuushikutakahagiibarakitonekoganakasowayukimihojosomitoryugasakishimotsumafujishirotsuchiurachikuseihitachiotashirosatotamatsukuriuchiharashikahakuinanaotsubatawajimakahokukawakitatsurugikaganominotosuzuuchinadakomatsuanamizunakanotohakusannonoichikanazawaiwateshiwafudaikawaimoriokaofunatohanamakikuzumakikitakamininohekunoheyamadayahabasumitaichinosekitanohatahiraizumirikuzentakatajobojiotsuchihironomiyakoiwaizumikarumaiichinohenodakujitonooshushizukuishifujisawamizusawakamaishikanegasakimannoutazukotohiraayagawazentsujihigashikagawauchinomikanonjisanukimarugamemitoyotakamatsutadotsunaoshimatonoshoakuneamamiizumihiokiyusuikinkoisasookouyamanakatanekagoshimakanoyaisenkawanabeminamitanemakurazakitarumizunishinoomotematsumotosatsumasendaioimatsudaayaseebinamiurazushinakaiodawaraiseharasagamiharahakoneaikawakaiseiatsugitsukuihadanoyamatoyamakitazamaoisochigasakininomiyayokosukakamakuraminamiashigarafujisawasamukawakiyokawahiratsukayugawaraokawaumajikochitsunootoyoakiinonishitosayasudahidakamiharasakawaniyodogawahigashitsunokagamigeiseisusakiotsukinaharisukumomurototosakamiochitoyotosashimizumotoyamanankokunakamurakitagawayusuharaogunichoyoukiasoutoozugyokutoamakusamifunetakamoriyamagaminamataminamiogunikikuchisumotoyamatonagasumashikiaraokumamotokamiamakusanishiharayatsushiroayabeseikasakyoideineujinakagyokameokakyotangokyotanabekyotambaminamiyamashiroyamashinatanabeyawatawazukaminaminantanmiyazuhigashiyamafukuchiyamakitamukokamojoyokizumaizuruujitawaraoyamazakinagaokakyokumiyamakawagoeinabeshimameiwaasahitaikiudonoisetsukisosakikuwanamihamamiyamasuzukatamakimisuginabarikumanokomonominamiisewataraitobakiwatakikihotadomatsusakayokkaichikameyamaureshinoishinomakishichikashukuohirataiwaosakizaohigashimatsushimashikamaiwanumashibataogawaraonagawakawasakiseminemarumoriminamisanrikukakudamuratawakuyatomiyanatoriwataritagajomisatotomekamirifushiroishimatsushimayamamotoshiogamafurukawahyugaebinotsunosaitoayakushimanobeokakitauramiyazakitakazakigokaseshiibamimatashintomikunitomikitakatakobayashikawaminamitakaharukijotakanabemiyakonojonishimeranichinankitagawakadogawamorotsukakisofukushimaminamimakisakaeobuseikedaogawamiasaokayaasahiotakiotarichinoinaomichikumakomaganechikuhokukaruizawayasuokaooshikaikusakaminamiaikitogakushimatsukawakawakamitateshinatakamorikitaaikishiojirimiyadahakubaiizunaiijimaiiyamamiyotasuzakayasakatoguraookuwanagawaminowahirayayamagataminamiminowafujimiomachisakakitakaginaganonakanosakuhokomoronagisoshinanomachiwadauedaiidaharasuwatomiachiaokianankisosakunozawaonsenagematsutakayamashimosuwamatsumotoyamanouchinakagawamochizukiazuminotatsunoobamaomuraseihiunzenosetofutsuikichijiwanagasakiisahayahasamisaikaikawatanasasebohiradokuchinotsugototogitsutsushimashimabarashinkamigotomatsuurayamazoekashibaikomakawaitenrioyodosangokoryoudaojiikarugayamatokoriyamatenkawakatsuragikurotakikawakamimiyakemitsuetakatorikamikitayamayamatotakadahegurishinjokanmakisakuraitawaramotogoseoudanarasoniandokawanishishimoichihigashiyoshinokashiharashimokitayamanosegawayoshinomintsivorytopazsakuragehirnsumomoaseinetopalmail-boxmokurenyoitamuikaojiyagosensanjoaganomyokoseiroagaomishibataniigatanagaokamurakamiuonumayuzawakariwatagamitainaitsunanminamiuonumatochioyahikojoetsuseiroukamosadoizumozakitokamachiitoigawasekikawakashiwazakitsubamemitsukekokonoesaikiusukibeppuusahimeshimakunisakihasamataketatsukumihitaoitahijikusuyufukujukamitsuebungoonobungotakadaibaraniimibizentsuyamaokayamakasaokahayashimayakagemaniwaakaiwamisakishinjotamanotakahashikibichuowakesojanagishookumenannishiawakurakurashikiasakuchisetouchikagaminosatoshotomigusukunakagusukuyaeseizenaurumaiheyaaguniogiminanjokinminamidaitokitanakagusukuyonaguniokinawaishigakikunigamiurasoekadenataramahiraraginozataketomishimojizamamitonakiitomanhigashimotobuyonabarugushikamionnanahanagohaebarukumejimakitadaitonakijinnishiharayomitanginowantokashikiishikawaikedasuitaminohizuminishisakaikananabenodaitoosakasayamayaokishiwadatadaokakaizukatondabayashichihayaakasakakumatorikadomasayamahigashiosakashijonawatehirakatataishimisakitajirihannansennankatanotoyonominatosettsuhigashiyodogawaibarakinosekitachuohigashisumiyoshifujiiderakashiwaraizumiotsutoyonakamatsubaramoriguchiizumisanoshimamototakatsukineyagawahabikinotakaishikawachinaganoyoshinogarikamiminearitaouchiimarihizenogikashimaariakekiyamafukudomikitagatakitahataomachigenkaikanzakinishiaritakyuragisagataratosutakushiroishikaratsuhamatamakouhokukawagoeyoshidasatteogoseirumaasakaurawaogawaniizaomiyayoriiotakishikihonjooganohannohanyuinasaitamaokegawaarakawayoshikawayokozehasudasayamahidakafukayachichibuiwatsukiryokamiyoshimikamiizumifujimiwarabiranzanmiyoshiminanoyashiosakadosugitomisatohigashichichibutodasokakukiyonokazoshiraokakasukabekounosukawajimatsurugashimamiyashirokitamotohatoyamamoroyamahatogayakumagayakawaguchinagatorokamisatomatsubushinamegawatokigawakamikawafujiminohigashimatsuyamakoshigayatokorozawas3isk01isk02ryuohkoseikonanaishorittotakashimamaibarahikonetorahimenishiazaikokagamokotoyasuotsukusatsunagahamamoriyamatoyosatotakatsukinotogawaomihachimanhigashiomiakagiunnanizumogotsuamayatsukakakinokimatsuehamadamasudahikawahikimiokuizumoyasugiyakumomisatotamayuohdahigashiizumookinoshimanishinoshimatsuwanoshimaneshimadafujiedayoshidashimodagotembaiwataatamikosaiyaizuitoizumishimahaibaramakinoharaomaezakikawanehonkannamisusonohigashiizufukuroinumazukawazufujiaraishizuokahamamatsushimizuizunokunimatsuzakimorimachiminamiizunishiizukikugawakakegawafujikawafujinomiyaujiietsugaoyamayaitaohiranikkoashikagakuroisokanumasakurashioyakarasuyamamotegiichikaikaminokawatochigihagamokanogisanobatonasumibunasushiobaranishikatautsunomiyaiwafunemashikoshimotsukeohtawaratakanezawaitanokomatsushimatokushimaichibaminamiaizumiwajikikainanmiyoshinarutomimamugiananmatsushigesanagochishishikuinakagawamachidachiyodakomaefussainagitaitochofufuchuomeotahigashiyamatotoshimaokutamaaogashimakodairaedogawaarakawahachiojishinagawatachikawashibuyasuginamihinodekiyosesumidaoshimanerimamitakahamuraadachinakanomizuhobunkyomegurominatokoganeihigashikurumekokubunjihigashimurayamamusashimurayamatamakitahinochuokotokatsushikakouzushimaogasawaraakishimakunitachishinjukusetagayamusashinohachijoitabashiakirunohinoharachizunanbukotouramisasawakasayonagokogehinoyazutottorinichinansakaiminatokawaharaoyabetairainamiasahinantoimizufuchutakaokakurobeyamadajohanatoyamatonaminyuzenfunahashinakaniikawanamerikawaunazukitogahimiuozufukumitsutateyamakamiichiiwadearidayuasainamitaijikatsuragiaridagawatanabemihamahidakakainankiminomisatoshingushirahamakamitondayurakozakoyagobokitayamawakayamakudoyamahashimotokushimotokozagawahirogawakinokawanachikatsuurarsuseroeoishidasagaeoguniasahinagaitendonanyoobanazawanishikawasakataohkuratozawamikawamamurogawayamagatafunagatatakahatashonaishinjokahokuiideyuzakawanishitsuruokakaminoyamayamanobeshiratakamurayamanakayamakaneyamahigashineyonezawasakegawamitouubeyuuabushimonosekitabuseoshimatoyotaiwakunihikarishunannagatohagihofukudamatsutokuyamashowadoshitsurunanbukoshukaiminami-alpsnirasakikosugeotsukioshinohokutominobuyamanashifuefukichuokofuichikawamisatoyamanakakonakamichitabayamanishikatsuranarusawafujikawahayakawafujiyoshidafujikawaguchikouenohara長野京都岐阜大阪三重群馬千葉滋賀佐賀奈良adednelgaccogogror秋田愛知高知埼玉沖縄栃木熊本岩手青森山梨新潟島根鳥取長崎香川宮城石川大分宮崎茨城山口兵庫山形徳島広島福島福岡岡山富山静岡愛媛福井東京xn--4it168dhatenadiaryxn--vgu402ckawaiishophatenablogcocottenamaste北海道penneehimeiwateversestabachibashigagonnagunmapermahaccaakitaosakauh-ohblushkochiaichifukuikuroncapooitigohyogotokyokyotopunyuthickcheap0t00g00j0mie2-ddaapyawjg0amfemsubxiiboomoobutchueekpgwrgrherskrboyrdyupperunderflierchipsmydnsheavyangryhippygirlyrulez神奈川鹿児島和歌山bambinaxn--nit225kokayamasaitamaxn--k7yn95exn--1lqs03nsapporoparasitelolipopmcxn--efvn9sniigatafukuokatokushimafukushimahiroshimakagoshimafakefurokinawaxn--8pvr4ucoolblogxn--0trq7p7nnkawasakinagasakimiyazakichilloutxn--8ltr62kxn--klty5xpeeweezombiecutegirlxn--rny31hxn--uuwu58axn--ntso0iqx3axn--djrs72d6uytoyamanikitanyantakagawamimozanagoyaboyfriendxn--2m4a15egreaterchowderegoismyamagatafashionstorexn--elqq16hxn--pssu33lsendaimiyagixn--rht27zpecoriaomorisaloonwatsonvivianxn--djty4knobushipigboatnaganopinokoxn--f6qx53asadistvelvetsecretxn--5js045dchicappayamanashiibarakidigickgirlfriendxn--1lqs71dmongolianxn--c3s14mxn--qqqt11mtochigixn--5rtq34kparallelo0o0mondkobesagabonadecaoitanarafoolkilldecimainhiholomosblokilociaoundopupugifutankcrapflopnooroopsmodsholyjeezstripperpepperbittershizuokaxn--rht3dkitakyushureadymadeicurusversusmatrixxn--rht61ehungryfloppygloomycrankyhandcraftedlittlestarxn--klt787dxn--kltx9awhitesnowsunnydaytottorilovepoptheshopbuyshopxn--5rtp49cxn--d5qv7z876cwebaccelxn--kbrq7oxn--4pvxsxn--1ctwolovesickkumamotocatfoodxn--tor131oyokohamawakayamatonkotsuxn--ehqz56nxn--uist22hxn--6btw5axn--kltp7dyamaguchifrenchkisspussycatxn--4it797kxn--uisz3gbabybluexn--zbx025dnetgamersxn--7t0a264ckanagawaxn--6orx2rishikawaxn--ntsq17ghalfmoonschoolbusjellybeanxn--mkru45iusercontentlolitapunkxn--32vp30hsakurastoragehokkaidoshimanecandypopbabymilksupersaleweblikeraindropbackdropwebsozaikikirarahateblodaynightmeneacsccogoormobiinfoaeusxxorgmilcomnetedugovorgcomnetedugovbizinfotmprdorgmilcomnomedugovassnotairespresseassocoopgouvveterinairemedecinpharmaciensorgnetedugovtraorgcomedurepgovmeneperekgacscaiiocogoitoresmshsseoulbusanulsandaeguc01milvkimmvchungnamjeonnamjeonbukeliv-dnsgyeonggijejueliv-cdnincheondaejeongangwongyeongbukgwangjuchungbukgyeongnameliv-apicoeduindorgcomembnetedugovorgmilcomnetedugovjcloudorgcomnetintedugovperbnrinfocooyorgcomnetedugovethipfscanvamypepethw3sstorachakeeneticjoinmcinbrowserdwebcyonnftstoragemyfritzaemewphlxachotelltdorgcomwebsocschngonetintedugrpgovassnomgacsccoorgnetedugovbizinfo123websiteidorgmilcomasnnetedugovconfidmedorgcomplcschnetedugovaccoorgnetgovpresstmassoirseproxaccosoundcasthoptocraftvp4c66orgnetedugovitsmcdirmyboxbarsyedgestacksynologylogintoopencloudnohostwebhopdiskstationi234tcp4hoocgroknoipprivmydsddnsdnsforlohmustransipdscloudfilegear-sgbrasiliafilegearframerbarsybarsyonlinecoprdorgmilcomnomedugovinforgcomnetedugovnameacprorgcomartnetedugovpresseinfoassoinstgouvorgnycedugovbarsydscloudjuorgcomnetedugovminisiteaccoororgcomnetgovorgmilcompronetintedugovbizmuseumnameinfoaerocoopaccoorgcomnetintedugovbizcooporgcomgobneteduorgmilcomnetedugovbiznameaccoorgmilneteduadvgovcoorgcomnetaltgovforgotherhiskeeneticispmanagernomassoprod5476132eastasiacentraluswesteuropewestus2eastus2pnortheurope-01newzealandnorth-01southindia-01southcentralus2-01norwaywest-01eastus2-01westus2-01australiaeast-01italynorth-01israelnorthwest-01swedencentral-01westeurope-01centraluseuap-01taiwannorthwest-01uaecentral-01northcentralusstage-01israelcentral-01mexicocentral-01canadacentral-01austriaeast-01germanywestcentral-01francecentral-01ukwest-01denmarkeast-01polandcentral-01eastus-01westus-01swedensouth-01eastus3-01westus3-01brazilsouth-01centralus-01francesouth-01australiacentral-01westindia-01uaenorth-01jioindiacentral-01canadaeast-01belgiumcentral-01spaincentral-01koreacentral-01chilecentral-01qatarcentral-01westcentralus-01eastus2euap-01norwayeast-01southafricanorth-01brazilsoutheast-01germanynorth-01switzerlandnorth-01switzerlandwest-01japanwest-01southafricawest-01japaneast-01eastasia-01indiasouthcentral-01taiwannorth-01centralindia-01uksouth-01southcentralus-01northcentralus-01eastasiastage-01indonesiacentral-01australiacentral2-01australiasoutheast-01malaysiawest-01koreasouth-01southeastasia-01southeastus5-01northeastus5-01jioindiawest-01rucdnwest1-usfra1-desandboxjls-sto1jls-sto3jls-sto2aglobalabglobalsslmapprodfreetlsmapvpslon-1lon-2ny-1fr-1sg-1ny-2paassnwebpaashostingjelasticnordeste-idcsocuserpagescwebfileblobservicebuscoreatlricnjsjelasticwebsitestoragesezagbinruhuukjptsmyspreadshopmynetnameakamaiorigin-stagingfrom-coipv64dynv6cdn77serveblogadobeaemcloudhicamsprytdnsupno-ipownipde5ovhicpfirewall-gatewaysytesmypsxbarsyusgovcloudapimyamazemyradwebakamaihdsaveincloudfastlylbfrom-lasubsc-paysquare7in-the-bandblackbaudcdnhomelinuxoninfernoctfcloudservebbsdns-dynamiccloudfrontakamai-stagingipifonyham-radio-opsenseeringclickrisingcommunity-profrom-nylocalcertgrafana-devedgesuite-stagingcloudflareanycasteating-organicatlassian-devmydattofeste-iplocaltotorprojectknx-serveredgekeycloudflareglobalcloudyclustercasacamserveftpakamaized-stagingakamaiorigindns-cloudmyeffectboomlabotdashbuyshousestwmailhetemlazure-mobilein-dslthruhereredirectmedynuddnsbouncemesupabaseluyanicloudappakamaicloudfunctionsdebiannhlfanpgafanstatic-accessin-vpnmysynologymafeloappudohomeftptrafficmanagersiteleafseidatmemsetcloudflarecloudaccesskeyword-onazure-apiis-a-chefdoes-itgets-itwebhopselfiphomeipkicks-assedgesuitewindowsserver-ontunnelmolemydissentscrapper-sitecloudflarecnuni5srcfggffiobbzabchrsndenodynuopikddnsvpndnsakadnselastxkinghostvps-hostfastlyhomeunixazureedgeshopselectdontexistmyfritzcloudjiffyalwaysdatasells-itsquaresbroke-itazurefddattolocalat-band-campmeinforumfamilydsazurestaticappsdefinimabplaceddnsaliasdynaliasnow-dnsblogdnsroutingthecloudendofinternetdsmynasakamaiedgemymediapcadobeio-staticakamaiedge-stagingakamaihd-stagingddns-ipprivatizehealthinsurancelive-onkrellianschokokeksmassivegridmysecuritycamerarackmazeserveminecraftfrom-azis-a-geekakamaizedmoonscaleoffice-on-theusgovtrafficmanageradobeioruntimeedgekey-stagingreserve-onlinechannelsdvrdnsdojousgovcloudappcdn77-sslapps-1and1podzoneazurewebsitesdynathomescaleforceyandexcloudvusercontentisa-geekcdn-edgescoaemalcesappwriteazimuthtlonarvobuiltwithrocketnoticeablestorecomwebrecnetperotherfirminfoartslgdloncogoiltdorgmilcolcomplcschgenngonetedugovbiznamefirmmobiacincoorgmilcomnomwebgobnetintedubizinfocomyspreadshopdemongovtransurl123websitehosting-clusterkhplaycistrongsnesosvalervålerxn--vler-qoaossandeheroysandeherøybøboheroyherøyxn--hery-iraxn--b-5gavalerbøboxn--b-5gasandesandexn--hery-iraxn--vler-qoavålerhåreålaahavaofsfvfhlolnlalrlhmfmtmahcostntbuåstrmreigersundmyspreadshopgálsáeidsvolltingvollgildeskalflorøvadsøvardøvanylvenxn--bhccavuotna-k7astrandaxn--kvnangen-k0axn--sknland-fxaxn--mosjen-eyarakkestadhyllestadnannestadvevelstadvaapstenordre-landsondre-landsøndre-landtjieltexn--vrggt-xqadsør-aurdalsor-aurdalheradstordmoldefordeførdeseljefedjeryggehemnexn--krehamn-dxasognegranesøgnebrynetjomevallebykletokkegiskedovretjømehobølvoldasaudatolgasømnaviknadønnasomnadonnatranafrananesnaraumasmolatrænafrænalesjasmølaørstaorstahitrafloraaukraloppafrøyarissasnasahalsagalsaromsaraisaráisafroyasnåsagronghobolfjelltydalårdalardalaskimharamkraanghkekråanghkesorumbarumhurumbærumsørummodumsálátbálátfrognbjugnvåganvagangulenskienløtenlotenstrynvefsnxn--merker-kuaskaunsveiobømlobomloskjåkvardoflorovadsosalatbalatsálatklæbuklabuselbubarduulvikskjakklepprisørxn--nttery-byaeflåeidflahofmilgolholsellomskifetvikdepvgsfhsaskerrisorhamarasnesåsnesrørosrorosxn--slat-5namasoynaroyvaroyluroydyroyaskoyradoyandoyrodoymeloyradøyandøyrødøymeløyaskøylurøydyrøymåsøyværøynærøyhoylandethøylandetdivtasvuodnalørenskoglorenskognesoddtangenxn--tjme-hraxn--smla-hraxn--stjrdal-s1aunjargalillehammerunjárgaxn--hamary-fyadavvenjargaxn--bearalvhki-y4a123hjemmesidegjerdrumxn--brnnysund-m8acxn--tnsberg-q1axn--mlatvuopmi-s4axn--snsa-roaxn--skierv-utaxn--brum-voatysfjordkvafjordeidfjordkvæfjordsongdalenmjondalenmjøndalenxn--gls-elackragerogáŋgaviikagangaviikasørreisasorreisasør-varangersor-varangerxn--risr-iraskiervaxn--frna-woaxn--trna-woakvinesdalleksvikleirvikrøyrvikroyrviksvelvikvenneslaevje-og-hornnessandnessjøenmarnardalvindafjordsandefjordenebakksnillfjordullensvangxn--trany-yuabrønnøysundnamsskoganaustevollxn--stjrdalshalsen-sqbnord-aurdalnord-frontrøgstadtrogstadgrimstadflakstadgjerstadxn--sandy-yuaxn--leagaviika-52bnore-og-uvdalvegarsheixn--rlingen-mxaxn--ggaviika-8ya47hvegårsheikarlsoykvitsoymasfjordenhamaroyinderoyosteroydavvenjárgasauheradguovdageaidnuxn--vre-eiker-k8abronnoysiellakkrødsheradkrodsheradkvinnheradbrønnøyxn--mtta-vrjjat-k7afxn--lrenskog-54akvitsøyvárggátkarlsøyosterøyinderøyhamarøybronnoysundxn--aurskog-hland-jnbbahccavuotnabáhccavuotnagiehtavuoatnastor-elvdalmidtre-gauldalxn--gildeskl-g0akarasjokevenassixn--bievt-0qaxn--yer-znalebesbynessebyxn--hbmer-xqamalselvmålselvxn--unjrga-rtamøre-og-romsdalmore-og-romsdalhareidmelandørlandorlandstrandålgårdsolundalgardafjordåfjorddielddanuorrikautokeinoxn--stre-toten-zcbskodjeaejriestangeliernebamblestokkefauskesnåasesnaasekongsvingerlangevagberlevagxn--flor-jrahattfjelldalostre-totenøstre-totenvestfoldxn--mely-iraálaheadjualaheadjunordreisaxn--troms-zuaxn--lgrd-poacporsangerflatangerstavangerleikangerbremangersamnangergieldakarasjohkaxn--rdy-0nabfrostautsirasnoasatromsaxn--sr-aurdal-l8aflekkefjordjølsterjolsteraremarkhedmarknååmesjevuemienaamesjevuemiexn--vard-jrarollagmeråkermerakerorskogørskogxn--bdddj-mrabdákŋoluoktaxn--osyro-wuaaknoluoktatrysilskjervøymandaljondalbindalrindalmeldalsuldalorkdalsigdalalvdallærdalhurdalsirdalverdallerdallardaloppdalåseralaseralhadselkragerødivttasvuotnaoverhallasteinkjerxn--hnefoss-q1askedsmokorsettromsøxn--dyry-iravestre-totenmuseumxn--sandnessjen-ogbrahkkeravjufylkesbiblbájddarbajddarxn--laheadju-7yarennesøyxn--koluokta-7ya57hxn--hgebostad-g3aleirfjordstorfjordbalsfjordbåtsfjordbatsfjordmuosátbievátloabátkárášjohkanøtterøyxn--mjndalen-64anordkappláhppilahppialstahaugsiljanverranrøykenroykenhaldenlyngenbergenhortenhønefosshonefosstroandinbeiarnvarggatosoyroosøyrotromsoidrettmuosatbievatruovatloabatvoagattynsetnessetxn--indery-fyaskánitskanitraholtråholtxn--ystre-slidre-ujbandebusarpsborgbearduxn--karlsy-fyahordalandjorpelandjørpelanddeatnuringsakersør-odalsor-odalxn--slt-elabringerikeaudnedalnittedalnissedalhemsedalslattumsurnadalxn--blt-elabelverumstjørdalnaustdalhjartdalgjøvikfyresdalhasviknarviklarvikgjovikmalvikgamviklenvikporsgrunnstjordalengerdaldrobakdrøbakxn--msy-ula0hvestvagoyxn--vgan-qoaxn--ryken-vuaxn--lten-graxn--stfold-9xaxn--hpmir-xqaxn--lury-iramálatvuopmimalatvuopmitysværkirkenesbirkenesmoskenesbáidárxn--fjord-lraxn--rdal-poabahcavuotnabáhcavuotnaxn--frde-gralindåsbearalvahkixn--hobl-iraráhkkerávjuxn--loabt-0qavågåáltábodøsundlundraderådeetnetimeholeauregrueoddavagavegaranatanaarnasolasulaaltalekafusavangbergkvamåmliamlibokntinnroangranosenoslobodorøstroststatåmotamotivguprivøyeroyerliermossvossxn--nvuotna-hwalusterlunnermarkerhábmerhabmerhvalerfjalerxn--rholt-mratysvarbaidarfitjargaularhápmirhapmirmelhusfosnesøksnesoksnestysneshemnesevenesflesbergeidsbergtonsbergtønsberglindasxn--sndre-land-0cbnamsosxn--srum-graøystre-slidreoystre-slidrevestre-slidretrondheimbalestrandxn--langevg-jxaaustrheimxn--skjk-soavagsoyaveroysandoykarmoyfinnoytranoyvestbytranbysykkylvenxn--hyanger-q1aspjelkavikandasuoloxn--fl-ziaxn--drbak-wuastathellexn--sr-varanger-ggbtelemarkxn--bhcavuotna-s4axn--porsgu-sta26fčáhcesuolocahcesuoloakrehamnåkrehamnsandøykarmøyfinnøytranøyvågsøyaverøynamdalseidxn--lesund-huabadaddjaxn--vegrshei-c0axn--btsfjord-9zagildeskålporsanguxn--trgstad-r1anávuotnanavuotnahammerfestxn--sgne-graxn--brnny-wuacibestadharstadnarviikaevenáššivestnesgjemnessandnesagdenesrennesoyxn--avery-yuaxn--tysvr-vrabearalváhkikongsbergspydebergrandabergxn--andy-iradavvesiidaxn--krdsherad-m8aporsáŋgufredrikstadbjerkreimringeburennebuaurskog-holandnotteroyxn--vgsy-qoa0jxn--rmskog-byaskierváivelandbyglandfrolandaurlandforsandxn--bjddar-ptamidsundålesundalesundfetsundfarsundovre-eikerøvre-eikerakershusxn--moreke-juasørfoldøstfoldostfoldsorfoldhøyangerhoyangerlevangerorkangertanangerxn--vestvgy-ixa6olillesandulsteinxn--rennesy-v1agranvinskjervoyxn--klbu-woalavagisxn--h-2faxn--ryrvik-byakafjordkåfjordseljordfolkebiblxn--gjvik-wuajevnakerxn--kfjord-iuabudejjuxn--kranghke-b0axn--davvenjrga-y4axn--rland-uuaxn--ldingen-q1axn--mlselv-iuaxn--rady-iraxn--linds-prabrumunddalxn--ygarden-p1amo-i-ranaeidskogrømskogromskoghjelmelandxn--finny-yuaxn--sr-odal-q1axn--skjervy-v1aballangenkvanangenkvænangengratangenxn--hmmrfeasta-s4acvossevangensuohkanxn--rde-ulaxn--mli-tlaxn--ksnes-uuanordlandskanlandskånlandsortlandfuoiskuxn--rros-graxn--hcesuolo-7ya35bxn--eveni-0qa01gagaivuotnagáivuotnaxn--seral-lradrammenmodalenmosjoenjan-mayentorskensteigengloppenxn--snes-poamatta-varjjatxn--sr-fron-q1aomasvuotnajessheimbådåddjåxn--krager-gyaxn--kvfjord-nxaxn--asky-iraxn--snase-nraxn--bidr-5nacholtålenxn--vads-jraxn--jlster-byamosjøenxn--rst-0nastavernxn--ostery-fyaxn--oppegrd-ixaxn--sknit-yqaxn--risa-5naoppegårdskiptvetrendalenholtalenxn--mot-tlaxn--lhppi-xqaxn--holtlen-hxaxn--srreisa-q1akopervikxn--muost-0qaxn--bmlo-grahokksundkvalsundegersundxn--karmy-yuaullensakerxn--hylandet-54axn--kvitsy-fyaxn--bod-2nalangevågberlevågkristiansandxn--rsta-frahornindalstjørdalshalsenstjordalshalsensandnessjoenhámmárfeastaxn--lrdal-srasør-fronsor-fronnord-odalkristiansundmátta-várjjatvestvågøynesoddennotoddenbuskerudøygardenoygardensalangenlavangenralingenrælingenlodingenlødingenleaŋgaviikalaakesvuemieleangaviikauenorgexn--srfold-byaaskvollxn--rskog-uuaxn--nry-yla5gxn--vry-yla5ghammarfeastaxn--rhkkervju-01afxn--givuotna-8yakommunekrokstadelvanedre-eikerhagebostadhægebostadxn--berlevg-jxakviteseidxn--s-1faxn--l-1faxn--nmesjevuemie-tcbafuosskomoårekemoarekexn--lt-liacxn--jrpeland-54asvalbardoppegardholmestrandtvedestrandsogndalsokndalarendalsunndalfolldalxn--krjohka-hwab49jlyngdaletnedalnorddalsaltdalgausdalskedsmovaksdalgjesdalstordalxn--frya-hraaarbortedrangedalxn--smna-graaurskog-hølandxn--vg-yiabtjeldsundhaugesundlindesnesxn--mre-og-romsdal-qqbxn--dnna-gradyntmpheremerseineshacknetenterprisecloudmineaccomaorimāoriorgmilcriiwigennetschoolhealthkiwigovtgeekxn--mori-qsacloudnsparliamentcomedorgcompronetedugovmuseumwebsitekinservicebarsywebsitebuildereerobookheimdnsleapcelleero-stagetechcrscsslorigingohomecdbedeeeiemesecabgngilnlalplchfisiincnnoroptatitmtltruauhulumkdkukskjplvtrgrfrkrhrusesismycynzcznetinteduassoososcloudstgbetaaezaeuhkusjshatenadiarycdn77hoptozaptois-a-knightmyftpno-ipjpnddnssdpdnsspdnsbarsysweetpepperis-a-bruinsfanis-very-sweetservegameis-a-soxfanhomelinuxcdn77-secureservebbsmisconfusedwebredirectblogsitefreedesktopcouchpotatofriestoolforgeaccesscamis-lostreadmyblogsmall-webfedorapeopleserveftpis-a-celticsfanmywirepotagertwmailin-dslsellsyourhomeread-booksfreeddnscable-modemis-savednflfanufcfanmlbfanstuff-4-saleendoftheinternetin-vpnmy-firewallhomeftpis-localis-a-chefboldlygoingnowherewebhopselfipkicks-assroxatunkcamdvrfedoraprojectgotdnsdvrdnsdyndnspubtlspimientahomeunixdontexistfedorainfracloudwmflabsfspagesbmoattachmentsteckidsfamilydsdnsaliasdynaliasnow-dnscloudnsdoomdnsduckdnsblogdnshomednsroutingthecloudendofinternetdsmynasip-dynamicpoivronhttpbinmyfirewallis-very-evilmysecuritycamerais-a-linux-userwmcloudis-a-geektuxfamilyis-a-candidatedoesntexistis-very-badhobby-sitegame-hostaltervistais-foundis-a-patsfandnsdojohepforgepodzonedynservcollegefanis-very-goodfrom-meis-very-niceisa-geeknerdpolacmedsldingorgcomnomgobabonetedupleskaemhlxmyboxrockyprvcydeuxfleurspdnscodebergheyflowstatichostorgmilcomnomgobneteduorgcomeduiorgmilcomngonetedugovcloudns1337ngrokacorggogfamcomwebgobnetedugokgopgkpgovgosbizpasaugumicsopozpapuwmwsrprusiskwpspkppspkmpspokeoiawsawifoumsdnskokwpmuppuppsppiwwiwoowuzswkzoschrzpisdnwzmiuwwitdpssewsseumigugimoirmpinbwinbwiihupporzgwgriwupowwskrwioswuozstarostwokonsulattmpccopruszkowmyspreadshopostrodakartuzyopolegminamediaustkazgorajgoraolawailawalomzawloclradombytomjaworznotargilubinkoninzagantorunkutnokepnonakloczestsopotsanokturekplockslasksklepzarowlukowmedaidgdaorgmilrelcomnomatmgsmartneteduelkgovwawsossexbiztgorysejnytychypomorzeboleslawiechomesklepsdscloudunicloudzakopanelegnicarawa-mazbydgoszczswidnikkrasnikwloclawekbielawamragowograjeworealestatebeskidykaszubymalopolskaprzeworskswiebodzinlecznadfirmaszkolawarmiagdyniamiastakazimierz-dolnymalborkswidnicadlugolekaostrolekapodlasieelblagtravelsimplesitezachpomormielecszczecinnieruchomosciwalbrzychlezajsklublinbedzinpoznanwielunmielnooleckostarachowicedkontopowiatwroclawrybniksuwalkileborkslupskgdanskostrowwlkptarnobrzegtourismwegrowkrakowglogowyou2pilanysamailwrocinfoagroautobeepshoppriviqhslapypiszlodzcfolksecommerce-shopmazurypulawyskoczowrzeszowpomorskiezgierzkaliszolkuszlowiczostrowiecsosnowiecmazowszewodzislawbialowiezazgorzeleckatowicepabianicejelenia-gorawolominkarpaczsieradznowarudaczeladzkonskowolaskierniewiceswinoujscieturystykabieszczadycieszynketrzynolsztynbialystokbabia-goraprochowicewarszawastalowa-wolapolkowicegorlicegliwiceponiatowalimanowalubartowaugustowkobierzyceopocznognieznoszczytnokolobrzegshoparenapodhalebielskoklodzkostargardatwithplayitownnamecoorgnetedugovacorgcomproestnetedugovbiznameislaprofinforechtngrokmedaaaacacpaenglawjurbarbarsykeeneticavocatacctcloudnsorgcomsecplonetedugov123paginaweborgcomnetintedugovnomepublidkinbarsygovx443cloudnsorgmilcomnetedugovcooporgmilcomschnetedugovnamecomcannetlibassoaemclantmcontstoreorgcomnomrecwwwbarsyfirminfoshopartsstackitmyddnswebspacelima-cityacincooxorgedugovbarsybrendlyhbvpsvpsspectrumlandinghostingacppmordoviamcprecbgorgmilcomspbnetintedumsknovgovbirrasmcdirmytismircloudvladimirnalchikadygeyamarinepyatigorskmyjinobashkiriaeurodirvladikavkazna4ugroznykustanaikalmykiacldmaildagestaniranbuildcloudcanvaliaravalwixdevelopmentappwritemigrationneedleverceldatabasestackitcodereplravendbonporterlovableaccoorgmilnetgovcoopmedorgcompubschnetedugovservicemecomygovorggovtvmedorgcomnetedugovinfoedgfacbmlonihkutwpsryxzbdtmacfhppmyspreadshopbrandpartiorgcomfhvpress123minsidaitcouldbeworlanbibkommunalforbundfhskiopsyskomvuxkomforbnaturbruksgymnloginlineorgcomnetedugovenscaledeuusentsurgebotdaorgmilcomnetgovnowteleporthashbangplatformlovablebarsyshopwarebasehoplixbarsyonlinemsf5gitappgitpagewawamscofigma-govcaffeinefigmacanvasoltstscwputerbarsysupportchatgptsquareomniweopensocialcpanelplaycodenotionnovecorewpsquaredpreviewjelecyonbyensrhtfastvpspieboxconvexjouwwebheyflowplatformshloginlinemadethissourcecraftclouderaorgorgcomartedugouvunivmeorgcomnetedugovsurveysstatichfheiyuxs4allprojectmyfastubervibehostapp-ionosdeployagentmecoorgcomschnetedugovbizcncostoreorgmilcomneteduembaixadaconsuladokiraranohoprincipesaotomeheliohobarsystorebaseshopwaresellfyaiabkhaziavologdamordoviapenzalenugsochinavoiexnetspbmsknovnorth-kazakhstanashgabadkareliaarmeniageorgiavladimirnalchikivanovobukharaadygeyakhakassiakalugakrasnodarjambylaktyubinsktroitskbryanskobninskkurganazerbaijanpokrovskbashkiriatselinogradvladikavkazmurmansktulatuvamangyshlaktashkentchimkentgroznykaragandatermezarkhangelskkustanaikalmykiabalashoveast-kazakhstankaracoldagestantogliattibarsyredorgcomgobedumirenknightpointaccoorgjelasticdiscoursecleverappsschacmiincogoornetonlineshopcogoorgmilcomwebnicnetintedugovbiznametestcoorgmilcomnomnetedugovorangecloudpersoindorgcomfinnatnetgovensmincomtourismintlinfox0611oyaorgmilcomnetedugovquickconnectvpnplusnettprequalifymeaddrmyaddrntdllwadlnctvavdrk12orgmilpolbeltelcomwebgennetedutskkepgovbbsbiznameinfocoorgmilcompronetedugovbiznameinfobetter-thanworse-thansakurafromdyndnson-the-webmymailerorgmilurlcomneteduidvgovmydnsgameclubebizmeneacsccogotvorhotelmilmobiinfovodteiflgplkmsmsbcckhincndnvncoztltmkckppzpdprvcvkvlvcrkrkscxuzchernovtsyrivneyaltaodesavolynrovnolutskltdinforgcomnetedugovbizvinnicazhitomirternopilpoltavakropyvnytskyizaporizhzhiasevastopolsebastopoluzhgoroduzhhorodkharkovkharkivvinnytsiakhmelnytskyizaporizhzhecrimeaodessazhytomyrnikolaevcherkassydonetskluganskluhanskkirovogradivano-frankivskchernivtsikrymkievkyivlvivsumyzakarpattiamykolaivcherkasychernigovkhersonchernihivdnipropetrovskdnepropetrovskkhmelnitskiyneacsccogoorusorgmilcomedugovmyspreadshopadimono-ipbarsybarsyonlinelayershiftnh-servretrosnubapicampaignservicelugaffinitylotteryweeklylotteryraffleentrygluglugsmeaccoindependent-inquestnimsitecopropymntltdorgplcschnetgovnhsbarsyindependent-commissionindependent-reviewpolicepublic-inquiryindependent-panelconnhospindependent-inquiryroyal-commissionoraclegovcloudappscck12libaws-govccphxcclibpvtparochchtrcck12libcceatonk12coglibtecgendstmusann-arborwashtenawcck12glghcck12sealibforksolympiabainbridge-islkeyporthoquiamyarrow-pointcentraliaport-townsendsequimport-ludlowrentonsilverdalebremertonredmondsheltonbellevueport-orchardport-angeleskingstonchehalisaberdeengig-harborseattlepoulsboidmdndsddemenegacalamaiavawapailalflnmdcncscohnhmihiviwiriinmntnmocoutvtctmtgunjokakwvnvprarorasmskstxwynykyazisadninsnngosrvis-bymircloudservernamepointtoenscaledland-4-salefreeddnsstuff-4-saleazure-apinoipdatabricksappscloudnsgolffanheliohostazurewebsitesgvorgmilcomgubneteducoorgcomnetd0egvorgmilcomnetedugovmydnsiacostoree12orgmilcomnomwebgobbibrectecnetintedugovraremprendefirminfoartseducok12orgcomnethidnsidacaiiosonlahanamhanoicamauhueorgcompronetintedugovbizbacninhtayninhhoabinhnamdinhtravinhhaiphongvinhlonghaiduongquangnamquangtrithuathienhuequangninhbacgianghaugiangquangbinhsoctrangbentrethanhphohochiminhdanangkontumhatinhkhanhhoathanhhoahealthgialailaocaiyenbaibackanngheanlonganphuyenphuthocanthodaklakdongnainameinfovinhphucdongthapkiengiangtiengiangquangngailaichaulangsonlamdongdaknonghagiangangiangcaobangbinhduongninhthuanbinhthuanbaclieuthaibinhninhbinhbinhdinhtuyenquanghungyenbaria-vungtauthainguyendienbienbinhphuocschbizputerimagine-proxyorgcomnetedugovcloud66advisormypetsdyndnsxn--8dbq2axn--4dbgdty6cxn--5dbhl8dxn--hebda8bxn--80auxn--d1atxn--c1avgxn--o1acxn--o1achxn--90azhxn--55qx5dxn--uc0atvxn--od0algxn--wcvs22dxn--gmqw5axn--mxtq1mxn--12c1fe0brxn--h3cuzk1dixn--12co0c3b4evaxn--12cfi8ixb8lxn--o3cyx2axn--m3ch0j3axn--j1adpxn--90amcxn--90a1afxn--h1ahnxn--j1ael8bxn--h1alizxn--c1avgxn--j1aefxn--80aaa0cvacxn--41acaffeineexeopentunnelbotdashtelebitorgtmaccoagricorgmilnomwebnicngonetaltedugovlawnisschoolgrondaraccoorgmilcomschnetedugovbizinfoprg1-zeropstritonstackitlimazeropsaccoorgmilgovяспборгкоммскбизмирсамаракрымсочиакодпроргобрупрצהלממשלישובאקדמיהองค์กรธุรกิจรัฐบาลศึกษาทหารเน็ต教育網絡組織公司政府個人닷넷한국澳门新闻澳門联通家電嘉里招聘通販닷컴삼성コムგეбгрфеюadcdbdgdidmdsdtdaebedeeegeiejekemenepereseveyegabacalamanauavapaqasazacfbfafgfnfpfwftfbgcgagggegkgngmgsgpgvgtgugilmlnlalclglplsltlhmimjmkmmmomambmcmdmfmgmzmpmsmtmgbbblbsbecccacnclcmcvctcscmhkhghchbhthphshlinikifigiaibicivisikninhnmncnbngnsnpnvntnjoionomobocoaofodorosotoptstttytatbtetgtithtmtltrusuvuaucueuguhulumunufjdjbjtjsjlkmkhkfkdkcktkukskpkgpmpnpkpjpgqaqmqiqsvtvcvbvmvlvrwpwtwzwbwcwawgwkwmwtrsrprgrfrercrbrarnrmrlrkrirhrwsusrssspsgsesbsaslsmsissxmxaxcxuypysylymykygybycyuztzsznzmzkzdzczbzazελευ世界台灣购物公益点看臺灣网络書籍在线网站手机机构大拿游戏信息台湾谷歌慈善商标香港中国餐厅网址中國商城食品微博政务移动集团公司八卦商店健康网店政府时尚佛山中信娱乐广东企业homedepotengineeringاماراتrepublicankuokgroupversicherungchannelcitadelxn--pgbs0dhxn--b4w605ferdstatebankwebsitexn--mgb9awbf亚马逊淡马锡alibabaxn--ngbc5azdxn--mgbbh1axn--45br5cyltoshibabuildworldcloudtradeguideplacespacedancemoviephoneprimesmilebiblestyleappleazurestoreskypegripexn--l1accdrivelottehorsehouseleasechasereisestadahondaomegaaetnaamicaninjanokiamediadeltavodkaedekaosakapizzaslingemailgmailtirolshelltmallfinallegaltotalhotelamfamforumrehabmusicciticricohcoachwatchboschearthfaithirishmiamiarchidubaiguccipraxiみんなストアセールcanonsalononionnikonepsonkoelngreensevencrownikanoradioaudioweiboglobopromogalloyahoociscorodeovideomangobingotokyovolvolottokyotophotosmartsportquesttrusthyattjetztadultcymrubaidutushuxn--kprw13dubankclickblackmerckgroupsharpcheapnowtvxn--h2brj9cקוםհայоргсрбмонкомбелмкдқазрусукрمصرقطرعربكومdadcfdmedwedredphdthdbidpidkrdmsdltdiceonewmeglemoerwecfageacbanbambaaaammakianraspacpaaxawtfbcgaegongingaigvigorgdogdhlmilrilonlaolloluoljllcalgalnflafltelsrlfrllplkimibmcamcombommomifmabbjcbscbwebcabnabtabmlbpubabcbbcnecincpncllcstcwtcpwcnyckfhbzhovhmoiskiobisbitcifyituipinvinwinxincbnbcnmanfangdnmenrenkpnmtnyunrunfununobiojioriohbogmofooboooooacoecoceongoproartistottnttbbtcateatlatvetpetbetnethktmitfitintjothotgotdotbotprueduicujnjyouinknhktdkappsapgapmapdnptopgopllpjmpzipvipripesqtrvdtvitvdevmovgovhivnrwlawsewnewbmwwownowhowdvrftrmtrsfrbarcartvscrseusawsupsubssbsadsddsldssasbmsmlsxxxboxfoxgmxtjxsextaxbuyflydiysoyjoyskypaydaygayxyzanzbizwebersenerpokerlameractortatarsolarລາວคอมไทยtourslocusnexuslexusgiftsbeatsboatspartspressglassswissकॉमनेटtiresgivescodeshomesgamestunesshoescardswalesloansvegastoolsdealsautosparisファッションworkssucksrocksxeroxforexfedexpartylillymoneystudyrugbytoraytoday中文网xn--unup4y天主教飞利浦新加坡enterprises我爱你嘉里大酒店christmasxn--fct429kholdingsxn--8y0a063axn--mgbx4cd0ablifestyleabogadoallstatenetbankكاثوليكxn--s9brj9cxn--gk3at1ebestbuycharityxn--55qx5dmicrosoftpropertybasketballhomegoodscorsicajewelrygallerygrocerysurgerycountrybrusselsverisignferreroxn--czr694bhdfcbankcommbanksoftbankپاكستانپاکستانnextdirectالسعوديهالعليانxn--h2brj9c8cxn--80adxhksshikshaxn--mgbai9azgqp6jcuisinellabarclayscatholicxn--kpry57dcompanyxn--xhq521bblackfridayxn--mgba3a3ejtsandvikxn--d1acj3bacademydownloadمليسياxn--j1amhxn--w4r85el8fhu5dnraipirangaathletaxn--fhbeixn--mgbqly7cvafrzuerichxn--c2br7gஇலங்கைcontractorsxn--io0a7igraphicsinsurancetemasekxn--xkc2al3hye2amotorcyclesphotographydirectoryplumbingxn--vhquvclothingtrainingcleaningwilliamhilllightingxn--mgba3a4f16ashoppingcateringeducationokinawapicturesventuresproductionsxn--9et52uwalmartഭാരതംsupportrealestatecapitalonexn--nqv7fs00emaauspostfloristdentistxn--qxamgodaddybradescobargainsmitsubishikerryhotelsxn--9dbq2axn--3pxu8kimmobilienxn--fjq720axn--mgbtx2bholidaymckinseymadridbusinessbuildershelsinkixn--4gbrimмоскваالسعودیةcoffeedegreelacaixapartnersalsaceofficeabbvievoyageorangegeorgeonlinechromemobilekindlegoogleoraclecircleschulesecureinsurexn--mgba7c0bbn0aestatexn--mgbc0a9azcgcruisehangoutxn--vuq861bxn--42c2d9arexrothfirestoneuniversityxn--nnx388alifeinsuranceextraspaceонлайнvermögensberatersoftwarexn--fiqs8sxn--mgbab2bdxn--w4rs40ltiendaभारतम्africatoyotaotsukasakuracameracreditcardnagoyaconsultingnetworkjunipertheatermonsterprogressivepioneerxn--55qw42gracingdatingvotingvikinglivinggivingxn--bck1b9a5dre4cbrotherweatherjoburgفلسطينlplfinancialxn--clchc0ea0b2g2a9gcdfutbolschoolsocialglobaldentalwoodsidechanelairtelmatteltravelrealtorwebcamstreamభారత్unicomalstomxn--nodexn--6frz82gmuseumfurniturexn--rvc1e0am3exn--mix891faccenturexn--11b4c3dismailineustardiscountquebeccomsecclinicservicesxn--y9a3aqxn--c1avgswatchchurchsearchالاردنmarketingcontacthealthmonashshoujisanofitaipeiamericanexpresssuzukiアマゾンクラウドポイントbhartiグーグルxn--mgberp4a5d4armemorialxn--1qqw23alondonmormoninstitutevisionbostonnortoncouponmaisonamazonvirginberlindesigndurbanolayannissananquanxihuanhitachikaufengardenreisenbayerntechnologydatsunxn--90a3aclatinocasinostudiophysioxn--ngbe9e0apharmacytattootaobaoaramcoexpertreportabbottdirectselectimamatfairwindspictettargetmarketintuittravelersinsurancecreditdupontryukyusuppliesxn--tckwebnpparibasschmidtmerckmsdyodobashirestaurantbridgestonecricketxn--fpcrj9c3dbostikbroadwayattorneylefrakemerckxn--fiq228c5hscareersfarmerswinnersflowersxn--wgbh1cguitarsxn--54b7fta0ccxn--p1acfmakeupgalluplandroverxn--kcrx77d1x4agoldpointbauhausxn--mgbayh7gpahiphopplaystationxn--mgba3a4fraxn--eckvdtc9dhyundaixn--gckr3f0fistanbulticketsmarketsflightschintaireviewsxn--3e0b707ewindowsxn--fiqz9sfinancialxn--fzys8d69uvgmابوظبيdiscoverreviewবাংলাxn--5su34j936bgsgmoscowobserverapartmentsдетиارامكوсайтeurovisionxn--i1b6b1a6a2exn--xkc2dl3a5ee0hتونسموقعبارتڀارتشبكةعمانبيتكعراقreadkredbondlandbandfundfoodprodgoldfordtubecafesafelifeggeeieeefreefagepagegugezonewinememenamegamesaleablebikenikelikecarecbreherefiresaveloveliveblueartedatesitevotecaseluxebofamodaltdaasdatiaayogasinavanashiaasiajavabbvatevavivadatazaraarpacasavisasncfprofmaifsurfgolfdvagsongbingpingwangkpmggoogblogpohlfailcooldellcalldeallidlsarlfilmteamroomfarmimdbarabclubhdfcicbchsbcgmbhrichtechfishdishcashminiernikddiaudiwikimobitaxicitikiwidesiqponskinloanakdnwienopenporncerntownimmolimoolloinfonicofidolegosaxozeroaerovivoautovotomotofastbestresthostpostnextlgbtchatseatgiftmeetdietreitmintrentgentspotscotguruitausohumenucyoubanklinkpinkdclktalksilkbookseekworkrsvpaarpjeepshopcoophelpcamppccwshowbeerstarruhrflirweirhaircarsparsjprshausplusnewstipstoysjobskidsfanspicsdocsxboxamexsexynavycitysonyarmyallybabyplaydeliverybuzzgbizlamborghiniphilipsලංකාಭಾರತfitnessexpresslanxesspfizercenterwalterlawyersoccercareerkosherbrokerlockerdealerdoctorauthorxn--mgbqly7c0a67fbcvermögensberatungjaguarxn--pssy2uxn--hxt814eflickrrepairrogersairbusxn--mgbai9a5eva00beventsyachtsxn--t60b56aভাৰতভারতभारतभारोतviajeshermeshughesxn--j1aefसंगठनvillasଭାରତclaimshotelsભારતzapposphotosjuegoscondostatamotorsgratistennisਭਾਰਤtkmaxxtjmaxxschaeffleryandexxn--80aswgrealtysafetybeautyluxuryxn--3ds443gsupplyfamilyxn--o3cw4hhockeysydneyxn--90aenissayalipayenergycomputeragencyxn--rovu88b電訊盈科xn--gecrj9cstatefarmaccountantaquarelleolayangroup香格里拉xn--p1ai组织机构xn--1ck2e1bxn--mgbt3dhdschwarzموريتانياabudhabinowruzkomatsufujitsuhospitalxn--80asehdbxn--mgbtf8flxn--j6w193gxn--yfro4i67oprudentialxn--flw351ecruisescoursesrecipesxn--e1a4cferrarixn--ses554gxn--wgbl6awatchesstaplessinglesxn--mgbcpq6gpa1axn--otu796dpropertiescreditunionxn--mgbah1a3hjkrdstockholmhisamitsuالسعوديةstcgroupdomainsoriginscouponsbloombergclubmedfroganslimitedxn--80aqecdr1aexposedinternationalequipmentbarclaycardxn--q7ce6axn--mgbi4ecexpprotectionassociatesconstructionxn--cck2b3bxn--45q11candroidfoundationישראלxn--mgbca7dzdocliniqueboutiqueengineerxn--qxa6asystemsfirmdalefashionauctionxn--nqv7finfinitirentalsreliancetradingweddingfishinghostinggentingbookingcookingxn--3hcrj9cgraingerxn--czrs0tdemocratsamsungyokohamaxn--h2breg3evexn--nyqy26alundbeckmelbournevacationssolutionsfrontierxn--vermgensberatung-pwbmanagementxn--cg4bkixn--mgb2ddeslincolnhamburgsandvikcoromantblockbusterairforcebarefootxn--4dbrk0ceinvestmentsfeedbackcommunityxn--ngbrxالبحرينdiamondsamsterdamhealthcareredumbrellaxn--mxtq1mxn--2scrj9cagakhanxn--mgbpl2fhкатоликcaravanசிங்கப்பூர்richardlimortgageamericanfamilyxn--fzc2c9e2cscholarshipssaarlandxn--imr513nvlaanderensamsclubgoodyearkitchenஇந்தியாweatherchannelallfinanzxn--kput3iالسعودیۃxn--90aisxn--efvy88hالجزائرxn--mgbaam7a8hexchangejpmorganxn--tiq49xqyjfidelitysecurityxn--mk1bu44cwanggouxn--fiq64bxn--6qq986b3xlxn--mgbbh1a71exn--80ao21amarshallsxn--5tzm5gtravelerspanasoniclatrobeyoutubeaccountantsxn--rhqv96gxn--cckwcxetdanalyticsxn--ygbi2ammxبازاربھارتسوريةorganicfreseniusسورياxn--9krt00axn--qcka1pmcxn--jlq480n2rgdeloittesciencefinancexn--jvr189mxn--30rr7yhomesensehotmailbaseballfootballleclercboehringerxn--q9jyb4cxn--mix082fاليمنهمراهpolitieسودانايرانایرانnetflixyamaxunxn--lgbbat1ad8jcollegestoragecapetowncolognekerrypropertiesxn--mgbgu82axn--ogbpf8flxn--czru2dwhoswhociprianilasallexn--g2xx48cforsalebanamexaudiblexn--vermgensberater-ctbxn--zfr164bericssonvanguardxn--45brj9cindustriestheatremarriottxn--3bst00mcomparexn--mgberp4a5d4a87gcapitaldigitalالمغربbarcelonashangrilaxn--d1alfcalvinkleinwwwcitysapporokawasakinagoyasendaikobekitakyushuyokohamackjp`.charCodeAt(t)===42&&(VL[e]=n),t=r}var HL=-1,UL=0,WL=0;function GL(e,t,n,r){if(PL[e]!==r)return!1;let i=zL[e];for(let e=0;e<r;e+=1)if(`orgmilcomschnetedugovdrrformsfeedbackofficialaccoorgmilschnetgovmagazinemediaunioncargopilotgroupcaarespressworksaerodromeworkinggroupair-traffic-controlaircraftaccident-preventioneducatormarketplaceambulanceinsurancecateringairportrepbodyenginesoftwaremodellingair-surveillanceconsultingchartertrainermaintenanceservicesdesignflightskydivingfreightassociationstudentgroundhandlingdgcafuelclubtaxicrewshowballooningexpresstraderbrokerauthoragentsairtrafficjournalistsafetyconsultantmicrolightaccident-investigationparachutingequipmentproductionfederationrecreationscientistnavigationengineertradingglidingleasingresearchpassenger-associationentertainmentparaglidinghangglidingaerobaticrotorcraftemergencycertificationgovernmentaeroclubexchangelogisticschampionshiphomebuiltcouncilconferencecontrolairlinecivilaviationjournalorgcomnetedugovcoorgcomnomnetobjofforgcomnetuwukiloappsframerorgmilcomnetedugovcoradioorgcomnetcommuneedogpbcoitgvorgedugov*spreviewfrontendrelayononstagingupid*mtls*privatelinktypedreamdeveloperbravemochawindsurfaivenmirenupsunwnextbegetngrokclerkwale2bwebcsbrunputerflutterflowspawnbaseshiptodaymagicpatternsnetlifyondigitaloceanrailwayhostedclaudehasurabotdashvercelgithubluyanigadgetreplitcloudflaretelebitedgecomputeevervaultexponyatnoopencrpplxzeaburwasmerframerzeropsrocketpreviewconvexmedusajsspritesonherculeseasypanelstreamlitglideossnowflakemesserliloginlinehackclubcodepennorthflankbase44corespeedleapcellngrok-freeclerkstagelovableon-fleek*us-west-3ap-south-2us-central-2us-central-1eu-central-1ap-south-1us-west-2us-east-2eu-north-1ap-north-1us-west-1us-east-1*rcloudintsegorgmilcomgobbetnetintedugovturmusicasenasamutualcoopip6uriurnin-addre164homeirisgovdixdaemoncloudnssthwien*inexexkunden4accogvormymyspreadshop4lima2ixortsinfofuturecmsfuturehosting12hpprivfuturemailinglima-cityfunkfeuer123webseitednshomemelmyspreadshopcloudletswasantqldvicactnswtascatholicwasaqldvictasidwasantozqldorgcomvicasnactnetedugovnswtasconfcomairflowlambda-urltransfer-webappairflowtransfer-webapptransfer-webapptransfer-webapp-fipstransfer-webappeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1privatenotebookstudiolabelingnotebookstudionotebooknotebook-fipslabelingnotebookstudionotebook-fipsnotebookstudio-fipsnotebook-fipsnotebookstudionotebook-fipsnotebookstudioeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2experimentsus-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1onrepostsagemakercopporgmilcompronetintedugovbiznameinfoshoprsorgmilcomnetedugovbrendlyresolvenzauscotvstoreorgcomnetedugovbizinfoidacaicoittvorgmilcomschnetedugovinfocloudezproxysiteacmymyspreadshopkuleuvenwebhostingtransurl123websitecloudnsinterhostsolutionsddns5476103298edgfacbmlonihkjutwvqpsryxzbarsycoororgcomedumyftpno-iporxcloud-ipfor-somemmafanfor-morewebhopselfipjozidyndnscloudnsdscloudfor-thefor-betteractivetrailcoeconorestooteorgcomeconeteduassurmoneyafricaarchitectesrestaurantloisirstourismavocatsinfoagrounivcoorgcomnetedugoviatvdeportesaludtksatorgmilcomwebgobnetinteducienciaboliviarevistacooperativaempresanombreindustriamusicapatriamedicinademocraciapoliticapuebloindigenaplurinacionalarteblogwikiinfoagrotransportenoticiasprofesionalacademiaeconomiaecologiamovimientotecnologianaturalsimplesitecepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesmscepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesms*biaamfmtcmptvfeirasampajampanatalbelemananiradiog12medindfndbmdtrdthepoaggfjdfdefinfenflegsegongengcngorgzlgslglogppgmillelqslcimcomnomadmjabimbbibbsbabcrectecsjcetcpscpvhudieticriapipsiecnbiorioecogeoteoodoproatoartfstmatvetdetbetnetcntnotfotgrueduajuespappreptmpemparqsrvadvdevgovntrturagrjorfarjusmusdesvixxyzcozfozslzbhzmaringasantamariacampinagrandegoianiasorocabafloripasaobernardocuritibaboavistarecifeaparecidasaogoncasalvadorcuiabamorenamacapalondrinacontagemsocialfortalmaceioleilaoosascoriobranconiteroi9guacutcheblogflogvlogwikitaxicoopmanauspalmascaxiasjoinvillebaruericampinassantoandreribeiraoriopretoweorgcomnetedugovv0windsurfshiptodaycloudsitecoaccoorgnetgovofmilcomgovmediatechzacoorgcomnetedugsjgovmydnspenfnlabnbmbgcbcqconcontnuyksknsmyspreadshopno-ipawdevboxbarsyonidatemfuinabusavinstanceseceuguukussryzespawncsxcloud-ipmyphotosfantasyleaguetwmailcleverappsscrappingccwucloudnsftpaccessgame-serverccgovobjectsrmalpgcust*svcalp1aeappenginermalpgmyspreadshop4lima2ixsquare7cloudscale123websitefirenet12hpflowgotdnslinkyard-cloudcloudnslima-citydnskingobjectstorageedaccogoorusorgcomnetinteduaéroportxn--aroport-byaassogouvcomilgobgovcloudnses-1eu-west-1us-east-1euvipit1eurarubait1s3lbwebsites3websiteru-spbru-mskelasticcsrunstnukukcaukusnl-ams-1fr-par-1fr-par-2functionsnodess3ddlwhmrdbfnck8sifrs3-websitecockpitscblmgdbdtwhkafkpubprivs3ddlwhmrdbk8sifrs3-websitecockpitscblmgdbdtwhkafks3ddlrdbk8sifrs3-websitecockpitscblmgdbdtwhkafkk8sscalebookpl-wawfr-parnl-amsbaremetalsmartlabelinginstancesdechk2kuleuvenlaravelvoorloperurownoxazapscwhstgrvaporonline-serverobservablehqelementorantagonistreclaimjoteluluencowaydiademjelasticmatlabmagentositetrendhostingaxarnetperspectajenv-arubajelejoteravendbemergenttrafficplexconvexkeliwebserveboltbegetcdnstaticson-rancherprimetelonstackitunison-servicesdnshomelinkyardbarsyjelecloudnscocomnetgovmycn-northwest-1cn-north-1s3s3-accesspoints3-websites3s3-accesspointrdsdualstacks3-deprecatedemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspoints3s3-accesspointrdsdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicn-northwest-1cn-north-1cn-northwest-1ebcomputeelbcn-north-1airflowcn-northwest-1cn-north-1oncn-northwest-1cn-north-1amazonawssagemakeramazonwebservicesdirectasgdsdhehahljlnmhbacscahqhshhihnlnynsnmofjbjzjxjtjhkcqtwgsjssxnxjxgxxzgz網絡网络公司orgmilcomnetedugovxn--55qx5dcanva-appsxn--io0a7iquickconnectcanvasitekhsjxn--od0algcanva-codemyqnapcloudsrvrlessclustersrealtimestorageleadpagescarrdcrdorgmilcomnomnetedugovhidnssupabaserdpareplmypiumsoxmitotaplpagesfirewalledreplitowodevwebview-assetsvfswebview-assetss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecateds3-websites3-object-lambdaexecute-apis3s3-accesspoints3-websites3-accesspoint-fipss3-fipss3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipss3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9vfss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1us-northeast-1ap-southeast-1me-south-1af-south-1ap-south-1ap-southeast-7us-west-2eu-west-2ap-east-2us-east-2ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ap-southeast-6ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1mrapaccesspoints3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3eu-west-3ap-south-2eu-south-2computes3-ap-northeast-2elbrdss3-ap-east-1s3-sa-east-1s3-us-gov-west-1s3-eu-central-1s3-ca-central-1eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3s3-website-us-west-2s3-website-eu-west-1s3-external-1eu-central-1me-central-1ca-central-1il-central-1s3-us-west-1s3-eu-west-1s3-website-sa-east-1s3-website-ap-southeast-2ap-northeast-1ap-southeast-1s3-us-west-2s3-eu-west-2me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2s3-website-ap-southeast-1s3-1s3-globals3-ap-northeast-3eu-north-1airflowap-southeast-2s3-us-gov-east-1s3-fips-us-gov-east-1s3-me-south-1s3-ap-south-1ap-northeast-2s3-website-us-west-1ap-southeast-5s3-eu-north-1s3-ap-southeast-1s3-website-us-gov-west-1compute-1s3-eu-west-3us-gov-west-1s3-website-ap-northeast-1us-gov-east-1s3-fips-us-gov-west-1s3-website-us-east-1s3-ap-southeast-2ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3-us-east-2s3-ap-northeast-1authauthauth-fipsauth-fipseu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1rframeservicesbuilderstg-builderdev-builder*ociocpocsazuregcpawsdemoinstanceeu-west-3eu-south-2ap-southeast-3ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1previeweu-4us-4us-1eu-1us-2eu-2us-3eu-3appscomputepaasrag-cloudrag-cloud-chjcloudjcloud-ver-jpcdemonodebalancermembersipeuxvsoncillaocelotonzayalilynxsphinxfentigercustomercaracalo365cloudstaticxendevapp001testcode-builder-stgplatformmediasiteprojedrydpagesjsx0desazacncoitrueu4uhkukgrbrushatenadiarymyspreadshopfrom-flfrom-wvwebspace-hosttheworkpchatenablogcursorusercontentservesarcasmapplinzisakuratanwixsiteappchizigiizeis-into-carsdnsiskinkyadobeaemcloudis-a-therapistpgfogmyvncdojinis-an-actress1kappfldrvkozowqa2jpnmexprgmrfirewall-gatewaydynnscafjsfbsbxooguyfrom-gawoltlab-demois-a-anarchistwiardwebteaches-yogadattowebtb-hostinglive-websiteservegamegotpantheonfrom-nhsubsc-payfrom-ohvipsinaappfrom-cadyndns-officehomelinuxfrom-mahercules-appservebbsstreakusercontentfrom-okfrom-wyfastly-terrariumis-a-llamaqualyhqportalserveexchangeon-vaporvivenushopciscofreakgrayjayleaguesmetaaiusercontentfrom-iais-a-libertariansaves-the-whalestaveusercontentyolasiteoperaunitepoint2thisis-a-catererclaudeusercontentlinodeusercontentfrom-vagithubusercontentsells-for-lesshosteurcanva-appsplaystation-cloudddnsfreefrom-pafrom-prfrom-waddnskingoutsystemscloudhotelwithflightmydattois-a-nascarfanmydbserverminiserverdamnserverservehumouris-a-playerfrom-nvfrom-nmemergentagentgentappsamplifyappfrom-kyis-an-accountantnfshostserveircfrom-akpythonanywherestackhero-networkpostman-echolikescandydyndns-mailobservableusercontentserveftpfreeboxosfrom-utcdn77-storageamazonawsneat-urldyndns-serverlinodeis-a-teacherfrom-vtgleezemythic-beastsus1-pleniteu1-plenitla1-plenitpaywhirlservecounterstrikejdevcloudhealth-carereformis-into-animegoogleapisis-a-painterafricaisa-hockeynutatmetais-an-actora2hostedis-a-democratdatadetectest-le-patrondigitaloceanspacesis-a-designeris-a-hunterlinodeobjectstemp-dnsissmarterthanyoufrom-arsimplesiteevennodetownnews-stagingis-a-liberalgooglecodejelasticservemp3qualyhqpartnerdyndns-free1cooldnsest-a-la-masiondrayddnsdynuddnsfrom-orfrom-miis-a-bloggerfrom-himydobisscanvacodeis-an-engineerest-a-la-maisonupsunappdevinappswafflecellmyasustorwpenginepoweredfrom-ctservep2psame-appmyshopblocksthingdustdatalikes-piediscordsezis-with-thebandlpusercontentis-leetshopitsite3utilitiesis-a-personaltrainersinaappladeskis-a-cheflogoipselfipbase44-sandboxnospamproxyalibabacloudcsmesswithdnsauthgearappsiamallamawithgooglelutrausercontentmochausercontentframercanvasmytabitdyndns-homew-credentialless-staticblitzcpserverdiscordsaysis-a-nurseappspotatlassian-isolated-3premotewdfrom-mtwixstudiocode0emm180rmyactivedirectoryawsappsmytuleapdnsabrpolyspaceqbuserrenderbuiltwithdarkboutirgotdnsabrdnsdopaascanva-hosted-embedawsglobalacceleratorhomesecuritypcmyiphostditchyouripclever-clouddyndns-ipon-aptibleis-a-musicianhosted-by-filessecuritytacticsappspaceusercontenthomeunixstrapiappsame-previewcf-ipfsmycloudnaselasticbeanstalkis-certifieddontexistkasserverik-serverdrive-platformatlassian-3pfirebaseappherokuappawsapprunnerbarsycenteris-a-cubicle-slaveservehttpmyshopifyis-a-guruquicksytessiiitesorsitesmagicpatternsappis-a-cpameteorappfrom-wiis-a-rockstarbumbleshrimpdattolocaldatabricksappsreadthedocs-hostedfrom-rifamilydsdyndns-picsplesknsbplaceddnsaliasdynaliasdyndns-remotedoomdnsip-ddnsblogdnsis-a-doctorroutingthecloudamazoncognitobarsyonlinedsmynasddnsgurucloudflare-ipfsdeus-canvasfrom-idsmushcdnpagespeedmobilizerdyndns-at-homeunusualpersonhosted-by-previderis-a-republicandyn-o-saurstreamlitappworkisboringonthewificprapidqualifioappis-uberleetis-slickgetmyipwpdevcloudtypeformdyndns-at-workgentlentapismynascloudw-corp-staticblitzfrom-ingeekgalaxyservebeerfrom-mdonrenderspace-to-rentaivencloudappspacehostedwafaicloudcodespotblogspotatlassian-3p-us-gov-modfrom-ndfrom-msis-a-techieis-a-studentcustomer-ociis-a-photographerdurumisfrom-ksmassivegriddyndns-wikiis-an-entertaineris-a-hard-workermysecuritycamerafrom-mnrackmazedyndns-blogis-a-bulls-fanwritesthisblogfreemyipsimple-urlfrom-sdreservdauthgear-stagingest-mon-blogueuris-into-gamesrice-labsxtooldevicesakurawebis-an-anarchistoraclecloudappsdyndns-worksells-for-urhcloudfrom-dcfastvps-serverwpmucdnis-a-geekscrysecfrom-txis-into-cartoonsmodelscapetrycloudflarelocaltonetstreak-linkbalena-devicesfrom-njforgeblocksfreebox-oswebadorsitefrom-ncdoesntexisthobby-sitestreaklinkshomesecuritymacownprovidertuleap-partnersdattorelaywphostedmailservequakeis-a-socialistservehalflifepivohostingdynuhostingquipelementsw-staticblitzdyndns-webfrom-deproject-studyaliases121is-not-certifiedhercules-devis-a-financialadvisorservepicsis-a-greenloseyouripfrom-ilwithyoutubemwcloudnonprodwiredbladehostingdnsdojofrom-tnpixolinomyqnapcloudis-an-artisthostedpiis-a-landscaperauiusercontentoaiusercontenton-forgeis-a-conservativedreamhostersnet-freaksapps-1and1is-goneencoreapifastly-edgefrom-nesalesforcefrom-scdeployagentoraclegovcloudappsfrom-alis-a-lawyercechirevultrobjectsstufftoreadisa-geekddnsgeeklovableprojecttry-snowplowfrom-moblogsyteis-a-bookkeepernogmyforumravendbmyboxdeelementoredsaacficogoorinforgcomgobnatneteduidstoreorgcomnetintedudevnomepublorgcomneteduathgovtestscalculatorspaynowinfoquizzesresearchedcloudnsfunnelsassessmentsjscaleforcetmacltdorgmilcompronetgovbizpresseklogesrsccloudcustomfltusrcloude4corealmgovmunicontentproxy9metacentrumdyndyndyndnsdynpagespages-researchitionoccustomercomymyspreadshopipv64diskussionsbereich4limacomrub2ixfirewall-gatewayddnssspdnsbarsykeymachinesquare7myhome-serverspeedpartnercommunity-proschuldockxenonconnectgünstigliefernbwcloud-os-instancedyndnssecmy-routerxn--gnstigliefern-wobin-butterl-o-g-i-nisteingeekin-dslin-berlinin-brbfuettertdasnetzleitungsenin-vpnlcube-serverdyn-ip24logoipdyn-berlinruhr-uni-bochum12hpgoipsrvdnsfruskygit-repossvn-reposinternet-dnsgünstigbestellenhome-webserverxn--gnstigbestellen-zvbbplacedheimdnscosidnswebspaceconfiglima-citydyndns1istmeinvirtualuserschulplattformmy-gatewayddnsseclebtimnetztest-iservmein-iservvirtual-userhome64iservschuletaifun-dnstraeumtgeradeschulserverdynamisches-dns123webseitednshomehs-heilbronndnsupdaterbssgraphicdwadpdwdaepeweaawapaafpfwfabwbpbacwcpcciwebuserapiobjectsidsiskospockkimodorikerbonesteamsparisjanewaypicardglobaltarpitreedpikekiraworfsulukirkarchertuckerhackercanarywesleystagingprereleaset3r2lpbravepanelngrokiservstglclcrmerpflypagesbarsyvivenushoplocalcertlocalplayerbearbloggatewaydeno-stagingis-not-ais-a-goodbotdashvercelmocha-sandboxplatter-appreplitgithubpreviewworkersinbrowserevervaultis-ahrsndenoxmitmodxmyaddrstorageapipayloadgrebedocruncontainersstgstagelclstageloginlineis-a-fullstackcodepenleapcellngrok-freeis-coolstoragewebharemediatechlibp2pdiscourseimaginecomyspreadshopstoreregbiz123hjemmesidefirmcoorgcomnetedugovsldorgmilcomwebgobartnetedugovtmorgpolcomsocartnetedugovassoagrondiscoodontk12medcuegyecpaabgengorgmilgalsaltulcomadmesmgobpubdocmonfindgnriouioproartlatvetnetfotedulojgovntrturibrbarxxxofficialbasechefprofmktgpsictechinfoarqtcontdentrrpppsiqgit-pagesritmedfieorgcomlibprieduaipgovriikmeactvsportorgmilcomscieunnetedugovnameinfopintouchtawktotawkmyspreadshoporgcomnomgobedu123miwebcomputeorgcomnetedugovbiznameinfocognito-idpeusc-de-east-1onjelasticnxaspdnsbarsydirectwpdeuxfleurstransurldogadoprvwcloudnsamazonwebservicesdnshomeuserpartycokoobinmkmfidymyspreadshopalandkapsiikixn--hkkinen-5wacloudplatformhäkkinen123kotisivuidacorgmilcompronetedugovbiznameinforadioorgcomneteduuserexperts-comptablestmmyspreadshopgretaprdcomnomynhccifbxoshuissier-justicenotairesaeroportfreeboxoson-webavocatassoportgouvkdnschirurgiens-dentistes-en-franceavouesfbx-os123sitewebveterinairechirurgiens-dentistespharmacienchambagrimedecinfreebox-osdediboxgoupilemszicpyicpvicppleysheezypagesedugovcnpyorgcomcybllcpvtnetedugovtnxonlineschooldaemond6atcopanelorgnetplybotdashstackitkaasorgmilcomnetedugovbizmodltdorgcomedugovcoorgcomneteduappwriteacorgcomnetedugovcloudtranslateusercontentorgcomnetedumobiassoorgcomnetedugovbarsysimplesitediscourseindorgmilcomgobneteduorgcomwebnetedugovguaminfonxhra教育敎育網絡网絡组織組織网络網络组织組织公司政府個人个人箇人ltdorgcomincneteduidvgovxn--uc0ay4axn--55qx5dxn--mk0axixn--io0a7ixn--uc0atvxn--zf0avxxn--lcvr32dxn--od0algxn--wcvs22dxn--gmqw5axn--od0aq3bxn--mxtq1mxn--ciqpnxn--tn0agxn--gmq050iorgmilcomgobneteduiservwp2tempurlmircloudfreesitewpmudevmyfastgadgetcloudaccessjelehalfboltfastvpsemergenteasypanelopencraftizcombrendlynamefromrtpersoadultmedorgpolrelcomproartnetedufirminfoassoshopcoopgouvtmcomediahotelforumvideosportorgsexagrargameslakaseroticaerotikatozsdereklamcasino2000filmsuliinfoboltshopprivnewsszexcityutazasjogaszkonyveloingatlaneacaicogoormyᬩᬮᬶmilwebschnetkopbizzonedesaponpesxn--9tfkymyspreadshopgovmytabittabitorderravpageaccok12idforgnetgovmuniltdplcaccotttvorgcomnetmeca6g5gpgamubacaicniocoukuptverdruscsdelhiindorgmilcomwebnicfingenpronetintedugovresbizbiharbarsyinternetbusinessschooltravelsupabasealumnigujaratfirminfoaeropostbankcoopindevscloudnsno-ipbarsybarrell-of-knowledgebarrel-of-knowledgensupdategroks-thisdnsupdatefor-ourknowsitalldvrcammittwalddynamic-dnsv-infowebhopselfipdyndnshere-for-moreilovecollegemayfirstforumzcloudnsmittwaldservertypo3servergroks-theeusekd1cdndyndnsidrawsainaueuapjpusstagemocksysdevicesclientcustreservdcustdevdisrecprodtestingcobeebyteutwenteboxfusebravepstmndedynngrokorgmilcomnomnetedugovqcxqzzbarsythingdustmo-siemensrb-hostingfh-muenstergitbookbluebitecloudbeesusercontentnodeartkiloappsforgerockdarklangresinstagingapigeebubbleb-datascryptedhypernodedappnodepantheonsitegitlabgithubkeeneticvirtualservercleverappshostyhostingon-rioedugitticketstelebitwixstudioon-k3sicp0icp12038jeleqotolairbubbleappsmyaddrstolosmyrdbxwebflowdrive-platformbeagleboardhasura-applolipopdefinimavaporcloudmusicianwebflowtestazurecontainerresindevicereadthedocsloginlineeditorxmoonscalesandcatsbasicserverwebthingsbrowsersafetymarkbeebyteappbitbucketidaccovistablogorgschnetgovxn--mgba3a4f16axn--mgba3a4fraarvanedgeايرانایرانjclaspeziapdudcefegelemeperetevebacanatavaparasabgagfgogrgpgalclblimfmrmcbmbvbfclcmcvcrcpcchlimifibicivipirisimncnbnanenrnpntnnolomobocoaogorosopotoptvtatctbtmtltotpusulunutpspapaqsvpvvvtvavvrtrsrprgrfrcrbrarorkrvstsssbscsmsispzczbzbozen-suedtirolmyspreadshopxn--bulsan-sdtirol-nsbxn--valledaoste-ebbtrentinoaltoadigetrentin-sued-tirolxn--forlcesena-c8axn--forl-cesena-fcbxn--bozen-sdtirol-2obtriestetrentinsuedtiroltrentino-s-tirollecceudineaostesienaparmaluccapaviagenoapaduaaostamonzaabruzzoternirietiturinmilanbozenlaziofermoleccocuneonuoropratola-speziavdataaligfvgpugmolcalcamlomumbsicpmnvenvaoedugovabrsarmaremrbastoslazibxosfirenzetrentinosüdtirolval-d-aostavalle-aostamessinacremonaravennatoscanatrentin-suedtirolbolognacalabriaurbinopesarofriuli-v-giuliaogliastraxn--valle-aoste-ebblaquilaandriatranibarlettasyncloudxn--valle-d-aoste-ehbaostavalleyvalled-aostatrentino-alto-adigevallee-d-aostexn--balsan-sdtirol-nsbpistoiasicilialucaniacataniaiserniaperugiabresciaveneziagorizialiguriaimperiabulsan-suedtirolbalsan-suedtirolbarlettatraniandriaxn--trentino-sdtirol-szbforlì-cesenatuscanyvallée-d-aostemantovavallée-aostecasertapiemontevalleaostaval-daostafriulivgiuliatrevisoforli-cesenavalléedaosteferrarapescaravald-aostatrentino-altoadigefriuli-vegiuliavallee-aostecarboniaiglesiastarantomediocampidanovalleedaostetrentinosud-tirolcampobassotrentinsüd-tiroltrentinosüd-tirolmonzabrianzatrentino-südtirolxn--trentino-sd-tirol-c3bpotenzacosenzavicenzaemiliaromagnavenicefrosinonemarchepordenonetrentinosued-tirolvaresemolisevalléeaostefriuli-veneziagiuliabasilicatalatinaanconasavonaveronamodenabiellabolzano-altoadigepugliafoggiaumbriatrentino-stirolgenovapadovamateranovararagusapiacenzatrentinostirolvalleeaostetempio-olbiasudsardegnatrentinsudtirolmassa-carrarafriuliveneziagiuliatrentinosuedtirolandria-barletta-tranitrapanixn--cesenaforl-i8amaceratacaltanissettaascoli-picenobrindisicarraramassacagliaririmininapolivibo-valentiachietibulsan-sudtirolbalsan-sudtiroltrentino-a-adigebulsanbalsaniglesiascarboniamilanotorinoteramodell-ogliastraarezzotrentinoalto-adigerovigotrentovenetoiglesias-carboniatrentino-sud-tirolaltoadigereggio-emiliareggio-calabriasardegnatranibarlettaandriapiedmontxn--sdtirol-n2amedio-campidanotrentino-süd-tirolfriuli-vgiuliafriuli-ve-giuliaromeennaromapisa32-b16-b64-blodiastibarineencomonaplesforlicesenailiadboxosalessandriasicilytrani-barletta-andriaxn--trentin-sdtirol-7vbpesarourbinotrentinsued-tirolcesena-forliforlìcesenaemilia-romagnamonzaebrianzaxn--trentinsdtirol-nsbtrentinos-tiroltrentinsüdtirolvalledaostaolbia-tempiocampidanomediovibovalentiasassarivalle-daostalombardysud-sardegnafriulivegiuliareggioemiliamonzaedellabrianzaalto-adigevercellitrentin-sudtiroltraniandriabarlettatrentino-sudtirolascolipicenobozen-südtirolfriulive-giuliaflorencexn--cesena-forl-mcbcarbonia-iglesiasaosta-valleycarrara-massadellogliastratrentinoa-adigexn--valleaoste-e7apesaro-urbinoxn--trentinosdtirol-7vbxn--trentin-sd-tirol-rzbxn--trentinsd-tirol-6vbtrani-andria-barlettatrentin-süd-tirolxn--trentinosd-tirol-rzbgrossetomonza-e-della-brianzasüdtirolreggiocalabriatrentinoaadigetrentin-südtirolverbano-cusio-ossolafriuliv-giuliaverbaniacampaniatrentino-aadigefriulivenezia-giuliasardiniaandriabarlettatranibarletta-trani-andriacatanzarooristanourbino-pesarocesena-forlìvalle-d-aostacampidano-medio123homepagesiracusatempioolbiasuedtirollombardiaavellinocesenaforlìtrentinofriuli-venezia-giuliabozen-sudtirolandria-trani-barlettabulsan-südtirolbalsan-südtirolmonza-brianzabolzanotrentino-sued-tirolbellunosalernolivornocrotonesondriodnshometrentinsud-tirolmassacarraratrentin-sud-tiroltrentino-suedtirolviterbobergamocesenaforliolbiatempiopalermobeneventoagrigentoofcoorgnetfmaitvphdengorgmilcomschnetedugovperagrikanieasukehandachitatokaiaisaikonanoharuamaobuhigashiuraowariasahiinuyamatobishimaiwakurashitarainazawatoyonegamagorimihamatoyotataharakariyayatomioguchikomakimiyoshinishiotokonamekiyosuchiryutoyohashiokazakiisshikikasugaikotakiratoeianjotogofusosetohazutsushimashinshirotakahamanisshinshikatsuhekinantoyokawaichinomiyatoyoakeodateogataakitaikawakyowahonjoogayurihonjonoshirokamiokakatagamimitanegojomeyokotekosakadaisenkazunonikahohonjyomoriyoshimisatohappoukamikoanihachirogatahigashinarusesembokufujisatokitaakitaitayanagiowanitakkomutsutsurutahirosakigonoheoirasetowadamisawanohejiaomorishingohiranairokunohehashikamitsugarushichinohehachinohenakadomarisannohekuroishisakaeisumiasahiotakiinzaiabikomatsudoyachiyomutsuzawakujukuriomigawakashiwatoganemihamanaritasakuranagaramobarahanamigawachoshishiroichoseikozakishisuikatorimidorichonankyonanfuttsuonjukufunabashinagareyamanodasosatakochuotohnoshourayasukimitsuyokaichibayotsukaidosodegauratateyamakamagayayokoshibahikariyachimatakatsuuratomisatokisarazukamogawaichikawanarashinoichinomiyashimofusaminamibososhirakoichiharaoamishirasatoikatahonaiainansaijoseiyoiyoozuuwajimaniihamanamikatamasakiuchikokihokutobetoonshikokuchuomatsuyamaimabarikamijimakumakogenyawatahamamatsunosabaeikedaobamasakaifukuiohionotsurugamihamawakasaminamiechizeneiheijikatsuyamatakahamaechizensoedaukihaomutaokawanishiogoribuzenonojosueumiokiotochikugosasagurisaigawamizumakishinyoshitomikurumekurateyamadakasuganakamamiyamanogatatakatahakataiizukakawaratagawakasuyaashiyainatsukimunakataminamitsuikishonaikurogifukuchikeisenhigashimiyakoshinguyukuhashiokagakiyamekogaongausuikahotohochuotoyotsumiyawakadazaifuhisayamatachiaraiyanagawanakagawahirokawachikujochikushinochikuhochikuzennamieotamaokumashowateneiiwakikoorinangoononishigoshimogoomotegomishimafukushimaasakawakagamiishishirakawaiitatefutabahiratayugawahanawakitakatakawamatakunimiyabukibandaihigashihironoyamatomiharuyamatsuriaizubangedatesomaaizuwakamatsuyanaizuaizumisatonishiaizuizumizakikitashiobarataishinkaneyamakoriyamainawashirotanagurafurudonosamegawasukagawaishikawatamakawaikedaogakitaruiginanenahashimahichisonakatsugawaibigawashirakawamizunamiminokamomitakekawauesekigaharatomikasakahogikitagatayamagatatajimianpachimotosuyaotsukakamigaharahidakanisekitokigujominogodoyorogifukasamatsutakayamawanouchihigashishirakawakasaharashimonitatsumagoichiyodakannakanrashowameiwakiryuotaoratomiokafujiokaitakuranaganoharahigashiagatsumatakasakishibukawaminakamikatashinatsukiyonokawabanumataannakaoizumimidorishintoisesakiuenoyoshiokakusatsutakayamanakanojonanmokutamamuratatebayashimaebashiotakekaitadaiwahongofuchukuietajimashobaramiharahatsukaichihigashihiroshimamiyoshikumanokurenakasakaseraseranishiasaminamifukuyamashinichionomichiosakikamijimajinsekikogentakeharaotobenanaeikedatohmaozoraobiraabirakyowaeniwataikibibaisharirebunerimohiroooketootarupippunishiokoppechitosefurubirahakodateshiranukakitahiroshimakushiroobihironanporoiwamizawaniikappukunneppufukushimanakasatsunaitoyourakuromatsunaiakabirakamisunagawashibechaurakawakamifuranonakatombetsuasahikawashimokawakayabeokoppebiratoriabashirisaromaatsumanumatahidakabifukamukawamikasahorokanaitoyotomisarufutsuhigashikawaishikarikitamiyoichiesashiiwanaitomariminamifuranoakkeshifuranotoyakoyakumootoineppushikaoishiraoinemuronayorohaboroashorobihororishirifujiutashinaihokutotakasuebetsuurausuassabukikonaishimamakinaiedatetoyabieinikiesanuryuoumuteshikagarikubetsuashibetsukimobetsuaibetsutobetsusobetsuembetsushimizuchippubetsurishirihokuryuhoronobeshintokutsubetsushibetsuhonbetsumombetsutsukigatakuriyamakoshimizushiriuchikutchanmurorannoboribetsukamishihorowassamushinshinotsukembuchiwakkanaikamoenaikiyosatotakinoueshikabesunagawafukagawanakagawatakikawakamikawahigashikagurahamatonbetsumatsumaemoseushirankoshishakotanimakanemashikeotofuketomakomaisandatambaitamiawajikasaiasagoshisoonoakoyashirotoyookaminamiawajiinagawafukusakitakasagokamigorikasugaharimayokawaashiyahimejiakashitaishiaogakisannantakinosumototakarazukanishinomiyashingugoshikinishiwakiyokatakaaioimikisayoyabukawanishiamagasakisasayamashinonsenkakogawaichikawakamikawatatsunotsukubaiwamaogawaasahisakaitokaioaraiitakobandodaigosuifuinaamikasumigaurakashimaomitamayachiyoshimodatetomobetoridehitachinakainashikisakuragawakasamayawaramoriyahitachiomiyanamegatayamagatahitachikamisuushikutakahagiibarakitonekoganakasowayukimihojosomitoryugasakishimotsumafujishirotsuchiurachikuseihitachiotashirosatotamatsukuriuchiharashikahakuinanaotsubatawajimakahokukawakitatsurugikaganominotosuzuuchinadakomatsuanamizunakanotohakusannonoichikanazawaiwateshiwafudaikawaimoriokaofunatohanamakikuzumakikitakamininohekunoheyamadayahabasumitaichinosekitanohatahiraizumirikuzentakatajobojiotsuchihironomiyakoiwaizumikarumaiichinohenodakujitonooshushizukuishifujisawamizusawakamaishikanegasakimannoutazukotohiraayagawazentsujihigashikagawauchinomikanonjisanukimarugamemitoyotakamatsutadotsunaoshimatonoshoakuneamamiizumihiokiyusuikinkoisasookouyamanakatanekagoshimakanoyaisenkawanabeminamitanemakurazakitarumizunishinoomotematsumotosatsumasendaioimatsudaayaseebinamiurazushinakaiodawaraiseharasagamiharahakoneaikawakaiseiatsugitsukuihadanoyamatoyamakitazamaoisochigasakininomiyayokosukakamakuraminamiashigarafujisawasamukawakiyokawahiratsukayugawaraokawaumajikochitsunootoyoakiinonishitosayasudahidakamiharasakawaniyodogawahigashitsunokagamigeiseisusakiotsukinaharisukumomurototosakamiochitoyotosashimizumotoyamanankokunakamurakitagawayusuharaogunichoyoukiasoutoozugyokutoamakusamifunetakamoriyamagaminamataminamiogunikikuchisumotoyamatonagasumashikiaraokumamotokamiamakusanishiharayatsushiroayabeseikasakyoideineujinakagyokameokakyotangokyotanabekyotambaminamiyamashiroyamashinatanabeyawatawazukaminaminantanmiyazuhigashiyamafukuchiyamakitamukokamojoyokizumaizuruujitawaraoyamazakinagaokakyokumiyamakawagoeinabeshimameiwaasahitaikiudonoisetsukisosakikuwanamihamamiyamasuzukatamakimisuginabarikumanokomonominamiisewataraitobakiwatakikihotadomatsusakayokkaichikameyamaureshinoishinomakishichikashukuohirataiwaosakizaohigashimatsushimashikamaiwanumashibataogawaraonagawakawasakiseminemarumoriminamisanrikukakudamuratawakuyatomiyanatoriwataritagajomisatotomekamirifushiroishimatsushimayamamotoshiogamafurukawahyugaebinotsunosaitoayakushimanobeokakitauramiyazakitakazakigokaseshiibamimatashintomikunitomikitakatakobayashikawaminamitakaharukijotakanabemiyakonojonishimeranichinankitagawakadogawamorotsukakisofukushimaminamimakisakaeobuseikedaogawamiasaokayaasahiotakiotarichinoinaomichikumakomaganechikuhokukaruizawayasuokaooshikaikusakaminamiaikitogakushimatsukawakawakamitateshinatakamorikitaaikishiojirimiyadahakubaiizunaiijimaiiyamamiyotasuzakayasakatoguraookuwanagawaminowahirayayamagataminamiminowafujimiomachisakakitakaginaganonakanosakuhokomoronagisoshinanomachiwadauedaiidaharasuwatomiachiaokianankisosakunozawaonsenagematsutakayamashimosuwamatsumotoyamanouchinakagawamochizukiazuminotatsunoobamaomuraseihiunzenosetofutsuikichijiwanagasakiisahayahasamisaikaikawatanasasebohiradokuchinotsugototogitsutsushimashimabarashinkamigotomatsuurayamazoekashibaikomakawaitenrioyodosangokoryoudaojiikarugayamatokoriyamatenkawakatsuragikurotakikawakamimiyakemitsuetakatorikamikitayamayamatotakadahegurishinjokanmakisakuraitawaramotogoseoudanarasoniandokawanishishimoichihigashiyoshinokashiharashimokitayamanosegawayoshinomintsivorytopazsakuragehirnsumomoaseinetopalmail-boxmokurenyoitamuikaojiyagosensanjoaganomyokoseiroagaomishibataniigatanagaokamurakamiuonumayuzawakariwatagamitainaitsunanminamiuonumatochioyahikojoetsuseiroukamosadoizumozakitokamachiitoigawasekikawakashiwazakitsubamemitsukekokonoesaikiusukibeppuusahimeshimakunisakihasamataketatsukumihitaoitahijikusuyufukujukamitsuebungoonobungotakadaibaraniimibizentsuyamaokayamakasaokahayashimayakagemaniwaakaiwamisakishinjotamanotakahashikibichuowakesojanagishookumenannishiawakurakurashikiasakuchisetouchikagaminosatoshotomigusukunakagusukuyaeseizenaurumaiheyaaguniogiminanjokinminamidaitokitanakagusukuyonaguniokinawaishigakikunigamiurasoekadenataramahiraraginozataketomishimojizamamitonakiitomanhigashimotobuyonabarugushikamionnanahanagohaebarukumejimakitadaitonakijinnishiharayomitanginowantokashikiishikawaikedasuitaminohizuminishisakaikananabenodaitoosakasayamayaokishiwadatadaokakaizukatondabayashichihayaakasakakumatorikadomasayamahigashiosakashijonawatehirakatataishimisakitajirihannansennankatanotoyonominatosettsuhigashiyodogawaibarakinosekitachuohigashisumiyoshifujiiderakashiwaraizumiotsutoyonakamatsubaramoriguchiizumisanoshimamototakatsukineyagawahabikinotakaishikawachinaganoyoshinogarikamiminearitaouchiimarihizenogikashimaariakekiyamafukudomikitagatakitahataomachigenkaikanzakinishiaritakyuragisagataratosutakushiroishikaratsuhamatamakouhokukawagoeyoshidasatteogoseirumaasakaurawaogawaniizaomiyayoriiotakishikihonjooganohannohanyuinasaitamaokegawaarakawayoshikawayokozehasudasayamahidakafukayachichibuiwatsukiryokamiyoshimikamiizumifujimiwarabiranzanmiyoshiminanoyashiosakadosugitomisatohigashichichibutodasokakukiyonokazoshiraokakasukabekounosukawajimatsurugashimamiyashirokitamotohatoyamamoroyamahatogayakumagayakawaguchinagatorokamisatomatsubushinamegawatokigawakamikawafujiminohigashimatsuyamakoshigayatokorozawas3isk01isk02ryuohkoseikonanaishorittotakashimamaibarahikonetorahimenishiazaikokagamokotoyasuotsukusatsunagahamamoriyamatoyosatotakatsukinotogawaomihachimanhigashiomiakagiunnanizumogotsuamayatsukakakinokimatsuehamadamasudahikawahikimiokuizumoyasugiyakumomisatotamayuohdahigashiizumookinoshimanishinoshimatsuwanoshimaneshimadafujiedayoshidashimodagotembaiwataatamikosaiyaizuitoizumishimahaibaramakinoharaomaezakikawanehonkannamisusonohigashiizufukuroinumazukawazufujiaraishizuokahamamatsushimizuizunokunimatsuzakimorimachiminamiizunishiizukikugawakakegawafujikawafujinomiyaujiietsugaoyamayaitaohiranikkoashikagakuroisokanumasakurashioyakarasuyamamotegiichikaikaminokawatochigihagamokanogisanobatonasumibunasushiobaranishikatautsunomiyaiwafunemashikoshimotsukeohtawaratakanezawaitanokomatsushimatokushimaichibaminamiaizumiwajikikainanmiyoshinarutomimamugiananmatsushigesanagochishishikuinakagawamachidachiyodakomaefussainagitaitochofufuchuomeotahigashiyamatotoshimaokutamaaogashimakodairaedogawaarakawahachiojishinagawatachikawashibuyasuginamihinodekiyosesumidaoshimanerimamitakahamuraadachinakanomizuhobunkyomegurominatokoganeihigashikurumekokubunjihigashimurayamamusashimurayamatamakitahinochuokotokatsushikakouzushimaogasawaraakishimakunitachishinjukusetagayamusashinohachijoitabashiakirunohinoharachizunanbukotouramisasawakasayonagokogehinoyazutottorinichinansakaiminatokawaharaoyabetairainamiasahinantoimizufuchutakaokakurobeyamadajohanatoyamatonaminyuzenfunahashinakaniikawanamerikawaunazukitogahimiuozufukumitsutateyamakamiichiiwadearidayuasainamitaijikatsuragiaridagawatanabemihamahidakakainankiminomisatoshingushirahamakamitondayurakozakoyagobokitayamawakayamakudoyamahashimotokushimotokozagawahirogawakinokawanachikatsuurarsuseroeoishidasagaeoguniasahinagaitendonanyoobanazawanishikawasakataohkuratozawamikawamamurogawayamagatafunagatatakahatashonaishinjokahokuiideyuzakawanishitsuruokakaminoyamayamanobeshiratakamurayamanakayamakaneyamahigashineyonezawasakegawamitouubeyuuabushimonosekitabuseoshimatoyotaiwakunihikarishunannagatohagihofukudamatsutokuyamashowadoshitsurunanbukoshukaiminami-alpsnirasakikosugeotsukioshinohokutominobuyamanashifuefukichuokofuichikawamisatoyamanakakonakamichitabayamanishikatsuranarusawafujikawahayakawafujiyoshidafujikawaguchikouenohara長野京都岐阜大阪三重群馬千葉滋賀佐賀奈良adednelgaccogogror秋田愛知高知埼玉沖縄栃木熊本岩手青森山梨新潟島根鳥取長崎香川宮城石川大分宮崎茨城山口兵庫山形徳島広島福島福岡岡山富山静岡愛媛福井東京xn--4it168dhatenadiaryxn--vgu402ckawaiishophatenablogcocottenamaste北海道penneehimeiwateversestabachibashigagonnagunmapermahaccaakitaosakauh-ohblushkochiaichifukuikuroncapooitigohyogotokyokyotopunyuthickcheap0t00g00j0mie2-ddaapyawjg0amfemsubxiiboomoobutchueekpgwrgrherskrboyrdyupperunderflierchipsmydnsheavyangryhippygirlyrulez神奈川鹿児島和歌山bambinaxn--nit225kokayamasaitamaxn--k7yn95exn--1lqs03nsapporoparasitelolipopmcxn--efvn9sniigatafukuokatokushimafukushimahiroshimakagoshimafakefurokinawaxn--8pvr4ucoolblogxn--0trq7p7nnkawasakinagasakimiyazakichilloutxn--8ltr62kxn--klty5xpeeweezombiecutegirlxn--rny31hxn--uuwu58axn--ntso0iqx3axn--djrs72d6uytoyamanikitanyantakagawamimozanagoyaboyfriendxn--2m4a15egreaterchowderegoismyamagatafashionstorexn--elqq16hxn--pssu33lsendaimiyagixn--rht27zpecoriaomorisaloonwatsonvivianxn--djty4knobushipigboatnaganopinokoxn--f6qx53asadistvelvetsecretxn--5js045dchicappayamanashiibarakidigickgirlfriendxn--1lqs71dmongolianxn--c3s14mxn--qqqt11mtochigixn--5rtq34kparallelo0o0mondkobesagabonadecaoitanarafoolkilldecimainhiholomosblokilociaoundopupugifutankcrapflopnooroopsmodsholyjeezstripperpepperbittershizuokaxn--rht3dkitakyushureadymadeicurusversusmatrixxn--rht61ehungryfloppygloomycrankyhandcraftedlittlestarxn--klt787dxn--kltx9awhitesnowsunnydaytottorilovepoptheshopbuyshopxn--5rtp49cxn--d5qv7z876cwebaccelxn--kbrq7oxn--4pvxsxn--1ctwolovesickkumamotocatfoodxn--tor131oyokohamawakayamatonkotsuxn--ehqz56nxn--uist22hxn--6btw5axn--kltp7dyamaguchifrenchkisspussycatxn--4it797kxn--uisz3gbabybluexn--zbx025dnetgamersxn--7t0a264ckanagawaxn--6orx2rishikawaxn--ntsq17ghalfmoonschoolbusjellybeanxn--mkru45iusercontentlolitapunkxn--32vp30hsakurastoragehokkaidoshimanecandypopbabymilksupersaleweblikeraindropbackdropwebsozaikikirarahateblodaynightmeneacsccogoormobiinfoaeusxxorgmilcomnetedugovorgcomnetedugovbizinfotmprdorgmilcomnomedugovassnotairespresseassocoopgouvveterinairemedecinpharmaciensorgnetedugovtraorgcomedurepgovmeneperekgacscaiiocogoitoresmshsseoulbusanulsandaeguc01milvkimmvchungnamjeonnamjeonbukeliv-dnsgyeonggijejueliv-cdnincheondaejeongangwongyeongbukgwangjuchungbukgyeongnameliv-apicoeduindorgcomembnetedugovorgmilcomnetedugovjcloudorgcomnetintedugovperbnrinfocooyorgcomnetedugovethipfscanvamypepethw3sstorachakeeneticjoinmcinbrowserdwebcyonnftstoragemyfritzaemewphlxachotelltdorgcomwebsocschngonetintedugrpgovassnomgacsccoorgnetedugovbizinfo123websiteidorgmilcomasnnetedugovconfidmedorgcomplcschnetedugovaccoorgnetgovpresstmassoirseproxaccosoundcasthoptocraftvp4c66orgnetedugovitsmcdirmyboxbarsyedgestacksynologylogintoopencloudnohostwebhopdiskstationi234tcp4hoocgroknoipprivmydsddnsdnsforlohmustransipdscloudfilegear-sgbrasiliafilegearframerbarsybarsyonlinecoprdorgmilcomnomedugovinforgcomnetedugovnameacprorgcomartnetedugovpresseinfoassoinstgouvorgnycedugovbarsydscloudjuorgcomnetedugovminisiteaccoororgcomnetgovorgmilcompronetintedugovbizmuseumnameinfoaerocoopaccoorgcomnetintedugovbizcooporgcomgobneteduorgmilcomnetedugovbiznameaccoorgmilneteduadvgovcoorgcomnetaltgovforgotherhiskeeneticispmanagernomassoprod5476132eastasiacentraluswesteuropewestus2eastus2pnortheurope-01newzealandnorth-01southindia-01southcentralus2-01norwaywest-01eastus2-01westus2-01australiaeast-01italynorth-01israelnorthwest-01swedencentral-01westeurope-01centraluseuap-01taiwannorthwest-01uaecentral-01northcentralusstage-01israelcentral-01mexicocentral-01canadacentral-01austriaeast-01germanywestcentral-01francecentral-01ukwest-01denmarkeast-01polandcentral-01eastus-01westus-01swedensouth-01eastus3-01westus3-01brazilsouth-01centralus-01francesouth-01australiacentral-01westindia-01uaenorth-01jioindiacentral-01canadaeast-01belgiumcentral-01spaincentral-01koreacentral-01chilecentral-01qatarcentral-01westcentralus-01eastus2euap-01norwayeast-01southafricanorth-01brazilsoutheast-01germanynorth-01switzerlandnorth-01switzerlandwest-01japanwest-01southafricawest-01japaneast-01eastasia-01indiasouthcentral-01taiwannorth-01centralindia-01uksouth-01southcentralus-01northcentralus-01eastasiastage-01indonesiacentral-01australiacentral2-01australiasoutheast-01malaysiawest-01koreasouth-01southeastasia-01southeastus5-01northeastus5-01jioindiawest-01rucdnwest1-usfra1-desandboxjls-sto1jls-sto3jls-sto2aglobalabglobalsslmapprodfreetlsmapvpslon-1lon-2ny-1fr-1sg-1ny-2paassnwebpaashostingjelasticnordeste-idcsocuserpagescwebfileblobservicebuscoreatlricnjsjelasticwebsitestoragesezagbinruhuukjptsmyspreadshopmynetnameakamaiorigin-stagingfrom-coipv64dynv6cdn77serveblogadobeaemcloudhicamsprytdnsupno-ipownipde5ovhicpfirewall-gatewaysytesmypsxbarsyusgovcloudapimyamazemyradwebakamaihdsaveincloudfastlylbfrom-lasubsc-paysquare7in-the-bandblackbaudcdnhomelinuxoninfernoctfcloudservebbsdns-dynamiccloudfrontakamai-stagingipifonyham-radio-opsenseeringclickrisingcommunity-profrom-nylocalcertgrafana-devedgesuite-stagingcloudflareanycasteating-organicatlassian-devmydattofeste-iplocaltotorprojectknx-serveredgekeycloudflareglobalcloudyclustercasacamserveftpakamaized-stagingakamaiorigindns-cloudmyeffectboomlabotdashbuyshousestwmailhetemlazure-mobilein-dslthruhereredirectmedynuddnsbouncemesupabaseluyanicloudappakamaicloudfunctionsdebiannhlfanpgafanstatic-accessin-vpnmysynologymafeloappudohomeftptrafficmanagersiteleafseidatmemsetcloudflarecloudaccesskeyword-onazure-apiis-a-chefdoes-itgets-itwebhopselfiphomeipkicks-assedgesuitewindowsserver-ontunnelmolemydissentscrapper-sitecloudflarecnuni5srcfggffiobbzabchrsndenodynuopikddnsvpndnsakadnselastxkinghostvps-hostfastlyhomeunixazureedgeshopselectdontexistmyfritzcloudjiffyalwaysdatasells-itsquaresbroke-itazurefddattolocalat-band-campmeinforumfamilydsazurestaticappsdefinimabplaceddnsaliasdynaliasnow-dnsblogdnsroutingthecloudendofinternetdsmynasakamaiedgemymediapcadobeio-staticakamaiedge-stagingakamaihd-stagingddns-ipprivatizehealthinsurancelive-onkrellianschokokeksmassivegridmysecuritycamerarackmazeserveminecraftfrom-azis-a-geekakamaizedmoonscaleoffice-on-theusgovtrafficmanageradobeioruntimeedgekey-stagingreserve-onlinechannelsdvrdnsdojousgovcloudappcdn77-sslapps-1and1podzoneazurewebsitesdynathomescaleforceyandexcloudvusercontentisa-geekcdn-edgescoaemalcesappwriteazimuthtlonarvobuiltwithrocketnoticeablestorecomwebrecnetperotherfirminfoartslgdloncogoiltdorgmilcolcomplcschgenngonetedugovbiznamefirmmobiacincoorgmilcomnomwebgobnetintedubizinfocomyspreadshopdemongovtransurl123websitehosting-clusterkhplaycistrongsnesosvalervålerxn--vler-qoaossandeheroysandeherøybøboheroyherøyxn--hery-iraxn--b-5gavalerbøboxn--b-5gasandesandexn--hery-iraxn--vler-qoavålerhåreålaahavaofsfvfhlolnlalrlhmfmtmahcostntbuåstrmreigersundmyspreadshopgálsáeidsvolltingvollgildeskalflorøvadsøvardøvanylvenxn--bhccavuotna-k7astrandaxn--kvnangen-k0axn--sknland-fxaxn--mosjen-eyarakkestadhyllestadnannestadvevelstadvaapstenordre-landsondre-landsøndre-landtjieltexn--vrggt-xqadsør-aurdalsor-aurdalheradstordmoldefordeførdeseljefedjeryggehemnexn--krehamn-dxasognegranesøgnebrynetjomevallebykletokkegiskedovretjømehobølvoldasaudatolgasømnaviknadønnasomnadonnatranafrananesnaraumasmolatrænafrænalesjasmølaørstaorstahitrafloraaukraloppafrøyarissasnasahalsagalsaromsaraisaráisafroyasnåsagronghobolfjelltydalårdalardalaskimharamkraanghkekråanghkesorumbarumhurumbærumsørummodumsálátbálátfrognbjugnvåganvagangulenskienløtenlotenstrynvefsnxn--merker-kuaskaunsveiobømlobomloskjåkvardoflorovadsosalatbalatsálatklæbuklabuselbubarduulvikskjakklepprisørxn--nttery-byaeflåeidflahofmilgolholsellomskifetvikdepvgsfhsaskerrisorhamarasnesåsnesrørosrorosxn--slat-5namasoynaroyvaroyluroydyroyaskoyradoyandoyrodoymeloyradøyandøyrødøymeløyaskøylurøydyrøymåsøyværøynærøyhoylandethøylandetdivtasvuodnalørenskoglorenskognesoddtangenxn--tjme-hraxn--smla-hraxn--stjrdal-s1aunjargalillehammerunjárgaxn--hamary-fyadavvenjargaxn--bearalvhki-y4a123hjemmesidegjerdrumxn--brnnysund-m8acxn--tnsberg-q1axn--mlatvuopmi-s4axn--snsa-roaxn--skierv-utaxn--brum-voatysfjordkvafjordeidfjordkvæfjordsongdalenmjondalenmjøndalenxn--gls-elackragerogáŋgaviikagangaviikasørreisasorreisasør-varangersor-varangerxn--risr-iraskiervaxn--frna-woaxn--trna-woakvinesdalleksvikleirvikrøyrvikroyrviksvelvikvenneslaevje-og-hornnessandnessjøenmarnardalvindafjordsandefjordenebakksnillfjordullensvangxn--trany-yuabrønnøysundnamsskoganaustevollxn--stjrdalshalsen-sqbnord-aurdalnord-frontrøgstadtrogstadgrimstadflakstadgjerstadxn--sandy-yuaxn--leagaviika-52bnore-og-uvdalvegarsheixn--rlingen-mxaxn--ggaviika-8ya47hvegårsheikarlsoykvitsoymasfjordenhamaroyinderoyosteroydavvenjárgasauheradguovdageaidnuxn--vre-eiker-k8abronnoysiellakkrødsheradkrodsheradkvinnheradbrønnøyxn--mtta-vrjjat-k7afxn--lrenskog-54akvitsøyvárggátkarlsøyosterøyinderøyhamarøybronnoysundxn--aurskog-hland-jnbbahccavuotnabáhccavuotnagiehtavuoatnastor-elvdalmidtre-gauldalxn--gildeskl-g0akarasjokevenassixn--bievt-0qaxn--yer-znalebesbynessebyxn--hbmer-xqamalselvmålselvxn--unjrga-rtamøre-og-romsdalmore-og-romsdalhareidmelandørlandorlandstrandålgårdsolundalgardafjordåfjorddielddanuorrikautokeinoxn--stre-toten-zcbskodjeaejriestangeliernebamblestokkefauskesnåasesnaasekongsvingerlangevagberlevagxn--flor-jrahattfjelldalostre-totenøstre-totenvestfoldxn--mely-iraálaheadjualaheadjunordreisaxn--troms-zuaxn--lgrd-poacporsangerflatangerstavangerleikangerbremangersamnangergieldakarasjohkaxn--rdy-0nabfrostautsirasnoasatromsaxn--sr-aurdal-l8aflekkefjordjølsterjolsteraremarkhedmarknååmesjevuemienaamesjevuemiexn--vard-jrarollagmeråkermerakerorskogørskogxn--bdddj-mrabdákŋoluoktaxn--osyro-wuaaknoluoktatrysilskjervøymandaljondalbindalrindalmeldalsuldalorkdalsigdalalvdallærdalhurdalsirdalverdallerdallardaloppdalåseralaseralhadselkragerødivttasvuotnaoverhallasteinkjerxn--hnefoss-q1askedsmokorsettromsøxn--dyry-iravestre-totenmuseumxn--sandnessjen-ogbrahkkeravjufylkesbiblbájddarbajddarxn--laheadju-7yarennesøyxn--koluokta-7ya57hxn--hgebostad-g3aleirfjordstorfjordbalsfjordbåtsfjordbatsfjordmuosátbievátloabátkárášjohkanøtterøyxn--mjndalen-64anordkappláhppilahppialstahaugsiljanverranrøykenroykenhaldenlyngenbergenhortenhønefosshonefosstroandinbeiarnvarggatosoyroosøyrotromsoidrettmuosatbievatruovatloabatvoagattynsetnessetxn--indery-fyaskánitskanitraholtråholtxn--ystre-slidre-ujbandebusarpsborgbearduxn--karlsy-fyahordalandjorpelandjørpelanddeatnuringsakersør-odalsor-odalxn--slt-elabringerikeaudnedalnittedalnissedalhemsedalslattumsurnadalxn--blt-elabelverumstjørdalnaustdalhjartdalgjøvikfyresdalhasviknarviklarvikgjovikmalvikgamviklenvikporsgrunnstjordalengerdaldrobakdrøbakxn--msy-ula0hvestvagoyxn--vgan-qoaxn--ryken-vuaxn--lten-graxn--stfold-9xaxn--hpmir-xqaxn--lury-iramálatvuopmimalatvuopmitysværkirkenesbirkenesmoskenesbáidárxn--fjord-lraxn--rdal-poabahcavuotnabáhcavuotnaxn--frde-gralindåsbearalvahkixn--hobl-iraráhkkerávjuxn--loabt-0qavågåáltábodøsundlundraderådeetnetimeholeauregrueoddavagavegaranatanaarnasolasulaaltalekafusavangbergkvamåmliamlibokntinnroangranosenoslobodorøstroststatåmotamotivguprivøyeroyerliermossvossxn--nvuotna-hwalusterlunnermarkerhábmerhabmerhvalerfjalerxn--rholt-mratysvarbaidarfitjargaularhápmirhapmirmelhusfosnesøksnesoksnestysneshemnesevenesflesbergeidsbergtonsbergtønsberglindasxn--sndre-land-0cbnamsosxn--srum-graøystre-slidreoystre-slidrevestre-slidretrondheimbalestrandxn--langevg-jxaaustrheimxn--skjk-soavagsoyaveroysandoykarmoyfinnoytranoyvestbytranbysykkylvenxn--hyanger-q1aspjelkavikandasuoloxn--fl-ziaxn--drbak-wuastathellexn--sr-varanger-ggbtelemarkxn--bhcavuotna-s4axn--porsgu-sta26fčáhcesuolocahcesuoloakrehamnåkrehamnsandøykarmøyfinnøytranøyvågsøyaverøynamdalseidxn--lesund-huabadaddjaxn--vegrshei-c0axn--btsfjord-9zagildeskålporsanguxn--trgstad-r1anávuotnanavuotnahammerfestxn--sgne-graxn--brnny-wuacibestadharstadnarviikaevenáššivestnesgjemnessandnesagdenesrennesoyxn--avery-yuaxn--tysvr-vrabearalváhkikongsbergspydebergrandabergxn--andy-iradavvesiidaxn--krdsherad-m8aporsáŋgufredrikstadbjerkreimringeburennebuaurskog-holandnotteroyxn--vgsy-qoa0jxn--rmskog-byaskierváivelandbyglandfrolandaurlandforsandxn--bjddar-ptamidsundålesundalesundfetsundfarsundovre-eikerøvre-eikerakershusxn--moreke-juasørfoldøstfoldostfoldsorfoldhøyangerhoyangerlevangerorkangertanangerxn--vestvgy-ixa6olillesandulsteinxn--rennesy-v1agranvinskjervoyxn--klbu-woalavagisxn--h-2faxn--ryrvik-byakafjordkåfjordseljordfolkebiblxn--gjvik-wuajevnakerxn--kfjord-iuabudejjuxn--kranghke-b0axn--davvenjrga-y4axn--rland-uuaxn--ldingen-q1axn--mlselv-iuaxn--rady-iraxn--linds-prabrumunddalxn--ygarden-p1amo-i-ranaeidskogrømskogromskoghjelmelandxn--finny-yuaxn--sr-odal-q1axn--skjervy-v1aballangenkvanangenkvænangengratangenxn--hmmrfeasta-s4acvossevangensuohkanxn--rde-ulaxn--mli-tlaxn--ksnes-uuanordlandskanlandskånlandsortlandfuoiskuxn--rros-graxn--hcesuolo-7ya35bxn--eveni-0qa01gagaivuotnagáivuotnaxn--seral-lradrammenmodalenmosjoenjan-mayentorskensteigengloppenxn--snes-poamatta-varjjatxn--sr-fron-q1aomasvuotnajessheimbådåddjåxn--krager-gyaxn--kvfjord-nxaxn--asky-iraxn--snase-nraxn--bidr-5nacholtålenxn--vads-jraxn--jlster-byamosjøenxn--rst-0nastavernxn--ostery-fyaxn--oppegrd-ixaxn--sknit-yqaxn--risa-5naoppegårdskiptvetrendalenholtalenxn--mot-tlaxn--lhppi-xqaxn--holtlen-hxaxn--srreisa-q1akopervikxn--muost-0qaxn--bmlo-grahokksundkvalsundegersundxn--karmy-yuaullensakerxn--hylandet-54axn--kvitsy-fyaxn--bod-2nalangevågberlevågkristiansandxn--rsta-frahornindalstjørdalshalsenstjordalshalsensandnessjoenhámmárfeastaxn--lrdal-srasør-fronsor-fronnord-odalkristiansundmátta-várjjatvestvågøynesoddennotoddenbuskerudøygardenoygardensalangenlavangenralingenrælingenlodingenlødingenleaŋgaviikalaakesvuemieleangaviikauenorgexn--srfold-byaaskvollxn--rskog-uuaxn--nry-yla5gxn--vry-yla5ghammarfeastaxn--rhkkervju-01afxn--givuotna-8yakommunekrokstadelvanedre-eikerhagebostadhægebostadxn--berlevg-jxakviteseidxn--s-1faxn--l-1faxn--nmesjevuemie-tcbafuosskomoårekemoarekexn--lt-liacxn--jrpeland-54asvalbardoppegardholmestrandtvedestrandsogndalsokndalarendalsunndalfolldalxn--krjohka-hwab49jlyngdaletnedalnorddalsaltdalgausdalskedsmovaksdalgjesdalstordalxn--frya-hraaarbortedrangedalxn--smna-graaurskog-hølandxn--vg-yiabtjeldsundhaugesundlindesnesxn--mre-og-romsdal-qqbxn--dnna-gradyntmpheremerseineshacknetenterprisecloudmineaccomaorimāoriorgmilcriiwigennetschoolhealthkiwigovtgeekxn--mori-qsacloudnsparliamentcomedorgcompronetedugovmuseumwebsitekinservicebarsywebsitebuildereerobookheimdnsleapcelleero-stagetechcrscsslorigingohomecdbedeeeiemesecabgngilnlalplchfisiincnnoroptatitmtltruauhulumkdkukskjplvtrgrfrkrhrusesismycynzcznetinteduassoososcloudstgbetaaezaeuhkusjshatenadiarycdn77hoptozaptois-a-knightmyftpno-ipjpnddnssdpdnsspdnsbarsysweetpepperis-a-bruinsfanis-very-sweetservegameis-a-soxfanhomelinuxcdn77-secureservebbsmisconfusedwebredirectblogsitefreedesktopcouchpotatofriestoolforgeaccesscamis-lostreadmyblogsmall-webfedorapeopleserveftpis-a-celticsfanmywirepotagertwmailin-dslsellsyourhomeread-booksfreeddnscable-modemis-savednflfanufcfanmlbfanstuff-4-saleendoftheinternetin-vpnmy-firewallhomeftpis-localis-a-chefboldlygoingnowherewebhopselfipkicks-assroxatunkcamdvrfedoraprojectgotdnsdvrdnsdyndnspubtlspimientahomeunixdontexistfedorainfracloudwmflabsfspagesbmoattachmentsteckidsfamilydsdnsaliasdynaliasnow-dnscloudnsdoomdnsduckdnsblogdnshomednsroutingthecloudendofinternetdsmynasip-dynamicpoivronhttpbinmyfirewallis-very-evilmysecuritycamerais-a-linux-userwmcloudis-a-geektuxfamilyis-a-candidatedoesntexistis-very-badhobby-sitegame-hostaltervistais-foundis-a-patsfandnsdojohepforgepodzonedynservcollegefanis-very-goodfrom-meis-very-niceisa-geeknerdpolacmedsldingorgcomnomgobabonetedupleskaemhlxmyboxrockyprvcydeuxfleurspdnscodebergheyflowstatichostorgmilcomnomgobneteduorgcomeduiorgmilcomngonetedugovcloudns1337ngrokacorggogfamcomwebgobnetedugokgopgkpgovgosbizpasaugumicsopozpapuwmwsrprusiskwpspkppspkmpspokeoiawsawifoumsdnskokwpmuppuppsppiwwiwoowuzswkzoschrzpisdnwzmiuwwitdpssewsseumigugimoirmpinbwinbwiihupporzgwgriwupowwskrwioswuozstarostwokonsulattmpccopruszkowmyspreadshopostrodakartuzyopolegminamediaustkazgorajgoraolawailawalomzawloclradombytomjaworznotargilubinkoninzagantorunkutnokepnonakloczestsopotsanokturekplockslasksklepzarowlukowmedaidgdaorgmilrelcomnomatmgsmartneteduelkgovwawsossexbiztgorysejnytychypomorzeboleslawiechomesklepsdscloudunicloudzakopanelegnicarawa-mazbydgoszczswidnikkrasnikwloclawekbielawamragowograjeworealestatebeskidykaszubymalopolskaprzeworskswiebodzinlecznadfirmaszkolawarmiagdyniamiastakazimierz-dolnymalborkswidnicadlugolekaostrolekapodlasieelblagtravelsimplesitezachpomormielecszczecinnieruchomosciwalbrzychlezajsklublinbedzinpoznanwielunmielnooleckostarachowicedkontopowiatwroclawrybniksuwalkileborkslupskgdanskostrowwlkptarnobrzegtourismwegrowkrakowglogowyou2pilanysamailwrocinfoagroautobeepshoppriviqhslapypiszlodzcfolksecommerce-shopmazurypulawyskoczowrzeszowpomorskiezgierzkaliszolkuszlowiczostrowiecsosnowiecmazowszewodzislawbialowiezazgorzeleckatowicepabianicejelenia-gorawolominkarpaczsieradznowarudaczeladzkonskowolaskierniewiceswinoujscieturystykabieszczadycieszynketrzynolsztynbialystokbabia-goraprochowicewarszawastalowa-wolapolkowicegorlicegliwiceponiatowalimanowalubartowaugustowkobierzyceopocznognieznoszczytnokolobrzegshoparenapodhalebielskoklodzkostargardatwithplayitownnamecoorgnetedugovacorgcomproestnetedugovbiznameislaprofinforechtngrokmedaaaacacpaenglawjurbarbarsykeeneticavocatacctcloudnsorgcomsecplonetedugov123paginaweborgcomnetintedugovnomepublidkinbarsygovx443cloudnsorgmilcomnetedugovcooporgmilcomschnetedugovnamecomcannetlibassoaemclantmcontstoreorgcomnomrecwwwbarsyfirminfoshopartsstackitmyddnswebspacelima-cityacincooxorgedugovbarsybrendlyhbvpsvpsspectrumlandinghostingacppmordoviamcprecbgorgmilcomspbnetintedumsknovgovbirrasmcdirmytismircloudvladimirnalchikadygeyamarinepyatigorskmyjinobashkiriaeurodirvladikavkazna4ugroznykustanaikalmykiacldmaildagestaniranbuildcloudcanvaliaravalwixdevelopmentappwritemigrationneedleverceldatabasestackitcodereplravendbonporterlovableaccoorgmilnetgovcoopmedorgcompubschnetedugovservicemecomygovorggovtvmedorgcomnetedugovinfoedgfacbmlonihkutwpsryxzbdtmacfhppmyspreadshopbrandpartiorgcomfhvpress123minsidaitcouldbeworlanbibkommunalforbundfhskiopsyskomvuxkomforbnaturbruksgymnloginlineorgcomnetedugovenscaledeuusentsurgebotdaorgmilcomnetgovnowteleporthashbangplatformlovablebarsyshopwarebasehoplixbarsyonlinemsf5gitappgitpagewawamscofigma-govcaffeinefigmacanvasoltstscwputerbarsysupportchatgptsquareomniweopensocialcpanelplaycodenotionnovecorewpsquaredpreviewjelecyonbyensrhtfastvpspieboxconvexjouwwebheyflowplatformshloginlinemadethissourcecraftclouderaorgorgcomartedugouvunivmeorgcomnetedugovsurveysstatichfheiyuxs4allprojectmyfastubervibehostapp-ionosdeployagentmecoorgcomschnetedugovbizcncostoreorgmilcomneteduembaixadaconsuladokiraranohoprincipesaotomeheliohobarsystorebaseshopwaresellfyaiabkhaziavologdamordoviapenzalenugsochinavoiexnetspbmsknovnorth-kazakhstanashgabadkareliaarmeniageorgiavladimirnalchikivanovobukharaadygeyakhakassiakalugakrasnodarjambylaktyubinsktroitskbryanskobninskkurganazerbaijanpokrovskbashkiriatselinogradvladikavkazmurmansktulatuvamangyshlaktashkentchimkentgroznykaragandatermezarkhangelskkustanaikalmykiabalashoveast-kazakhstankaracoldagestantogliattibarsyredorgcomgobedumirenknightpointaccoorgjelasticdiscoursecleverappsschacmiincogoornetonlineshopcogoorgmilcomwebnicnetintedugovbiznametestcoorgmilcomnomnetedugovorangecloudpersoindorgcomfinnatnetgovensmincomtourismintlinfox0611oyaorgmilcomnetedugovquickconnectvpnplusnettprequalifymeaddrmyaddrntdllwadlnctvavdrk12orgmilpolbeltelcomwebgennetedutskkepgovbbsbiznameinfocoorgmilcompronetedugovbiznameinfobetter-thanworse-thansakurafromdyndnson-the-webmymailerorgmilurlcomneteduidvgovmydnsgameclubebizmeneacsccogotvorhotelmilmobiinfovodteiflgplkmsmsbcckhincndnvncoztltmkckppzpdprvcvkvlvcrkrkscxuzchernovtsyrivneyaltaodesavolynrovnolutskltdinforgcomnetedugovbizvinnicazhitomirternopilpoltavakropyvnytskyizaporizhzhiasevastopolsebastopoluzhgoroduzhhorodkharkovkharkivvinnytsiakhmelnytskyizaporizhzhecrimeaodessazhytomyrnikolaevcherkassydonetskluganskluhanskkirovogradivano-frankivskchernivtsikrymkievkyivlvivsumyzakarpattiamykolaivcherkasychernigovkhersonchernihivdnipropetrovskdnepropetrovskkhmelnitskiyneacsccogoorusorgmilcomedugovmyspreadshopadimono-ipbarsybarsyonlinelayershiftnh-servretrosnubapicampaignservicelugaffinitylotteryweeklylotteryraffleentrygluglugsmeaccoindependent-inquestnimsitecopropymntltdorgplcschnetgovnhsbarsyindependent-commissionindependent-reviewpolicepublic-inquiryindependent-panelconnhospindependent-inquiryroyal-commissionoraclegovcloudappscck12libaws-govccphxcclibpvtparochchtrcck12libcceatonk12coglibtecgendstmusann-arborwashtenawcck12glghcck12sealibforksolympiabainbridge-islkeyporthoquiamyarrow-pointcentraliaport-townsendsequimport-ludlowrentonsilverdalebremertonredmondsheltonbellevueport-orchardport-angeleskingstonchehalisaberdeengig-harborseattlepoulsboidmdndsddemenegacalamaiavawapailalflnmdcncscohnhmihiviwiriinmntnmocoutvtctmtgunjokakwvnvprarorasmskstxwynykyazisadninsnngosrvis-bymircloudservernamepointtoenscaledland-4-salefreeddnsstuff-4-saleazure-apinoipdatabricksappscloudnsgolffanheliohostazurewebsitesgvorgmilcomgubneteducoorgcomnetd0egvorgmilcomnetedugovmydnsiacostoree12orgmilcomnomwebgobbibrectecnetintedugovraremprendefirminfoartseducok12orgcomnethidnsidacaiiosonlahanamhanoicamauhueorgcompronetintedugovbizbacninhtayninhhoabinhnamdinhtravinhhaiphongvinhlonghaiduongquangnamquangtrithuathienhuequangninhbacgianghaugiangquangbinhsoctrangbentrethanhphohochiminhdanangkontumhatinhkhanhhoathanhhoahealthgialailaocaiyenbaibackanngheanlonganphuyenphuthocanthodaklakdongnainameinfovinhphucdongthapkiengiangtiengiangquangngailaichaulangsonlamdongdaknonghagiangangiangcaobangbinhduongninhthuanbinhthuanbaclieuthaibinhninhbinhbinhdinhtuyenquanghungyenbaria-vungtauthainguyendienbienbinhphuocschbizputerimagine-proxyorgcomnetedugovcloud66advisormypetsdyndnsxn--8dbq2axn--4dbgdty6cxn--5dbhl8dxn--hebda8bxn--80auxn--d1atxn--c1avgxn--o1acxn--o1achxn--90azhxn--55qx5dxn--uc0atvxn--od0algxn--wcvs22dxn--gmqw5axn--mxtq1mxn--12c1fe0brxn--h3cuzk1dixn--12co0c3b4evaxn--12cfi8ixb8lxn--o3cyx2axn--m3ch0j3axn--j1adpxn--90amcxn--90a1afxn--h1ahnxn--j1ael8bxn--h1alizxn--c1avgxn--j1aefxn--80aaa0cvacxn--41acaffeineexeopentunnelbotdashtelebitorgtmaccoagricorgmilnomwebnicngonetaltedugovlawnisschoolgrondaraccoorgmilcomschnetedugovbizinfoprg1-zeropstritonstackitlimazeropsaccoorgmilgovяспборгкоммскбизмирсамаракрымсочиакодпроргобрупрצהלממשלישובאקדמיהองค์กรธุรกิจรัฐบาลศึกษาทหารเน็ต教育網絡組織公司政府個人닷넷한국澳门新闻澳門联通家電嘉里招聘通販닷컴삼성コムგეбгрфеюadcdbdgdidmdsdtdaebedeeegeiejekemenepereseveyegabacalamanauavapaqasazacfbfafgfnfpfwftfbgcgagggegkgngmgsgpgvgtgugilmlnlalclglplsltlhmimjmkmmmomambmcmdmfmgmzmpmsmtmgbbblbsbecccacnclcmcvctcscmhkhghchbhthphshlinikifigiaibicivisikninhnmncnbngnsnpnvntnjoionomobocoaofodorosotoptstttytatbtetgtithtmtltrusuvuaucueuguhulumunufjdjbjtjsjlkmkhkfkdkcktkukskpkgpmpnpkpjpgqaqmqiqsvtvcvbvmvlvrwpwtwzwbwcwawgwkwmwtrsrprgrfrercrbrarnrmrlrkrirhrwsusrssspsgsesbsaslsmsissxmxaxcxuypysylymykygybycyuztzsznzmzkzdzczbzazελευ世界台灣购物公益点看臺灣网络書籍在线网站手机机构大拿游戏信息台湾谷歌慈善商标香港中国餐厅网址中國商城食品微博政务移动集团公司八卦商店健康网店政府时尚佛山中信娱乐广东企业homedepotengineeringاماراتrepublicankuokgroupversicherungchannelcitadelxn--pgbs0dhxn--b4w605ferdstatebankwebsitexn--mgb9awbf亚马逊淡马锡alibabaxn--ngbc5azdxn--mgbbh1axn--45br5cyltoshibabuildworldcloudtradeguideplacespacedancemoviephoneprimesmilebiblestyleappleazurestoreskypegripexn--l1accdrivelottehorsehouseleasechasereisestadahondaomegaaetnaamicaninjanokiamediadeltavodkaedekaosakapizzaslingemailgmailtirolshelltmallfinallegaltotalhotelamfamforumrehabmusicciticricohcoachwatchboschearthfaithirishmiamiarchidubaiguccipraxiみんなストアセールcanonsalononionnikonepsonkoelngreensevencrownikanoradioaudioweiboglobopromogalloyahoociscorodeovideomangobingotokyovolvolottokyotophotosmartsportquesttrusthyattjetztadultcymrubaidutushuxn--kprw13dubankclickblackmerckgroupsharpcheapnowtvxn--h2brj9cקוםհայоргсрбмонкомбелмкдқазрусукрمصرقطرعربكومdadcfdmedwedredphdthdbidpidkrdmsdltdiceonewmeglemoerwecfageacbanbambaaaammakianraspacpaaxawtfbcgaegongingaigvigorgdogdhlmilrilonlaolloluoljllcalgalnflafltelsrlfrllplkimibmcamcombommomifmabbjcbscbwebcabnabtabmlbpubabcbbcnecincpncllcstcwtcpwcnyckfhbzhovhmoiskiobisbitcifyituipinvinwinxincbnbcnmanfangdnmenrenkpnmtnyunrunfununobiojioriohbogmofooboooooacoecoceongoproartistottnttbbtcateatlatvetpetbetnethktmitfitintjothotgotdotbotprueduicujnjyouinknhktdkappsapgapmapdnptopgopllpjmpzipvipripesqtrvdtvitvdevmovgovhivnrwlawsewnewbmwwownowhowdvrftrmtrsfrbarcartvscrseusawsupsubssbsadsddsldssasbmsmlsxxxboxfoxgmxtjxsextaxbuyflydiysoyjoyskypaydaygayxyzanzbizwebersenerpokerlameractortatarsolarລາວคอมไทยtourslocusnexuslexusgiftsbeatsboatspartspressglassswissकॉमनेटtiresgivescodeshomesgamestunesshoescardswalesloansvegastoolsdealsautosparisファッションworkssucksrocksxeroxforexfedexpartylillymoneystudyrugbytoraytoday中文网xn--unup4y天主教飞利浦新加坡enterprises我爱你嘉里大酒店christmasxn--fct429kholdingsxn--8y0a063axn--mgbx4cd0ablifestyleabogadoallstatenetbankكاثوليكxn--s9brj9cxn--gk3at1ebestbuycharityxn--55qx5dmicrosoftpropertybasketballhomegoodscorsicajewelrygallerygrocerysurgerycountrybrusselsverisignferreroxn--czr694bhdfcbankcommbanksoftbankپاكستانپاکستانnextdirectالسعوديهالعليانxn--h2brj9c8cxn--80adxhksshikshaxn--mgbai9azgqp6jcuisinellabarclayscatholicxn--kpry57dcompanyxn--xhq521bblackfridayxn--mgba3a3ejtsandvikxn--d1acj3bacademydownloadمليسياxn--j1amhxn--w4r85el8fhu5dnraipirangaathletaxn--fhbeixn--mgbqly7cvafrzuerichxn--c2br7gஇலங்கைcontractorsxn--io0a7igraphicsinsurancetemasekxn--xkc2al3hye2amotorcyclesphotographydirectoryplumbingxn--vhquvclothingtrainingcleaningwilliamhilllightingxn--mgba3a4f16ashoppingcateringeducationokinawapicturesventuresproductionsxn--9et52uwalmartഭാരതംsupportrealestatecapitalonexn--nqv7fs00emaauspostfloristdentistxn--qxamgodaddybradescobargainsmitsubishikerryhotelsxn--9dbq2axn--3pxu8kimmobilienxn--fjq720axn--mgbtx2bholidaymckinseymadridbusinessbuildershelsinkixn--4gbrimмоскваالسعودیةcoffeedegreelacaixapartnersalsaceofficeabbvievoyageorangegeorgeonlinechromemobilekindlegoogleoraclecircleschulesecureinsurexn--mgba7c0bbn0aestatexn--mgbc0a9azcgcruisehangoutxn--vuq861bxn--42c2d9arexrothfirestoneuniversityxn--nnx388alifeinsuranceextraspaceонлайнvermögensberatersoftwarexn--fiqs8sxn--mgbab2bdxn--w4rs40ltiendaभारतम्africatoyotaotsukasakuracameracreditcardnagoyaconsultingnetworkjunipertheatermonsterprogressivepioneerxn--55qw42gracingdatingvotingvikinglivinggivingxn--bck1b9a5dre4cbrotherweatherjoburgفلسطينlplfinancialxn--clchc0ea0b2g2a9gcdfutbolschoolsocialglobaldentalwoodsidechanelairtelmatteltravelrealtorwebcamstreamభారత్unicomalstomxn--nodexn--6frz82gmuseumfurniturexn--rvc1e0am3exn--mix891faccenturexn--11b4c3dismailineustardiscountquebeccomsecclinicservicesxn--y9a3aqxn--c1avgswatchchurchsearchالاردنmarketingcontacthealthmonashshoujisanofitaipeiamericanexpresssuzukiアマゾンクラウドポイントbhartiグーグルxn--mgberp4a5d4armemorialxn--1qqw23alondonmormoninstitutevisionbostonnortoncouponmaisonamazonvirginberlindesigndurbanolayannissananquanxihuanhitachikaufengardenreisenbayerntechnologydatsunxn--90a3aclatinocasinostudiophysioxn--ngbe9e0apharmacytattootaobaoaramcoexpertreportabbottdirectselectimamatfairwindspictettargetmarketintuittravelersinsurancecreditdupontryukyusuppliesxn--tckwebnpparibasschmidtmerckmsdyodobashirestaurantbridgestonecricketxn--fpcrj9c3dbostikbroadwayattorneylefrakemerckxn--fiq228c5hscareersfarmerswinnersflowersxn--wgbh1cguitarsxn--54b7fta0ccxn--p1acfmakeupgalluplandroverxn--kcrx77d1x4agoldpointbauhausxn--mgbayh7gpahiphopplaystationxn--mgba3a4fraxn--eckvdtc9dhyundaixn--gckr3f0fistanbulticketsmarketsflightschintaireviewsxn--3e0b707ewindowsxn--fiqz9sfinancialxn--fzys8d69uvgmابوظبيdiscoverreviewবাংলাxn--5su34j936bgsgmoscowobserverapartmentsдетиارامكوсайтeurovisionxn--i1b6b1a6a2exn--xkc2dl3a5ee0hتونسموقعبارتڀارتشبكةعمانبيتكعراقreadkredbondlandbandfundfoodprodgoldfordtubecafesafelifeggeeieeefreefagepagegugezonewinememenamegamesaleablebikenikelikecarecbreherefiresaveloveliveblueartedatesitevotecaseluxebofamodaltdaasdatiaayogasinavanashiaasiajavabbvatevavivadatazaraarpacasavisasncfprofmaifsurfgolfdvagsongbingpingwangkpmggoogblogpohlfailcooldellcalldeallidlsarlfilmteamroomfarmimdbarabclubhdfcicbchsbcgmbhrichtechfishdishcashminiernikddiaudiwikimobitaxicitikiwidesiqponskinloanakdnwienopenporncerntownimmolimoolloinfonicofidolegosaxozeroaerovivoautovotomotofastbestresthostpostnextlgbtchatseatgiftmeetdietreitmintrentgentspotscotguruitausohumenucyoubanklinkpinkdclktalksilkbookseekworkrsvpaarpjeepshopcoophelpcamppccwshowbeerstarruhrflirweirhaircarsparsjprshausplusnewstipstoysjobskidsfanspicsdocsxboxamexsexynavycitysonyarmyallybabyplaydeliverybuzzgbizlamborghiniphilipsලංකාಭಾರತfitnessexpresslanxesspfizercenterwalterlawyersoccercareerkosherbrokerlockerdealerdoctorauthorxn--mgbqly7c0a67fbcvermögensberatungjaguarxn--pssy2uxn--hxt814eflickrrepairrogersairbusxn--mgbai9a5eva00beventsyachtsxn--t60b56aভাৰতভারতभारतभारोतviajeshermeshughesxn--j1aefसंगठनvillasଭାରତclaimshotelsભારતzapposphotosjuegoscondostatamotorsgratistennisਭਾਰਤtkmaxxtjmaxxschaeffleryandexxn--80aswgrealtysafetybeautyluxuryxn--3ds443gsupplyfamilyxn--o3cw4hhockeysydneyxn--90aenissayalipayenergycomputeragencyxn--rovu88b電訊盈科xn--gecrj9cstatefarmaccountantaquarelleolayangroup香格里拉xn--p1ai组织机构xn--1ck2e1bxn--mgbt3dhdschwarzموريتانياabudhabinowruzkomatsufujitsuhospitalxn--80asehdbxn--mgbtf8flxn--j6w193gxn--yfro4i67oprudentialxn--flw351ecruisescoursesrecipesxn--e1a4cferrarixn--ses554gxn--wgbl6awatchesstaplessinglesxn--mgbcpq6gpa1axn--otu796dpropertiescreditunionxn--mgbah1a3hjkrdstockholmhisamitsuالسعوديةstcgroupdomainsoriginscouponsbloombergclubmedfroganslimitedxn--80aqecdr1aexposedinternationalequipmentbarclaycardxn--q7ce6axn--mgbi4ecexpprotectionassociatesconstructionxn--cck2b3bxn--45q11candroidfoundationישראלxn--mgbca7dzdocliniqueboutiqueengineerxn--qxa6asystemsfirmdalefashionauctionxn--nqv7finfinitirentalsreliancetradingweddingfishinghostinggentingbookingcookingxn--3hcrj9cgraingerxn--czrs0tdemocratsamsungyokohamaxn--h2breg3evexn--nyqy26alundbeckmelbournevacationssolutionsfrontierxn--vermgensberatung-pwbmanagementxn--cg4bkixn--mgb2ddeslincolnhamburgsandvikcoromantblockbusterairforcebarefootxn--4dbrk0ceinvestmentsfeedbackcommunityxn--ngbrxالبحرينdiamondsamsterdamhealthcareredumbrellaxn--mxtq1mxn--2scrj9cagakhanxn--mgbpl2fhкатоликcaravanசிங்கப்பூர்richardlimortgageamericanfamilyxn--fzc2c9e2cscholarshipssaarlandxn--imr513nvlaanderensamsclubgoodyearkitchenஇந்தியாweatherchannelallfinanzxn--kput3iالسعودیۃxn--90aisxn--efvy88hالجزائرxn--mgbaam7a8hexchangejpmorganxn--tiq49xqyjfidelitysecurityxn--mk1bu44cwanggouxn--fiq64bxn--6qq986b3xlxn--mgbbh1a71exn--80ao21amarshallsxn--5tzm5gtravelerspanasoniclatrobeyoutubeaccountantsxn--rhqv96gxn--cckwcxetdanalyticsxn--ygbi2ammxبازاربھارتسوريةorganicfreseniusسورياxn--9krt00axn--qcka1pmcxn--jlq480n2rgdeloittesciencefinancexn--jvr189mxn--30rr7yhomesensehotmailbaseballfootballleclercboehringerxn--q9jyb4cxn--mix082fاليمنهمراهpolitieسودانايرانایرانnetflixyamaxunxn--lgbbat1ad8jcollegestoragecapetowncolognekerrypropertiesxn--mgbgu82axn--ogbpf8flxn--czru2dwhoswhociprianilasallexn--g2xx48cforsalebanamexaudiblexn--vermgensberater-ctbxn--zfr164bericssonvanguardxn--45brj9cindustriestheatremarriottxn--3bst00mcomparexn--mgberp4a5d4a87gcapitaldigitalالمغربbarcelonashangrilaxn--d1alfcalvinkleinwwwcitysapporokawasakinagoyasendaikobekitakyushuyokohamackjp`.charCodeAt(i+e)!==t.charCodeAt(n+e))return!1;return!0}function KL(e,t,n,r,i){let a=NL[e],o=NL[e+1];for(;a<o;){let e=a+o>>>1,s=BL[e];if(s<t)a=e+1;else if(s>t)o=e;else{for(let o=e;o>=a&&BL[o]===t;--o)if(GL(o,n,r,i))return o;for(let a=e+1;a<o&&BL[a]===t;a+=1)if(GL(a,n,r,i))return a;return-1}}return-1}function qL(e,t,n){let r=t,i=e.length,a=5381;HL=-1;for(let t=e.length-1;t>=0;--t){let o=e.charCodeAt(t);if(o===46){let o=t+1,s=KL(r,a>>>0,e,o,i-o);if(s===-1&&(s=VL[r]),s===-1)return HL!==-1;r=FL[s],(ML[r]&n)!==0&&(HL=r,UL=o,WL=i),i=t,a=5381}else a=a*33^o}let o=KL(r,a>>>0,e,0,i);return o===-1&&(o=VL[r]),o!==-1&&(r=FL[o],(ML[r]&n)!==0&&(HL=r,UL=0,WL=i)),HL!==-1}function JL(e,t,n){if(jL(e,t,n))return;let r=(t.allowPrivateDomains?2:0)|!!t.allowIcannDomains;if(qL(e,629,r)){n.isIcann=!!(ML[HL]&1),n.isPrivate=!!(ML[HL]&2),n.publicSuffix=e.slice(WL+1);return}if(qL(e,625,r)){n.isIcann=!!(ML[HL]&1),n.isPrivate=!!(ML[HL]&2),n.publicSuffix=e.slice(UL);return}n.isIcann=!1,n.isPrivate=!1;let i=e.lastIndexOf(`.`);n.publicSuffix=i===-1?e:e.slice(i+1)}function YL(e,t){return AL(e,5,JL,t,kL())}var XL=class extends Error{name=`Realm.NotFoundError`;constructor(e){super(`Unknown realm ${e.id}. Add it first.`)}},ZL=`default`,QL;(function(e){let t=e.id=A().regex(/^[a-z0-9]+(-[a-z0-9]+)*$/,{message:`Use lowercase kebab case, such as tempo-cash.`});e.realm=M({id:t,name:A().trim().min(1,{message:`Set a name.`})}),e.passkeys=M({realmId:t,rpId:A().regex(/^(?=.{1,253}$)([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)(\.[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/,{message:`Use a lowercase domain, such as tempo.xyz.`})}),e.privy=M({appId:A().trim().min(1,{message:`Set a Privy app ID.`}),appSecret:A().min(1,{message:`Set a Privy app secret.`}),realmId:t}),e.realms=na(t).refine(e=>new Set(e).size===e.length,{message:`Name each realm once.`})})(QL||={});async function $L(e,t){let n=await e.select({appId:PE.appId,id:IE.id,name:IE.name,position:OE.position,rpId:NE.rpId,secp256k1:FE.realmId}).from(IE).leftJoin(OE,ZC(U(OE.realmId,IE.id),U(OE.clientId,t.clientId))).leftJoin(NE,U(NE.realmId,IE.id)).leftJoin(PE,U(PE.realmId,IE.id)).leftJoin(FE,U(FE.realmId,IE.id)).where(QC(U(OE.clientId,t.clientId),U(IE.id,ZL))).orderBy(gw(OE.position)),r=n.filter(e=>e.position!==null);return(r.length>0?r:n).map(aR)}async function eR(e,t){let{clientId:n,db:r,origin:i,own:a}=t,o=async()=>[await QP(e,()=>nR(r,{id:ZL}),[`realm.get`,ZL])];if(!n)return await o();let s=await QP(e,async()=>{let[e]=await r.select({redirectUris:W.redirectUris}).from(W).where(ZC(U(W.clientId,n),ow(W.clientDiscoveryId)));return{origins:(e?.redirectUris??[]).flatMap(e=>{let t=URL.parse(e);return t&&(t.protocol===`https:`||t.protocol===`http:`)?[t.origin]:[]}),realms:await $L(r,{clientId:n})}},[`realm.forRequest`,n]);return i&&i!==a&&!s.origins.includes(i)?await o():s.realms}function tR(e){return e}async function nR(e,t){let[n]=await e.select({appId:PE.appId,id:IE.id,name:IE.name,rpId:NE.rpId,secp256k1:FE.realmId}).from(IE).leftJoin(NE,U(NE.realmId,IE.id)).leftJoin(PE,U(PE.realmId,IE.id)).leftJoin(FE,U(FE.realmId,IE.id)).where(U(IE.id,t.id));if(!n)throw new XL({id:t.id});return aR(n)}async function rR(e,t){let{db:n}=t,r=t.realms.flatMap(e=>e.privy?[e.id]:[]);if(r.length===0)return new Map;let i=await QP(e,()=>n.select().from(PE).where(iw(PE.realmId,r)),[`realm.privyApps`,...r]);return new Map(await Promise.all(i.map(async e=>[e.realmId,{appId:e.appId,appSecret:await hs({data:e.appSecret,key:t.secret})}])))}async function iR(e,t){let{db:n,realms:r}=t;if(!r.some(e=>e.id==="default"&&!e.passkeys))return r;let i=new URL(t.origin).hostname,a=YL(i,{allowPrivateDomains:!0});if(a.isIp)return r;let o=a.domain??i,s=i.split(`.`),c=s.map((e,t)=>s.slice(t).join(`.`)).filter(e=>e===o||e.endsWith(`.${o}`));if(r.some(e=>e.passkeys&&c.includes(e.passkeys.rpId)))return r;let l=await QP(e,async()=>{let e=await n.select({realmId:NE.realmId,rpId:NE.rpId}).from(NE).where(QC(U(NE.realmId,ZL),iw(NE.rpId,c))),t=e.find(e=>e.realmId===ZL);return{own:t?.rpId??null,taken:!t&&e.length>0}},[`realm.rpHolder`,...c]);return l.taken?r:r.map(e=>e.id==="default"&&!e.passkeys?tR({...e,passkeys:{rpId:l.own??o}}):e)}function aR(e){return tR({id:e.id,name:e.name,passkeys:e.rpId===null?void 0:{rpId:e.rpId},privy:e.appId===null?void 0:{appId:e.appId},secp256k1:e.secp256k1!==null})}var oR=kN({errors:[],load(e,t){let{userId:n}=t,r=t.realms.filter(e=>e.passkeys);return Promise.resolve({async list(e,t){return r.length===0?[]:(await t.db.select().from(jE).where(ZC(U(jE.userId,n),sw(jE.address),iw(jE.rpId,r.map(e=>e.passkeys.rpId)))).orderBy(gw(jE.createdAt),gw(jE.id))).flatMap(e=>r.filter(t=>t.passkeys.rpId===e.rpId).map(t=>ON({account:D({owners:[Se({id:e.id,publicKey:e.publicKey},{rpId:e.rpId})]}),createdAt:e.createdAt,credential:{id:e.id,publicKey:e.publicKey,rpId:e.rpId},linked:[`tempo-wallet`,`wallet`].includes(e.source),realm:t,signer:void 0,type:`webAuthn`})))}})},type:`webAuthn`});function sR(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function cR(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}var lR=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return lR=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(+e^n()&15>>e/4).toString(16))};function uR(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}var dR=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)},fR=class extends Error{},pR=class e extends fR{constructor(t,n,r,i){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.error=n}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,i){if(!t||!i)return new hR({message:r,cause:dR(n)});let a=n;return t===400?new _R(t,a,r,i):t===401?new vR(t,a,r,i):t===403?new yR(t,a,r,i):t===404?new bR(t,a,r,i):t===409?new xR(t,a,r,i):t===422?new SR(t,a,r,i):t===429?new CR(t,a,r,i):t>=500?new wR(t,a,r,i):new e(t,a,r,i)}},mR=class extends pR{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},hR=class extends pR{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},gR=class extends hR{constructor({message:e}={}){super({message:e??`Request timed out.`})}},_R=class extends pR{},vR=class extends pR{},yR=class extends pR{},bR=class extends pR{},xR=class extends pR{},SR=class extends pR{},CR=class extends pR{},wR=class extends pR{},TR=/^[a-z][a-z0-9+.-]*:/i,ER=e=>TR.test(e),DR=e=>(DR=Array.isArray,DR(e)),OR=DR;function kR(e){return typeof e==`object`?e??{}:{}}function AR(e){if(!e)return!0;for(let t in e)return!1;return!0}function jR(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var MR=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new fR(`${e} must be an integer`);if(t<0)throw new fR(`${e} must be a positive integer`);return t},NR=e=>{try{return JSON.parse(e)}catch{return}},PR=e=>new Promise(t=>setTimeout(t,e)),FR=`0.35.0`,IR=()=>typeof window<`u`&&window.document!==void 0&&typeof navigator<`u`;function LR(){return typeof Deno<`u`&&Deno.build!=null?`deno`:typeof EdgeRuntime<`u`?`edge`:Object.prototype.toString.call(globalThis.process===void 0?0:globalThis.process)===`[object process]`?`node`:`unknown`}var RR=()=>{let e=LR();if(e===`deno`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":FR,"X-Stainless-OS":VR(Deno.build.os),"X-Stainless-Arch":BR(Deno.build.arch),"X-Stainless-Runtime":`deno`,"X-Stainless-Runtime-Version":typeof Deno.version==`string`?Deno.version:Deno.version?.deno??`unknown`};if(typeof EdgeRuntime<`u`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":FR,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":`edge`,"X-Stainless-Runtime-Version":globalThis.process.version};if(e===`node`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":FR,"X-Stainless-OS":VR(globalThis.process.platform??`unknown`),"X-Stainless-Arch":BR(globalThis.process.arch??`unknown`),"X-Stainless-Runtime":`node`,"X-Stainless-Runtime-Version":globalThis.process.version??`unknown`};let t=zR();return t?{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":FR,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":FR,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`unknown`,"X-Stainless-Runtime-Version":`unknown`}};function zR(){if(typeof navigator>`u`||!navigator)return null;for(let{key:e,pattern:t}of[{key:`edge`,pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`chrome`,pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`firefox`,pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`safari`,pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let n=t.exec(navigator.userAgent);if(n)return{browser:e,version:`${n[1]||0}.${n[2]||0}.${n[3]||0}`}}return null}var BR=e=>e===`x32`?`x32`:e===`x86_64`||e===`x64`?`x64`:e===`arm`?`arm`:e===`aarch64`||e===`arm64`?`arm64`:e?`other:${e}`:`unknown`,VR=e=>(e=e.toLowerCase(),e.includes(`ios`)?`iOS`:e===`android`?`Android`:e===`darwin`?`MacOS`:e===`win32`?`Windows`:e===`freebsd`?`FreeBSD`:e===`openbsd`?`OpenBSD`:e===`linux`?`Linux`:e?`Other:${e}`:`Unknown`),HR,UR=()=>HR??=RR();function WR(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new PrivyAPI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function GR(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function KR(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return GR({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}async function qR(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}var JR=({headers:e,body:t})=>({bodyHeaders:{"content-type":`application/json`},body:JSON.stringify(t)}),YR=`RFC3986`,XR=e=>String(e),ZR={RFC1738:e=>String(e).replace(/%20/g,`+`),RFC3986:XR},QR=(e,t)=>(QR=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),QR(e,t)),$R=(()=>{let e=[];for(let t=0;t<256;++t)e.push(`%`+((t<16?`0`:``)+t.toString(16)).toUpperCase());return e})(),ez=1024,tz=(e,t,n,r,i)=>{if(e.length===0)return e;let a=e;if(typeof e==`symbol`?a=Symbol.prototype.toString.call(e):typeof e!=`string`&&(a=String(e)),n===`iso-8859-1`)return escape(a).replace(/%u[0-9a-f]{4}/gi,function(e){return`%26%23`+parseInt(e.slice(2),16)+`%3B`});let o=``;for(let e=0;e<a.length;e+=ez){let t=a.length>=ez?a.slice(e,e+ez):a,n=[];for(let e=0;e<t.length;++e){let r=t.charCodeAt(e);r===45||r===46||r===95||r===126||r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||i===`RFC1738`&&(r===40||r===41)?n[n.length]=t.charAt(e):r<128?n[n.length]=$R[r]:r<2048?n[n.length]=$R[192|r>>6]+$R[128|r&63]:r<55296||r>=57344?n[n.length]=$R[224|r>>12]+$R[128|r>>6&63]+$R[128|r&63]:(e+=1,r=65536+((r&1023)<<10|t.charCodeAt(e)&1023),n[n.length]=$R[240|r>>18]+$R[128|r>>12&63]+$R[128|r>>6&63]+$R[128|r&63])}o+=n.join(``)}return o};function nz(e){return!e||typeof e!=`object`?!1:!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}function rz(e,t){if(DR(e)){let n=[];for(let r=0;r<e.length;r+=1)n.push(t(e[r]));return n}return t(e)}var iz={brackets(e){return String(e)+`[]`},comma:`comma`,indices(e,t){return String(e)+`[`+t+`]`},repeat(e){return String(e)}},az=function(e,t){Array.prototype.push.apply(e,DR(t)?t:[t])},oz,sz={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:`indices`,charset:`utf-8`,charsetSentinel:!1,delimiter:`&`,encode:!0,encodeDotInKeys:!1,encoder:tz,encodeValuesOnly:!1,format:YR,formatter:XR,indices:!1,serializeDate(e){return(oz??=Function.prototype.call.bind(Date.prototype.toISOString))(e)},skipNulls:!1,strictNullHandling:!1};function cz(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`symbol`||typeof e==`bigint`}var lz={};function uz(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v=e,y=_,b=0,x=!1;for(;(y=y.get(lz))!==void 0&&!x;){let t=y.get(e);if(b+=1,t!==void 0){if(t===b)throw RangeError(`Cyclic object value`);x=!0}y.get(lz)===void 0&&(b=0)}if(typeof l==`function`?v=l(t,v):v instanceof Date?v=f?.(v):n===`comma`&&DR(v)&&(v=rz(v,function(e){return e instanceof Date?f?.(e):e})),v===null){if(a)return c&&!h?c(t,sz.encoder,g,`key`,p):t;v=``}if(cz(v)||nz(v)){if(c){let e=h?t:c(t,sz.encoder,g,`key`,p);return[m?.(e)+`=`+m?.(c(v,sz.encoder,g,`value`,p))]}return[m?.(t)+`=`+m?.(String(v))]}let S=[];if(v===void 0)return S;let C;if(n===`comma`&&DR(v))h&&c&&(v=rz(v,c)),C=[{value:v.length>0?v.join(`,`)||null:void 0}];else if(DR(l))C=l;else{let e=Object.keys(v);C=u?e.sort(u):e}let w=s?String(t).replace(/\./g,`%2E`):String(t),T=r&&DR(v)&&v.length===1?w+`[]`:w;if(i&&DR(v)&&v.length===0)return T+`[]`;for(let t=0;t<C.length;++t){let y=C[t],x=typeof y==`object`&&y.value!==void 0?y.value:v[y];if(o&&x===null)continue;let w=d&&s?y.replace(/\./g,`%2E`):y,E=DR(v)?typeof n==`function`?n(T,w):T:T+(d?`.`+w:`[`+w+`]`);_.set(e,b);let D=new WeakMap;D.set(lz,_),az(S,uz(x,E,n,r,i,a,o,s,n===`comma`&&h&&DR(v)?null:c,l,u,d,f,p,m,h,g,D))}return S}function dz(e=sz){if(e.allowEmptyArrays!==void 0&&typeof e.allowEmptyArrays!=`boolean`)throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(e.encodeDotInKeys!==void 0&&typeof e.encodeDotInKeys!=`boolean`)throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(e.encoder!==null&&e.encoder!==void 0&&typeof e.encoder!=`function`)throw TypeError(`Encoder has to be a function.`);let t=e.charset||sz.charset;if(e.charset!==void 0&&e.charset!==`utf-8`&&e.charset!==`iso-8859-1`)throw TypeError(`The charset option must be either utf-8, iso-8859-1, or undefined`);let n=YR;if(e.format!==void 0){if(!QR(ZR,e.format))throw TypeError(`Unknown format option provided.`);n=e.format}let r=ZR[n],i=sz.filter;(typeof e.filter==`function`||DR(e.filter))&&(i=e.filter);let a;if(a=e.arrayFormat&&e.arrayFormat in iz?e.arrayFormat:`indices`in e?e.indices?`indices`:`repeat`:sz.arrayFormat,`commaRoundTrip`in e&&typeof e.commaRoundTrip!=`boolean`)throw TypeError("`commaRoundTrip` must be a boolean, or absent");let o=e.allowDots===void 0?e.encodeDotInKeys?!0:sz.allowDots:!!e.allowDots;return{addQueryPrefix:typeof e.addQueryPrefix==`boolean`?e.addQueryPrefix:sz.addQueryPrefix,allowDots:o,allowEmptyArrays:typeof e.allowEmptyArrays==`boolean`?!!e.allowEmptyArrays:sz.allowEmptyArrays,arrayFormat:a,charset:t,charsetSentinel:typeof e.charsetSentinel==`boolean`?e.charsetSentinel:sz.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:e.delimiter===void 0?sz.delimiter:e.delimiter,encode:typeof e.encode==`boolean`?e.encode:sz.encode,encodeDotInKeys:typeof e.encodeDotInKeys==`boolean`?e.encodeDotInKeys:sz.encodeDotInKeys,encoder:typeof e.encoder==`function`?e.encoder:sz.encoder,encodeValuesOnly:typeof e.encodeValuesOnly==`boolean`?e.encodeValuesOnly:sz.encodeValuesOnly,filter:i,format:n,formatter:r,serializeDate:typeof e.serializeDate==`function`?e.serializeDate:sz.serializeDate,skipNulls:typeof e.skipNulls==`boolean`?e.skipNulls:sz.skipNulls,sort:typeof e.sort==`function`?e.sort:null,strictNullHandling:typeof e.strictNullHandling==`boolean`?e.strictNullHandling:sz.strictNullHandling}}function fz(e,t={}){let n=e,r=dz(t),i,a;typeof r.filter==`function`?(a=r.filter,n=a(``,n)):DR(r.filter)&&(a=r.filter,i=a);let o=[];if(typeof n!=`object`||!n)return``;let s=iz[r.arrayFormat],c=s===`comma`&&r.commaRoundTrip;i||=Object.keys(n),r.sort&&i.sort(r.sort);let l=new WeakMap;for(let e=0;e<i.length;++e){let t=i[e];r.skipNulls&&n[t]===null||az(o,uz(n[t],t,s,c,r.allowEmptyArrays,r.strictNullHandling,r.skipNulls,r.encodeDotInKeys,r.encode?r.encoder:null,r.filter,r.sort,r.allowDots,r.serializeDate,r.format,r.formatter,r.encodeValuesOnly,r.charset,l))}let u=o.join(r.delimiter),d=r.addQueryPrefix===!0?`?`:``;return r.charsetSentinel&&(r.charset===`iso-8859-1`?d+=`utf8=%26%2310003%3B&`:d+=`utf8=%E2%9C%93&`),u.length>0?d+u:``}function pz(e){return fz(e,{arrayFormat:`comma`})}var mz={off:0,error:200,warn:300,info:400,debug:500},hz=(e,t,n)=>{if(e){if(jR(mz,e))return e;bz(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(mz))}`)}};function gz(){}function _z(e,t,n){return!t||mz[e]>mz[n]?gz:t[e].bind(t)}var vz={error:gz,warn:gz,info:gz,debug:gz},yz=new WeakMap;function bz(e){let t=e.logger,n=e.logLevel??`off`;if(!t)return vz;let r=yz.get(t);if(r&&r[0]===n)return r[1];let i={error:_z(`error`,t,n),warn:_z(`warn`,t,n),info:_z(`info`,t,n),debug:_z(`debug`,t,n)};return yz.set(t,[n,i]),i}var xz=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,e.toLowerCase()===`authorization`||e.toLowerCase()===`api-key`||e.toLowerCase()===`x-api-key`||e.toLowerCase()===`cookie`||e.toLowerCase()===`set-cookie`?`***`:t])),`retryOfRequestLogID`in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e);async function Sz(e,t){let{response:n,requestLogID:r,retryOfRequestLogID:i,startTime:a}=t,o=await(async()=>{if(n.status===204)return null;if(t.options.__binaryResponse)return n;let e=n.headers.get(`content-type`)?.split(`;`)[0]?.trim();return e?.includes(`application/json`)||e?.endsWith(`+json`)?n.headers.get(`content-length`)===`0`?void 0:await n.json():await n.text()})();return bz(e).debug(`[${r}] response parsed`,xz({retryOfRequestLogID:i,url:n.url,status:n.status,body:o,durationMs:Date.now()-a})),o}var Cz,wz=class e extends Promise{constructor(e,t,n=Sz){super(e=>{e(null)}),this.responsePromise=t,this.parseResponse=n,Cz.set(this,void 0),sR(this,Cz,e,`f`)}_thenUnwrap(t){return new e(cR(this,Cz,`f`),this.responsePromise,async(e,n)=>t(await this.parseResponse(e,n),n))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,t]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:t}}parse(){return this.parsedPromise||=this.responsePromise.then(e=>this.parseResponse(cR(this,Cz,`f`),e)),this.parsedPromise}then(e,t){return this.parse().then(e,t)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}};Cz=new WeakMap;var Tz,Ez=class{constructor(e,t,n,r){Tz.set(this,void 0),sR(this,Tz,e,`f`),this.options=r,this.response=t,this.body=n}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){let e=this.nextPageRequestOptions();if(!e)throw new fR("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await cR(this,Tz,`f`).requestAPIList(this.constructor,e)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(Tz=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let t of e.getPaginatedItems())yield t}},Dz=class extends wz{constructor(e,t,n){super(e,t,async(e,t)=>new n(e,t.response,await Sz(e,t),t.options))}async*[Symbol.asyncIterator](){let e=await this;for await(let t of e)yield t}},Oz=class extends Ez{constructor(e,t,n,r){super(e,t,n,r),this.data=n.data||[],this.next_cursor=n.next_cursor||``}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){let e=this.next_cursor;return e?{...this.options,query:{...kR(this.options.query),cursor:e}}:null}},kz=()=>{if(typeof File>`u`){let{process:e}=globalThis,t=typeof e?.versions?.node==`string`&&parseInt(e.versions.node.split(`.`))<20;throw Error("`File` is not defined as a global, which is required for file uploads."+(t?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":``))}};function Az(e,t,n){return kz(),new File(e,t??`unknown_file`,n)}function jz(e){return(typeof e==`object`&&!!e&&(`name`in e&&e.name&&String(e.name)||`url`in e&&e.url&&String(e.url)||`filename`in e&&e.filename&&String(e.filename)||`path`in e&&e.path&&String(e.path))||``).split(/[\\/]/).pop()||void 0}var Mz=e=>typeof e==`object`&&!!e&&typeof e[Symbol.asyncIterator]==`function`,Nz=e=>typeof e==`object`&&!!e&&typeof e.size==`number`&&typeof e.type==`string`&&typeof e.text==`function`&&typeof e.slice==`function`&&typeof e.arrayBuffer==`function`,Pz=e=>typeof e==`object`&&!!e&&typeof e.name==`string`&&typeof e.lastModified==`number`&&Nz(e),Fz=e=>typeof e==`object`&&!!e&&typeof e.url==`string`&&typeof e.blob==`function`;async function Iz(e,t,n){if(kz(),e=await e,Pz(e))return e instanceof File?e:Az([await e.arrayBuffer()],e.name);if(Fz(e)){let r=await e.blob();return t||=new URL(e.url).pathname.split(/[\\/]/).pop(),Az(await Lz(r),t,n)}let r=await Lz(e);if(t||=jz(e),!n?.type){let e=r.find(e=>typeof e==`object`&&`type`in e&&e.type);typeof e==`string`&&(n={...n,type:e})}return Az(r,t,n)}async function Lz(e){let t=[];if(typeof e==`string`||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)t.push(e);else if(Nz(e))t.push(e instanceof Blob?e:await e.arrayBuffer());else if(Mz(e))for await(let n of e)t.push(...await Lz(n));else{let t=e?.constructor?.name;throw Error(`Unexpected data type: ${typeof e}${t?`; constructor: ${t}`:``}${Rz(e)}`)}return t}function Rz(e){return typeof e!=`object`||!e?``:`; props: [${Object.getOwnPropertyNames(e).map(e=>`"${e}"`).join(`, `)}]`}var zz=class{constructor(e){this._client=e}},Bz=class extends zz{},Vz=class extends zz{},Hz=class extends zz{},Uz=class extends zz{};function Wz(e){return e.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var Gz=Object.freeze(Object.create(null)),Q=((e=Wz)=>function(t,...n){if(t.length===1)return t[0];let r=!1,i=[],a=t.reduce((t,a,o)=>{/[?#]/.test(a)&&(r=!0);let s=n[o],c=(r?encodeURIComponent:e)(``+s);return o!==n.length&&(s==null||typeof s==`object`&&s.toString===Object.getPrototypeOf(Object.getPrototypeOf(s.hasOwnProperty??Gz)??Gz)?.toString)&&(c=s+``,i.push({start:t.length+a.length,length:c.length,error:`Value of type ${Object.prototype.toString.call(s).slice(8,-1)} is not a valid path parameter`})),t+a+(o===n.length?``:c)},``),o=a.split(/[?#]/,1)[0],s=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,c;for(;(c=s.exec(o))!==null;)i.push({start:c.index,length:c[0].length,error:`Value "${c[0]}" can\'t be safely passed as a path parameter`});if(i.sort((e,t)=>e.start-t.start),i.length>0){let e=0,t=i.reduce((t,n)=>{let r=` `.repeat(n.start-e),i=`^`.repeat(n.length);return e=n.start+n.length,t+r+i},``);throw new fR(`Path parameters result in path with invalid segments:\n${i.map(e=>e.error).join(`
418
418
  `)}\n${a}\n${t}`)}return a})(Wz),Kz=class extends zz{create(e,t,n){return this._client.post(Q`/v1/apps/${e}/allowlist`,{body:t,...n})}list(e,t){return this._client.get(Q`/v1/apps/${e}/allowlist`,t)}delete(e,t,n){return this._client.delete(Q`/v1/apps/${e}/allowlist`,{body:t,...n})}},qz=class extends zz{constructor(){super(...arguments),this.allowlist=new Kz(this._client)}get(e,t){if(e===``)throw Error(`appID must not be an empty string`);return this._client.get(Q`/v1/apps/${e}`,t)}getGasSpend(e,t){return this._client.get(`/v1/apps/gas_spend`,{query:e,...t})}getTestCredentials(e,t){return this._client.get(Q`/v1/apps/${e}/test_credentials`,t)}};qz.Allowlist=Kz;var Jz=class extends zz{},Yz=class extends zz{},Xz=class extends zz{},Zz=class extends zz{},Qz=class extends zz{},$z=class extends zz{},eB=Symbol(`brand.privateNullableHeaders`);function*tB(e){if(!e)return;if(eB in e){let{values:t,nulls:n}=e;yield*t.entries();for(let e of n)yield[e,null];return}let t=!1,n;e instanceof Headers?n=e.entries():OR(e)?n=e:(t=!0,n=Object.entries(e??{}));for(let e of n){let n=e[0];if(typeof n!=`string`)throw TypeError(`expected header name to be a string`);let r=OR(e[1])?e[1]:[e[1]],i=!1;for(let e of r)e!==void 0&&(t&&!i&&(i=!0,yield[n,null]),yield[n,e])}}var nB=e=>{let t=new Headers,n=new Set;for(let r of e){let e=new Set;for(let[i,a]of tB(r)){let r=i.toLowerCase();e.has(r)||(t.delete(i),e.add(r)),a===null?(t.delete(i),n.add(r)):(t.append(i,a),n.delete(r))}}return{[eB]:!0,values:t,nulls:n}},rB=class extends zz{list(e={},t){return this._client.getAPIList(`/v1/intents`,Oz,{query:e,...t})}createPolicyRule(e,t,n){let{"privy-request-expiry":r,...i}=t;return this._client.post(Q`/v1/intents/policies/${e}/rules`,{body:i,...n,headers:nB([{...r==null?void 0:{"privy-request-expiry":r}},n?.headers])})}deletePolicyRule(e,t,n){let{policy_id:r,"privy-request-expiry":i}=t;return this._client.delete(Q`/v1/intents/policies/${r}/rules/${e}`,{...n,headers:nB([{...i==null?void 0:{"privy-request-expiry":i}},n?.headers])})}get(e,t){if(e===``)throw Error(`intentID must not be an empty string`);return this._client.get(Q`/v1/intents/${e}`,t)}reject(e,t){return this._client.post(Q`/v1/intents/${e}/reject`,t)}rpc(e,t,n){let{"privy-request-expiry":r,...i}=t;return this._client.post(Q`/v1/intents/wallets/${e}/rpc`,{body:i,...n,headers:nB([{...r==null?void 0:{"privy-request-expiry":r}},n?.headers])})}transfer(e,t,n){let{"privy-request-expiry":r,...i}=t;return this._client.post(Q`/v1/intents/wallets/${e}/transfer`,{body:i,...n,headers:nB([{...r==null?void 0:{"privy-request-expiry":r}},n?.headers])})}updateKeyQuorum(e,t,n){let{"privy-request-expiry":r,...i}=t;return this._client.patch(Q`/v1/intents/key_quorums/${e}`,{body:i,...n,headers:nB([{...r==null?void 0:{"privy-request-expiry":r}},n?.headers])})}updatePolicy(e,t,n){let{"privy-request-expiry":r,...i}=t;return this._client.patch(Q`/v1/intents/policies/${e}`,{body:i,...n,headers:nB([{...r==null?void 0:{"privy-request-expiry":r}},n?.headers])})}updatePolicyRule(e,t,n){let{policy_id:r,"privy-request-expiry":i,...a}=t;return this._client.patch(Q`/v1/intents/policies/${r}/rules/${e}`,{body:a,...n,headers:nB([{...i==null?void 0:{"privy-request-expiry":i}},n?.headers])})}updateWallet(e,t,n){let{"privy-request-expiry":r,...i}=t;return this._client.patch(Q`/v1/intents/wallets/${e}`,{body:i,...n,headers:nB([{...r==null?void 0:{"privy-request-expiry":r}},n?.headers])})}},iB=class extends zz{create(e,t){return this._client.post(`/v1/key_quorums`,{body:e,...t})}_delete(e,t={},n){let{"privy-authorization-signature":r,"privy-request-expiry":i}=t??{};return this._client.delete(Q`/v1/key_quorums/${e}`,{...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-request-expiry":i}},n?.headers])})}_update(e,t,n){let{"privy-authorization-signature":r,"privy-request-expiry":i,...a}=t;return this._client.patch(Q`/v1/key_quorums/${e}`,{body:a,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-request-expiry":i}},n?.headers])})}get(e,t){if(e===``)throw Error(`keyQuorumID must not be an empty string`);return this._client.get(Q`/v1/key_quorums/${e}`,t)}},aB=class extends zz{},oB=class extends zz{},sB=class extends zz{},cB=class extends zz{create(e,t,n){return this._client.post(Q`/v1/organizations/${e}/external_fiat_accounts`,{body:t,...n})}list(e,t,n){return this._client.get(Q`/v1/organizations/${e}/external_fiat_accounts`,{query:t,...n})}delete(e,t,n){let{organization_id:r}=t;return this._client.delete(Q`/v1/organizations/${r}/external_fiat_accounts/${e}`,n)}get(e,t,n){let{organization_id:r}=t;return this._client.get(Q`/v1/organizations/${r}/external_fiat_accounts/${e}`,n)}},lB=class extends zz{list(e,t){return this._client.get(Q`/v1/organizations/${e}/kyb`,t)}initiateLinks(e,t,n){return this._client.post(Q`/v1/organizations/${e}/kyb/links`,{body:t,...n})}initiateTos(e,t,n){return this._client.post(Q`/v1/organizations/${e}/kyb/tos`,{body:t,...n})}submit(e,t,n){return this._client.post(Q`/v1/organizations/${e}/kyb/submit`,{body:t,...n})}},uB=class extends zz{constructor(){super(...arguments),this.externalFiatAccounts=new cB(this._client),this.kyb=new lB(this._client)}create(e,t){return this._client.post(`/v1/organizations`,{body:e,...t})}update(e,t,n){return this._client.patch(Q`/v1/organizations/${e}`,{body:t,...n})}list(e={},t){return this._client.getAPIList(`/v1/organizations`,Oz,{query:e,...t})}delete(e,t){return this._client.delete(Q`/v1/organizations/${e}`,{...t,headers:nB([{Accept:`*/*`},t?.headers])})}get(e,t){return this._client.get(Q`/v1/organizations/${e}`,t)}};uB.ExternalFiatAccounts=cB,uB.KYB=lB;var dB=class extends zz{create(e,t){let{"privy-idempotency-key":n,...r}=e;return this._client.post(`/v1/policies`,{body:r,...t,headers:nB([{...n==null?void 0:{"privy-idempotency-key":n}},t?.headers])})}_createRule(e,t,n){let{"privy-authorization-signature":r,"privy-request-expiry":i,...a}=t;return this._client.post(Q`/v1/policies/${e}/rules`,{body:a,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-request-expiry":i}},n?.headers])})}_delete(e,t={},n){let{"privy-authorization-signature":r,"privy-request-expiry":i}=t??{};return this._client.delete(Q`/v1/policies/${e}`,{...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-request-expiry":i}},n?.headers])})}_deleteRule(e,t,n){let{policy_id:r,"privy-authorization-signature":i,"privy-request-expiry":a}=t;return this._client.delete(Q`/v1/policies/${r}/rules/${e}`,{...n,headers:nB([{...i==null?void 0:{"privy-authorization-signature":i},...a==null?void 0:{"privy-request-expiry":a}},n?.headers])})}_update(e,t,n){let{"privy-authorization-signature":r,"privy-request-expiry":i,...a}=t;return this._client.patch(Q`/v1/policies/${e}`,{body:a,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-request-expiry":i}},n?.headers])})}_updateRule(e,t,n){let{policy_id:r,"privy-authorization-signature":i,"privy-request-expiry":a,...o}=t;return this._client.patch(Q`/v1/policies/${r}/rules/${e}`,{body:o,...n,headers:nB([{...i==null?void 0:{"privy-authorization-signature":i},...a==null?void 0:{"privy-request-expiry":a}},n?.headers])})}get(e,t){if(e===``)throw Error(`policyID must not be an empty string`);return this._client.get(Q`/v1/policies/${e}`,t)}getRule(e,t,n){if(e===``)throw Error(`ruleID must not be an empty string`);let{policy_id:r}=t;if(r===``)throw Error(`policy_id must not be an empty string`);return this._client.get(Q`/v1/policies/${r}/rules/${e}`,n)}},fB=class extends zz{},pB=class extends zz{},mB=class extends zz{get(e,t){if(e===``)throw Error(`transactionID must not be an empty string`);return this._client.get(Q`/v1/transactions/${e}`,t)}},hB=class extends zz{create(e,t,n){return this._client.post(Q`/v1/users/${e}/external_fiat_accounts`,{body:t,...n})}list(e,t,n){return this._client.get(Q`/v1/users/${e}/external_fiat_accounts`,{query:t,...n})}delete(e,t,n){let{user_id:r}=t;return this._client.delete(Q`/v1/users/${r}/external_fiat_accounts/${e}`,n)}get(e,t,n){let{user_id:r}=t;return this._client.get(Q`/v1/users/${r}/external_fiat_accounts/${e}`,n)}},gB=class extends zz{list(e,t){return this._client.get(Q`/v1/users/${e}/kyc`,t)}initiateLinks(e,t,n){return this._client.post(Q`/v1/users/${e}/kyc/links`,{body:t,...n})}initiateTos(e,t,n){return this._client.post(Q`/v1/users/${e}/kyc/tos`,{body:t,...n})}submit(e,t,n){return this._client.post(Q`/v1/users/${e}/kyc/submit`,{body:t,...n})}},_B=class extends zz{constructor(){super(...arguments),this.externalFiatAccounts=new hB(this._client),this.kyc=new gB(this._client)}create(e,t){return this._client.post(`/v1/users`,{body:e,...t})}list(e={},t){return this._client.getAPIList(`/v1/users`,Oz,{query:e,...t})}delete(e,t){return this._client.delete(Q`/v1/users/${e}`,{...t,headers:nB([{Accept:`*/*`},t?.headers])})}_get(e,t){if(e===``)throw Error(`userID must not be an empty string`);return this._client.get(Q`/v1/users/${e}`,t)}getByCustomAuthID(e,t){return this._client.post(`/v1/users/custom_auth/id`,{body:e,...t})}getByDiscordUsername(e,t){return this._client.post(`/v1/users/discord/username`,{body:e,...t})}getByEmailAddress(e,t){return this._client.post(`/v1/users/email/address`,{body:e,...t})}getByFarcasterID(e,t){return this._client.post(`/v1/users/farcaster/fid`,{body:e,...t})}getByGitHubUsername(e,t){return this._client.post(`/v1/users/github/username`,{body:e,...t})}getByPhoneNumber(e,t){return this._client.post(`/v1/users/phone/number`,{body:e,...t})}getBySmartWalletAddress(e,t){return this._client.post(`/v1/users/smart_wallet/address`,{body:e,...t})}getByTelegramUserID(e,t){return this._client.post(`/v1/users/telegram/telegram_user_id`,{body:e,...t})}getByTelegramUsername(e,t){return this._client.post(`/v1/users/telegram/username`,{body:e,...t})}getByTwitterSubject(e,t){return this._client.post(`/v1/users/twitter/subject`,{body:e,...t})}getByTwitterUsername(e,t){return this._client.post(`/v1/users/twitter/username`,{body:e,...t})}getByWalletAddress(e,t){return this._client.post(`/v1/users/wallet/address`,{body:e,...t})}pregenerateWallets(e,t,n){return this._client.post(Q`/v1/users/${e}/wallets`,{body:t,...n})}search(e,t){return this._client.post(`/v1/users/search`,{body:e,...t})}setCustomMetadata(e,t,n){return this._client.post(Q`/v1/users/${e}/custom_metadata`,{body:t,...n})}unlinkLinkedAccount(e,t,n){return this._client.post(Q`/v1/users/${e}/accounts/unlink`,{body:t,...n})}};_B.ExternalFiatAccounts=hB,_B.KYC=gB;var vB=class extends zz{create(e,t){return this._client.post(`/v1/wallet_automations`,{body:e,...t})}update(e,t,n){return this._client.patch(Q`/v1/wallet_automations/${e}`,{body:t,...n})}list(e={},t){return this._client.getAPIList(`/v1/wallet_automations`,Oz,{query:e,...t})}delete(e,t){return this._client.delete(Q`/v1/wallet_automations/${e}`,t)}get(e,t){return this._client.get(Q`/v1/wallet_automations/${e}`,t)}listExecutions(e={},t){return this._client.getAPIList(`/v1/wallet_automations/executions`,Oz,{query:e,...t})}reindex(e,t){return this._client.post(`/v1/wallet_automations/reindex`,{body:e,...t})}},yB=class extends zz{get(e,t,n){let{wallet_id:r,"privy-authorization-signature":i,...a}=t;return this._client.get(Q`/v1/wallets/${r}/actions/${e}`,{query:a,...n,headers:nB([{...i==null?void 0:{"privy-authorization-signature":i}},n?.headers])})}},bB=class extends zz{get(e,t={},n){if(e===``)throw Error(`walletID must not be an empty string`);return this._client.get(Q`/v1/wallets/${e}/balance`,{query:t,...n})}},xB=class extends zz{execute(e,t,n){let{"privy-authorization-signature":r,"privy-idempotency-key":i,"privy-request-expiry":a,...o}=t;return this._client.post(Q`/v1/wallets/${e}/swap`,{body:o,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-idempotency-key":i},...a==null?void 0:{"privy-request-expiry":a}},n?.headers])})}quote(e,t,n){let{"privy-authorization-signature":r,"privy-request-expiry":i,...a}=t;return this._client.post(Q`/v1/wallets/${e}/swap/quote`,{body:a,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-request-expiry":i}},n?.headers])})}},SB=class extends zz{get(e,t,n){if(e===``)throw Error(`walletID must not be an empty string`);return this._client.get(Q`/v1/wallets/${e}/transactions`,{query:t,...n})}},CB=class extends zz{create(e,t,n){return this._client.post(Q`/v1/wallets/${e}/deposit_accounts/fiat`,{body:t,...n})}list(e,t,n){return this._client.get(Q`/v1/wallets/${e}/deposit_accounts/fiat`,{query:t,...n})}get(e,t,n){let{wallet_id:r}=t;return this._client.get(Q`/v1/wallets/${r}/deposit_accounts/fiat/${e}`,n)}},wB=class extends zz{get(e,t,n){let{wallet_id:r}=t;return this._client.get(Q`/v1/wallets/${r}/deposit_accounts/crypto/orders/${e}`,n)}},TB=class extends zz{constructor(){super(...arguments),this.orders=new wB(this._client)}list(e,t={},n){return this._client.getAPIList(Q`/v1/wallets/${e}/deposit_accounts/crypto`,Oz,{query:t,...n})}_create(e,t,n){let{"privy-authorization-signature":r,"privy-idempotency-key":i,"privy-request-expiry":a,...o}=t;return this._client.post(Q`/v1/wallets/${e}/deposit_accounts/crypto`,{body:o,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-idempotency-key":i},...a==null?void 0:{"privy-request-expiry":a}},n?.headers])})}getConfig(e){return this._client.get(`/v1/deposit_accounts/crypto/config`,e)}getNextOrder(e,t,n){return this._client.get(Q`/v1/wallets/${e}/deposit_accounts/crypto/next_order`,{query:t,...n})}quote(e,t){return this._client.post(`/v1/deposit_accounts/crypto/quote`,{body:e,...t})}};TB.Orders=wB;var EB=class extends zz{constructor(){super(...arguments),this.crypto=new TB(this._client),this.fiat=new CB(this._client)}};EB.Crypto=TB,EB.Fiat=CB;var DB=class extends zz{_claim(e,t,n){let{"privy-authorization-signature":r,"privy-idempotency-key":i,"privy-request-expiry":a,...o}=t;return this._client.post(Q`/v1/wallets/${e}/earn/ethereum/incentive/claim`,{body:o,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-idempotency-key":i},...a==null?void 0:{"privy-request-expiry":a}},n?.headers])})}},OB=class extends zz{constructor(){super(...arguments),this._incentive=new DB(this._client)}_deposit(e,t,n){let{"privy-authorization-signature":r,"privy-idempotency-key":i,"privy-request-expiry":a,...o}=t;return this._client.post(Q`/v1/wallets/${e}/earn/ethereum/deposit`,{body:o,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-idempotency-key":i},...a==null?void 0:{"privy-request-expiry":a}},n?.headers])})}_withdraw(e,t,n){let{"privy-authorization-signature":r,"privy-idempotency-key":i,"privy-request-expiry":a,...o}=t;return this._client.post(Q`/v1/wallets/${e}/earn/ethereum/withdraw`,{body:o,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-idempotency-key":i},...a==null?void 0:{"privy-request-expiry":a}},n?.headers])})}vaultDetails(e,t){return this._client.get(Q`/v1/earn/ethereum/vaults/${e}`,t)}vaultPosition(e,t,n){return this._client.get(Q`/v1/wallets/${e}/earn/ethereum/vaults`,{query:t,...n})}};OB.Incentive=DB;var kB=class extends zz{constructor(){super(...arguments),this._ethereum=new OB(this._client)}};kB.Ethereum=OB;var AB=class extends zz{_create(e,t,n){let{"privy-authorization-signature":r,"privy-idempotency-key":i,"privy-request-expiry":a,...o}=t;return this._client.post(Q`/v1/wallets/${e}/payout/fiat`,{body:o,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-idempotency-key":i},...a==null?void 0:{"privy-request-expiry":a}},n?.headers])})}},jB=class extends zz{constructor(){super(...arguments),this._fiat=new AB(this._client)}};jB.Fiat=AB;var MB=class extends zz{constructor(){super(...arguments),this.actions=new yB(this._client),this.balance=new bB(this._client),this.depositAccounts=new EB(this._client),this._earn=new kB(this._client),this._payout=new jB(this._client),this.swap=new xB(this._client),this.transactions=new SB(this._client)}create(e,t){let{"privy-idempotency-key":n,...r}=e;return this._client.post(`/v1/wallets`,{body:r,...t,headers:nB([{...n==null?void 0:{"privy-idempotency-key":n}},t?.headers])})}list(e={},t){return this._client.getAPIList(`/v1/wallets`,Oz,{query:e,...t})}_attachAutomations(e,t,n){let{"privy-authorization-signature":r,"privy-request-expiry":i,...a}=t;return this._client.post(Q`/v1/wallets/${e}/automations/attach`,{body:a,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-request-expiry":i}},n?.headers])})}_detachAutomations(e,t,n){let{"privy-authorization-signature":r,"privy-request-expiry":i,...a}=t;return this._client.post(Q`/v1/wallets/${e}/automations/detach`,{body:a,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-request-expiry":i}},n?.headers])})}_export(e,t,n){let{"privy-authorization-signature":r,"privy-request-expiry":i,...a}=t;return this._client.post(Q`/v1/wallets/${e}/export`,{body:a,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-request-expiry":i}},n?.headers])})}_initImport(e,t){return this._client.post(`/v1/wallets/import/init`,{body:e,...t})}_rawSign(e,t,n){let{"privy-authorization-signature":r,"privy-idempotency-key":i,"privy-request-expiry":a,...o}=t;return this._client.post(Q`/v1/wallets/${e}/raw_sign`,{body:o,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-idempotency-key":i},...a==null?void 0:{"privy-request-expiry":a}},n?.headers])})}_rpc(e,t,n){let{"privy-authorization-signature":r,"privy-idempotency-key":i,"privy-request-expiry":a,...o}=t;return this._client.post(Q`/v1/wallets/${e}/rpc`,{body:o,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-idempotency-key":i},...a==null?void 0:{"privy-request-expiry":a}},n?.headers])})}_submitImport(e,t){return this._client.post(`/v1/wallets/import/submit`,{body:e,...t})}_transfer(e,t,n){let{"privy-authorization-signature":r,"privy-idempotency-key":i,"privy-request-expiry":a,...o}=t;return this._client.post(Q`/v1/wallets/${e}/transfer`,{body:o,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-idempotency-key":i},...a==null?void 0:{"privy-request-expiry":a}},n?.headers])})}_update(e,t,n){let{"privy-authorization-signature":r,"privy-request-expiry":i,...a}=t;return this._client.patch(Q`/v1/wallets/${e}`,{body:a,...n,headers:nB([{...r==null?void 0:{"privy-authorization-signature":r},...i==null?void 0:{"privy-request-expiry":i}},n?.headers])})}archive(e,t){return this._client.post(Q`/v1/wallets/${e}/archive`,t)}assignEntity(e,t,n){return this._client.post(Q`/v1/wallets/${e}/entity`,{body:t,...n})}authenticateWithJwt(e,t){return this._client.post(`/v1/wallets/authenticate`,{body:e,...t})}createBatch(e,t){return this._client.post(`/v1/wallets/batch`,{body:e,...t})}createWalletsWithRecovery(e,t){return this._client.post(`/v1/wallets_with_recovery`,{body:e,...t})}get(e,t={},n){if(e===``)throw Error(`walletID must not be an empty string`);return this._client.get(Q`/v1/wallets/${e}`,{query:t,...n})}getWalletByAddress(e,t){return this._client.post(`/v1/wallets/address`,{body:e,...t})}};MB.Actions=yB,MB.Balance=bB,MB.DepositAccounts=EB,MB.Earn=kB,MB.Payout=jB,MB.Swap=xB,MB.Transactions=SB;var NB=class extends zz{unsafeUnwrap(e){return JSON.parse(e)}},PB=class extends zz{},FB;function IB(e){let t;return(FB??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}var LB=e=>{if(!e)return``;if(globalThis.Buffer!==void 0)return globalThis.Buffer.from(e).toString(`base64`);if(typeof e==`string`&&(e=IB(e)),typeof btoa<`u`)return btoa(String.fromCharCode.apply(null,e));throw new fR("Cannot generate base64 string; Expected `Buffer` or `btoa` to be defined")},RB=e=>{if(globalThis.process!==void 0)return globalThis.process.env?.[e]?.trim()||void 0;if(globalThis.Deno!==void 0)return globalThis.Deno.env?.get?.(e)?.trim()||void 0},zB,BB,VB,HB,UB={production:`https://api.privy.io`,staging:`https://api.staging.privy.io`},WB=class{constructor({baseURL:e=RB(`PRIVY_API_BASE_URL`),appID:t=RB(`PRIVY_APP_ID`),appSecret:n=RB(`PRIVY_APP_SECRET`),...r}={}){if(zB.add(this),VB.set(this,void 0),this.apps=new qz(this),this.cards=new Jz(this),this.intents=new rB(this),this.keyQuorums=new iB(this),this.organizations=new uB(this),this.policies=new dB(this),this.transactions=new mB(this),this.users=new _B(this),this.walletAutomations=new vB(this),this.wallets=new MB(this),this.webhooks=new NB(this),this.accounts=new Bz(this),this.aggregations=new Hz(this),this.embeddedWallets=new Zz(this),this.analytics=new Uz(this),this.clientAuth=new Yz(this),this.shared=new fB(this),this.fiat=new Qz(this),this.onramps=new sB(this),this.funding=new $z(this),this.crossApp=new Xz(this),this.oAuth=new oB(this),this.yield=new PB(this),this.krakenEmbed=new aB(this),this.actions=new Vz(this),this.swaps=new pB(this),t===void 0)throw new fR(`The PRIVY_APP_ID environment variable is missing or empty; either provide it, or instantiate the PrivyAPI client with an appID option, like new PrivyAPI({ appID: 'My App ID' }).`);if(n===void 0)throw new fR(`The PRIVY_APP_SECRET environment variable is missing or empty; either provide it, or instantiate the PrivyAPI client with an appSecret option, like new PrivyAPI({ appSecret: 'My App Secret' }).`);let i={appID:t,appSecret:n,...r,baseURL:e,environment:r.environment??`production`};if(IR())throw new fR(`It looks like you're running in a browser-like environment, which is disabled to protect your secret API credentials from attackers. If you have a strong business need for client-side use of this API, please open a GitHub issue with your use-case and security mitigations.`);if(e&&r.environment)throw new fR("Ambiguous URL; The `baseURL` option (or PRIVY_API_BASE_URL env var) and the `environment` option are given. If you want to use the environment you must pass baseURL: null");this.baseURL=i.baseURL||UB[i.environment||`production`],this.timeout=i.timeout??BB.DEFAULT_TIMEOUT,this.logger=i.logger??console;let a=`warn`;this.logLevel=a,this.logLevel=hz(i.logLevel,`ClientOptions.logLevel`,this)??hz(RB(`PRIVY_API_LOG`),`process.env['PRIVY_API_LOG']`,this)??a,this.fetchOptions=i.fetchOptions,this.maxRetries=i.maxRetries??2,this.fetch=i.fetch??WR(),sR(this,VB,JR,`f`);let o=RB(`PRIVY_API_CUSTOM_HEADERS`);if(o){let e={};for(let t of o.split(`
419
419
  `)){let n=t.indexOf(`:`);n>=0&&(e[t.substring(0,n).trim()]=t.substring(n+1).trim())}i.defaultHeaders={...e,...i.defaultHeaders}}this._options=i,this.appID=t,this.appSecret=n}withOptions(e){return new this.constructor({...this._options,environment:e.environment?e.environment:void 0,baseURL:e.environment?void 0:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,appID:this.appID,appSecret:this.appSecret,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:t}){}async authHeaders(e){return!this.appID||!this.appSecret?void 0:nB([{Authorization:`Basic ${LB(`${this.appID}:${this.appSecret}`)}`}])}stringifyQuery(e){return pz(e)}getUserAgent(){return`${this.constructor.name}/JS ${FR}`}defaultIdempotencyKey(){return`stainless-node-retry-${lR()}`}makeStatusError(e,t,n,r){return pR.generate(e,t,n,r)}buildURL(e,t,n){let r=!cR(this,zB,`m`,HB).call(this)&&n||this.baseURL,i=ER(e)?new URL(e):new URL(r+(r.endsWith(`/`)&&e.startsWith(`/`)?e.slice(1):e)),a=this.defaultQuery(),o=Object.fromEntries(i.searchParams);return(!AR(a)||!AR(o))&&(t={...o,...a,...t}),typeof t==`object`&&t&&!Array.isArray(t)&&(i.search=this.stringifyQuery(t)),i.toString()}async prepareOptions(e){}async prepareRequest(e,{url:t,options:n}){}get(e,t){return this.methodRequest(`get`,e,t)}post(e,t){return this.methodRequest(`post`,e,t)}patch(e,t){return this.methodRequest(`patch`,e,t)}put(e,t){return this.methodRequest(`put`,e,t)}delete(e,t){return this.methodRequest(`delete`,e,t)}methodRequest(e,t,n){return this.request(Promise.resolve(n).then(n=>({method:e,path:t,...n})))}request(e,t=null){return new wz(this,this.makeRequest(e,t,void 0))}async makeRequest(e,t,n){let r=await e,i=r.maxRetries??this.maxRetries;t??=i,await this.prepareOptions(r);let{req:a,url:o,timeout:s}=await this.buildRequest(r,{retryCount:i-t});await this.prepareRequest(a,{url:o,options:r});let c=`log_`+(Math.random()*(1<<24)|0).toString(16).padStart(6,`0`),l=n===void 0?``:`, retryOf: ${n}`,u=Date.now();if(bz(this).debug(`[${c}] sending request`,xz({retryOfRequestLogID:n,method:r.method,url:o,options:r,headers:a.headers})),r.signal?.aborted)throw new mR;let d=new AbortController,f=await this.fetchWithTimeout(o,a,s,d).catch(dR),p=Date.now();if(f instanceof globalThis.Error){let e=`retrying, ${t} attempts remaining`;if(r.signal?.aborted)throw new mR;let i=uR(f)||/timed? ?out/i.test(String(f)+(`cause`in f?String(f.cause):``));if(t)return bz(this).info(`[${c}] connection ${i?`timed out`:`failed`} - ${e}`),bz(this).debug(`[${c}] connection ${i?`timed out`:`failed`} (${e})`,xz({retryOfRequestLogID:n,url:o,durationMs:p-u,message:f.message})),this.retryRequest(r,t,n??c);throw bz(this).info(`[${c}] connection ${i?`timed out`:`failed`} - error; no more retries left`),bz(this).debug(`[${c}] connection ${i?`timed out`:`failed`} (error; no more retries left)`,xz({retryOfRequestLogID:n,url:o,durationMs:p-u,message:f.message})),i?new gR:new hR({cause:f})}let m=`[${c}${l}] ${a.method} ${o} ${f.ok?`succeeded`:`failed`} with status ${f.status} in ${p-u}ms`;if(!f.ok){let e=await this.shouldRetry(f);if(t&&e){let e=`retrying, ${t} attempts remaining`;return await qR(f.body),bz(this).info(`${m} - ${e}`),bz(this).debug(`[${c}] response error (${e})`,xz({retryOfRequestLogID:n,url:f.url,status:f.status,headers:f.headers,durationMs:p-u})),this.retryRequest(r,t,n??c,f.headers)}let i=e?`error; no more retries left`:`error; not retryable`;bz(this).info(`${m} - ${i}`);let a=await f.text().catch(e=>dR(e).message),o=NR(a),s=o?void 0:a;throw bz(this).debug(`[${c}] response error (${i})`,xz({retryOfRequestLogID:n,url:f.url,status:f.status,headers:f.headers,message:s,durationMs:Date.now()-u})),this.makeStatusError(f.status,o,s,f.headers)}return bz(this).info(m),bz(this).debug(`[${c}] response start`,xz({retryOfRequestLogID:n,url:f.url,status:f.status,headers:f.headers,durationMs:p-u})),{response:f,options:r,controller:d,requestLogID:c,retryOfRequestLogID:n,startTime:u}}getAPIList(e,t,n){return this.requestAPIList(t,n&&`then`in n?n.then(t=>({method:`get`,path:e,...t})):{method:`get`,path:e,...n})}requestAPIList(e,t){let n=this.makeRequest(t,null,void 0);return new Dz(this,n,e)}async fetchWithTimeout(e,t,n,r){let{signal:i,method:a,...o}=t||{},s=this._makeAbort(r);i&&i.addEventListener(`abort`,s,{once:!0});let c=setTimeout(s,n),l=globalThis.ReadableStream&&o.body instanceof globalThis.ReadableStream||typeof o.body==`object`&&o.body!==null&&Symbol.asyncIterator in o.body,u={signal:r.signal,...l?{duplex:`half`}:{},method:`GET`,...o};a&&(u.method=a.toUpperCase());try{return await this.fetch.call(void 0,e,u)}finally{clearTimeout(c)}}async shouldRetry(e){let t=e.headers.get(`x-should-retry`);return t===`true`?!0:t===`false`?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,t,n,r){let i,a=r?.get(`retry-after-ms`);if(a){let e=parseFloat(a);Number.isNaN(e)||(i=e)}let o=r?.get(`retry-after`);if(o&&!i){let e=parseFloat(o);i=Number.isNaN(e)?Date.parse(o)-Date.now():e*1e3}let s=r?.get(`x-ratelimit-reset`);if(s&&!i){let e=parseFloat(s);Number.isNaN(e)||(i=e*1e3-Date.now())}if(i===void 0){let n=e.maxRetries??this.maxRetries;i=this.calculateDefaultRetryTimeoutMillis(t,n)}return await PR(i),this.makeRequest(e,t-1,n)}calculateDefaultRetryTimeoutMillis(e,t){let n=t-e;return Math.min(.5*2**n,8)*(1-Math.random()*.25)*1e3}async buildRequest(e,{retryCount:t=0}={}){let n={...e},{method:r,path:i,query:a,defaultBaseURL:o}=n,s=this.buildURL(i,a,o);`timeout`in n&&MR(`timeout`,n.timeout),n.timeout=n.timeout??this.timeout;let{bodyHeaders:c,body:l}=this.buildBody({options:n});return{req:{method:r,headers:await this.buildHeaders({options:e,method:r,bodyHeaders:c,retryCount:t}),...n.signal&&{signal:n.signal},...globalThis.ReadableStream&&l instanceof globalThis.ReadableStream&&{duplex:`half`},...l&&{body:l},...this.fetchOptions??{},...n.fetchOptions??{}},url:s,timeout:n.timeout}}async buildHeaders({options:e,method:t,bodyHeaders:n,retryCount:r}){let i={};this.idempotencyHeader&&t!==`get`&&(e.idempotencyKey||=this.defaultIdempotencyKey(),i[this.idempotencyHeader]=e.idempotencyKey);let a=nB([i,{Accept:`application/json`,"User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(r),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},...UR(),"privy-app-id":this.appID},await this.authHeaders(e),this._options.defaultHeaders,n,e.headers]);return this.validateHeaders(a),a.values}_makeAbort(e){return()=>e.abort()}buildBody({options:e}){let{body:t,headers:n}=e;if(!t)return t==null&&`body`in e?cR(this,VB,`f`).call(this,{body:t,headers:nB([n])}):{bodyHeaders:void 0,body:void 0};let r=nB([n]);return ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof DataView||typeof t==`string`&&r.values.has(`content-type`)||globalThis.Blob&&t instanceof globalThis.Blob||t instanceof FormData||t instanceof URLSearchParams||globalThis.ReadableStream&&t instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:t}:typeof t==`object`&&(Symbol.asyncIterator in t||Symbol.iterator in t&&`next`in t&&typeof t.next==`function`)?{bodyHeaders:void 0,body:KR(t)}:typeof t==`object`&&r.values.get(`content-type`)===`application/x-www-form-urlencoded`?{bodyHeaders:{"content-type":`application/x-www-form-urlencoded`},body:this.stringifyQuery(t)}:cR(this,VB,`f`).call(this,{body:t,headers:r})}};BB=WB,VB=new WeakMap,zB=new WeakSet,HB=function(){return this.baseURL!==UB[this._options.environment||`production`]},WB.PrivyAPI=BB,WB.DEFAULT_TIMEOUT=6e4,WB.PrivyAPIError=fR,WB.APIError=pR,WB.APIConnectionError=hR,WB.APIConnectionTimeoutError=gR,WB.APIUserAbortError=mR,WB.NotFoundError=bR,WB.ConflictError=xR,WB.RateLimitError=CR,WB.BadRequestError=_R,WB.AuthenticationError=vR,WB.InternalServerError=wR,WB.PermissionDeniedError=yR,WB.UnprocessableEntityError=SR,WB.toFile=Iz,WB.Apps=qz,WB.Cards=Jz,WB.Intents=rB,WB.KeyQuorums=iB,WB.Organizations=uB,WB.Policies=dB,WB.Transactions=mB,WB.Users=_B,WB.WalletAutomations=vB,WB.Wallets=MB,WB.Webhooks=NB,WB.Accounts=Bz,WB.Aggregations=Hz,WB.EmbeddedWallets=Zz,WB.Analytics=Uz,WB.ClientAuth=Yz,WB.Shared=fB,WB.Fiat=Qz,WB.Onramps=sB,WB.Funding=$z,WB.CrossApp=Xz,WB.OAuth=oB,WB.Yield=PB,WB.KrakenEmbed=aB,WB.Actions=Vz,WB.Swaps=pB;var GB=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ApplicationInSerializer=void 0,e.ApplicationInSerializer={_fromJsonObject(e){return{metadata:e.metadata,name:e.name,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid}},_toJsonObject(e){return{metadata:e.metadata,name:e.name,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid}}}})),KB=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ApplicationOutSerializer=void 0,e.ApplicationOutSerializer={_fromJsonObject(e){return{createdAt:new Date(e.createdAt),id:e.id,metadata:e.metadata,name:e.name,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid,updatedAt:new Date(e.updatedAt)}},_toJsonObject(e){return{createdAt:e.createdAt,id:e.id,metadata:e.metadata,name:e.name,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid,updatedAt:e.updatedAt}}}})),qB=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ApplicationPatchSerializer=void 0,e.ApplicationPatchSerializer={_fromJsonObject(e){return{metadata:e.metadata,name:e.name,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid}},_toJsonObject(e){return{metadata:e.metadata,name:e.name,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid}}}})),JB=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListResponseApplicationOutSerializer=void 0;var t=KB();e.ListResponseApplicationOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.ApplicationOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}},_toJsonObject(e){return{data:e.data.map(e=>t.ApplicationOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}}}})),YB=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ApiException=void 0,e.ApiException=class extends Error{constructor(e,t,n){super(`HTTP-Code: ${e}\nHeaders: ${JSON.stringify(n)}`),this.code=e,this.body=t,this.headers={},n.forEach((e,t)=>{this.headers[t]=e})}}})),XB=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.SvixRequest=e.HttpMethod=e.LIB_VERSION=void 0;var i=YB();e.LIB_VERSION=`1.99.1`;function a(){var t=[`svix-libs/${e.LIB_VERSION}/javascript`];return process===void 0?(navigator==null?void 0:navigator.userAgent)!==void 0&&t.push(navigator.userAgent):(process.version!==void 0&&t.push(`node/${process.version}`),process.platform!==void 0&&process.arch!==void 0&&t.push(`${process.platform}/${process.arch}`)),t.join(` `)}(function(e){e.GET=`GET`,e.HEAD=`HEAD`,e.POST=`POST`,e.PUT=`PUT`,e.DELETE=`DELETE`,e.CONNECT=`CONNECT`,e.OPTIONS=`OPTIONS`,e.TRACE=`TRACE`,e.PATCH=`PATCH`})(e.HttpMethod||={}),e.SvixRequest=class{constructor(e,t){this.method=e,this.path=t,this.queryParams={},this.headerParams={}}setPathParam(e,t){let n=this.path.replace(`{${e}}`,encodeURIComponent(t));if(this.path===n)throw Error(`path parameter ${e} not found`);this.path=n}setQueryParams(e){for(let[t,n]of Object.entries(e))this.setQueryParam(t,n)}setQueryParam(e,t){if(t!=null){if(typeof t==`string`)this.queryParams[e]=t;else if(typeof t==`boolean`||typeof t==`number`)this.queryParams[e]=t.toString();else if(t instanceof Date)this.queryParams[e]=t.toISOString();else if(Array.isArray(t))t.length>0&&(this.queryParams[e]=t.join(`,`));else throw Error(`query parameter ${e} has unsupported type`)}}setHeaderParam(e,t){t!==void 0&&(this.headerParams[e]=t)}setBody(e){this.body=JSON.stringify(e)}send(e,t){return r(this,void 0,void 0,function*(){let n=yield this.sendInner(e);if(n.status===204)return null;let r=yield n.text();return t(JSON.parse(r))})}sendNoResponseBody(e){return r(this,void 0,void 0,function*(){yield this.sendInner(e)})}sendInner(e){return r(this,void 0,void 0,function*(){let t=new URL(e.baseUrl+this.path);for(let[e,n]of Object.entries(this.queryParams))t.searchParams.set(e,n);this.headerParams[`idempotency-key`]===void 0&&this.method.toUpperCase()===`POST`&&(this.headerParams[`idempotency-key`]=`auto_${crypto.randomUUID()}`);let n=Math.floor(Math.random()*(2**53-1));this.body!=null&&(this.headerParams[`content-type`]=`application/json`);let r=`credentials`in Request.prototype;return o(yield s(t,{method:this.method.toString(),body:this.body,headers:Object.assign({accept:`application/json, */*;q=0.8`,authorization:`Bearer ${e.token}`,"user-agent":a(),"svix-req-id":n.toString()},this.headerParams),credentials:r?`same-origin`:void 0,signal:e.timeout===void 0?void 0:AbortSignal.timeout(e.timeout)},e.retryScheduleInMs,e.retryScheduleInMs?.[0],e.retryScheduleInMs?.length??e.numRetries,e.fetch))})}};function o(e){return r(this,void 0,void 0,function*(){if(e.status<300)return e;let t=yield e.text();throw e.status===422||e.status>=400&&e.status<=499?new i.ApiException(e.status,JSON.parse(t),e.headers):new i.ApiException(e.status,t,e.headers)})}function s(e,t,n,i=50,a=2,o=fetch,c=1){return r(this,void 0,void 0,function*(){let r=e=>new Promise(t=>setTimeout(t,e));try{let n=yield o(e,t);if(a<=0||n.status<500)return n}catch(e){if(a<=0)throw e}return yield r(i),t.headers[`svix-retry-count`]=c.toString(),i=n?.[c]??i*2,yield s(e,t,n,i,--a,o,++c)})}})),ZB=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.Application=void 0;var i=GB(),a=KB(),o=qB(),s=JB(),c=XB();e.Application=class{constructor(e){this.requestCtx=e}list(e){return r(this,void 0,void 0,function*(){let t=new c.SvixRequest(c.HttpMethod.GET,`/api/v1/app`);return t.setQueryParams({exclude_apps_with_no_endpoints:e?.excludeAppsWithNoEndpoints,exclude_apps_with_disabled_endpoints:e?.excludeAppsWithDisabledEndpoints,exclude_apps_with_svix_play_endpoints:e?.excludeAppsWithSvixPlayEndpoints,limit:e?.limit,iterator:e?.iterator,order:e?.order}),yield t.send(this.requestCtx,s.ListResponseApplicationOutSerializer._fromJsonObject)})}create(e,t){return r(this,void 0,void 0,function*(){let n=new c.SvixRequest(c.HttpMethod.POST,`/api/v1/app`);return n.setHeaderParam(`idempotency-key`,t?.idempotencyKey),n.setBody(i.ApplicationInSerializer._toJsonObject(e)),yield n.send(this.requestCtx,a.ApplicationOutSerializer._fromJsonObject)})}getOrCreate(e,t){let n=new c.SvixRequest(c.HttpMethod.POST,`/api/v1/app`);return n.setQueryParam(`get_if_exists`,!0),n.setHeaderParam(`idempotency-key`,t?.idempotencyKey),n.setBody(i.ApplicationInSerializer._toJsonObject(e)),n.send(this.requestCtx,a.ApplicationOutSerializer._fromJsonObject)}get(e){return r(this,void 0,void 0,function*(){let t=new c.SvixRequest(c.HttpMethod.GET,`/api/v1/app/{app_id}`);return t.setPathParam(`app_id`,e),yield t.send(this.requestCtx,a.ApplicationOutSerializer._fromJsonObject)})}update(e,t){return r(this,void 0,void 0,function*(){let n=new c.SvixRequest(c.HttpMethod.PUT,`/api/v1/app/{app_id}`);return n.setPathParam(`app_id`,e),n.setBody(i.ApplicationInSerializer._toJsonObject(t)),yield n.send(this.requestCtx,a.ApplicationOutSerializer._fromJsonObject)})}delete(e){return r(this,void 0,void 0,function*(){let t=new c.SvixRequest(c.HttpMethod.DELETE,`/api/v1/app/{app_id}`);return t.setPathParam(`app_id`,e),yield t.sendNoResponseBody(this.requestCtx)})}patch(e,t){return r(this,void 0,void 0,function*(){let n=new c.SvixRequest(c.HttpMethod.PATCH,`/api/v1/app/{app_id}`);return n.setPathParam(`app_id`,e),n.setBody(o.ApplicationPatchSerializer._toJsonObject(t)),yield n.send(this.requestCtx,a.ApplicationOutSerializer._fromJsonObject)})}}})),QB=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ApiTokenOutSerializer=void 0,e.ApiTokenOutSerializer={_fromJsonObject(e){return{createdAt:new Date(e.createdAt),expiresAt:e.expiresAt?new Date(e.expiresAt):null,id:e.id,name:e.name,scopes:e.scopes,token:e.token}},_toJsonObject(e){return{createdAt:e.createdAt,expiresAt:e.expiresAt,id:e.id,name:e.name,scopes:e.scopes,token:e.token}}}})),$B=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AppPortalCapabilitySerializer=e.AppPortalCapability=void 0,(function(e){e.ViewBase=`ViewBase`,e.ViewEndpointSecret=`ViewEndpointSecret`,e.ManageEndpointSecret=`ManageEndpointSecret`,e.ManageTransformations=`ManageTransformations`,e.CreateAttempts=`CreateAttempts`,e.ManageEndpoint=`ManageEndpoint`})(e.AppPortalCapability||={}),e.AppPortalCapabilitySerializer={_fromJsonObject(e){return e},_toJsonObject(e){return e}}})),eV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AppPortalAccessInSerializer=void 0;var t=$B(),n=GB();e.AppPortalAccessInSerializer={_fromJsonObject(e){return{application:e.application==null?void 0:n.ApplicationInSerializer._fromJsonObject(e.application),capabilities:e.capabilities?.map(e=>t.AppPortalCapabilitySerializer._fromJsonObject(e)),expiry:e.expiry,featureFlags:e.featureFlags,readOnly:e.readOnly,sessionId:e.sessionId}},_toJsonObject(e){return{application:e.application==null?void 0:n.ApplicationInSerializer._toJsonObject(e.application),capabilities:e.capabilities?.map(e=>t.AppPortalCapabilitySerializer._toJsonObject(e)),expiry:e.expiry,featureFlags:e.featureFlags,readOnly:e.readOnly,sessionId:e.sessionId}}}})),tV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AppPortalAccessOutSerializer=void 0,e.AppPortalAccessOutSerializer={_fromJsonObject(e){return{token:e.token,url:e.url}},_toJsonObject(e){return{token:e.token,url:e.url}}}})),nV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ApplicationTokenExpireInSerializer=void 0,e.ApplicationTokenExpireInSerializer={_fromJsonObject(e){return{expiry:e.expiry,sessionIds:e.sessionIds}},_toJsonObject(e){return{expiry:e.expiry,sessionIds:e.sessionIds}}}})),rV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RotatePollerTokenInSerializer=void 0,e.RotatePollerTokenInSerializer={_fromJsonObject(e){return{expiry:e.expiry,oldTokenExpiry:e.oldTokenExpiry}},_toJsonObject(e){return{expiry:e.expiry,oldTokenExpiry:e.oldTokenExpiry}}}})),iV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StreamPortalAccessInSerializer=void 0,e.StreamPortalAccessInSerializer={_fromJsonObject(e){return{expiry:e.expiry,featureFlags:e.featureFlags,sessionId:e.sessionId}},_toJsonObject(e){return{expiry:e.expiry,featureFlags:e.featureFlags,sessionId:e.sessionId}}}})),aV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StreamTokenExpireInSerializer=void 0,e.StreamTokenExpireInSerializer={_fromJsonObject(e){return{expiry:e.expiry,sessionIds:e.sessionIds}},_toJsonObject(e){return{expiry:e.expiry,sessionIds:e.sessionIds}}}})),oV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.DashboardAccessOutSerializer=void 0,e.DashboardAccessOutSerializer={_fromJsonObject(e){return{token:e.token,url:e.url}},_toJsonObject(e){return{token:e.token,url:e.url}}}})),sV=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.Authentication=void 0;var i=QB(),a=eV(),o=tV(),s=nV(),c=rV(),l=iV(),u=aV(),d=oV(),f=XB();e.Authentication=class{constructor(e){this.requestCtx=e}appPortalAccess(e,t={},n){return r(this,void 0,void 0,function*(){let r=new f.SvixRequest(f.HttpMethod.POST,`/api/v1/auth/app-portal-access/{app_id}`);return r.setPathParam(`app_id`,e),r.setHeaderParam(`idempotency-key`,n?.idempotencyKey),r.setBody(a.AppPortalAccessInSerializer._toJsonObject(t)),yield r.send(this.requestCtx,o.AppPortalAccessOutSerializer._fromJsonObject)})}logout(e){return r(this,void 0,void 0,function*(){let t=new f.SvixRequest(f.HttpMethod.POST,`/api/v1/auth/logout`);return t.setHeaderParam(`idempotency-key`,e?.idempotencyKey),yield t.sendNoResponseBody(this.requestCtx)})}expireAll(e,t={},n){return r(this,void 0,void 0,function*(){let r=new f.SvixRequest(f.HttpMethod.POST,`/api/v1/auth/app/{app_id}/expire-all`);return r.setPathParam(`app_id`,e),r.setHeaderParam(`idempotency-key`,n?.idempotencyKey),r.setBody(s.ApplicationTokenExpireInSerializer._toJsonObject(t)),yield r.sendNoResponseBody(this.requestCtx)})}dashboardAccess(e,t){let n=new f.SvixRequest(f.HttpMethod.POST,`/api/v1/auth/dashboard-access/{app_id}`);return n.setPathParam(`app_id`,e),n.setHeaderParam(`idempotency-key`,t?.idempotencyKey),n.send(this.requestCtx,d.DashboardAccessOutSerializer._fromJsonObject)}streamPortalAccess(e,t={},n){return r(this,void 0,void 0,function*(){let r=new f.SvixRequest(f.HttpMethod.POST,`/api/v1/auth/stream-portal-access/{stream_id}`);return r.setPathParam(`stream_id`,e),r.setHeaderParam(`idempotency-key`,n?.idempotencyKey),r.setBody(l.StreamPortalAccessInSerializer._toJsonObject(t)),yield r.send(this.requestCtx,o.AppPortalAccessOutSerializer._fromJsonObject)})}streamLogout(e){return r(this,void 0,void 0,function*(){let t=new f.SvixRequest(f.HttpMethod.POST,`/api/v1/auth/stream-logout`);return t.setHeaderParam(`idempotency-key`,e?.idempotencyKey),yield t.sendNoResponseBody(this.requestCtx)})}streamExpireAll(e,t={},n){return r(this,void 0,void 0,function*(){let r=new f.SvixRequest(f.HttpMethod.POST,`/api/v1/auth/stream/{stream_id}/expire-all`);return r.setPathParam(`stream_id`,e),r.setHeaderParam(`idempotency-key`,n?.idempotencyKey),r.setBody(u.StreamTokenExpireInSerializer._toJsonObject(t)),yield r.sendNoResponseBody(this.requestCtx)})}rotateStreamPollerToken(e,t,n={},a){return r(this,void 0,void 0,function*(){let r=new f.SvixRequest(f.HttpMethod.POST,`/api/v1/auth/stream/{stream_id}/sink/{sink_id}/poller/token/rotate`);return r.setPathParam(`stream_id`,e),r.setPathParam(`sink_id`,t),r.setHeaderParam(`idempotency-key`,a?.idempotencyKey),r.setBody(c.RotatePollerTokenInSerializer._toJsonObject(n)),yield r.send(this.requestCtx,i.ApiTokenOutSerializer._fromJsonObject)})}getStreamPollerToken(e,t){return r(this,void 0,void 0,function*(){let n=new f.SvixRequest(f.HttpMethod.GET,`/api/v1/auth/stream/{stream_id}/sink/{sink_id}/poller/token`);return n.setPathParam(`stream_id`,e),n.setPathParam(`sink_id`,t),yield n.send(this.requestCtx,i.ApiTokenOutSerializer._fromJsonObject)})}}})),cV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BackgroundTaskStatusSerializer=e.BackgroundTaskStatus=void 0,(function(e){e.Running=`running`,e.Finished=`finished`,e.Failed=`failed`})(e.BackgroundTaskStatus||={}),e.BackgroundTaskStatusSerializer={_fromJsonObject(e){return e},_toJsonObject(e){return e}}})),lV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BackgroundTaskTypeSerializer=e.BackgroundTaskType=void 0,(function(e){e.EndpointReplay=`endpoint.replay`,e.EndpointRecover=`endpoint.recover`,e.ApplicationStats=`application.stats`,e.MessageBroadcast=`message.broadcast`,e.SdkGenerate=`sdk.generate`,e.EventTypeAggregate=`event-type.aggregate`,e.ApplicationPurgeContent=`application.purge_content`,e.EndpointBulkReplay=`endpoint.bulk-replay`})(e.BackgroundTaskType||={}),e.BackgroundTaskTypeSerializer={_fromJsonObject(e){return e},_toJsonObject(e){return e}}})),uV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BackgroundTaskOutSerializer=void 0;var t=cV(),n=lV();e.BackgroundTaskOutSerializer={_fromJsonObject(e){return{data:e.data,id:e.id,status:t.BackgroundTaskStatusSerializer._fromJsonObject(e.status),task:n.BackgroundTaskTypeSerializer._fromJsonObject(e.task),updatedAt:new Date(e.updatedAt)}},_toJsonObject(e){return{data:e.data,id:e.id,status:t.BackgroundTaskStatusSerializer._toJsonObject(e.status),task:n.BackgroundTaskTypeSerializer._toJsonObject(e.task),updatedAt:e.updatedAt}}}})),dV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListResponseBackgroundTaskOutSerializer=void 0;var t=uV();e.ListResponseBackgroundTaskOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.BackgroundTaskOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}},_toJsonObject(e){return{data:e.data.map(e=>t.BackgroundTaskOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}}}})),fV=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.BackgroundTask=void 0;var i=uV(),a=dV(),o=XB();e.BackgroundTask=class{constructor(e){this.requestCtx=e}list(e){return r(this,void 0,void 0,function*(){let t=new o.SvixRequest(o.HttpMethod.GET,`/api/v1/background-task`);return t.setQueryParams({status:e?.status,task:e?.task,limit:e?.limit,iterator:e?.iterator,order:e?.order}),yield t.send(this.requestCtx,a.ListResponseBackgroundTaskOutSerializer._fromJsonObject)})}listByEndpoint(e){return this.list(e)}get(e){return r(this,void 0,void 0,function*(){let t=new o.SvixRequest(o.HttpMethod.GET,`/api/v1/background-task/{task_id}`);return t.setPathParam(`task_id`,e),yield t.send(this.requestCtx,i.BackgroundTaskOutSerializer._fromJsonObject)})}}})),pV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ConnectorKindSerializer=e.ConnectorKind=void 0,(function(e){e.Custom=`Custom`,e.AgenticCommerceProtocol=`AgenticCommerceProtocol`,e.CloseCrm=`CloseCRM`,e.CustomerIo=`CustomerIO`,e.Discord=`Discord`,e.Hubspot=`Hubspot`,e.Inngest=`Inngest`,e.Loops=`Loops`,e.Otel=`Otel`,e.Resend=`Resend`,e.Salesforce=`Salesforce`,e.Segment=`Segment`,e.Sendgrid=`Sendgrid`,e.Slack=`Slack`,e.Teams=`Teams`,e.TriggerDev=`TriggerDev`,e.Windmill=`Windmill`,e.Zapier=`Zapier`})(e.ConnectorKind||={}),e.ConnectorKindSerializer={_fromJsonObject(e){return e},_toJsonObject(e){return e}}})),mV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ConnectorProductSerializer=e.ConnectorProduct=void 0,(function(e){e.Dispatch=`Dispatch`,e.Stream=`Stream`})(e.ConnectorProduct||={}),e.ConnectorProductSerializer={_fromJsonObject(e){return e},_toJsonObject(e){return e}}})),hV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ConnectorInSerializer=void 0;var t=pV(),n=mV();e.ConnectorInSerializer={_fromJsonObject(e){return{allowedEventTypes:e.allowedEventTypes,description:e.description,featureFlags:e.featureFlags,instructions:e.instructions,kind:e.kind==null?void 0:t.ConnectorKindSerializer._fromJsonObject(e.kind),logo:e.logo,name:e.name,productType:e.productType==null?void 0:n.ConnectorProductSerializer._fromJsonObject(e.productType),transformation:e.transformation,uid:e.uid}},_toJsonObject(e){return{allowedEventTypes:e.allowedEventTypes,description:e.description,featureFlags:e.featureFlags,instructions:e.instructions,kind:e.kind==null?void 0:t.ConnectorKindSerializer._toJsonObject(e.kind),logo:e.logo,name:e.name,productType:e.productType==null?void 0:n.ConnectorProductSerializer._toJsonObject(e.productType),transformation:e.transformation,uid:e.uid}}}})),gV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ConnectorOutSerializer=void 0;var t=pV(),n=mV();e.ConnectorOutSerializer={_fromJsonObject(e){return{allowedEventTypes:e.allowedEventTypes,createdAt:new Date(e.createdAt),description:e.description,featureFlags:e.featureFlags,id:e.id,instructions:e.instructions,kind:t.ConnectorKindSerializer._fromJsonObject(e.kind),logo:e.logo,name:e.name,orgId:e.orgId,productType:n.ConnectorProductSerializer._fromJsonObject(e.productType),transformation:e.transformation,transformationUpdatedAt:new Date(e.transformationUpdatedAt),uid:e.uid,updatedAt:new Date(e.updatedAt)}},_toJsonObject(e){return{allowedEventTypes:e.allowedEventTypes,createdAt:e.createdAt,description:e.description,featureFlags:e.featureFlags,id:e.id,instructions:e.instructions,kind:t.ConnectorKindSerializer._toJsonObject(e.kind),logo:e.logo,name:e.name,orgId:e.orgId,productType:n.ConnectorProductSerializer._toJsonObject(e.productType),transformation:e.transformation,transformationUpdatedAt:e.transformationUpdatedAt,uid:e.uid,updatedAt:e.updatedAt}}}})),_V=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ConnectorPatchSerializer=void 0;var t=pV();e.ConnectorPatchSerializer={_fromJsonObject(e){return{allowedEventTypes:e.allowedEventTypes,description:e.description,featureFlags:e.featureFlags,instructions:e.instructions,kind:e.kind==null?void 0:t.ConnectorKindSerializer._fromJsonObject(e.kind),logo:e.logo,name:e.name,transformation:e.transformation}},_toJsonObject(e){return{allowedEventTypes:e.allowedEventTypes,description:e.description,featureFlags:e.featureFlags,instructions:e.instructions,kind:e.kind==null?void 0:t.ConnectorKindSerializer._toJsonObject(e.kind),logo:e.logo,name:e.name,transformation:e.transformation}}}})),vV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ConnectorUpdateSerializer=void 0;var t=pV();e.ConnectorUpdateSerializer={_fromJsonObject(e){return{allowedEventTypes:e.allowedEventTypes,description:e.description,featureFlags:e.featureFlags,instructions:e.instructions,kind:e.kind==null?void 0:t.ConnectorKindSerializer._fromJsonObject(e.kind),logo:e.logo,name:e.name,transformation:e.transformation}},_toJsonObject(e){return{allowedEventTypes:e.allowedEventTypes,description:e.description,featureFlags:e.featureFlags,instructions:e.instructions,kind:e.kind==null?void 0:t.ConnectorKindSerializer._toJsonObject(e.kind),logo:e.logo,name:e.name,transformation:e.transformation}}}})),yV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListResponseConnectorOutSerializer=void 0;var t=gV();e.ListResponseConnectorOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.ConnectorOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}},_toJsonObject(e){return{data:e.data.map(e=>t.ConnectorOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}}}})),bV=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.Connector=void 0;var i=hV(),a=gV(),o=_V(),s=vV(),c=yV(),l=XB();e.Connector=class{constructor(e){this.requestCtx=e}list(e){return r(this,void 0,void 0,function*(){let t=new l.SvixRequest(l.HttpMethod.GET,`/api/v1/connector`);return t.setQueryParams({limit:e?.limit,iterator:e?.iterator,order:e?.order,product_type:e?.productType}),yield t.send(this.requestCtx,c.ListResponseConnectorOutSerializer._fromJsonObject)})}create(e,t){return r(this,void 0,void 0,function*(){let n=new l.SvixRequest(l.HttpMethod.POST,`/api/v1/connector`);return n.setHeaderParam(`idempotency-key`,t?.idempotencyKey),n.setBody(i.ConnectorInSerializer._toJsonObject(e)),yield n.send(this.requestCtx,a.ConnectorOutSerializer._fromJsonObject)})}get(e){return r(this,void 0,void 0,function*(){let t=new l.SvixRequest(l.HttpMethod.GET,`/api/v1/connector/{connector_id}`);return t.setPathParam(`connector_id`,e),yield t.send(this.requestCtx,a.ConnectorOutSerializer._fromJsonObject)})}update(e,t){return r(this,void 0,void 0,function*(){let n=new l.SvixRequest(l.HttpMethod.PUT,`/api/v1/connector/{connector_id}`);return n.setPathParam(`connector_id`,e),n.setBody(s.ConnectorUpdateSerializer._toJsonObject(t)),yield n.send(this.requestCtx,a.ConnectorOutSerializer._fromJsonObject)})}delete(e){return r(this,void 0,void 0,function*(){let t=new l.SvixRequest(l.HttpMethod.DELETE,`/api/v1/connector/{connector_id}`);return t.setPathParam(`connector_id`,e),yield t.sendNoResponseBody(this.requestCtx)})}patch(e,t){return r(this,void 0,void 0,function*(){let n=new l.SvixRequest(l.HttpMethod.PATCH,`/api/v1/connector/{connector_id}`);return n.setPathParam(`connector_id`,e),n.setBody(o.ConnectorPatchSerializer._toJsonObject(t)),yield n.send(this.requestCtx,a.ConnectorOutSerializer._fromJsonObject)})}}})),xV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MessageStatusSerializer=e.MessageStatus=void 0,(function(e){e[e.Success=0]=`Success`,e[e.Pending=1]=`Pending`,e[e.Fail=2]=`Fail`,e[e.Sending=3]=`Sending`,e[e.Canceled=4]=`Canceled`})(e.MessageStatus||={}),e.MessageStatusSerializer={_fromJsonObject(e){return e},_toJsonObject(e){return e}}})),SV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StatusCodeClassSerializer=e.StatusCodeClass=void 0,(function(e){e[e.CodeNone=0]=`CodeNone`,e[e.Code1xx=100]=`Code1xx`,e[e.Code2xx=200]=`Code2xx`,e[e.Code3xx=300]=`Code3xx`,e[e.Code4xx=400]=`Code4xx`,e[e.Code5xx=500]=`Code5xx`})(e.StatusCodeClass||={}),e.StatusCodeClassSerializer={_fromJsonObject(e){return e},_toJsonObject(e){return e}}})),CV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BulkReplayInSerializer=void 0;var t=xV(),n=SV();e.BulkReplayInSerializer={_fromJsonObject(e){return{channel:e.channel,eventTypes:e.eventTypes,since:new Date(e.since),status:e.status==null?void 0:t.MessageStatusSerializer._fromJsonObject(e.status),statusCodeClass:e.statusCodeClass==null?void 0:n.StatusCodeClassSerializer._fromJsonObject(e.statusCodeClass),tag:e.tag,until:e.until?new Date(e.until):null}},_toJsonObject(e){return{channel:e.channel,eventTypes:e.eventTypes,since:e.since,status:e.status==null?void 0:t.MessageStatusSerializer._toJsonObject(e.status),statusCodeClass:e.statusCodeClass==null?void 0:n.StatusCodeClassSerializer._toJsonObject(e.statusCodeClass),tag:e.tag,until:e.until}}}})),wV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EndpointHeadersInSerializer=void 0,e.EndpointHeadersInSerializer={_fromJsonObject(e){return{headers:e.headers}},_toJsonObject(e){return{headers:e.headers}}}})),TV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EndpointHeadersOutSerializer=void 0,e.EndpointHeadersOutSerializer={_fromJsonObject(e){return{headers:e.headers,sensitive:e.sensitive}},_toJsonObject(e){return{headers:e.headers,sensitive:e.sensitive}}}})),EV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EndpointHeadersPatchInSerializer=void 0,e.EndpointHeadersPatchInSerializer={_fromJsonObject(e){return{deleteHeaders:e.deleteHeaders,headers:e.headers}},_toJsonObject(e){return{deleteHeaders:e.deleteHeaders,headers:e.headers}}}})),DV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EndpointInSerializer=void 0,e.EndpointInSerializer={_fromJsonObject(e){return{channels:e.channels,description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,headers:e.headers,metadata:e.metadata,rateLimit:e.rateLimit,secret:e.secret,throttleRate:e.throttleRate,uid:e.uid,url:e.url,version:e.version}},_toJsonObject(e){return{channels:e.channels,description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,headers:e.headers,metadata:e.metadata,rateLimit:e.rateLimit,secret:e.secret,throttleRate:e.throttleRate,uid:e.uid,url:e.url,version:e.version}}}})),OV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EndpointOutSerializer=void 0,e.EndpointOutSerializer={_fromJsonObject(e){return{channels:e.channels,createdAt:new Date(e.createdAt),description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,id:e.id,metadata:e.metadata,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid,updatedAt:new Date(e.updatedAt),url:e.url,version:e.version}},_toJsonObject(e){return{channels:e.channels,createdAt:e.createdAt,description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,id:e.id,metadata:e.metadata,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid,updatedAt:e.updatedAt,url:e.url,version:e.version}}}})),kV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EndpointPatchSerializer=void 0,e.EndpointPatchSerializer={_fromJsonObject(e){return{channels:e.channels,description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,metadata:e.metadata,rateLimit:e.rateLimit,secret:e.secret,throttleRate:e.throttleRate,uid:e.uid,url:e.url,version:e.version}},_toJsonObject(e){return{channels:e.channels,description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,metadata:e.metadata,rateLimit:e.rateLimit,secret:e.secret,throttleRate:e.throttleRate,uid:e.uid,url:e.url,version:e.version}}}})),AV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EndpointSecretOutSerializer=void 0,e.EndpointSecretOutSerializer={_fromJsonObject(e){return{key:e.key}},_toJsonObject(e){return{key:e.key}}}})),jV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EndpointSecretRotateInSerializer=void 0,e.EndpointSecretRotateInSerializer={_fromJsonObject(e){return{gracePeriodSeconds:e.gracePeriodSeconds,key:e.key}},_toJsonObject(e){return{gracePeriodSeconds:e.gracePeriodSeconds,key:e.key}}}})),MV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EndpointStatsSerializer=void 0,e.EndpointStatsSerializer={_fromJsonObject(e){return{canceled:e.canceled,fail:e.fail,pending:e.pending,sending:e.sending,success:e.success}},_toJsonObject(e){return{canceled:e.canceled,fail:e.fail,pending:e.pending,sending:e.sending,success:e.success}}}})),NV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EndpointTransformationInSerializer=void 0,e.EndpointTransformationInSerializer={_fromJsonObject(e){return{code:e.code,enabled:e.enabled}},_toJsonObject(e){return{code:e.code,enabled:e.enabled}}}})),PV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EndpointTransformationOutSerializer=void 0,e.EndpointTransformationOutSerializer={_fromJsonObject(e){return{code:e.code,enabled:e.enabled,updatedAt:e.updatedAt?new Date(e.updatedAt):null,variables:e.variables}},_toJsonObject(e){return{code:e.code,enabled:e.enabled,updatedAt:e.updatedAt,variables:e.variables}}}})),FV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EndpointTransformationPatchSerializer=void 0,e.EndpointTransformationPatchSerializer={_fromJsonObject(e){return{code:e.code,enabled:e.enabled,variables:e.variables}},_toJsonObject(e){return{code:e.code,enabled:e.enabled,variables:e.variables}}}})),IV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EndpointUpdateSerializer=void 0,e.EndpointUpdateSerializer={_fromJsonObject(e){return{channels:e.channels,description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,metadata:e.metadata,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid,url:e.url,version:e.version}},_toJsonObject(e){return{channels:e.channels,description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,metadata:e.metadata,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid,url:e.url,version:e.version}}}})),LV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EventExampleInSerializer=void 0,e.EventExampleInSerializer={_fromJsonObject(e){return{eventType:e.eventType,exampleIndex:e.exampleIndex}},_toJsonObject(e){return{eventType:e.eventType,exampleIndex:e.exampleIndex}}}})),RV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListResponseEndpointOutSerializer=void 0;var t=OV();e.ListResponseEndpointOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.EndpointOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}},_toJsonObject(e){return{data:e.data.map(e=>t.EndpointOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}}}})),zV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MessageOutSerializer=void 0,e.MessageOutSerializer={_fromJsonObject(e){return{channels:e.channels,deliverAt:e.deliverAt?new Date(e.deliverAt):null,eventId:e.eventId,eventType:e.eventType,id:e.id,payload:e.payload,tags:e.tags,timestamp:new Date(e.timestamp)}},_toJsonObject(e){return{channels:e.channels,deliverAt:e.deliverAt,eventId:e.eventId,eventType:e.eventType,id:e.id,payload:e.payload,tags:e.tags,timestamp:e.timestamp}}}})),BV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RecoverInSerializer=void 0,e.RecoverInSerializer={_fromJsonObject(e){return{since:new Date(e.since),until:e.until?new Date(e.until):null}},_toJsonObject(e){return{since:e.since,until:e.until}}}})),VV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RecoverOutSerializer=void 0;var t=cV(),n=lV();e.RecoverOutSerializer={_fromJsonObject(e){return{id:e.id,status:t.BackgroundTaskStatusSerializer._fromJsonObject(e.status),task:n.BackgroundTaskTypeSerializer._fromJsonObject(e.task),updatedAt:new Date(e.updatedAt)}},_toJsonObject(e){return{id:e.id,status:t.BackgroundTaskStatusSerializer._toJsonObject(e.status),task:n.BackgroundTaskTypeSerializer._toJsonObject(e.task),updatedAt:e.updatedAt}}}})),HV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ReplayInSerializer=void 0,e.ReplayInSerializer={_fromJsonObject(e){return{since:new Date(e.since),until:e.until?new Date(e.until):null}},_toJsonObject(e){return{since:e.since,until:e.until}}}})),UV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ReplayOutSerializer=void 0;var t=cV(),n=lV();e.ReplayOutSerializer={_fromJsonObject(e){return{id:e.id,status:t.BackgroundTaskStatusSerializer._fromJsonObject(e.status),task:n.BackgroundTaskTypeSerializer._fromJsonObject(e.task),updatedAt:new Date(e.updatedAt)}},_toJsonObject(e){return{id:e.id,status:t.BackgroundTaskStatusSerializer._toJsonObject(e.status),task:n.BackgroundTaskTypeSerializer._toJsonObject(e.task),updatedAt:e.updatedAt}}}})),WV=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.Endpoint=void 0;var i=CV(),a=wV(),o=TV(),s=EV(),c=DV(),l=OV(),u=kV(),d=AV(),f=jV(),p=MV(),m=NV(),h=PV(),g=FV(),_=IV(),v=LV(),y=RV(),b=zV(),x=BV(),S=VV(),C=HV(),w=UV(),T=XB();e.Endpoint=class{constructor(e){this.requestCtx=e}list(e,t){return r(this,void 0,void 0,function*(){let n=new T.SvixRequest(T.HttpMethod.GET,`/api/v1/app/{app_id}/endpoint`);return n.setPathParam(`app_id`,e),n.setQueryParams({limit:t?.limit,iterator:t?.iterator,order:t?.order}),yield n.send(this.requestCtx,y.ListResponseEndpointOutSerializer._fromJsonObject)})}create(e,t,n){return r(this,void 0,void 0,function*(){let r=new T.SvixRequest(T.HttpMethod.POST,`/api/v1/app/{app_id}/endpoint`);return r.setPathParam(`app_id`,e),r.setHeaderParam(`idempotency-key`,n?.idempotencyKey),r.setBody(c.EndpointInSerializer._toJsonObject(t)),yield r.send(this.requestCtx,l.EndpointOutSerializer._fromJsonObject)})}get(e,t){return r(this,void 0,void 0,function*(){let n=new T.SvixRequest(T.HttpMethod.GET,`/api/v1/app/{app_id}/endpoint/{endpoint_id}`);return n.setPathParam(`app_id`,e),n.setPathParam(`endpoint_id`,t),yield n.send(this.requestCtx,l.EndpointOutSerializer._fromJsonObject)})}update(e,t,n){return r(this,void 0,void 0,function*(){let r=new T.SvixRequest(T.HttpMethod.PUT,`/api/v1/app/{app_id}/endpoint/{endpoint_id}`);return r.setPathParam(`app_id`,e),r.setPathParam(`endpoint_id`,t),r.setBody(_.EndpointUpdateSerializer._toJsonObject(n)),yield r.send(this.requestCtx,l.EndpointOutSerializer._fromJsonObject)})}delete(e,t){return r(this,void 0,void 0,function*(){let n=new T.SvixRequest(T.HttpMethod.DELETE,`/api/v1/app/{app_id}/endpoint/{endpoint_id}`);return n.setPathParam(`app_id`,e),n.setPathParam(`endpoint_id`,t),yield n.sendNoResponseBody(this.requestCtx)})}patch(e,t,n){return r(this,void 0,void 0,function*(){let r=new T.SvixRequest(T.HttpMethod.PATCH,`/api/v1/app/{app_id}/endpoint/{endpoint_id}`);return r.setPathParam(`app_id`,e),r.setPathParam(`endpoint_id`,t),r.setBody(u.EndpointPatchSerializer._toJsonObject(n)),yield r.send(this.requestCtx,l.EndpointOutSerializer._fromJsonObject)})}getSecret(e,t){return r(this,void 0,void 0,function*(){let n=new T.SvixRequest(T.HttpMethod.GET,`/api/v1/app/{app_id}/endpoint/{endpoint_id}/secret`);return n.setPathParam(`app_id`,e),n.setPathParam(`endpoint_id`,t),yield n.send(this.requestCtx,d.EndpointSecretOutSerializer._fromJsonObject)})}rotateSecret(e,t,n={},i){return r(this,void 0,void 0,function*(){let r=new T.SvixRequest(T.HttpMethod.POST,`/api/v1/app/{app_id}/endpoint/{endpoint_id}/secret/rotate`);return r.setPathParam(`app_id`,e),r.setPathParam(`endpoint_id`,t),r.setHeaderParam(`idempotency-key`,i?.idempotencyKey),r.setBody(f.EndpointSecretRotateInSerializer._toJsonObject(n)),yield r.sendNoResponseBody(this.requestCtx)})}getHeaders(e,t){return r(this,void 0,void 0,function*(){let n=new T.SvixRequest(T.HttpMethod.GET,`/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers`);return n.setPathParam(`app_id`,e),n.setPathParam(`endpoint_id`,t),yield n.send(this.requestCtx,o.EndpointHeadersOutSerializer._fromJsonObject)})}updateHeaders(e,t,n){return r(this,void 0,void 0,function*(){let r=new T.SvixRequest(T.HttpMethod.PUT,`/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers`);return r.setPathParam(`app_id`,e),r.setPathParam(`endpoint_id`,t),r.setBody(a.EndpointHeadersInSerializer._toJsonObject(n)),yield r.sendNoResponseBody(this.requestCtx)})}headersUpdate(e,t,n){return this.updateHeaders(e,t,n)}patchHeaders(e,t,n){return r(this,void 0,void 0,function*(){let r=new T.SvixRequest(T.HttpMethod.PATCH,`/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers`);return r.setPathParam(`app_id`,e),r.setPathParam(`endpoint_id`,t),r.setBody(s.EndpointHeadersPatchInSerializer._toJsonObject(n)),yield r.sendNoResponseBody(this.requestCtx)})}headersPatch(e,t,n){return this.patchHeaders(e,t,n)}transformationGet(e,t){return r(this,void 0,void 0,function*(){let n=new T.SvixRequest(T.HttpMethod.GET,`/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation`);return n.setPathParam(`app_id`,e),n.setPathParam(`endpoint_id`,t),yield n.send(this.requestCtx,h.EndpointTransformationOutSerializer._fromJsonObject)})}patchTransformation(e,t,n){return r(this,void 0,void 0,function*(){let r=new T.SvixRequest(T.HttpMethod.PATCH,`/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation`);return r.setPathParam(`app_id`,e),r.setPathParam(`endpoint_id`,t),r.setBody(g.EndpointTransformationPatchSerializer._toJsonObject(n)),yield r.sendNoResponseBody(this.requestCtx)})}replayMissing(e,t,n,i){return r(this,void 0,void 0,function*(){let r=new T.SvixRequest(T.HttpMethod.POST,`/api/v1/app/{app_id}/endpoint/{endpoint_id}/replay-missing`);return r.setPathParam(`app_id`,e),r.setPathParam(`endpoint_id`,t),r.setHeaderParam(`idempotency-key`,i?.idempotencyKey),r.setBody(C.ReplayInSerializer._toJsonObject(n)),yield r.send(this.requestCtx,w.ReplayOutSerializer._fromJsonObject)})}bulkReplay(e,t,n,a){return r(this,void 0,void 0,function*(){let r=new T.SvixRequest(T.HttpMethod.POST,`/api/v1/app/{app_id}/endpoint/{endpoint_id}/bulk-replay`);return r.setPathParam(`app_id`,e),r.setPathParam(`endpoint_id`,t),r.setHeaderParam(`idempotency-key`,a?.idempotencyKey),r.setBody(i.BulkReplayInSerializer._toJsonObject(n)),yield r.send(this.requestCtx,w.ReplayOutSerializer._fromJsonObject)})}getStats(e,t,n){return r(this,void 0,void 0,function*(){let r=new T.SvixRequest(T.HttpMethod.GET,`/api/v1/app/{app_id}/endpoint/{endpoint_id}/stats`);return r.setPathParam(`app_id`,e),r.setPathParam(`endpoint_id`,t),r.setQueryParams({since:n?.since,until:n?.until}),yield r.send(this.requestCtx,p.EndpointStatsSerializer._fromJsonObject)})}recover(e,t,n,i){return r(this,void 0,void 0,function*(){let r=new T.SvixRequest(T.HttpMethod.POST,`/api/v1/app/{app_id}/endpoint/{endpoint_id}/recover`);return r.setPathParam(`app_id`,e),r.setPathParam(`endpoint_id`,t),r.setHeaderParam(`idempotency-key`,i?.idempotencyKey),r.setBody(x.RecoverInSerializer._toJsonObject(n)),yield r.send(this.requestCtx,S.RecoverOutSerializer._fromJsonObject)})}sendExample(e,t,n,i){return r(this,void 0,void 0,function*(){let r=new T.SvixRequest(T.HttpMethod.POST,`/api/v1/app/{app_id}/endpoint/{endpoint_id}/send-example`);return r.setPathParam(`app_id`,e),r.setPathParam(`endpoint_id`,t),r.setHeaderParam(`idempotency-key`,i?.idempotencyKey),r.setBody(v.EventExampleInSerializer._toJsonObject(n)),yield r.send(this.requestCtx,b.MessageOutSerializer._fromJsonObject)})}transformationPartialUpdate(e,t,n={}){return r(this,void 0,void 0,function*(){let r=new T.SvixRequest(T.HttpMethod.PATCH,`/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation`);return r.setPathParam(`app_id`,e),r.setPathParam(`endpoint_id`,t),r.setBody(m.EndpointTransformationInSerializer._toJsonObject(n)),yield r.sendNoResponseBody(this.requestCtx)})}}})),GV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EventTypeInSerializer=void 0,e.EventTypeInSerializer={_fromJsonObject(e){return{archived:e.archived,deprecated:e.deprecated,description:e.description,featureFlag:e.featureFlag,featureFlags:e.featureFlags,groupName:e.groupName,name:e.name,schemas:e.schemas}},_toJsonObject(e){return{archived:e.archived,deprecated:e.deprecated,description:e.description,featureFlag:e.featureFlag,featureFlags:e.featureFlags,groupName:e.groupName,name:e.name,schemas:e.schemas}}}})),KV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EnvironmentInSerializer=void 0;var t=hV(),n=GV();e.EnvironmentInSerializer={_fromJsonObject(e){return{connectors:e.connectors?.map(e=>t.ConnectorInSerializer._fromJsonObject(e)),eventTypes:e.eventTypes?.map(e=>n.EventTypeInSerializer._fromJsonObject(e)),settings:e.settings}},_toJsonObject(e){return{connectors:e.connectors?.map(e=>t.ConnectorInSerializer._toJsonObject(e)),eventTypes:e.eventTypes?.map(e=>n.EventTypeInSerializer._toJsonObject(e)),settings:e.settings}}}})),qV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EventTypeOutSerializer=void 0,e.EventTypeOutSerializer={_fromJsonObject(e){return{archived:e.archived,createdAt:new Date(e.createdAt),deprecated:e.deprecated,description:e.description,featureFlag:e.featureFlag,featureFlags:e.featureFlags,groupName:e.groupName,name:e.name,schemas:e.schemas,updatedAt:new Date(e.updatedAt)}},_toJsonObject(e){return{archived:e.archived,createdAt:e.createdAt,deprecated:e.deprecated,description:e.description,featureFlag:e.featureFlag,featureFlags:e.featureFlags,groupName:e.groupName,name:e.name,schemas:e.schemas,updatedAt:e.updatedAt}}}})),JV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EnvironmentOutSerializer=void 0;var t=gV(),n=qV();e.EnvironmentOutSerializer={_fromJsonObject(e){return{connectors:e.connectors.map(e=>t.ConnectorOutSerializer._fromJsonObject(e)),createdAt:new Date(e.createdAt),eventTypes:e.eventTypes.map(e=>n.EventTypeOutSerializer._fromJsonObject(e)),settings:e.settings,version:e.version}},_toJsonObject(e){return{connectors:e.connectors.map(e=>t.ConnectorOutSerializer._toJsonObject(e)),createdAt:e.createdAt,eventTypes:e.eventTypes.map(e=>n.EventTypeOutSerializer._toJsonObject(e)),settings:e.settings,version:e.version}}}})),YV=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.Environment=void 0;var i=KV(),a=JV(),o=XB();e.Environment=class{constructor(e){this.requestCtx=e}export(e){return r(this,void 0,void 0,function*(){let t=new o.SvixRequest(o.HttpMethod.POST,`/api/v1/environment/export`);return t.setHeaderParam(`idempotency-key`,e?.idempotencyKey),yield t.send(this.requestCtx,a.EnvironmentOutSerializer._fromJsonObject)})}import(e={},t){return r(this,void 0,void 0,function*(){let n=new o.SvixRequest(o.HttpMethod.POST,`/api/v1/environment/import`);return n.setHeaderParam(`idempotency-key`,t?.idempotencyKey),n.setBody(i.EnvironmentInSerializer._toJsonObject(e)),yield n.sendNoResponseBody(this.requestCtx)})}}})),XV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EventTypeImportOpenApiInSerializer=void 0,e.EventTypeImportOpenApiInSerializer={_fromJsonObject(e){return{dryRun:e.dryRun,replaceAll:e.replaceAll,spec:e.spec,specRaw:e.specRaw}},_toJsonObject(e){return{dryRun:e.dryRun,replaceAll:e.replaceAll,spec:e.spec,specRaw:e.specRaw}}}})),ZV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EventTypeFromOpenApiSerializer=void 0,e.EventTypeFromOpenApiSerializer={_fromJsonObject(e){return{deprecated:e.deprecated,description:e.description,featureFlag:e.featureFlag,featureFlags:e.featureFlags,groupName:e.groupName,name:e.name,schemas:e.schemas}},_toJsonObject(e){return{deprecated:e.deprecated,description:e.description,featureFlag:e.featureFlag,featureFlags:e.featureFlags,groupName:e.groupName,name:e.name,schemas:e.schemas}}}})),QV=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EventTypeImportOpenApiOutDataSerializer=void 0;var t=ZV();e.EventTypeImportOpenApiOutDataSerializer={_fromJsonObject(e){return{modified:e.modified,toModify:e.to_modify?.map(e=>t.EventTypeFromOpenApiSerializer._fromJsonObject(e))}},_toJsonObject(e){return{modified:e.modified,to_modify:e.toModify?.map(e=>t.EventTypeFromOpenApiSerializer._toJsonObject(e))}}}})),$V=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EventTypeImportOpenApiOutSerializer=void 0;var t=QV();e.EventTypeImportOpenApiOutSerializer={_fromJsonObject(e){return{data:t.EventTypeImportOpenApiOutDataSerializer._fromJsonObject(e.data)}},_toJsonObject(e){return{data:t.EventTypeImportOpenApiOutDataSerializer._toJsonObject(e.data)}}}})),eH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EventTypePatchSerializer=void 0,e.EventTypePatchSerializer={_fromJsonObject(e){return{archived:e.archived,deprecated:e.deprecated,description:e.description,featureFlag:e.featureFlag,featureFlags:e.featureFlags,groupName:e.groupName,schemas:e.schemas}},_toJsonObject(e){return{archived:e.archived,deprecated:e.deprecated,description:e.description,featureFlag:e.featureFlag,featureFlags:e.featureFlags,groupName:e.groupName,schemas:e.schemas}}}})),tH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EventTypeUpdateSerializer=void 0,e.EventTypeUpdateSerializer={_fromJsonObject(e){return{archived:e.archived,deprecated:e.deprecated,description:e.description,featureFlag:e.featureFlag,featureFlags:e.featureFlags,groupName:e.groupName,schemas:e.schemas}},_toJsonObject(e){return{archived:e.archived,deprecated:e.deprecated,description:e.description,featureFlag:e.featureFlag,featureFlags:e.featureFlags,groupName:e.groupName,schemas:e.schemas}}}})),nH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListResponseEventTypeOutSerializer=void 0;var t=qV();e.ListResponseEventTypeOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.EventTypeOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}},_toJsonObject(e){return{data:e.data.map(e=>t.EventTypeOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}}}})),rH=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.EventType=void 0;var i=XV(),a=$V(),o=GV(),s=qV(),c=eH(),l=tH(),u=nH(),d=XB();e.EventType=class{constructor(e){this.requestCtx=e}list(e){return r(this,void 0,void 0,function*(){let t=new d.SvixRequest(d.HttpMethod.GET,`/api/v1/event-type`);return t.setQueryParams({limit:e?.limit,iterator:e?.iterator,order:e?.order,include_archived:e?.includeArchived,with_content:e?.withContent}),yield t.send(this.requestCtx,u.ListResponseEventTypeOutSerializer._fromJsonObject)})}create(e,t){return r(this,void 0,void 0,function*(){let n=new d.SvixRequest(d.HttpMethod.POST,`/api/v1/event-type`);return n.setHeaderParam(`idempotency-key`,t?.idempotencyKey),n.setBody(o.EventTypeInSerializer._toJsonObject(e)),yield n.send(this.requestCtx,s.EventTypeOutSerializer._fromJsonObject)})}importOpenapi(e={},t){return r(this,void 0,void 0,function*(){let n=new d.SvixRequest(d.HttpMethod.POST,`/api/v1/event-type/import/openapi`);return n.setHeaderParam(`idempotency-key`,t?.idempotencyKey),n.setBody(i.EventTypeImportOpenApiInSerializer._toJsonObject(e)),yield n.send(this.requestCtx,a.EventTypeImportOpenApiOutSerializer._fromJsonObject)})}get(e){return r(this,void 0,void 0,function*(){let t=new d.SvixRequest(d.HttpMethod.GET,`/api/v1/event-type/{event_type_name}`);return t.setPathParam(`event_type_name`,e),yield t.send(this.requestCtx,s.EventTypeOutSerializer._fromJsonObject)})}update(e,t){return r(this,void 0,void 0,function*(){let n=new d.SvixRequest(d.HttpMethod.PUT,`/api/v1/event-type/{event_type_name}`);return n.setPathParam(`event_type_name`,e),n.setBody(l.EventTypeUpdateSerializer._toJsonObject(t)),yield n.send(this.requestCtx,s.EventTypeOutSerializer._fromJsonObject)})}delete(e,t){return r(this,void 0,void 0,function*(){let n=new d.SvixRequest(d.HttpMethod.DELETE,`/api/v1/event-type/{event_type_name}`);return n.setPathParam(`event_type_name`,e),n.setQueryParams({expunge:t?.expunge}),yield n.sendNoResponseBody(this.requestCtx)})}patch(e,t){return r(this,void 0,void 0,function*(){let n=new d.SvixRequest(d.HttpMethod.PATCH,`/api/v1/event-type/{event_type_name}`);return n.setPathParam(`event_type_name`,e),n.setBody(c.EventTypePatchSerializer._toJsonObject(t)),yield n.send(this.requestCtx,s.EventTypeOutSerializer._fromJsonObject)})}}})),iH=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.Health=void 0;var i=XB();e.Health=class{constructor(e){this.requestCtx=e}get(){return r(this,void 0,void 0,function*(){return yield new i.SvixRequest(i.HttpMethod.GET,`/api/v1/health`).sendNoResponseBody(this.requestCtx)})}}})),aH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IngestSourceConsumerPortalAccessInSerializer=void 0,e.IngestSourceConsumerPortalAccessInSerializer={_fromJsonObject(e){return{expiry:e.expiry,readOnly:e.readOnly}},_toJsonObject(e){return{expiry:e.expiry,readOnly:e.readOnly}}}})),oH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IngestEndpointHeadersInSerializer=void 0,e.IngestEndpointHeadersInSerializer={_fromJsonObject(e){return{headers:e.headers}},_toJsonObject(e){return{headers:e.headers}}}})),sH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IngestEndpointHeadersOutSerializer=void 0,e.IngestEndpointHeadersOutSerializer={_fromJsonObject(e){return{headers:e.headers,sensitive:e.sensitive}},_toJsonObject(e){return{headers:e.headers,sensitive:e.sensitive}}}})),cH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IngestEndpointInSerializer=void 0,e.IngestEndpointInSerializer={_fromJsonObject(e){return{description:e.description,disabled:e.disabled,metadata:e.metadata,rateLimit:e.rateLimit,secret:e.secret,throttleRate:e.throttleRate,uid:e.uid,url:e.url}},_toJsonObject(e){return{description:e.description,disabled:e.disabled,metadata:e.metadata,rateLimit:e.rateLimit,secret:e.secret,throttleRate:e.throttleRate,uid:e.uid,url:e.url}}}})),lH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IngestEndpointOutSerializer=void 0,e.IngestEndpointOutSerializer={_fromJsonObject(e){return{createdAt:new Date(e.createdAt),description:e.description,disabled:e.disabled,id:e.id,metadata:e.metadata,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid,updatedAt:new Date(e.updatedAt),url:e.url}},_toJsonObject(e){return{createdAt:e.createdAt,description:e.description,disabled:e.disabled,id:e.id,metadata:e.metadata,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid,updatedAt:e.updatedAt,url:e.url}}}})),uH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IngestEndpointSecretInSerializer=void 0,e.IngestEndpointSecretInSerializer={_fromJsonObject(e){return{key:e.key}},_toJsonObject(e){return{key:e.key}}}})),dH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IngestEndpointSecretOutSerializer=void 0,e.IngestEndpointSecretOutSerializer={_fromJsonObject(e){return{key:e.key}},_toJsonObject(e){return{key:e.key}}}})),fH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IngestEndpointTransformationOutSerializer=void 0,e.IngestEndpointTransformationOutSerializer={_fromJsonObject(e){return{code:e.code,enabled:e.enabled}},_toJsonObject(e){return{code:e.code,enabled:e.enabled}}}})),pH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IngestEndpointTransformationPatchSerializer=void 0,e.IngestEndpointTransformationPatchSerializer={_fromJsonObject(e){return{code:e.code,enabled:e.enabled}},_toJsonObject(e){return{code:e.code,enabled:e.enabled}}}})),mH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IngestEndpointUpdateSerializer=void 0,e.IngestEndpointUpdateSerializer={_fromJsonObject(e){return{description:e.description,disabled:e.disabled,metadata:e.metadata,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid,url:e.url}},_toJsonObject(e){return{description:e.description,disabled:e.disabled,metadata:e.metadata,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid,url:e.url}}}})),hH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListResponseIngestEndpointOutSerializer=void 0;var t=lH();e.ListResponseIngestEndpointOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.IngestEndpointOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}},_toJsonObject(e){return{data:e.data.map(e=>t.IngestEndpointOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}}}})),gH=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.IngestEndpoint=void 0;var i=oH(),a=sH(),o=cH(),s=lH(),c=uH(),l=dH(),u=fH(),d=pH(),f=mH(),p=hH(),m=XB();e.IngestEndpoint=class{constructor(e){this.requestCtx=e}list(e,t){return r(this,void 0,void 0,function*(){let n=new m.SvixRequest(m.HttpMethod.GET,`/ingest/api/v1/source/{source_id}/endpoint`);return n.setPathParam(`source_id`,e),n.setQueryParams({limit:t?.limit,iterator:t?.iterator,order:t?.order}),yield n.send(this.requestCtx,p.ListResponseIngestEndpointOutSerializer._fromJsonObject)})}create(e,t,n){return r(this,void 0,void 0,function*(){let r=new m.SvixRequest(m.HttpMethod.POST,`/ingest/api/v1/source/{source_id}/endpoint`);return r.setPathParam(`source_id`,e),r.setHeaderParam(`idempotency-key`,n?.idempotencyKey),r.setBody(o.IngestEndpointInSerializer._toJsonObject(t)),yield r.send(this.requestCtx,s.IngestEndpointOutSerializer._fromJsonObject)})}get(e,t){return r(this,void 0,void 0,function*(){let n=new m.SvixRequest(m.HttpMethod.GET,`/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}`);return n.setPathParam(`source_id`,e),n.setPathParam(`endpoint_id`,t),yield n.send(this.requestCtx,s.IngestEndpointOutSerializer._fromJsonObject)})}update(e,t,n){return r(this,void 0,void 0,function*(){let r=new m.SvixRequest(m.HttpMethod.PUT,`/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}`);return r.setPathParam(`source_id`,e),r.setPathParam(`endpoint_id`,t),r.setBody(f.IngestEndpointUpdateSerializer._toJsonObject(n)),yield r.send(this.requestCtx,s.IngestEndpointOutSerializer._fromJsonObject)})}delete(e,t){return r(this,void 0,void 0,function*(){let n=new m.SvixRequest(m.HttpMethod.DELETE,`/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}`);return n.setPathParam(`source_id`,e),n.setPathParam(`endpoint_id`,t),yield n.sendNoResponseBody(this.requestCtx)})}getSecret(e,t){return r(this,void 0,void 0,function*(){let n=new m.SvixRequest(m.HttpMethod.GET,`/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/secret`);return n.setPathParam(`source_id`,e),n.setPathParam(`endpoint_id`,t),yield n.send(this.requestCtx,l.IngestEndpointSecretOutSerializer._fromJsonObject)})}rotateSecret(e,t,n={},i){return r(this,void 0,void 0,function*(){let r=new m.SvixRequest(m.HttpMethod.POST,`/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/secret/rotate`);return r.setPathParam(`source_id`,e),r.setPathParam(`endpoint_id`,t),r.setHeaderParam(`idempotency-key`,i?.idempotencyKey),r.setBody(c.IngestEndpointSecretInSerializer._toJsonObject(n)),yield r.sendNoResponseBody(this.requestCtx)})}getHeaders(e,t){return r(this,void 0,void 0,function*(){let n=new m.SvixRequest(m.HttpMethod.GET,`/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/headers`);return n.setPathParam(`source_id`,e),n.setPathParam(`endpoint_id`,t),yield n.send(this.requestCtx,a.IngestEndpointHeadersOutSerializer._fromJsonObject)})}updateHeaders(e,t,n){return r(this,void 0,void 0,function*(){let r=new m.SvixRequest(m.HttpMethod.PUT,`/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/headers`);return r.setPathParam(`source_id`,e),r.setPathParam(`endpoint_id`,t),r.setBody(i.IngestEndpointHeadersInSerializer._toJsonObject(n)),yield r.sendNoResponseBody(this.requestCtx)})}getTransformation(e,t){return r(this,void 0,void 0,function*(){let n=new m.SvixRequest(m.HttpMethod.GET,`/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/transformation`);return n.setPathParam(`source_id`,e),n.setPathParam(`endpoint_id`,t),yield n.send(this.requestCtx,u.IngestEndpointTransformationOutSerializer._fromJsonObject)})}setTransformation(e,t,n){return r(this,void 0,void 0,function*(){let r=new m.SvixRequest(m.HttpMethod.PATCH,`/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/transformation`);return r.setPathParam(`source_id`,e),r.setPathParam(`endpoint_id`,t),r.setBody(d.IngestEndpointTransformationPatchSerializer._toJsonObject(n)),yield r.sendNoResponseBody(this.requestCtx)})}}})),_H=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AdobeSignConfigSerializer=void 0,e.AdobeSignConfigSerializer={_fromJsonObject(e){return{clientId:e.clientId}},_toJsonObject(e){return{clientId:e.clientId}}}})),vH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AirwallexConfigSerializer=void 0,e.AirwallexConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),yH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CheckbookConfigSerializer=void 0,e.CheckbookConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),bH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CronConfigSerializer=void 0,e.CronConfigSerializer={_fromJsonObject(e){return{contentType:e.contentType,payload:e.payload,schedule:e.schedule}},_toJsonObject(e){return{contentType:e.contentType,payload:e.payload,schedule:e.schedule}}}})),xH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.DocusignConfigSerializer=void 0,e.DocusignConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),SH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EasypostConfigSerializer=void 0,e.EasypostConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),CH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.GithubConfigSerializer=void 0,e.GithubConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),wH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.HubspotConfigSerializer=void 0,e.HubspotConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),TH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MetaConfigSerializer=void 0,e.MetaConfigSerializer={_fromJsonObject(e){return{secret:e.secret,verifyToken:e.verifyToken}},_toJsonObject(e){return{secret:e.secret,verifyToken:e.verifyToken}}}})),EH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NangoConfigSerializer=void 0,e.NangoConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),DH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.OpenClawConfigSerializer=void 0,e.OpenClawConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),OH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.OrumIoConfigSerializer=void 0,e.OrumIoConfigSerializer={_fromJsonObject(e){return{publicKey:e.publicKey}},_toJsonObject(e){return{publicKey:e.publicKey}}}})),kH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PandaDocConfigSerializer=void 0,e.PandaDocConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),AH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PortIoConfigSerializer=void 0,e.PortIoConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),jH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RutterConfigSerializer=void 0,e.RutterConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),MH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SegmentConfigSerializer=void 0,e.SegmentConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),NH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ShopifyConfigSerializer=void 0,e.ShopifyConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),PH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SlackConfigSerializer=void 0,e.SlackConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),FH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StripeConfigSerializer=void 0,e.StripeConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),IH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SvixConfigSerializer=void 0,e.SvixConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),LH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TailscaleConfigSerializer=void 0,e.TailscaleConfigSerializer={_fromJsonObject(e){return{secret:e.secret,timestampGraceSeconds:e.timestampGraceSeconds}},_toJsonObject(e){return{secret:e.secret,timestampGraceSeconds:e.timestampGraceSeconds}}}})),RH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TelnyxConfigSerializer=void 0,e.TelnyxConfigSerializer={_fromJsonObject(e){return{publicKey:e.publicKey}},_toJsonObject(e){return{publicKey:e.publicKey}}}})),zH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.VapiConfigSerializer=void 0,e.VapiConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),BH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.VeriffConfigSerializer=void 0,e.VeriffConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),VH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.VgsConfigSerializer=void 0,e.VgsConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),HH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ZoomConfigSerializer=void 0,e.ZoomConfigSerializer={_fromJsonObject(e){return{secret:e.secret}},_toJsonObject(e){return{secret:e.secret}}}})),UH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IngestSourceInSerializer=void 0;var t=_H(),n=vH(),r=yH(),i=bH(),a=xH(),o=SH(),s=CH(),c=wH(),l=TH(),u=EH(),d=DH(),f=OH(),p=kH(),m=AH(),h=jH(),g=MH(),_=NH(),v=PH(),y=FH(),b=IH(),x=LH(),S=RH(),C=zH(),w=BH(),T=VH(),E=HH();e.IngestSourceInSerializer={_fromJsonObject(e){let D=e.type;function ee(D){switch(D){case`generic-webhook`:return{};case`cron`:return i.CronConfigSerializer._fromJsonObject(e.config);case`adobe-sign`:return t.AdobeSignConfigSerializer._fromJsonObject(e.config);case`beehiiv`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`brex`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`checkbook`:return r.CheckbookConfigSerializer._fromJsonObject(e.config);case`clerk`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`docusign`:return a.DocusignConfigSerializer._fromJsonObject(e.config);case`easypost`:return o.EasypostConfigSerializer._fromJsonObject(e.config);case`github`:return s.GithubConfigSerializer._fromJsonObject(e.config);case`guesty`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`hubspot`:return c.HubspotConfigSerializer._fromJsonObject(e.config);case`incident-io`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`lithic`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`meta`:return l.MetaConfigSerializer._fromJsonObject(e.config);case`nango`:return u.NangoConfigSerializer._fromJsonObject(e.config);case`nash`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`openclaw`:return d.OpenClawConfigSerializer._fromJsonObject(e.config);case`orum-io`:return f.OrumIoConfigSerializer._fromJsonObject(e.config);case`panda-doc`:return p.PandaDocConfigSerializer._fromJsonObject(e.config);case`port-io`:return m.PortIoConfigSerializer._fromJsonObject(e.config);case`pleo`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`psi-fi`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`replicate`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`resend`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`rutter`:return h.RutterConfigSerializer._fromJsonObject(e.config);case`safebase`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`sardine`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`segment`:return g.SegmentConfigSerializer._fromJsonObject(e.config);case`shopify`:return _.ShopifyConfigSerializer._fromJsonObject(e.config);case`slack`:return v.SlackConfigSerializer._fromJsonObject(e.config);case`stripe`:return y.StripeConfigSerializer._fromJsonObject(e.config);case`stych`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`svix`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`zoom`:return E.ZoomConfigSerializer._fromJsonObject(e.config);case`tailscale`:return x.TailscaleConfigSerializer._fromJsonObject(e.config);case`telnyx`:return S.TelnyxConfigSerializer._fromJsonObject(e.config);case`vapi`:return C.VapiConfigSerializer._fromJsonObject(e.config);case`open-ai`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`render`:return b.SvixConfigSerializer._fromJsonObject(e.config);case`veriff`:return w.VeriffConfigSerializer._fromJsonObject(e.config);case`airwallex`:return n.AirwallexConfigSerializer._fromJsonObject(e.config);case`vgs`:return T.VgsConfigSerializer._fromJsonObject(e.config);default:throw Error(`Unexpected type: ${D}`)}}return{type:D,config:ee(D),metadata:e.metadata,name:e.name,uid:e.uid}},_toJsonObject(e){let D;switch(e.type){case`generic-webhook`:D={};break;case`cron`:D=i.CronConfigSerializer._toJsonObject(e.config);break;case`adobe-sign`:D=t.AdobeSignConfigSerializer._toJsonObject(e.config);break;case`beehiiv`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`brex`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`checkbook`:D=r.CheckbookConfigSerializer._toJsonObject(e.config);break;case`clerk`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`docusign`:D=a.DocusignConfigSerializer._toJsonObject(e.config);break;case`easypost`:D=o.EasypostConfigSerializer._toJsonObject(e.config);break;case`github`:D=s.GithubConfigSerializer._toJsonObject(e.config);break;case`guesty`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`hubspot`:D=c.HubspotConfigSerializer._toJsonObject(e.config);break;case`incident-io`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`lithic`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`meta`:D=l.MetaConfigSerializer._toJsonObject(e.config);break;case`nango`:D=u.NangoConfigSerializer._toJsonObject(e.config);break;case`nash`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`openclaw`:D=d.OpenClawConfigSerializer._toJsonObject(e.config);break;case`orum-io`:D=f.OrumIoConfigSerializer._toJsonObject(e.config);break;case`panda-doc`:D=p.PandaDocConfigSerializer._toJsonObject(e.config);break;case`port-io`:D=m.PortIoConfigSerializer._toJsonObject(e.config);break;case`pleo`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`psi-fi`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`replicate`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`resend`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`rutter`:D=h.RutterConfigSerializer._toJsonObject(e.config);break;case`safebase`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`sardine`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`segment`:D=g.SegmentConfigSerializer._toJsonObject(e.config);break;case`shopify`:D=_.ShopifyConfigSerializer._toJsonObject(e.config);break;case`slack`:D=v.SlackConfigSerializer._toJsonObject(e.config);break;case`stripe`:D=y.StripeConfigSerializer._toJsonObject(e.config);break;case`stych`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`svix`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`zoom`:D=E.ZoomConfigSerializer._toJsonObject(e.config);break;case`tailscale`:D=x.TailscaleConfigSerializer._toJsonObject(e.config);break;case`telnyx`:D=S.TelnyxConfigSerializer._toJsonObject(e.config);break;case`vapi`:D=C.VapiConfigSerializer._toJsonObject(e.config);break;case`open-ai`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`render`:D=b.SvixConfigSerializer._toJsonObject(e.config);break;case`veriff`:D=w.VeriffConfigSerializer._toJsonObject(e.config);break;case`airwallex`:D=n.AirwallexConfigSerializer._toJsonObject(e.config);break;case`vgs`:D=T.VgsConfigSerializer._toJsonObject(e.config)}return{type:e.type,config:D,metadata:e.metadata,name:e.name,uid:e.uid}}}})),WH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AdobeSignConfigOutSerializer=void 0,e.AdobeSignConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),GH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AirwallexConfigOutSerializer=void 0,e.AirwallexConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),KH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CheckbookConfigOutSerializer=void 0,e.CheckbookConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),qH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.DocusignConfigOutSerializer=void 0,e.DocusignConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),JH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EasypostConfigOutSerializer=void 0,e.EasypostConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),YH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.GithubConfigOutSerializer=void 0,e.GithubConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),XH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.HubspotConfigOutSerializer=void 0,e.HubspotConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),ZH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MetaConfigOutSerializer=void 0,e.MetaConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),QH=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NangoConfigOutSerializer=void 0,e.NangoConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),$H=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.OpenClawConfigOutSerializer=void 0,e.OpenClawConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),eU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.OrumIoConfigOutSerializer=void 0,e.OrumIoConfigOutSerializer={_fromJsonObject(e){return{publicKey:e.publicKey}},_toJsonObject(e){return{publicKey:e.publicKey}}}})),tU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PandaDocConfigOutSerializer=void 0,e.PandaDocConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),nU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PortIoConfigOutSerializer=void 0,e.PortIoConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),rU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RutterConfigOutSerializer=void 0,e.RutterConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),iU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SegmentConfigOutSerializer=void 0,e.SegmentConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),aU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ShopifyConfigOutSerializer=void 0,e.ShopifyConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),oU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SlackConfigOutSerializer=void 0,e.SlackConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),sU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StripeConfigOutSerializer=void 0,e.StripeConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),cU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SvixConfigOutSerializer=void 0,e.SvixConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),lU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TailscaleConfigOutSerializer=void 0,e.TailscaleConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),uU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TelnyxConfigOutSerializer=void 0,e.TelnyxConfigOutSerializer={_fromJsonObject(e){return{publicKey:e.publicKey}},_toJsonObject(e){return{publicKey:e.publicKey}}}})),dU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.VapiConfigOutSerializer=void 0,e.VapiConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),fU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.VeriffConfigOutSerializer=void 0,e.VeriffConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),pU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.VgsConfigOutSerializer=void 0,e.VgsConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),mU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ZoomConfigOutSerializer=void 0,e.ZoomConfigOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),hU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IngestSourceOutSerializer=void 0;var t=WH(),n=GH(),r=KH(),i=bH(),a=qH(),o=JH(),s=YH(),c=XH(),l=ZH(),u=QH(),d=$H(),f=eU(),p=tU(),m=nU(),h=rU(),g=iU(),_=aU(),v=oU(),y=sU(),b=cU(),x=lU(),S=uU(),C=dU(),w=fU(),T=pU(),E=mU();e.IngestSourceOutSerializer={_fromJsonObject(e){let D=e.type;function ee(D){switch(D){case`generic-webhook`:return{};case`cron`:return i.CronConfigSerializer._fromJsonObject(e.config);case`adobe-sign`:return t.AdobeSignConfigOutSerializer._fromJsonObject(e.config);case`beehiiv`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`brex`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`checkbook`:return r.CheckbookConfigOutSerializer._fromJsonObject(e.config);case`clerk`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`docusign`:return a.DocusignConfigOutSerializer._fromJsonObject(e.config);case`easypost`:return o.EasypostConfigOutSerializer._fromJsonObject(e.config);case`github`:return s.GithubConfigOutSerializer._fromJsonObject(e.config);case`guesty`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`hubspot`:return c.HubspotConfigOutSerializer._fromJsonObject(e.config);case`incident-io`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`lithic`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`meta`:return l.MetaConfigOutSerializer._fromJsonObject(e.config);case`nango`:return u.NangoConfigOutSerializer._fromJsonObject(e.config);case`nash`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`openclaw`:return d.OpenClawConfigOutSerializer._fromJsonObject(e.config);case`orum-io`:return f.OrumIoConfigOutSerializer._fromJsonObject(e.config);case`panda-doc`:return p.PandaDocConfigOutSerializer._fromJsonObject(e.config);case`port-io`:return m.PortIoConfigOutSerializer._fromJsonObject(e.config);case`psi-fi`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`pleo`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`replicate`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`resend`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`rutter`:return h.RutterConfigOutSerializer._fromJsonObject(e.config);case`safebase`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`sardine`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`segment`:return g.SegmentConfigOutSerializer._fromJsonObject(e.config);case`shopify`:return _.ShopifyConfigOutSerializer._fromJsonObject(e.config);case`slack`:return v.SlackConfigOutSerializer._fromJsonObject(e.config);case`stripe`:return y.StripeConfigOutSerializer._fromJsonObject(e.config);case`stych`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`svix`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`zoom`:return E.ZoomConfigOutSerializer._fromJsonObject(e.config);case`tailscale`:return x.TailscaleConfigOutSerializer._fromJsonObject(e.config);case`telnyx`:return S.TelnyxConfigOutSerializer._fromJsonObject(e.config);case`vapi`:return C.VapiConfigOutSerializer._fromJsonObject(e.config);case`open-ai`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`render`:return b.SvixConfigOutSerializer._fromJsonObject(e.config);case`veriff`:return w.VeriffConfigOutSerializer._fromJsonObject(e.config);case`airwallex`:return n.AirwallexConfigOutSerializer._fromJsonObject(e.config);case`vgs`:return T.VgsConfigOutSerializer._fromJsonObject(e.config);default:throw Error(`Unexpected type: ${D}`)}}return{type:D,config:ee(D),createdAt:new Date(e.createdAt),id:e.id,ingestUrl:e.ingestUrl,metadata:e.metadata,name:e.name,uid:e.uid,updatedAt:new Date(e.updatedAt)}},_toJsonObject(e){let D;switch(e.type){case`generic-webhook`:D={};break;case`cron`:D=i.CronConfigSerializer._toJsonObject(e.config);break;case`adobe-sign`:D=t.AdobeSignConfigOutSerializer._toJsonObject(e.config);break;case`beehiiv`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`brex`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`checkbook`:D=r.CheckbookConfigOutSerializer._toJsonObject(e.config);break;case`clerk`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`docusign`:D=a.DocusignConfigOutSerializer._toJsonObject(e.config);break;case`easypost`:D=o.EasypostConfigOutSerializer._toJsonObject(e.config);break;case`github`:D=s.GithubConfigOutSerializer._toJsonObject(e.config);break;case`guesty`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`hubspot`:D=c.HubspotConfigOutSerializer._toJsonObject(e.config);break;case`incident-io`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`lithic`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`meta`:D=l.MetaConfigOutSerializer._toJsonObject(e.config);break;case`nango`:D=u.NangoConfigOutSerializer._toJsonObject(e.config);break;case`nash`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`openclaw`:D=d.OpenClawConfigOutSerializer._toJsonObject(e.config);break;case`orum-io`:D=f.OrumIoConfigOutSerializer._toJsonObject(e.config);break;case`panda-doc`:D=p.PandaDocConfigOutSerializer._toJsonObject(e.config);break;case`port-io`:D=m.PortIoConfigOutSerializer._toJsonObject(e.config);break;case`psi-fi`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`pleo`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`replicate`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`resend`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`rutter`:D=h.RutterConfigOutSerializer._toJsonObject(e.config);break;case`safebase`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`sardine`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`segment`:D=g.SegmentConfigOutSerializer._toJsonObject(e.config);break;case`shopify`:D=_.ShopifyConfigOutSerializer._toJsonObject(e.config);break;case`slack`:D=v.SlackConfigOutSerializer._toJsonObject(e.config);break;case`stripe`:D=y.StripeConfigOutSerializer._toJsonObject(e.config);break;case`stych`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`svix`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`zoom`:D=E.ZoomConfigOutSerializer._toJsonObject(e.config);break;case`tailscale`:D=x.TailscaleConfigOutSerializer._toJsonObject(e.config);break;case`telnyx`:D=S.TelnyxConfigOutSerializer._toJsonObject(e.config);break;case`vapi`:D=C.VapiConfigOutSerializer._toJsonObject(e.config);break;case`open-ai`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`render`:D=b.SvixConfigOutSerializer._toJsonObject(e.config);break;case`veriff`:D=w.VeriffConfigOutSerializer._toJsonObject(e.config);break;case`airwallex`:D=n.AirwallexConfigOutSerializer._toJsonObject(e.config);break;case`vgs`:D=T.VgsConfigOutSerializer._toJsonObject(e.config)}return{type:e.type,config:D,createdAt:e.createdAt,id:e.id,ingestUrl:e.ingestUrl,metadata:e.metadata,name:e.name,uid:e.uid,updatedAt:e.updatedAt}}}})),gU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListResponseIngestSourceOutSerializer=void 0;var t=hU();e.ListResponseIngestSourceOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.IngestSourceOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}},_toJsonObject(e){return{data:e.data.map(e=>t.IngestSourceOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}}}})),_U=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RotateTokenOutSerializer=void 0,e.RotateTokenOutSerializer={_fromJsonObject(e){return{ingestUrl:e.ingestUrl}},_toJsonObject(e){return{ingestUrl:e.ingestUrl}}}})),vU=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.IngestSource=void 0;var i=UH(),a=hU(),o=gU(),s=_U(),c=XB();e.IngestSource=class{constructor(e){this.requestCtx=e}list(e){return r(this,void 0,void 0,function*(){let t=new c.SvixRequest(c.HttpMethod.GET,`/ingest/api/v1/source`);return t.setQueryParams({limit:e?.limit,iterator:e?.iterator,order:e?.order}),yield t.send(this.requestCtx,o.ListResponseIngestSourceOutSerializer._fromJsonObject)})}create(e,t){return r(this,void 0,void 0,function*(){let n=new c.SvixRequest(c.HttpMethod.POST,`/ingest/api/v1/source`);return n.setHeaderParam(`idempotency-key`,t?.idempotencyKey),n.setBody(i.IngestSourceInSerializer._toJsonObject(e)),yield n.send(this.requestCtx,a.IngestSourceOutSerializer._fromJsonObject)})}get(e){return r(this,void 0,void 0,function*(){let t=new c.SvixRequest(c.HttpMethod.GET,`/ingest/api/v1/source/{source_id}`);return t.setPathParam(`source_id`,e),yield t.send(this.requestCtx,a.IngestSourceOutSerializer._fromJsonObject)})}update(e,t){return r(this,void 0,void 0,function*(){let n=new c.SvixRequest(c.HttpMethod.PUT,`/ingest/api/v1/source/{source_id}`);return n.setPathParam(`source_id`,e),n.setBody(i.IngestSourceInSerializer._toJsonObject(t)),yield n.send(this.requestCtx,a.IngestSourceOutSerializer._fromJsonObject)})}delete(e){return r(this,void 0,void 0,function*(){let t=new c.SvixRequest(c.HttpMethod.DELETE,`/ingest/api/v1/source/{source_id}`);return t.setPathParam(`source_id`,e),yield t.sendNoResponseBody(this.requestCtx)})}rotateToken(e,t){return r(this,void 0,void 0,function*(){let n=new c.SvixRequest(c.HttpMethod.POST,`/ingest/api/v1/source/{source_id}/token/rotate`);return n.setPathParam(`source_id`,e),n.setHeaderParam(`idempotency-key`,t?.idempotencyKey),yield n.send(this.requestCtx,s.RotateTokenOutSerializer._fromJsonObject)})}}})),yU=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.Ingest=void 0;var i=oV(),a=aH(),o=gH(),s=vU(),c=XB();e.Ingest=class{constructor(e){this.requestCtx=e}get endpoint(){return new o.IngestEndpoint(this.requestCtx)}get source(){return new s.IngestSource(this.requestCtx)}dashboard(e,t={},n){return r(this,void 0,void 0,function*(){let r=new c.SvixRequest(c.HttpMethod.POST,`/ingest/api/v1/source/{source_id}/dashboard`);return r.setPathParam(`source_id`,e),r.setHeaderParam(`idempotency-key`,n?.idempotencyKey),r.setBody(a.IngestSourceConsumerPortalAccessInSerializer._toJsonObject(t)),yield r.send(this.requestCtx,i.DashboardAccessOutSerializer._fromJsonObject)})}}})),bU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IntegrationInSerializer=void 0,e.IntegrationInSerializer={_fromJsonObject(e){return{featureFlags:e.featureFlags,name:e.name}},_toJsonObject(e){return{featureFlags:e.featureFlags,name:e.name}}}})),xU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IntegrationKeyOutSerializer=void 0,e.IntegrationKeyOutSerializer={_fromJsonObject(e){return{key:e.key}},_toJsonObject(e){return{key:e.key}}}})),SU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IntegrationOutSerializer=void 0,e.IntegrationOutSerializer={_fromJsonObject(e){return{createdAt:new Date(e.createdAt),featureFlags:e.featureFlags,id:e.id,name:e.name,updatedAt:new Date(e.updatedAt)}},_toJsonObject(e){return{createdAt:e.createdAt,featureFlags:e.featureFlags,id:e.id,name:e.name,updatedAt:e.updatedAt}}}})),CU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IntegrationUpdateSerializer=void 0,e.IntegrationUpdateSerializer={_fromJsonObject(e){return{featureFlags:e.featureFlags,name:e.name}},_toJsonObject(e){return{featureFlags:e.featureFlags,name:e.name}}}})),wU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListResponseIntegrationOutSerializer=void 0;var t=SU();e.ListResponseIntegrationOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.IntegrationOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}},_toJsonObject(e){return{data:e.data.map(e=>t.IntegrationOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}}}})),TU=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.Integration=void 0;var i=bU(),a=xU(),o=SU(),s=CU(),c=wU(),l=XB();e.Integration=class{constructor(e){this.requestCtx=e}list(e,t){return r(this,void 0,void 0,function*(){let n=new l.SvixRequest(l.HttpMethod.GET,`/api/v1/app/{app_id}/integration`);return n.setPathParam(`app_id`,e),n.setQueryParams({limit:t?.limit,iterator:t?.iterator,order:t?.order}),yield n.send(this.requestCtx,c.ListResponseIntegrationOutSerializer._fromJsonObject)})}create(e,t,n){return r(this,void 0,void 0,function*(){let r=new l.SvixRequest(l.HttpMethod.POST,`/api/v1/app/{app_id}/integration`);return r.setPathParam(`app_id`,e),r.setHeaderParam(`idempotency-key`,n?.idempotencyKey),r.setBody(i.IntegrationInSerializer._toJsonObject(t)),yield r.send(this.requestCtx,o.IntegrationOutSerializer._fromJsonObject)})}get(e,t){return r(this,void 0,void 0,function*(){let n=new l.SvixRequest(l.HttpMethod.GET,`/api/v1/app/{app_id}/integration/{integ_id}`);return n.setPathParam(`app_id`,e),n.setPathParam(`integ_id`,t),yield n.send(this.requestCtx,o.IntegrationOutSerializer._fromJsonObject)})}update(e,t,n){return r(this,void 0,void 0,function*(){let r=new l.SvixRequest(l.HttpMethod.PUT,`/api/v1/app/{app_id}/integration/{integ_id}`);return r.setPathParam(`app_id`,e),r.setPathParam(`integ_id`,t),r.setBody(s.IntegrationUpdateSerializer._toJsonObject(n)),yield r.send(this.requestCtx,o.IntegrationOutSerializer._fromJsonObject)})}delete(e,t){return r(this,void 0,void 0,function*(){let n=new l.SvixRequest(l.HttpMethod.DELETE,`/api/v1/app/{app_id}/integration/{integ_id}`);return n.setPathParam(`app_id`,e),n.setPathParam(`integ_id`,t),yield n.sendNoResponseBody(this.requestCtx)})}rotateKey(e,t,n){return r(this,void 0,void 0,function*(){let r=new l.SvixRequest(l.HttpMethod.POST,`/api/v1/app/{app_id}/integration/{integ_id}/key/rotate`);return r.setPathParam(`app_id`,e),r.setPathParam(`integ_id`,t),r.setHeaderParam(`idempotency-key`,n?.idempotencyKey),yield r.send(this.requestCtx,a.IntegrationKeyOutSerializer._fromJsonObject)})}getKey(e,t){return r(this,void 0,void 0,function*(){let n=new l.SvixRequest(l.HttpMethod.GET,`/api/v1/app/{app_id}/integration/{integ_id}/key`);return n.setPathParam(`app_id`,e),n.setPathParam(`integ_id`,t),yield n.send(this.requestCtx,a.IntegrationKeyOutSerializer._fromJsonObject)})}}})),EU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ExpungeAllContentsOutSerializer=void 0;var t=cV(),n=lV();e.ExpungeAllContentsOutSerializer={_fromJsonObject(e){return{id:e.id,status:t.BackgroundTaskStatusSerializer._fromJsonObject(e.status),task:n.BackgroundTaskTypeSerializer._fromJsonObject(e.task),updatedAt:new Date(e.updatedAt)}},_toJsonObject(e){return{id:e.id,status:t.BackgroundTaskStatusSerializer._toJsonObject(e.status),task:n.BackgroundTaskTypeSerializer._toJsonObject(e.task),updatedAt:e.updatedAt}}}})),DU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListResponseMessageOutSerializer=void 0;var t=zV();e.ListResponseMessageOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.MessageOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}},_toJsonObject(e){return{data:e.data.map(e=>t.MessageOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}}}})),OU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MessagePrecheckInSerializer=void 0,e.MessagePrecheckInSerializer={_fromJsonObject(e){return{channels:e.channels,eventType:e.eventType}},_toJsonObject(e){return{channels:e.channels,eventType:e.eventType}}}})),kU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MessagePrecheckOutSerializer=void 0,e.MessagePrecheckOutSerializer={_fromJsonObject(e){return{active:e.active}},_toJsonObject(e){return{active:e.active}}}})),AU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PollingEndpointConsumerSeekInSerializer=void 0,e.PollingEndpointConsumerSeekInSerializer={_fromJsonObject(e){return{after:new Date(e.after)}},_toJsonObject(e){return{after:e.after}}}})),jU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PollingEndpointConsumerSeekOutSerializer=void 0,e.PollingEndpointConsumerSeekOutSerializer={_fromJsonObject(e){return{iterator:e.iterator}},_toJsonObject(e){return{iterator:e.iterator}}}})),MU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PollingEndpointMessageOutSerializer=void 0,e.PollingEndpointMessageOutSerializer={_fromJsonObject(e){return{channels:e.channels,deliverAt:e.deliverAt?new Date(e.deliverAt):null,eventId:e.eventId,eventType:e.eventType,headers:e.headers,id:e.id,payload:e.payload,tags:e.tags,timestamp:new Date(e.timestamp)}},_toJsonObject(e){return{channels:e.channels,deliverAt:e.deliverAt,eventId:e.eventId,eventType:e.eventType,headers:e.headers,id:e.id,payload:e.payload,tags:e.tags,timestamp:e.timestamp}}}})),NU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PollingEndpointOutSerializer=void 0;var t=MU();e.PollingEndpointOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.PollingEndpointMessageOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator}},_toJsonObject(e){return{data:e.data.map(e=>t.PollingEndpointMessageOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator}}}})),PU=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.MessagePoller=void 0;var i=AU(),a=jU(),o=NU(),s=XB();e.MessagePoller=class{constructor(e){this.requestCtx=e}poll(e,t,n){return r(this,void 0,void 0,function*(){let r=new s.SvixRequest(s.HttpMethod.GET,`/api/v1/app/{app_id}/poller/{sink_id}`);return r.setPathParam(`app_id`,e),r.setPathParam(`sink_id`,t),r.setQueryParams({limit:n?.limit,iterator:n?.iterator,event_type:n?.eventType,channel:n?.channel,after:n?.after}),yield r.send(this.requestCtx,o.PollingEndpointOutSerializer._fromJsonObject)})}consumerSeek(e,t,n,o,c){return r(this,void 0,void 0,function*(){let r=new s.SvixRequest(s.HttpMethod.POST,`/api/v1/app/{app_id}/poller/{sink_id}/consumer/{consumer_id}/seek`);return r.setPathParam(`app_id`,e),r.setPathParam(`sink_id`,t),r.setPathParam(`consumer_id`,n),r.setHeaderParam(`idempotency-key`,c?.idempotencyKey),r.setBody(i.PollingEndpointConsumerSeekInSerializer._toJsonObject(o)),yield r.send(this.requestCtx,a.PollingEndpointConsumerSeekOutSerializer._fromJsonObject)})}consumerPoll(e,t,n,i){return r(this,void 0,void 0,function*(){let r=new s.SvixRequest(s.HttpMethod.GET,`/api/v1/app/{app_id}/poller/{sink_id}/consumer/{consumer_id}`);return r.setPathParam(`app_id`,e),r.setPathParam(`sink_id`,t),r.setPathParam(`consumer_id`,n),r.setQueryParams({limit:i?.limit,iterator:i?.iterator}),yield r.send(this.requestCtx,o.PollingEndpointOutSerializer._fromJsonObject)})}}})),FU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MessageInSerializer=void 0;var t=GB();e.MessageInSerializer={_fromJsonObject(e){return{application:e.application==null?void 0:t.ApplicationInSerializer._fromJsonObject(e.application),channels:e.channels,deliverAt:e.deliverAt?new Date(e.deliverAt):null,eventId:e.eventId,eventType:e.eventType,payload:e.payload,payloadRetentionHours:e.payloadRetentionHours,payloadRetentionPeriod:e.payloadRetentionPeriod,tags:e.tags,transformationsParams:e.transformationsParams}},_toJsonObject(e){return{application:e.application==null?void 0:t.ApplicationInSerializer._toJsonObject(e.application),channels:e.channels,deliverAt:e.deliverAt,eventId:e.eventId,eventType:e.eventType,payload:e.payload,payloadRetentionHours:e.payloadRetentionHours,payloadRetentionPeriod:e.payloadRetentionPeriod,tags:e.tags,transformationsParams:e.transformationsParams}}}})),IU=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.messageInRaw=e.Message=void 0;var i=EU(),a=DU(),o=zV(),s=OU(),c=kU(),l=PU(),u=XB(),d=FU();e.Message=class{constructor(e){this.requestCtx=e}get poller(){return new l.MessagePoller(this.requestCtx)}list(e,t){return r(this,void 0,void 0,function*(){let n=new u.SvixRequest(u.HttpMethod.GET,`/api/v1/app/{app_id}/msg`);return n.setPathParam(`app_id`,e),n.setQueryParams({limit:t?.limit,iterator:t?.iterator,channel:t?.channel,before:t?.before,after:t?.after,with_content:t?.withContent,tag:t?.tag,event_types:t?.eventTypes}),yield n.send(this.requestCtx,a.ListResponseMessageOutSerializer._fromJsonObject)})}create(e,t,n){return r(this,void 0,void 0,function*(){let r=new u.SvixRequest(u.HttpMethod.POST,`/api/v1/app/{app_id}/msg`);r.setPathParam(`app_id`,e),r.setQueryParams({with_content:!1}),r.setHeaderParam(`idempotency-key`,n?.idempotencyKey),r.setBody(d.MessageInSerializer._toJsonObject(t));let i=yield r.send(this.requestCtx,o.MessageOutSerializer._fromJsonObject);return(n?.withContent??!0)&&(i.payload=t.payload),i})}precheck(e,t,n){return r(this,void 0,void 0,function*(){let r=new u.SvixRequest(u.HttpMethod.POST,`/api/v1/app/{app_id}/msg/precheck/active`);return r.setPathParam(`app_id`,e),r.setHeaderParam(`idempotency-key`,n?.idempotencyKey),r.setBody(s.MessagePrecheckInSerializer._toJsonObject(t)),yield r.send(this.requestCtx,c.MessagePrecheckOutSerializer._fromJsonObject)})}get(e,t,n){return r(this,void 0,void 0,function*(){let r=new u.SvixRequest(u.HttpMethod.GET,`/api/v1/app/{app_id}/msg/{msg_id}`);return r.setPathParam(`app_id`,e),r.setPathParam(`msg_id`,t),r.setQueryParams({with_content:n?.withContent}),yield r.send(this.requestCtx,o.MessageOutSerializer._fromJsonObject)})}expungeContent(e,t){return r(this,void 0,void 0,function*(){let n=new u.SvixRequest(u.HttpMethod.DELETE,`/api/v1/app/{app_id}/msg/{msg_id}/content`);return n.setPathParam(`app_id`,e),n.setPathParam(`msg_id`,t),yield n.sendNoResponseBody(this.requestCtx)})}expungeAllContents(e,t){return r(this,void 0,void 0,function*(){let n=new u.SvixRequest(u.HttpMethod.POST,`/api/v1/app/{app_id}/msg/expunge-all-contents`);return n.setPathParam(`app_id`,e),n.setHeaderParam(`idempotency-key`,t?.idempotencyKey),yield n.send(this.requestCtx,i.ExpungeAllContentsOutSerializer._fromJsonObject)})}};function f(e,t,n){return{eventType:e,payload:{},transformationsParams:{rawPayload:t,headers:n?{"content-type":n}:void 0}}}e.messageInRaw=f})),LU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EmptyResponseSerializer=void 0,e.EmptyResponseSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),RU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MessageStatusTextSerializer=e.MessageStatusText=void 0,(function(e){e.Success=`success`,e.Pending=`pending`,e.Fail=`fail`,e.Sending=`sending`,e.Canceled=`canceled`})(e.MessageStatusText||={}),e.MessageStatusTextSerializer={_fromJsonObject(e){return e},_toJsonObject(e){return e}}})),zU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EndpointMessageOutSerializer=void 0;var t=xV(),n=RU();e.EndpointMessageOutSerializer={_fromJsonObject(e){return{channels:e.channels,deliverAt:e.deliverAt?new Date(e.deliverAt):null,eventId:e.eventId,eventType:e.eventType,id:e.id,nextAttempt:e.nextAttempt?new Date(e.nextAttempt):null,payload:e.payload,status:t.MessageStatusSerializer._fromJsonObject(e.status),statusText:n.MessageStatusTextSerializer._fromJsonObject(e.statusText),tags:e.tags,timestamp:new Date(e.timestamp)}},_toJsonObject(e){return{channels:e.channels,deliverAt:e.deliverAt,eventId:e.eventId,eventType:e.eventType,id:e.id,nextAttempt:e.nextAttempt,payload:e.payload,status:t.MessageStatusSerializer._toJsonObject(e.status),statusText:n.MessageStatusTextSerializer._toJsonObject(e.statusText),tags:e.tags,timestamp:e.timestamp}}}})),BU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListResponseEndpointMessageOutSerializer=void 0;var t=zU();e.ListResponseEndpointMessageOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.EndpointMessageOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}},_toJsonObject(e){return{data:e.data.map(e=>t.EndpointMessageOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}}}})),VU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MessageAttemptTriggerTypeSerializer=e.MessageAttemptTriggerType=void 0,(function(e){e[e.Scheduled=0]=`Scheduled`,e[e.Manual=1]=`Manual`})(e.MessageAttemptTriggerType||={}),e.MessageAttemptTriggerTypeSerializer={_fromJsonObject(e){return e},_toJsonObject(e){return e}}})),HU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MessageAttemptOutSerializer=void 0;var t=VU(),n=zV(),r=xV(),i=RU();e.MessageAttemptOutSerializer={_fromJsonObject(e){return{endpointId:e.endpointId,id:e.id,msg:e.msg==null?void 0:n.MessageOutSerializer._fromJsonObject(e.msg),msgId:e.msgId,response:e.response,responseDurationMs:e.responseDurationMs,responseStatusCode:e.responseStatusCode,status:r.MessageStatusSerializer._fromJsonObject(e.status),statusText:i.MessageStatusTextSerializer._fromJsonObject(e.statusText),timestamp:new Date(e.timestamp),triggerType:t.MessageAttemptTriggerTypeSerializer._fromJsonObject(e.triggerType),url:e.url}},_toJsonObject(e){return{endpointId:e.endpointId,id:e.id,msg:e.msg==null?void 0:n.MessageOutSerializer._toJsonObject(e.msg),msgId:e.msgId,response:e.response,responseDurationMs:e.responseDurationMs,responseStatusCode:e.responseStatusCode,status:r.MessageStatusSerializer._toJsonObject(e.status),statusText:i.MessageStatusTextSerializer._toJsonObject(e.statusText),timestamp:e.timestamp,triggerType:t.MessageAttemptTriggerTypeSerializer._toJsonObject(e.triggerType),url:e.url}}}})),UU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListResponseMessageAttemptOutSerializer=void 0;var t=HU();e.ListResponseMessageAttemptOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.MessageAttemptOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}},_toJsonObject(e){return{data:e.data.map(e=>t.MessageAttemptOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}}}})),WU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MessageEndpointOutSerializer=void 0;var t=xV(),n=RU();e.MessageEndpointOutSerializer={_fromJsonObject(e){return{channels:e.channels,createdAt:new Date(e.createdAt),description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,id:e.id,nextAttempt:e.nextAttempt?new Date(e.nextAttempt):null,rateLimit:e.rateLimit,status:t.MessageStatusSerializer._fromJsonObject(e.status),statusText:n.MessageStatusTextSerializer._fromJsonObject(e.statusText),throttleRate:e.throttleRate,uid:e.uid,updatedAt:new Date(e.updatedAt),url:e.url,version:e.version}},_toJsonObject(e){return{channels:e.channels,createdAt:e.createdAt,description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,id:e.id,nextAttempt:e.nextAttempt,rateLimit:e.rateLimit,status:t.MessageStatusSerializer._toJsonObject(e.status),statusText:n.MessageStatusTextSerializer._toJsonObject(e.statusText),throttleRate:e.throttleRate,uid:e.uid,updatedAt:e.updatedAt,url:e.url,version:e.version}}}})),GU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListResponseMessageEndpointOutSerializer=void 0;var t=WU();e.ListResponseMessageEndpointOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.MessageEndpointOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}},_toJsonObject(e){return{data:e.data.map(e=>t.MessageEndpointOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}}}})),KU=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.MessageAttempt=void 0;var i=LU(),a=BU(),o=UU(),s=GU(),c=HU(),l=XB();e.MessageAttempt=class{constructor(e){this.requestCtx=e}listByEndpoint(e,t,n){return r(this,void 0,void 0,function*(){let r=new l.SvixRequest(l.HttpMethod.GET,`/api/v1/app/{app_id}/attempt/endpoint/{endpoint_id}`);return r.setPathParam(`app_id`,e),r.setPathParam(`endpoint_id`,t),r.setQueryParams({limit:n?.limit,iterator:n?.iterator,status:n?.status,status_code_class:n?.statusCodeClass,channel:n?.channel,tag:n?.tag,before:n?.before,after:n?.after,with_content:n?.withContent,with_msg:n?.withMsg,expanded_statuses:n?.expandedStatuses??!0,event_types:n?.eventTypes}),yield r.send(this.requestCtx,o.ListResponseMessageAttemptOutSerializer._fromJsonObject)})}listByMsg(e,t,n){return r(this,void 0,void 0,function*(){let r=new l.SvixRequest(l.HttpMethod.GET,`/api/v1/app/{app_id}/attempt/msg/{msg_id}`);return r.setPathParam(`app_id`,e),r.setPathParam(`msg_id`,t),r.setQueryParams({limit:n?.limit,iterator:n?.iterator,status:n?.status,status_code_class:n?.statusCodeClass,channel:n?.channel,tag:n?.tag,endpoint_id:n?.endpointId,before:n?.before,after:n?.after,with_content:n?.withContent,expanded_statuses:n?.expandedStatuses??!0,event_types:n?.eventTypes}),yield r.send(this.requestCtx,o.ListResponseMessageAttemptOutSerializer._fromJsonObject)})}listAttemptedMessages(e,t,n){return r(this,void 0,void 0,function*(){let r=new l.SvixRequest(l.HttpMethod.GET,`/api/v1/app/{app_id}/endpoint/{endpoint_id}/msg`);return r.setPathParam(`app_id`,e),r.setPathParam(`endpoint_id`,t),r.setQueryParams({limit:n?.limit,iterator:n?.iterator,channel:n?.channel,tag:n?.tag,status:n?.status,before:n?.before,after:n?.after,with_content:n?.withContent,expanded_statuses:n?.expandedStatuses??!0,event_types:n?.eventTypes}),yield r.send(this.requestCtx,a.ListResponseEndpointMessageOutSerializer._fromJsonObject)})}listAttemptedDestinations(e,t,n){return r(this,void 0,void 0,function*(){let r=new l.SvixRequest(l.HttpMethod.GET,`/api/v1/app/{app_id}/msg/{msg_id}/endpoint`);return r.setPathParam(`app_id`,e),r.setPathParam(`msg_id`,t),r.setQueryParams({limit:n?.limit,iterator:n?.iterator}),yield r.send(this.requestCtx,s.ListResponseMessageEndpointOutSerializer._fromJsonObject)})}get(e,t,n,i){return r(this,void 0,void 0,function*(){let r=new l.SvixRequest(l.HttpMethod.GET,`/api/v1/app/{app_id}/msg/{msg_id}/attempt/{attempt_id}`);return r.setPathParam(`app_id`,e),r.setPathParam(`msg_id`,t),r.setPathParam(`attempt_id`,n),r.setQueryParams({expanded_statuses:i?.expandedStatuses??!0}),yield r.send(this.requestCtx,c.MessageAttemptOutSerializer._fromJsonObject)})}expungeContent(e,t,n){return r(this,void 0,void 0,function*(){let r=new l.SvixRequest(l.HttpMethod.DELETE,`/api/v1/app/{app_id}/msg/{msg_id}/attempt/{attempt_id}/content`);return r.setPathParam(`app_id`,e),r.setPathParam(`msg_id`,t),r.setPathParam(`attempt_id`,n),yield r.sendNoResponseBody(this.requestCtx)})}resend(e,t,n,a){return r(this,void 0,void 0,function*(){let r=new l.SvixRequest(l.HttpMethod.POST,`/api/v1/app/{app_id}/msg/{msg_id}/endpoint/{endpoint_id}/resend`);return r.setPathParam(`app_id`,e),r.setPathParam(`msg_id`,t),r.setPathParam(`endpoint_id`,n),r.setHeaderParam(`idempotency-key`,a?.idempotencyKey),yield r.send(this.requestCtx,i.EmptyResponseSerializer._fromJsonObject)})}}})),qU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.OperationalWebhookEndpointOutSerializer=void 0,e.OperationalWebhookEndpointOutSerializer={_fromJsonObject(e){return{createdAt:new Date(e.createdAt),description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,id:e.id,metadata:e.metadata,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid,updatedAt:new Date(e.updatedAt),url:e.url}},_toJsonObject(e){return{createdAt:e.createdAt,description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,id:e.id,metadata:e.metadata,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid,updatedAt:e.updatedAt,url:e.url}}}})),JU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListResponseOperationalWebhookEndpointOutSerializer=void 0;var t=qU();e.ListResponseOperationalWebhookEndpointOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.OperationalWebhookEndpointOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}},_toJsonObject(e){return{data:e.data.map(e=>t.OperationalWebhookEndpointOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}}}})),YU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.OperationalWebhookEndpointHeadersInSerializer=void 0,e.OperationalWebhookEndpointHeadersInSerializer={_fromJsonObject(e){return{headers:e.headers}},_toJsonObject(e){return{headers:e.headers}}}})),XU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.OperationalWebhookEndpointHeadersOutSerializer=void 0,e.OperationalWebhookEndpointHeadersOutSerializer={_fromJsonObject(e){return{headers:e.headers,sensitive:e.sensitive}},_toJsonObject(e){return{headers:e.headers,sensitive:e.sensitive}}}})),ZU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.OperationalWebhookEndpointInSerializer=void 0,e.OperationalWebhookEndpointInSerializer={_fromJsonObject(e){return{description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,metadata:e.metadata,rateLimit:e.rateLimit,secret:e.secret,throttleRate:e.throttleRate,uid:e.uid,url:e.url}},_toJsonObject(e){return{description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,metadata:e.metadata,rateLimit:e.rateLimit,secret:e.secret,throttleRate:e.throttleRate,uid:e.uid,url:e.url}}}})),QU=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.OperationalWebhookEndpointSecretInSerializer=void 0,e.OperationalWebhookEndpointSecretInSerializer={_fromJsonObject(e){return{key:e.key}},_toJsonObject(e){return{key:e.key}}}})),$U=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.OperationalWebhookEndpointSecretOutSerializer=void 0,e.OperationalWebhookEndpointSecretOutSerializer={_fromJsonObject(e){return{key:e.key}},_toJsonObject(e){return{key:e.key}}}})),eW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.OperationalWebhookEndpointUpdateSerializer=void 0,e.OperationalWebhookEndpointUpdateSerializer={_fromJsonObject(e){return{description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,metadata:e.metadata,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid,url:e.url}},_toJsonObject(e){return{description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,metadata:e.metadata,rateLimit:e.rateLimit,throttleRate:e.throttleRate,uid:e.uid,url:e.url}}}})),tW=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.OperationalWebhookEndpoint=void 0;var i=JU(),a=YU(),o=XU(),s=ZU(),c=qU(),l=QU(),u=$U(),d=eW(),f=XB();e.OperationalWebhookEndpoint=class{constructor(e){this.requestCtx=e}list(e){return r(this,void 0,void 0,function*(){let t=new f.SvixRequest(f.HttpMethod.GET,`/api/v1/operational-webhook/endpoint`);return t.setQueryParams({limit:e?.limit,iterator:e?.iterator,order:e?.order}),yield t.send(this.requestCtx,i.ListResponseOperationalWebhookEndpointOutSerializer._fromJsonObject)})}create(e,t){return r(this,void 0,void 0,function*(){let n=new f.SvixRequest(f.HttpMethod.POST,`/api/v1/operational-webhook/endpoint`);return n.setHeaderParam(`idempotency-key`,t?.idempotencyKey),n.setBody(s.OperationalWebhookEndpointInSerializer._toJsonObject(e)),yield n.send(this.requestCtx,c.OperationalWebhookEndpointOutSerializer._fromJsonObject)})}get(e){return r(this,void 0,void 0,function*(){let t=new f.SvixRequest(f.HttpMethod.GET,`/api/v1/operational-webhook/endpoint/{endpoint_id}`);return t.setPathParam(`endpoint_id`,e),yield t.send(this.requestCtx,c.OperationalWebhookEndpointOutSerializer._fromJsonObject)})}update(e,t){return r(this,void 0,void 0,function*(){let n=new f.SvixRequest(f.HttpMethod.PUT,`/api/v1/operational-webhook/endpoint/{endpoint_id}`);return n.setPathParam(`endpoint_id`,e),n.setBody(d.OperationalWebhookEndpointUpdateSerializer._toJsonObject(t)),yield n.send(this.requestCtx,c.OperationalWebhookEndpointOutSerializer._fromJsonObject)})}delete(e){return r(this,void 0,void 0,function*(){let t=new f.SvixRequest(f.HttpMethod.DELETE,`/api/v1/operational-webhook/endpoint/{endpoint_id}`);return t.setPathParam(`endpoint_id`,e),yield t.sendNoResponseBody(this.requestCtx)})}getSecret(e){return r(this,void 0,void 0,function*(){let t=new f.SvixRequest(f.HttpMethod.GET,`/api/v1/operational-webhook/endpoint/{endpoint_id}/secret`);return t.setPathParam(`endpoint_id`,e),yield t.send(this.requestCtx,u.OperationalWebhookEndpointSecretOutSerializer._fromJsonObject)})}rotateSecret(e,t={},n){return r(this,void 0,void 0,function*(){let r=new f.SvixRequest(f.HttpMethod.POST,`/api/v1/operational-webhook/endpoint/{endpoint_id}/secret/rotate`);return r.setPathParam(`endpoint_id`,e),r.setHeaderParam(`idempotency-key`,n?.idempotencyKey),r.setBody(l.OperationalWebhookEndpointSecretInSerializer._toJsonObject(t)),yield r.sendNoResponseBody(this.requestCtx)})}getHeaders(e){return r(this,void 0,void 0,function*(){let t=new f.SvixRequest(f.HttpMethod.GET,`/api/v1/operational-webhook/endpoint/{endpoint_id}/headers`);return t.setPathParam(`endpoint_id`,e),yield t.send(this.requestCtx,o.OperationalWebhookEndpointHeadersOutSerializer._fromJsonObject)})}updateHeaders(e,t){return r(this,void 0,void 0,function*(){let n=new f.SvixRequest(f.HttpMethod.PUT,`/api/v1/operational-webhook/endpoint/{endpoint_id}/headers`);return n.setPathParam(`endpoint_id`,e),n.setBody(a.OperationalWebhookEndpointHeadersInSerializer._toJsonObject(t)),yield n.sendNoResponseBody(this.requestCtx)})}}})),nW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.OperationalWebhook=void 0;var t=tW();e.OperationalWebhook=class{constructor(e){this.requestCtx=e}get endpoint(){return new t.OperationalWebhookEndpoint(this.requestCtx)}}})),rW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AggregateEventTypesOutSerializer=void 0;var t=cV(),n=lV();e.AggregateEventTypesOutSerializer={_fromJsonObject(e){return{id:e.id,status:t.BackgroundTaskStatusSerializer._fromJsonObject(e.status),task:n.BackgroundTaskTypeSerializer._fromJsonObject(e.task),updatedAt:new Date(e.updatedAt)}},_toJsonObject(e){return{id:e.id,status:t.BackgroundTaskStatusSerializer._toJsonObject(e.status),task:n.BackgroundTaskTypeSerializer._toJsonObject(e.task),updatedAt:e.updatedAt}}}})),iW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AppUsageStatsInSerializer=void 0,e.AppUsageStatsInSerializer={_fromJsonObject(e){return{appIds:e.appIds,since:new Date(e.since),until:new Date(e.until)}},_toJsonObject(e){return{appIds:e.appIds,since:e.since,until:e.until}}}})),aW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AppUsageStatsOutSerializer=void 0;var t=cV(),n=lV();e.AppUsageStatsOutSerializer={_fromJsonObject(e){return{id:e.id,status:t.BackgroundTaskStatusSerializer._fromJsonObject(e.status),task:n.BackgroundTaskTypeSerializer._fromJsonObject(e.task),unresolvedAppIds:e.unresolvedAppIds,updatedAt:new Date(e.updatedAt)}},_toJsonObject(e){return{id:e.id,status:t.BackgroundTaskStatusSerializer._toJsonObject(e.status),task:n.BackgroundTaskTypeSerializer._toJsonObject(e.task),unresolvedAppIds:e.unresolvedAppIds,updatedAt:e.updatedAt}}}})),oW=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.Statistics=void 0;var i=rW(),a=iW(),o=aW(),s=XB();e.Statistics=class{constructor(e){this.requestCtx=e}aggregateEventTypes(){return r(this,void 0,void 0,function*(){return yield new s.SvixRequest(s.HttpMethod.PUT,`/api/v1/stats/usage/event-types`).send(this.requestCtx,i.AggregateEventTypesOutSerializer._fromJsonObject)})}aggregateAppStats(e,t){return r(this,void 0,void 0,function*(){let n=new s.SvixRequest(s.HttpMethod.POST,`/api/v1/stats/usage/app`);return n.setHeaderParam(`idempotency-key`,t?.idempotencyKey),n.setBody(a.AppUsageStatsInSerializer._toJsonObject(e)),yield n.send(this.requestCtx,o.AppUsageStatsOutSerializer._fromJsonObject)})}}})),sW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.HttpSinkHeadersPatchInSerializer=void 0,e.HttpSinkHeadersPatchInSerializer={_fromJsonObject(e){return{headers:e.headers}},_toJsonObject(e){return{headers:e.headers}}}})),cW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SinkTransformationOutSerializer=void 0,e.SinkTransformationOutSerializer={_fromJsonObject(e){return{code:e.code,enabled:e.enabled}},_toJsonObject(e){return{code:e.code,enabled:e.enabled}}}})),lW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StreamEventTypeOutSerializer=void 0,e.StreamEventTypeOutSerializer={_fromJsonObject(e){return{archived:e.archived,createdAt:new Date(e.createdAt),deprecated:e.deprecated,description:e.description,featureFlags:e.featureFlags,name:e.name,updatedAt:new Date(e.updatedAt)}},_toJsonObject(e){return{archived:e.archived,createdAt:e.createdAt,deprecated:e.deprecated,description:e.description,featureFlags:e.featureFlags,name:e.name,updatedAt:e.updatedAt}}}})),uW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListResponseStreamEventTypeOutSerializer=void 0;var t=lW();e.ListResponseStreamEventTypeOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.StreamEventTypeOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}},_toJsonObject(e){return{data:e.data.map(e=>t.StreamEventTypeOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}}}})),dW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StreamEventTypeInSerializer=void 0,e.StreamEventTypeInSerializer={_fromJsonObject(e){return{archived:e.archived,deprecated:e.deprecated,description:e.description,featureFlags:e.featureFlags,name:e.name}},_toJsonObject(e){return{archived:e.archived,deprecated:e.deprecated,description:e.description,featureFlags:e.featureFlags,name:e.name}}}})),fW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StreamEventTypePatchSerializer=void 0,e.StreamEventTypePatchSerializer={_fromJsonObject(e){return{archived:e.archived,deprecated:e.deprecated,description:e.description,featureFlags:e.featureFlags}},_toJsonObject(e){return{archived:e.archived,deprecated:e.deprecated,description:e.description,featureFlags:e.featureFlags}}}})),pW=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.StreamingEventType=void 0;var i=uW(),a=dW(),o=lW(),s=fW(),c=XB();e.StreamingEventType=class{constructor(e){this.requestCtx=e}list(e){return r(this,void 0,void 0,function*(){let t=new c.SvixRequest(c.HttpMethod.GET,`/api/v1/stream/event-type`);return t.setQueryParams({limit:e?.limit,iterator:e?.iterator,order:e?.order,include_archived:e?.includeArchived}),yield t.send(this.requestCtx,i.ListResponseStreamEventTypeOutSerializer._fromJsonObject)})}create(e,t){return r(this,void 0,void 0,function*(){let n=new c.SvixRequest(c.HttpMethod.POST,`/api/v1/stream/event-type`);return n.setHeaderParam(`idempotency-key`,t?.idempotencyKey),n.setBody(a.StreamEventTypeInSerializer._toJsonObject(e)),yield n.send(this.requestCtx,o.StreamEventTypeOutSerializer._fromJsonObject)})}get(e){return r(this,void 0,void 0,function*(){let t=new c.SvixRequest(c.HttpMethod.GET,`/api/v1/stream/event-type/{name}`);return t.setPathParam(`name`,e),yield t.send(this.requestCtx,o.StreamEventTypeOutSerializer._fromJsonObject)})}update(e,t){return r(this,void 0,void 0,function*(){let n=new c.SvixRequest(c.HttpMethod.PUT,`/api/v1/stream/event-type/{name}`);return n.setPathParam(`name`,e),n.setBody(a.StreamEventTypeInSerializer._toJsonObject(t)),yield n.send(this.requestCtx,o.StreamEventTypeOutSerializer._fromJsonObject)})}delete(e,t){return r(this,void 0,void 0,function*(){let n=new c.SvixRequest(c.HttpMethod.DELETE,`/api/v1/stream/event-type/{name}`);return n.setPathParam(`name`,e),n.setQueryParams({expunge:t?.expunge}),yield n.sendNoResponseBody(this.requestCtx)})}patch(e,t){return r(this,void 0,void 0,function*(){let n=new c.SvixRequest(c.HttpMethod.PATCH,`/api/v1/stream/event-type/{name}`);return n.setPathParam(`name`,e),n.setBody(s.StreamEventTypePatchSerializer._toJsonObject(t)),yield n.send(this.requestCtx,o.StreamEventTypeOutSerializer._fromJsonObject)})}}})),mW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EventInSerializer=void 0,e.EventInSerializer={_fromJsonObject(e){return{eventType:e.eventType,payload:e.payload}},_toJsonObject(e){return{eventType:e.eventType,payload:e.payload}}}})),hW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StreamInSerializer=void 0,e.StreamInSerializer={_fromJsonObject(e){return{metadata:e.metadata,name:e.name,uid:e.uid}},_toJsonObject(e){return{metadata:e.metadata,name:e.name,uid:e.uid}}}})),gW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CreateStreamEventsInSerializer=void 0;var t=mW(),n=hW();e.CreateStreamEventsInSerializer={_fromJsonObject(e){return{events:e.events.map(e=>t.EventInSerializer._fromJsonObject(e)),stream:e.stream==null?void 0:n.StreamInSerializer._fromJsonObject(e.stream)}},_toJsonObject(e){return{events:e.events.map(e=>t.EventInSerializer._toJsonObject(e)),stream:e.stream==null?void 0:n.StreamInSerializer._toJsonObject(e.stream)}}}})),_W=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CreateStreamEventsOutSerializer=void 0,e.CreateStreamEventsOutSerializer={_fromJsonObject(e){return{}},_toJsonObject(e){return{}}}})),vW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EventOutSerializer=void 0,e.EventOutSerializer={_fromJsonObject(e){return{eventType:e.eventType,payload:e.payload,timestamp:new Date(e.timestamp)}},_toJsonObject(e){return{eventType:e.eventType,payload:e.payload,timestamp:e.timestamp}}}})),yW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EventStreamOutSerializer=void 0;var t=vW();e.EventStreamOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.EventOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator}},_toJsonObject(e){return{data:e.data.map(e=>t.EventOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator}}}})),bW=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.StreamingEvents=void 0;var i=gW(),a=_W(),o=yW(),s=XB();e.StreamingEvents=class{constructor(e){this.requestCtx=e}get(e,t,n){return r(this,void 0,void 0,function*(){let r=new s.SvixRequest(s.HttpMethod.GET,`/api/v1/stream/{stream_id}/sink/{sink_id}/events`);return r.setPathParam(`stream_id`,e),r.setPathParam(`sink_id`,t),r.setQueryParams({limit:n?.limit,iterator:n?.iterator,after:n?.after}),yield r.send(this.requestCtx,o.EventStreamOutSerializer._fromJsonObject)})}create(e,t,n){return r(this,void 0,void 0,function*(){let r=new s.SvixRequest(s.HttpMethod.POST,`/api/v1/stream/{stream_id}/events`);return r.setPathParam(`stream_id`,e),r.setHeaderParam(`idempotency-key`,n?.idempotencyKey),r.setBody(i.CreateStreamEventsInSerializer._toJsonObject(t)),yield r.send(this.requestCtx,a.CreateStreamEventsOutSerializer._fromJsonObject)})}}})),xW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AzureBlobStorageConfigSerializer=void 0,e.AzureBlobStorageConfigSerializer={_fromJsonObject(e){return{accessKey:e.accessKey,account:e.account,container:e.container}},_toJsonObject(e){return{accessKey:e.accessKey,account:e.account,container:e.container}}}})),SW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BigQueryConfigSerializer=void 0,e.BigQueryConfigSerializer={_fromJsonObject(e){return{credentials:e.credentials,datasetId:e.datasetId,projectId:e.projectId,tableId:e.tableId}},_toJsonObject(e){return{credentials:e.credentials,datasetId:e.datasetId,projectId:e.projectId,tableId:e.tableId}}}})),CW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ClickhouseConfigSerializer=void 0,e.ClickhouseConfigSerializer={_fromJsonObject(e){return{database:e.database,password:e.password,tableName:e.tableName,url:e.url,username:e.username}},_toJsonObject(e){return{database:e.database,password:e.password,tableName:e.tableName,url:e.url,username:e.username}}}})),wW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EventBridgeConfigSerializer=void 0,e.EventBridgeConfigSerializer={_fromJsonObject(e){return{accessKeyId:e.accessKeyId,detailType:e.detailType,eventBusName:e.eventBusName,region:e.region,secretAccessKey:e.secretAccessKey}},_toJsonObject(e){return{accessKeyId:e.accessKeyId,detailType:e.detailType,eventBusName:e.eventBusName,region:e.region,secretAccessKey:e.secretAccessKey}}}})),TW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.GoogleCloudPubSubConfigSerializer=void 0,e.GoogleCloudPubSubConfigSerializer={_fromJsonObject(e){return{credentials:e.credentials,projectId:e.projectId,topicId:e.topicId}},_toJsonObject(e){return{credentials:e.credentials,projectId:e.projectId,topicId:e.topicId}}}})),EW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.GoogleCloudStorageConfigSerializer=void 0,e.GoogleCloudStorageConfigSerializer={_fromJsonObject(e){return{bucket:e.bucket,credentials:e.credentials}},_toJsonObject(e){return{bucket:e.bucket,credentials:e.credentials}}}})),DW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RabbitMqConfigSerializer=void 0,e.RabbitMqConfigSerializer={_fromJsonObject(e){return{routingKey:e.routingKey,uri:e.uri}},_toJsonObject(e){return{routingKey:e.routingKey,uri:e.uri}}}})),OW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RedshiftConfigSerializer=void 0,e.RedshiftConfigSerializer={_fromJsonObject(e){return{accessKeyId:e.accessKeyId,clusterIdentifier:e.clusterIdentifier,dbName:e.dbName,dbUser:e.dbUser,region:e.region,schemaName:e.schemaName,secretAccessKey:e.secretAccessKey,tableName:e.tableName,workgroupName:e.workgroupName}},_toJsonObject(e){return{accessKeyId:e.accessKeyId,clusterIdentifier:e.clusterIdentifier,dbName:e.dbName,dbUser:e.dbUser,region:e.region,schemaName:e.schemaName,secretAccessKey:e.secretAccessKey,tableName:e.tableName,workgroupName:e.workgroupName}}}})),kW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.S3ConfigSerializer=void 0,e.S3ConfigSerializer={_fromJsonObject(e){return{accessKeyId:e.accessKeyId,bucket:e.bucket,endpointUrl:e.endpointUrl,region:e.region,secretAccessKey:e.secretAccessKey}},_toJsonObject(e){return{accessKeyId:e.accessKeyId,bucket:e.bucket,endpointUrl:e.endpointUrl,region:e.region,secretAccessKey:e.secretAccessKey}}}})),AW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SinkHttpConfigSerializer=void 0,e.SinkHttpConfigSerializer={_fromJsonObject(e){return{headers:e.headers,key:e.key,url:e.url}},_toJsonObject(e){return{headers:e.headers,key:e.key,url:e.url}}}})),jW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SinkOtelV1ConfigSerializer=void 0,e.SinkOtelV1ConfigSerializer={_fromJsonObject(e){return{headers:e.headers,url:e.url}},_toJsonObject(e){return{headers:e.headers,url:e.url}}}})),MW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SinkStatusSerializer=e.SinkStatus=void 0,(function(e){e.Enabled=`enabled`,e.Paused=`paused`,e.Disabled=`disabled`,e.Retrying=`retrying`})(e.SinkStatus||={}),e.SinkStatusSerializer={_fromJsonObject(e){return e},_toJsonObject(e){return e}}})),NW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SnowflakeConfigSerializer=void 0,e.SnowflakeConfigSerializer={_fromJsonObject(e){return{accountIdentifier:e.accountIdentifier,dbName:e.dbName,privateKey:e.privateKey,schemaName:e.schemaName,tableName:e.tableName,userId:e.userId}},_toJsonObject(e){return{accountIdentifier:e.accountIdentifier,dbName:e.dbName,privateKey:e.privateKey,schemaName:e.schemaName,tableName:e.tableName,userId:e.userId}}}})),PW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SnsConfigSerializer=void 0,e.SnsConfigSerializer={_fromJsonObject(e){return{accessKeyId:e.accessKeyId,endpointUrl:e.endpointUrl,region:e.region,secretAccessKey:e.secretAccessKey,topicArn:e.topicArn}},_toJsonObject(e){return{accessKeyId:e.accessKeyId,endpointUrl:e.endpointUrl,region:e.region,secretAccessKey:e.secretAccessKey,topicArn:e.topicArn}}}})),FW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SqsConfigSerializer=void 0,e.SqsConfigSerializer={_fromJsonObject(e){return{accessKeyId:e.accessKeyId,endpointUrl:e.endpointUrl,queueUrl:e.queueUrl,region:e.region,secretAccessKey:e.secretAccessKey}},_toJsonObject(e){return{accessKeyId:e.accessKeyId,endpointUrl:e.endpointUrl,queueUrl:e.queueUrl,region:e.region,secretAccessKey:e.secretAccessKey}}}})),IW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StreamSinkOutSerializer=void 0;var t=xW(),n=SW(),r=CW(),i=wW(),a=TW(),o=EW(),s=DW(),c=OW(),l=kW(),u=AW(),d=jW(),f=MW(),p=NW(),m=PW(),h=FW();e.StreamSinkOutSerializer={_fromJsonObject(e){let g=e.type;function _(f){switch(f){case`poller`:return{};case`azureBlobStorage`:return t.AzureBlobStorageConfigSerializer._fromJsonObject(e.config);case`otelTracing`:return d.SinkOtelV1ConfigSerializer._fromJsonObject(e.config);case`http`:return u.SinkHttpConfigSerializer._fromJsonObject(e.config);case`amazonS3`:return l.S3ConfigSerializer._fromJsonObject(e.config);case`googleCloudStorage`:return o.GoogleCloudStorageConfigSerializer._fromJsonObject(e.config);case`googleCloudPubSub`:return a.GoogleCloudPubSubConfigSerializer._fromJsonObject(e.config);case`sqs`:return h.SqsConfigSerializer._fromJsonObject(e.config);case`sns`:return m.SnsConfigSerializer._fromJsonObject(e.config);case`bigQuery`:return n.BigQueryConfigSerializer._fromJsonObject(e.config);case`clickhouse`:return r.ClickhouseConfigSerializer._fromJsonObject(e.config);case`eventBridge`:return i.EventBridgeConfigSerializer._fromJsonObject(e.config);case`snowflake`:return p.SnowflakeConfigSerializer._fromJsonObject(e.config);case`rabbitMq`:return s.RabbitMqConfigSerializer._fromJsonObject(e.config);case`redshift`:return c.RedshiftConfigSerializer._fromJsonObject(e.config);default:throw Error(`Unexpected type: ${f}`)}}return{type:g,config:_(g),batchSize:e.batchSize,createdAt:new Date(e.createdAt),currentIterator:e.currentIterator,eventTypes:e.eventTypes,failureReason:e.failureReason,id:e.id,maxWaitSecs:e.maxWaitSecs,metadata:e.metadata,nextRetryAt:e.nextRetryAt?new Date(e.nextRetryAt):null,status:f.SinkStatusSerializer._fromJsonObject(e.status),uid:e.uid,updatedAt:new Date(e.updatedAt)}},_toJsonObject(e){let g;switch(e.type){case`poller`:g={};break;case`azureBlobStorage`:g=t.AzureBlobStorageConfigSerializer._toJsonObject(e.config);break;case`otelTracing`:g=d.SinkOtelV1ConfigSerializer._toJsonObject(e.config);break;case`http`:g=u.SinkHttpConfigSerializer._toJsonObject(e.config);break;case`amazonS3`:g=l.S3ConfigSerializer._toJsonObject(e.config);break;case`googleCloudStorage`:g=o.GoogleCloudStorageConfigSerializer._toJsonObject(e.config);break;case`googleCloudPubSub`:g=a.GoogleCloudPubSubConfigSerializer._toJsonObject(e.config);break;case`sqs`:g=h.SqsConfigSerializer._toJsonObject(e.config);break;case`sns`:g=m.SnsConfigSerializer._toJsonObject(e.config);break;case`bigQuery`:g=n.BigQueryConfigSerializer._toJsonObject(e.config);break;case`clickhouse`:g=r.ClickhouseConfigSerializer._toJsonObject(e.config);break;case`eventBridge`:g=i.EventBridgeConfigSerializer._toJsonObject(e.config);break;case`snowflake`:g=p.SnowflakeConfigSerializer._toJsonObject(e.config);break;case`rabbitMq`:g=s.RabbitMqConfigSerializer._toJsonObject(e.config);break;case`redshift`:g=c.RedshiftConfigSerializer._toJsonObject(e.config)}return{type:e.type,config:g,batchSize:e.batchSize,createdAt:e.createdAt,currentIterator:e.currentIterator,eventTypes:e.eventTypes,failureReason:e.failureReason,id:e.id,maxWaitSecs:e.maxWaitSecs,metadata:e.metadata,nextRetryAt:e.nextRetryAt,status:f.SinkStatusSerializer._toJsonObject(e.status),uid:e.uid,updatedAt:e.updatedAt}}}})),LW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListResponseStreamSinkOutSerializer=void 0;var t=IW();e.ListResponseStreamSinkOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.StreamSinkOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}},_toJsonObject(e){return{data:e.data.map(e=>t.StreamSinkOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}}}})),RW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SinkSecretOutSerializer=void 0,e.SinkSecretOutSerializer={_fromJsonObject(e){return{key:e.key}},_toJsonObject(e){return{key:e.key}}}})),zW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SinkTransformInSerializer=void 0,e.SinkTransformInSerializer={_fromJsonObject(e){return{code:e.code}},_toJsonObject(e){return{code:e.code}}}})),BW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SinkStatusInSerializer=e.SinkStatusIn=void 0,(function(e){e.Enabled=`enabled`,e.Disabled=`disabled`})(e.SinkStatusIn||={}),e.SinkStatusInSerializer={_fromJsonObject(e){return e},_toJsonObject(e){return e}}})),VW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StreamSinkInSerializer=void 0;var t=xW(),n=SW(),r=CW(),i=wW(),a=TW(),o=EW(),s=DW(),c=OW(),l=kW(),u=AW(),d=jW(),f=BW(),p=NW(),m=PW(),h=FW();e.StreamSinkInSerializer={_fromJsonObject(e){let g=e.type;function _(f){switch(f){case`poller`:return{};case`azureBlobStorage`:return t.AzureBlobStorageConfigSerializer._fromJsonObject(e.config);case`otelTracing`:return d.SinkOtelV1ConfigSerializer._fromJsonObject(e.config);case`http`:return u.SinkHttpConfigSerializer._fromJsonObject(e.config);case`amazonS3`:return l.S3ConfigSerializer._fromJsonObject(e.config);case`googleCloudStorage`:return o.GoogleCloudStorageConfigSerializer._fromJsonObject(e.config);case`googleCloudPubSub`:return a.GoogleCloudPubSubConfigSerializer._fromJsonObject(e.config);case`sqs`:return h.SqsConfigSerializer._fromJsonObject(e.config);case`sns`:return m.SnsConfigSerializer._fromJsonObject(e.config);case`bigQuery`:return n.BigQueryConfigSerializer._fromJsonObject(e.config);case`clickhouse`:return r.ClickhouseConfigSerializer._fromJsonObject(e.config);case`eventBridge`:return i.EventBridgeConfigSerializer._fromJsonObject(e.config);case`snowflake`:return p.SnowflakeConfigSerializer._fromJsonObject(e.config);case`rabbitMq`:return s.RabbitMqConfigSerializer._fromJsonObject(e.config);case`redshift`:return c.RedshiftConfigSerializer._fromJsonObject(e.config);default:throw Error(`Unexpected type: ${f}`)}}return{type:g,config:_(g),batchSize:e.batchSize,eventTypes:e.eventTypes,maxWaitSecs:e.maxWaitSecs,metadata:e.metadata,status:e.status==null?void 0:f.SinkStatusInSerializer._fromJsonObject(e.status),uid:e.uid}},_toJsonObject(e){let g;switch(e.type){case`poller`:g={};break;case`azureBlobStorage`:g=t.AzureBlobStorageConfigSerializer._toJsonObject(e.config);break;case`otelTracing`:g=d.SinkOtelV1ConfigSerializer._toJsonObject(e.config);break;case`http`:g=u.SinkHttpConfigSerializer._toJsonObject(e.config);break;case`amazonS3`:g=l.S3ConfigSerializer._toJsonObject(e.config);break;case`googleCloudStorage`:g=o.GoogleCloudStorageConfigSerializer._toJsonObject(e.config);break;case`googleCloudPubSub`:g=a.GoogleCloudPubSubConfigSerializer._toJsonObject(e.config);break;case`sqs`:g=h.SqsConfigSerializer._toJsonObject(e.config);break;case`sns`:g=m.SnsConfigSerializer._toJsonObject(e.config);break;case`bigQuery`:g=n.BigQueryConfigSerializer._toJsonObject(e.config);break;case`clickhouse`:g=r.ClickhouseConfigSerializer._toJsonObject(e.config);break;case`eventBridge`:g=i.EventBridgeConfigSerializer._toJsonObject(e.config);break;case`snowflake`:g=p.SnowflakeConfigSerializer._toJsonObject(e.config);break;case`rabbitMq`:g=s.RabbitMqConfigSerializer._toJsonObject(e.config);break;case`redshift`:g=c.RedshiftConfigSerializer._toJsonObject(e.config)}return{type:e.type,config:g,batchSize:e.batchSize,eventTypes:e.eventTypes,maxWaitSecs:e.maxWaitSecs,metadata:e.metadata,status:e.status==null?void 0:f.SinkStatusInSerializer._toJsonObject(e.status),uid:e.uid}}}})),HW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AmazonS3PatchConfigSerializer=void 0,e.AmazonS3PatchConfigSerializer={_fromJsonObject(e){return{accessKeyId:e.accessKeyId,bucket:e.bucket,endpointUrl:e.endpointUrl,region:e.region,secretAccessKey:e.secretAccessKey}},_toJsonObject(e){return{accessKeyId:e.accessKeyId,bucket:e.bucket,endpointUrl:e.endpointUrl,region:e.region,secretAccessKey:e.secretAccessKey}}}})),UW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AzureBlobStoragePatchConfigSerializer=void 0,e.AzureBlobStoragePatchConfigSerializer={_fromJsonObject(e){return{accessKey:e.accessKey,account:e.account,container:e.container}},_toJsonObject(e){return{accessKey:e.accessKey,account:e.account,container:e.container}}}})),WW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BigQueryPatchConfigSerializer=void 0,e.BigQueryPatchConfigSerializer={_fromJsonObject(e){return{credentials:e.credentials,datasetId:e.datasetId,projectId:e.projectId,tableId:e.tableId}},_toJsonObject(e){return{credentials:e.credentials,datasetId:e.datasetId,projectId:e.projectId,tableId:e.tableId}}}})),GW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ClickhousePatchConfigSerializer=void 0,e.ClickhousePatchConfigSerializer={_fromJsonObject(e){return{database:e.database,password:e.password,tableName:e.tableName,url:e.url,username:e.username}},_toJsonObject(e){return{database:e.database,password:e.password,tableName:e.tableName,url:e.url,username:e.username}}}})),KW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EventBridgePatchConfigSerializer=void 0,e.EventBridgePatchConfigSerializer={_fromJsonObject(e){return{accessKeyId:e.accessKeyId,detailType:e.detailType,eventBusName:e.eventBusName,region:e.region,secretAccessKey:e.secretAccessKey}},_toJsonObject(e){return{accessKeyId:e.accessKeyId,detailType:e.detailType,eventBusName:e.eventBusName,region:e.region,secretAccessKey:e.secretAccessKey}}}})),qW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.GoogleCloudPubSubPatchConfigSerializer=void 0,e.GoogleCloudPubSubPatchConfigSerializer={_fromJsonObject(e){return{credentials:e.credentials,projectId:e.projectId,topicId:e.topicId}},_toJsonObject(e){return{credentials:e.credentials,projectId:e.projectId,topicId:e.topicId}}}})),JW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.GoogleCloudStoragePatchConfigSerializer=void 0,e.GoogleCloudStoragePatchConfigSerializer={_fromJsonObject(e){return{bucket:e.bucket,credentials:e.credentials}},_toJsonObject(e){return{bucket:e.bucket,credentials:e.credentials}}}})),YW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.HttpPatchConfigSerializer=void 0,e.HttpPatchConfigSerializer={_fromJsonObject(e){return{url:e.url}},_toJsonObject(e){return{url:e.url}}}})),XW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.OtelTracingPatchConfigSerializer=void 0,e.OtelTracingPatchConfigSerializer={_fromJsonObject(e){return{url:e.url}},_toJsonObject(e){return{url:e.url}}}})),ZW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RabbitMqPatchConfigSerializer=void 0,e.RabbitMqPatchConfigSerializer={_fromJsonObject(e){return{routingKey:e.routingKey,uri:e.uri}},_toJsonObject(e){return{routingKey:e.routingKey,uri:e.uri}}}})),QW=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RedshiftPatchConfigSerializer=void 0,e.RedshiftPatchConfigSerializer={_fromJsonObject(e){return{accessKeyId:e.accessKeyId,dbName:e.dbName,region:e.region,schemaName:e.schemaName,secretAccessKey:e.secretAccessKey,tableName:e.tableName}},_toJsonObject(e){return{accessKeyId:e.accessKeyId,dbName:e.dbName,region:e.region,schemaName:e.schemaName,secretAccessKey:e.secretAccessKey,tableName:e.tableName}}}})),$W=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SnowflakePatchConfigSerializer=void 0,e.SnowflakePatchConfigSerializer={_fromJsonObject(e){return{accountIdentifier:e.accountIdentifier,dbName:e.dbName,privateKey:e.privateKey,schemaName:e.schemaName,tableName:e.tableName,userId:e.userId}},_toJsonObject(e){return{accountIdentifier:e.accountIdentifier,dbName:e.dbName,privateKey:e.privateKey,schemaName:e.schemaName,tableName:e.tableName,userId:e.userId}}}})),eG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SnsPatchConfigSerializer=void 0,e.SnsPatchConfigSerializer={_fromJsonObject(e){return{accessKeyId:e.accessKeyId,endpointUrl:e.endpointUrl,region:e.region,secretAccessKey:e.secretAccessKey,topicArn:e.topicArn}},_toJsonObject(e){return{accessKeyId:e.accessKeyId,endpointUrl:e.endpointUrl,region:e.region,secretAccessKey:e.secretAccessKey,topicArn:e.topicArn}}}})),tG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SqsPatchConfigSerializer=void 0,e.SqsPatchConfigSerializer={_fromJsonObject(e){return{accessKeyId:e.accessKeyId,endpointUrl:e.endpointUrl,queueUrl:e.queueUrl,region:e.region,secretAccessKey:e.secretAccessKey}},_toJsonObject(e){return{accessKeyId:e.accessKeyId,endpointUrl:e.endpointUrl,queueUrl:e.queueUrl,region:e.region,secretAccessKey:e.secretAccessKey}}}})),nG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StreamSinkPatchSerializer=void 0;var t=HW(),n=UW(),r=WW(),i=GW(),a=KW(),o=qW(),s=JW(),c=YW(),l=XW(),u=ZW(),d=QW(),f=BW(),p=$W(),m=eG(),h=tG();e.StreamSinkPatchSerializer={_fromJsonObject(e){let g=e.type;function _(f){switch(f){case`poller`:return{};case`azureBlobStorage`:return n.AzureBlobStoragePatchConfigSerializer._fromJsonObject(e.config);case`otelTracing`:return l.OtelTracingPatchConfigSerializer._fromJsonObject(e.config);case`http`:return c.HttpPatchConfigSerializer._fromJsonObject(e.config);case`amazonS3`:return t.AmazonS3PatchConfigSerializer._fromJsonObject(e.config);case`googleCloudStorage`:return s.GoogleCloudStoragePatchConfigSerializer._fromJsonObject(e.config);case`googleCloudPubSub`:return o.GoogleCloudPubSubPatchConfigSerializer._fromJsonObject(e.config);case`sqs`:return h.SqsPatchConfigSerializer._fromJsonObject(e.config);case`sns`:return m.SnsPatchConfigSerializer._fromJsonObject(e.config);case`bigQuery`:return r.BigQueryPatchConfigSerializer._fromJsonObject(e.config);case`clickhouse`:return i.ClickhousePatchConfigSerializer._fromJsonObject(e.config);case`eventBridge`:return a.EventBridgePatchConfigSerializer._fromJsonObject(e.config);case`snowflake`:return p.SnowflakePatchConfigSerializer._fromJsonObject(e.config);case`rabbitMq`:return u.RabbitMqPatchConfigSerializer._fromJsonObject(e.config);case`redshift`:return d.RedshiftPatchConfigSerializer._fromJsonObject(e.config);default:throw Error(`Unexpected type: ${f}`)}}return{type:g,config:_(g),batchSize:e.batchSize,eventTypes:e.eventTypes,maxWaitSecs:e.maxWaitSecs,metadata:e.metadata,status:e.status==null?void 0:f.SinkStatusInSerializer._fromJsonObject(e.status),uid:e.uid}},_toJsonObject(e){let g;switch(e.type){case`poller`:g={};break;case`azureBlobStorage`:g=n.AzureBlobStoragePatchConfigSerializer._toJsonObject(e.config);break;case`otelTracing`:g=l.OtelTracingPatchConfigSerializer._toJsonObject(e.config);break;case`http`:g=c.HttpPatchConfigSerializer._toJsonObject(e.config);break;case`amazonS3`:g=t.AmazonS3PatchConfigSerializer._toJsonObject(e.config);break;case`googleCloudStorage`:g=s.GoogleCloudStoragePatchConfigSerializer._toJsonObject(e.config);break;case`googleCloudPubSub`:g=o.GoogleCloudPubSubPatchConfigSerializer._toJsonObject(e.config);break;case`sqs`:g=h.SqsPatchConfigSerializer._toJsonObject(e.config);break;case`sns`:g=m.SnsPatchConfigSerializer._toJsonObject(e.config);break;case`bigQuery`:g=r.BigQueryPatchConfigSerializer._toJsonObject(e.config);break;case`clickhouse`:g=i.ClickhousePatchConfigSerializer._toJsonObject(e.config);break;case`eventBridge`:g=a.EventBridgePatchConfigSerializer._toJsonObject(e.config);break;case`snowflake`:g=p.SnowflakePatchConfigSerializer._toJsonObject(e.config);break;case`rabbitMq`:g=u.RabbitMqPatchConfigSerializer._toJsonObject(e.config);break;case`redshift`:g=d.RedshiftPatchConfigSerializer._toJsonObject(e.config)}return{type:e.type,config:g,batchSize:e.batchSize,eventTypes:e.eventTypes,maxWaitSecs:e.maxWaitSecs,metadata:e.metadata,status:e.status==null?void 0:f.SinkStatusInSerializer._toJsonObject(e.status),uid:e.uid}}}})),rG=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.StreamingSink=void 0;var i=LU(),a=jV(),o=LW(),s=RW(),c=zW(),l=VW(),u=IW(),d=nG(),f=XB();e.StreamingSink=class{constructor(e){this.requestCtx=e}list(e,t){return r(this,void 0,void 0,function*(){let n=new f.SvixRequest(f.HttpMethod.GET,`/api/v1/stream/{stream_id}/sink`);return n.setPathParam(`stream_id`,e),n.setQueryParams({limit:t?.limit,iterator:t?.iterator,order:t?.order}),yield n.send(this.requestCtx,o.ListResponseStreamSinkOutSerializer._fromJsonObject)})}create(e,t,n){return r(this,void 0,void 0,function*(){let r=new f.SvixRequest(f.HttpMethod.POST,`/api/v1/stream/{stream_id}/sink`);return r.setPathParam(`stream_id`,e),r.setHeaderParam(`idempotency-key`,n?.idempotencyKey),r.setBody(l.StreamSinkInSerializer._toJsonObject(t)),yield r.send(this.requestCtx,u.StreamSinkOutSerializer._fromJsonObject)})}get(e,t){return r(this,void 0,void 0,function*(){let n=new f.SvixRequest(f.HttpMethod.GET,`/api/v1/stream/{stream_id}/sink/{sink_id}`);return n.setPathParam(`stream_id`,e),n.setPathParam(`sink_id`,t),yield n.send(this.requestCtx,u.StreamSinkOutSerializer._fromJsonObject)})}update(e,t,n){return r(this,void 0,void 0,function*(){let r=new f.SvixRequest(f.HttpMethod.PUT,`/api/v1/stream/{stream_id}/sink/{sink_id}`);return r.setPathParam(`stream_id`,e),r.setPathParam(`sink_id`,t),r.setBody(l.StreamSinkInSerializer._toJsonObject(n)),yield r.send(this.requestCtx,u.StreamSinkOutSerializer._fromJsonObject)})}delete(e,t){return r(this,void 0,void 0,function*(){let n=new f.SvixRequest(f.HttpMethod.DELETE,`/api/v1/stream/{stream_id}/sink/{sink_id}`);return n.setPathParam(`stream_id`,e),n.setPathParam(`sink_id`,t),yield n.sendNoResponseBody(this.requestCtx)})}patch(e,t,n){return r(this,void 0,void 0,function*(){let r=new f.SvixRequest(f.HttpMethod.PATCH,`/api/v1/stream/{stream_id}/sink/{sink_id}`);return r.setPathParam(`stream_id`,e),r.setPathParam(`sink_id`,t),r.setBody(d.StreamSinkPatchSerializer._toJsonObject(n)),yield r.send(this.requestCtx,u.StreamSinkOutSerializer._fromJsonObject)})}transformationPartialUpdate(e,t,n={}){return r(this,void 0,void 0,function*(){let r=new f.SvixRequest(f.HttpMethod.PATCH,`/api/v1/stream/{stream_id}/sink/{sink_id}/transformation`);return r.setPathParam(`stream_id`,e),r.setPathParam(`sink_id`,t),r.setBody(c.SinkTransformInSerializer._toJsonObject(n)),yield r.send(this.requestCtx,i.EmptyResponseSerializer._fromJsonObject)})}getSecret(e,t){return r(this,void 0,void 0,function*(){let n=new f.SvixRequest(f.HttpMethod.GET,`/api/v1/stream/{stream_id}/sink/{sink_id}/secret`);return n.setPathParam(`stream_id`,e),n.setPathParam(`sink_id`,t),yield n.send(this.requestCtx,s.SinkSecretOutSerializer._fromJsonObject)})}rotateSecret(e,t,n={},o){return r(this,void 0,void 0,function*(){let r=new f.SvixRequest(f.HttpMethod.POST,`/api/v1/stream/{stream_id}/sink/{sink_id}/secret/rotate`);return r.setPathParam(`stream_id`,e),r.setPathParam(`sink_id`,t),r.setHeaderParam(`idempotency-key`,o?.idempotencyKey),r.setBody(a.EndpointSecretRotateInSerializer._toJsonObject(n)),yield r.send(this.requestCtx,i.EmptyResponseSerializer._fromJsonObject)})}}})),iG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StreamOutSerializer=void 0,e.StreamOutSerializer={_fromJsonObject(e){return{createdAt:new Date(e.createdAt),id:e.id,metadata:e.metadata,name:e.name,uid:e.uid,updatedAt:new Date(e.updatedAt)}},_toJsonObject(e){return{createdAt:e.createdAt,id:e.id,metadata:e.metadata,name:e.name,uid:e.uid,updatedAt:e.updatedAt}}}})),aG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ListResponseStreamOutSerializer=void 0;var t=iG();e.ListResponseStreamOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.StreamOutSerializer._fromJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}},_toJsonObject(e){return{data:e.data.map(e=>t.StreamOutSerializer._toJsonObject(e)),done:e.done,iterator:e.iterator,prevIterator:e.prevIterator}}}})),oG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StreamPatchSerializer=void 0,e.StreamPatchSerializer={_fromJsonObject(e){return{description:e.description,metadata:e.metadata,uid:e.uid}},_toJsonObject(e){return{description:e.description,metadata:e.metadata,uid:e.uid}}}})),sG=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.StreamingStream=void 0;var i=aG(),a=hW(),o=iG(),s=oG(),c=XB();e.StreamingStream=class{constructor(e){this.requestCtx=e}list(e){return r(this,void 0,void 0,function*(){let t=new c.SvixRequest(c.HttpMethod.GET,`/api/v1/stream`);return t.setQueryParams({limit:e?.limit,iterator:e?.iterator,order:e?.order}),yield t.send(this.requestCtx,i.ListResponseStreamOutSerializer._fromJsonObject)})}create(e,t){return r(this,void 0,void 0,function*(){let n=new c.SvixRequest(c.HttpMethod.POST,`/api/v1/stream`);return n.setHeaderParam(`idempotency-key`,t?.idempotencyKey),n.setBody(a.StreamInSerializer._toJsonObject(e)),yield n.send(this.requestCtx,o.StreamOutSerializer._fromJsonObject)})}get(e){return r(this,void 0,void 0,function*(){let t=new c.SvixRequest(c.HttpMethod.GET,`/api/v1/stream/{stream_id}`);return t.setPathParam(`stream_id`,e),yield t.send(this.requestCtx,o.StreamOutSerializer._fromJsonObject)})}update(e,t){return r(this,void 0,void 0,function*(){let n=new c.SvixRequest(c.HttpMethod.PUT,`/api/v1/stream/{stream_id}`);return n.setPathParam(`stream_id`,e),n.setBody(a.StreamInSerializer._toJsonObject(t)),yield n.send(this.requestCtx,o.StreamOutSerializer._fromJsonObject)})}delete(e){return r(this,void 0,void 0,function*(){let t=new c.SvixRequest(c.HttpMethod.DELETE,`/api/v1/stream/{stream_id}`);return t.setPathParam(`stream_id`,e),yield t.sendNoResponseBody(this.requestCtx)})}patch(e,t){return r(this,void 0,void 0,function*(){let n=new c.SvixRequest(c.HttpMethod.PATCH,`/api/v1/stream/{stream_id}`);return n.setPathParam(`stream_id`,e),n.setBody(s.StreamPatchSerializer._toJsonObject(t)),yield n.send(this.requestCtx,o.StreamOutSerializer._fromJsonObject)})}}})),cG=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.Streaming=void 0;var i=TV(),a=sW(),o=cW(),s=pW(),c=bW(),l=rG(),u=sG(),d=XB();e.Streaming=class{constructor(e){this.requestCtx=e}get event_type(){return new s.StreamingEventType(this.requestCtx)}get events(){return new c.StreamingEvents(this.requestCtx)}get sink(){return new l.StreamingSink(this.requestCtx)}get stream(){return new u.StreamingStream(this.requestCtx)}sinkTransformationGet(e,t){return r(this,void 0,void 0,function*(){let n=new d.SvixRequest(d.HttpMethod.GET,`/api/v1/stream/{stream_id}/sink/{sink_id}/transformation`);return n.setPathParam(`stream_id`,e),n.setPathParam(`sink_id`,t),yield n.send(this.requestCtx,o.SinkTransformationOutSerializer._fromJsonObject)})}sinkHeadersGet(e,t){return r(this,void 0,void 0,function*(){let n=new d.SvixRequest(d.HttpMethod.GET,`/api/v1/stream/{stream_id}/sink/{sink_id}/headers`);return n.setPathParam(`stream_id`,e),n.setPathParam(`sink_id`,t),yield n.send(this.requestCtx,i.EndpointHeadersOutSerializer._fromJsonObject)})}sinkHeadersPatch(e,t,n){return r(this,void 0,void 0,function*(){let r=new d.SvixRequest(d.HttpMethod.PATCH,`/api/v1/stream/{stream_id}/sink/{sink_id}/headers`);return r.setPathParam(`stream_id`,e),r.setPathParam(`sink_id`,t),r.setBody(a.HttpSinkHeadersPatchInSerializer._toJsonObject(n)),yield r.send(this.requestCtx,i.EndpointHeadersOutSerializer._fromJsonObject)})}}})),lG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.HTTPValidationError=e.ValidationError=e.HttpErrorOut=void 0;var t=class e{static getAttributeTypeMap(){return e.attributeTypeMap}};e.HttpErrorOut=t,t.discriminator=void 0,t.mapping=void 0,t.attributeTypeMap=[{name:`code`,baseName:`code`,type:`string`,format:``},{name:`detail`,baseName:`detail`,type:`string`,format:``}];var n=class e{static getAttributeTypeMap(){return e.attributeTypeMap}};e.ValidationError=n,n.discriminator=void 0,n.mapping=void 0,n.attributeTypeMap=[{name:`loc`,baseName:`loc`,type:`Array<string>`,format:``},{name:`msg`,baseName:`msg`,type:`string`,format:``},{name:`type`,baseName:`type`,type:`string`,format:``}];var r=class e{static getAttributeTypeMap(){return e.attributeTypeMap}};e.HTTPValidationError=r,r.discriminator=void 0,r.mapping=void 0,r.attributeTypeMap=[{name:`detail`,baseName:`detail`,type:`Array<ValidationError>`,format:``}]})),uG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.timingSafeEqual=void 0;function t(e,t=``){if(!e)throw Error(t)}function n(e,n){if(e.byteLength!==n.byteLength)return!1;e instanceof DataView||(e=new DataView(ArrayBuffer.isView(e)?e.buffer:e)),n instanceof DataView||(n=new DataView(ArrayBuffer.isView(n)?n.buffer:n)),t(e instanceof DataView),t(n instanceof DataView);let r=e.byteLength,i=0,a=-1;for(;++a<r;)i|=e.getUint8(a)^n.getUint8(a);return i===0}e.timingSafeEqual=n})),dG=i(((e,t,n)=>{var r=n&&n.__extends||(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})();Object.defineProperty(e,"__esModule",{value:!0});var i=256,a=function(){function e(e){e===void 0&&(e=`=`),this._paddingCharacter=e}return e.prototype.encodedLength=function(e){return this._paddingCharacter?(e+2)/3*4|0:(e*8+5)/6|0},e.prototype.encode=function(e){for(var t=``,n=0;n<e.length-2;n+=3){var r=e[n]<<16|e[n+1]<<8|e[n+2];t+=this._encodeByte(r>>>18&63),t+=this._encodeByte(r>>>12&63),t+=this._encodeByte(r>>>6&63),t+=this._encodeByte(r>>>0&63)}var i=e.length-n;if(i>0){var r=e[n]<<16|(i===2?e[n+1]<<8:0);t+=this._encodeByte(r>>>18&63),t+=this._encodeByte(r>>>12&63),t+=i===2?this._encodeByte(r>>>6&63):this._paddingCharacter||``,t+=this._paddingCharacter||``}return t},e.prototype.maxDecodedLength=function(e){return this._paddingCharacter?e/4*3|0:(e*6+7)/8|0},e.prototype.decodedLength=function(e){return this.maxDecodedLength(e.length-this._getPaddingLength(e))},e.prototype.decode=function(e){if(e.length===0)return new Uint8Array;for(var t=this._getPaddingLength(e),n=e.length-t,r=new Uint8Array(this.maxDecodedLength(n)),a=0,o=0,s=0,c=0,l=0,u=0,d=0;o<n-4;o+=4)c=this._decodeChar(e.charCodeAt(o+0)),l=this._decodeChar(e.charCodeAt(o+1)),u=this._decodeChar(e.charCodeAt(o+2)),d=this._decodeChar(e.charCodeAt(o+3)),r[a++]=c<<2|l>>>4,r[a++]=l<<4|u>>>2,r[a++]=u<<6|d,s|=c&i,s|=l&i,s|=u&i,s|=d&i;if(o<n-1&&(c=this._decodeChar(e.charCodeAt(o)),l=this._decodeChar(e.charCodeAt(o+1)),r[a++]=c<<2|l>>>4,s|=c&i,s|=l&i),o<n-2&&(u=this._decodeChar(e.charCodeAt(o+2)),r[a++]=l<<4|u>>>2,s|=u&i),o<n-3&&(d=this._decodeChar(e.charCodeAt(o+3)),r[a++]=u<<6|d,s|=d&i),s!==0)throw Error(`Base64Coder: incorrect characters for decoding`);return r},e.prototype._encodeByte=function(e){var t=e;return t+=65,t+=25-e>>>8&6,t+=51-e>>>8&-75,t+=61-e>>>8&-15,t+=62-e>>>8&3,String.fromCharCode(t)},e.prototype._decodeChar=function(e){var t=i;return t+=(42-e&e-44)>>>8&-i+e-43+62,t+=(46-e&e-48)>>>8&-i+e-47+63,t+=(47-e&e-58)>>>8&-i+e-48+52,t+=(64-e&e-91)>>>8&-i+e-65+0,t+=(96-e&e-123)>>>8&-i+e-97+26,t},e.prototype._getPaddingLength=function(e){var t=0;if(this._paddingCharacter){for(var n=e.length-1;n>=0&&e[n]===this._paddingCharacter;n--)t++;if(e.length<4||t>2)throw Error(`Base64Coder: incorrect padding`)}return t},e}();e.Coder=a;var o=new a;function s(e){return o.encode(e)}e.encode=s;function c(e){return o.decode(e)}e.decode=c;var l=function(e){r(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype._encodeByte=function(e){var t=e;return t+=65,t+=25-e>>>8&6,t+=51-e>>>8&-75,t+=61-e>>>8&-13,t+=62-e>>>8&49,String.fromCharCode(t)},t.prototype._decodeChar=function(e){var t=i;return t+=(44-e&e-46)>>>8&-i+e-45+62,t+=(94-e&e-96)>>>8&-i+e-95+63,t+=(47-e&e-58)>>>8&-i+e-48+52,t+=(64-e&e-91)>>>8&-i+e-65+0,t+=(96-e&e-123)>>>8&-i+e-97+26,t},t}(a);e.URLSafeCoder=l;var u=new l;function d(e){return u.encode(e)}e.encodeURLSafe=d;function f(e){return u.decode(e)}e.decodeURLSafe=f,e.encodedLength=function(e){return o.encodedLength(e)},e.maxDecodedLength=function(e){return o.maxDecodedLength(e)},e.decodedLength=function(e){return o.decodedLength(e)}})),fG=i(((e,t,n)=>{(function(e,n){var r={};n(r);var i=r.default;for(var a in r)i[a]=r[a];typeof t==`object`&&typeof t.exports==`object`?t.exports=i:typeof define==`function`&&define.amd?define(function(){return i}):e.sha256=i})(n,function(e){e.__esModule=!0,e.digestLength=32,e.blockSize=64;var t=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function n(e,n,r,i,a){for(var o,s,c,l,u,d,f,p,m,h,g,_,v;a>=64;){for(o=n[0],s=n[1],c=n[2],l=n[3],u=n[4],d=n[5],f=n[6],p=n[7],h=0;h<16;h++)g=i+h*4,e[h]=(r[g]&255)<<24|(r[g+1]&255)<<16|(r[g+2]&255)<<8|r[g+3]&255;for(h=16;h<64;h++)m=e[h-2],_=(m>>>17|m<<15)^(m>>>19|m<<13)^m>>>10,m=e[h-15],v=(m>>>7|m<<25)^(m>>>18|m<<14)^m>>>3,e[h]=(_+e[h-7]|0)+(v+e[h-16]|0);for(h=0;h<64;h++)_=(((u>>>6|u<<26)^(u>>>11|u<<21)^(u>>>25|u<<7))+(u&d^~u&f)|0)+(p+(t[h]+e[h]|0)|0)|0,v=((o>>>2|o<<30)^(o>>>13|o<<19)^(o>>>22|o<<10))+(o&s^o&c^s&c)|0,p=f,f=d,d=u,u=l+_|0,l=c,c=s,s=o,o=_+v|0;n[0]+=o,n[1]+=s,n[2]+=c,n[3]+=l,n[4]+=u,n[5]+=d,n[6]+=f,n[7]+=p,i+=64,a-=64}return i}var r=function(){function t(){this.digestLength=e.digestLength,this.blockSize=e.blockSize,this.state=new Int32Array(8),this.temp=new Int32Array(64),this.buffer=new Uint8Array(128),this.bufferLength=0,this.bytesHashed=0,this.finished=!1,this.reset()}return t.prototype.reset=function(){return this.state[0]=1779033703,this.state[1]=3144134277,this.state[2]=1013904242,this.state[3]=2773480762,this.state[4]=1359893119,this.state[5]=2600822924,this.state[6]=528734635,this.state[7]=1541459225,this.bufferLength=0,this.bytesHashed=0,this.finished=!1,this},t.prototype.clean=function(){for(var e=0;e<this.buffer.length;e++)this.buffer[e]=0;for(var e=0;e<this.temp.length;e++)this.temp[e]=0;this.reset()},t.prototype.update=function(e,t){if(t===void 0&&(t=e.length),this.finished)throw Error(`SHA256: can't update because hash was finished.`);var r=0;if(this.bytesHashed+=t,this.bufferLength>0){for(;this.bufferLength<64&&t>0;)this.buffer[this.bufferLength++]=e[r++],t--;this.bufferLength===64&&(n(this.temp,this.state,this.buffer,0,64),this.bufferLength=0)}for(t>=64&&(r=n(this.temp,this.state,e,r,t),t%=64);t>0;)this.buffer[this.bufferLength++]=e[r++],t--;return this},t.prototype.finish=function(e){if(!this.finished){var t=this.bytesHashed,r=this.bufferLength,i=t/536870912|0,a=t<<3,o=t%64<56?64:128;this.buffer[r]=128;for(var s=r+1;s<o-8;s++)this.buffer[s]=0;this.buffer[o-8]=i>>>24&255,this.buffer[o-7]=i>>>16&255,this.buffer[o-6]=i>>>8&255,this.buffer[o-5]=i>>>0&255,this.buffer[o-4]=a>>>24&255,this.buffer[o-3]=a>>>16&255,this.buffer[o-2]=a>>>8&255,this.buffer[o-1]=a>>>0&255,n(this.temp,this.state,this.buffer,0,o),this.finished=!0}for(var s=0;s<8;s++)e[s*4+0]=this.state[s]>>>24&255,e[s*4+1]=this.state[s]>>>16&255,e[s*4+2]=this.state[s]>>>8&255,e[s*4+3]=this.state[s]>>>0&255;return this},t.prototype.digest=function(){var e=new Uint8Array(this.digestLength);return this.finish(e),e},t.prototype._saveState=function(e){for(var t=0;t<this.state.length;t++)e[t]=this.state[t]},t.prototype._restoreState=function(e,t){for(var n=0;n<this.state.length;n++)this.state[n]=e[n];this.bytesHashed=t,this.finished=!1,this.bufferLength=0},t}();e.Hash=r;var i=function(){function e(e){this.inner=new r,this.outer=new r,this.blockSize=this.inner.blockSize,this.digestLength=this.inner.digestLength;var t=new Uint8Array(this.blockSize);if(e.length>this.blockSize)new r().update(e).finish(t).clean();else for(var n=0;n<e.length;n++)t[n]=e[n];for(var n=0;n<t.length;n++)t[n]^=54;this.inner.update(t);for(var n=0;n<t.length;n++)t[n]^=106;this.outer.update(t),this.istate=new Uint32Array(8),this.ostate=new Uint32Array(8),this.inner._saveState(this.istate),this.outer._saveState(this.ostate);for(var n=0;n<t.length;n++)t[n]=0}return e.prototype.reset=function(){return this.inner._restoreState(this.istate,this.inner.blockSize),this.outer._restoreState(this.ostate,this.outer.blockSize),this},e.prototype.clean=function(){for(var e=0;e<this.istate.length;e++)this.ostate[e]=this.istate[e]=0;this.inner.clean(),this.outer.clean()},e.prototype.update=function(e){return this.inner.update(e),this},e.prototype.finish=function(e){return this.outer.finished?this.outer.finish(e):(this.inner.finish(e),this.outer.update(e,this.digestLength).finish(e)),this},e.prototype.digest=function(){var e=new Uint8Array(this.digestLength);return this.finish(e),e},e}();e.HMAC=i;function a(e){var t=new r().update(e),n=t.digest();return t.clean(),n}e.hash=a,e.default=a;function o(e,t){var n=new i(e).update(t),r=n.digest();return n.clean(),r}e.hmac=o;function s(e,t,n,r){var i=r[0];if(i===0)throw Error(`hkdf: cannot expand more`);t.reset(),i>1&&t.update(e),n&&t.update(n),t.update(r),t.finish(e),r[0]++}var c=new Uint8Array(e.digestLength);function l(e,t,n,r){t===void 0&&(t=c),r===void 0&&(r=32);for(var a=new Uint8Array([1]),l=new i(o(t,e)),u=new Uint8Array(l.digestLength),d=u.length,f=new Uint8Array(r),p=0;p<r;p++)d===u.length&&(s(u,l,n,a),d=0),f[p]=u[d++];return l.clean(),u.fill(0),a.fill(0),f}e.hkdf=l;function u(e,t,n,r){for(var a=new i(e),o=a.digestLength,s=new Uint8Array(4),c=new Uint8Array(o),l=new Uint8Array(o),u=new Uint8Array(r),d=0;d*o<r;d++){var f=d+1;s[0]=f>>>24&255,s[1]=f>>>16&255,s[2]=f>>>8&255,s[3]=f>>>0&255,a.reset(),a.update(t),a.update(s),a.finish(l);for(var p=0;p<o;p++)c[p]=l[p];for(var p=2;p<=n;p++){a.reset(),a.update(l).finish(l);for(var m=0;m<o;m++)c[m]^=l[m]}for(var p=0;p<o&&d*o+p<r;p++)u[d*o+p]=c[p]}for(var d=0;d<o;d++)c[d]=l[d]=0;for(var d=0;d<4;d++)s[d]=0;return a.clean(),u}e.pbkdf2=u})})),pG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Webhook=e.WebhookVerificationError=void 0;var t=uG(),n=dG(),r=fG(),i=300,a=class e extends Error{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype),this.name=`ExtendableError`,this.stack=Error(t).stack}},o=class e extends a{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype),this.name=`WebhookVerificationError`}};e.WebhookVerificationError=o;var s=class e{constructor(t,r){if(!t)throw Error(`Secret can't be empty.`);if(r?.format===`raw`)this.key=t instanceof Uint8Array?t:Uint8Array.from(t,e=>e.charCodeAt(0));else{if(typeof t!=`string`)throw Error(`Expected secret to be of type string`);t.startsWith(e.prefix)&&(t=t.substring(e.prefix.length)),this.key=n.decode(t)}}verify(e,n){let r={};for(let e of Object.keys(n))r[e.toLowerCase()]=n[e];let i=r[`webhook-id`],a=r[`webhook-signature`],s=r[`webhook-timestamp`];if(!a||!i||!s)throw new o(`Missing required headers`);let c=this.verifyTimestamp(s),l=this.sign(i,c,e).split(`,`)[1],u=a.split(` `),d=new globalThis.TextEncoder;for(let n of u){let[r,i]=n.split(`,`);if(r===`v1`&&(0,t.timingSafeEqual)(d.encode(i),d.encode(l)))return JSON.parse(e.toString())}throw new o(`No matching signature found`)}sign(e,t,i){if(typeof i!=`string`){if(i.constructor.name===`Buffer`)i=i.toString();else throw Error(`Expected payload to be of type string or Buffer.`)}let a=new TextEncoder,o=Math.floor(t.getTime()/1e3),s=a.encode(`${e}.${o}.${i}`);return`v1,${n.encode(r.hmac(this.key,s))}`}verifyTimestamp(e){let t=Math.floor(Date.now()/1e3),n=parseInt(e,10);if(isNaN(n))throw new o(`Invalid Signature Headers`);if(t-n>i)throw new o(`Message timestamp too old`);if(n>t+i)throw new o(`Message timestamp too new`);return new Date(n*1e3)}};e.Webhook=s,s.prefix=`whsec_`})),mG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Webhook=e.WebhookVerificationError=void 0;var t=pG(),n=pG();Object.defineProperty(e,"WebhookVerificationError",{enumerable:!0,get:function(){return n.WebhookVerificationError}}),e.Webhook=class{constructor(e,n){this.inner=new t.Webhook(e,n)}verify(e,t){let n={};for(let e of Object.keys(t))n[e.toLowerCase()]=t[e];return n[`webhook-id`]=n[`svix-id`]??n[`webhook-id`]??``,n[`webhook-signature`]=n[`svix-signature`]??n[`webhook-signature`]??``,n[`webhook-timestamp`]=n[`svix-timestamp`]??n[`webhook-timestamp`]??``,this.inner.verify(e,n)}sign(e,t,n){return this.inner.sign(e,t,n)}}})),hG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EndpointDisabledTriggerSerializer=e.EndpointDisabledTrigger=void 0,(function(e){e.Manual=`manual`,e.Automatic=`automatic`})(e.EndpointDisabledTrigger||={}),e.EndpointDisabledTriggerSerializer={_fromJsonObject(e){return e},_toJsonObject(e){return e}}})),gG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.OrderingSerializer=e.Ordering=void 0,(function(e){e.Ascending=`ascending`,e.Descending=`descending`})(e.Ordering||={}),e.OrderingSerializer={_fromJsonObject(e){return e},_toJsonObject(e){return e}}})),_G=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StatusCodeClass=e.SinkStatusIn=e.SinkStatus=e.Ordering=e.MessageStatusText=e.MessageStatus=e.MessageAttemptTriggerType=e.EndpointDisabledTrigger=e.ConnectorProduct=e.ConnectorKind=e.BackgroundTaskType=e.BackgroundTaskStatus=e.AppPortalCapability=void 0;var t=$B();Object.defineProperty(e,"AppPortalCapability",{enumerable:!0,get:function(){return t.AppPortalCapability}});var n=cV();Object.defineProperty(e,"BackgroundTaskStatus",{enumerable:!0,get:function(){return n.BackgroundTaskStatus}});var r=lV();Object.defineProperty(e,"BackgroundTaskType",{enumerable:!0,get:function(){return r.BackgroundTaskType}});var i=pV();Object.defineProperty(e,"ConnectorKind",{enumerable:!0,get:function(){return i.ConnectorKind}});var a=mV();Object.defineProperty(e,"ConnectorProduct",{enumerable:!0,get:function(){return a.ConnectorProduct}});var o=hG();Object.defineProperty(e,"EndpointDisabledTrigger",{enumerable:!0,get:function(){return o.EndpointDisabledTrigger}});var s=VU();Object.defineProperty(e,"MessageAttemptTriggerType",{enumerable:!0,get:function(){return s.MessageAttemptTriggerType}});var c=xV();Object.defineProperty(e,"MessageStatus",{enumerable:!0,get:function(){return c.MessageStatus}});var l=RU();Object.defineProperty(e,"MessageStatusText",{enumerable:!0,get:function(){return l.MessageStatusText}});var u=gG();Object.defineProperty(e,"Ordering",{enumerable:!0,get:function(){return u.Ordering}});var d=MW();Object.defineProperty(e,"SinkStatus",{enumerable:!0,get:function(){return d.SinkStatus}});var f=BW();Object.defineProperty(e,"SinkStatusIn",{enumerable:!0,get:function(){return f.SinkStatusIn}});var p=SV();Object.defineProperty(e,"StatusCodeClass",{enumerable:!0,get:function(){return p.StatusCodeClass}})})),vG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SvixInternal=void 0;var t=AG();e.SvixInternal=class extends t.Svix{getRequestCtx(){return this.requestCtx}}})),yG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SinkInCommonSerializer=void 0,e.SinkInCommonSerializer={_fromJsonObject(e){return{channels:e.channels,description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,metadata:e.metadata,rateLimit:e.rateLimit,secret:e.secret,throttleRate:e.throttleRate,uid:e.uid}},_toJsonObject(e){return{channels:e.channels,description:e.description,disabled:e.disabled,filterTypes:e.filterTypes,metadata:e.metadata,rateLimit:e.rateLimit,secret:e.secret,throttleRate:e.throttleRate,uid:e.uid}}}})),bG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AutoConfigSinkTypeSerializer=void 0;var t=DV(),n=yG();e.AutoConfigSinkTypeSerializer={_fromJsonObject(e){let r=e.type;function i(r){switch(r){case`poller`:return n.SinkInCommonSerializer._fromJsonObject(e.config);case`http`:return t.EndpointInSerializer._fromJsonObject(e.config);default:throw Error(`Unexpected type: ${r}`)}}return{type:r,config:i(r)}},_toJsonObject(e){let r;switch(e.type){case`poller`:r=n.SinkInCommonSerializer._toJsonObject(e.config);break;case`http`:r=t.EndpointInSerializer._toJsonObject(e.config)}return{type:e.type,config:r}}}})),xG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SubscribeInSerializer=void 0;var t=bG(),n=DV();e.SubscribeInSerializer={_fromJsonObject(e){return{endpoint:e.endpoint==null?void 0:n.EndpointInSerializer._fromJsonObject(e.endpoint),sink:e.sink==null?void 0:t.AutoConfigSinkTypeSerializer._fromJsonObject(e.sink)}},_toJsonObject(e){return{endpoint:e.endpoint==null?void 0:n.EndpointInSerializer._toJsonObject(e.endpoint),sink:e.sink==null?void 0:t.AutoConfigSinkTypeSerializer._toJsonObject(e.sink)}}}})),SG=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.EndpointAutoConfig=void 0;var i=OV(),a=xG(),o=XB();e.EndpointAutoConfig=class{constructor(e){this.requestCtx=e}update(e,t,n={}){return r(this,void 0,void 0,function*(){let r=new o.SvixRequest(o.HttpMethod.PUT,`/api/v1/app/{app_id}/endpoint/{endpoint_id}/auto-config`);return r.setPathParam(`app_id`,e),r.setPathParam(`endpoint_id`,t),r.setBody(a.SubscribeInSerializer._toJsonObject(n)),yield r.send(this.requestCtx,i.EndpointOutSerializer._fromJsonObject)})}}})),CG=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.Endpoint=void 0;var i=NV(),a=SG(),o=XB();e.Endpoint=class{constructor(e){this.requestCtx=e}get auto_config(){return new a.EndpointAutoConfig(this.requestCtx)}transformationPartialUpdate(e,t,n={}){return r(this,void 0,void 0,function*(){let r=new o.SvixRequest(o.HttpMethod.PATCH,`/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation`);return r.setPathParam(`app_id`,e),r.setPathParam(`endpoint_id`,t),r.setBody(i.EndpointTransformationInSerializer._toJsonObject(n)),yield r.sendNoResponseBody(this.requestCtx)})}}})),wG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AutoConfig=e.decodeAutoconfigTokenV1=e.isAutoConfigTokenContentV1=e.AutoConfigError=void 0;var t=vG(),n=CG(),r=mG(),i=`auto_v1_`,a=class extends Error{constructor(e=`invalid token`){super(e),this.name=`AutoConfigError`}};e.AutoConfigError=a;function o(e){if(typeof e!=`object`||!e)return!1;let{aid:t,eid:n,surl:r,esec:i,tok:a}=e;return typeof t==`string`&&typeof n==`string`&&typeof r==`string`&&typeof i==`string`&&typeof a==`string`}e.isAutoConfigTokenContentV1=o;function s(e){if(!e.startsWith(i))throw new a;let t=e.slice(8),n;try{n=Buffer.from(t,`base64`).toString(`utf8`)}catch{throw new a}let r;try{r=JSON.parse(n)}catch{throw new a}if(!o(r))throw new a;return r}e.decodeAutoconfigTokenV1=s,e.AutoConfig=class{constructor(e,n){let i=s(e),o;try{o=new r.Webhook(i.esec)}catch{throw new a}this.appId=i.aid,this.endpointId=i.eid,this.endpointIn=n,this.webhook=o;let c=new t.SvixInternal(i.tok,{serverUrl:i.surl});this.requestCtx=c.getRequestCtx()}subscribe(){return new n.Endpoint(this.requestCtx).auto_config.update(this.appId,this.endpointId,{endpoint:this.endpointIn})}verify(e,t){return this.webhook.verify(e,t)}}})),TG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PollerV2CommitInSerializer=void 0,e.PollerV2CommitInSerializer={_fromJsonObject(e){return{offset:e.offset}},_toJsonObject(e){return{offset:e.offset}}}})),EG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PollerV2MessageOutSerializer=void 0,e.PollerV2MessageOutSerializer={_fromJsonObject(e){return{channels:e.channels,deliverAt:e.deliverAt?new Date(e.deliverAt):null,eventId:e.eventId,eventType:e.eventType,headers:e.headers,id:e.id,offset:e.offset,payload:e.payload,tags:e.tags,timestamp:new Date(e.timestamp)}},_toJsonObject(e){return{channels:e.channels,deliverAt:e.deliverAt,eventId:e.eventId,eventType:e.eventType,headers:e.headers,id:e.id,offset:e.offset,payload:e.payload,tags:e.tags,timestamp:e.timestamp}}}})),DG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PollerV2PollOutSerializer=void 0;var t=EG();e.PollerV2PollOutSerializer={_fromJsonObject(e){return{data:e.data.map(e=>t.PollerV2MessageOutSerializer._fromJsonObject(e)),done:e.done}},_toJsonObject(e){return{data:e.data.map(e=>t.PollerV2MessageOutSerializer._toJsonObject(e)),done:e.done}}}})),OG=i(((e,t,n)=>{var r=n&&n.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0}),e.MessagePollerv2=void 0;var i=TG(),a=DG(),o=XB();e.MessagePollerv2=class{constructor(e){this.requestCtx=e}consumerPoll(e,t,n,i){return r(this,void 0,void 0,function*(){let r=new o.SvixRequest(o.HttpMethod.GET,`/api/v1/app/{app_id}/polling-endpoint/{sink_id}/consumer/{consumer_id}`);return r.setPathParam(`app_id`,e),r.setPathParam(`sink_id`,t),r.setPathParam(`consumer_id`,n),r.setQueryParams({limit:i?.limit,lease_duration_ms:i?.leaseDurationMs,starting_position:i?.startingPosition}),yield r.send(this.requestCtx,a.PollerV2PollOutSerializer._fromJsonObject)})}consumerCommit(e,t,n,a,s){return r(this,void 0,void 0,function*(){let r=new o.SvixRequest(o.HttpMethod.POST,`/api/v1/app/{app_id}/polling-endpoint/{sink_id}/consumer/{consumer_id}/commit`);return r.setPathParam(`app_id`,e),r.setPathParam(`sink_id`,t),r.setPathParam(`consumer_id`,n),r.setHeaderParam(`idempotency-key`,s?.idempotencyKey),r.setBody(i.PollerV2CommitInSerializer._toJsonObject(a)),yield r.sendNoResponseBody(this.requestCtx)})}}})),kG=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AutoConfigConsumer=void 0;var t=vG(),n=CG(),r=OG(),i=wG();e.AutoConfigConsumer=class{constructor(e,n){let r=(0,i.decodeAutoconfigTokenV1)(e);this.appId=r.aid,this.sinkId=r.eid,this.sinkIn=n;let a=new t.SvixInternal(r.tok,{serverUrl:r.surl});this.requestCtx=a.getRequestCtx()}subscribe(){return new n.Endpoint(this.requestCtx).auto_config.update(this.appId,this.sinkId,{sink:{type:`poller`,config:this.sinkIn}})}receive(e,t){return new r.MessagePollerv2(this.requestCtx).consumerPoll(this.appId,this.sinkId,e,t)}commit(e,t,n){return new r.MessagePollerv2(this.requestCtx).consumerCommit(this.appId,this.sinkId,e,{offset:t},n)}}})),AG=i(((e,t,n)=>{var r=n&&n.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),i=n&&n.__exportStar||function(e,t){for(var n in e)n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n)&&r(t,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.AutoConfigConsumer=e.AutoConfigError=e.AutoConfig=e.Svix=e.messageInRaw=e.ValidationError=e.HttpErrorOut=e.HTTPValidationError=e.ApiException=void 0;var a=ZB(),o=sV(),s=fV(),c=bV(),l=WV(),u=YV(),d=rH(),f=iH(),p=yU(),m=TU(),h=IU(),g=KU(),_=nW(),v=oW(),y=cG(),b=tW(),x=YB();Object.defineProperty(e,"ApiException",{enumerable:!0,get:function(){return x.ApiException}});var S=lG();Object.defineProperty(e,"HTTPValidationError",{enumerable:!0,get:function(){return S.HTTPValidationError}}),Object.defineProperty(e,"HttpErrorOut",{enumerable:!0,get:function(){return S.HttpErrorOut}}),Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return S.ValidationError}}),i(mG(),e),i(_G(),e);var C=IU();Object.defineProperty(e,"messageInRaw",{enumerable:!0,get:function(){return C.messageInRaw}});var w=[{region:`us`,url:`https://api.us.svix.com`},{region:`eu`,url:`https://api.eu.svix.com`},{region:`in`,url:`https://api.in.svix.com`},{region:`ca`,url:`https://api.ca.svix.com`},{region:`au`,url:`https://api.au.svix.com`}];e.Svix=class{constructor(e,t={}){let n=w.find(t=>t.region===e.split(`.`)[1])?.url,r=t.serverUrl??n??`https://api.svix.com`;this.requestCtx=t.retryScheduleInMs?{baseUrl:r,token:e,timeout:t.requestTimeout,retryScheduleInMs:t.retryScheduleInMs,fetch:t.fetch}:t.numRetries?{baseUrl:r,token:e,timeout:t.requestTimeout,numRetries:t.numRetries,fetch:t.fetch}:{baseUrl:r,token:e,timeout:t.requestTimeout,fetch:t.fetch}}get application(){return new a.Application(this.requestCtx)}get authentication(){return new o.Authentication(this.requestCtx)}get backgroundTask(){return new s.BackgroundTask(this.requestCtx)}get connector(){return new c.Connector(this.requestCtx)}get endpoint(){return new l.Endpoint(this.requestCtx)}get environment(){return new u.Environment(this.requestCtx)}get eventType(){return new d.EventType(this.requestCtx)}get health(){return new f.Health(this.requestCtx)}get ingest(){return new p.Ingest(this.requestCtx)}get integration(){return new m.Integration(this.requestCtx)}get message(){return new h.Message(this.requestCtx)}get messageAttempt(){return new g.MessageAttempt(this.requestCtx)}get operationalWebhook(){return new _.OperationalWebhook(this.requestCtx)}get statistics(){return new v.Statistics(this.requestCtx)}get streaming(){return new y.Streaming(this.requestCtx)}get operationalWebhookEndpoint(){return new b.OperationalWebhookEndpoint(this.requestCtx)}};var T=wG();Object.defineProperty(e,"AutoConfig",{enumerable:!0,get:function(){return T.AutoConfig}}),Object.defineProperty(e,"AutoConfigError",{enumerable:!0,get:function(){return T.AutoConfigError}});var E=kG();Object.defineProperty(e,"AutoConfigConsumer",{enumerable:!0,get:function(){return E.AutoConfigConsumer}})})),jG=AG(),MG=class{constructor(e,t){this.webhooksResource=e,this.webhookSigningSecret=t}verify({payload:e,headers:t,svix:n,signing_secret:r}){let i=r??this.webhookSigningSecret;if(!i)throw new NG(`Webhook signing secret is required. Pass it to PrivyClient constructor or to verify().`);let a=typeof e==`string`?e:JSON.stringify(e),o;if(t)o={"svix-id":t[`svix-id`],"svix-timestamp":t[`svix-timestamp`],"svix-signature":t[`svix-signature`]};else if(n)o={"svix-id":n.id,"svix-timestamp":n.timestamp,"svix-signature":n.signature};else throw new NG(`Webhook headers are required (svix-id, svix-timestamp, svix-signature).`);try{new jG.Webhook(i).verify(a,o)}catch(e){throw e instanceof Error?new NG(`Webhook verification failed: ${e.message}`):new NG(`Webhook verification failed`)}return this.webhooksResource.unsafeUnwrap(a)}},NG=class extends fR{},PG={p:BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`),n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),h:BigInt(1),a:BigInt(`0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc`),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`)},FG={p:BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`),n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),h:BigInt(1),a:BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc`),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`)},IG={p:BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`),n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),h:BigInt(1),a:BigInt(`0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc`),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`)},LG=Ld(PG.p),RG=Ld(FG.p),zG=Ld(IG.p),BG=Ef({...PG,Fp:LG,lowS:!1},An);Ef({...FG,Fp:RG,lowS:!1},Mn),Ef({...IG,Fp:zG,lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Nn);var VG=i(((e,t)=>{t.exports=function e(t){if(typeof t==`number`&&isNaN(t))throw Error(`NaN is not allowed`);if(typeof t==`number`&&!isFinite(t))throw Error(`Infinity is not allowed`);return typeof t!=`object`||!t?JSON.stringify(t):t.toJSON instanceof Function?e(t.toJSON()):Array.isArray(t)?`[${t.reduce((t,n,r)=>`${t}${r===0?``:`,`}${e(n===void 0||typeof n==`symbol`?null:n)}`,``)}]`:`{${Object.keys(t).sort().reduce((n,r)=>t[r]===void 0||typeof t[r]==`symbol`?n:`${n}${n.length===0?``:`,`}${e(r)}:${e(t[r])}`,``)}}`}})),HG=class extends Error{constructor(e){let t;t=e instanceof Error?e.message:typeof e==`string`?e:``,super(t),this.name=this.constructor.name}},UG=class extends HG{},WG=class extends HG{},GG=class extends HG{},KG=class extends HG{},qG=class extends HG{},JG=class extends HG{},YG=class extends HG{},XG=class extends HG{},ZG=class extends HG{},QG=class extends HG{},$G=class extends HG{},eK=tK(globalThis,{});function tK(e,t){return new Proxy(e,{get(n,r,i){return r in t?t[r]:e[r]},set(n,r,i){return r in t&&delete t[r],e[r]=i,!0},deleteProperty(n,r){let i=!1;return r in t&&(delete t[r],i=!0),r in e&&(delete e[r],i=!0),i},ownKeys(n){let r=Reflect.ownKeys(e),i=Reflect.ownKeys(t),a=new Set(i);return[...r.filter(e=>!a.has(e)),...i]},defineProperty(n,r,i){return r in t&&delete t[r],Reflect.defineProperty(e,r,i),!0},getOwnPropertyDescriptor(n,r){return r in t?Reflect.getOwnPropertyDescriptor(t,r):Reflect.getOwnPropertyDescriptor(e,r)},has(n,r){return r in t||r in e}})}async function nK(){if(eK!==void 0&&globalThis.crypto!==void 0)return globalThis.crypto.subtle;try{let{webcrypto:e}=await import(`crypto`);return e.subtle}catch(e){throw new $G(e)}}var rK=class{constructor(){Object.defineProperty(this,"_api",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}async _setup(){this._api===void 0&&(this._api=await nK())}},iK={Base:0,Psk:1,Auth:2,AuthPsk:3},aK={NotAssigned:0,DhkemP256HkdfSha256:16,DhkemP384HkdfSha384:17,DhkemP521HkdfSha512:18,DhkemSecp256k1HkdfSha256:19,DhkemX25519HkdfSha256:32,DhkemX448HkdfSha512:33,HybridkemX25519Kyber768:48,MlKem512:64,MlKem768:65,MlKem1024:66,XWing:25722},oK={HkdfSha256:1,HkdfSha384:2,HkdfSha512:3,Sha3256:4,Sha3384:5,Sha3512:6,Shake128:16,Shake256:17,TurboShake128:18,TurboShake256:19},sK={Aes128Gcm:1,Aes256Gcm:2,Chacha20Poly1305:3,ExportOnly:65535},cK=new Uint8Array,lK=0n,uK=(()=>{let e=Array(256),t=0,n=0n;for(;t<256;)e[t]=n,t++,n+=1n;return e})(),dK=new Uint8Array([75,69,77,0,0]),fK=new Uint8Array([72,80,75,69,45,118,49]);function pK(e){return new Uint8Array(mK(e))}function mK(e){return e instanceof ArrayBuffer?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength).slice().buffer:new Uint8Array(e).slice().buffer}var hK=class extends rK{constructor(){super(),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:oK.HkdfSha256}),Object.defineProperty(this,"hashSize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_suiteId",{enumerable:!0,configurable:!0,writable:!0,value:cK}),Object.defineProperty(this,"algHash",{enumerable:!0,configurable:!0,writable:!0,value:{name:`HMAC`,hash:`SHA-256`,length:256}})}init(e){this._suiteId=e}buildLabeledIkm(e,t){this._checkInit();let n=new Uint8Array(7+this._suiteId.byteLength+e.byteLength+t.byteLength);return n.set(fK,0),n.set(this._suiteId,7),n.set(e,7+this._suiteId.byteLength),n.set(t,7+this._suiteId.byteLength+e.byteLength),n}buildLabeledInfo(e,t,n){this._checkInit();let r=new Uint8Array(9+this._suiteId.byteLength+e.byteLength+t.byteLength);return r.set(new Uint8Array([0,n]),0),r.set(fK,2),r.set(this._suiteId,9),r.set(e,9+this._suiteId.byteLength),r.set(t,9+this._suiteId.byteLength+e.byteLength),r}async extract(e,t){await this._setup();let n=e.byteLength===0?new ArrayBuffer(this.hashSize):mK(e);if(n.byteLength!==this.hashSize)throw new UG(`The salt length must be the same as the hashSize`);let r=mK(t),i=await this._api.importKey(`raw`,n,this.algHash,!1,[`sign`]);return await this._api.sign(`HMAC`,i,r)}async expand(e,t,n){await this._setup();let r=mK(e),i=await this._api.importKey(`raw`,r,this.algHash,!1,[`sign`]),a=new ArrayBuffer(n),o=new Uint8Array(a),s=cK,c=pK(t),l=new Uint8Array(1);if(n>255*this.hashSize)throw Error(`Entropy limit reached`);let u=new Uint8Array(this.hashSize+c.length+1);for(let e=1,t=0;t<o.length;e++)l[0]=e,u.set(s,0),u.set(c,s.length),u.set(l,s.length+c.length),s=new Uint8Array(await this._api.sign(`HMAC`,i,u.slice(0,s.length+c.length+1))),o.length-t>=s.length?(o.set(s,t),t+=s.length):(o.set(s.slice(0,o.length-t),t),t+=o.length-t);return a}async extractAndExpand(e,t,n,r){await this._setup();let i=mK(t),a=await this._api.importKey(`raw`,i,`HKDF`,!1,[`deriveBits`]);return await this._api.deriveBits({name:`HKDF`,hash:this.algHash.hash,salt:mK(e),info:mK(n)},a,r*8)}async labeledExtract(e,t,n){return await this.extract(e,this.buildLabeledIkm(t,n))}async labeledExpand(e,t,n,r){return await this.expand(e,this.buildLabeledInfo(t,n,r),r)}_checkInit(){if(this._suiteId===cK)throw Error(`Not initialized. Call init()`)}},gK=class extends hK{constructor(){super(...arguments),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:oK.HkdfSha256}),Object.defineProperty(this,"hashSize",{enumerable:!0,configurable:!0,writable:!0,value:32}),Object.defineProperty(this,"algHash",{enumerable:!0,configurable:!0,writable:!0,value:{name:`HMAC`,hash:`SHA-256`,length:256}})}},_K=e=>typeof e==`object`&&!!e&&typeof e.privateKey==`object`&&typeof e.publicKey==`object`;function vK(e,t){if(t<=0)throw Error(`i2Osp: too small size`);if(e>=256**t)throw Error(`i2Osp: too large integer`);let n=new Uint8Array(t);for(let r=0;r<t&&e;r++)n[t-(r+1)]=e%256,e=Math.floor(e/256);return n}function yK(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e,0),n.set(t,e.length),n}function bK(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r}function xK(e,t){if(e.byteLength!==t.byteLength)throw Error(`xor: different length inputs`);let n=new Uint8Array(e.byteLength);for(let r=0;r<e.byteLength;r++)n[r]=e[r]^t[r];return n}var SK=new Uint8Array([101,97,101,95,112,114,107]),CK=new Uint8Array([115,104,97,114,101,100,95,115,101,99,114,101,116]);function wK(e,t,n){let r=new Uint8Array(e.length+t.length+n.length);return r.set(e,0),r.set(t,e.length),r.set(n,e.length+t.length),r}var TK=class{constructor(e,t,n){Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"secretSize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"encSize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"publicKeySize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"privateKeySize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_prim",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_kdf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.id=e,this._prim=t,this._kdf=n;let r=new Uint8Array(dK);r.set(vK(this.id,2),3),this._kdf.init(r)}async serializePublicKey(e){return await this._prim.serializePublicKey(e)}async deserializePublicKey(e){return await this._prim.deserializePublicKey(mK(e))}async serializePrivateKey(e){return await this._prim.serializePrivateKey(e)}async deserializePrivateKey(e){return await this._prim.deserializePrivateKey(mK(e))}async importKey(e,t,n=!0){return await this._prim.importKey(e,t,n)}async generateKeyPair(){return await this._prim.generateKeyPair()}async deriveKeyPair(e){let t=mK(e);if(t.byteLength>8192)throw new UG(`Too long ikm`);return await this._prim.deriveKeyPair(t)}async encap(e){let t;t=e.ekm===void 0?await this.generateKeyPair():_K(e.ekm)?e.ekm:await this.deriveKeyPair(e.ekm);let n=await this._prim.serializePublicKey(t.publicKey),r=await this._prim.serializePublicKey(e.recipientPublicKey);try{let i;if(e.senderKey===void 0)i=new Uint8Array(await this._prim.dh(t.privateKey,e.recipientPublicKey));else{let n=_K(e.senderKey)?e.senderKey.privateKey:e.senderKey;i=yK(new Uint8Array(await this._prim.dh(t.privateKey,e.recipientPublicKey)),new Uint8Array(await this._prim.dh(n,e.recipientPublicKey)))}let a;if(e.senderKey===void 0)a=yK(new Uint8Array(n),new Uint8Array(r));else{let t=_K(e.senderKey)?e.senderKey.publicKey:await this._prim.derivePublicKey(e.senderKey),i=await this._prim.serializePublicKey(t);a=wK(new Uint8Array(n),new Uint8Array(r),new Uint8Array(i))}return{enc:n,sharedSecret:await this._generateSharedSecret(i,a)}}catch(e){throw new KG(e)}}async decap(e){let t=mK(e.enc),n=await this._prim.deserializePublicKey(t),r=_K(e.recipientKey)?e.recipientKey.privateKey:e.recipientKey,i=_K(e.recipientKey)?e.recipientKey.publicKey:await this._prim.derivePublicKey(e.recipientKey),a=await this._prim.serializePublicKey(i);try{let i;i=e.senderPublicKey===void 0?new Uint8Array(await this._prim.dh(r,n)):yK(new Uint8Array(await this._prim.dh(r,n)),new Uint8Array(await this._prim.dh(r,e.senderPublicKey)));let o;if(e.senderPublicKey===void 0)o=yK(new Uint8Array(t),new Uint8Array(a));else{let n=await this._prim.serializePublicKey(e.senderPublicKey);o=new Uint8Array(t.byteLength+a.byteLength+n.byteLength),o.set(new Uint8Array(t),0),o.set(new Uint8Array(a),t.byteLength),o.set(new Uint8Array(n),t.byteLength+a.byteLength)}return await this._generateSharedSecret(i,o)}catch(e){throw new qG(e)}}async _generateSharedSecret(e,t){let n=this._kdf.buildLabeledIkm(SK,e),r=this._kdf.buildLabeledInfo(CK,t,this.secretSize);return await this._kdf.extractAndExpand(cK,n,r,this.secretSize)}},EK=[`deriveBits`],DK=new Uint8Array([100,107,112,95,112,114,107]),OK=class{constructor(e){Object.defineProperty(this,"_num",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._num=new Uint8Array(e)}val(){return this._num}reset(){this._num.fill(0)}set(e){if(e.length!==this._num.length)throw Error(`Bignum.set: invalid argument`);this._num.set(e)}isZero(){for(let e=0;e<this._num.length;e++)if(this._num[e]!==0)return!1;return!0}lessThan(e){if(e.length!==this._num.length)throw Error(`Bignum.lessThan: invalid argument`);for(let t=0;t<this._num.length;t++){if(this._num[t]<e[t])return!0;if(this._num[t]>e[t])return!1}return!1}},kK=new Uint8Array([99,97,110,100,105,100,97,116,101]),AK=new Uint8Array([255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,188,230,250,173,167,23,158,132,243,185,202,194,252,99,37,81]),jK=new Uint8Array([255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,199,99,77,129,244,55,45,223,88,26,13,178,72,176,167,122,236,236,25,106,204,197,41,115]),MK=new Uint8Array([1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,250,81,134,135,131,191,47,150,107,127,204,1,72,247,9,165,208,59,181,201,184,137,156,71,174,187,111,183,30,145,56,100,9]),NK=new Uint8Array([48,65,2,1,0,48,19,6,7,42,134,72,206,61,2,1,6,8,42,134,72,206,61,3,1,7,4,39,48,37,2,1,1,4,32]),PK=new Uint8Array([48,78,2,1,0,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,34,4,55,48,53,2,1,1,4,48]),FK=new Uint8Array([48,96,2,1,0,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,35,4,73,48,71,2,1,1,4,66]),IK={p:115792089210356248762697446949407573530086143415290314195533631308867097853951n,b:41058363725152142129326129780047268409114441015993725554835256314039467401291n,gx:48439561293906451759052585252797914202762949526041747995844080717082404635286n,gy:36134250956749795798585127919587881956611106672985015071877198253568414405109n,coordinateSize:32},LK={p:39402006196394479212279040100143613805079739270465446667948293404245721771496870329047266088258938001861606973112319n,b:27580193559959705877849011840389048093056905856361568521428707301988689241309860865136260764883745107765439761230575n,gx:26247035095799689268623156744566981891852923491109213387815615900925518854738050089022388053975719786650872476732087n,gy:8325710961489029985546751289520108179287853048861315594709205902480503199884419224438643760392947333078086511627871n,coordinateSize:48},RK={p:(1n<<521n)-1n,b:1093849038073734274511112390766805569936207598951683748994586394495953116150735016013708737573759623248592132296706313309438452531591012912142327488478985984n,gx:2661740802050217063228768716723360960729859168756973147706671368418802944996427808491545080627771902352094241225065558662157113545570916814161637315895999846n,gy:3757180025770020463545507224491183603594455134769762486694567779615544477440556316691234405012945539562144444537289428522585666729196580810124344277578376784n,coordinateSize:66};function zK(e,t){let n=e%t;return n>=0n?n:n+t}function BK(e,t,n){let r=1n,i=zK(e,n),a=t;for(;a>0n;)(a&1n)==1n&&(r=zK(r*i,n)),i=zK(i*i,n),a>>=1n;return r}function VK(e,t){let n=BK(e,t+1n>>2n,t);if(zK(n*n,t)!==zK(e,t))throw Error(`Invalid ECDH point`);return n}function HK(e){let t=0n;for(let n of e)t=t<<8n|uK[n];return t}function UK(e,t){let n=new Uint8Array(t),r=e;for(let e=t-1;e>=0;e--)n[e]=Number(r&255n),r>>=8n;if(r!==0n)throw Error(`Invalid coordinate length`);return n}function WK(e,t,n){let r=new Uint8Array(1+n*2);return r[0]=4,r.set(UK(e,n),1),r.set(UK(t,n),1+n),r}var GK=class extends rK{constructor(e,t){switch(super(),Object.defineProperty(this,"_hkdf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_alg",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nPk",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nSk",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nDh",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_bitmask",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_pkcs8AlgId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_curveParams",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._hkdf=t,e){case aK.DhkemP256HkdfSha256:this._alg={name:`ECDH`,namedCurve:`P-256`},this._nPk=65,this._nSk=32,this._nDh=32,this._order=AK,this._bitmask=255,this._pkcs8AlgId=NK,this._curveParams=IK;break;case aK.DhkemP384HkdfSha384:this._alg={name:`ECDH`,namedCurve:`P-384`},this._nPk=97,this._nSk=48,this._nDh=48,this._order=jK,this._bitmask=255,this._pkcs8AlgId=PK,this._curveParams=LK;break;default:this._alg={name:`ECDH`,namedCurve:`P-521`},this._nPk=133,this._nSk=66,this._nDh=66,this._order=MK,this._bitmask=1,this._pkcs8AlgId=FK,this._curveParams=RK}}async serializePublicKey(e){await this._setup();try{return await this._api.exportKey(`raw`,e)}catch(e){throw new WG(e)}}async deserializePublicKey(e){await this._setup();try{return await this._importRawKey(mK(e),!0)}catch(e){throw new GG(e)}}async serializePrivateKey(e){await this._setup();try{let t=await this._api.exportKey(`jwk`,e);if(!(`d`in t))throw Error(`Not private key`);return bK(t.d).buffer}catch(e){throw new WG(e)}}async deserializePrivateKey(e){await this._setup();try{return await this._importRawKey(mK(e),!1)}catch(e){throw new GG(e)}}async importKey(e,t,n){await this._setup();try{if(e===`raw`)return await this._importRawKey(t,n);if(t instanceof ArrayBuffer)throw Error(`Invalid jwk key format`);return await this._importJWK(t,n)}catch(e){throw new GG(e)}}async generateKeyPair(){await this._setup();try{return await this._api.generateKey(this._alg,!0,EK)}catch(e){throw new $G(e)}}async deriveKeyPair(e){await this._setup();try{let t=mK(e),n=await this._hkdf.labeledExtract(cK,DK,new Uint8Array(t)),r=new OK(this._nSk);for(let e=0;r.isZero()||!r.lessThan(this._order);e++){if(e>255)throw Error(`Faild to derive a key pair`);let t=new Uint8Array(await this._hkdf.labeledExpand(n,kK,vK(e,1),this._nSk));t[0]&=this._bitmask,r.set(t)}let i=await this._deserializePkcs8Key(r.val());return r.reset(),{privateKey:i,publicKey:await this.derivePublicKey(i)}}catch(e){throw new QG(e)}}async derivePublicKey(e){await this._setup();try{let t=await this._api.exportKey(`jwk`,e);return delete t.d,delete t.key_ops,await this._api.importKey(`jwk`,t,this._alg,!0,[])}catch{try{return await this._derivePublicKeyWithoutJwkExport(e)}catch(e){throw new GG(e)}}}async dh(e,t){try{return await this._setup(),await this._api.deriveBits({name:`ECDH`,public:t},e,this._nDh*8)}catch(e){throw new WG(e)}}async _importRawKey(e,t){if(t&&e.byteLength!==this._nPk)throw Error(`Invalid public key for the ciphersuite`);if(!t&&e.byteLength!==this._nSk)throw Error(`Invalid private key for the ciphersuite`);return t?await this._api.importKey(`raw`,e,this._alg,!0,[]):await this._deserializePkcs8Key(new Uint8Array(e))}async _importJWK(e,t){if(e.crv===void 0||e.crv!==this._alg.namedCurve)throw Error(`Invalid crv: ${e.crv}`);if(t){if(e.d!==void 0)throw Error("Invalid key: `d` should not be set");return await this._api.importKey(`jwk`,e,this._alg,!0,[])}if(e.d===void 0)throw Error("Invalid key: `d` not found");return await this._api.importKey(`jwk`,e,this._alg,!0,EK)}async _deserializePkcs8Key(e){let t=new Uint8Array(this._pkcs8AlgId.length+e.length);return t.set(this._pkcs8AlgId,0),t.set(e,this._pkcs8AlgId.length),await this._api.importKey(`pkcs8`,t,this._alg,!0,EK)}async _derivePublicKeyWithoutJwkExport(e){let t=WK(this._curveParams.gx,this._curveParams.gy,this._curveParams.coordinateSize),n=await this._api.importKey(`raw`,t.buffer,this._alg,!0,[]),r=new Uint8Array(await this._api.deriveBits({name:`ECDH`,public:n},e,this._nDh*8)),i=this._curveParams.p,a=HK(r),o=VK(zK(BK(a,3n,i)-3n*a+this._curveParams.b,i),i);(o&1n)==1n&&(o=i-o);let s=WK(a,o,this._curveParams.coordinateSize);return await this._api.importKey(`raw`,s.buffer,this._alg,!0,[])}};function KK(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function qK(e,t=``){if(!Number.isSafeInteger(e)||e<0){let n=t&&`"${t}" `;throw Error(`${n}expected integer >0, got ${e}`)}}function JK(e,t,n=``){let r=KK(e),i=e?.length,a=t!==void 0;if(!r||a&&i!==t){let o=n&&`"${n}" `,s=a?` of length ${t}`:``,c=r?`length=${i}`:`type=${typeof e}`;throw Error(o+`expected Uint8Array`+s+`, got `+c)}return e}function YK(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function XK(e,t){JK(e,void 0,`digestInto() output`);let n=t.outputLen;if(e.length<n)throw Error(`"digestInto() output" expected to be of length >=`+n)}function ZK(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function QK(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}var $K=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function eq(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function tq(e){qK(e,`numberToBigint`);let t=e,n=lK,r=1n;for(;t>0;)t%2==1&&(n+=r),t=Math.floor(t/2),r<<=1n;return n}function nq(e){return Uint8Array.from(e)}function rq(e){if(typeof e!=`boolean`)throw Error(`boolean expected, not ${e}`)}var iq=(e,t)=>{function n(n,...r){if(JK(n,void 0,`key`),!$K)throw Error(`Non little-endian hardware is not yet supported`);if(e.nonceLength!==void 0){let t=r[0];JK(t,e.varSizeNonce?void 0:e.nonceLength,`nonce`)}let i=e.tagLength;i&&r[1]!==void 0&&JK(r[1],void 0,`AAD`);let a=t(n,...r),o=(e,t)=>{if(t!==void 0){if(e!==2)throw Error(`cipher output not supported`);JK(t,void 0,`output`)}},s=!1;return{encrypt(e,t){if(s)throw Error(`cannot encrypt() twice with same key + nonce`);return s=!0,JK(e),o(a.encrypt.length,t),a.encrypt(e,t)},decrypt(e,t){if(JK(e),i&&e.length<i)throw Error(`"ciphertext" expected length bigger than tagLength=`+i);return o(a.decrypt.length,t),a.decrypt(e,t)}}}return Object.assign(n,e),n};function aq(e,t){if(typeof t!=`object`||!t)throw Error(`options must be defined`);return Object.assign(e,t)}function oq(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}function sq(e,t,n=!0){if(t===void 0)return new Uint8Array(e);if(t.length!==e)throw Error(`"output" expected Uint8Array of length `+e+`, got: `+t.length);if(n&&!lq(t))throw Error(`invalid output, must be aligned`);return t}function cq(e,t,n){rq(n);let r=new Uint8Array(16),i=eq(r);return i.setBigUint64(0,tq(t),n),i.setBigUint64(8,tq(e),n),r}function lq(e){return e.byteOffset%4==0}var uq=e=>Uint8Array.from(e.split(``).map(e=>e.charCodeAt(0))),dq=uq(`expand 16-byte k`),fq=uq(`expand 32-byte k`),pq=ZK(dq),mq=ZK(fq);function hq(e,t){return e<<t|e>>>32-t}function gq(e){return e.byteOffset%4==0}var _q=64,vq=16,yq=2**32-1,bq=Uint32Array.of();function xq(e,t,n,r,i,a,o,s){let c=i.length,l=new Uint8Array(_q),u=ZK(l),d=gq(i)&&gq(a),f=d?ZK(i):bq,p=d?ZK(a):bq;for(let m=0;m<c;o++){if(e(t,n,r,u,o,s),o>=yq)throw Error(`arx: counter overflow`);let h=Math.min(_q,c-m);if(d&&h===_q){let e=m/4;if(m%4!=0)throw Error(`arx: invalid block position`);for(let t=0,n;t<vq;t++)n=e+t,p[n]=f[n]^u[t];m+=_q}else{for(let e=0,t;e<h;e++)t=m+e,a[t]=i[t]^l[e];m+=h}}}function Sq(e,t){let{allowShortKeys:n,extendNonceFn:r,counterLength:i,counterRight:a,rounds:o}=aq({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=`function`)throw Error(`core must be a function`);return qK(i),qK(o),rq(a),rq(n),(t,s,c,l,u=0)=>{JK(t,void 0,`key`),JK(s,void 0,`nonce`),JK(c,void 0,`data`);let d=c.length;if(l===void 0&&(l=new Uint8Array(d)),JK(l,void 0,`output`),qK(u),u<0||u>=yq)throw Error(`arx: counter overflow`);if(l.length<d)throw Error(`arx: output (${l.length}) is shorter than data (${d})`);let f=[],p=t.length,m,h;if(p===32)f.push(m=nq(t)),h=mq;else if(p===16&&n)m=new Uint8Array(32),m.set(t),m.set(t,16),h=pq,f.push(m);else throw JK(t,32,`arx key`),Error(`invalid key size`);gq(s)||f.push(s=nq(s));let g=ZK(m);if(r){if(s.length!==24)throw Error(`arx: extended nonce must be 24 bytes`);r(h,g,ZK(s.subarray(0,16)),g),s=s.subarray(16)}let _=16-i;if(_!==s.length)throw Error(`arx: nonce must be ${_} or 16 bytes`);if(_!==12){let e=new Uint8Array(12);e.set(s,a?0:12-s.length),s=e,f.push(s)}let v=ZK(s);return xq(e,h,g,v,c,l,u,o),QK(...f),l}}function Cq(e,t){return e[t++]&255|(e[t++]&255)<<8}var wq=class{constructor(e){Object.defineProperty(this,"blockLen",{enumerable:!0,configurable:!0,writable:!0,value:16}),Object.defineProperty(this,"outputLen",{enumerable:!0,configurable:!0,writable:!0,value:16}),Object.defineProperty(this,"buffer",{enumerable:!0,configurable:!0,writable:!0,value:new Uint8Array(16)}),Object.defineProperty(this,"r",{enumerable:!0,configurable:!0,writable:!0,value:new Uint16Array(10)}),Object.defineProperty(this,"h",{enumerable:!0,configurable:!0,writable:!0,value:new Uint16Array(10)}),Object.defineProperty(this,"pad",{enumerable:!0,configurable:!0,writable:!0,value:new Uint16Array(8)}),Object.defineProperty(this,"pos",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"finished",{enumerable:!0,configurable:!0,writable:!0,value:!1}),e=nq(JK(e,32,`key`));let t=Cq(e,0),n=Cq(e,2),r=Cq(e,4),i=Cq(e,6),a=Cq(e,8),o=Cq(e,10),s=Cq(e,12),c=Cq(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|n<<3)&8191,this.r[2]=(n>>>10|r<<6)&7939,this.r[3]=(r>>>7|i<<9)&8191,this.r[4]=(i>>>4|a<<12)&255,this.r[5]=a>>>1&8190,this.r[6]=(a>>>14|o<<2)&8191,this.r[7]=(o>>>11|s<<5)&8065,this.r[8]=(s>>>8|c<<8)&8191,this.r[9]=c>>>5&127;for(let t=0;t<8;t++)this.pad[t]=Cq(e,16+2*t)}process(e,t,n=!1){let r=n?0:2048,{h:i,r:a}=this,o=a[0],s=a[1],c=a[2],l=a[3],u=a[4],d=a[5],f=a[6],p=a[7],m=a[8],h=a[9],g=Cq(e,t+0),_=Cq(e,t+2),v=Cq(e,t+4),y=Cq(e,t+6),b=Cq(e,t+8),x=Cq(e,t+10),S=Cq(e,t+12),C=Cq(e,t+14),w=i[0]+(g&8191),T=i[1]+((g>>>13|_<<3)&8191),E=i[2]+((_>>>10|v<<6)&8191),D=i[3]+((v>>>7|y<<9)&8191),ee=i[4]+((y>>>4|b<<12)&8191),te=i[5]+(b>>>1&8191),ne=i[6]+((b>>>14|x<<2)&8191),re=i[7]+((x>>>11|S<<5)&8191),ie=i[8]+((S>>>8|C<<8)&8191),ae=i[9]+(C>>>5|r),O=0,oe=O+w*o+5*h*T+5*m*E+5*p*D+5*f*ee;O=oe>>>13,oe&=8191,oe+=5*d*te+5*u*ne+5*l*re+5*c*ie+5*s*ae,O+=oe>>>13,oe&=8191;let se=O+w*s+T*o+5*h*E+5*m*D+5*p*ee;O=se>>>13,se&=8191,se+=5*f*te+5*d*ne+5*u*re+5*l*ie+5*c*ae,O+=se>>>13,se&=8191;let ce=O+w*c+T*s+E*o+5*h*D+5*m*ee;O=ce>>>13,ce&=8191,ce+=5*p*te+5*f*ne+5*d*re+5*u*ie+5*l*ae,O+=ce>>>13,ce&=8191;let le=O+w*l+T*c+E*s+D*o+5*h*ee;O=le>>>13,le&=8191,le+=5*m*te+5*p*ne+5*f*re+5*d*ie+5*u*ae,O+=le>>>13,le&=8191;let ue=O+w*u+T*l+E*c+D*s+ee*o;O=ue>>>13,ue&=8191,ue+=5*h*te+5*m*ne+5*p*re+5*f*ie+5*d*ae,O+=ue>>>13,ue&=8191;let de=O+w*d+T*u+E*l+D*c+ee*s;O=de>>>13,de&=8191,de+=te*o+5*h*ne+5*m*re+5*p*ie+5*f*ae,O+=de>>>13,de&=8191;let fe=O+w*f+T*d+E*u+D*l+ee*c;O=fe>>>13,fe&=8191,fe+=te*s+ne*o+5*h*re+5*m*ie+5*p*ae,O+=fe>>>13,fe&=8191;let pe=O+w*p+T*f+E*d+D*u+ee*l;O=pe>>>13,pe&=8191,pe+=te*c+ne*s+re*o+5*h*ie+5*m*ae,O+=pe>>>13,pe&=8191;let me=O+w*m+T*p+E*f+D*d+ee*u;O=me>>>13,me&=8191,me+=te*l+ne*c+re*s+ie*o+5*h*ae,O+=me>>>13,me&=8191;let he=O+w*h+T*m+E*p+D*f+ee*d;O=he>>>13,he&=8191,he+=te*u+ne*l+re*c+ie*s+ae*o,O+=he>>>13,he&=8191,O=(O<<2)+O|0,O=O+oe|0,oe=O&8191,O>>>=13,se+=O,i[0]=oe,i[1]=se,i[2]=ce,i[3]=le,i[4]=ue,i[5]=de,i[6]=fe,i[7]=pe,i[8]=me,i[9]=he}finalize(){let{h:e,pad:t}=this,n=new Uint16Array(10),r=e[1]>>>13;e[1]&=8191;for(let t=2;t<10;t++)e[t]+=r,r=e[t]>>>13,e[t]&=8191;e[0]+=r*5,r=e[0]>>>13,e[0]&=8191,e[1]+=r,r=e[1]>>>13,e[1]&=8191,e[2]+=r,n[0]=e[0]+5,r=n[0]>>>13,n[0]&=8191;for(let t=1;t<10;t++)n[t]=e[t]+r,r=n[t]>>>13,n[t]&=8191;n[9]-=8192;let i=(r^1)-1;for(let e=0;e<10;e++)n[e]&=i;i=~i;for(let t=0;t<10;t++)e[t]=e[t]&i|n[t];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let a=e[0]+t[0];e[0]=a&65535;for(let n=1;n<8;n++)a=(e[n]+t[n]|0)+(a>>>16)|0,e[n]=a&65535;QK(n)}update(e){YK(this),JK(e),e=nq(e);let{buffer:t,blockLen:n}=this,r=e.length;for(let i=0;i<r;){let a=Math.min(n-this.pos,r-i);if(a===n)for(;n<=r-i;i+=n)this.process(e,i);else t.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===n&&(this.process(t,0,!1),this.pos=0)}return this}destroy(){QK(this.h,this.r,this.buffer,this.pad)}digestInto(e){YK(this),XK(e,this),this.finished=!0;let{buffer:t,h:n}=this,{pos:r}=this;if(r){for(t[r++]=1;r<16;r++)t[r]=0;this.process(t,0,!0)}this.finalize();let i=0;for(let t=0;t<8;t++)e[i++]=n[t]>>>0,e[i++]=n[t]>>>8;return e}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}};function Tq(e){let t=(t,n)=>e(n).update(t).digest(),n=e(new Uint8Array(32));return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}var Eq=Tq(e=>new wq(e));function Dq(e,t,n,r,i,a=20){let o=e[0],s=e[1],c=e[2],l=e[3],u=t[0],d=t[1],f=t[2],p=t[3],m=t[4],h=t[5],g=t[6],_=t[7],v=i,y=n[0],b=n[1],x=n[2],S=o,C=s,w=c,T=l,E=u,D=d,ee=f,te=p,ne=m,re=h,ie=g,ae=_,O=v,oe=y,se=b,ce=x;for(let e=0;e<a;e+=2)S=S+E|0,O=hq(O^S,16),ne=ne+O|0,E=hq(E^ne,12),S=S+E|0,O=hq(O^S,8),ne=ne+O|0,E=hq(E^ne,7),C=C+D|0,oe=hq(oe^C,16),re=re+oe|0,D=hq(D^re,12),C=C+D|0,oe=hq(oe^C,8),re=re+oe|0,D=hq(D^re,7),w=w+ee|0,se=hq(se^w,16),ie=ie+se|0,ee=hq(ee^ie,12),w=w+ee|0,se=hq(se^w,8),ie=ie+se|0,ee=hq(ee^ie,7),T=T+te|0,ce=hq(ce^T,16),ae=ae+ce|0,te=hq(te^ae,12),T=T+te|0,ce=hq(ce^T,8),ae=ae+ce|0,te=hq(te^ae,7),S=S+D|0,ce=hq(ce^S,16),ie=ie+ce|0,D=hq(D^ie,12),S=S+D|0,ce=hq(ce^S,8),ie=ie+ce|0,D=hq(D^ie,7),C=C+ee|0,O=hq(O^C,16),ae=ae+O|0,ee=hq(ee^ae,12),C=C+ee|0,O=hq(O^C,8),ae=ae+O|0,ee=hq(ee^ae,7),w=w+te|0,oe=hq(oe^w,16),ne=ne+oe|0,te=hq(te^ne,12),w=w+te|0,oe=hq(oe^w,8),ne=ne+oe|0,te=hq(te^ne,7),T=T+E|0,se=hq(se^T,16),re=re+se|0,E=hq(E^re,12),T=T+E|0,se=hq(se^T,8),re=re+se|0,E=hq(E^re,7);let le=0;r[le++]=o+S|0,r[le++]=s+C|0,r[le++]=c+w|0,r[le++]=l+T|0,r[le++]=u+E|0,r[le++]=d+D|0,r[le++]=f+ee|0,r[le++]=p+te|0,r[le++]=m+ne|0,r[le++]=h+re|0,r[le++]=g+ie|0,r[le++]=_+ae|0,r[le++]=v+O|0,r[le++]=y+oe|0,r[le++]=b+se|0,r[le++]=x+ce|0}var Oq=Sq(Dq,{counterRight:!1,counterLength:4,allowShortKeys:!1}),kq=new Uint8Array(16),Aq=(e,t)=>{e.update(t);let n=t.length%16;n&&e.update(kq.subarray(n))},jq=new Uint8Array(32);function Mq(e,t,n,r,i){i!==void 0&&JK(i,void 0,`AAD`);let a=e(t,n,jq),o=cq(r.length,i?i.length:0,!0),s=Eq.create(a);i&&Aq(s,i),Aq(s,r),s.update(o);let c=s.digest();return QK(a,o),c}var Nq=iq({blockSize:64,nonceLength:12,tagLength:16},(e=>(t,n,r)=>({encrypt(i,a){let o=i.length;a=sq(o+16,a,!1),a.set(i);let s=a.subarray(0,-16);e(t,n,s,s,1);let c=Mq(e,t,n,s,r);return a.set(c,o),QK(c),a},decrypt(i,a){a=sq(i.length-16,a,!1);let o=i.subarray(0,-16),s=i.subarray(-16),c=Mq(e,t,n,o,r);if(!oq(s,c))throw Error(`invalid tag`);return a.set(i.subarray(0,-16)),e(t,n,a,a,1),QK(c),a}}))(Oq)),Pq=class{constructor(e){Object.defineProperty(this,"_key",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._key=new Uint8Array(mK(e))}async seal(e,t,n){return await this._seal(mK(e),mK(t),mK(n))}async open(e,t,n){return await this._open(mK(e),mK(t),mK(n))}_seal(e,t,n){return new Promise(r=>{r(Nq(this._key,new Uint8Array(e),new Uint8Array(n)).encrypt(new Uint8Array(t)).buffer)})}_open(e,t,n){return new Promise(r=>{r(Nq(this._key,new Uint8Array(e),new Uint8Array(n)).decrypt(new Uint8Array(t)).buffer)})}},Fq=class{constructor(){Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:sK.Chacha20Poly1305}),Object.defineProperty(this,"keySize",{enumerable:!0,configurable:!0,writable:!0,value:32}),Object.defineProperty(this,"nonceSize",{enumerable:!0,configurable:!0,writable:!0,value:12}),Object.defineProperty(this,"tagSize",{enumerable:!0,configurable:!0,writable:!0,value:16})}createEncryptionContext(e){return new Pq(e)}};function Iq(){return new Promise((e,t)=>{t(new $G(`Not supported`))})}var Lq=new Uint8Array([115,101,99]),Rq=class{constructor(e,t,n){Object.defineProperty(this,"_api",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"exporterSecret",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_kdf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._api=e,this._kdf=t,this.exporterSecret=n}async seal(e,t){return await Iq()}async open(e,t){return await Iq()}async export(e,t){let n=mK(e);if(n.byteLength>8192)throw new UG(`Too long exporter context`);try{return await this._kdf.labeledExpand(this.exporterSecret,Lq,new Uint8Array(n),t)}catch(e){throw new JG(e)}}},zq=class extends Rq{},Bq=class extends Rq{constructor(e,t,n,r){super(e,t,n),Object.defineProperty(this,"enc",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.enc=r}},Vq=class extends Rq{constructor(e,t,n){if(super(e,t,n.exporterSecret),Object.defineProperty(this,"_aead",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nK",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nN",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nT",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_ctx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),n.key===void 0||n.baseNonce===void 0||n.seq===void 0)throw Error(`Required parameters are missing`);this._aead=n.aead,this._nK=this._aead.keySize,this._nN=this._aead.nonceSize,this._nT=this._aead.tagSize;let r=this._aead.createEncryptionContext(n.key);this._ctx={key:r,baseNonce:n.baseNonce,seq:n.seq}}computeNonce(e){let t=vK(e.seq,e.baseNonce.byteLength);return xK(e.baseNonce,t).buffer}incrementSeq(e){if(e.seq>2**53-1)throw new ZG(`Message limit reached`);e.seq+=1}},Hq=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Uq=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},Wq,Gq=class{constructor(){Wq.set(this,Promise.resolve())}async lock(){let e,t=new Promise(t=>{e=t}),n=Hq(this,Wq,`f`);return Uq(this,Wq,t,`f`),await n,e}};Wq=new WeakMap;var Kq=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},qq=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},Jq,Yq=class extends Vq{constructor(){super(...arguments),Jq.set(this,void 0)}async open(e,t=cK.buffer){qq(this,Jq,Kq(this,Jq,`f`)??new Gq,`f`);let n=await Kq(this,Jq,`f`).lock(),r;try{r=await this._ctx.key.open(this.computeNonce(this._ctx),mK(e),mK(t))}catch(e){throw new XG(e)}finally{n()}return this.incrementSeq(this._ctx),r}};Jq=new WeakMap;var Xq=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Zq=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},Qq,$q=class extends Vq{constructor(e,t,n,r){super(e,t,n),Object.defineProperty(this,"enc",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Qq.set(this,void 0),this.enc=r}async seal(e,t=cK.buffer){Zq(this,Qq,Xq(this,Qq,`f`)??new Gq,`f`);let n=await Xq(this,Qq,`f`).lock(),r;try{r=await this._ctx.key.seal(this.computeNonce(this._ctx),mK(e),mK(t))}catch(e){throw new YG(e)}finally{n()}return this.incrementSeq(this._ctx),r}};Qq=new WeakMap;var eJ=new Uint8Array([98,97,115,101,95,110,111,110,99,101]),tJ=new Uint8Array([101,120,112]),nJ=new Uint8Array([105,110,102,111,95,104,97,115,104]),rJ=new Uint8Array([107,101,121]),iJ=new Uint8Array([112,115,107,95,105,100,95,104,97,115,104]),aJ=new Uint8Array([115,101,99,114,101,116]),oJ=new Uint8Array([72,80,75,69,0,0,0,0,0,0]),sJ=class extends rK{constructor(e){if(super(),Object.defineProperty(this,"_kem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_kdf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_aead",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_suiteId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),typeof e.kem==`number`)throw new UG(`KemId cannot be used`);if(this._kem=e.kem,typeof e.kdf==`number`)throw new UG(`KdfId cannot be used`);if(this._kdf=e.kdf,typeof e.aead==`number`)throw new UG(`AeadId cannot be used`);this._aead=e.aead,this._suiteId=new Uint8Array(oJ),this._suiteId.set(vK(this._kem.id,2),4),this._suiteId.set(vK(this._kdf.id,2),6),this._suiteId.set(vK(this._aead.id,2),8),this._kdf.init(this._suiteId)}get kem(){return this._kem}get kdf(){return this._kdf}get aead(){return this._aead}async createSenderContext(e){this._validateInputLength(e),await this._setup();let t=await this._kem.encap(e),n;return n=e.psk===void 0?e.senderKey===void 0?iK.Base:iK.Auth:e.senderKey===void 0?iK.Psk:iK.AuthPsk,await this._keyScheduleS(n,t.sharedSecret,t.enc,e)}async createRecipientContext(e){this._validateInputLength(e),await this._setup();let t=await this._kem.decap(e),n;return n=e.psk===void 0?e.senderPublicKey===void 0?iK.Base:iK.Auth:e.senderPublicKey===void 0?iK.Psk:iK.AuthPsk,await this._keyScheduleR(n,t,e)}async seal(e,t,n=cK.buffer){let r=await this.createSenderContext(e);return{ct:await r.seal(t,n),enc:r.enc}}async open(e,t,n=cK.buffer){return await(await this.createRecipientContext(e)).open(t,n)}async _keySchedule(e,t,n){let r=n.psk===void 0?cK:pK(n.psk.id),i=await this._kdf.labeledExtract(cK,iJ,r),a=n.info===void 0?cK:pK(n.info),o=await this._kdf.labeledExtract(cK,nJ,a),s=new Uint8Array(1+i.byteLength+o.byteLength);s.set(new Uint8Array([e]),0),s.set(new Uint8Array(i),1),s.set(new Uint8Array(o),1+i.byteLength);let c=n.psk===void 0?cK:pK(n.psk.key),l=this._kdf.buildLabeledIkm(aJ,c),u=this._kdf.buildLabeledInfo(tJ,s,this._kdf.hashSize),d=await this._kdf.extractAndExpand(t,l,u,this._kdf.hashSize);if(this._aead.id===sK.ExportOnly)return{aead:this._aead,exporterSecret:d};let f=this._kdf.buildLabeledInfo(rJ,s,this._aead.keySize),p=await this._kdf.extractAndExpand(t,l,f,this._aead.keySize),m=this._kdf.buildLabeledInfo(eJ,s,this._aead.nonceSize),h=await this._kdf.extractAndExpand(t,l,m,this._aead.nonceSize);return{aead:this._aead,exporterSecret:d,key:p,baseNonce:new Uint8Array(h),seq:0}}async _keyScheduleS(e,t,n,r){let i=await this._keySchedule(e,t,r);return i.key===void 0?new Bq(this._api,this._kdf,i.exporterSecret,n):new $q(this._api,this._kdf,i,n)}async _keyScheduleR(e,t,n){let r=await this._keySchedule(e,t,n);return r.key===void 0?new zq(this._api,this._kdf,r.exporterSecret):new Yq(this._api,this._kdf,r)}_validateInputLength(e){if(e.info!==void 0&&e.info.byteLength>268435456)throw new UG(`Too long info`);if(e.psk!==void 0){if(e.psk.key.byteLength<32)throw new UG(`PSK must have at least 32 bytes`);if(e.psk.key.byteLength>8192)throw new UG(`Too long psk.key`);if(e.psk.id.byteLength>8192)throw new UG(`Too long psk.id`)}}},cJ=class extends TK{constructor(){let e=new gK,t=new GK(aK.DhkemP256HkdfSha256,e);super(aK.DhkemP256HkdfSha256,t,e),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:aK.DhkemP256HkdfSha256}),Object.defineProperty(this,"secretSize",{enumerable:!0,configurable:!0,writable:!0,value:32}),Object.defineProperty(this,"encSize",{enumerable:!0,configurable:!0,writable:!0,value:65}),Object.defineProperty(this,"publicKeySize",{enumerable:!0,configurable:!0,writable:!0,value:65}),Object.defineProperty(this,"privateKeySize",{enumerable:!0,configurable:!0,writable:!0,value:32})}},lJ=class extends sJ{},uJ=class extends cJ{},dJ=class extends gK{},fJ=e(VG(),1);function pJ(){let e=globalThis.crypto?.subtle;if(!e)throw Error("`crypto.subtle` is not defined as a global; Either run in a runtime that provides WebCrypto, or polyfill `globalThis.crypto`");return e}function mJ(e){let t=e.replace(vJ,``).replace(_J,``),n=Buffer.from(t,`base64`),r=n.indexOf(Buffer.from([4,32]));if(r===-1)throw Error(`Invalid wallet authorization private key`);let i=n.subarray(r+2,r+34);return BG.Point.Fn.fromBytes(i)}async function hJ(){let e=new lJ({kem:new uJ,kdf:new dJ,aead:new Fq}),t=await e.kem.generateKeyPair(),n=await pJ().exportKey(`spki`,t.publicKey);return{publicKeySpki:new Uint8Array(n),decryptPayload:async(n,r)=>{let i=await(await e.createRecipientContext({recipientKey:t.privateKey,enc:n})).open(r);return new Uint8Array(i)}}}async function gJ(){let e=new lJ({kem:new uJ,kdf:new dJ,aead:new Fq});return{encryptPayload:async(t,n)=>{let r=await e.kem.deserializePublicKey(t),i=await e.createSenderContext({recipientPublicKey:r}),a=await i.seal(n);return{ciphertext:new Uint8Array(a),encapsulatedKey:new Uint8Array(i.enc)}}}}var _J=`wallet-api:`,vJ=`wallet-auth:`;function yJ(e){let t=e.body;typeof t==`object`&&t&&Object.keys(t).length===0&&(e.body=``);let n=(0,fJ.default)(e);if(!n)throw new fR(`Failed to serialize request for authorization signature`);return new TextEncoder().encode(n)}async function bJ(e,{authorizationContext:t,input:n}){let r=yJ(n),i=t.user_jwts??[],a=[];i.length>0&&(a=await Promise.all(i.map(t=>e._jwtExchange().exchangeJwtForAuthorizationKey(t))));let o=[...t.authorization_private_keys??[],...a].map(e=>SJ({authorizationPrivateKey:e,input:r})),s=await Promise.all((t.sign_fns??[]).map(e=>e(r)));return[...t.signatures??[],...o,...s]}async function xJ(e,t,{authorizationContext:n={},idempotencyKey:r,requestExpiry:i,method:a,url:o,body:s}){let c=String(i);return{headers:{"privy-authorization-signature":(await bJ(e,{authorizationContext:n,input:{version:1,method:a,url:o,body:s,headers:{"privy-app-id":t,...r&&{"privy-idempotency-key":r},...i&&{"privy-request-expiry":c}}}})).join(`,`),...r&&{"privy-idempotency-key":r},...i&&{"privy-request-expiry":c}}}}function SJ({authorizationPrivateKey:e,input:t}){let n=t instanceof Uint8Array?t:yJ(t),r=mJ(e),i=BG.sign(An(n),r).toBytes(`der`);return Buffer.from(i).toString(`base64`)}function CJ(e){let{entropy:t,entropyType:n,chainType:r}=e;if(typeof t!=`string`)return t;switch(n){case`hd`:return new TextEncoder().encode(t);case`private-key`:if(r===`ethereum`||r===`tron`||r===`sui`||r===`aptos`||r===`xrpl`)try{let e=t.startsWith(`0x`)?t.slice(2):t;return new Uint8Array(Buffer.from(e,`hex`))}catch{throw new fR(`Invalid private key: ${r} entropy must be hex encoded`)}if(r===`solana`)try{return Hu.decode(t)}catch{throw new fR(`Invalid private key: Solana entropy must be base58 encoded`)}if(r===`stellar`)return Bu.decode(t).slice(1,33);throw new fR(`Invalid chain type for imports: ${r}`);default:throw new fR(`Invalid entropy type: ${n}`)}}var wJ=class extends TB{constructor(e,t){super(e),this.privyClient=t}async create(e,{authorization_context:t={},idempotency_key:n,request_expiry:r,...i}){let{headers:a}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,idempotencyKey:n,requestExpiry:r??this.privyClient.getRequestExpiry(),method:`POST`,url:`${this._client.baseURL}/v1/wallets/${e}/deposit_accounts/crypto`,body:i});return await this._create(e,{...i,...a})}},TJ=class extends EB{constructor(e,t){super(e),this.crypto=new wJ(e,t)}},EJ=class extends DB{constructor(e,t){super(e),this.privyClient=t}async claim(e,{authorization_context:t={},idempotency_key:n,...r}){let{headers:i}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,idempotencyKey:n,requestExpiry:this.privyClient.getRequestExpiry(),method:`POST`,url:`${this._client.baseURL}/v1/wallets/${e}/earn/ethereum/incentive/claim`,body:r});return await this._claim(e,{...r,...i})}},DJ=class extends OB{constructor(e,t){super(e),this.privyClient=t,this.incentiveService=new EJ(e,t)}incentive(){return this.incentiveService}async deposit(e,{authorization_context:t={},idempotency_key:n,...r}){let{headers:i}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,idempotencyKey:n,requestExpiry:this.privyClient.getRequestExpiry(),method:`POST`,url:`${this._client.baseURL}/v1/wallets/${e}/earn/ethereum/deposit`,body:r});return await this._deposit(e,{...r,...i})}async withdraw(e,{authorization_context:t={},idempotency_key:n,...r}){let{headers:i}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,idempotencyKey:n,requestExpiry:this.privyClient.getRequestExpiry(),method:`POST`,url:`${this._client.baseURL}/v1/wallets/${e}/earn/ethereum/withdraw`,body:r});return await this._withdraw(e,{...r,...i})}},OJ=class extends kB{constructor(e,t){super(e),this.ethereumService=new DJ(e,t)}ethereum(){return this.ethereumService}},kJ=class{constructor(e){this.privyWalletsService=e}async signMessage(e,{message:t,...n}){let r;return r=t instanceof Uint8Array?{message:Buffer.from(t).toString(`hex`),encoding:`hex`}:t.startsWith(`0x`)?{message:t.slice(2),encoding:`hex`}:{message:t,encoding:`utf-8`},(await this.privyWalletsService.rpc(e,{...n,params:r,method:`personal_sign`,chain_type:`ethereum`})).data}async signSecp256k1(e,t){return(await this.privyWalletsService.rpc(e,{...t,method:`secp256k1_sign`,chain_type:`ethereum`})).data}async sign7702Authorization(e,t){return(await this.privyWalletsService.rpc(e,{...t,method:`eth_sign7702Authorization`,chain_type:`ethereum`})).data}async signTransaction(e,t){return(await this.privyWalletsService.rpc(e,{...t,method:`eth_signTransaction`,chain_type:`ethereum`})).data}async signTypedData(e,t){return(await this.privyWalletsService.rpc(e,{...t,method:`eth_signTypedData_v4`,chain_type:`ethereum`})).data}async signUserOperation(e,t){return(await this.privyWalletsService.rpc(e,{...t,method:`eth_signUserOperation`,chain_type:`ethereum`})).data}async sendTransaction(e,t){return(await this.privyWalletsService.rpc(e,{...t,method:`eth_sendTransaction`,chain_type:`ethereum`})).data}async sendCalls(e,t){return(await this.privyWalletsService.rpc(e,{...t,method:`wallet_sendCalls`,chain_type:`ethereum`})).data}},AJ=class{constructor(e){this.privyWalletsService=e}async signMessage(e,{message:t,...n}){let r;return r=t instanceof Uint8Array?{message:Buffer.from(t).toString(`base64`),encoding:`base64`}:{message:t,encoding:`base64`},(await this.privyWalletsService.rpc(e,{...n,method:`signMessage`,chain_type:`solana`,params:r})).data}async signTransaction(e,{transaction:t,...n}){let r;return r=t instanceof Uint8Array?{transaction:Buffer.from(t).toString(`base64`),encoding:`base64`}:{transaction:t,encoding:`base64`},(await this.privyWalletsService.rpc(e,{...n,method:`signTransaction`,chain_type:`solana`,params:r})).data}async signAndSendTransaction(e,{transaction:t,...n}){let r;return r=t instanceof Uint8Array?{transaction:Buffer.from(t).toString(`base64`),encoding:`base64`}:{transaction:t,encoding:`base64`},(await this.privyWalletsService.rpc(e,{...n,method:`signAndSendTransaction`,chain_type:`solana`,params:r})).data}},jJ=class{constructor(e){this.privyWalletsService=e}async signTransaction(e,t){return(await this.privyWalletsService.rpc(e,{...t,method:`tron_signTransaction`})).data}async sendTransaction(e,t){return(await this.privyWalletsService.rpc(e,{...t,method:`tron_sendTransaction`})).data}},MJ=class extends AB{constructor(e,t){super(e),this.privyClient=t}async create(e,{authorization_context:t={},idempotency_key:n,request_expiry:r,...i}){let{headers:a}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,idempotencyKey:n,requestExpiry:r??this.privyClient.getRequestExpiry(),method:`POST`,url:`${this._client.baseURL}/v1/wallets/${e}/payout/fiat`,body:i});return await this._create(e,{...i,...a})}},NJ=class extends jB{constructor(e,t){super(e),this.fiatService=new MJ(e,t)}fiat(){return this.fiatService}},PJ=class{constructor(e,t){this.swapResource=new xB(e),this.privyClient=t,this.appID=e.appID,this.baseURL=e.baseURL}async execute(e,{authorization_context:t={},idempotency_key:n,...r}){let{headers:i}=await xJ(this.privyClient,this.appID,{authorizationContext:t,idempotencyKey:n,method:`POST`,url:`${this.baseURL}/v1/wallets/${e}/swap`,body:r});return await this.swapResource.execute(e,{...r,...i})}async quote(e,{authorization_context:t={},...n}){let{headers:r}=await xJ(this.privyClient,this.appID,{authorizationContext:t,method:`POST`,url:`${this.baseURL}/v1/wallets/${e}/swap/quote`,body:n});return await this.swapResource.quote(e,{...n,...r})}},FJ=class extends MB{constructor(e,t){super(e),this.privyClient=t,this.depositAccounts=new TJ(e,t),this.payoutService=new NJ(e,t),this.ethereumService=new kJ(this),this.solanaService=new AJ(this),this.tronService=new jJ(this),this.earnService=new OJ(e,t),this.swapsService=new PJ(e,t)}earn(){return this.earnService}payout(){return this.payoutService}ethereum(){return this.ethereumService}solana(){return this.solanaService}tron(){return this.tronService}swaps(){return this.swapsService}create({idempotency_key:e,...t}){return super.create({...t,...e&&{"privy-idempotency-key":e}})}async rpc(e,{authorization_context:t={},idempotency_key:n,request_expiry:r,...i}){let{headers:a}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,idempotencyKey:n,requestExpiry:r??this.privyClient.getRequestExpiry(),method:`POST`,url:`${this._client.baseURL}/v1/wallets/${e}/rpc`,body:i});return await this._rpc(e,{...i,...a})}async rawSign(e,{authorization_context:t={},idempotency_key:n,request_expiry:r,...i}){let{headers:a}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,idempotencyKey:n,requestExpiry:r??this.privyClient.getRequestExpiry(),method:`POST`,url:`${this._client.baseURL}/v1/wallets/${e}/raw_sign`,body:i});return(await this._rawSign(e,{...i,...a})).data}async update(e,{authorization_context:t={},request_expiry:n,...r}){let{headers:i}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,requestExpiry:n??this.privyClient.getRequestExpiry(),method:`PATCH`,url:`${this._client.baseURL}/v1/wallets/${e}`,body:r});return await this._update(e,{...r,...i})}async transfer(e,{authorization_context:t={},...n}){let{headers:r}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,requestExpiry:this.privyClient.getRequestExpiry(),method:`POST`,url:`${this._client.baseURL}/v1/wallets/${e}/transfer`,body:n});return await this._transfer(e,{...n,...r})}async export(e,{authorization_context:t={},request_expiry:n,...r}){let{publicKeySpki:i,decryptPayload:a}=await hJ(),o={...r,encryption_type:`HPKE`,recipient_public_key:Buffer.from(i).toString(`base64`)},{headers:s}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,requestExpiry:n??this.privyClient.getRequestExpiry(),method:`POST`,url:`${this._client.baseURL}/v1/wallets/${e}/export`,body:o}),c=await this._export(e,{...o,...s}),l=await a(Buffer.from(c.encapsulated_key,`base64`),Buffer.from(c.ciphertext,`base64`));return{private_key:new TextDecoder().decode(l)}}async exportPrivateKey(e,t){return this.export(e,{...t,export_seed_phrase:!1})}async exportSeedPhrase(e,t){let{private_key:n}=await this.export(e,{...t,export_seed_phrase:!0});return{seed_phrase:n}}async import({wallet:{private_key:e,...t},...n}){let r=await gJ(),i=CJ({entropy:e,entropyType:t.entropy_type,chainType:t.chain_type}),a=await this._initImport({...t,encryption_type:`HPKE`});if(a.encryption_type!==`HPKE`)throw new fR(`Invalid encryption type: ${a.encryption_type}`);let o=Buffer.from(a.encryption_public_key,`base64`),{encapsulatedKey:s,ciphertext:c}=await r.encryptPayload(o,i);return await this._submitImport({...n,wallet:{...t,encryption_type:`HPKE`,encapsulated_key:Buffer.from(s).toString(`base64`),ciphertext:Buffer.from(c).toString(`base64`)}})}},IJ=class extends dB{constructor(e,t){super(e),this.privyClient=t}create({idempotency_key:e,...t}){return super.create({...t,...e&&{"privy-idempotency-key":e}})}async update(e,{authorization_context:t={},request_expiry:n,...r}){let{headers:i}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,requestExpiry:n??this.privyClient.getRequestExpiry(),method:`PATCH`,url:`${this._client.baseURL}/v1/policies/${e}`,body:r});return await this._update(e,{...r,...i})}async delete(e,{authorization_context:t={},request_expiry:n,...r}){let{headers:i}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,requestExpiry:n??this.privyClient.getRequestExpiry(),method:`DELETE`,url:`${this._client.baseURL}/v1/policies/${e}`,body:r});return await this._delete(e,{...r,...i})}async createRule(e,{authorization_context:t={},request_expiry:n,...r}){let{headers:i}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,requestExpiry:n??this.privyClient.getRequestExpiry(),method:`POST`,url:`${this._client.baseURL}/v1/policies/${e}/rules`,body:r});return await this._createRule(e,{...r,...i})}async updateRule(e,{authorization_context:t={},request_expiry:n,policy_id:r,...i}){let{headers:a}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,requestExpiry:n??this.privyClient.getRequestExpiry(),method:`PATCH`,url:`${this._client.baseURL}/v1/policies/${r}/rules/${e}`,body:i});return await this._updateRule(e,{...i,policy_id:r,...a})}async deleteRule(e,{authorization_context:t={},request_expiry:n,policy_id:r,...i}){let{headers:a}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,requestExpiry:n??this.privyClient.getRequestExpiry(),method:`DELETE`,url:`${this._client.baseURL}/v1/policies/${r}/rules/${e}`,body:i});return await this._deleteRule(e,{...i,policy_id:r,...a})}},LJ=class extends mB{},RJ=class extends iB{constructor(e,t){super(e),this.privyClient=t}async update(e,{authorization_context:t={},request_expiry:n,...r}){let{headers:i}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,requestExpiry:n??this.privyClient.getRequestExpiry(),method:`PATCH`,url:`${this._client.baseURL}/v1/key_quorums/${e}`,body:r});return await this._update(e,{...r,...i})}async delete(e,{authorization_context:t={},request_expiry:n,...r}){let{headers:i}=await xJ(this.privyClient,this._client.appID,{authorizationContext:t,requestExpiry:n??this.privyClient.getRequestExpiry(),method:`DELETE`,url:`${this._client.baseURL}/v1/key_quorums/${e}`,body:r});return await this._delete(e,{...r,...i})}};function zJ(e){let t=HJ(e);return{id:e.sub,created_at:parseInt(e.cr),is_guest:e.guest===`t`,linked_accounts:BJ(e),...t?{custom_metadata:t}:{},has_accepted_terms:!1,mfa_methods:[]}}function BJ(e){let t=e.linked_accounts;if(typeof t!=`string`)throw new UJ(`Unable to parse identity token`);let n=JSON.parse(t);if(!Array.isArray(n))throw new UJ(`Unable to parse identity token`);return n.map(VJ).filter(e=>e!==null)}function VJ(e){if(e.type===`email`)return{type:`email`,address:e.address,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv};if(e.type===`phone`)return{type:`phone`,phoneNumber:e.phone_number,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv};if(e.type===`wallet`)return e.wallet_client_type===`privy`?{type:`wallet`,wallet_client_type:`privy`,wallet_client:`privy`,connector_type:`embedded`,id:e.id,address:e.address,chain_type:e.chain_type,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv,chain_id:``,delegated:!1,imported:!1,public_key:``,wallet_index:0,recovery_method:e.id?`privy-v2`:`privy`}:{type:`wallet`,wallet_client:`unknown`,address:e.address,chain_type:e.chain_type,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv};if(e.type===`smart_wallet`)return{type:`smart_wallet`,address:e.address,smart_wallet_type:e.smart_wallet_type,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv};if(e.type===`farcaster`)return{type:`farcaster`,fid:e.fid,username:e.username,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv,owner_address:e.oa};if(e.type===`google_oauth`)return{type:`google_oauth`,subject:e.subject,email:e.email,name:e.name,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv};if(e.type===`twitter_oauth`){let t=e.pfp?e.pfp:null;return t?.startsWith(`default`)?t=`https://abs.twimg.com/sticky/default_profile_images/${t}`:t?.startsWith(`https://`)||(t=`https://pbs.twimg.com/profile_images/${t}`),{type:`twitter_oauth`,subject:e.subject,username:e.username,name:e.name?e.name:null,profile_picture_url:t,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv}}return e.type===`discord_oauth`?{type:`discord_oauth`,subject:e.subject,username:e.username,email:null,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv}:e.type===`github_oauth`?{type:`github_oauth`,subject:e.subject,username:e.username,email:null,name:null,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv}:e.type===`spotify_oauth`?{type:`spotify_oauth`,subject:e.subject,email:null,name:null,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv}:e.type===`instagram_oauth`?{type:`instagram_oauth`,subject:e.subject,username:e.username,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv}:e.type===`tiktok_oauth`?{type:`tiktok_oauth`,subject:e.subject,username:e.username,name:null,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv}:e.type===`linkedin_oauth`?{type:`linkedin_oauth`,subject:e.subject,email:e.email,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv}:e.type===`apple_oauth`?{type:`apple_oauth`,subject:e.subject,email:e.email,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv}:e.type===`cross_app`?{type:`cross_app`,subject:e.subject,provider_app_id:e.provider_app_id,embedded_wallets:e.embedded_wallets,smart_wallets:e.smart_wallets,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv}:e.type===`custom_auth`?{type:`custom_auth`,custom_user_id:e.custom_user_id,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv}:e.type===`telegram`?{type:`telegram`,telegram_user_id:e.telegram_user_id,username:e.username,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv}:e.type===`passkey`?{type:`passkey`,credential_id:e.credential_id,first_verified_at:null,verified_at:e.lv,latest_verified_at:e.lv,enrolled_in_mfa:!1}:null}function HJ(e){let t=e.custom_metadata;if(t===void 0)return;if(typeof t!=`string`)throw new UJ(`Unable to parse identity token`);let n=JSON.parse(t);if(!n||typeof n!=`object`)throw new UJ(`Unable to parse identity token`);return n}var UJ=class extends fR{},WJ=`ES256`,GJ=`privy.io`;async function KJ(e,t,n){let r;return r=await is(e,n,{typ:`JWT`,algorithms:[WJ],issuer:GJ,audience:t}).catch(QJ),r}async function qJ({access_token:e,app_id:t,verification_key:n}){let r=await KJ(e,t,typeof n==`string`?await vs(n,WJ):n);return{app_id:XJ(r.payload.aud),issuer:XJ(r.payload.iss),issued_at:ZJ(r.payload.iat),expiration:ZJ(r.payload.exp),session_id:XJ(r.payload.sid),user_id:XJ(r.payload.sub)}}async function JJ({identity_token:e,app_id:t,verification_key:n}){let r=await KJ(e,t,typeof n==`string`?await vs(n,WJ):n);if(!r.payload)throw new YJ(`Unable to parse identity token`);return zJ(r.payload)}var YJ=class extends fR{};function XJ(e){if(!e||typeof e!=`string`)throw new YJ(`Token's payload is invalid`);return e}function ZJ(e){if(!e||typeof e!=`number`)throw new YJ(`Token's payload is invalid`);return e}function QJ(e){throw e instanceof yo?new YJ(`Authentication token expired`):e instanceof As||e instanceof Ds?new YJ(`Authentication token is invalid`):new YJ(`Failed to verify authentication token`)}function $J({appId:e,apiUrl:t,headers:n,verificationKeyOverride:r}){if(r!==void 0){let e;return async()=>{if(e===void 0)try{e=await vs(r,WJ)}catch{throw new YJ(`Failed to import the provided verification key override`)}return e}}return fm(new URL(`${t}/v1/apps/${e}/jwks.json`),{cacheMaxAge:36e5,cooldownDuration:6e5,headers:n})}var eY=class extends _B{constructor(e,t){super(e),this.appJwks=t}async get({id_token:e}){return JJ({identity_token:e,app_id:this._client.appID,verification_key:this.appJwks})}},tY=class extends qz{constructor(e){super(e)}async getAllowlist(){return this.allowlist.list(this._client.appID)}async inviteToAllowlist(e){return this.allowlist.create(this._client.appID,e)}async removeFromAllowlist(e){return this.allowlist.delete(this._client.appID,e)}async getSettings(){return this.get(this._client.appID)}async getTestAccessToken(e){let{data:t}=await this.getTestCredentials(this._client.appID);if(!t||t.length===0)throw Error(`No test accounts found for this app. Create test accounts in the Privy dashboard.`);let n;if(e&&`email`in e){if(n=t.find(t=>t.email===e.email),!n)throw Error(`No test account found with email "${e.email}". Available: ${t.map(e=>e.email).join(`, `)}`)}else if(e&&`phone_number`in e){if(n=t.find(t=>t.phone_number===e.phone_number),!n)throw Error(`No test account found with phone number "${e.phone_number}". Available: ${t.map(e=>e.phone_number).join(`, `)}`)}else n=t[0];let r=await this._client.post(`/v1/passwordless/authenticate`,{body:{email:n.email,code:n.otp_code}});if(!r.token)throw Error(`Unable to authenticate with the test account.`);return{access_token:r.token}}},nY=class extends rB{constructor(e,t){super(e),this.privyClient=t}rpc(e,{request_expiry:t,...n}){let r=t??this.privyClient.getIntentRequestExpiry();return super.rpc(e,{...n,...r!=null&&{"privy-request-expiry":String(r)}})}createPolicyRule(e,{request_expiry:t,...n}){let r=t??this.privyClient.getIntentRequestExpiry();return super.createPolicyRule(e,{...n,...r!=null&&{"privy-request-expiry":String(r)}})}deletePolicyRule(e,{request_expiry:t,...n}){let r=t??this.privyClient.getIntentRequestExpiry();return super.deletePolicyRule(e,{...n,...r!=null&&{"privy-request-expiry":String(r)}})}updatePolicy(e,{request_expiry:t,...n}){let r=t??this.privyClient.getIntentRequestExpiry();return super.updatePolicy(e,{...n,...r!=null&&{"privy-request-expiry":String(r)}})}updatePolicyRule(e,{request_expiry:t,...n}){let r=t??this.privyClient.getIntentRequestExpiry();return super.updatePolicyRule(e,{...n,...r!=null&&{"privy-request-expiry":String(r)}})}updateWallet(e,{request_expiry:t,...n}){let r=t??this.privyClient.getIntentRequestExpiry();return super.updateWallet(e,{...n,...r!=null&&{"privy-request-expiry":String(r)}})}updateKeyQuorum(e,{request_expiry:t,...n}){let r=t??this.privyClient.getIntentRequestExpiry();return super.updateKeyQuorum(e,{...n,...r!=null&&{"privy-request-expiry":String(r)}})}},rY=class extends uB{constructor(e){super(e)}},iY=class{constructor(e,t){this.appJwks=t,this.privyAppID=e.appID}async verifyAccessToken(e){return qJ({access_token:e,app_id:this.privyAppID,verification_key:this.appJwks})}async verifyAuthToken(e){return this.verifyAccessToken(e)}async verifyIdentityToken(e){return JJ({identity_token:e,app_id:this.privyAppID,verification_key:this.appJwks})}},aY=class{constructor(){this.formatRequestForAuthorizationSignature=yJ}},oY=class{constructor(e){this.generateAuthorizationSignature=SJ,this.privyClient=e}generateAuthorizationSignatures(...e){return bJ(this.privyClient,...e)}},sY=class{constructor(e,t,n){this._requestSigner=new oY(t),this._requestFormatter=new aY,this._auth=new iY(e,n)}requestSigner(){return this._requestSigner}requestFormatter(){return this._requestFormatter}auth(){return this._auth}},cY={hasSubscribers:!1},lY=cY,uY=cY,dY=typeof performance==`object`&&performance&&typeof performance.now==`function`?performance:Date,fY=()=>lY.hasSubscribers||uY.hasSubscribers,pY=new Set,mY=typeof process==`object`&&process?process:{},hY=(e,t,n,r)=>{typeof mY.emitWarning==`function`?mY.emitWarning(e,t,n,r):console.error(`[${n}] ${t}: ${e}`)},gY=e=>!pY.has(e),_Y=e=>!!e&&e===Math.floor(e)&&e>0&&isFinite(e),vY=e=>_Y(e)?e<=256?Uint8Array:e<=2**16?Uint16Array:e<=2**32?Uint32Array:e<=2**53-1?yY:null:null,yY=class extends Array{constructor(e){super(e),this.fill(0)}},bY=class e{heap;length;static#e=!1;static create(t){let n=vY(t);if(!n)return[];e.#e=!0;let r=new e(t,n);return e.#e=!1,r}constructor(t,n){if(!e.#e)throw TypeError(`instantiate Stack using Stack.create(n)`);this.heap=new n(t),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},xY=class e{#e;#t;#n;#r;#i;#a;#o;#s;get perf(){return this.#s}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;backgroundFetchSize;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y;#b;#x;#S;#C;#w;#T;#E;static unsafeExposeInternals(e){return{starts:e.#b,ttls:e.#x,autopurgeTimers:e.#S,sizes:e.#y,keyMap:e.#u,keyList:e.#d,valList:e.#f,next:e.#p,prev:e.#m,get head(){return e.#h},get tail(){return e.#g},free:e.#_,isBackgroundFetch:t=>e.#W(t),backgroundFetch:(t,n,r,i)=>e.#U(t,n,r,i),moveToTail:t=>e.#X(t),indexes:t=>e.#I(t),rindexes:t=>e.#L(t),isStale:t=>e.#j(t)}}get max(){return this.#e}get maxSize(){return this.#t}get calculatedSize(){return this.#l}get size(){return this.#c}get fetchMethod(){return this.#a}get memoMethod(){return this.#o}get dispose(){return this.#n}get onInsert(){return this.#r}get disposeAfter(){return this.#i}constructor(t){let{max:n=0,ttl:r,ttlResolution:i=1,ttlAutopurge:a,updateAgeOnGet:o,updateAgeOnHas:s,allowStale:c,dispose:l,onInsert:u,disposeAfter:d,noDisposeOnSet:f,noUpdateTTL:p,maxSize:m=0,maxEntrySize:h=0,sizeCalculation:g,fetchMethod:_,memoMethod:v,noDeleteOnFetchRejection:y,noDeleteOnStaleGet:b,allowStaleOnFetchRejection:x,allowStaleOnFetchAbort:S,ignoreFetchAbort:C,backgroundFetchSize:w=1,perf:T}=t;if(this.backgroundFetchSize=w,T!==void 0&&typeof T?.now!=`function`)throw TypeError(`perf option must have a now() method if specified`);if(this.#s=T??dY,n!==0&&!_Y(n))throw TypeError(`max option must be a nonnegative integer`);let E=n?vY(n):Array;if(!E)throw Error(`invalid max value: `+n);if(this.#e=n,this.#t=m,this.maxEntrySize=h||this.#t,this.sizeCalculation=g,this.sizeCalculation){if(!this.#t&&!this.maxEntrySize)throw TypeError(`cannot set sizeCalculation without setting maxSize or maxEntrySize`);if(typeof this.sizeCalculation!=`function`)throw TypeError(`sizeCalculation set to non-function`)}if(v!==void 0&&typeof v!=`function`)throw TypeError(`memoMethod must be a function if defined`);if(this.#o=v,_!==void 0&&typeof _!=`function`)throw TypeError(`fetchMethod must be a function if specified`);if(this.#a=_,this.#w=!!_,this.#u=new Map,this.#d=Array.from({length:n}).fill(void 0),this.#f=Array.from({length:n}).fill(void 0),this.#p=new E(n),this.#m=new E(n),this.#h=0,this.#g=0,this.#_=bY.create(n),this.#c=0,this.#l=0,typeof l==`function`&&(this.#n=l),typeof u==`function`&&(this.#r=u),typeof d==`function`?(this.#i=d,this.#v=[]):(this.#i=void 0,this.#v=void 0),this.#C=!!this.#n,this.#E=!!this.#r,this.#T=!!this.#i,this.noDisposeOnSet=!!f,this.noUpdateTTL=!!p,this.noDeleteOnFetchRejection=!!y,this.allowStaleOnFetchRejection=!!x,this.allowStaleOnFetchAbort=!!S,this.ignoreFetchAbort=!!C,this.maxEntrySize!==0){if(this.#t!==0&&!_Y(this.#t))throw TypeError(`maxSize must be a positive integer if specified`);if(!_Y(this.maxEntrySize))throw TypeError(`maxEntrySize must be a positive integer if specified`);this.#M()}if(this.allowStale=!!c,this.noDeleteOnStaleGet=!!b,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!s,this.ttlResolution=_Y(i)||i===0?i:1,this.ttlAutopurge=!!a,this.ttl=r||0,this.ttl){if(!_Y(this.ttl))throw TypeError(`ttl must be a positive integer if specified`);this.#D()}if(this.#e===0&&this.ttl===0&&this.#t===0)throw TypeError(`At least one of max, maxSize, or ttl is required`);if(!this.ttlAutopurge&&!this.#e&&!this.#t){let t=`LRU_CACHE_UNBOUNDED`;gY(t)&&(pY.add(t),hY(`TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.`,`UnboundedCacheWarning`,t,e))}}getRemainingTTL(e){return this.#u.has(e)?1/0:0}#D(){let e=new yY(this.#e),t=new yY(this.#e);this.#x=e,this.#b=t;let n=this.ttlAutopurge?Array.from({length:this.#e}):void 0;this.#S=n,this.#A=(n,i,a=this.#s.now())=>{t[n]=i===0?0:a,e[n]=i,r(n,i)},this.#O=n=>{t[n]=e[n]===0?0:this.#s.now(),r(n,e[n])};let r=this.ttlAutopurge?(e,t)=>{if(n?.[e]&&(clearTimeout(n[e]),n[e]=void 0),t&&t!==0&&n){let i=setTimeout(()=>{this.#j(e)?(this.#Z(this.#d[e],`expire`),n[e]=void 0):r(e,o(e))},t+1);i.unref&&i.unref(),n[e]=i}}:()=>{};this.#k=(n,r)=>{if(e[r]){let o=e[r],s=t[r];if(!o||!s)return;n.ttl=o,n.start=s,n.now=i||a(),n.remainingTTL=o-(n.now-s)}};let i=0,a=()=>{let e=this.#s.now();if(this.ttlResolution>0){i=e;let t=setTimeout(()=>i=0,this.ttlResolution);t.unref&&t.unref()}return e};this.getRemainingTTL=e=>{let t=this.#u.get(e);return t===void 0?0:o(t)};let o=n=>{let r=e[n],o=t[n];return!r||!o?1/0:r-((i||a())-o)};this.#j=n=>{let r=t[n],o=e[n];return!!o&&!!r&&(i||a())-r>o}}#O=()=>{};#k=()=>{};#A=()=>{};#j=()=>!1;#M(){let e=new yY(this.#e);this.#l=0,this.#y=e,this.#N=t=>{this.#l-=e[t],e[t]=0},this.#F=(e,t,n,r)=>{if(!_Y(n)){if(this.#W(t))return this.backgroundFetchSize;if(r){if(typeof r!=`function`)throw TypeError(`sizeCalculation must be a function`);if(n=r(t,e),!_Y(n))throw TypeError(`sizeCalculation return invalid (expect positive integer)`)}else throw TypeError(`invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.`)}return n},this.#P=(t,n,r)=>{if(e[t]=n,this.#t){let n=this.#t-e[t];for(;this.#l>n;)this.#B(!0)}this.#l+=e[t],r&&(r.entrySize=n,r.totalCalculatedSize=this.#l)}}#N=e=>{};#P=(e,t,n)=>{};#F=(e,t,n,r)=>{if(n||r)throw TypeError(`cannot set size without setting maxSize or maxEntrySize on cache`);return 0};*#I({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#g;this.#R(t)&&((e||!this.#j(t))&&(yield t),t!==this.#h);)t=this.#m[t]}*#L({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#h;this.#R(t)&&((e||!this.#j(t))&&(yield t),t!==this.#g);)t=this.#p[t]}#R(e){return e!==void 0&&this.#u.get(this.#d[e])===e}*entries(){for(let e of this.#I())this.#f[e]!==void 0&&this.#d[e]!==void 0&&!this.#W(this.#f[e])&&(yield[this.#d[e],this.#f[e]])}*rentries(){for(let e of this.#L())this.#f[e]!==void 0&&this.#d[e]!==void 0&&!this.#W(this.#f[e])&&(yield[this.#d[e],this.#f[e]])}*keys(){for(let e of this.#I()){let t=this.#d[e];t!==void 0&&!this.#W(this.#f[e])&&(yield t)}}*rkeys(){for(let e of this.#L()){let t=this.#d[e];t!==void 0&&!this.#W(this.#f[e])&&(yield t)}}*values(){for(let e of this.#I())this.#f[e]!==void 0&&!this.#W(this.#f[e])&&(yield this.#f[e])}*rvalues(){for(let e of this.#L())this.#f[e]!==void 0&&!this.#W(this.#f[e])&&(yield this.#f[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]=`LRUCache`;find(e,t={}){for(let n of this.#I()){let r=this.#f[n],i=this.#W(r)?r.__staleWhileFetching:r;if(i!==void 0&&e(i,this.#d[n],this))return this.#J(this.#d[n],t)}}forEach(e,t=this){for(let n of this.#I()){let r=this.#f[n],i=this.#W(r)?r.__staleWhileFetching:r;i!==void 0&&e.call(t,i,this.#d[n],this)}}rforEach(e,t=this){for(let n of this.#L()){let r=this.#f[n],i=this.#W(r)?r.__staleWhileFetching:r;i!==void 0&&e.call(t,i,this.#d[n],this)}}purgeStale(){let e=!1;for(let t of this.#L({allowStale:!0}))this.#j(t)&&(this.#Z(this.#d[t],`expire`),e=!0);return e}info(e){let t=this.#u.get(e);if(t===void 0)return;let n=this.#f[t],r=this.#W(n)?n.__staleWhileFetching:n;if(r===void 0)return;let i={value:r};if(this.#x&&this.#b){let e=this.#x[t],n=this.#b[t];e&&n&&(i.ttl=e-(this.#s.now()-n),i.start=Date.now())}return this.#y&&(i.size=this.#y[t]),i}dump(){let e=[];for(let t of this.#I({allowStale:!0})){let n=this.#d[t],r=this.#f[t],i=this.#W(r)?r.__staleWhileFetching:r;if(i===void 0||n===void 0)continue;let a={value:i};if(this.#x&&this.#b){a.ttl=this.#x[t];let e=this.#s.now()-this.#b[t];a.start=Math.floor(Date.now()-e)}this.#y&&(a.size=this.#y[t]),e.unshift([n,a])}return e}load(e){this.clear();for(let[t,n]of e){if(n.start){let e=Date.now()-n.start;n.start=this.#s.now()-e}this.#z(t,n.value,n)}}set(e,t,n={}){let{status:r=lY.hasSubscribers?{}:void 0}=n;n.status=r,r&&(r.op=`set`,r.key=e,t!==void 0&&(r.value=t),r.cache=this);let i=this.#z(e,t,n);return r&&lY.hasSubscribers&&lY.publish(r),i}#z(e,t,n,r){let{ttl:i=this.ttl,start:a,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:s=this.sizeCalculation,status:c}=n,l=this.#W(t);if(t===void 0)return c&&(c.set=`deleted`),this.delete(e),this;let{noUpdateTTL:u=this.noUpdateTTL}=n;c&&!l&&(c.value=t);let d=this.#F(e,t,n.size||0,s,c);if(this.maxEntrySize&&d>this.maxEntrySize)return this.#Z(e,`set`),c&&(c.set=`miss`,c.maxEntrySizeExceeded=!0),this;let f=this.#c===0?void 0:this.#u.get(e);if(f===void 0)f=this.#c===0?this.#g:this.#_.length===0?this.#c===this.#e?this.#B(!1):this.#c:this.#_.pop(),this.#d[f]=e,this.#f[f]=t,this.#u.set(e,f),this.#p[this.#g]=f,this.#m[f]=this.#g,this.#g=f,this.#c++,this.#P(f,d,c),c&&(c.set=`add`),u=!1,this.#E&&!l&&this.#r?.(t,e,`add`);else{this.#X(f);let n=this.#f[f];if(t!==n){if(!o){if(this.#W(n)){n!==r&&n.__abortController.abort(Error(`replaced`));let{__staleWhileFetching:i}=n;i!==void 0&&i!==t&&(this.#C&&this.#n?.(i,e,`set`),this.#T&&this.#v?.push([i,e,`set`]))}else this.#C&&this.#n?.(n,e,`set`),this.#T&&this.#v?.push([n,e,`set`])}if(this.#N(f),this.#P(f,d,c),this.#f[f]=t,!l){let r=n&&this.#W(n)?n.__staleWhileFetching:n,i=r===void 0?`add`:t===r?`update`:`replace`;c&&(c.set=i,r!==void 0&&(c.oldValue=r)),this.#E&&this.onInsert?.(t,e,i)}}else l||(c&&(c.set=`update`),this.#E&&this.onInsert?.(t,e,`update`))}if(i!==0&&!this.#x&&this.#D(),this.#x&&(u||this.#A(f,i,a),c&&this.#k(c,f)),!o&&this.#T&&this.#v){let e=this.#v,t;for(;t=e?.shift();)this.#i?.(...t)}return this}pop(){try{for(;this.#c;){let e=this.#f[this.#h];if(this.#B(!0),this.#W(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(e!==void 0)return e}}finally{if(this.#T&&this.#v){let e=this.#v,t;for(;t=e?.shift();)this.#i?.(...t)}}}#B(e){let t=this.#h,n=this.#d[t],r=this.#f[t],i=this.#W(r);i&&r.__abortController.abort(Error(`evicted`));let a=i?r.__staleWhileFetching:r;return(this.#C||this.#T)&&a!==void 0&&(this.#C&&this.#n?.(a,n,`evict`),this.#T&&this.#v?.push([a,n,`evict`])),this.#N(t),this.#S?.[t]&&(clearTimeout(this.#S[t]),this.#S[t]=void 0),e&&(this.#d[t]=void 0,this.#f[t]=void 0,this.#_.push(t)),this.#c===1?(this.#h=this.#g=0,this.#_.length=0):this.#h=this.#p[t],this.#u.delete(n),this.#c--,t}has(e,t={}){let{status:n=lY.hasSubscribers?{}:void 0}=t;t.status=n,n&&(n.op=`has`,n.key=e,n.cache=this);let r=this.#V(e,t);return lY.hasSubscribers&&lY.publish(n),r}#V(e,t={}){let{updateAgeOnHas:n=this.updateAgeOnHas,status:r}=t,i=this.#u.get(e);if(i!==void 0){let e=this.#f[i];if(this.#W(e)&&e.__staleWhileFetching===void 0)return!1;if(this.#j(i))r&&(r.has=`stale`,this.#k(r,i));else return n&&this.#O(i),r&&(r.has=`hit`,this.#k(r,i)),!0}else r&&(r.has=`miss`);return!1}peek(e,t={}){let{status:n=fY()?{}:void 0}=t;n&&(n.op=`peek`,n.key=e,n.cache=this),t.status=n;let r=this.#H(e,t);return lY.hasSubscribers&&lY.publish(n),r}#H(e,t){let{status:n,allowStale:r=this.allowStale}=t,i=this.#u.get(e);if(i===void 0||!r&&this.#j(i)){n&&(n.peek=i===void 0?`miss`:`stale`);return}let a=this.#f[i],o=this.#W(a)?a.__staleWhileFetching:a;return n&&(o===void 0?n.peek=`miss`:(n.peek=`hit`,n.value=o)),o}#U(e,t,n,r){let i=t===void 0?void 0:this.#f[t];if(this.#W(i))return i;let a=new AbortController,{signal:o}=n;o?.addEventListener(`abort`,()=>a.abort(o.reason),{signal:a.signal});let s={signal:a.signal,options:n,context:r},c=(r,i=!1)=>{let{aborted:o}=a.signal,c=n.ignoreFetchAbort&&r!==void 0,l=n.ignoreFetchAbort||!!(n.allowStaleOnFetchAbort&&r!==void 0);if(n.status&&(o&&!i?(n.status.fetchAborted=!0,n.status.fetchError=a.signal.reason,c&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),o&&!c&&!i)return u(a.signal.reason,l);let d=f,p=this.#f[t];return(p===f||p===void 0&&c&&i)&&(r===void 0?d.__staleWhileFetching===void 0?this.#Z(e,`fetch`):this.#f[t]=d.__staleWhileFetching:(n.status&&(n.status.fetchUpdated=!0),this.#z(e,r,s.options,d))),r},l=e=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=e),u(e,!1)),u=(r,i)=>{let{aborted:o}=a.signal,s=o&&n.allowStaleOnFetchAbort,c=s||n.allowStaleOnFetchRejection,l=c||n.noDeleteOnFetchRejection,u=f;if(this.#f[t]===f&&(!l||!i&&u.__staleWhileFetching===void 0?this.#Z(e,`fetch`):s||(this.#f[t]=u.__staleWhileFetching)),c)return n.status&&u.__staleWhileFetching!==void 0&&(n.status.returnedStale=!0),u.__staleWhileFetching;if(u.__returned===u)throw r},d=(t,r)=>{let o=this.#a?.(e,i,s);a.signal.addEventListener(`abort`,()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(t(void 0),n.allowStaleOnFetchAbort&&(t=e=>c(e,!0)))}),o&&o instanceof Promise?o.then(e=>t(e===void 0?void 0:e),r):o!==void 0&&t(o)};n.status&&(n.status.fetchDispatched=!0);let f=new Promise(d).then(c,l),p=Object.assign(f,{__abortController:a,__staleWhileFetching:i,__returned:void 0});return t===void 0?(this.#z(e,p,{...s.options,status:void 0}),t=this.#u.get(e)):this.#f[t]=p,p}#W(e){if(!this.#w)return!1;let t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty(`__staleWhileFetching`)&&t.__abortController instanceof AbortController}fetch(e,t={}){let n=uY.hasSubscribers,{status:r=fY()?{}:void 0}=t;t.status=r,r&&t.context&&(r.context=t.context);let i=this.#G(e,t);return r&&n&&(r.trace=!0,uY.tracePromise(()=>i,r).catch(()=>{})),i}async#G(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,ttl:a=this.ttl,noDisposeOnSet:o=this.noDisposeOnSet,size:s=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:l=this.noUpdateTTL,noDeleteOnFetchRejection:u=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:d=this.allowStaleOnFetchRejection,ignoreFetchAbort:f=this.ignoreFetchAbort,allowStaleOnFetchAbort:p=this.allowStaleOnFetchAbort,context:m,forceRefresh:h=!1,status:g,signal:_}=t;if(g&&(g.op=`fetch`,g.key=e,h&&(g.forceRefresh=!0),g.cache=this),!this.#w)return g&&(g.fetch=`get`),this.#J(e,{allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,status:g});let v={allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,ttl:a,noDisposeOnSet:o,size:s,sizeCalculation:c,noUpdateTTL:l,noDeleteOnFetchRejection:u,allowStaleOnFetchRejection:d,allowStaleOnFetchAbort:p,ignoreFetchAbort:f,status:g,signal:_},y=this.#u.get(e);if(y===void 0){g&&(g.fetch=`miss`);let t=this.#U(e,y,v,m);return t.__returned=t}{let t=this.#f[y];if(this.#W(t)){let e=n&&t.__staleWhileFetching!==void 0;return g&&(g.fetch=`inflight`,e&&(g.returnedStale=!0)),e?t.__staleWhileFetching:t.__returned=t}let i=this.#j(y);if(!h&&!i)return g&&(g.fetch=`hit`),this.#X(y),r&&this.#O(y),g&&this.#k(g,y),t;let a=this.#U(e,y,v,m),o=a.__staleWhileFetching!==void 0&&n;return g&&(g.fetch=i?`stale`:`refresh`,o&&i&&(g.returnedStale=!0)),o?a.__staleWhileFetching:a.__returned=a}}forceFetch(e,t={}){let n=uY.hasSubscribers,{status:r=fY()?{}:void 0}=t;t.status=r,r&&t.context&&(r.context=t.context);let i=this.#K(e,t);return r&&n&&(r.trace=!0,uY.tracePromise(()=>i,r).catch(()=>{})),i}async#K(e,t={}){let n=await this.#G(e,t);if(n===void 0)throw Error(`fetch() returned undefined`);return n}memo(e,t={}){let{status:n=lY.hasSubscribers?{}:void 0}=t;t.status=n,n&&(n.op=`memo`,n.key=e,t.context&&(n.context=t.context),n.cache=this);let r=this.#q(e,t);return n&&(n.value=r),lY.hasSubscribers&&lY.publish(n),r}#q(e,t={}){let n=this.#o;if(!n)throw Error(`no memoMethod provided to constructor`);let{context:r,status:i,forceRefresh:a,...o}=t;i&&a&&(i.forceRefresh=!0);let s=this.#J(e,o),c=a||s===void 0;if(i&&(i.memo=c?`miss`:`hit`,c||(i.value=s)),!c)return s;let l=n(e,s,{options:o,context:r});return i&&(i.value=l),this.#z(e,l,o),l}get(e,t={}){let{status:n=lY.hasSubscribers?{}:void 0}=t;t.status=n,n&&(n.op=`get`,n.key=e,n.cache=this);let r=this.#J(e,t);return n&&(r!==void 0&&(n.value=r),lY.hasSubscribers&&lY.publish(n)),r}#J(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,status:a}=t,o=this.#u.get(e);if(o===void 0){a&&(a.get=`miss`);return}let s=this.#f[o],c=this.#W(s);return a&&this.#k(a,o),this.#j(o)?c?(a&&(a.get=`stale-fetching`),n&&s.__staleWhileFetching!==void 0?(a&&(a.returnedStale=!0),s.__staleWhileFetching):void 0):(i||this.#Z(e,`expire`),a&&(a.get=`stale`),n?(a&&(a.returnedStale=!0),s):void 0):(a&&(a.get=c?`fetching`:`hit`),this.#X(o),r&&this.#O(o),c?s.__staleWhileFetching:s)}#Y(e,t){this.#m[t]=e,this.#p[e]=t}#X(e){e!==this.#g&&(e===this.#h?this.#h=this.#p[e]:this.#Y(this.#m[e],this.#p[e]),this.#Y(this.#g,e),this.#g=e)}delete(e){return this.#Z(e,`delete`)}#Z(e,t){lY.hasSubscribers&&lY.publish({op:`delete`,delete:t,key:e,cache:this});let n=!1;if(this.#c!==0){let r=this.#u.get(e);if(r!==void 0){if(this.#S?.[r]&&(clearTimeout(this.#S[r]),this.#S[r]=void 0),n=!0,this.#c===1)this.#Q(t);else{this.#N(r);let n=this.#f[r];if(this.#W(n)?n.__abortController.abort(Error(`deleted`)):(this.#C||this.#T)&&(this.#C&&this.#n?.(n,e,t),this.#T&&this.#v?.push([n,e,t])),this.#u.delete(e),this.#d[r]=void 0,this.#f[r]=void 0,r===this.#g)this.#g=this.#m[r];else if(r===this.#h)this.#h=this.#p[r];else{let e=this.#m[r];this.#p[e]=this.#p[r];let t=this.#p[r];this.#m[t]=this.#m[r]}this.#c--,this.#_.push(r)}}}if(this.#T&&this.#v?.length){let e=this.#v,t;for(;t=e?.shift();)this.#i?.(...t)}return n}clear(){return this.#Q(`delete`)}#Q(e){for(let t of this.#L({allowStale:!0})){let n=this.#f[t];if(this.#W(n))n.__abortController.abort(Error(`deleted`));else{let r=this.#d[t];this.#C&&this.#n?.(n,r,e),this.#T&&this.#v?.push([n,r,e])}}if(this.#u.clear(),this.#f.fill(void 0),this.#d.fill(void 0),this.#x&&this.#b){this.#x.fill(0),this.#b.fill(0);for(let e of this.#S??[])e!==void 0&&clearTimeout(e);this.#S?.fill(void 0)}if(this.#y&&this.#y.fill(0),this.#h=0,this.#g=0,this.#_.length=0,this.#l=0,this.#c=0,this.#T&&this.#v){let e=this.#v,t;for(;t=e?.shift();)this.#i?.(...t)}}},SY=class{constructor(e,t){this._hpkeRecipient=null,this.walletsService=e,this.jwtCache=new xY({max:t})}async getHpkeRecipient(){return this._hpkeRecipient||=await hJ(),this._hpkeRecipient}async exchangeJwtForAuthorizationKey(e){let t=this.jwtCache.get(e);if(t)return t;let{publicKeySpki:n,decryptPayload:r}=await this.getHpkeRecipient(),i=await this.walletsService.authenticateWithJwt({user_jwt:e,encryption_type:`HPKE`,recipient_public_key:Buffer.from(n).toString(`base64`)});if(`encrypted_authorization_key`in i&&i.encrypted_authorization_key.encryption_type===`HPKE`){let t=i.encrypted_authorization_key,n=await r(Buffer.from(t.encapsulated_key,`base64`),Buffer.from(t.ciphertext,`base64`)),a=new TextDecoder().decode(n);return this.jwtCache.set(e,a,{ttl:i.expires_at-Date.now()}),a}throw new fR(`JWT exchange failed: unsupported encryption type`)}},CY=1e3,wY=9e5,TY=2592e5,EY=class{_jwtExchange(){return this.jwtExchangeService}constructor({appId:e,appSecret:t,apiUrl:n,authorizationKeyCacheMaxCapacity:r=CY,defaultRequestExpiryMs:i,disableRequestExpiry:a,requestExpiry:o,defaultHeaders:s,jwtVerificationKey:c,webhookSigningSecret:l,...u}){this.privyApiClient=new WB({...u,appID:e,appSecret:t,baseURL:n,defaultHeaders:{...s,"privy-client":`node:${FR}`}});let d=$J({appId:this.privyApiClient.appID,apiUrl:this.privyApiClient.baseURL,headers:{"privy-client":`node:${FR}`},verificationKeyOverride:c});this._disableRequestExpiry=o?.disabled??a??!1,this._defaultRequestExpiryMs=o?.defaultMs??i??wY,this._defaultIntentRequestExpiryMs=o?.defaultIntentMs??TY,this.jwtExchangeService=new SY(this.privyApiClient.wallets,r),this.walletsService=new FJ(this.privyApiClient,this),this.policiesService=new IJ(this.privyApiClient,this),this.transactionsService=new LJ(this.privyApiClient),this.keyQuorumsService=new RJ(this.privyApiClient,this),this.intentsService=new nY(this.privyApiClient,this),this.usersService=new eY(this.privyApiClient,d),this.organizationsService=new rY(this.privyApiClient),this.appsService=new tY(this.privyApiClient),this.utilsService=new sY(this.privyApiClient,this,d),this.webhooksService=new MG(this.privyApiClient.webhooks,l)}webhooks(){return this.webhooksService}wallets(){return this.walletsService}policies(){return this.policiesService}transactions(){return this.transactionsService}keyQuorums(){return this.keyQuorumsService}intents(){return this.intentsService}users(){return this.usersService}organizations(){return this.organizationsService}apps(){return this.appsService}utils(){return this.utilsService}getRequestExpiry(e){if(!this._disableRequestExpiry)return Date.now()+(e??this._defaultRequestExpiryMs)}getIntentRequestExpiry(e){if(!this._disableRequestExpiry)return Date.now()+(e??this._defaultIntentRequestExpiryMs)}};function DY(){return Tr(Pn.utils.randomPrivateKey())}function OY(e){if(typeof e==`string`){if(!ci(e,{strict:!1}))throw new Ar({address:e});return{address:e,type:`json-rpc`}}if(!ci(e.address,{strict:!1}))throw new Ar({address:e.address});return{address:e.address,nonceManager:e.nonceManager,sign:e.sign,signAuthorization:e.signAuthorization,signMessage:e.signMessage,signTransaction:e.signTransaction,signTypedData:e.signTypedData,source:`custom`,type:`local`}}var kY=!1;async function AY({hash:e,privateKey:t,to:n=`object`}){let{r,s:i,recovery:a}=Pn.sign(e.slice(2),t.slice(2),{lowS:!0,extraEntropy:Ir(kY,{strict:!1})?Cr(kY):kY}),o={r:br(r,{size:32}),s:br(i,{size:32}),v:a?28n:27n,yParity:a};return n===`bytes`||n===`hex`?xk({...o,to:n}):o}async function jY(e){let{chainId:t,nonce:n,privateKey:r,to:i=`object`}=e,a=e.contractAddress??e.address,o=await AY({hash:xt({address:a,chainId:t,nonce:n}),privateKey:r,to:i});return i===`object`?{address:a,chainId:t,nonce:n,...o}:o}async function MY({message:e,privateKey:t}){return await AY({hash:fe(e),privateKey:t,to:`hex`})}async function NY(e){let{privateKey:t,transaction:n,serializer:r=jt}=e,i=n.type===`eip4844`?{...n,sidecars:!1}:n;return await r(n,await AY({hash:fr(await r(i)),privateKey:t}))}async function PY(e){let{privateKey:t,...n}=e;return await AY({hash:oe(n),privateKey:t,to:`hex`})}function FY(e,t={}){let{nonceManager:n}=t,r=Tr(Pn.getPublicKey(e.slice(2),!1));return{...OY({address:et(r),nonceManager:n,async sign({hash:t}){return AY({hash:t,privateKey:e,to:`hex`})},async signAuthorization(t){return jY({...t,privateKey:e})},async signMessage({message:t}){return MY({message:t,privateKey:e})},async signTransaction(t,{serializer:n}={}){return NY({privateKey:e,transaction:t,serializer:n})},async signTypedData(t){return PY({...t,privateKey:e})}}),publicKey:r,source:`privateKey`}}var IY=e=>`0x${e.toString(16)}`,LY=e=>typeof e==`bigint`?IY(e):e;function RY(e,t){let n=e.account,r=t??n;return r?.source===`accessKey`||mt({...e,...r?{account:r}:{}})}function zY(e){let t={type:118,calls:(e.calls?.length?e.calls:[{to:e.to,data:e.data,value:e.value}]).map(e=>{if(!e.to)throw new fR("Tempo transaction calls require a `to` address.");return{to:e.to,...e.data===void 0?{}:{data:e.data},...e.value===void 0?{}:{value:LY(e.value)}}})};return e.chainId!==void 0&&(t.chain_id=e.chainId),e.nonce!==void 0&&(t.nonce=e.nonce),e.nonceKey!==void 0&&e.nonceKey!==`random`&&(t.nonce_key=LY(e.nonceKey)),e.validAfter!==void 0&&(t.valid_after=LY(e.validAfter)),e.validBefore!==void 0&&(t.valid_before=LY(e.validBefore)),e.feeToken!==void 0&&(t.fee_token=BY(e.feeToken)),e.from!==void 0&&(t.from=e.from),e.gas!==void 0&&(t.gas_limit=LY(e.gas)),e.maxFeePerGas!==void 0&&(t.max_fee_per_gas=LY(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.max_priority_fee_per_gas=LY(e.maxPriorityFeePerGas)),e.accessList&&(t.access_list=e.accessList.map(e=>({address:e.address,storage_keys:[...e.storageKeys]}))),e.feePayerSignature&&(t.fee_payer_signature=VY(e.feePayerSignature)),t}var BY=e=>typeof e==`string`?e:`0x20c0${e.toString(16).padStart(36,`0`)}`,VY=e=>{let t=e.yParity===void 0?e.v===void 0?void 0:Number(e.v)-27:e.yParity;if(t!==0&&t!==1)throw new fR(`Tempo signatures require a valid yParity value.`);return{r:e.r,s:e.s,y_parity:t}};function HY(e,{walletId:t,address:n,authorizationContext:r,signatureOptions:i}){return OY({address:n,sign:async({hash:n})=>(await e.wallets().ethereum().signSecp256k1(t,{params:{hash:n},...r?{authorization_context:r}:{}})).signature,signMessage:async({message:n})=>(await e.wallets().ethereum().signMessage(t,{message:WY(n),...r?{authorization_context:r}:{}})).signature,signTypedData:async n=>{let{message:a,domain:o,types:s,primaryType:c}=KY(n,Tr);if(!o)throw new fR(`typedData.domain must be defined`);if(!a||!s)throw new fR(`typedData.message must be defined`);let l=o.chainId,u=i?.type===`erc1271`&&l?`eip155:${l}`:void 0,{signature:d}=await e.wallets().ethereum().signTypedData(t,{params:{typed_data:{domain:o,message:a,primary_type:c,types:s}},...i?{signature_options:i}:{},...u?{caip2:u}:{},...r?{authorization_context:r}:{}});return d},signTransaction:async n=>{let{signed_transaction:i}=await e.wallets().ethereum().signTransaction(t,{params:{transaction:GY(n)},...r?{authorization_context:r}:{}});return i},signAuthorization:async n=>{let{authorization:i}=await e.wallets().ethereum().sign7702Authorization(t,{params:{contract:n.contractAddress??n.address,chain_id:n.chainId,nonce:n.nonce},...r?{authorization_context:r}:{}});return{address:i.contract,nonce:Number(i.nonce),chainId:Number(i.chain_id),yParity:i.y_parity,r:i.r,s:i.s}}})}function UY(e){if(e===`legacy`)return 0;if(e===`eip2930`)return 1;if(e==`eip1559`||e===void 0)return 2;if(e===`tempo`)return 118;throw new fR(`EIP4844 and EIP7702 transaction types are not yet supported.`)}var WY=e=>typeof e==`string`?e:typeof e.raw==`string`?Uint8Array.from(Buffer.from(e.raw.slice(2),`hex`)):e.raw,GY=e=>{if(RY(e))return zY(e);let t=e;return{type:UY(t.type),...t.to?{to:t.to}:{},...t.nonce?{nonce:t.nonce}:{},...t.chainId?{chain_id:t.chainId}:{},...t.data?{data:t.data}:{},...t.value?{value:IY(t.value)}:{},...t.gas?{gas_limit:IY(t.gas)}:{},...t.gasPrice?{gas_price:IY(t.gasPrice)}:{},...t.maxFeePerGas?{max_fee_per_gas:IY(t.maxFeePerGas)}:{},...t.maxPriorityFeePerGas?{max_priority_fee_per_gas:IY(t.maxPriorityFeePerGas)}:{}}},KY=(e,t)=>typeof e==`bigint`?t(e):Array.isArray(e)?e.map(e=>KY(e,t)):e&&typeof e==`object`?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,KY(n,t)])):e,qY=class extends Error{name=`Privy.SigningKeyMissingError`;constructor(){super(`Missing PRIVY_JWT_PRIVATE_KEY. Set the RS256 private key whose public half each Privy app trusts.`)}},JY=60,YY=`privy-wallets`,XY;(function(e){e.wallets=na(M({address:Gi([`0x`,A().regex(/^[0-9a-fA-F]{40}$/)]),createdAt:ws(),id:A().min(1)}))})(XY||={});async function ZY(e,t){if(typeof caches>`u`)return await eX(e,t);let n=uX(t),{warn:r=nc}=t,i=await(async()=>{try{let t=await Y(e,caches.open(YY),`cache.privyWallets.open`),r=await Y(e,t.match(n),`cache.privyWallets.match`);if(!r)return{cache:t,wallets:void 0};let i=XY.wallets.safeParse(await Y(e,r.json(),`cache.privyWallets.read`));return{cache:t,wallets:i.success?i.data:void 0}}catch(e){r({error:e,message:`A read of the cached Privy wallets failed, so Privy was read.`});return}})();if(i?.wallets)return i.wallets;let a=await eX(e,t);if(a.length===0||!i)return a;let o=Y(e,i.cache.put(n,new Response(JSON.stringify(a),{headers:{"cache-control":`max-age=${t.maxAge}`,"content-type":`application/json`}})).catch(e=>{r({error:e,message:`A store of the Privy wallets in the cache failed.`})}),`cache.privyWallets.put`);return t.waitUntil?t.waitUntil(o):await o,a}(function(e){e.errors=eX.errors})(ZY||={});function QY(e,t){e.var.privyUsers.set(dX({app:void 0,userId:t.userId}),Promise.resolve(void 0))}async function $Y(e,t){let{app:n,userId:r}=t,i=await Y(e,sX(e,{app:n,userId:r}),`Privy.findUser`)??await Y(e,oX(e,{app:n,userId:r}),`Privy.createUser`),a=i.wallets[0];if(a)return a;let o=await Y(e,iX(e,{app:n,privyUserId:i.id}),`Privy.addWallet`);return fX(e,{app:n,user:{id:i.id,wallets:[o]},userId:r}),o}(function(e){e.errors=gO.errors})($Y||={});async function eX(e,t){return(await Y(e,sX(e,t),`Privy.findUser`))?.wallets??[]}(function(e){e.errors=gO.errors})(eX||={});var tX=PP(async(e,t)=>{e.set(`privyUsers`,new Map),await t()});async function nX(e,t){let{app:n,privateKey:r,userId:i}=t;if(!r)throw new qY;let a=await crypto.subtle.importKey(`pkcs8`,new Uint8Array(Ln(r.replace(/-----[^-]+-----|\s/g,``))),{hash:`SHA-256`,name:`RSASSA-PKCS1-v1_5`},!0,[`sign`]),o=await crypto.subtle.exportKey(`jwk`,a),s=Math.floor(Date.now()/1e3);return(await e.api.signJWT({body:{overrideOptions:{adapter:{getJwks:()=>[{alg:`RS256`,createdAt:new Date(0),id:`privy`,privateKey:JSON.stringify(o),publicKey:JSON.stringify({e:o.e,kty:o.kty,n:o.n})}]},jwks:{disablePrivateKeyEncryption:!0,keyPairConfig:{alg:`RS256`}}},payload:{aud:n.appId,exp:s+JY,iat:s,sub:i}}})).token}function rX(e){let{app:t,token:n,wallet:r}=e;return D({owners:[HY(aX(t),{address:r.address,...n?{authorizationContext:{user_jwts:[n]}}:{},walletId:r.id})]})}async function iX(e,t){for(let n=1;;n++){let r=await Y(e,aX(t.app).wallets().create({chain_type:`ethereum`,idempotency_key:`tempo-id:first-wallet:${t.privyUserId}`,owner:{user_id:t.privyUserId}}),`privy.wallets.create`).catch(e=>{if(!(n<iX.attempts&&lX(e)))throw e});if(r)return{address:r.address,createdAt:new Date(r.created_at),id:r.id};await Y(e,new Promise(e=>setTimeout(e,iX.interval)),`Privy.addWallet.wait`)}}(function(e){e.attempts=10,e.interval=250})(iX||={});function aX(e){return new EY({appId:e.appId,appSecret:e.appSecret,maxRetries:1,timeout:8e3})}async function oX(e,t){let n=pX(await Y(e,aX(t.app).users().create({linked_accounts:[{custom_user_id:t.userId,type:`custom_auth`}]}),`privy.users.create`).catch(async n=>{let r=await Y(e,cX(e,t),`Privy.getUser`);if(!r)throw n;return r}));return fX(e,{app:t.app,user:n,userId:t.userId}),n}async function sX(e,t){let n=e.var.privyUsers,r=dX(t),i=n.get(r)??n.get(dX({app:void 0,userId:t.userId}))??(async()=>{let n=await Y(e,cX(e,t),`Privy.getUser`);return n?pX(n):void 0})();return n.set(r,i),await i.catch(e=>{throw n.get(r)===i&&n.delete(r),e})}async function cX(e,t){return await Y(e,aX(t.app).users().getByCustomAuthID({custom_user_id:t.userId}),`privy.users.get`).catch(e=>{if(!(e instanceof Error&&`status`in e&&e.status===404))throw e})}function lX(e){return e instanceof Error&&`status`in e&&e.status===400&&e.message.includes(`idempotency key is still in progress`)}function uX(e){return`https://privy-wallets.tempo-id.invalid/${encodeURIComponent(e.app.appId)}/${encodeURIComponent(e.userId)}`}function dX(e){return JSON.stringify([e.app?.appId??null,e.userId])}function fX(e,t){e.var.privyUsers.set(dX(t),Promise.resolve(t.user))}function pX(e){return{id:e.id,wallets:mX(e)}}function mX(e){return e.linked_accounts.flatMap(e=>e.type===`wallet`&&`chain_type`in e&&e.chain_type===`ethereum`&&`connector_type`in e&&e.connector_type===`embedded`&&`id`in e&&e.id?[{...e,id:e.id}]:[]).sort((e,t)=>(e.wallet_index??0)-(t.wallet_index??0)).reduce((t,n)=>{let r=typeof n.first_verified_at==`number`?new Date(n.first_verified_at*1e3):t.at(-1)?.createdAt??new Date(e.created_at*1e3);return[...t,{address:n.address,createdAt:r,id:n.id}]},[])}var hX=kN({errors:gO.errors,async load(e,t){let{db:n,env:r,realms:i,userId:a}=t,o=await Y(e,rR(e,{db:n,realms:i,secret:r.SECRET}),`Realm.privyApps`),s=(e,t,n)=>ON({account:rX({app:e,wallet:n}),createdAt:n.createdAt,linked:!1,realm:t,async signer(t,i){return rX({app:e,token:await Y(t,nX(i.auth,{app:e,privateKey:r.PRIVY_JWT_PRIVATE_KEY,userId:a}),`Privy.token`),wallet:n}).owners[0]},type:`privy`});return{create(e){let t=o.get(e.id);if(t)return async n=>{let r=await Y(n,$Y(n,{app:t,userId:a}),`Privy.firstWallet`);return s(t,e,r)}},async list(e,t){let{maxAge:n,waitUntil:r,warn:c}=t;return MN(await Promise.all(i.map(async t=>{let i=o.get(t.id);return i?(await(n===void 0?Y(e,eX(e,{app:i,userId:a}),`Privy.listWallets`):Y(e,ZY(e,{app:i,maxAge:n,userId:a,waitUntil:r,warn:c}),`Privy.cachedWallets`))).map(e=>s(i,t,e)):[]})))}}},type:`privy`}),gX=class extends Error{name=`Secp256k1.SignerRequiredError`;constructor(){super(`The account of a secp256k1 owner signs nothing. Sign with the owner's signer.`)}},_X=kN({errors:[],load(e,t){let{env:n,userId:r}=t,i=t.realms.filter(e=>e.secp256k1),a=(e,t)=>ON({account:D({owners:[vX(e.address)]}),createdAt:e.createdAt,linked:!1,realm:t,async signer(){return FY(await hs({data:e.privateKey,key:n.SECRET}))},type:`secp256k1`});return Promise.resolve({create(e){if(i.some(t=>t.id===e.id))return async i=>{let o=DY(),[s]=await Y(i,t.db.insert(LE).values({address:FY(o).address,privateKey:await Qo({data:o,key:n.SECRET}),realmId:e.id,userId:r}).onConflictDoUpdate({set:{userId:r},target:[LE.userId,LE.realmId]}).returning(),`db.secp256k1Owner.insert`);return a(s,e)}},async list(e,t){return i.length===0?[]:(await Y(e,t.db.select().from(LE).where(ZC(U(LE.userId,r),iw(LE.realmId,i.map(e=>e.id)))).orderBy(gw(LE.createdAt),gw(LE.realmId)),`db.secp256k1Owner.list`)).map(e=>a(e,i.find(t=>t.id===e.realmId)))}})},type:`secp256k1`});function vX(e){let t=()=>Promise.reject(new gX);return OY({address:e,signMessage:t,signTransaction:t,signTypedData:t})}var yX=class extends q(`foreign_account`){name=`TempoAccount.ForeignAccountError`;constructor(e){super({error_description:`Access denied to Tempo Account ${e.account}. Name one of the user's accounts in the app's realms.`,field:e.field??`account`,meta:{account:e.account}})}},bX=class extends Error{name=`TempoAccount.TimeoutError`;constructor(e){super(`The owner keys did not list within ${e.timeout} ms.`)}},xX=[oR,hX,_X],SX;(function(e){let t=Gi([`0x`,A().regex(/^[0-9a-fA-F]{40}$/)]).meta({description:`A 20-byte address.`,examples:[`0x8C3b5d0e2A4f6B1c9D7e3F5a0B2c4D6e8F1a3B5c`]}),n=e.realm=M({id:A().meta({description:"The realm ID, such as `default` or `tempo-cash`.",examples:[`tempo-cash`]}),name:A().meta({description:"The realm display name, such as `Tempo Cash`.",examples:[`Tempo Cash`]})}).meta({description:`A realm, which holds Tempo Accounts. An app reaches only the accounts in its realms.`,id:`Realm`});e.tempoAccount=M({address:t.meta({description:`The account's address on the request's chain.`,examples:[`0x8C3b5d0e2A4f6B1c9D7e3F5a0B2c4D6e8F1a3B5c`]}),config:M({chainId:hi().int().optional().meta({description:`The ID of the chain where the configuration applies. Absent if the account is not configurable on the chain.`,examples:[31318]}),owners:na(M({owner:t.meta({description:`The address of the owner key.`,examples:[`0x8C3b5d0e2A4f6B1c9D7e3F5a0B2c4D6e8F1a3B5c`]}),type:Fi(xX.map(e=>e.type)).meta({description:"The owner key's holder: a Privy wallet (`privy`), a development key (`secp256k1`), or a passkey (`webAuthn`).",examples:[`webAuthn`]}),weight:hi().meta({description:"The owner's signing weight, which counts toward `threshold`.",examples:[1]})}).meta({description:`One key that signs for the account.`})).readonly().meta({description:`The keys that sign for the account.`}),salt:Gi([`0x`,A()]).meta({description:`The 32-byte salt that the account address derives from, as hex.`,examples:[`0x${`0`.repeat(64)}`]}),threshold:hi().meta({description:`The total owner weight that a signature needs.`,examples:[1]}),version:Gi([`0x`,A()]).meta({description:`The configuration version, as a hex quantity.`,examples:[`0x0`]})}).meta({description:`The account configuration (TIP-1107): its owners, salt, threshold, and version.`}),realm:n}).meta({description:`A configurable Tempo Account (TIP-1107) and its configuration.`,id:`TempoAccount`})})(SX||={});async function CX(e,t){let{db:n,realms:r,userId:i}=t,a=await Y(e,AX(e,t),`TempoAccount.load`),o=await Y(e,jX(e,{chainId:t.chainId,db:n,env:t.env,key:kX(t),loaded:a,userId:i}),`TempoAccount.owners`);if(o.length>0)return o;let s=e=>{for(let t of a){let n=t.create?.(e);if(n)return n}},c=r[0];if(!c||!s(c))return[];let l=r.filter(e=>s(e)),u=await n.transaction(async n=>{await Y(e,NN(n,{userId:i}),`db.account.lock`);let o=await Y(e,jX(e,{chainId:t.chainId,db:n,env:t.env,loaded:a.filter(e=>!e.create),userId:i}),`TempoAccount.linked`),s=n.$with(`claims`).as(n.select({realmId:AE.realmId}).from(AE).where(ZC(U(AE.userId,i),iw(AE.realmId,l.map(e=>e.id))))),u=n.$with(`claim`).as(n.insert(AE).select(n.select({createdAt:V`now()`.as(`created_at`),realmId:V`${c.id}`.as(`realm_id`),userId:wE.id}).from(wE).where(ZC(U(wE.id,i),lw(n.select().from(s))))).onConflictDoNothing().returning({realmId:AE.realmId})),d=await Y(e,o.length>0?n.with(s).select().from(s):n.with(s,u).select().from(s),`db.account.claims`),f=r.find(e=>d.some(t=>t.realmId===e.id));return f?{realm:f}:o.length>0?{linked:o}:{realm:c}});if(`linked`in u)return e.var.ownerLists?.delete(kX(t)),u.linked;let d=await Y(e,s(u.realm)(e),`TempoAccount.createOwner`);e.var.ownerLists?.delete(kX(t));let f=mF(t);return f?fF([d],{chainId:f.chainId,configs:[]}):[d]}(function(e){e.errors=[...oR.errors,...hX.errors,..._X.errors]})(CX||={});async function wX(e,t){let n=await Y(e,AX(e,t),`TempoAccount.load`);return await Y(e,jX(e,{chainId:t.chainId,db:t.db,env:t.env,key:kX(t),loaded:n,userId:t.userId}),`TempoAccount.owners`)}(function(e){e.errors=CX.errors})(wX||={});async function TX(e,t){return(await Y(e,wX(e,t),`TempoAccount.held`)).map(NX)}(function(e){e.errors=CX.errors})(TX||={});async function EX(e,t){let{db:n,env:r,maxAge:i,timeout:a,upstream:o=!0,userId:s,waitUntil:c,warn:l}=t,u=await(async()=>{let n=e.var.ownerLists?.get(kX(t));if(n)try{return{lists:await Y(e,PX(n,{timeout:a,waitUntil:c}),`TempoAccount.owners`)}}catch(e){return e instanceof bX?{error:e}:void 0}})(),d=u&&`error`in u?[u.error]:[],f=o&&d.length===0,p=MN((u&&`lists`in u?u.lists:void 0)??await Promise.all(xX.map(async r=>{let o=r.errors.length>0;if(o&&!f)return[];let s=await Y(e,r.load(e,t),`TempoAccount.load`);try{return await Y(e,PX(s.list(e,{db:n,maxAge:i,waitUntil:c,warn:l}),{timeout:o?a:void 0,waitUntil:c}),`TempoAccount.owners`)}catch(e){if(!o)throw e;return d.push(e),[]}}))),m=pF({rpcUrl:r.TEMPO_RPC_URL,rpcUrls:r.RPC_URLS,value:r.CONFIGURABLE_ACCOUNTS}),h=await Promise.all(m.map(async t=>{let r=await Y(e,vF(n,{chainId:t.chainId,userId:s}),`db.accountConfig.list`),i=fF(p,{chainId:t.chainId,configs:r}),a=r.filter(e=>e.owners.some(e=>p.some(t=>ke(DN(t),e.address))));return[...i.map(e=>EN(e)),...a.map(e=>e.address)]})),g=new Map;for(let e of[...p.map(e=>EN(e)),...h.flat()]){let t=ae(e);g.set(t.toLowerCase(),t)}return{addresses:[...g.values()],errors:d}}function DX(e){e.var.ownerLists?.clear()}var OX=PP(async(e,t)=>{e.set(`ownerLists`,e.env.ownerLists??new Map),await t()});function kX(e){return JSON.stringify([e.userId,...e.realms.map(e=>[e.id,e.name,e.passkeys?.rpId??null,e.privy?.appId??null,e.secp256k1])])}async function AX(e,t){return await Promise.all(xX.map(n=>n.load(e,t)))}async function jX(e,t){let{db:n,key:r,userId:i}=t,a=mF(t),[o,s]=await Promise.all([(()=>{let i=()=>Promise.all(t.loaded.map(t=>t.list(e,{db:n}))),a=e.var.ownerLists;if(!r||!a)return i();let o=a.get(r);if(o)return o;let s=i().catch(e=>{throw a.get(r)===s&&a.delete(r),e});return a.set(r,s),s})(),a?Y(e,vF(n,{chainId:a.chainId,userId:i}),`db.accountConfig.list`):[]]),c=MN(o);return a?fF(c,{chainId:a.chainId,configs:s}):c}function MX(e){return e.config.owners.find(e=>e.type!==`webAuthn`)??e.config.owners[0]}function NX(e){let{configurable:t}=e;if(t){let n=$t(t.owner.account.config);return SX.tempoAccount.parse({address:t.owner.account.address,config:{...n,chainId:t.chainId,owners:n.owners.map(n=>({...n,type:t.owners.find(e=>e.address.toLowerCase()===n.owner.toLowerCase())?.type??e.type}))},realm:{id:e.realm.id,name:e.realm.name}})}let n=$t(e.account.config);return SX.tempoAccount.parse({address:EN(e),config:{...n,owners:n.owners.map(t=>({...t,type:e.type}))},realm:{id:e.realm.id,name:e.realm.name}})}async function PX(e,t){let{timeout:n,waitUntil:r}=t;if(n===void 0)return await e;let i=e.then(()=>void 0,()=>void 0),a,o=new Promise((e,t)=>{a=setTimeout(()=>{r?.(i),t(new bX({timeout:n}))},n)});try{return await Promise.race([e,o])}finally{clearTimeout(a)}}var FX;(function(e){let t=e.credential=M({address:A().regex(/^0x[0-9a-fA-F]{40}$/),createdAt:hi().int().min(0).max(864e13).nullable(),email:Mi().nullable(),publicKey:Gi([`0x04`,A().regex(/^[0-9a-fA-F]{128}$/)])});e.listed=na(t.extend({credentialId:A().regex(/^[A-Za-z0-9_-]{1,1366}$/)}))})(FX||={});async function IX(e,t){let n=FX.credential.safeParse(await e.credential({credentialId:t.id}));if(n.success&&RX(n.data))return n.data}async function LX(e,t){let n=FX.listed.safeParse(await e.credentials({email:t.email}));return n.success?n.data.filter(RX):[]}function RX(e){let t=(()=>{try{return he(Vn(e.publicKey))}catch{return}})();return t!==void 0&&ke(t,e.address)}var zX=r({"module.exports":()=>vc}),BX=n(()=>{}),VX=i((e=>{e.parse=function(e,n){return new t(e,n).parse()};var t=class e{constructor(e,t){this.source=e,this.transform=t||n,this.position=0,this.entries=[],this.recorded=[],this.dimension=0}isEof(){return this.position>=this.source.length}nextCharacter(){var e=this.source[this.position++];return e===`\\`?{value:this.source[this.position++],escaped:!0}:{value:e,escaped:!1}}record(e){this.recorded.push(e)}newEntry(e){var t;(this.recorded.length>0||e)&&(t=this.recorded.join(``),t===`NULL`&&!e&&(t=null),t!==null&&(t=this.transform(t)),this.entries.push(t),this.recorded=[])}consumeDimensions(){if(this.source[0]===`[`)for(;!this.isEof()&&this.nextCharacter().value!==`=`;);}parse(t){var n,r,i;for(this.consumeDimensions();!this.isEof();)if(n=this.nextCharacter(),n.value===`{`&&!i)this.dimension++,this.dimension>1&&(r=new e(this.source.substr(this.position-1),this.transform),this.entries.push(r.parse(!0)),this.position+=r.position-2);else if(n.value===`}`&&!i){if(this.dimension--,!this.dimension&&(this.newEntry(),t))return this.entries}else n.value===`"`&&!n.escaped?(i&&this.newEntry(!0),i=!i):n.value===`,`&&!i?this.newEntry():this.record(n.value);if(this.dimension!==0)throw Error(`array dimension not balanced`);return this.entries}};function n(e){return e}})),HX=i(((e,t)=>{var n=VX();t.exports={create:function(e,t){return{parse:function(){return n.parse(e,t)}}}}})),UX=i(((e,t)=>{var n=/(\d{1,})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})(\.\d{1,})?.*?( BC)?$/,r=/^(\d{1,})-(\d{2})-(\d{2})( BC)?$/,i=/([Z+-])(\d{2})?:?(\d{2})?:?(\d{2})?/,a=/^-?infinity$/;t.exports=function(e){if(a.test(e))return Number(e.replace(`i`,`I`));var t=n.exec(e);if(!t)return o(e)||null;var r=!!t[8],i=parseInt(t[1],10);r&&(i=c(i));var u=parseInt(t[2],10)-1,d=t[3],f=parseInt(t[4],10),p=parseInt(t[5],10),m=parseInt(t[6],10),h=t[7];h=h?1e3*parseFloat(h):0;var g,_=s(e);return _==null?(g=new Date(i,u,d,f,p,m,h),l(i)&&g.setFullYear(i)):(g=new Date(Date.UTC(i,u,d,f,p,m,h)),l(i)&&g.setUTCFullYear(i),_!==0&&g.setTime(g.getTime()-_)),g};function o(e){var t=r.exec(e);if(t){var n=parseInt(t[1],10);t[4]&&(n=c(n));var i=parseInt(t[2],10)-1,a=t[3],o=new Date(n,i,a);return l(n)&&o.setFullYear(n),o}}function s(e){if(e.endsWith(`+00`))return 0;var t=i.exec(e.split(` `)[1]);if(t){var n=t[1];if(n===`Z`)return 0;var r=n===`-`?-1:1;return(parseInt(t[2],10)*3600+parseInt(t[3]||0,10)*60+parseInt(t[4]||0,10))*r*1e3}}function c(e){return-(e-1)}function l(e){return e>=0&&e<100}})),WX=i(((e,t)=>{t.exports=r;var n=Object.prototype.hasOwnProperty;function r(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r)n.call(r,i)&&(e[i]=r[i])}return e}})),GX=i(((e,t)=>{var n=WX();t.exports=r;function r(e){if(!(this instanceof r))return new r(e);n(this,g(e))}var i=[`seconds`,`minutes`,`hours`,`days`,`months`,`years`];r.prototype.toPostgres=function(){var e=i.filter(this.hasOwnProperty,this);return this.milliseconds&&e.indexOf(`seconds`)<0&&e.push(`seconds`),e.length===0?`0`:e.map(function(e){var t=this[e]||0;return e===`seconds`&&this.milliseconds&&(t=(t+this.milliseconds/1e3).toFixed(6).replace(/\.?0+$/,``)),t+` `+e},this).join(` `)};var a={years:`Y`,months:`M`,days:`D`,hours:`H`,minutes:`M`,seconds:`S`},o=[`years`,`months`,`days`],s=[`hours`,`minutes`,`seconds`];r.prototype.toISOString=r.prototype.toISO=function(){var e=o.map(n,this).join(``),t=s.map(n,this).join(``);return`P`+e+`T`+t;function n(e){var t=this[e]||0;return e===`seconds`&&this.milliseconds&&(t=(t+this.milliseconds/1e3).toFixed(6).replace(/0+$/,``)),t+a[e]}};var c=`([+-]?\\d+)`,l=c+`\\s+years?`,u=c+`\\s+mons?`,d=c+`\\s+days?`,f=new RegExp([l,u,d,`([+-])?([\\d]*):(\\d\\d):(\\d\\d)\\.?(\\d{1,6})?`].map(function(e){return`(`+e+`)?`}).join(`\\s*`)),p={years:2,months:4,days:6,hours:9,minutes:10,seconds:11,milliseconds:12},m=[`hours`,`minutes`,`seconds`,`milliseconds`];function h(e){var t=e+`000000`.slice(e.length);return parseInt(t,10)/1e3}function g(e){if(!e)return{};var t=f.exec(e),n=t[8]===`-`;return Object.keys(p).reduce(function(e,r){var i=t[p[r]];return!i||(i=r===`milliseconds`?h(i):parseInt(i,10),!i)||(n&&~m.indexOf(r)&&(i*=-1),e[r]=i),e},{})}})),KX=i(((e,t)=>{var n=Buffer.from||Buffer;t.exports=function(e){if(/^\\x/.test(e))return n(e.substr(2),`hex`);for(var t=``,r=0;r<e.length;)if(e[r]!==`\\`)t+=e[r],++r;else if(/[0-7]{3}/.test(e.substr(r+1,3)))t+=String.fromCharCode(parseInt(e.substr(r+1,3),8)),r+=4;else{for(var i=1;r+i<e.length&&e[r+i]===`\\`;)i++;for(var a=0;a<Math.floor(i/2);++a)t+=`\\`;r+=Math.floor(i/2)*2}return n(t,`binary`)}})),qX=i(((e,t)=>{var n=VX(),r=HX(),i=UX(),a=GX(),o=KX();function s(e){return function(t){return t===null?t:e(t)}}function c(e){return e===null?e:e===`TRUE`||e===`t`||e===`true`||e===`y`||e===`yes`||e===`on`||e===`1`}function l(e){return e?n.parse(e,c):null}function u(e){return parseInt(e,10)}function d(e){return e?n.parse(e,s(u)):null}function f(e){return e?n.parse(e,s(function(e){return b(e).trim()})):null}var p=function(e){return e?r.create(e,function(e){return e!==null&&(e=S(e)),e}).parse():null},m=function(e){return e?r.create(e,function(e){return e!==null&&(e=parseFloat(e)),e}).parse():null},h=function(e){return e?r.create(e).parse():null},g=function(e){return e?r.create(e,function(e){return e!==null&&(e=i(e)),e}).parse():null},_=function(e){return e?r.create(e,function(e){return e!==null&&(e=a(e)),e}).parse():null},v=function(e){return e?n.parse(e,s(o)):null},y=function(e){return parseInt(e,10)},b=function(e){var t=String(e);return/^\d+$/.test(t)?t:e},x=function(e){return e?n.parse(e,s(JSON.parse)):null},S=function(e){return e[0]===`(`?(e=e.substring(1,e.length-1).split(`,`),{x:parseFloat(e[0]),y:parseFloat(e[1])}):null},C=function(e){if(e[0]!==`<`&&e[1]!==`(`)return null;for(var t=`(`,n=``,r=!1,i=2;i<e.length-1;i++)r||(t+=e[i]),e[i]===`)`?r=!0:r&&e[i]!==`,`&&(n+=e[i]);var a=S(t);return a.radius=parseFloat(n),a};t.exports={init:function(e){e(20,b),e(21,y),e(23,y),e(26,y),e(700,parseFloat),e(701,parseFloat),e(16,c),e(1082,i),e(1114,i),e(1184,i),e(600,S),e(651,h),e(718,C),e(1e3,l),e(1001,v),e(1005,d),e(1007,d),e(1028,d),e(1016,f),e(1017,p),e(1021,m),e(1022,m),e(1231,m),e(1014,h),e(1015,h),e(1008,h),e(1009,h),e(1040,h),e(1041,h),e(1115,g),e(1182,g),e(1185,g),e(1186,a),e(1187,_),e(17,o),e(114,JSON.parse.bind(JSON)),e(3802,JSON.parse.bind(JSON)),e(199,x),e(3807,x),e(3907,h),e(2951,h),e(791,h),e(1183,h),e(1270,h)}}})),JX=i(((e,t)=>{var n=1e6;function r(e){var t=e.readInt32BE(0),r=e.readUInt32BE(4),i=``;t<0&&(t=~t+(r===0),r=~r+1>>>0,i=`-`);var a=``,o=t%n,s,c,l,u,d;if(t=t/n>>>0,s=4294967296*o+r,r=s/n>>>0,c=``+(s-n*r),r===0&&t===0)return i+c+a;for(l=``,u=6-c.length,d=0;d<u;d++)l+=`0`;if(a=l+c+a,o=t%n,t=t/n>>>0,s=4294967296*o+r,r=s/n>>>0,c=``+(s-n*r),r===0&&t===0)return i+c+a;for(l=``,u=6-c.length,d=0;d<u;d++)l+=`0`;if(a=l+c+a,o=t%n,t=t/n>>>0,s=4294967296*o+r,r=s/n>>>0,c=``+(s-n*r),r===0&&t===0)return i+c+a;for(l=``,u=6-c.length,d=0;d<u;d++)l+=`0`;return a=l+c+a,o=t%n,s=4294967296*o+r,c=``+s%n,i+c+a}t.exports=r})),YX=i(((e,t)=>{var n=JX(),r=function(e,t,n,r,i){n||=0,r||=!1,i||=function(e,t,n){return e*2**n+t};var a=n>>3,o=function(e){return r?~e&255:e},s=255,c=8-n%8;t<c&&(s=255<<8-t&255,c=t),n&&(s>>=n%8);var l=0;n%8+t>=8&&(l=i(0,o(e[a])&s,c));for(var u=t+n>>3,d=a+1;d<u;d++)l=i(l,o(e[d]),8);var f=(t+n)%8;return f>0&&(l=i(l,o(e[u])>>8-f,f)),l},i=function(e,t,n){var i=2**(n-1)-1,a=r(e,1),o=r(e,n,1);if(o===0)return 0;var s=1,c=r(e,t,n+1,!1,function(e,t,n){e===0&&(e=1);for(var r=1;r<=n;r++)s/=2,(t&1<<n-r)>0&&(e+=s);return e});return o==2**(n+1)-1?c===0?a===0?1/0:-1/0:NaN:(a===0?1:-1)*2**(o-i)*c},a=function(e){return r(e,1)==1?-1*(r(e,15,1,!0)+1):r(e,15,1)},o=function(e){return r(e,1)==1?-1*(r(e,31,1,!0)+1):r(e,31,1)},s=function(e){return i(e,23,8)},c=function(e){return i(e,52,11)},l=function(e){var t=r(e,16,32);if(t==49152)return NaN;for(var n=1e4**r(e,16,16),i=0,a=r(e,16),o=0;o<a;o++)i+=r(e,16,64+16*o)*n,n/=1e4;var s=10**r(e,16,48);return(t===0?1:-1)*Math.round(i*s)/s},u=function(e,t){var n=r(t,1),i=r(t,63,1),a=new Date((n===0?1:-1)*i/1e3+9466848e5);return e||a.setTime(a.getTime()+a.getTimezoneOffset()*6e4),a.usec=i%1e3,a.getMicroSeconds=function(){return this.usec},a.setMicroSeconds=function(e){this.usec=e},a.getUTCMicroSeconds=function(){return this.usec},a},d=function(e){var t=r(e,32);r(e,32,32);for(var n=r(e,32,64),i=96,a=[],o=0;o<t;o++)a[o]=r(e,32,i),i+=32,i+=32;var s=function(t){var n=r(e,32,i);if(i+=32,n==4294967295)return null;var a;if(t==23||t==20)return a=r(e,n*8,i),i+=n*8,a;if(t==25)return a=e.toString(this.encoding,i>>3,(i+=n<<3)>>3),a;console.log(`ERROR: ElementType not implemented: `+t)},c=function(e,t){var n=[],r;if(e.length>1){var i=e.shift();for(r=0;r<i;r++)n[r]=c(e,t);e.unshift(i)}else for(r=0;r<e[0];r++)n[r]=s(t);return n};return c(a,n)},f=function(e){return e.toString(`utf8`)},p=function(e){return e===null?null:r(e,8)>0};t.exports={init:function(e){e(20,n),e(21,a),e(23,o),e(26,o),e(1700,l),e(700,s),e(701,c),e(16,p),e(1114,u.bind(null,!1)),e(1184,u.bind(null,!0)),e(1e3,d),e(1007,d),e(1016,d),e(1008,d),e(1009,d),e(25,f)}}})),XX=i(((e,t)=>{t.exports={BOOL:16,BYTEA:17,CHAR:18,INT8:20,INT2:21,INT4:23,REGPROC:24,TEXT:25,OID:26,TID:27,XID:28,CID:29,JSON:114,XML:142,PG_NODE_TREE:194,SMGR:210,PATH:602,POLYGON:604,CIDR:650,FLOAT4:700,FLOAT8:701,ABSTIME:702,RELTIME:703,TINTERVAL:704,CIRCLE:718,MACADDR8:774,MONEY:790,MACADDR:829,INET:869,ACLITEM:1033,BPCHAR:1042,VARCHAR:1043,DATE:1082,TIME:1083,TIMESTAMP:1114,TIMESTAMPTZ:1184,INTERVAL:1186,TIMETZ:1266,BIT:1560,VARBIT:1562,NUMERIC:1700,REFCURSOR:1790,REGPROCEDURE:2202,REGOPER:2203,REGOPERATOR:2204,REGCLASS:2205,REGTYPE:2206,UUID:2950,TXID_SNAPSHOT:2970,PG_LSN:3220,PG_NDISTINCT:3361,PG_DEPENDENCIES:3402,TSVECTOR:3614,TSQUERY:3615,GTSVECTOR:3642,REGCONFIG:3734,REGDICTIONARY:3769,JSONB:3802,REGNAMESPACE:4089,REGROLE:4096}})),ZX=i((e=>{var t=qX(),n=YX(),r=HX(),i=XX();e.getTypeParser=s,e.setTypeParser=c,e.arrayParser=r,e.builtins=i;var a={text:{},binary:{}};function o(e){return String(e)}function s(e,t){return t||=`text`,a[t]&&a[t][e]||o}function c(e,t,n){typeof t==`function`&&(n=t,t=`text`),a[t][e]=n}t.init(function(e,t){a.text[e]=t}),n.init(function(e,t){a.binary[e]=t})})),QX=i(((e,t)=>{var n;try{n=process.platform===`win32`?process.env.USERNAME:process.env.USER}catch{}t.exports={host:`localhost`,user:n,database:void 0,password:null,connectionString:void 0,port:5432,rows:0,binary:!1,max:10,idleTimeoutMillis:3e4,client_encoding:``,ssl:!1,sslnegotiation:void 0,application_name:void 0,fallback_application_name:void 0,options:void 0,parseInputDatesAsUTC:!1,statement_timeout:!1,lock_timeout:!1,idle_in_transaction_session_timeout:!1,query_timeout:!1,connect_timeout:0,keepalives:1,keepalives_idle:0};var r=ZX(),i=r.getTypeParser(20,`text`),a=r.getTypeParser(1016,`text`);t.exports.__defineSetter__(`parseInt8`,function(e){r.setTypeParser(20,`text`,e?r.getTypeParser(23,`text`):i),r.setTypeParser(1016,`text`,e?r.getTypeParser(1007,`text`):a)})})),$X=r({"module.exports":()=>yc}),eZ=n(()=>{}),tZ=r({"module.exports":()=>bc}),nZ=n(()=>{}),rZ=i(((e,n)=>{var r=QX(),i=(eZ(),t($X)),{isDate:a}=(nZ(),t(tZ)),o=i.deprecate(()=>{},`Sending an invalid date to Postgres is deprecated and will throw an error in the next major version of pg. Ensure any Date object passed as a query parameter is valid.`,`PG_INVALID_DATE`);function s(e){return`"`+e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)+`"`}function c(e){let t=`{`;for(let n=0;n<e.length;n++){n>0&&(t+=`,`);let r=e[n];r==null?t+=`NULL`:Array.isArray(r)?t+=c(r):ArrayBuffer.isView(r)?(r instanceof Buffer||(r=Buffer.from(r.buffer,r.byteOffset,r.byteLength)),t+=`\\\\x`+r.toString(`hex`)):t+=s(l(r))}return t+=`}`,t}var l=function(e,t){return e==null?null:typeof e==`object`?e instanceof Buffer?e:ArrayBuffer.isView(e)?Buffer.from(e.buffer,e.byteOffset,e.byteLength):a(e)?(isNaN(e.getTime())&&o(),r.parseInputDatesAsUTC?f(e):d(e)):Array.isArray(e)?c(e):u(e,t):e.toString()};function u(e,t){if(e&&typeof e.toPostgres==`function`){if(t||=[],t.indexOf(e)!==-1)throw Error(`circular reference detected while preparing "`+e+`" for query`);return t.push(e),l(e.toPostgres(l),t)}return JSON.stringify(e)}function d(e){let t=-e.getTimezoneOffset(),n=e.getFullYear(),r=n<1;r&&(n=Math.abs(n)+1);let i=String(n).padStart(4,`0`)+`-`+String(e.getMonth()+1).padStart(2,`0`)+`-`+String(e.getDate()).padStart(2,`0`)+`T`+String(e.getHours()).padStart(2,`0`)+`:`+String(e.getMinutes()).padStart(2,`0`)+`:`+String(e.getSeconds()).padStart(2,`0`)+`.`+String(e.getMilliseconds()).padStart(3,`0`);return t<0?(i+=`-`,t*=-1):i+=`+`,i+=String(Math.floor(t/60)).padStart(2,`0`)+`:`+String(t%60).padStart(2,`0`),r&&(i+=` BC`),i}function f(e){let t=e.getUTCFullYear(),n=t<1;n&&(t=Math.abs(t)+1);let r=String(t).padStart(4,`0`)+`-`+String(e.getUTCMonth()+1).padStart(2,`0`)+`-`+String(e.getUTCDate()).padStart(2,`0`)+`T`+String(e.getUTCHours()).padStart(2,`0`)+`:`+String(e.getUTCMinutes()).padStart(2,`0`)+`:`+String(e.getUTCSeconds()).padStart(2,`0`)+`.`+String(e.getUTCMilliseconds()).padStart(3,`0`);return r+=`+00:00`,n&&(r+=` BC`),r}function p(e,t,n){return e=typeof e==`string`?{text:e}:m(e),t&&(typeof t==`function`?e.callback=t:e.values=t),n&&(e.callback=n),e}function m(e){return e==null?e:Object.defineProperties(Object.create(Object.getPrototypeOf(e)),Object.getOwnPropertyDescriptors(e))}n.exports={prepareValue:function(e){return l(e)},normalizeQueryConfig:p,escapeIdentifier:function(e){return`"`+e.replace(/"/g,`""`)+`"`},escapeLiteral:function(e){let t=!1,n=`'`;if(e==null||typeof e!=`string`)return`''`;for(let r=0;r<e.length;r++){let i=e[r];i===`'`?n+=i+i:i===`\\`?(n+=i+i,t=!0):n+=i}return n+=`'`,t===!0&&(n=` E`+n),n}}})),iZ=r({"module.exports":()=>hc}),aZ=n(()=>{}),oZ=i(((e,n)=>{var r=(aZ(),t(iZ));n.exports={postgresMd5PasswordHash:l,randomBytes:s,deriveKey:p,sha256:u,hashByName:d,hmacSha256:f,md5:c};var i=r.webcrypto||globalThis.crypto,a=i.subtle,o=new TextEncoder;function s(e){return i.getRandomValues(Buffer.alloc(e))}async function c(e){try{return r.createHash(`md5`).update(e,`utf-8`).digest(`hex`)}catch{let t=typeof e==`string`?o.encode(e):e,n=await a.digest(`MD5`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}}async function l(e,t,n){let r=await c(t+e);return`md5`+await c(Buffer.concat([Buffer.from(r),n]))}async function u(e){return await a.digest(`SHA-256`,e)}async function d(e,t){return await a.digest(e,t)}async function f(e,t){let n=await a.importKey(`raw`,e,{name:`HMAC`,hash:`SHA-256`},!1,[`sign`]);return await a.sign(`HMAC`,n,o.encode(t))}async function p(e,t,n){let r=await a.importKey(`raw`,o.encode(e),`PBKDF2`,!1,[`deriveBits`]),i={name:`PBKDF2`,hash:`SHA-256`,salt:t,iterations:n};return await a.deriveBits(i,r,256,[`deriveBits`])}})),sZ=i(((e,t)=>{function n(e,t){return Error(`SASL channel binding: `+e+` when parsing public certificate `+t.toString(`base64`))}function r(e,t){let r=e[t++];if(r<128)return{length:r,index:t};let i=r&127;if(i>4)throw n(`bad length`,e);r=0;for(let n=0;n<i;n++)r=r<<8|e[t++];return{length:r,index:t}}function i(e,t){if(e[t++]!==6)throw n(`non-OID data`,e);let{length:i,index:a}=r(e,t);t=a;let o=t+i,s=e[t++],c=(s/40|0)+`.`+s%40;for(;t<o;){let n=0;for(;t<o;){let r=e[t++];if(n=n<<7|r&127,r<128)break}c+=`.`+n}return{oid:c,index:t}}function a(e,t){if(e[t++]!==48)throw n(`non-sequence data`,e);return r(e,t)}function o(e,t){t===void 0&&(t=0),t=a(e,t).index;let{length:o,index:s}=a(e,t);t=s+o,t=a(e,t).index;let{oid:c,index:l}=i(e,t);switch(c){case`1.2.840.113549.1.1.4`:return`MD5`;case`1.2.840.113549.1.1.5`:return`SHA-1`;case`1.2.840.113549.1.1.11`:return`SHA-256`;case`1.2.840.113549.1.1.12`:return`SHA-384`;case`1.2.840.113549.1.1.13`:return`SHA-512`;case`1.2.840.113549.1.1.14`:return`SHA-224`;case`1.2.840.113549.1.1.15`:return`SHA512-224`;case`1.2.840.113549.1.1.16`:return`SHA512-256`;case`1.2.840.10045.4.1`:return`SHA-1`;case`1.2.840.10045.4.3.1`:return`SHA-224`;case`1.2.840.10045.4.3.2`:return`SHA-256`;case`1.2.840.10045.4.3.3`:return`SHA-384`;case`1.2.840.10045.4.3.4`:return`SHA-512`;case`1.2.840.113549.1.1.10`:{if(t=l,t=a(e,t).index,e[t++]!==160)throw n(`non-tag data`,e);t=r(e,t).index,t=a(e,t).index;let{oid:o}=i(e,t);switch(o){case`1.2.840.113549.2.5`:return`MD5`;case`1.3.14.3.2.26`:return`SHA-1`;case`2.16.840.1.101.3.4.2.1`:return`SHA-256`;case`2.16.840.1.101.3.4.2.2`:return`SHA-384`;case`2.16.840.1.101.3.4.2.3`:return`SHA-512`}throw n(`unknown hash OID `+o,e)}case`1.3.101.110`:case`1.3.101.112`:return`SHA-512`;case`1.3.101.111`:case`1.3.101.113`:throw n(`Ed448 certificate channel binding is not currently supported by Postgres`)}throw n(`unknown OID `+c,e)}t.exports={signatureAlgorithmHashFromCertificate:o}})),cZ=i(((e,t)=>{var n=oZ(),{signatureAlgorithmHashFromCertificate:r}=sZ();function i(e){return e.replace(/[\u00A0\u1680\u2000-\u200B\u202F\u205F\u3000]/g,` `).replace(/[\u00AD\u034F\u1806\u180B\u180C\u180D\u200C\u200D\u2060\uFE00-\uFE0F\uFEFF]/g,``).normalize(`NFKC`)}var a=1e5;function o(e,t,r=a){let i=[`SCRAM-SHA-256`];t&&i.unshift(`SCRAM-SHA-256-PLUS`);let o=i.find(t=>e.includes(t));if(!o)throw Error(`SASL: Only mechanism(s) `+i.join(` and `)+` are supported`);if(o===`SCRAM-SHA-256-PLUS`&&typeof t.getPeerCertificate!=`function`)throw Error(`SASL: Mechanism SCRAM-SHA-256-PLUS requires a certificate`);let s=n.randomBytes(18).toString(`base64`);return{mechanism:o,clientNonce:s,response:(o===`SCRAM-SHA-256-PLUS`?`p=tls-server-end-point`:t?`y`:`n`)+`,,n=*,r=`+s,message:`SASLInitialResponse`,scramMaxIterations:r}}async function s(e,t,o,s){if(e.message!==`SASLInitialResponse`)throw Error(`SASL: Last message was not SASLInitialResponse`);if(typeof t!=`string`)throw Error(`SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string`);if(t===``)throw Error(`SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a non-empty string`);if(typeof o!=`string`)throw Error(`SASL: SCRAM-SERVER-FIRST-MESSAGE: serverData must be a string`);let c=f(o);if(!c.nonce.startsWith(e.clientNonce))throw Error(`SASL: SCRAM-SERVER-FIRST-MESSAGE: server nonce does not start with client nonce`);if(c.nonce.length===e.clientNonce.length)throw Error(`SASL: SCRAM-SERVER-FIRST-MESSAGE: server nonce is too short`);let l=typeof e.scramMaxIterations==`number`?e.scramMaxIterations:a;if(l!==0&&c.iteration>l)throw Error(`SASL: SCRAM-SERVER-FIRST-MESSAGE: iteration count `+c.iteration+` exceeds scramMaxIterations of `+l);let u=`n=*,r=`+e.clientNonce,d=`r=`+c.nonce+`,s=`+c.salt+`,i=`+c.iteration,p=s?`eSws`:`biws`;if(e.mechanism===`SCRAM-SHA-256-PLUS`){let e=s.getPeerCertificate().raw,t=r(e);(t===`MD5`||t===`SHA-1`)&&(t=`SHA-256`);let i=await n.hashByName(t,e);p=Buffer.concat([Buffer.from(`p=tls-server-end-point,,`),Buffer.from(i)]).toString(`base64`)}let h=`c=`+p+`,r=`+c.nonce,g=u+`,`+d+`,`+h,_=Buffer.from(c.salt,`base64`),v=await n.deriveKey(i(t),_,c.iteration),y=await n.hmacSha256(v,`Client Key`),b=await n.sha256(y),x=await n.hmacSha256(b,g),S=m(Buffer.from(y),Buffer.from(x)).toString(`base64`),C=await n.hmacSha256(v,`Server Key`),w=await n.hmacSha256(C,g);e.message=`SASLResponse`,e.serverSignature=Buffer.from(w).toString(`base64`),e.response=h+`,p=`+S}function c(e,t){if(e.message!==`SASLResponse`)throw Error(`SASL: Last message was not SASLResponse`);if(typeof t!=`string`)throw Error(`SASL: SCRAM-SERVER-FINAL-MESSAGE: serverData must be a string`);let{serverSignature:n}=p(t);if(n!==e.serverSignature)throw Error(`SASL: SCRAM-SERVER-FINAL-MESSAGE: server signature does not match`)}function l(e){if(typeof e!=`string`)throw TypeError(`SASL: text must be a string`);return e.split(``).map((t,n)=>e.charCodeAt(n)).every(e=>e>=33&&e<=43||e>=45&&e<=126)}function u(e){return/^(?:[a-zA-Z0-9+/]{4})*(?:[a-zA-Z0-9+/]{2}==|[a-zA-Z0-9+/]{3}=)?$/.test(e)}function d(e){if(typeof e!=`string`)throw TypeError(`SASL: attribute pairs text must be a string`);return new Map(e.split(`,`).map(e=>{if(!/^.=/.test(e))throw Error(`SASL: Invalid attribute pair entry`);return[e[0],e.substring(2)]}))}function f(e){let t=d(e),n=t.get(`r`);if(!n)throw Error(`SASL: SCRAM-SERVER-FIRST-MESSAGE: nonce missing`);if(!l(n))throw Error(`SASL: SCRAM-SERVER-FIRST-MESSAGE: nonce must only contain printable characters`);let r=t.get(`s`);if(!r)throw Error(`SASL: SCRAM-SERVER-FIRST-MESSAGE: salt missing`);if(!u(r))throw Error(`SASL: SCRAM-SERVER-FIRST-MESSAGE: salt must be base64`);let i=t.get(`i`);if(!i)throw Error(`SASL: SCRAM-SERVER-FIRST-MESSAGE: iteration missing`);if(!/^[1-9][0-9]*$/.test(i))throw Error(`SASL: SCRAM-SERVER-FIRST-MESSAGE: invalid iteration count`);return{nonce:n,salt:r,iteration:parseInt(i,10)}}function p(e){let t=d(e),n=t.get(`e`),r=t.get(`v`);if(n)throw Error(`SASL: SCRAM-SERVER-FINAL-MESSAGE: server returned error: "${n}"`);if(!r)throw Error(`SASL: SCRAM-SERVER-FINAL-MESSAGE: server signature is missing`);if(!u(r))throw Error(`SASL: SCRAM-SERVER-FINAL-MESSAGE: server signature must be base64`);return{serverSignature:r}}function m(e,t){if(!Buffer.isBuffer(e))throw TypeError(`first argument must be a Buffer`);if(!Buffer.isBuffer(t))throw TypeError(`second argument must be a Buffer`);if(e.length!==t.length)throw Error(`Buffer lengths must match`);if(e.length===0)throw Error(`Buffers cannot be empty`);return Buffer.from(e.map((n,r)=>e[r]^t[r]))}t.exports={startSession:o,continueSession:s,finalizeSession:c,DEFAULT_MAX_SCRAM_ITERATIONS:a}})),lZ=i(((e,t)=>{var n=ZX();function r(e){this._types=e||n,this.text={},this.binary={}}r.prototype.getOverrides=function(e){switch(e){case`text`:return this.text;case`binary`:return this.binary;default:return{}}},r.prototype.setTypeParser=function(e,t,n){typeof t==`function`&&(n=t,t=`text`),this.getOverrides(t)[e]=n},r.prototype.getTypeParser=function(e,t){return t||=`text`,this.getOverrides(t)[e]||this._types.getTypeParser(e,t)},t.exports=r})),uZ=r({"module.exports":()=>xc}),dZ=n(()=>{}),fZ=r({"module.exports":()=>Sc}),pZ=n(()=>{}),mZ=i(((e,n)=>{function r(e,n={}){if(e.charAt(0)===`/`){let t=e.split(` `);return{host:t[0],database:t[1]}}let r=Object.create(null),i,a=!1;/ |%[^a-f0-9]|%[a-f0-9][^a-f0-9]/i.test(e)&&(e=encodeURI(e).replace(/%25(\d\d)/g,`%$1`));try{try{i=new URL(e,`postgres://base`)}catch{i=new URL(e.replace(`@/`,`@___DUMMY___/`),`postgres://base`),a=!0}}catch(e){throw e.input&&=`*****REDACTED*****`,e}for(let e of i.searchParams.entries())r[e[0]]=e[1];if(r.user=r.user||decodeURIComponent(i.username),r.password=r.password||decodeURIComponent(i.password),i.protocol==`socket:`)return r.host=decodeURI(i.pathname),r.database=i.searchParams.get(`db`),r.client_encoding=i.searchParams.get(`encoding`),r;let o=(a?``:i.hostname).replace(/^\[(.+)\]$/,`$1`);r.host?o&&/^%2f/i.test(o)&&(i.pathname=o+i.pathname):r.host=decodeURIComponent(o),r.port||=i.port;let c=i.pathname.slice(1)||null;r.database=c?decodeURI(c):null,(r.ssl===`true`||r.ssl===`1`)&&(r.ssl=!0),r.ssl===`0`&&(r.ssl=!1),(r.sslcert||r.sslkey||r.sslrootcert||r.sslmode)&&(r.ssl={}),r.sslnegotiation===`direct`&&r.ssl===void 0&&(r.ssl=!0);let l=r.sslcert||r.sslkey||r.sslrootcert?(pZ(),t(fZ)):null;if(r.sslcert&&(r.ssl.cert=l.readFileSync(r.sslcert).toString()),r.sslkey&&(r.ssl.key=l.readFileSync(r.sslkey).toString()),r.sslrootcert&&(r.ssl.ca=l.readFileSync(r.sslrootcert).toString()),n.useLibpqCompat&&r.uselibpqcompat)throw Error(`Both useLibpqCompat and uselibpqcompat are set. Please use only one of them.`);if(r.uselibpqcompat===`true`||n.useLibpqCompat)switch(r.sslmode){case`disable`:r.ssl=!1;break;case`prefer`:r.ssl.rejectUnauthorized=!1;break;case`require`:r.sslrootcert?r.ssl.checkServerIdentity=function(){}:r.ssl.rejectUnauthorized=!1;break;case`verify-ca`:if(!r.ssl.ca)throw Error(`SECURITY WARNING: Using sslmode=verify-ca requires specifying a CA with sslrootcert. If a public CA is used, verify-ca allows connections to a server that somebody else may have registered with the CA, making you vulnerable to Man-in-the-Middle attacks. Either specify a custom CA certificate with sslrootcert parameter or use sslmode=verify-full for proper security.`);r.ssl.checkServerIdentity=function(){}}else switch(r.sslmode){case`disable`:r.ssl=!1;break;case`prefer`:case`require`:case`verify-ca`:case`verify-full`:r.sslmode!==`verify-full`&&s(r.sslmode);break;case`no-verify`:r.ssl.rejectUnauthorized=!1}return r}function i(e){return Object.entries(e).reduce((e,[t,n])=>(n!=null&&(e[t]=n),e),Object.create(null))}function a(e){return Object.entries(e).reduce((e,[t,n])=>{if(t===`ssl`){let r=n;typeof r==`boolean`&&(e[t]=r),typeof r==`object`&&(e[t]=i(r))}else if(n!=null){if(t===`port`){if(n!==``){let r=parseInt(n,10);if(isNaN(r))throw Error(`Invalid ${t}: ${n}`);e[t]=r}}else e[t]=n}return e},Object.create(null))}function o(e){return a(r(e))}function s(e){!s.warned&&typeof process<`u`&&process.emitWarning&&(s.warned=!0,process.emitWarning(`SECURITY WARNING: The SSL modes 'prefer', 'require', and 'verify-ca' are treated as aliases for 'verify-full'.
420
420
  In the next major version (pg-connection-string v3.0.0 and pg v9.0.0), these modes will adopt standard libpq semantics, which have weaker security guarantees.