@prosopo/provider 2.1.5 → 2.1.6

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 (263) hide show
  1. package/.dockerignore +5 -0
  2. package/dist/api/admin.d.ts +4 -0
  3. package/dist/api/admin.d.ts.map +1 -0
  4. package/dist/api/admin.js +36 -0
  5. package/dist/api/admin.js.map +1 -0
  6. package/dist/api/authMiddleware.d.ts +6 -0
  7. package/dist/api/authMiddleware.d.ts.map +1 -0
  8. package/dist/api/authMiddleware.js +66 -0
  9. package/dist/api/authMiddleware.js.map +1 -0
  10. package/dist/api/captcha.d.ts +4 -0
  11. package/dist/api/captcha.d.ts.map +1 -0
  12. package/dist/api/captcha.js +299 -0
  13. package/dist/api/captcha.js.map +1 -0
  14. package/dist/api/captchaScheduler.d.ts +4 -0
  15. package/dist/api/captchaScheduler.d.ts.map +1 -0
  16. package/dist/api/captchaScheduler.js +17 -0
  17. package/dist/api/captchaScheduler.js.map +1 -0
  18. package/dist/api/errorHandler.d.ts +11 -0
  19. package/dist/api/errorHandler.d.ts.map +1 -0
  20. package/dist/api/errorHandler.js +42 -0
  21. package/dist/api/errorHandler.js.map +1 -0
  22. package/dist/api/verify.d.ts +4 -0
  23. package/dist/api/verify.d.ts.map +1 -0
  24. package/dist/api/verify.js +98 -0
  25. package/dist/api/verify.js.map +1 -0
  26. package/dist/batch/commitments.d.ts +24 -0
  27. package/dist/batch/commitments.d.ts.map +1 -0
  28. package/dist/batch/commitments.js +130 -0
  29. package/dist/batch/commitments.js.map +1 -0
  30. package/dist/batch/index.d.ts +2 -0
  31. package/dist/batch/index.d.ts.map +1 -0
  32. package/dist/batch/index.js +2 -0
  33. package/dist/batch/index.js.map +1 -0
  34. package/dist/cjs/api/admin.cjs +37 -0
  35. package/dist/cjs/api/authMiddleware.cjs +66 -0
  36. package/dist/cjs/api/captcha.cjs +380 -0
  37. package/dist/cjs/api/errorHandler.cjs +42 -0
  38. package/dist/cjs/api/verify.cjs +120 -0
  39. package/dist/cjs/index.cjs +25 -0
  40. package/dist/cjs/schedulers/captchaScheduler.cjs +33 -0
  41. package/dist/cjs/schedulers/getClientList.cjs +31 -0
  42. package/dist/cjs/tasks/client/clientTasks.cjs +148 -0
  43. package/dist/cjs/tasks/dataset/datasetTasks.cjs +30 -0
  44. package/dist/cjs/tasks/dataset/datasetTasksUtils.cjs +34 -0
  45. package/dist/cjs/tasks/detection/decodePayload.cjs +549 -0
  46. package/dist/cjs/tasks/detection/getBotScore.cjs +18 -0
  47. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +313 -0
  48. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasksUtils.cjs +25 -0
  49. package/dist/cjs/tasks/index.cjs +4 -0
  50. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +134 -0
  51. package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +26 -0
  52. package/dist/cjs/tasks/tasks.cjs +40 -0
  53. package/dist/cjs/util.cjs +45 -0
  54. package/dist/index.d.ts +10 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +10 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/scheduler.d.ts +4 -0
  59. package/dist/scheduler.d.ts.map +1 -0
  60. package/dist/scheduler.js +21 -0
  61. package/dist/scheduler.js.map +1 -0
  62. package/dist/schedulers/captchaScheduler.d.ts +4 -0
  63. package/dist/schedulers/captchaScheduler.d.ts.map +1 -0
  64. package/dist/schedulers/captchaScheduler.js +28 -0
  65. package/dist/schedulers/captchaScheduler.js.map +1 -0
  66. package/dist/schedulers/getClientList.d.ts +4 -0
  67. package/dist/schedulers/getClientList.d.ts.map +1 -0
  68. package/dist/schedulers/getClientList.js +28 -0
  69. package/dist/schedulers/getClientList.js.map +1 -0
  70. package/dist/tasks/client/clientTasks.d.ts +13 -0
  71. package/dist/tasks/client/clientTasks.d.ts.map +1 -0
  72. package/dist/tasks/client/clientTasks.js +87 -0
  73. package/dist/tasks/client/clientTasks.js.map +1 -0
  74. package/dist/tasks/dataset/datasetTasks.d.ts +13 -0
  75. package/dist/tasks/dataset/datasetTasks.d.ts.map +1 -0
  76. package/dist/tasks/dataset/datasetTasks.js +19 -0
  77. package/dist/tasks/dataset/datasetTasks.js.map +1 -0
  78. package/dist/tasks/dataset/datasetTasksUtils.d.ts +3 -0
  79. package/dist/tasks/dataset/datasetTasksUtils.d.ts.map +1 -0
  80. package/dist/tasks/dataset/datasetTasksUtils.js +34 -0
  81. package/dist/tasks/dataset/datasetTasksUtils.js.map +1 -0
  82. package/dist/tasks/detection/decodePayload.d.ts +3 -0
  83. package/dist/tasks/detection/decodePayload.d.ts.map +1 -0
  84. package/dist/tasks/detection/decodePayload.js +302 -0
  85. package/dist/tasks/detection/decodePayload.js.map +1 -0
  86. package/dist/tasks/detection/getBotScore.d.ts +2 -0
  87. package/dist/tasks/detection/getBotScore.d.ts.map +1 -0
  88. package/dist/tasks/detection/getBotScore.js +17 -0
  89. package/dist/tasks/detection/getBotScore.js.map +1 -0
  90. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts +29 -0
  91. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -0
  92. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +242 -0
  93. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -0
  94. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts +7 -0
  95. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts.map +1 -0
  96. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js +18 -0
  97. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +1 -0
  98. package/dist/tasks/index.d.ts +2 -0
  99. package/dist/tasks/index.d.ts.map +1 -0
  100. package/dist/tasks/index.js +2 -0
  101. package/dist/tasks/index.js.map +1 -0
  102. package/dist/tasks/powCaptcha/powTasks.d.ts +13 -0
  103. package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -0
  104. package/dist/tasks/powCaptcha/powTasks.js +84 -0
  105. package/dist/tasks/powCaptcha/powTasks.js.map +1 -0
  106. package/dist/tasks/powCaptcha/powTasksUtils.d.ts +3 -0
  107. package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +1 -0
  108. package/dist/tasks/powCaptcha/powTasksUtils.js +22 -0
  109. package/dist/tasks/powCaptcha/powTasksUtils.js.map +1 -0
  110. package/dist/tasks/tasks.d.ts +22 -0
  111. package/dist/tasks/tasks.d.ts.map +1 -0
  112. package/dist/tasks/tasks.js +24 -0
  113. package/dist/tasks/tasks.js.map +1 -0
  114. package/dist/tests/accounts.d.ts +12 -0
  115. package/dist/tests/accounts.d.ts.map +1 -0
  116. package/dist/tests/accounts.js +35 -0
  117. package/dist/tests/accounts.js.map +1 -0
  118. package/dist/tests/contract/helpers.test.d.ts +6 -0
  119. package/dist/tests/contract/helpers.test.d.ts.map +1 -0
  120. package/dist/tests/contract/helpers.test.js +54 -0
  121. package/dist/tests/contract/helpers.test.js.map +1 -0
  122. package/dist/tests/dataUtils/DatabaseAccounts.d.ts +35 -0
  123. package/dist/tests/dataUtils/DatabaseAccounts.d.ts.map +1 -0
  124. package/dist/tests/dataUtils/DatabaseAccounts.js +84 -0
  125. package/dist/tests/dataUtils/DatabaseAccounts.js.map +1 -0
  126. package/dist/tests/dataUtils/DatabasePopulator.d.ts +73 -0
  127. package/dist/tests/dataUtils/DatabasePopulator.d.ts.map +1 -0
  128. package/dist/tests/dataUtils/DatabasePopulator.js +326 -0
  129. package/dist/tests/dataUtils/DatabasePopulator.js.map +1 -0
  130. package/dist/tests/dataUtils/dapp-example-contract/dapp.json +648 -0
  131. package/dist/tests/dataUtils/dapp-example-contract/loadFiles.d.ts +4 -0
  132. package/dist/tests/dataUtils/dapp-example-contract/loadFiles.d.ts.map +1 -0
  133. package/dist/tests/dataUtils/dapp-example-contract/loadFiles.js +27 -0
  134. package/dist/tests/dataUtils/dapp-example-contract/loadFiles.js.map +1 -0
  135. package/dist/tests/dataUtils/funds.d.ts +9 -0
  136. package/dist/tests/dataUtils/funds.d.ts.map +1 -0
  137. package/dist/tests/dataUtils/funds.js +105 -0
  138. package/dist/tests/dataUtils/funds.js.map +1 -0
  139. package/dist/tests/dataUtils/populateDatabase.d.ts +16 -0
  140. package/dist/tests/dataUtils/populateDatabase.d.ts.map +1 -0
  141. package/dist/tests/dataUtils/populateDatabase.js +72 -0
  142. package/dist/tests/dataUtils/populateDatabase.js.map +1 -0
  143. package/dist/tests/getUser.d.ts +4 -0
  144. package/dist/tests/getUser.d.ts.map +1 -0
  145. package/dist/tests/getUser.js +18 -0
  146. package/dist/tests/getUser.js.map +1 -0
  147. package/dist/tests/index.d.ts +2 -0
  148. package/dist/tests/index.d.ts.map +1 -0
  149. package/dist/tests/index.js +2 -0
  150. package/dist/tests/index.js.map +1 -0
  151. package/dist/tests/integration/imgCaptcha.integration.test.d.ts +2 -0
  152. package/dist/tests/integration/imgCaptcha.integration.test.d.ts.map +1 -0
  153. package/dist/tests/integration/imgCaptcha.integration.test.js +137 -0
  154. package/dist/tests/integration/imgCaptcha.integration.test.js.map +1 -0
  155. package/dist/tests/integration/imgCaptcha.test.d.ts +2 -0
  156. package/dist/tests/integration/imgCaptcha.test.d.ts.map +1 -0
  157. package/dist/tests/integration/imgCaptcha.test.js +103 -0
  158. package/dist/tests/integration/imgCaptcha.test.js.map +1 -0
  159. package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts +32 -0
  160. package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts.map +1 -0
  161. package/dist/tests/integration/mocks/solvedTestCaptchas.js +1046 -0
  162. package/dist/tests/integration/mocks/solvedTestCaptchas.js.map +1 -0
  163. package/dist/tests/integration/powCaptcha.integration.test.d.ts +2 -0
  164. package/dist/tests/integration/powCaptcha.integration.test.d.ts.map +1 -0
  165. package/dist/tests/integration/powCaptcha.integration.test.js +222 -0
  166. package/dist/tests/integration/powCaptcha.integration.test.js.map +1 -0
  167. package/dist/tests/integration/powCaptcha.test.d.ts +2 -0
  168. package/dist/tests/integration/powCaptcha.test.d.ts.map +1 -0
  169. package/dist/tests/integration/powCaptcha.test.js +133 -0
  170. package/dist/tests/integration/powCaptcha.test.js.map +1 -0
  171. package/dist/tests/integration/registerSitekey.d.ts +2 -0
  172. package/dist/tests/integration/registerSitekey.d.ts.map +1 -0
  173. package/dist/tests/integration/registerSitekey.js +28 -0
  174. package/dist/tests/integration/registerSitekey.js.map +1 -0
  175. package/dist/tests/tasks/tasks.test.d.ts +6 -0
  176. package/dist/tests/tasks/tasks.test.d.ts.map +1 -0
  177. package/dist/tests/tasks/tasks.test.js +636 -0
  178. package/dist/tests/tasks/tasks.test.js.map +1 -0
  179. package/dist/tests/unit/api/authMiddleware.test.d.ts +2 -0
  180. package/dist/tests/unit/api/authMiddleware.test.d.ts.map +1 -0
  181. package/dist/tests/unit/api/authMiddleware.test.js +87 -0
  182. package/dist/tests/unit/api/authMiddleware.test.js.map +1 -0
  183. package/dist/tests/unit/api/authMiddleware.unit.test.d.ts +2 -0
  184. package/dist/tests/unit/api/authMiddleware.unit.test.d.ts.map +1 -0
  185. package/dist/tests/unit/api/authMiddleware.unit.test.js +108 -0
  186. package/dist/tests/unit/api/authMiddleware.unit.test.js.map +1 -0
  187. package/dist/tests/unit/api/captchaScheduler.test.d.ts +2 -0
  188. package/dist/tests/unit/api/captchaScheduler.test.d.ts.map +1 -0
  189. package/dist/tests/unit/api/captchaScheduler.test.js +47 -0
  190. package/dist/tests/unit/api/captchaScheduler.test.js.map +1 -0
  191. package/dist/tests/unit/api/errorHandler.test.d.ts +2 -0
  192. package/dist/tests/unit/api/errorHandler.test.d.ts.map +1 -0
  193. package/dist/tests/unit/api/errorHandler.test.js +65 -0
  194. package/dist/tests/unit/api/errorHandler.test.js.map +1 -0
  195. package/dist/tests/unit/api/errorHandler.unit.test.d.ts +2 -0
  196. package/dist/tests/unit/api/errorHandler.unit.test.d.ts.map +1 -0
  197. package/dist/tests/unit/api/errorHandler.unit.test.js +100 -0
  198. package/dist/tests/unit/api/errorHandler.unit.test.js.map +1 -0
  199. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts +2 -0
  200. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts.map +1 -0
  201. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js +63 -0
  202. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js.map +1 -0
  203. package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts +2 -0
  204. package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts.map +1 -0
  205. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +172 -0
  206. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +1 -0
  207. package/dist/tests/unit/tasks/dataset/datasetTasks.test.d.ts +2 -0
  208. package/dist/tests/unit/tasks/dataset/datasetTasks.test.d.ts.map +1 -0
  209. package/dist/tests/unit/tasks/dataset/datasetTasks.test.js +82 -0
  210. package/dist/tests/unit/tasks/dataset/datasetTasks.test.js.map +1 -0
  211. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts +2 -0
  212. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts.map +1 -0
  213. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js +86 -0
  214. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js.map +1 -0
  215. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.test.d.ts +2 -0
  216. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.test.d.ts.map +1 -0
  217. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.test.js +75 -0
  218. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.test.js.map +1 -0
  219. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts +2 -0
  220. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts.map +1 -0
  221. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +75 -0
  222. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +1 -0
  223. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.test.d.ts +2 -0
  224. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.test.d.ts.map +1 -0
  225. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.test.js +245 -0
  226. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.test.js.map +1 -0
  227. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts +2 -0
  228. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts.map +1 -0
  229. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +266 -0
  230. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -0
  231. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.test.d.ts +2 -0
  232. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.test.d.ts.map +1 -0
  233. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.test.js +45 -0
  234. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.test.js.map +1 -0
  235. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts +2 -0
  236. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts.map +1 -0
  237. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +46 -0
  238. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +1 -0
  239. package/dist/tests/unit/tasks/powCaptcha/powTasks.test.d.ts +2 -0
  240. package/dist/tests/unit/tasks/powCaptcha/powTasks.test.d.ts.map +1 -0
  241. package/dist/tests/unit/tasks/powCaptcha/powTasks.test.js +121 -0
  242. package/dist/tests/unit/tasks/powCaptcha/powTasks.test.js.map +1 -0
  243. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts +2 -0
  244. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts.map +1 -0
  245. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +209 -0
  246. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -0
  247. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.test.d.ts +2 -0
  248. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.test.d.ts.map +1 -0
  249. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.test.js +94 -0
  250. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.test.js.map +1 -0
  251. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts +2 -0
  252. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts.map +1 -0
  253. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +65 -0
  254. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +1 -0
  255. package/dist/tests/util.test.d.ts +2 -0
  256. package/dist/tests/util.test.d.ts.map +1 -0
  257. package/dist/tests/util.test.js +23 -0
  258. package/dist/tests/util.test.js.map +1 -0
  259. package/dist/util.d.ts +6 -0
  260. package/dist/util.d.ts.map +1 -0
  261. package/dist/util.js +34 -0
  262. package/dist/util.js.map +1 -0
  263. package/package.json +11 -11
@@ -0,0 +1,28 @@
1
+ import { ProviderEnvironment } from "@prosopo/env";
2
+ import { ScheduledTaskNames } from "@prosopo/types";
3
+ import { CronJob } from "cron";
4
+ import { Tasks } from "../tasks/tasks.js";
5
+ import { checkIfTaskIsRunning } from "../util.js";
6
+ export async function storeCaptchasExternally(pair, config) {
7
+ const env = new ProviderEnvironment(config, pair);
8
+ await env.isReady();
9
+ const tasks = new Tasks(env);
10
+ const defaultSchedule = "0 * * * *";
11
+ const cronSchedule = config.scheduledTasks?.captchaScheduler
12
+ ? config.scheduledTasks.captchaScheduler.schedule
13
+ ? config.scheduledTasks.captchaScheduler.schedule
14
+ : defaultSchedule
15
+ : defaultSchedule;
16
+ const job = new CronJob(cronSchedule, async () => {
17
+ const taskRunning = await checkIfTaskIsRunning(ScheduledTaskNames.StoreCommitmentsExternal, env.getDb());
18
+ env.logger.info(`${ScheduledTaskNames.StoreCommitmentsExternal} task running: ${taskRunning}`);
19
+ if (!taskRunning) {
20
+ env.logger.info(`${ScheduledTaskNames.StoreCommitmentsExternal} task....`);
21
+ await tasks.clientTaskManager.storeCommitmentsExternal().catch((err) => {
22
+ env.logger.error(err);
23
+ });
24
+ }
25
+ });
26
+ job.start();
27
+ }
28
+ //# sourceMappingURL=captchaScheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captchaScheduler.js","sourceRoot":"","sources":["../../src/schedulers/captchaScheduler.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAA4B,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC5C,IAAiB,EACjB,MAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IAEpB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAG7B,MAAM,eAAe,GAAG,WAAW,CAAC;IACpC,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,EAAE,gBAAgB;QAC3D,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,QAAQ;YAChD,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,QAAQ;YACjD,CAAC,CAAC,eAAe;QAClB,CAAC,CAAC,eAAe,CAAC;IAEnB,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAC7C,kBAAkB,CAAC,wBAAwB,EAC3C,GAAG,CAAC,KAAK,EAAE,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,kBAAkB,CAAC,wBAAwB,kBAAkB,WAAW,EAAE,CAC7E,CAAC;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,kBAAkB,CAAC,wBAAwB,WAAW,CACzD,CAAC;YACF,MAAM,KAAK,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,KAAK,EAAE,CAAC;AACb,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { KeyringPair } from "@polkadot/keyring/types";
2
+ import { type ProsopoConfigOutput } from "@prosopo/types";
3
+ export declare function getClientList(pair: KeyringPair, config: ProsopoConfigOutput): Promise<void>;
4
+ //# sourceMappingURL=getClientList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getClientList.d.ts","sourceRoot":"","sources":["../../src/schedulers/getClientList.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,KAAK,mBAAmB,EAAsB,MAAM,gBAAgB,CAAC;AAU9E,wBAAsB,aAAa,CAClC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,mBAAmB,iBAgC3B"}
@@ -0,0 +1,28 @@
1
+ import { ProviderEnvironment } from "@prosopo/env";
2
+ import { ScheduledTaskNames } from "@prosopo/types";
3
+ import { CronJob } from "cron";
4
+ import { Tasks } from "../tasks/tasks.js";
5
+ import { checkIfTaskIsRunning } from "../util.js";
6
+ export async function getClientList(pair, config) {
7
+ const env = new ProviderEnvironment(config, pair);
8
+ await env.isReady();
9
+ const tasks = new Tasks(env);
10
+ const defaultSchedule = "0 * * * *";
11
+ const cronSchedule = config.scheduledTasks?.clientListScheduler
12
+ ? config.scheduledTasks.clientListScheduler.schedule
13
+ ? config.scheduledTasks.clientListScheduler.schedule
14
+ : defaultSchedule
15
+ : defaultSchedule;
16
+ const job = new CronJob(cronSchedule, async () => {
17
+ const taskRunning = await checkIfTaskIsRunning(ScheduledTaskNames.GetClientList, env.getDb());
18
+ env.logger.info(`${ScheduledTaskNames.GetClientList} task running: ${taskRunning}`);
19
+ if (!taskRunning) {
20
+ env.logger.info(`${ScheduledTaskNames.GetClientList} task....`);
21
+ await tasks.clientTaskManager.getClientList().catch((err) => {
22
+ env.logger.error(err);
23
+ });
24
+ }
25
+ });
26
+ job.start();
27
+ }
28
+ //# sourceMappingURL=getClientList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getClientList.js","sourceRoot":"","sources":["../../src/schedulers/getClientList.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAA4B,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAOlD,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,IAAiB,EACjB,MAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IAEpB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAG7B,MAAM,eAAe,GAAG,WAAW,CAAC;IACpC,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,EAAE,mBAAmB;QAC9D,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,QAAQ;YACnD,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,QAAQ;YACpD,CAAC,CAAC,eAAe;QAClB,CAAC,CAAC,eAAe,CAAC;IAEnB,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAC7C,kBAAkB,CAAC,aAAa,EAChC,GAAG,CAAC,KAAK,EAAE,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,kBAAkB,CAAC,aAAa,kBAAkB,WAAW,EAAE,CAClE,CAAC;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,aAAa,WAAW,CAAC,CAAC;YAChE,MAAM,KAAK,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3D,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,KAAK,EAAE,CAAC;AACb,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Logger } from "@prosopo/common";
2
+ import { type IUserSettings, type ProsopoConfigOutput } from "@prosopo/types";
3
+ import type { IProviderDatabase } from "@prosopo/types-database";
4
+ export declare class ClientTaskManager {
5
+ config: ProsopoConfigOutput;
6
+ logger: Logger;
7
+ providerDB: IProviderDatabase;
8
+ constructor(config: ProsopoConfigOutput, logger: Logger, db: IProviderDatabase);
9
+ storeCommitmentsExternal(): Promise<void>;
10
+ getClientList(): Promise<void>;
11
+ registerSiteKey(siteKey: string, settings: IUserSettings): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=clientTasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/client/clientTasks.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAGxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAgB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE/E,qBAAa,iBAAiB;IAC7B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,iBAAiB,CAAC;gBAE7B,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,iBAAiB;IAWhB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuGzC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD9B,eAAe,CACpB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC;CAQhB"}
@@ -0,0 +1,87 @@
1
+ import { CaptchaDatabase, ClientDatabase } from "@prosopo/database";
2
+ import { ScheduledTaskNames, ScheduledTaskStatus, } from "@prosopo/types";
3
+ export class ClientTaskManager {
4
+ constructor(config, logger, db) {
5
+ this.config = config;
6
+ this.logger = logger;
7
+ this.providerDB = db;
8
+ }
9
+ async storeCommitmentsExternal() {
10
+ if (!this.config.mongoCaptchaUri) {
11
+ this.logger.info("Mongo env not set");
12
+ return;
13
+ }
14
+ const lastTask = await this.providerDB.getLastScheduledTaskStatus(ScheduledTaskNames.StoreCommitmentsExternal, ScheduledTaskStatus.Completed);
15
+ const taskID = await this.providerDB.createScheduledTaskStatus(ScheduledTaskNames.StoreCommitmentsExternal, ScheduledTaskStatus.Running);
16
+ try {
17
+ let commitments = await this.providerDB.getUnstoredDappUserCommitments();
18
+ let powRecords = await this.providerDB.getUnstoredDappUserPoWCommitments();
19
+ if (lastTask) {
20
+ this.logger.info(`Filtering records to only get updated records: ${JSON.stringify(lastTask)}`);
21
+ this.logger.info("Last task ran at ", new Date(lastTask.updated || 0), "Task ID", taskID);
22
+ commitments = commitments.filter((commitment) => lastTask.updated &&
23
+ commitment.lastUpdatedTimestamp &&
24
+ (commitment.lastUpdatedTimestamp > lastTask.updated ||
25
+ !commitment.lastUpdatedTimestamp));
26
+ powRecords = powRecords.filter((commitment) => {
27
+ return (lastTask.updated &&
28
+ commitment.lastUpdatedTimestamp &&
29
+ (commitment.lastUpdatedTimestamp > lastTask.updated ||
30
+ !commitment.lastUpdatedTimestamp));
31
+ });
32
+ }
33
+ if (commitments.length || powRecords.length) {
34
+ this.logger.info(`Storing ${commitments.length} commitments externally`);
35
+ this.logger.info(`Storing ${powRecords.length} pow challenges externally`);
36
+ const captchaDB = new CaptchaDatabase(this.config.mongoCaptchaUri, undefined, undefined, this.logger);
37
+ await captchaDB.saveCaptchas(commitments, powRecords);
38
+ await this.providerDB.markDappUserCommitmentsStored(commitments.map((commitment) => commitment.id));
39
+ await this.providerDB.markDappUserPoWCommitmentsStored(powRecords.map((powRecords) => powRecords.challenge));
40
+ }
41
+ await this.providerDB.updateScheduledTaskStatus(taskID, ScheduledTaskStatus.Completed, {
42
+ data: {
43
+ commitments: commitments.map((c) => c.id),
44
+ powRecords: powRecords.map((pr) => pr.challenge),
45
+ },
46
+ });
47
+ }
48
+ catch (e) {
49
+ this.logger.error(e);
50
+ await this.providerDB.updateScheduledTaskStatus(taskID, ScheduledTaskStatus.Failed, { error: String(e) });
51
+ }
52
+ }
53
+ async getClientList() {
54
+ if (!this.config.mongoClientUri) {
55
+ this.logger.info("Mongo env not set");
56
+ return;
57
+ }
58
+ const lastTask = await this.providerDB.getLastScheduledTaskStatus(ScheduledTaskNames.GetClientList, ScheduledTaskStatus.Completed);
59
+ const taskID = await this.providerDB.createScheduledTaskStatus(ScheduledTaskNames.GetClientList, ScheduledTaskStatus.Running);
60
+ try {
61
+ const clientDB = new ClientDatabase(this.config.mongoClientUri, undefined, undefined, this.logger);
62
+ const updatedAtTimestamp = lastTask ? lastTask.updated || 0 : 0;
63
+ const newClientRecords = await clientDB.getUpdatedClients(updatedAtTimestamp);
64
+ if (newClientRecords) {
65
+ await this.providerDB.updateClientRecords(newClientRecords);
66
+ }
67
+ await this.providerDB.updateScheduledTaskStatus(taskID, ScheduledTaskStatus.Completed, {
68
+ data: {
69
+ clientRecords: newClientRecords.map((c) => c.account),
70
+ },
71
+ });
72
+ }
73
+ catch (e) {
74
+ this.logger.error(e);
75
+ await this.providerDB.updateScheduledTaskStatus(taskID, ScheduledTaskStatus.Failed, { error: String(e) });
76
+ }
77
+ }
78
+ async registerSiteKey(siteKey, settings) {
79
+ await this.providerDB.updateClientRecords([
80
+ {
81
+ account: siteKey,
82
+ settings: settings,
83
+ },
84
+ ]);
85
+ }
86
+ }
87
+ //# sourceMappingURL=clientTasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientTasks.js","sourceRoot":"","sources":["../../../src/tasks/client/clientTasks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { Logger } from "@prosopo/common";
2
+ import type { CaptchaConfig, DatasetRaw, ProsopoConfigOutput } from "@prosopo/types";
3
+ import type { IProviderDatabase } from "@prosopo/types-database";
4
+ export declare class DatasetManager {
5
+ config: ProsopoConfigOutput;
6
+ logger: Logger;
7
+ captchaConfig: CaptchaConfig;
8
+ db: IProviderDatabase;
9
+ constructor(config: ProsopoConfigOutput, logger: Logger, captchaConfig: CaptchaConfig, db: IProviderDatabase);
10
+ providerSetDatasetFromFile(file: JSON): Promise<void>;
11
+ providerSetDataset(datasetRaw: DatasetRaw): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=datasetTasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasetTasks.d.ts","sourceRoot":"","sources":["../../../src/tasks/dataset/datasetTasks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAe9C,OAAO,KAAK,EACX,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,qBAAa,cAAc;IAC1B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,aAAa,CAAC;IAC7B,EAAE,EAAE,iBAAiB,CAAC;gBAGrB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,EAAE,EAAE,iBAAiB;IAahB,0BAA0B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAS/D"}
@@ -0,0 +1,19 @@
1
+ import { parseCaptchaDataset } from "@prosopo/datasets";
2
+ import { providerValidateDataset } from "./datasetTasksUtils.js";
3
+ export class DatasetManager {
4
+ constructor(config, logger, captchaConfig, db) {
5
+ this.config = config;
6
+ this.logger = logger;
7
+ this.captchaConfig = captchaConfig;
8
+ this.db = db;
9
+ }
10
+ async providerSetDatasetFromFile(file) {
11
+ const datasetRaw = parseCaptchaDataset(file);
12
+ return await this.providerSetDataset(datasetRaw);
13
+ }
14
+ async providerSetDataset(datasetRaw) {
15
+ const dataset = await providerValidateDataset(datasetRaw, this.captchaConfig.solved.count, this.captchaConfig.unsolved.count);
16
+ await this.db?.storeDataset(dataset);
17
+ }
18
+ }
19
+ //# sourceMappingURL=datasetTasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasetTasks.js","sourceRoot":"","sources":["../../../src/tasks/dataset/datasetTasks.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAOxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,OAAO,cAAc;IAM1B,YACC,MAA2B,EAC3B,MAAc,EACd,aAA4B,EAC5B,EAAqB;QAErB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,CAAC;IAOD,KAAK,CAAC,0BAA0B,CAAC,IAAU;QAC1C,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAsB;QAC9C,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAC5C,UAAU,EACV,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAC/B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CACjC,CAAC;QAEF,MAAM,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;CACD"}
@@ -0,0 +1,3 @@
1
+ import type { DatasetRaw } from "@prosopo/types";
2
+ export declare const providerValidateDataset: (datasetRaw: DatasetRaw, minSolvedCaptchas: number, minUnsolvedCaptchas: number) => Promise<import("@prosopo/types").Dataset>;
3
+ //# sourceMappingURL=datasetTasksUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasetTasksUtils.d.ts","sourceRoot":"","sources":["../../../src/tasks/dataset/datasetTasksUtils.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,eAAO,MAAM,uBAAuB,eACvB,UAAU,qBACH,MAAM,uBACJ,MAAM,8CAyC3B,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { ProsopoEnvError } from "@prosopo/common";
2
+ import { buildDataset } from "@prosopo/datasets";
3
+ export const providerValidateDataset = async (datasetRaw, minSolvedCaptchas, minUnsolvedCaptchas) => {
4
+ if (datasetRaw.captchas.length < minSolvedCaptchas + minUnsolvedCaptchas) {
5
+ throw new ProsopoEnvError("DATASET.CAPTCHAS_COUNT_LESS_THAN_CONFIGURED", {
6
+ context: { failedFuncName: providerValidateDataset.name },
7
+ });
8
+ }
9
+ const solutions = datasetRaw.captchas
10
+ .map((captcha) => (captcha.solution ? 1 : 0))
11
+ .reduce((partialSum, b) => partialSum + b, 0);
12
+ if (solutions < minSolvedCaptchas) {
13
+ throw new ProsopoEnvError("DATASET.SOLUTIONS_COUNT_LESS_THAN_CONFIGURED", {
14
+ context: { failedFuncName: providerValidateDataset.name },
15
+ });
16
+ }
17
+ if (solutions < minUnsolvedCaptchas) {
18
+ throw new ProsopoEnvError("DATASET.SOLUTIONS_COUNT_LESS_THAN_CONFIGURED", {
19
+ context: { failedFuncName: providerValidateDataset.name },
20
+ });
21
+ }
22
+ const dataset = await buildDataset(datasetRaw);
23
+ if (!dataset.datasetId || !dataset.datasetContentId) {
24
+ throw new ProsopoEnvError("DATASET.DATASET_ID_UNDEFINED", {
25
+ context: {
26
+ failedFuncName: providerValidateDataset.name,
27
+ datasetId: dataset.datasetId,
28
+ datasetContentId: dataset.datasetContentId,
29
+ },
30
+ });
31
+ }
32
+ return dataset;
33
+ };
34
+ //# sourceMappingURL=datasetTasksUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasetTasksUtils.js","sourceRoot":"","sources":["../../../src/tasks/dataset/datasetTasksUtils.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC3C,UAAsB,EACtB,iBAAyB,EACzB,mBAA2B,EAC1B,EAAE;IAEH,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,iBAAiB,GAAG,mBAAmB,EAAE,CAAC;QAC1E,MAAM,IAAI,eAAe,CAAC,6CAA6C,EAAE;YACxE,OAAO,EAAE,EAAE,cAAc,EAAE,uBAAuB,CAAC,IAAI,EAAE;SACzD,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ;SACnC,GAAG,CAAC,CAAC,OAAO,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACpD,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAG/C,IAAI,SAAS,GAAG,iBAAiB,EAAE,CAAC;QACnC,MAAM,IAAI,eAAe,CAAC,8CAA8C,EAAE;YACzE,OAAO,EAAE,EAAE,cAAc,EAAE,uBAAuB,CAAC,IAAI,EAAE;SACzD,CAAC,CAAC;IACJ,CAAC;IAGD,IAAI,SAAS,GAAG,mBAAmB,EAAE,CAAC;QACrC,MAAM,IAAI,eAAe,CAAC,8CAA8C,EAAE;YACzE,OAAO,EAAE,EAAE,cAAc,EAAE,uBAAuB,CAAC,IAAI,EAAE;SACzD,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IAG/C,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACrD,MAAM,IAAI,eAAe,CAAC,8BAA8B,EAAE;YACzD,OAAO,EAAE;gBACR,cAAc,EAAE,uBAAuB,CAAC,IAAI;gBAC5C,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC1C;SACD,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { Z4ecsKo as default };
2
+ declare function Z4ecsKo(ke1NVnn: any): Promise<number | undefined>;
3
+ //# sourceMappingURL=decodePayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decodePayload.d.ts","sourceRoot":"","sources":["../../../src/tasks/detection/decodePayload.js"],"names":[],"mappings":";AAcmgf,oEAA8+B"}
@@ -0,0 +1,302 @@
1
+ import { RSA_PKCS1_OAEP_PADDING as ke1NVnn } from 'node:constants';
2
+ import { privateDecrypt as lREV7Ai } from 'node:crypto';
3
+ function pWdLXSY() { }
4
+ var piAjYa = Object['defineProperty'], jxE9qx, EXOE3Lv, OPYeIJ, k7isoSm, _dgpZr, CoGbBQv, kanelE, Ub9_QD_, pPcCSP, m9CMj7w, pJrm5XI, Edo1s7, m6EgV0, VX1TUD, NiTDZI, xytyla, RoadQk, RArX5u, WLP1A1o, HNsqsKe, i3n_Vl, xhUEef, H6u626, XJAaP6, ExGxfh7, Wt7a_qb, Ja_HYmM, c82qg2;
5
+ function EuVmu2S(ke1NVnn) { return c82qg2[ke1NVnn > 0x49 ? ke1NVnn < 0x6d ? ke1NVnn - 0x4a : ke1NVnn - 0x33 : ke1NVnn + 0x5]; }
6
+ c82qg2 = Ln0ibq();
7
+ var imUtytB = [], SgQEcG = ['N%*Gn:)L', 'uiKI$s>,', 'f"qUc', 'm#b;0*B:', 'X@",,%9', 'BxhO_({D+h,q:e+', 'LLr6eW!T0J]Qs;*o|d', 'B/=/m', '5geM{%Vd', 'B/_6S8$', EuVmu2S(0x4a), 'ZOe&~chd', EuVmu2S(0x4a), '<VB7B', 'Gr_7T"nx', 'Yt/A', 'ZZYy]8NhD', 'gZPy*GdX1,', 'l{@"zzCd', '<<|HI>H5x,', '?lDjP', '~JPMH5urF', 'sgpW(P%T0J]Qs;*o|d', 'Lp|b@zoT', 'ZOe&~chd', '5ghDI>dV^/cA>pa&9v;)NRDyRy&@L.[#_!A}WP3hH', 'zQH|j@[Hv^qyR=CcWIMNs[4BxOCYd', 'n!/6z?YdEO?Uw53E/J}MwR[O@+y)"4Gjgp%}I4$aWy5fXGy', '^/om")RQA~_Vgl6{|S_Z', 'I3UH7G$', '|&G).G`Sr"N>+)D=uS{7nIn#eC|6R=Qz,O/H05w,(O1', '9v2j{@Ydba=DwzD#;E?[<>dVt!OW7Z', '(3X8H5ooDbLzg(gC.~.}', 'UvJM<3bhs!VCQgl=PjjW`>zBvLXA/.vEvOa3xRw|r,', '0QoD4aI:}blNFx.!', '3IHD}OD,)V4Wd', '!~ofZ*<:P}', 'Cpsj?IQD/V$B"Z};:pD}PehVI".a/V8=u6k[FEZ|9V', 'T^{}b(tr5,0)l.dUAzW[%NkYD', 'F}3M|>w8mC>,0F];0;%733S,I.', 'BR%}!e^:pJ_AaaH=3[AZ7G$', '?.o}u/4:4,Vaymt_%D3W#2uT', ':z]MsB&X[aBNBgQ|AK4bl8,rae6@SLD%ngPMk5nEJp%6Ug', 'A3B@b~}=Tp{aRV9Ezz$1~"|,+L[L*51U~Ro|IW7o5LE', 'j[W[=ol#oJ?8LgIm&{;3)8~k/a:HJ#c,j/7Hn/eVCwG7=Z}', 'N`13*?RDKa+wWU={TSs@(U*rx}pfB(A;bOlb?@K@UX6!Kg', 'tN{f;e!*vSi:Ix3jCMu8Rac~;!', '/O9&WOMT;Jh>N5PE9vsD=O1HfOPiW=lzv$', '_QB@dU,UKVQK5)F<v;#DL7u|6SQMtL/E)6dD8v]"j^^)_4RU', 'O[0&JAPH1LSY!p"oy,P"q2J&,X1RbaO&', 'yr53hKhH6wUjw5m:', '0ZRj7G&&+L[WtP||7zg', '`QL}Me?:F/iK#e)XMOSW{7PO2,vN@Zd,[R.}x@a|H', 'mLl6fl$', 'lRVHZ*>Eg', '!rM/I(qd', 'a[=|}kjy.,=', 'W.2j)8FVn]c:*5J62J+f1:5h@V~=JpIc[!A@U>6:FV', '{[cDXka>Z', 'PJ30IYt*;R!aTz%%>K9"H5N3BL@NlfFz%S+}L%`S6~,)Aly', 'slJDh/+SdL6AfVD,/[#1!', 'UO;MOltrAyl,^p!mAz.@;%8,;efN[mq_U33"+aVXFV', '`<9WjB~V)aS!Z[O:HO{2UY@T', '1on3wRZ#:SO', '8KlZPG{52,<@Cv?o@E#/K)>*A~b66(iCHOwy', '*Il[084V(X4', 'Lp8Mi"$', 'ORH1}OQ*wpBNjmm&GE0),5[VlXMmMg.oTwG",', '3SQFMBqh;Jl_d)mC;zYMR95dPp8y~lwzv;d3RA$', ')!h/ZAJ3MLQ,XTFXN.l7tB8|J}', 'h3H|0*3:0JG.*f&U', '`<<&*I%Tw~|6n=~&{L!&SUH=Z+KfrVm&`OzjV', '?I^Z,%y+%a:H.FnxtRk762[V1,*l@gCm;J<8X', 'zgA}{2NV$}q=@m{:%pG);?|#lX8l}v{hhC~fm[@T', ';/TYF5XdoCjma4%,d~ofM/Kr}!E#RVq{l`XM8%fYD', 'm/P"+)OB|wH!mT1U1p}|.', '@I)/a"Cd', 'i3,W$b:VC~5MVp%#f[r6DE0@dS/7:Tgzp6#D!', 'gOnW]PBh`JV{wVy,5vQ"_?$', '%vtfY%h?uyG>>>:=', 'C<cjCOCH8!L)JU6`1v}3%oE+FX', '$r7;?@BVf~v.Vpk#*c78ff,y|^,kF5i=_d', 'Ev.}~pxrgSVACUmCf!7W=Nl,FaM)Kpw#4Ng', 'J/j&TUhVES:m@PTCFfsZN72#xwxJ]T', '>R|b:oK@{!', 'Uz5/?P0+^X0/!LE6gLJD', 'Q/QWDpMUL^(].z9jAKeyBfb?Y]6#{GNX/J"j`l_>xwwWd', '8603}R/T', 'LLkHx@L"H+xQ*T', 'J/L1b(Qa>L[f04ECsC)}I:.#v^^)"vE#NeT', 'zvuH+bnSM};!xBCo/oX&^?`Tn]', ';J7WZvj@Yyk>Kg', 'uOeMfYL"GLMgSBt:Cz`Mj2hVr,}3j[e&c&L@sIUT', '[3Pyy*8*Mw=#9Bx!WJB@x7j>HV', 'R/wM0G$aW"aW0(.', '&Qp8Y83HIy"6n=N%jpn3m[Vh:X)i$', 'z<&bbzM@ES/w~(gz;;g', 'd<r6/W}XUX/lt>~C#<bfk5$|:XllcmqjbIr}C', 'ID`3NRyaeeWWw=mj.MBj3aC&YCH4>g', '+DJ/9Ip>vSF4kZ,oA]_H^@(>A~gYom|&3$', 'uO$m]%FHRyeW@vZ|$~*H`f@|4"zAX[S', 'aRzZ@~$', '][aMpAQ#(OheH;(Ei3`WrWnE1Ss=slS', '}S.@sB<dw~E7_T)=.~`WkpNHD0Z4@L.', 'o!(MEo^BnC2W$', 'L/PG0U+DgXVAlaD', '[/p8`:QS6w;gCp_ocJ:)h:]Hx^AlKP":r!ay', 'N{{jQvaQpKZAd=k=av&bDAkd<!q+dpnjU84b)7E,m.', '4[Wj@K7SF', '=8r@uzm"7CF3H("o', 'kj"H;?zVoJ{Apgy%NJb@aEN3UVb', '0OZGSbzHGpBkElwC:vODpa2EjR|7p#Y;2E?GbA~&+}', '&/s}.5o+2,T4ATT6n.&H=el|fw?Whvkz', '7JODircklaiKm%1Ul}QWf3T#1OH}4U,oPEZFFpBO~"3', '+}}2gvNHf~C|>mK:];x|[E$', 'x~cNY%~d3Sy4b(dzYz(3J)la0R|b6.l%*EEM]b$', '*EK}M[%T', '>=H}j:j,We5,6.c=YQ>fS', '2J13|[/T<KieCv$#8R4Zc~Wd', ')eTWZU>@=.!7emN%tvwM""D|2Lg)PLbh|pe0#[@*?X', 'aQ{}t@Ra5Sg(d', '2Ja3lb}=5O@~Op"jI!lj_O{kl+Jwc%nhbJM3YG78<](pTF', 'RQyYI~6Hi/QWtvdU7eT', '%ST)`Yj#JSCAE%s:hvubqO>o&RO.L(?j;[U8:>$', 'V;kH1Ne&LSI^Oxa`[gOD@WnQY]6kMxd|i`B}', '?3d2vY,l]C@N^U]crS,Ypc$#%Xf7m%OhnK/N1/$*!+tWmPy', '=p7"zNZa!+G7_(_jIJ)Dx7^XM^VQIZGm,~_Z)R7DM}y3=x+`', '`Cj0cQC=4Rk={T];WjcjDp$', '7R}2cYDr3pZ)HP}', '~jy2#Bek<]dJoPYc>$', '^;E3If8*+Smm~(${uSq/FvaaL~4=7gsEJCEY"z%UY.mRPT', '(=%@*2i{{!cC)[TCsgaM>5D|/+nU_5+|CL:M>81H7"28&F', 'W]V6xPl#$p)]SLLc', 'h&fmv(o,4yEAu[Q%y[kb3KE|p]', '#8&0qB7,].:0,4j`qv^jrl"d', 'kQ{ZwpXBPS8=i%}c{Og);2LhtVKf#mdC"[Y"rQ3~NC8"d', 'E3lf4"{d', '/.OD4a),SC$(B([z~eD@HA?d', 'BJU&oBa|`C+@B%R`', '"/~jCU2#q.gxxgx;Xo?H0vi&,L1!e(U6', '8v])z>b&@XX);Gp|2!b}I>^B)V"^yL0X#JAf`(8SJpe', '{L,MG9L5hCKefxD', '56hD"(F"C,r6+PjUe!{NE/_*5L(l8l1{"$', '9=+}|[V"S^S0oBy', 'zpu6je$', '2QymP%UU<J8rP;6`=M^6;/|+K!/k<m:z+Qx}hBChg', 'Voi&?e)|~y}Q(l=:eJl}[U/@dSWM7LY%RvG3~c|8y0', 'l3jWPk<Vlar7?#"mlQ*@2vA&>pN=85j`bI?;s@R8=C', '<R)D]RAOba3>a5c=w``3C7Xd', 'r;#1jBl@ORv.V9U6eQxmx[$', '5e:&alAhReTY/V);"SCmAUpT7"L!fpy', 'mp$/L7>*1OK]:(M{`3G3nIA3RyU0{(Ez/$', '"[&7oBIXuCUE|fy;?3e0wp^"F+yVvBM,<D9Ferkd', 'r!>Dh:u,$Sg)TFM{b/{fBz{"dwCk+pwCzz#}M:,rJ~k:d', 'rRvN@~J{W"VY`a&:N!{}ypcB`]&v|z}=&QvNV7/T', '$r38Qp.T', 'Gv#225Pd', ')!WGx@YATS^E%V|UO.K}$A$', 's.DHOA7EW]', '{ot/`KDyYJ4ZX.g<l6?[*k{kJL', 't]B7:/F"ryDz4#9juJoY`fYO)ak^8fm{{}1mS', ']o%HRvRr7.7L)e/ok!u8@9Ty9V9Ld', '%[n"U4||y0E7Jzx!4[D7BlSUHb6krVl%f/9FPOed', '2Rp"CbSl.wkMMP+UNv/Nal"{e]1.6.o,', 'Qv=DH**#W"1gjer;$Sp0[ped', 'C,&bn%A3QVn=vm,c.<Rb7P]XiX55tPR&]<Y"ne2@hC@', 'yQXM>R5V0bQlA[!ErQ;mRvu|s!5fyLbE5j)f*70#sa7>^F', 'OEM|=BnEJSZ){B[%8Kcfi"Q|?V3', 'kQR@?I.+M,', '{LWHkU!*dL,#B(pU}<a32bOd8JG7dpajF[c|S', 'PDnMw9wr,OE.^)!o8z+NGr/,!/4W..m:0[QW?I/@ELsiG(1{', '#848fK}~|,Wdfp<cu[eyvQFsZ', '=p=|rW{"n.?U[;T<z3RN?G$', 'iEr68R$ysa$|vg$&zOTFqNvo_Vd2t:=hVpg', '=[Q";ewD{!o.|F6CD~iy', '+}=3m?YHh!^7|%3EU;G)3lzXhReKrzS'];
8
+ Ja_HYmM = (ke1NVnn, lREV7Ai, pWdLXSY, piAjYa, jxE9qx) => { var EXOE3Lv = JeoILhp(ke1NVnn => { return c82qg2[ke1NVnn > -0x2c ? ke1NVnn < -0x2c ? ke1NVnn + 0xd : ke1NVnn > -0x2c ? ke1NVnn < -0x2c ? ke1NVnn - 0x4a : ke1NVnn + 0x2b : ke1NVnn - 0x21 : ke1NVnn - 0x51]; }, 0x1); if (typeof piAjYa === EuVmu2S(0x4e)) {
9
+ piAjYa = ytyugP;
10
+ } if (typeof jxE9qx === 'undefined') {
11
+ jxE9qx = imUtytB;
12
+ } if (ke1NVnn !== lREV7Ai) {
13
+ return jxE9qx[ke1NVnn] || (jxE9qx[ke1NVnn] = piAjYa(SgQEcG[ke1NVnn]));
14
+ } if (piAjYa === EXOE3Lv(-0x26)) {
15
+ Ja_HYmM = jxE9qx;
16
+ } };
17
+ function KDYXtG3() { return globalThis; }
18
+ function eu_hhQc() { return global; }
19
+ function SZjML2() { return window; }
20
+ function FEBgiH() { return new Function('return this')(); }
21
+ function VBFYsXg(ke1NVnn = [KDYXtG3, eu_hhQc, SZjML2, FEBgiH], lREV7Ai, piAjYa = [], jxE9qx, EXOE3Lv) { lREV7Ai = lREV7Ai; try {
22
+ pWdLXSY(lREV7Ai = Object, piAjYa.push(''.__proto__.constructor.name));
23
+ }
24
+ catch (e) { } cU_Tf9g: for (jxE9qx = EuVmu2S(0x4b); jxE9qx < ke1NVnn.length; jxE9qx++)
25
+ try {
26
+ var OPYeIJ = JeoILhp(ke1NVnn => { return c82qg2[ke1NVnn < 0x1f ? ke1NVnn - 0x50 : ke1NVnn < 0x43 ? ke1NVnn - 0x20 : ke1NVnn + 0x28]; }, 0x1);
27
+ lREV7Ai = ke1NVnn[jxE9qx]();
28
+ for (EXOE3Lv = OPYeIJ(0x21); EXOE3Lv < piAjYa.length; EXOE3Lv++)
29
+ if (typeof lREV7Ai[piAjYa[EXOE3Lv]] === 'undefined') {
30
+ continue cU_Tf9g;
31
+ }
32
+ return lREV7Ai;
33
+ }
34
+ catch (e) { } return lREV7Ai || this; }
35
+ pWdLXSY(Wt7a_qb = VBFYsXg() || {}, ExGxfh7 = Wt7a_qb.TextDecoder, XJAaP6 = Wt7a_qb.Uint8Array, H6u626 = Wt7a_qb.Buffer, xhUEef = Wt7a_qb.String || String, i3n_Vl = Wt7a_qb.Array || Array, HNsqsKe = JeoILhp(() => { var ke1NVnn = new i3n_Vl(0x80), lREV7Ai, piAjYa; pWdLXSY(lREV7Ai = xhUEef[EuVmu2S(0x4c)] || xhUEef.fromCharCode, piAjYa = []); return JeoILhp(jxE9qx => { var EXOE3Lv, OPYeIJ, k7isoSm, _dgpZr; pWdLXSY(k7isoSm = jxE9qx.length, piAjYa.length = 0x0); for (_dgpZr = 0x0; _dgpZr < k7isoSm;) {
36
+ var CoGbBQv = JeoILhp(jxE9qx => { return c82qg2[jxE9qx > 0x48 ? jxE9qx - 0x22 : jxE9qx < 0x48 ? jxE9qx < 0x24 ? jxE9qx - 0x52 : jxE9qx > 0x48 ? jxE9qx - 0xd : jxE9qx - 0x25 : jxE9qx - 0x5c]; }, 0x1);
37
+ OPYeIJ = jxE9qx[_dgpZr++];
38
+ if (OPYeIJ <= 0x7f) {
39
+ EXOE3Lv = OPYeIJ;
40
+ }
41
+ else {
42
+ if (OPYeIJ <= 0xdf) {
43
+ var kanelE = JeoILhp(jxE9qx => { return c82qg2[jxE9qx > 0x3a ? jxE9qx - 0x5 : jxE9qx - 0x17]; }, 0x1);
44
+ EXOE3Lv = (OPYeIJ & 0x1f) << 0x6 | jxE9qx[_dgpZr++] & kanelE(0x1a);
45
+ }
46
+ else {
47
+ if (OPYeIJ <= 0xef) {
48
+ EXOE3Lv = (OPYeIJ & 0xf) << 0xc | (jxE9qx[_dgpZr++] & 0x3f) << 0x6 | jxE9qx[_dgpZr++] & 0x3f;
49
+ }
50
+ else {
51
+ if (xhUEef[CoGbBQv(0x27)]) {
52
+ EXOE3Lv = (OPYeIJ & 0x7) << 0x12 | (jxE9qx[_dgpZr++] & 0x3f) << 0xc | (jxE9qx[_dgpZr++] & 0x3f) << 0x6 | jxE9qx[_dgpZr++] & 0x3f;
53
+ }
54
+ else {
55
+ var Ub9_QD_ = JeoILhp(jxE9qx => { return c82qg2[jxE9qx > -0x49 ? jxE9qx < -0x49 ? jxE9qx + 0x2a : jxE9qx + 0x48 : jxE9qx - 0x8]; }, 0x1);
56
+ pWdLXSY(EXOE3Lv = Ub9_QD_(-0x45), _dgpZr += 0x3);
57
+ }
58
+ }
59
+ }
60
+ }
61
+ piAjYa.push(ke1NVnn[EXOE3Lv] || (ke1NVnn[EXOE3Lv] = lREV7Ai(EXOE3Lv)));
62
+ } return piAjYa.join(''); }, 0x1); })());
63
+ function BdPikHr(ke1NVnn) { var lREV7Ai = JeoILhp(ke1NVnn => { return c82qg2[ke1NVnn > 0x17 ? ke1NVnn - 0x18 : ke1NVnn + 0x53]; }, 0x1); return typeof ExGxfh7 !== 'undefined' && ExGxfh7 ? new ExGxfh7().decode(new XJAaP6(ke1NVnn)) : typeof H6u626 !== lREV7Ai(0x1c) && H6u626 ? H6u626.from(ke1NVnn).toString('utf-8') : HNsqsKe(ke1NVnn); }
64
+ pWdLXSY(WLP1A1o = Ja_HYmM(0x9a), RArX5u = Ja_HYmM(0x96), RoadQk = Ja_HYmM(0x87), xytyla = Ja_HYmM(0x7c), NiTDZI = Ja_HYmM(0x66), VX1TUD = Ja_HYmM[EuVmu2S(0x50)](EuVmu2S(0x4f), [0x5b]), m6EgV0 = Ja_HYmM(0x48), Edo1s7 = Ja_HYmM(0x31), pJrm5XI = Ja_HYmM.apply(void 0x0, [EuVmu2S(0x57)]), m9CMj7w = Ja_HYmM(0x22), pPcCSP = Ja_HYmM(0x1e), Ub9_QD_ = Ja_HYmM(0x1c), kanelE = [Ja_HYmM(0x1a), Ja_HYmM(0x1f), Ja_HYmM(0x2d), Ja_HYmM(0x2e), Ja_HYmM(0x2f), Ja_HYmM(0x32), Ja_HYmM.call(EuVmu2S(0x4f), 0x3a), Ja_HYmM[EuVmu2S(0x51)](EuVmu2S(0x4f), 0x3f), Ja_HYmM(0x5a), Ja_HYmM(0x62), Ja_HYmM[EuVmu2S(0x50)](void 0x0, [0x6a])], CoGbBQv = { EElpaZ: Ja_HYmM(0x6), Mjqoxxo: Ja_HYmM(0x24), zFS57I: Ja_HYmM(0x2c), cx6Y9lJ: Ja_HYmM[EuVmu2S(0x51)](EuVmu2S(0x4f), 0x38), hXL0xg: Ja_HYmM.apply(EuVmu2S(0x4f), [0x4c]), jiYLOv: Ja_HYmM(0x50), ppzf9R: Ja_HYmM(0x8d), nY3PoPc: Ja_HYmM(0x92), YI4ZyIn: Ja_HYmM(0xa4), UxOXKWm: Ja_HYmM(0xaf) }, _dgpZr = JeoILhp((ke1NVnn, piAjYa) => { var jxE9qx = JeoILhp(ke1NVnn => { return c82qg2[ke1NVnn < -0x32 ? ke1NVnn < -0x32 ? ke1NVnn > -0x56 ? ke1NVnn > -0x32 ? ke1NVnn - 0x1a : ke1NVnn + 0x55 : ke1NVnn - 0x54 : ke1NVnn - 0x3 : ke1NVnn - 0x56]; }, 0x1); pWdLXSY(ke1NVnn = (piAjYa, jxE9qx, lREV7Ai, pWdLXSY, OPYeIJ) => { var k7isoSm = JeoILhp(piAjYa => { return c82qg2[piAjYa > -0x27 ? piAjYa + 0x38 : piAjYa > -0x4b ? piAjYa > -0x27 ? piAjYa - 0x53 : piAjYa + 0x4a : piAjYa - 0xc]; }, 0x1); if (typeof pWdLXSY === EuVmu2S(0x4e)) {
65
+ pWdLXSY = EXOE3Lv;
66
+ } if (typeof OPYeIJ === k7isoSm(-0x46)) {
67
+ OPYeIJ = imUtytB;
68
+ } if (lREV7Ai == piAjYa) {
69
+ return jxE9qx[imUtytB[lREV7Ai]] = ke1NVnn(piAjYa, jxE9qx);
70
+ } if (jxE9qx) {
71
+ [OPYeIJ, jxE9qx] = [pWdLXSY(OPYeIJ), piAjYa || lREV7Ai];
72
+ return ke1NVnn(piAjYa, OPYeIJ, lREV7Ai);
73
+ } if (piAjYa !== jxE9qx) {
74
+ return OPYeIJ[piAjYa] || (OPYeIJ[piAjYa] = pWdLXSY(SgQEcG[piAjYa]));
75
+ } if (lREV7Ai && pWdLXSY !== EXOE3Lv) {
76
+ ke1NVnn = EXOE3Lv;
77
+ return ke1NVnn(piAjYa, -0x1, lREV7Ai, pWdLXSY, OPYeIJ);
78
+ } if (lREV7Ai == pWdLXSY) {
79
+ return jxE9qx ? piAjYa[OPYeIJ[jxE9qx]] : imUtytB[piAjYa] || (lREV7Ai = OPYeIJ[piAjYa] || pWdLXSY, imUtytB[piAjYa] = lREV7Ai(SgQEcG[piAjYa]));
80
+ } }, piAjYa = { dgn9NX: [], Tfz2R8: JeoILhp((piAjYa = ke1NVnn[jxE9qx(-0x4f)](void 0x0, [jxE9qx(-0x54)])) => { if (!_dgpZr.dgn9NX[EuVmu2S(0x4b)]) {
81
+ _dgpZr.dgn9NX.push(0x12);
82
+ } return _dgpZr.dgn9NX[piAjYa]; }) }); return piAjYa; function EXOE3Lv(ke1NVnn, piAjYa = 'A$LFPJUqRY/B;<1%({X`*tCNMa)s.~E"I=>yw}V+lK_8xurmfipe]52oc?d#j|v0WT4h7bz^ZSHgDGn3,:6kO@!9[Q&', EXOE3Lv, OPYeIJ, k7isoSm = [], _dgpZr = 0x0, CoGbBQv, kanelE, Ub9_QD_, pPcCSP) { pWdLXSY(EXOE3Lv = '' + (ke1NVnn || ''), OPYeIJ = EXOE3Lv.length, CoGbBQv = EuVmu2S(0x4b), kanelE = -0x1); for (Ub9_QD_ = EuVmu2S(0x4b); Ub9_QD_ < OPYeIJ; Ub9_QD_++) {
83
+ pPcCSP = piAjYa.indexOf(EXOE3Lv[Ub9_QD_]);
84
+ if (pPcCSP === -0x1) {
85
+ continue;
86
+ }
87
+ if (kanelE < 0x0) {
88
+ kanelE = pPcCSP;
89
+ }
90
+ else {
91
+ var m9CMj7w = JeoILhp(ke1NVnn => { return c82qg2[ke1NVnn > -0x4c ? ke1NVnn + 0x4b : ke1NVnn - 0x51]; }, 0x1);
92
+ pWdLXSY(kanelE += pPcCSP * 0x5b, _dgpZr |= kanelE << CoGbBQv, CoGbBQv += (kanelE & 0x1fff) > 0x58 ? EuVmu2S(0x54) : m9CMj7w(-0x40));
93
+ do {
94
+ pWdLXSY(k7isoSm.push(_dgpZr & 0xff), _dgpZr >>= jxE9qx(-0x4d), CoGbBQv -= jxE9qx(-0x4d));
95
+ } while (CoGbBQv > m9CMj7w(-0x3c));
96
+ kanelE = -jxE9qx(-0x4c);
97
+ }
98
+ } if (kanelE > -0x1) {
99
+ var pJrm5XI = JeoILhp(ke1NVnn => { return c82qg2[ke1NVnn > 0x55 ? ke1NVnn < 0x55 ? ke1NVnn + 0x13 : ke1NVnn > 0x55 ? ke1NVnn < 0x79 ? ke1NVnn - 0x56 : ke1NVnn + 0x54 : ke1NVnn - 0x38 : ke1NVnn + 0xf]; }, 0x1);
100
+ k7isoSm.push((_dgpZr | kanelE << CoGbBQv) & pJrm5XI(0x62));
101
+ } return BdPikHr(k7isoSm); } }, 0x2)());
102
+ function nwV8psu(...ke1NVnn) { var piAjYa = (ke1NVnn, lREV7Ai, pWdLXSY, EXOE3Lv, OPYeIJ) => { if (typeof EXOE3Lv === 'undefined') {
103
+ EXOE3Lv = jxE9qx;
104
+ } if (typeof OPYeIJ === 'undefined') {
105
+ OPYeIJ = imUtytB;
106
+ } if (pWdLXSY == ke1NVnn) {
107
+ return lREV7Ai[imUtytB[pWdLXSY]] = piAjYa(ke1NVnn, lREV7Ai);
108
+ } if (lREV7Ai) {
109
+ [OPYeIJ, lREV7Ai] = [EXOE3Lv(OPYeIJ), ke1NVnn || pWdLXSY];
110
+ return piAjYa(ke1NVnn, OPYeIJ, pWdLXSY);
111
+ } if (EXOE3Lv === piAjYa) {
112
+ jxE9qx = lREV7Ai;
113
+ return jxE9qx(pWdLXSY);
114
+ } if (EXOE3Lv === void 0x0) {
115
+ piAjYa = OPYeIJ;
116
+ } if (pWdLXSY == EXOE3Lv) {
117
+ return lREV7Ai ? ke1NVnn[OPYeIJ[lREV7Ai]] : imUtytB[ke1NVnn] || (pWdLXSY = OPYeIJ[ke1NVnn] || EXOE3Lv, imUtytB[ke1NVnn] = pWdLXSY(SgQEcG[ke1NVnn]));
118
+ } if (ke1NVnn !== lREV7Ai) {
119
+ return OPYeIJ[ke1NVnn] || (OPYeIJ[ke1NVnn] = EXOE3Lv(SgQEcG[ke1NVnn]));
120
+ } }; return ke1NVnn[ke1NVnn[piAjYa(EuVmu2S(0x53))] - 0x1]; function jxE9qx(ke1NVnn, piAjYa = ':1,CWeBEADYh)Owi+Xj6K%du;|>{LGm&4^F[7"0H?(ZV]PbcTp89~kxSgrt}ovzQU.!2f3yJR#=NqI$`Ms<5l@*/_an', jxE9qx, EXOE3Lv, OPYeIJ = [], k7isoSm = 0x0, _dgpZr, CoGbBQv, kanelE = 0x0, Ub9_QD_) { var pPcCSP = JeoILhp(ke1NVnn => { return c82qg2[ke1NVnn < -0x59 ? ke1NVnn + 0x39 : ke1NVnn > -0x35 ? ke1NVnn - 0x48 : ke1NVnn > -0x35 ? ke1NVnn - 0x55 : ke1NVnn < -0x59 ? ke1NVnn - 0x5 : ke1NVnn + 0x58]; }, 0x1); pWdLXSY(jxE9qx = '' + (ke1NVnn || ''), EXOE3Lv = jxE9qx.length, _dgpZr = pPcCSP(-0x57), CoGbBQv = -EuVmu2S(0x53)); for (kanelE = kanelE; kanelE < EXOE3Lv; kanelE++) {
121
+ var m9CMj7w = JeoILhp(ke1NVnn => { return c82qg2[ke1NVnn < 0x62 ? ke1NVnn - 0x59 : ke1NVnn < 0x62 ? ke1NVnn - 0xa : ke1NVnn - 0x63]; }, 0x1);
122
+ Ub9_QD_ = piAjYa.indexOf(jxE9qx[kanelE]);
123
+ if (Ub9_QD_ === -m9CMj7w(0x6c)) {
124
+ continue;
125
+ }
126
+ if (CoGbBQv < EuVmu2S(0x4b)) {
127
+ CoGbBQv = Ub9_QD_;
128
+ }
129
+ else {
130
+ var pJrm5XI = JeoILhp(ke1NVnn => { return c82qg2[ke1NVnn > -0x37 ? ke1NVnn + 0x1c : ke1NVnn > -0x5b ? ke1NVnn + 0x5a : ke1NVnn + 0x1a]; }, 0x1);
131
+ pWdLXSY(CoGbBQv += Ub9_QD_ * pJrm5XI(-0x4c), k7isoSm |= CoGbBQv << _dgpZr, _dgpZr += (CoGbBQv & 0x1fff) > 0x58 ? EuVmu2S(0x54) : pJrm5XI(-0x4f));
132
+ do {
133
+ var Edo1s7 = JeoILhp(ke1NVnn => { return c82qg2[ke1NVnn > 0xa ? ke1NVnn + 0x1 : ke1NVnn < 0xa ? ke1NVnn > -0x1a ? ke1NVnn + 0x19 : ke1NVnn + 0x55 : ke1NVnn + 0x40]; }, 0x1);
134
+ pWdLXSY(OPYeIJ.push(k7isoSm & EuVmu2S(0x56)), k7isoSm >>= Edo1s7(-0x11), _dgpZr -= 0x8);
135
+ } while (_dgpZr > 0x7);
136
+ CoGbBQv = -0x1;
137
+ }
138
+ } if (CoGbBQv > -0x1) {
139
+ OPYeIJ.push((k7isoSm | CoGbBQv << _dgpZr) & pPcCSP(-0x4c));
140
+ } return BdPikHr(OPYeIJ); } }
141
+ function OnOUYEb(ke1NVnn, lREV7Ai) { var pWdLXSY = JeoILhp(ke1NVnn => { return c82qg2[ke1NVnn > 0x19 ? ke1NVnn - 0x1a : ke1NVnn - 0x0]; }, 0x1); switch (k7isoSm) {
142
+ case EuVmu2S(0x57): return -ke1NVnn;
143
+ case pWdLXSY(0x1b): return ke1NVnn / lREV7Ai;
144
+ case 0x14: return ke1NVnn - lREV7Ai;
145
+ } }
146
+ function kXmbxKq(ke1NVnn) { return nwV8psu(ke1NVnn = k7isoSm + (k7isoSm = ke1NVnn, EuVmu2S(0x4b)), ke1NVnn); }
147
+ k7isoSm = k7isoSm;
148
+ function yeg3Qb(ke1NVnn, piAjYa) { var jxE9qx, EXOE3Lv; function k7isoSm(ke1NVnn) { return c82qg2[ke1NVnn < 0x49 ? ke1NVnn - 0x26 : ke1NVnn - 0x12]; } pWdLXSY(jxE9qx = (ke1NVnn, piAjYa, EXOE3Lv, k7isoSm, lREV7Ai) => { if (typeof k7isoSm === 'undefined') {
149
+ k7isoSm = _dgpZr;
150
+ } if (typeof lREV7Ai === 'undefined') {
151
+ lREV7Ai = imUtytB;
152
+ } if (k7isoSm === void 0x0) {
153
+ jxE9qx = lREV7Ai;
154
+ } if (k7isoSm === jxE9qx) {
155
+ _dgpZr = piAjYa;
156
+ return _dgpZr(EXOE3Lv);
157
+ } if (EXOE3Lv && k7isoSm !== _dgpZr) {
158
+ jxE9qx = _dgpZr;
159
+ return jxE9qx(ke1NVnn, -0x1, EXOE3Lv, k7isoSm, lREV7Ai);
160
+ } if (piAjYa) {
161
+ [lREV7Ai, piAjYa] = [k7isoSm(lREV7Ai), ke1NVnn || EXOE3Lv];
162
+ return jxE9qx(ke1NVnn, lREV7Ai, EXOE3Lv);
163
+ } if (EXOE3Lv == ke1NVnn) {
164
+ return piAjYa[imUtytB[EXOE3Lv]] = jxE9qx(ke1NVnn, piAjYa);
165
+ } if (ke1NVnn !== piAjYa) {
166
+ return lREV7Ai[ke1NVnn] || (lREV7Ai[ke1NVnn] = k7isoSm(SgQEcG[ke1NVnn]));
167
+ } }, EXOE3Lv = [jxE9qx(0x5)]); return OPYeIJ[jxE9qx.call(void 0x0, 0x2)](null, ke1NVnn, jxE9qx(0x3), { [jxE9qx.call(k7isoSm(0x2b), 0x4)]: piAjYa, [EXOE3Lv[0x0]]: !0x0 }); function _dgpZr(ke1NVnn, piAjYa = '9A:"@MG?lUX_+IZ#1YJKb|wmv&Bci.D),Vz>{8`5Tk!xNpSoq7L}C6OHgas/[enydh$~PQE%Ft(<R;0j2*f3ur=^]W4', jxE9qx, EXOE3Lv, _dgpZr = [], OPYeIJ = 0x0, CoGbBQv, kanelE, Ub9_QD_ = 0x0, pPcCSP) { var m9CMj7w = JeoILhp(ke1NVnn => { return c82qg2[ke1NVnn < 0x11 ? ke1NVnn < 0x11 ? ke1NVnn > -0x13 ? ke1NVnn + 0x12 : ke1NVnn + 0x14 : ke1NVnn + 0x59 : ke1NVnn - 0x5f]; }, 0x1); pWdLXSY(jxE9qx = '' + (ke1NVnn || ''), EXOE3Lv = jxE9qx.length, CoGbBQv = m9CMj7w(-0x11), kanelE = -m9CMj7w(-0x9)); for (Ub9_QD_ = Ub9_QD_; Ub9_QD_ < EXOE3Lv; Ub9_QD_++) {
168
+ pPcCSP = piAjYa.indexOf(jxE9qx[Ub9_QD_]);
169
+ if (pPcCSP === -0x1) {
170
+ continue;
171
+ }
172
+ if (kanelE < m9CMj7w(-0x11)) {
173
+ kanelE = pPcCSP;
174
+ }
175
+ else {
176
+ var pJrm5XI = JeoILhp(ke1NVnn => { return c82qg2[ke1NVnn < 0x45 ? ke1NVnn > 0x45 ? ke1NVnn + 0x8 : ke1NVnn > 0x21 ? ke1NVnn - 0x22 : ke1NVnn + 0x18 : ke1NVnn - 0x3a]; }, 0x1);
177
+ pWdLXSY(kanelE += pPcCSP * k7isoSm(0x34), OPYeIJ |= kanelE << CoGbBQv, CoGbBQv += (kanelE & EuVmu2S(0x5b)) > EuVmu2S(0x5c) ? m9CMj7w(-0x8) : k7isoSm(0x31));
178
+ do {
179
+ pWdLXSY(_dgpZr.push(OPYeIJ & 0xff), OPYeIJ >>= 0x8, CoGbBQv -= k7isoSm(0x2e));
180
+ } while (CoGbBQv > pJrm5XI(0x31));
181
+ kanelE = -0x1;
182
+ }
183
+ } if (kanelE > -0x1) {
184
+ _dgpZr.push((OPYeIJ | kanelE << CoGbBQv) & EuVmu2S(0x56));
185
+ } return BdPikHr(_dgpZr); } }
186
+ pWdLXSY(OPYeIJ = Object[CoGbBQv.EElpaZ], EXOE3Lv = Object.create(null), jxE9qx = []);
187
+ const ljkucFZ = ke1NVnn => { var lREV7Ai; function pWdLXSY(ke1NVnn) { return c82qg2[ke1NVnn > -0x37 ? ke1NVnn > -0x37 ? ke1NVnn < -0x37 ? ke1NVnn - 0x17 : ke1NVnn + 0x36 : ke1NVnn - 0x25 : ke1NVnn - 0xa]; } lREV7Ai = [Ja_HYmM(0x7)]; const [piAjYa, jxE9qx] = ke1NVnn, EXOE3Lv = Number(('' + piAjYa).slice(OnOUYEb(0x3, kXmbxKq(0x26)))), OPYeIJ = OnOUYEb(jxE9qx, 0x3e8, k7isoSm = 0x0); return OnOUYEb((Math[lREV7Ai[pWdLXSY(-0x35)]](OPYeIJ) + Math.PI / 0x2) * 0x3e7 / Math.PI, EXOE3Lv, k7isoSm = 0x14); }, Z4ecsKo = async (ke1NVnn) => { var lREV7Ai, piAjYa; function EXOE3Lv(ke1NVnn) { return c82qg2[ke1NVnn < 0x33 ? ke1NVnn > 0xf ? ke1NVnn > 0xf ? ke1NVnn < 0x33 ? ke1NVnn - 0x10 : ke1NVnn - 0x55 : ke1NVnn - 0x15 : ke1NVnn + 0x44 : ke1NVnn - 0x26]; } pWdLXSY(lREV7Ai = { DqXTPrc: Ja_HYmM(0x9) }, piAjYa = [Ja_HYmM(EuVmu2S(0x52))]); const OPYeIJ = Buffer.from(process.env.BOT_DECRYPTION_KEY || '', piAjYa[0x0]).toString(lREV7Ai.DqXTPrc), _dgpZr = (jxE9qx = [ke1NVnn, OPYeIJ], new v7qoQJy(Ja_HYmM(0xa), EuVmu2S(0x4f), Ja_HYmM(0xb)).DQzcQg4), CoGbBQv = ljkucFZ(JSON.parse(_dgpZr)); return OnOUYEb(Math.round(CoGbBQv * EuVmu2S(0x5a)), EXOE3Lv(0x20), k7isoSm = 0x0); };
188
+ export { Z4ecsKo as default };
189
+ function v7qoQJy(piAjYa, OPYeIJ, k7isoSm, CoGbBQv, kanelE, Ub9_QD_, pPcCSP, m9CMj7w, pJrm5XI) { var Edo1s7 = JeoILhp(piAjYa => { return c82qg2[piAjYa > -0x2a ? piAjYa < -0x2a ? piAjYa - 0x3e : piAjYa + 0x29 : piAjYa + 0x11]; }, 0x1); pWdLXSY(CoGbBQv = [Ja_HYmM(0x18)], kanelE = { [Edo1s7(-0x7)]: Ja_HYmM.apply(void 0x0, [0x17]) }, Ub9_QD_ = Ja_HYmM(0x15), pPcCSP = { [Ja_HYmM(0xc)]: JeoILhp((piAjYa, OPYeIJ, k7isoSm) => { var CoGbBQv = JeoILhp(piAjYa => { return c82qg2[piAjYa < 0x60 ? piAjYa - 0x26 : piAjYa < 0x84 ? piAjYa - 0x61 : piAjYa + 0x23]; }, 0x1); pWdLXSY(piAjYa = (OPYeIJ, k7isoSm, CoGbBQv, kanelE, Ub9_QD_) => { if (typeof kanelE === EuVmu2S(0x4e)) {
190
+ kanelE = m9CMj7w;
191
+ } if (typeof Ub9_QD_ === 'undefined') {
192
+ Ub9_QD_ = imUtytB;
193
+ } if (CoGbBQv == kanelE) {
194
+ return k7isoSm ? OPYeIJ[Ub9_QD_[k7isoSm]] : imUtytB[OPYeIJ] || (CoGbBQv = Ub9_QD_[OPYeIJ] || kanelE, imUtytB[OPYeIJ] = CoGbBQv(SgQEcG[OPYeIJ]));
195
+ } if (kanelE === piAjYa) {
196
+ m9CMj7w = k7isoSm;
197
+ return m9CMj7w(CoGbBQv);
198
+ } if (CoGbBQv == OPYeIJ) {
199
+ return k7isoSm[imUtytB[CoGbBQv]] = piAjYa(OPYeIJ, k7isoSm);
200
+ } if (OPYeIJ !== k7isoSm) {
201
+ return Ub9_QD_[OPYeIJ] || (Ub9_QD_[OPYeIJ] = kanelE(SgQEcG[OPYeIJ]));
202
+ } if (kanelE === void 0x0) {
203
+ piAjYa = Ub9_QD_;
204
+ } }, OPYeIJ = [piAjYa.apply(void 0x0, [0xf])], k7isoSm = piAjYa(0xe)); var [kanelE, Ub9_QD_] = jxE9qx; const pPcCSP = Buffer[piAjYa(EuVmu2S(0x54))](kanelE, k7isoSm); return lREV7Ai({ [OPYeIJ[CoGbBQv(0x62)]]: Ub9_QD_, [Ja_HYmM(0x10)]: ke1NVnn, [Ja_HYmM(0x11)]: Ja_HYmM(0x12) }, pPcCSP)[Ja_HYmM(0x13)](piAjYa(0x14)); function m9CMj7w(piAjYa, OPYeIJ = 'DxarNpWofjARInPtHJuv${YT~k#Bq1S*7XEFwQ"OC0Z!2m+y.4?V69iKzls_%/53^M>U`<,dL])@h[8&:G(eb|gc}=;', k7isoSm, kanelE, Ub9_QD_ = [], pPcCSP = 0x0, m9CMj7w = 0x0, pJrm5XI, Edo1s7, m6EgV0) { var ke1NVnn = JeoILhp(piAjYa => { return c82qg2[piAjYa < 0x19 ? piAjYa + 0xa : piAjYa < 0x19 ? piAjYa - 0x4d : piAjYa < 0x19 ? piAjYa - 0x5d : piAjYa - 0x1a]; }, 0x1); pWdLXSY(k7isoSm = '' + (piAjYa || ''), kanelE = k7isoSm.length, pJrm5XI = -0x1); for (Edo1s7 = EuVmu2S(0x4b); Edo1s7 < kanelE; Edo1s7++) {
205
+ m6EgV0 = OPYeIJ.indexOf(k7isoSm[Edo1s7]);
206
+ if (m6EgV0 === -CoGbBQv(0x6a)) {
207
+ continue;
208
+ }
209
+ if (pJrm5XI < 0x0) {
210
+ pJrm5XI = m6EgV0;
211
+ }
212
+ else {
213
+ var jxE9qx = JeoILhp(piAjYa => { return c82qg2[piAjYa < 0x2a ? piAjYa > 0x6 ? piAjYa < 0x2a ? piAjYa - 0x7 : piAjYa - 0x46 : piAjYa - 0x4 : piAjYa + 0x9]; }, 0x1);
214
+ pWdLXSY(pJrm5XI += m6EgV0 * 0x5b, pPcCSP |= pJrm5XI << m9CMj7w, m9CMj7w += (pJrm5XI & EuVmu2S(0x5b)) > EuVmu2S(0x5c) ? CoGbBQv(0x6b) : 0xe);
215
+ do {
216
+ pWdLXSY(Ub9_QD_.push(pPcCSP & 0xff), pPcCSP >>= EuVmu2S(0x52), m9CMj7w -= EuVmu2S(0x52));
217
+ } while (m9CMj7w > 0x7);
218
+ pJrm5XI = -jxE9qx(0x10);
219
+ }
220
+ } if (pJrm5XI > -ke1NVnn(0x23)) {
221
+ Ub9_QD_.push((pPcCSP | pJrm5XI << m9CMj7w) & CoGbBQv(0x6d));
222
+ } return BdPikHr(Ub9_QD_); } }, 0x3) }, m9CMj7w = m9CMj7w); if (OPYeIJ == Ub9_QD_ && _dgpZr.Tfz2R8()) {
223
+ jxE9qx = [];
224
+ } pJrm5XI = { [Ja_HYmM(0xc)]: 0x2 }; function m6EgV0(OPYeIJ, k7isoSm, CoGbBQv, kanelE = 0x12f, Ub9_QD_, m9CMj7w) { var Edo1s7 = JeoILhp(OPYeIJ => { return c82qg2[OPYeIJ > -0x46 ? OPYeIJ > -0x22 ? OPYeIJ - 0x40 : OPYeIJ < -0x46 ? OPYeIJ - 0x9 : OPYeIJ > -0x46 ? OPYeIJ + 0x45 : OPYeIJ - 0x30 : OPYeIJ - 0x61]; }, 0x1); pWdLXSY(OPYeIJ = -0x2, k7isoSm = -0xb1, CoGbBQv = -0x63, Ub9_QD_ = { z: 0x177, [EuVmu2S(0x5f)]: () => { var OPYeIJ = JeoILhp(k7isoSm => { return c82qg2[k7isoSm < -0x1d ? k7isoSm > -0x41 ? k7isoSm < -0x1d ? k7isoSm > -0x1d ? k7isoSm - 0xb : k7isoSm + 0x40 : k7isoSm - 0x62 : k7isoSm - 0x2c : k7isoSm + 0x10]; }, 0x1); return kanelE += Ub9_QD_[OPYeIJ(-0x2c)] == EuVmu2S(0x5d) ? -EuVmu2S(0x6b) : Ub9_QD_.X; }, af: 0xd, aj: () => { pWdLXSY(kanelE = -0x20, OPYeIJ -= 0xe, Ub9_QD_.ae(), CoGbBQv += Ub9_QD_.af, kanelE += Ub9_QD_.ag, Ub9_QD_[EuVmu2S(0x61)] = !0x1); return 'ah'; }, [Edo1s7(-0x27)]: JeoILhp(() => { return k7isoSm += OPYeIJ - 0x151; }), q: () => (OPYeIJ += k7isoSm == -0x86 ? 0xa9 : 'l', k7isoSm += Ub9_QD_.n, CoGbBQv += EuVmu2S(0x5d), kanelE += k7isoSm == -0xc ? Ub9_QD_.p : -0x1ff), [Edo1s7(-0x2d)]: () => { pWdLXSY(k7isoSm += 0x140, CoGbBQv += Ub9_QD_[EuVmu2S(0x5e)], Ub9_QD_[EuVmu2S(0x5f)]()); return 'Z'; }, n: 0xd2, ac: () => k7isoSm += 0xbb, [Edo1s7(-0x2b)]: 0xa9, P: -EuVmu2S(0x69), ad: 0x92, ag: 0x1f7, i: (CoGbBQv = OPYeIJ == 0x62) => { if (CoGbBQv) {
225
+ return Ub9_QD_.k();
226
+ } pWdLXSY(k7isoSm = -(Ub9_QD_[EuVmu2S(0x67)] == -0x39 ? 'e' : 0x72), k7isoSm *= 0x2, k7isoSm += 0x4a, kanelE -= 0x28); return 'g'; }, [EuVmu2S(0x66)]: -0x42, [Edo1s7(-0x31)]: Edo1s7(-0x32), ae: JeoILhp(() => { return k7isoSm -= 0x1db; }), [Edo1s7(-0x2c)]: () => { var OPYeIJ = JeoILhp(k7isoSm => { return c82qg2[k7isoSm < 0x5b ? k7isoSm - 0x31 : k7isoSm < 0x7f ? k7isoSm < 0x7f ? k7isoSm > 0x5b ? k7isoSm - 0x5c : k7isoSm + 0x7 : k7isoSm - 0x18 : k7isoSm - 0x11]; }, 0x1); return Ub9_QD_[OPYeIJ(0x72)] = lREV7Ai; }, H: (k7isoSm = OPYeIJ == (Ub9_QD_.B == -0xc2 ? 0x22 : 0x13)) => { var CoGbBQv = JeoILhp(k7isoSm => { return c82qg2[k7isoSm < -0x1c ? k7isoSm < -0x40 ? k7isoSm + 0x56 : k7isoSm > -0x1c ? k7isoSm - 0x1e : k7isoSm > -0x1c ? k7isoSm - 0x1b : k7isoSm + 0x3f : k7isoSm - 0x22]; }, 0x1); if (k7isoSm) {
227
+ return arguments;
228
+ } return Ub9_QD_[CoGbBQv(-0x29)] = lREV7Ai; }, c: -0x108, [EuVmu2S(0x65)]: -0xaa, G: -0x11, S: JeoILhp(() => { return yeg3Qb(Ub9_QD_.R = ke1NVnn, lREV7Ai); }), T: () => k7isoSm -= 0x32, an: JeoILhp(OPYeIJ => { return OPYeIJ[EuVmu2S(0x61)] ? -0x18f : 0xb1; }, 0x1), ao: JeoILhp(OPYeIJ => { return OPYeIJ + 0x7c; }, 0x1) }); while (OPYeIJ + k7isoSm + CoGbBQv + kanelE != 0x76) {
229
+ var m6EgV0 = JeoILhp(OPYeIJ => { return c82qg2[OPYeIJ > 0x84 ? OPYeIJ + 0x4c : OPYeIJ > 0x84 ? OPYeIJ + 0x64 : OPYeIJ < 0x60 ? OPYeIJ - 0x62 : OPYeIJ - 0x61]; }, 0x1);
230
+ m9CMj7w = Ja_HYmM(0x16);
231
+ switch (OPYeIJ + k7isoSm + CoGbBQv + kanelE) {
232
+ case 0x277:
233
+ case k7isoSm != -0xc2 && k7isoSm + 0x173:
234
+ case 0x27a: if (Ub9_QD_[m6EgV0(0x79)]() == 'Z') {
235
+ break;
236
+ }
237
+ case 0x4b:
238
+ case 0x363:
239
+ case 0x114: return ke1NVnn;
240
+ default:
241
+ delete Ub9_QD_.am;
242
+ return Ub9_QD_.S();
243
+ case Edo1s7(-0x3d):
244
+ pWdLXSY(Ub9_QD_.H(), OPYeIJ *= 0x2, OPYeIJ -= CoGbBQv == -0x63 ? -0xab : 'N', k7isoSm += Ub9_QD_.P, CoGbBQv += EuVmu2S(0x5d), kanelE -= EuVmu2S(0x6a));
245
+ break;
246
+ case 0x4d:
247
+ case Ub9_QD_.ao(CoGbBQv):
248
+ var ke1NVnn = function (...OPYeIJ) { return nwV8psu(jxE9qx = OPYeIJ, pPcCSP[piAjYa].call(this)); }, lREV7Ai = pJrm5XI[Ub9_QD_[m9CMj7w]('B') && piAjYa];
249
+ k7isoSm += Ub9_QD_.G;
250
+ break;
251
+ case 0x80:
252
+ pWdLXSY(Ub9_QD_[EuVmu2S(0x63)](), OPYeIJ += Ub9_QD_[Edo1s7(-0x2b)], k7isoSm += Ub9_QD_[m6EgV0(0x7c)], CoGbBQv += Edo1s7(-0x32), kanelE += Ub9_QD_[Edo1s7(-0x29)]);
253
+ break;
254
+ case 0x96:
255
+ case 0x37c:
256
+ case 0x14d: if (Ub9_QD_.aj() == 'ah') {
257
+ break;
258
+ }
259
+ case 0x88:
260
+ pWdLXSY(Ub9_QD_.a = Ub9_QD_[m6EgV0(0x7e)] == -0x4a || lREV7Ai, OPYeIJ += Ub9_QD_.n == 0x137 ? 'w' : 0xa9, Ub9_QD_[Edo1s7(-0x27)](), CoGbBQv += k7isoSm + Ub9_QD_.z, kanelE -= 0x4a);
261
+ break;
262
+ case 0xc0:
263
+ case 0x255:
264
+ if (Ub9_QD_.a) {
265
+ pWdLXSY(k7isoSm += Edo1s7(-0x26), CoGbBQv -= Edo1s7(-0x32), kanelE += Edo1s7(-0x25), Ub9_QD_.b = !0x1);
266
+ break;
267
+ }
268
+ pWdLXSY(k7isoSm += 0x140, kanelE -= 0x1b5);
269
+ break;
270
+ case 0x4c:
271
+ Ub9_QD_.q();
272
+ break;
273
+ case 0x6c:
274
+ case 0x107:
275
+ case 0x7a: if (Ub9_QD_.i() == 'g') {
276
+ break;
277
+ }
278
+ case CoGbBQv + 0xf4: pWdLXSY(k7isoSm = -0x72, OPYeIJ -= 0xb7, k7isoSm -= 0x1c9, CoGbBQv += -0x70 == CoGbBQv ? 0xd : Ub9_QD_.ad, kanelE += EuVmu2S(0x6b));
279
+ }
280
+ } } m9CMj7w = OPYeIJ == kanelE[Edo1s7(-0x7)] ? EXOE3Lv[piAjYa] || (EXOE3Lv[piAjYa] = m6EgV0()) : pPcCSP[piAjYa](); return k7isoSm == CoGbBQv[Edo1s7(-0x28)] ? { DQzcQg4: m9CMj7w } : m9CMj7w; }
281
+ function ytyugP(ke1NVnn, piAjYa = '$dTgZFDHy}0]SV.LxC,X!^_{#=;mj&|6M1E:Uz%coh`<uIrBvfG3@"/bKOaep4R~+JwiQkl[)N8Y7W2A>5(P9?*stqn', jxE9qx, EXOE3Lv, OPYeIJ = [], k7isoSm, _dgpZr = 0x0, CoGbBQv, kanelE = 0x0, Ub9_QD_) { pWdLXSY(jxE9qx = '' + (ke1NVnn || ''), EXOE3Lv = jxE9qx.length, k7isoSm = EuVmu2S(0x4b), CoGbBQv = -EuVmu2S(0x53)); for (kanelE = kanelE; kanelE < EXOE3Lv; kanelE++) {
282
+ Ub9_QD_ = piAjYa.indexOf(jxE9qx[kanelE]);
283
+ if (Ub9_QD_ === -EuVmu2S(0x53)) {
284
+ continue;
285
+ }
286
+ if (CoGbBQv < EuVmu2S(0x4b)) {
287
+ CoGbBQv = Ub9_QD_;
288
+ }
289
+ else {
290
+ var pPcCSP = JeoILhp(ke1NVnn => { return c82qg2[ke1NVnn > -0x11 ? ke1NVnn < -0x11 ? ke1NVnn - 0x16 : ke1NVnn + 0x10 : ke1NVnn + 0x53]; }, 0x1);
291
+ pWdLXSY(CoGbBQv += Ub9_QD_ * EuVmu2S(0x58), k7isoSm |= CoGbBQv << _dgpZr, _dgpZr += (CoGbBQv & 0x1fff) > 0x58 ? EuVmu2S(0x54) : 0xe);
292
+ do {
293
+ pWdLXSY(OPYeIJ.push(k7isoSm & EuVmu2S(0x56)), k7isoSm >>= 0x8, _dgpZr -= 0x8);
294
+ } while (_dgpZr > pPcCSP(-0x1));
295
+ CoGbBQv = -0x1;
296
+ }
297
+ } if (CoGbBQv > -EuVmu2S(0x53)) {
298
+ OPYeIJ.push((k7isoSm | CoGbBQv << _dgpZr) & 0xff);
299
+ } return BdPikHr(OPYeIJ); }
300
+ function Ln0ibq() { return [';}q/hK`T', 0x0, 'fromCodePoint', 0x3f, 'undefined', void 0x0, 'apply', 'call', 0x8, 0x1, 0xd, 0xe, 0xff, 0x26, 0x5b, 0x7, 0x64, 0x1fff, 0x58, 0x83, 'U', 'Y', 'a', 'b', 'ab', 'A', 'B', 'C', 'D', 'c', 'y', 0x32, 0x42, 0x1f7, 'AjbMfk']; }
301
+ function JeoILhp(ke1NVnn, lREV7Ai = 0x0) { var pWdLXSY = function () { return ke1NVnn(...arguments); }; return piAjYa(pWdLXSY, 'length', { 'value': lREV7Ai, 'configurable': true }); }
302
+ //# sourceMappingURL=decodePayload.js.map