@restforgejs/platform 4.3.1 → 4.3.4

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 (176) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/dashboard/create.js +0 -1
  5. package/generators/cli/endpoint/create.js +1 -1
  6. package/generators/lib/generators/model-generator.js +1 -1
  7. package/generators/lib/payload/endpoint-schema-validator.js +11 -1
  8. package/generators/lib/payload/payload-runner.js +4 -4
  9. package/generators/lib/payload/schema-diff.js +186 -3
  10. package/generators/lib/templates/dashboard-catalog.js +1 -1
  11. package/generators/lib/templates/db-connection-env.js +1 -1
  12. package/generators/lib/templates/dbschema-catalog.js +1 -1
  13. package/generators/lib/templates/field-validation-catalog.js +1 -1
  14. package/generators/lib/templates/mysql-template.js +1 -1
  15. package/generators/lib/templates/oracle-template.js +1 -1
  16. package/generators/lib/templates/postgres-template.js +1 -1
  17. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  18. package/generators/lib/templates/sqlite-template.js +1 -1
  19. package/generators/lib/utils/conflict-checker.js +9 -57
  20. package/generators/lib/utils/database-introspector.js +84 -0
  21. package/generators/lib/utils/file-utils.js +0 -159
  22. package/generators/lib/utils/payload-processor.js +21 -112
  23. package/integrity-manifest.json +18 -18
  24. package/package.json +1 -1
  25. package/scripts/verify-integrity.js +1 -1
  26. package/server.js +1 -1
  27. package/src/components/handlers/adjust_handler.js +1 -1
  28. package/src/components/handlers/audit_handler.js +1 -1
  29. package/src/components/handlers/delete_handler.js +1 -1
  30. package/src/components/handlers/export_handler.js +1 -1
  31. package/src/components/handlers/import_handler.js +1 -1
  32. package/src/components/handlers/insert_handler.js +1 -1
  33. package/src/components/handlers/update_handler.js +1 -1
  34. package/src/components/handlers/upload_handler.js +1 -1
  35. package/src/components/handlers/workflow_handler.js +1 -1
  36. package/src/components/integrations/webhook.js +1 -1
  37. package/src/consumers/baseConsumer.js +1 -1
  38. package/src/consumers/declarativeMapper.js +1 -1
  39. package/src/consumers/handlers/apiHandler.js +1 -1
  40. package/src/consumers/handlers/consoleHandler.js +1 -1
  41. package/src/consumers/handlers/databaseHandler.js +1 -1
  42. package/src/consumers/handlers/index.js +1 -1
  43. package/src/consumers/handlers/kafkaHandler.js +1 -1
  44. package/src/consumers/index.js +1 -1
  45. package/src/consumers/messageTransformer.js +1 -1
  46. package/src/consumers/validator.js +1 -1
  47. package/src/core/db/dialect/base-dialect.js +1 -1
  48. package/src/core/db/dialect/index.js +1 -1
  49. package/src/core/db/dialect/mysql-dialect.js +1 -1
  50. package/src/core/db/dialect/oracle-dialect.js +1 -1
  51. package/src/core/db/dialect/postgres-dialect.js +1 -1
  52. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  53. package/src/core/db/flatten-helper.js +1 -1
  54. package/src/core/db/query-builder-error.js +1 -1
  55. package/src/core/db/query-builder.js +1 -1
  56. package/src/core/db/relation-helper.js +1 -1
  57. package/src/core/handlers/delete_handler.js +1 -1
  58. package/src/core/handlers/insert_handler.js +1 -1
  59. package/src/core/handlers/update_handler.js +1 -1
  60. package/src/core/models/base-model.js +1 -1
  61. package/src/core/utils/cache-manager.js +1 -1
  62. package/src/core/utils/component-engine.js +1 -1
  63. package/src/core/utils/context-builder.js +1 -1
  64. package/src/core/utils/datetime-formatter.js +1 -1
  65. package/src/core/utils/datetime-parser.js +1 -1
  66. package/src/core/utils/db.js +1 -1
  67. package/src/core/utils/logger.js +1 -1
  68. package/src/core/utils/payload-loader.js +1 -1
  69. package/src/core/utils/security-checks.js +1 -1
  70. package/src/middleware/body-options.js +1 -1
  71. package/src/middleware/cors.js +1 -1
  72. package/src/middleware/idempotency.js +1 -1
  73. package/src/middleware/rate-limiter.js +1 -1
  74. package/src/middleware/request-logger.js +1 -1
  75. package/src/middleware/security-headers.js +1 -1
  76. package/src/models/base-model-mysql.js +1 -1
  77. package/src/models/base-model-oracle.js +1 -1
  78. package/src/models/base-model-sqlite.js +1 -1
  79. package/src/models/base-model.js +1 -1
  80. package/src/pro/caching/redis-client.js +1 -1
  81. package/src/pro/caching/redis-helper.js +1 -1
  82. package/src/pro/consumers/baseConsumer.js +1 -1
  83. package/src/pro/consumers/declarativeMapper.js +1 -1
  84. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  85. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  86. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  87. package/src/pro/consumers/handlers/index.js +1 -1
  88. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  89. package/src/pro/consumers/index.js +1 -1
  90. package/src/pro/consumers/messageTransformer.js +1 -1
  91. package/src/pro/consumers/validator.js +1 -1
  92. package/src/pro/database/base-model-mysql.js +1 -1
  93. package/src/pro/database/base-model-oracle.js +1 -1
  94. package/src/pro/database/base-model-sqlite.js +1 -1
  95. package/src/pro/database/db-mysql.js +1 -1
  96. package/src/pro/database/db-oracle.js +1 -1
  97. package/src/pro/database/db-sqlite.js +1 -1
  98. package/src/pro/excel/excel-generator.js +1 -1
  99. package/src/pro/excel/excel-parser.js +1 -1
  100. package/src/pro/excel/export-service.js +1 -1
  101. package/src/pro/excel/export_handler.js +1 -1
  102. package/src/pro/excel/import-service.js +1 -1
  103. package/src/pro/excel/import-validator.js +1 -1
  104. package/src/pro/excel/import_handler.js +1 -1
  105. package/src/pro/excel/upsert-builder.js +1 -1
  106. package/src/pro/idgen/idgen-routes.js +1 -1
  107. package/src/pro/integrations/lookup-resolver.js +1 -1
  108. package/src/pro/integrations/upload-handler-v2.js +1 -1
  109. package/src/pro/integrations/upload-handler.js +1 -1
  110. package/src/pro/integrations/webhook.js +1 -1
  111. package/src/pro/locking/lock-routes.js +1 -1
  112. package/src/pro/locking/resource-lock-manager.js +1 -1
  113. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  114. package/src/pro/messaging/kafkaService.js +1 -1
  115. package/src/pro/messaging/messagehubService.js +1 -1
  116. package/src/pro/messaging/rabbitmqService.js +1 -1
  117. package/src/pro/scheduler/job-manager.js +1 -1
  118. package/src/pro/scheduler/job-routes.js +1 -1
  119. package/src/pro/scheduler/job-validator.js +1 -1
  120. package/src/pro/storage/base-storage-provider.js +1 -1
  121. package/src/pro/storage/file-metadata-helper.js +1 -1
  122. package/src/pro/storage/index.js +1 -1
  123. package/src/pro/storage/local-storage-provider.js +1 -1
  124. package/src/pro/storage/s3-storage-provider.js +1 -1
  125. package/src/pro/storage/upload-cleanup-job.js +1 -1
  126. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  127. package/src/pro/storage/upload-pending-tracker.js +1 -1
  128. package/src/pro/websocket/broadcast-helper.js +1 -1
  129. package/src/pro/websocket/index.js +1 -1
  130. package/src/pro/websocket/livesync-server.js +1 -1
  131. package/src/pro/websocket/ws-broadcaster.js +1 -1
  132. package/src/services/export-service.js +1 -1
  133. package/src/services/import-service.js +1 -1
  134. package/src/services/kafkaConsumerService.js +1 -1
  135. package/src/services/kafkaService.js +1 -1
  136. package/src/services/messagehubService.js +1 -1
  137. package/src/services/rabbitmqService.js +1 -1
  138. package/src/utils/cache-invalidation-registry.js +1 -1
  139. package/src/utils/cache-manager.js +1 -1
  140. package/src/utils/component-engine.js +1 -1
  141. package/src/utils/config-extractor.js +1 -1
  142. package/src/utils/consumerLogger.js +1 -1
  143. package/src/utils/context-builder.js +1 -1
  144. package/src/utils/dashboard-helpers.js +1 -1
  145. package/src/utils/dateHelper.js +1 -1
  146. package/src/utils/datetime-formatter.js +1 -1
  147. package/src/utils/datetime-parser.js +1 -1
  148. package/src/utils/db-bootstrap.js +1 -1
  149. package/src/utils/db-mysql.js +1 -1
  150. package/src/utils/db-oracle.js +1 -1
  151. package/src/utils/db-sqlite.js +1 -1
  152. package/src/utils/db.js +1 -1
  153. package/src/utils/demo-generator.js +1 -1
  154. package/src/utils/excel-generator.js +1 -1
  155. package/src/utils/excel-parser.js +1 -1
  156. package/src/utils/file-watcher.js +1 -1
  157. package/src/utils/id-generator.js +1 -1
  158. package/src/utils/idempotency-manager.js +1 -1
  159. package/src/utils/import-validator.js +1 -1
  160. package/src/utils/license-client.js +1 -1
  161. package/src/utils/lock-manager.js +1 -1
  162. package/src/utils/logger.js +1 -1
  163. package/src/utils/lookup-resolver.js +1 -1
  164. package/src/utils/payload-loader.js +1 -1
  165. package/src/utils/processor-response.js +1 -1
  166. package/src/utils/rabbitmq.js +1 -1
  167. package/src/utils/redis-client.js +1 -1
  168. package/src/utils/redis-helper.js +1 -1
  169. package/src/utils/request-scope.js +1 -1
  170. package/src/utils/security-checks.js +1 -1
  171. package/src/utils/service-resolver.js +1 -1
  172. package/src/utils/shutdown-coordinator.js +1 -1
  173. package/src/utils/trusted-keys.js +1 -1
  174. package/src/utils/upload-handler.js +1 -1
  175. package/src/utils/upsert-builder.js +1 -1
  176. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x2771b1=a0_0x1b21;function a0_0x106b(){const _0x507766=['Dg9ju09tDhjPBMC','surhru5Fsu5wquXjrf9srvnpvvjdrq','CgLU','CKHcveq','lI9YzwrPCY1JBgLLBNq','Dgv4Da','tK9NEg0','sgnwA28','qMjxrfi','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','z2v0uMvZzxj2yxrPB24','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','wuXfzfm','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','AM9PBG','zgLNAxrZ','DMfSDwu','x2rLzMf1BhrqAw5eAwDPDhm','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','BwzVww4','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','x3bHCNnLtNvTyMvY','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','EMnHCMq','surhru5FreLtqujmruq','x3n0B3jLswrLBunHy2HL','wenNwNi','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','wxnSy2O','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','DhrS','suqGr2vUzxjHDg9YihjLC2v0oIa','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','Aw5MBW','lcaR','zw5ZDxjLvw5PCxvL','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','r0PoqNi','CMy6AwrNzw46','y29UzMLYBvjLC2vYDMf0Aw9U','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','mty0ndaWnhnJsejREG','mty1oda5ngnJvxrLBG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','x3vWzgf0zu1LDge','Bu5vD0K','Cgf0DgvYBG','mtiXntu5zwjuBfDc','vg5NwNK','x2TLEvbYzwzPEa','surhru5Fsu5wquXjrf9quKvgsvG','zM9YBwf0s2v5','CMvZzxj2zv9Jyw5JzwW','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','C3rVCMvK','Dg9mB3DLCKnHC2u','n3W2Fdr8oxWXFdb8mtf8mtb8nxW4Fdn8mG','A2vUwva','AwrNzw5Fy29UzMLNx2LUAxq','sgDSDwm','AgfZ','CMfUzg9T','yNvPBgrezxrLCM1PBMLZDgLJs2v5','x2nVDw50zxjuveXnyxa','BNbzCem','BNvTrgLNAxrZ','q25pA1G','D2fYBG','ihbHCNrZkq','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','mJyYnuPLqM9Rvq','zxzHBa','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','x3jLC2vYDMvezwzHDwX0vfrm','tg5ru2q','CMvZzxj2zv9LEhrLBMq','sgTwuuC','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','ywXS','CMv1C2u6','icH0B2TLBJ0','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','x3jLC2vYDMvnyxHuveW','CMvZzxj2zu1HEfruta','u2TSsKy','surhru5Fru5bqKXfra','Bwv0yq','tMfnExq','x3n0B3jLswrLBunHy2HLtLG','C2v0','C2vWyxjHDg9Y','x3bHzdi','vxDztMO','z2v0','AxnjBNrLz2vY','mJuYwfzutKHK','wwnmEeW','twv0ysb1CgrHDguGzxjYB3i','txLZvfK','CgfKzgvKicHNB3q6ia','Dw9ICe4','mdeYmZq1nJC4oufcq0rfrG','BwvZC2fNzq','otK5os05otK5','ignOyxjZicHNB3qGBgvUz3rOoIa','BNvTyMvY','A2v5uhjLzML4','surhru5Fq09vtLrfuL9pvKvsrKXpvW','q0jWwgS','sNvqAuS','ywXSB3DszxnLDa','vw5RBM93BIbTB2rLoIa','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','suqGr2vUzxjHDg9Yig51BwjLCJOG','x3zHBgLKyxrLuMvZB3vYy2u','BLjptKq','x2vUC3vYzuLUAxrPywXPEMvK','CgfYC2u','ExL5Ew1T','t2DgBg0','wfHywc1ywfHylvHywfGTwfHywa','x2j1AwXKrM9YBwf0s2v5','CMvZzxq','DgvZDa','x3jLDhjPzxzLswrLBunHy2HL','surhru5FuKvtrvjwrv9nqvHFvfrm','D2LUBMvYuMvZDwX0','wNfkzKq','CNn2swr4s2v5','DgP5vgG','AKnnwu8','zezqvLa','CfbTCfm','CMvSzwfZzu51BwjLCG','x2j1AwXKu2vXs2v5','zvzhDui','x2j1AwXKsxnZDwvKs2v5','mte3mZK2mdbnBNrlrfG','Bw9Kzq','AwrLBvruta','BwfW','x3zHBgLKyxrLugf0DgvYBG','wwfcve0','C3rYAw5N','Bwf0y2G','B3LjCLi','txjwrhi','C3rYAw5NAwz5','lcbLEhbLy3rLzca','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','surhru5Fsu5wquXjrf9qqvrurvjo','mZy2mZqWmu9IBfnVra','x2LKzw1uveW','AwrNzw4','mtuXmZyZmNz6yMHjEq','sMH4sNG','zxHLyW','CKHTB24','z2v0q2XPzw50','vNbNCKu','Dg9Rzw4','x3rLEhq','x2zVCM1HDe51BwjLCG','surhru5Frevgqvvmvf9nqvHFuKvuuLK','te1Uwhq','CMfUzg9Tvvvjra','ruHbz0q','x2j1AwXKtwv0yuTLEq','vwrTCgq','x2DLBMvYyxrLrNjVBvbHDhrLCM4','x3zHBgLKyxrLtwf4uMv0CNK','CMvWzwf0','AhjHt1y','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','A05AufC','Bwf4uMv0CNK','BNDWuKe','x2LUAxrPywXPEMvK','y291BNrLCKLUDa','AKXyC20','qwzxthK','ywn0AxzLoG','Bu9XzLK','EwfAAxa','surhru5Fq09vtLrfuL9uveXFrefjtfK','A2v5CW','surhru5Fsurftv9uveW','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','ugjlA3G','x2fSBg93uMvZzxq','yuPNv3K','ChjLzML4','sMvjEum','icHNB3q6ia','C2fKza','x3zHBgLKyxrLvfrm','x2vUywjSzwq','surhru5Fsu5wquXjrf9trvbbuKfut1i','sxDWseO','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','z2v0sw5MBW','zgf0zvbYzwzPEa','xLXKEW','zw52','CfzgCM4','x2j1AwXKswrLBuTLEq','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','surhru5Fsu5wquXjrf9uveW','C2vX','AfLltwW','B05iExi','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','Exz3txC','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','x2j1AwXKuMv1C2vlzxK','surhru5Fsu5wquXjrf9gt1jnqvq','ruzxBeK','x2j1AwXKqwn0AxzLs2v5','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','sujhuLK','u25pC2q','ExL5Ew1Tzgq','zgvMyxvSDenVzgvqyxr0zxjU','z2v0rgf0zq','swrLBxbVDgvUy3KGy2fJAguGseLu','DMfSDwuGAxmGCMvXDwLYzwq','zgjRtgS','B3HLt1K','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','ignOyxjZ','Bwv0ytO','C29ZvMq','yw5Ku2K','x2LUAxrdB25MAwC','zw5HyMXLza','AMTfrgG','DxPfC0u','uxjNBuC','CNn2oG','z2v0rNvSBfLLyxi','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','CMvZB3vYy2u','igv4y2vLzhmG','z0frCKq','swrhzw5LCMf0B3jfCNjVCG','x2j1AwXKuMvZzxj2yxrPB25lzxK','AhLxwMi','C2nHCMq','ihnLy29UzhmGkgDVDdOG','x2rLzMf1BhrdB2rLugf0DgvYBG','x3zHBgLKyxrLuMvZzxj2zvruta','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','zgvS','x2rLzMf1BhrnyxHszxrYEq','uNrAA28','AwrLBxbVDgvUy3LlzxK','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','C3jLBq','DgXQzxm','zgLHz0K','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','A1jVtge','tNb6ALi','q291BNrLCIbVDMvYzMXVDZOG','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','nwTNvuDHAa','zxHWAxjLC0f0','EKDXEwm','yK1nwey','surhru5Frevgqvvmvf9qsu5FreLhsvrt','zgvMyxvSDfbPBKrPz2L0CW','BgvUz3rO','CMvSzwfZzq','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','surhru5Fsu5wquXjrf9ovu1crvi','zujhwgi','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','ExDZBwC','CgfKu3rHCNq','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','x2DLDenVDw50zxjuveW','Chr0Ba','y29UC3vTzq','yxjds1C','y1PrEMG','ExL5Eq','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','zM9YBwf0'];a0_0x106b=function(){return _0x507766;};return a0_0x106b();}(function(_0x82d628,_0x43b544){const _0x4df977=a0_0x1b21,_0x2b0bd7=_0x82d628();while(!![]){try{const _0xe51cc1=parseInt(_0x4df977(0x167))/0x1+-parseInt(_0x4df977(0x198))/0x2*(parseInt(_0x4df977(0x17e))/0x3)+parseInt(_0x4df977(0x161))/0x4*(-parseInt(_0x4df977(0x120))/0x5)+-parseInt(_0x4df977(0x162))/0x6+-parseInt(_0x4df977(0xa4))/0x7+parseInt(_0x4df977(0xa7))/0x8+parseInt(_0x4df977(0x96))/0x9;if(_0xe51cc1===_0x43b544)break;else _0x2b0bd7['push'](_0x2b0bd7['shift']());}catch(_0x458bc5){_0x2b0bd7['push'](_0x2b0bd7['shift']());}}}(a0_0x106b,0x47d4c));const crypto=require('crypto'),redisClient=require(a0_0x2771b1(0x13b)),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set([a0_0x2771b1(0x13c),'yyyy',a0_0x2771b1(0x83),a0_0x2771b1(0xf0)]),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT='0123456789',CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER=a0_0x2771b1(0xe5),CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x2771b1(0x19e),CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER=a0_0x2771b1(0x16d),LUA_RELEASE_NUMBER=a0_0x2771b1(0x104),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION=a0_0x2771b1(0xe4),LUA_CANCEL_RESERVATION=a0_0x2771b1(0x153),LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';function a0_0x1b21(_0x3e44f9,_0x46d017){_0x3e44f9=_0x3e44f9-0x74;const _0x106b5a=a0_0x106b();let _0x1b219a=_0x106b5a[_0x3e44f9];if(a0_0x1b21['OrIyqA']===undefined){var _0x31cc6c=function(_0x2c6d81){const _0x17d914='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43683d='',_0x2e280f='';for(let _0x3bc804=0x0,_0x17180f,_0x139a16,_0x20c97b=0x0;_0x139a16=_0x2c6d81['charAt'](_0x20c97b++);~_0x139a16&&(_0x17180f=_0x3bc804%0x4?_0x17180f*0x40+_0x139a16:_0x139a16,_0x3bc804++%0x4)?_0x43683d+=String['fromCharCode'](0xff&_0x17180f>>(-0x2*_0x3bc804&0x6)):0x0){_0x139a16=_0x17d914['indexOf'](_0x139a16);}for(let _0x4b7557=0x0,_0x5175cc=_0x43683d['length'];_0x4b7557<_0x5175cc;_0x4b7557++){_0x2e280f+='%'+('00'+_0x43683d['charCodeAt'](_0x4b7557)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e280f);};a0_0x1b21['ufhFKs']=_0x31cc6c,a0_0x1b21['jUrdEa']={},a0_0x1b21['OrIyqA']=!![];}const _0x34b9da=_0x106b5a[0x0],_0x36eb85=_0x3e44f9+_0x34b9da,_0x3f6343=a0_0x1b21['jUrdEa'][_0x36eb85];return!_0x3f6343?(_0x1b219a=a0_0x1b21['ufhFKs'](_0x1b219a),a0_0x1b21['jUrdEa'][_0x36eb85]=_0x1b219a):_0x1b219a=_0x3f6343,_0x1b219a;}class IdGeneratorError extends Error{constructor(_0x1f3780,_0x3ef690,_0x23bea6=null){const _0x4d4fb4=a0_0x2771b1,_0x58f1e2={'oxeOY':function(_0x36c55f,_0x25c12b){return _0x36c55f||_0x25c12b;},'BwUeu':'IdGeneratorError'};super(_0x58f1e2[_0x4d4fb4(0xf6)](_0x3ef690,_0x1f3780)),this['name']=_0x58f1e2['BwUeu'],this['code']=_0x1f3780,this['details']=_0x23bea6;}}class IdGenerator{constructor(){const _0x520a36=a0_0x2771b1,_0x2654e7=_0x520a36(0x170)['split']('|');let _0x4729c9=0x0;while(!![]){switch(_0x2654e7[_0x4729c9++]){case'0':this[_0x520a36(0x111)]=null;continue;case'1':this['_allowReset']=null;continue;case'2':this[_0x520a36(0x18b)]=null;continue;case'3':this['_reserveDefaultTTL']=null;continue;case'4':this[_0x520a36(0x169)]=null;continue;case'5':this[_0x520a36(0x10d)]=null;continue;case'6':this[_0x520a36(0xd3)]=null;continue;case'7':this[_0x520a36(0xbf)]=![];continue;case'8':this['_counterTTLMap']=null;continue;case'9':this[_0x520a36(0xa5)]=null;continue;case'10':this['_defaultSerialPattern']=null;continue;case'11':this['_defaultPinDigits']=null;continue;}break;}}['_initConfig'](){const _0x51e010=a0_0x2771b1,_0x4244fc={'gAQrD':function(_0x1b9814,_0x44603e){return _0x1b9814===_0x44603e;},'arCKW':function(_0x18ce48,_0x484475,_0x49c8c5){return _0x18ce48(_0x484475,_0x49c8c5);},'KFOWj':'true','UwYNj':function(_0x2c3dac,_0x2f2f68,_0x1b74dc){return _0x2c3dac(_0x2f2f68,_0x1b74dc);},'hraOV':_0x51e010(0x74)};this[_0x51e010(0x169)]=_0x51e010(0x15e),this[_0x51e010(0xd3)]=_0x4244fc['gAQrD'](process['env'][_0x51e010(0x18e)],'true'),this[_0x51e010(0xa5)]=_0x4244fc[_0x51e010(0x132)](parseInt,process['env'][_0x51e010(0xc8)],0xa)||0x258,this['_allowReset']=_0x4244fc[_0x51e010(0x107)](process[_0x51e010(0xda)]['IDGEN_ALLOW_RESET'],_0x4244fc['KFOWj']),this[_0x51e010(0x111)]=_0x4244fc[_0x51e010(0x195)](parseInt,process[_0x51e010(0xda)][_0x51e010(0xb0)],0xa)||0xa,this[_0x51e010(0x148)]=parseInt(process[_0x51e010(0xda)][_0x51e010(0x124)],0xa)||0x6,this['_defaultSerialPattern']=process['env'][_0x51e010(0x7d)]||_0x51e010(0x85),this['_defaultCodePattern']=process[_0x51e010(0xda)][_0x51e010(0xe7)]||_0x4244fc[_0x51e010(0xb9)],this[_0x51e010(0x177)]={'yyyymm':parseInt(process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process['env'][_0x51e010(0xc6)],0xa)||0x2a300},this[_0x51e010(0x182)]=_0x4244fc['UwYNj'](parseInt,process['env']['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this[_0x51e010(0x18b)]=_0x4244fc[_0x51e010(0x195)](parseInt,process['env'][_0x51e010(0x8a)],0xa)||MAX_RESERVE_TTL,this[_0x51e010(0xbf)]=!![],logger[_0x51e010(0x159)]({'event':_0x51e010(0x172),'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this[_0x51e010(0x148)],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},_0x51e010(0xd6)+this['_enabled']);}[a0_0x2771b1(0x81)](){const _0x5ad440=a0_0x2771b1;if(!this[_0x5ad440(0xbf)])this[_0x5ad440(0xfd)]();}get['enabled'](){const _0x58ea40=a0_0x2771b1;return this[_0x58ea40(0x81)](),this[_0x58ea40(0xd3)];}get['keyPrefix'](){const _0x4be345=a0_0x2771b1;return this[_0x4be345(0x81)](),this[_0x4be345(0x169)];}get['idemTTL'](){return this['_ensureInitialized'](),this['_idemTTL'];}get[a0_0x2771b1(0x7b)](){const _0x2b6726=a0_0x2771b1;return this[_0x2b6726(0x81)](),this[_0x2b6726(0xcc)];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get[a0_0x2771b1(0x125)](){const _0x7fe8ea=a0_0x2771b1;return this['_ensureInitialized'](),this[_0x7fe8ea(0x148)];}get['defaultSerialPattern'](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get[a0_0x2771b1(0xf1)](){const _0x3379c8=a0_0x2771b1;return this[_0x3379c8(0x81)](),this[_0x3379c8(0x10d)];}get['reserveDefaultTTL'](){const _0x49053b=a0_0x2771b1;return this['_ensureInitialized'](),this[_0x49053b(0x182)];}get[a0_0x2771b1(0x18c)](){const _0x443319=a0_0x2771b1;return this[_0x443319(0x81)](),this[_0x443319(0x18b)];}['isEnabled'](){const _0x53666b=a0_0x2771b1;return this[_0x53666b(0xfe)];}[a0_0x2771b1(0x7f)](_0x2db603){const _0x3b92fa=a0_0x2771b1;if(typeof _0x2db603!==_0x3b92fa(0x9c)||!RESOURCE_REGEX[_0x3b92fa(0x88)](_0x2db603))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x2db603)+')');}['_validateNumberParams'](_0x289bed){const _0x1b9f8f=a0_0x2771b1,_0xb7e234={'RtZko':_0x1b9f8f(0x9c),'jkEDh':_0x1b9f8f(0xe9),'oyIrR':function(_0x290f9c,_0x257ee6){return _0x290f9c!==_0x257ee6;},'WXUDw':_0x1b9f8f(0x16a),'VpgrE':function(_0x39c6a1,_0x2f4bfa){return _0x39c6a1>_0x2f4bfa;},'PMKrY':_0x1b9f8f(0xd4),'eBGXb':'boolean','mOqfY':_0x1b9f8f(0x138)},{resource:_0x1535f8,format:_0x485ebb,prefix:_0x30a619,separator:_0x3378da,numDigits:_0x393335,reuseDelete:_0x399973}=_0x289bed;this['_validateResource'](_0x1535f8);const _0x330e47=typeof _0x485ebb===_0xb7e234['RtZko']?_0x485ebb['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x330e47))throw new IdGeneratorError(_0xb7e234[_0x1b9f8f(0xff)],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x1b9f8f(0x145)](',\x20')+'\x20(got:\x20'+_0x485ebb+')');if(!Number[_0x1b9f8f(0x197)](_0x393335)||_0x393335<MIN_NUM_DIGITS||_0x393335>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x1b9f8f(0xec),'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x1b9f8f(0xd0)+_0x393335+')');const _0x2643a9=_0x30a619==null?'':_0x30a619;if(_0xb7e234[_0x1b9f8f(0x9e)](typeof _0x2643a9,_0xb7e234[_0x1b9f8f(0x112)])||!PREFIX_REGEX[_0x1b9f8f(0x88)](_0x2643a9))throw new IdGeneratorError(_0xb7e234['WXUDw'],'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+_0x1b9f8f(0xd0)+JSON[_0x1b9f8f(0xa0)](_0x30a619)+')');const _0x5213b6=_0x3378da==null?'':_0x3378da;if(_0xb7e234['oyIrR'](typeof _0x5213b6,_0x1b9f8f(0x9c))||_0xb7e234[_0x1b9f8f(0xac)](_0x5213b6[_0x1b9f8f(0x126)],0x3)||SEPARATOR_FORBIDDEN[_0x1b9f8f(0x88)](_0x5213b6))throw new IdGeneratorError(_0xb7e234['PMKrY'],_0x1b9f8f(0x158)+JSON['stringify'](_0x3378da)+')');if(_0x399973!=null&&typeof _0x399973!==_0xb7e234[_0x1b9f8f(0x12a)])throw new IdGeneratorError(_0xb7e234[_0x1b9f8f(0xc4)],_0x1b9f8f(0xba)+typeof _0x399973+')');return{'resource':_0x1535f8,'format':_0x330e47,'prefix':_0x2643a9,'separator':_0x5213b6,'numDigits':_0x393335,'reuseDelete':_0x399973===!![]};}[a0_0x2771b1(0x9a)](_0x143f37){const _0x5c3614=a0_0x2771b1,_0x8f22cb={'hYKMl':function(_0x4c65ac,_0x41d730){return _0x4c65ac!==_0x41d730;},'hCxRH':function(_0x126b64,_0x21fadd){return _0x126b64===_0x21fadd;},'MeEMP':function(_0x3a42dd,_0x1b4114){return _0x3a42dd>_0x1b4114;},'MysTY':_0x5c3614(0xa3)};if(_0x8f22cb[_0x5c3614(0xe0)](typeof _0x143f37,_0x5c3614(0x9c))||_0x8f22cb['hCxRH'](_0x143f37['length'],0x0)||_0x8f22cb['MeEMP'](_0x143f37['length'],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0x8f22cb[_0x5c3614(0x19b)],_0x5c3614(0x140)+MAX_PATTERN_LENGTH+_0x5c3614(0x75)+(_0x143f37&&_0x143f37['length'])+')');let _0x603de0=![];for(const _0x4f85e1 of _0x143f37){if(PLACEHOLDER_MAP[_0x4f85e1]){_0x603de0=!![];break;}}if(!_0x603de0)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x5c3614(0x142));}[a0_0x2771b1(0xd2)](_0x47c319){const _0x3baa6a=a0_0x2771b1,_0x50666f={'WqLfz':_0x3baa6a(0xde)};if(_0x47c319==null)return undefined;if(!Number['isInteger'](_0x47c319)||_0x47c319<0x1||_0x47c319>MAX_TTL)throw new IdGeneratorError(_0x50666f['WqLfz'],'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+_0x3baa6a(0x10c)+_0x47c319+')');return _0x47c319;}[a0_0x2771b1(0xb7)](_0x57b0ad){const _0xa5b0d4=a0_0x2771b1,_0x49968d={'dVNMD':function(_0x305f0d,_0x9058b6){return _0x305f0d<_0x9058b6;},'CKXFo':'IDGEN_INVALID_MAX_RETRY'};if(_0x57b0ad==null)return this['defaultMaxRetry'];if(!Number[_0xa5b0d4(0x197)](_0x57b0ad)||_0x49968d['dVNMD'](_0x57b0ad,0x1)||_0x57b0ad>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x49968d['CKXFo'],_0xa5b0d4(0x11f)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x57b0ad+')');return _0x57b0ad;}[a0_0x2771b1(0x180)](_0x256680){const _0x521f73=a0_0x2771b1,_0x1fb434={'lPwUr':'IDGEN_INVALID_RESOURCE'};if(_0x256680==null)return undefined;if(typeof _0x256680!==_0x521f73(0x9c)||_0x256680['length']===0x0||_0x256680['length']>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x1fb434['lPwUr'],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+_0x521f73(0xf9));return _0x256680;}[a0_0x2771b1(0x10e)](_0xdc5993){const _0x215dec=a0_0x2771b1,_0x5829ec={'pPmpS':function(_0x553b8a,_0x5a2258){return _0x553b8a==_0x5a2258;},'npYpC':function(_0x2ebcd1,_0x1ee67a){return _0x2ebcd1<_0x1ee67a;},'BbWDR':_0x215dec(0x14b)};if(_0x5829ec[_0x215dec(0x91)](_0xdc5993,null))return this['reserveDefaultTTL'];if(!Number['isInteger'](_0xdc5993)||_0x5829ec[_0x215dec(0x178)](_0xdc5993,MIN_RESERVE_TTL)||_0xdc5993>this['reserveMaxTTL'])throw new IdGeneratorError(_0x5829ec[_0x215dec(0x13f)],'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x215dec(0x10c)+_0xdc5993+')');return _0xdc5993;}[a0_0x2771b1(0xf7)](_0x523b68){const _0x480ac0=a0_0x2771b1,_0x184c6a={'sNcbY':'string'};if(typeof _0x523b68!==_0x184c6a['sNcbY']||!RESERVATION_TOKEN_REGEX['test'](_0x523b68))throw new IdGeneratorError('IDGEN_INVALID_TOKEN','Invalid\x20reservation\x20token:\x20must\x20be\x20UUID\x20v4\x20format\x20(got:\x20'+JSON[_0x480ac0(0xa0)](_0x523b68)+')');return _0x523b68;}[a0_0x2771b1(0x194)](_0x254c1a){const _0x4af4e9=a0_0x2771b1;return String(_0x254c1a)[_0x4af4e9(0x12d)](0x2,'0');}[a0_0x2771b1(0x86)](_0x3f1bf4,_0x3cfd45,_0x425bcd=new Date()){const _0x55901d=a0_0x2771b1,_0x15a0d9={'TxrwV':function(_0x4bbefa,_0x2d0979){return _0x4bbefa+_0x2d0979;},'IwpHJ':function(_0x4a0823,_0x1983cb){return _0x4a0823||_0x1983cb;},'EcOGc':'yyyymm','IprGw':'IDGEN_INVALID_FORMAT'},_0x484094=_0x425bcd[_0x55901d(0x103)](),_0x2e1765=this['_pad2'](_0x15a0d9['TxrwV'](_0x425bcd['getMonth'](),0x1)),_0x3408fd=this['_pad2'](_0x425bcd[_0x55901d(0xf2)]()),_0x5aa969=_0x15a0d9[_0x55901d(0xd5)](_0x3cfd45,'_');let _0x2e04a2,_0x206959='';switch(_0x3f1bf4){case _0x55901d(0x13c):_0x2e04a2=_0x5aa969+_0x55901d(0xae);break;case'yyyy':_0x206959=''+_0x484094,_0x2e04a2=_0x5aa969+'_yyyy_'+_0x206959;break;case _0x15a0d9['EcOGc']:_0x206959=''+_0x484094+_0x2e1765,_0x2e04a2=_0x5aa969+'_yyyymm_'+_0x206959;break;case'yyyymmdd':_0x206959=''+_0x484094+_0x2e1765+_0x3408fd,_0x2e04a2=_0x5aa969+'_yyyymmdd_'+_0x206959;break;default:throw new IdGeneratorError(_0x15a0d9['IprGw'],'Unknown\x20format:\x20'+_0x3f1bf4);}return{'formatKey':_0x2e04a2,'datePrefix':_0x206959};}[a0_0x2771b1(0x93)](_0x4c5ecb,_0x1c9d59){const _0x832cb8=a0_0x2771b1;return this[_0x832cb8(0x77)]+'seq:'+_0x4c5ecb+':'+_0x1c9d59;}['_buildReuseKey'](_0x43d731,_0x3c1b95){const _0x6d03b6=a0_0x2771b1;return this[_0x6d03b6(0x77)]+_0x6d03b6(0x188)+_0x43d731+':'+_0x3c1b95;}[a0_0x2771b1(0xb4)](_0x52836d,_0xca405d){const _0x137ec4=a0_0x2771b1;return this[_0x137ec4(0x77)]+_0x137ec4(0xfa)+_0x52836d+':'+_0xca405d;}[a0_0x2771b1(0x95)](_0x379d51){const _0x130d96=a0_0x2771b1;return this[_0x130d96(0x77)]+'issued:'+_0x379d51;}[a0_0x2771b1(0xeb)](_0x11fae5,_0x5b7580){const _0x184ce7=a0_0x2771b1;return this[_0x184ce7(0x77)]+_0x184ce7(0xc3)+_0x11fae5+':'+_0x5b7580;}['_buildReservationKey'](_0x1d91a1){const _0x76665b=a0_0x2771b1;return this[_0x76665b(0x77)]+_0x76665b(0x102)+_0x1d91a1;}['_buildReservationIndexKey'](_0x1d2eac,_0x2a786f){return this['keyPrefix']+'rsv_idx:'+_0x1d2eac+':'+_0x2a786f;}['_buildReservationKeyPrefix'](){const _0x37a0b3=a0_0x2771b1;return this['keyPrefix']+_0x37a0b3(0x102);}[a0_0x2771b1(0xdc)](_0x4f3372,_0x570c2f,_0x1f5fc3,_0x20d0bf){const _0x430fc5=a0_0x2771b1,_0x2fcd36={'JuPiK':'idgen'};if(_0x1f5fc3)return idempotencyManager['buildDeterministicKey'](_0x430fc5(0xa6),_0x4f3372,_0x570c2f+':'+_0x1f5fc3+':'+_0x20d0bf);return idempotencyManager['buildDeterministicKey'](_0x2fcd36[_0x430fc5(0x7a)],_0x4f3372,_0x570c2f+':'+_0x20d0bf);}[a0_0x2771b1(0x12f)](_0x185b8b){const _0xcf24f8=a0_0x2771b1;return this[_0xcf24f8(0x177)][_0x185b8b]||0x0;}['_formatNumber']({format:_0x6bec15,prefix:_0x160645,datePrefix:_0x255009,separator:_0x11bf02,numDigits:_0x250946,counterInt:_0x2a0399}){const _0x4a2ce7=a0_0x2771b1,_0x12262c={'sosVd':function(_0x58af8c,_0x935b69){return _0x58af8c-_0x935b69;},'nejWe':_0x4a2ce7(0x78),'XjkGP':function(_0x4d8cc7,_0xef79a4){return _0x4d8cc7===_0xef79a4;},'hyWZb':_0x4a2ce7(0x13c)},_0x4ae907=_0x12262c[_0x4a2ce7(0xfb)](Math['pow'](0xa,_0x250946),0x1);if(_0x2a0399>_0x4ae907)throw new IdGeneratorError(_0x12262c['nejWe'],_0x4a2ce7(0x11e)+_0x2a0399+_0x4a2ce7(0x106)+_0x250946+'-digit\x20capacity\x20('+_0x4ae907+').\x20Increase\x20numDigits.',{'counterInt':_0x2a0399,'numDigits':_0x250946,'max':_0x4ae907});const _0x56b0bc=String(_0x2a0399)['padStart'](_0x250946,'0');if(_0x12262c['XjkGP'](_0x6bec15,_0x12262c[_0x4a2ce7(0x10a)]))return _0x160645?''+_0x160645+_0x11bf02+_0x56b0bc:_0x56b0bc;return _0x160645?''+_0x160645+_0x11bf02+_0x255009+_0x11bf02+_0x56b0bc:''+_0x255009+_0x11bf02+_0x56b0bc;}[a0_0x2771b1(0x14d)]({format:_0x246ba5,prefix:_0x371fbb,separator:_0x18620b,numDigits:_0x5d37ac,number:_0x401ac3}){const _0x49646a=a0_0x2771b1,_0x5399cd={'eVGuB':_0x49646a(0x9c),'ncKje':function(_0x1809e3,_0x392006){return _0x1809e3===_0x392006;},'SyfnD':function(_0x3e4c19,_0x5942a5){return _0x3e4c19||_0x5942a5;},'GJNBr':_0x49646a(0x13c),'pVFrn':function(_0x4a4a68,_0x58599d){return _0x4a4a68!==_0x58599d;},'TpzWe':function(_0x42aa12,_0x2a8476){return _0x42aa12!==_0x2a8476;},'eQbgn':function(_0x43181a,_0x22145b){return _0x43181a!==_0x22145b;},'dnWgd':_0x49646a(0x129),'TZVuw':function(_0x15ae16,_0x4e4520){return _0x15ae16===_0x4e4520;},'cmRPi':_0x49646a(0x134),'diagI':_0x49646a(0x83),'TuJZv':function(_0x17febb,_0x429d49){return _0x17febb||_0x429d49;},'YLEdS':function(_0x1be45e,_0x292ba1){return _0x1be45e===_0x292ba1;}};if(typeof _0x401ac3!==_0x5399cd[_0x49646a(0x94)]||_0x5399cd['ncKje'](_0x401ac3['length'],0x0))throw new IdGeneratorError(_0x49646a(0x129),'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x4582a1=_0x5399cd['SyfnD'](_0x18620b,''),_0x14ce2a=_0x4582a1===''?[_0x401ac3]:_0x401ac3['split'](_0x4582a1);let _0x251c99='',_0x41a6ed;if(_0x246ba5===_0x5399cd['GJNBr']){if(_0x371fbb){if(_0x5399cd[_0x49646a(0xdb)](_0x14ce2a['length'],0x2)||_0x5399cd[_0x49646a(0xdb)](_0x14ce2a[0x0],_0x371fbb))throw new IdGeneratorError(_0x49646a(0x129),_0x49646a(0x14e)+_0x4582a1+_0x49646a(0x19c)+_0x401ac3+')');_0x41a6ed=_0x14ce2a[0x1];}else{if(_0x14ce2a['length']!==0x1)throw new IdGeneratorError(_0x49646a(0x129),_0x49646a(0x163)+_0x401ac3+')');_0x41a6ed=_0x14ce2a[0x0];}}else{const _0x297dfd=_0x371fbb?0x3:0x2;if(_0x5399cd['TpzWe'](_0x14ce2a[_0x49646a(0x126)],_0x297dfd))throw new IdGeneratorError(_0x49646a(0x129),'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x401ac3+_0x49646a(0xa1)+_0x297dfd+_0x49646a(0x17c));let _0x20818e=0x0;if(_0x371fbb){if(_0x5399cd['eQbgn'](_0x14ce2a[_0x20818e],_0x371fbb))throw new IdGeneratorError(_0x5399cd['dnWgd'],_0x49646a(0x12e)+_0x371fbb+',\x20got\x20'+_0x14ce2a[_0x20818e]);_0x20818e++;}_0x251c99=_0x14ce2a[_0x20818e++];const _0xcdbe2c=_0x5399cd['TZVuw'](_0x246ba5,_0x5399cd['cmRPi'])?/^\d{4}$/:_0x246ba5===_0x5399cd[_0x49646a(0x11a)]?/^\d{6}$/:/^\d{8}$/;if(!_0xcdbe2c['test'](_0x251c99))throw new IdGeneratorError(_0x49646a(0x129),'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x246ba5+':\x20'+_0x251c99);_0x41a6ed=_0x14ce2a[_0x20818e];}if(!new RegExp(_0x49646a(0xd9)+_0x5d37ac+'}$')[_0x49646a(0x88)](_0x41a6ed))throw new IdGeneratorError(_0x49646a(0x129),'Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x5d37ac+'\x20digits\x20(got:\x20'+_0x41a6ed+')');const _0x9f0d12=parseInt(_0x41a6ed,0xa),_0x12d17c=_0x5399cd['TuJZv'](_0x371fbb,'_');let _0x232929;return _0x5399cd[_0x49646a(0x143)](_0x246ba5,_0x5399cd[_0x49646a(0x15d)])?_0x232929=_0x12d17c+_0x49646a(0xae):_0x232929=_0x12d17c+'_'+_0x246ba5+'_'+_0x251c99,{'formatKey':_0x232929,'counterInt':_0x9f0d12,'datePrefix':_0x251c99};}['_generateFromPattern'](_0x2767a3){let _0x2de9c2='';for(const _0x56f77d of _0x2767a3){const _0x126498=PLACEHOLDER_MAP[_0x56f77d];if(_0x126498){const _0x53d992=crypto['randomInt'](0x0,_0x126498['length']);_0x2de9c2+=_0x126498[_0x53d992];}else _0x2de9c2+=_0x56f77d;}return _0x2de9c2;}async['_retrieveIdemCache'](_0x417caa){const _0x2d8459=a0_0x2771b1,_0x51ac0f={'tjyTh':'idgen_idem_hit','HcVko':_0x2d8459(0xf3),'CBpXk':_0x2d8459(0x186),'dbkLk':_0x2d8459(0x149)};if(!_0x417caa)return null;try{const _0x1eed92=redisClient[_0x2d8459(0xab)](),_0x317e5c=await _0x1eed92['get'](_0x417caa);if(_0x317e5c)return logger['info']({'event':_0x51ac0f[_0x2d8459(0x8e)],'key':_0x417caa},_0x51ac0f[_0x2d8459(0x13e)]),JSON[_0x2d8459(0x82)](_0x317e5c);return null;}catch(_0x540aa1){return logger['warn']({'event':_0x51ac0f[_0x2d8459(0x79)],'error':_0x540aa1['message']},_0x51ac0f[_0x2d8459(0xf5)]),null;}}async[a0_0x2771b1(0x151)](_0x51f0f3,_0x104e0c){const _0x5f05f1=a0_0x2771b1,_0x25aafe={'OgFlm':'idgen_idem_store_error'};if(!_0x51f0f3)return;try{const _0x3484ad=redisClient[_0x5f05f1(0xab)]();await _0x3484ad['setex'](_0x51f0f3,this['idemTTL'],JSON['stringify'](_0x104e0c));}catch(_0x200eeb){logger['warn']({'event':_0x25aafe[_0x5f05f1(0x84)],'error':_0x200eeb['message']},_0x5f05f1(0x18a));}}async[a0_0x2771b1(0x191)](_0x372f69,_0x24b3da){const _0x5c5f1c=a0_0x2771b1,_0x49b08c={'rAozM':'idgen_idem_storenx_error','YLGfU':'Idempotency\x20SET\x20NX\x20error'};if(!_0x372f69)return{'stored':!![],'winnerResult':null};try{const _0x489088=redisClient['getClient'](),_0x5f2f19=JSON['stringify'](_0x24b3da),_0x1cf2f4=await _0x489088['set'](_0x372f69,_0x5f2f19,'EX',this[_0x5c5f1c(0x98)],'NX');if(_0x1cf2f4==='OK')return{'stored':!![],'winnerResult':null};const _0x12b583=await _0x489088[_0x5c5f1c(0x196)](_0x372f69);if(_0x12b583)return{'stored':![],'winnerResult':JSON[_0x5c5f1c(0x82)](_0x12b583)};return logger[_0x5c5f1c(0x17b)]({'event':_0x5c5f1c(0x160),'key':_0x372f69},_0x5c5f1c(0x10f)),{'stored':!![],'winnerResult':null};}catch(_0x50ad5d){return logger[_0x5c5f1c(0x17b)]({'event':_0x49b08c['rAozM'],'error':_0x50ad5d['message']},_0x49b08c['YLGfU']),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x2f4cb1,_0x3ad882,_0x3521ba){const _0x1057ef=a0_0x2771b1,_0x2bc64d={'ZqJfD':'idgen_random_undo_error'};try{const _0x4ffee8=redisClient[_0x1057ef(0xab)]();if(_0x3521ba){const _0x33e1cf=this['_buildActiveKey'](_0x2f4cb1,_0x3ad882);await _0x4ffee8['del'](_0x33e1cf);}else{const _0x536b99=this[_0x1057ef(0x95)](_0x2f4cb1);await _0x4ffee8[_0x1057ef(0x118)](_0x536b99,_0x3ad882);}}catch(_0x2682f6){logger[_0x1057ef(0x17b)]({'event':_0x2bc64d[_0x1057ef(0x8c)],'error':_0x2682f6['message']},_0x1057ef(0x117));}}async['_updateMeta'](_0x319df1,_0x46bb00,_0x5298ed,_0x335d93=0x0){const _0xb6c978=a0_0x2771b1,_0x287374={'EFWlI':function(_0x100859,_0x40dd29){return _0x100859>_0x40dd29;},'XCgZr':_0xb6c978(0x19a)};try{const _0x247c51=redisClient[_0xb6c978(0xab)](),_0x2a733f=this['_buildMetaKey'](_0x319df1,_0x46bb00),_0xd62d19=[];for(const [_0x35e0e8,_0x2301d4]of Object['entries'](_0x5298ed)){_0xd62d19['push'](_0x35e0e8,String(_0x2301d4));}if(_0x287374[_0xb6c978(0xea)](_0xd62d19[_0xb6c978(0x126)],0x0)){await _0x247c51['hset'](_0x2a733f,..._0xd62d19);if(_0x335d93>0x0)await _0x247c51['expire'](_0x2a733f,_0x335d93);}}catch(_0x4136e7){logger[_0xb6c978(0x17b)]({'event':'idgen_meta_update_error','error':_0x4136e7[_0xb6c978(0x19f)]},_0x287374[_0xb6c978(0x152)]);}}async['number'](_0x2ce249){const _0x1e2c9a=a0_0x2771b1,_0x197296={'jLXsm':'IDGEN_DISABLED','JTpzy':_0x1e2c9a(0xed),'zGqyc':'number','TngZy':function(_0x5bc673,_0x27cb3c){return _0x5bc673(_0x27cb3c);},'JhxJx':function(_0x55f6a8,_0x1e8197){return _0x55f6a8(_0x1e8197);},'Hgluc':'idgen_idem_loser_release_error','Kkkmj':'idgen_number_idem_loser'};if(!this[_0x1e2c9a(0xfe)])throw new IdGeneratorError(_0x197296[_0x1e2c9a(0xc1)],_0x197296['JTpzy']);const _0x2a02f6=this['_validateNumberParams'](_0x2ce249),_0x3ed947=this['_validateIdempotencyKey'](_0x2ce249[_0x1e2c9a(0x113)]),{resource:_0xad3142,format:_0x2d8546,prefix:_0xa3ce9c,separator:_0x257484,numDigits:_0x47d15f,reuseDelete:_0xd6da4b}=_0x2a02f6,{formatKey:_0xd0bba6,datePrefix:_0x34672f}=this[_0x1e2c9a(0x86)](_0x2d8546,_0xa3ce9c),_0x1750f4=this['_buildSeqKey'](_0xad3142,_0xd0bba6),_0x17e2df=this['_buildReuseKey'](_0xad3142,_0xd0bba6),_0x1ec97f=this['_getCounterTTL'](_0x2d8546);let _0x54e098=null;if(_0x3ed947){_0x54e098=this['_buildIdemKey'](_0x197296[_0x1e2c9a(0x122)],_0xad3142,_0xd0bba6,_0x3ed947);const _0x1c0ab9=await this['_retrieveIdemCache'](_0x54e098);if(_0x1c0ab9)return _0x1c0ab9;}const _0x2b217f=redisClient['getClient'](),_0x32e9bc=await _0x2b217f[_0x1e2c9a(0x17f)](LUA_GENERATE_NUMBER,0x2,_0x1750f4,_0x17e2df,_0xd6da4b?'1':'0',_0x197296['TngZy'](String,_0x1ec97f)),_0x45d712=_0x32e9bc[0x0],_0xb2f172=_0x32e9bc[0x1]===0x1,_0x197af3=this['_formatNumber']({'format':_0x2d8546,'prefix':_0xa3ce9c,'datePrefix':_0x34672f,'separator':_0x257484,'numDigits':_0x47d15f,'counterInt':_0x45d712}),_0x472831={'value':_0x197af3,'counter':_0x45d712,'resource':_0xad3142,'formatKey':_0xd0bba6,'isReused':_0xb2f172,'generatedAt':new Date()['toISOString']()},_0x38d591=await this['_storeIdemCacheNX'](_0x54e098,_0x472831);if(!_0x38d591[_0x1e2c9a(0x16e)]){try{await _0x2b217f[_0x1e2c9a(0x17f)](LUA_RELEASE_NUMBER,0x1,_0x17e2df,_0x197296[_0x1e2c9a(0x168)](String,_0x45d712),_0x197296[_0x1e2c9a(0xa8)](String,_0x1ec97f));}catch(_0x1f5c29){logger[_0x1e2c9a(0x17b)]({'event':_0x197296[_0x1e2c9a(0x173)],'error':_0x1f5c29['message'],'resource':_0xad3142,'formatKey':_0xd0bba6,'counterInt':_0x45d712},_0x1e2c9a(0x14c));}return logger['info']({'event':_0x197296['Kkkmj'],'resource':_0xad3142,'formatKey':_0xd0bba6,'counter':_0x45d712},_0x1e2c9a(0x135)),_0x38d591['winnerResult'];}return this[_0x1e2c9a(0x164)](_0xad3142,_0xd0bba6,{'lastValue':_0x197af3,'lastCounter':_0x45d712,'lastIsReused':_0xb2f172,'lastGeneratedAt':_0x472831['generatedAt']},_0x1ec97f),logger['info']({'event':'idgen_number_generated','resource':_0xad3142,'formatKey':_0xd0bba6,'counter':_0x45d712,'isReused':_0xb2f172},_0x1e2c9a(0x7e)+_0x197af3),_0x472831;}async[a0_0x2771b1(0x92)](_0x29e406){const _0x231ef5=a0_0x2771b1,_0x3b88a7={'PhFkt':'ID\x20Generator\x20is\x20disabled','NpzjR':function(_0x4ef78f,_0x30db90){return _0x4ef78f===_0x30db90;},'QrgmG':_0x231ef5(0x129),'HwfEy':_0x231ef5(0x127),'EHAgD':function(_0x38d118,_0x5678a7){return _0x38d118(_0x5678a7);},'yaZip':'idgen_number_released'};if(!this[_0x231ef5(0xfe)])throw new IdGeneratorError(_0x231ef5(0x150),_0x3b88a7['PhFkt']);let _0x1d1b1b,_0xae19ba,_0x1cedf4,_0x582d22;const _0x2498c6=this['_validateIdempotencyKey'](_0x29e406[_0x231ef5(0x113)]);if(_0x29e406[_0x231ef5(0xc0)]!==undefined&&_0x29e406[_0x231ef5(0xc0)]!==null){this[_0x231ef5(0x7f)](_0x29e406[_0x231ef5(0x105)]),_0x1d1b1b=_0x29e406[_0x231ef5(0x105)];if(typeof _0x29e406[_0x231ef5(0x16b)]!=='string'||_0x3b88a7[_0x231ef5(0x11d)](_0x29e406[_0x231ef5(0x16b)]['length'],0x0))throw new IdGeneratorError(_0x3b88a7[_0x231ef5(0x101)],_0x231ef5(0xf8));_0xae19ba=_0x29e406[_0x231ef5(0x16b)];if(!Number['isInteger'](_0x29e406['counterInt'])||_0x29e406['counterInt']<0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x231ef5(0xc9)+_0x29e406['counterInt']+')');_0x1cedf4=_0x29e406['counterInt'];const _0xcdff13=_0xae19ba['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x582d22=_0xcdff13?_0xcdff13[0x1]:'text';}else{const _0x3c1c5d=this[_0x231ef5(0xca)](_0x29e406),_0x3e6b2e=this['_parseNumber']({'format':_0x3c1c5d['format'],'prefix':_0x3c1c5d['prefix'],'separator':_0x3c1c5d[_0x231ef5(0x193)],'numDigits':_0x3c1c5d['numDigits'],'number':_0x29e406[_0x231ef5(0x76)]});_0x1d1b1b=_0x3c1c5d['resource'],_0xae19ba=_0x3e6b2e['formatKey'],_0x1cedf4=_0x3e6b2e['counterInt'],_0x582d22=_0x3c1c5d[_0x231ef5(0x136)];}const _0x5e21e5=this[_0x231ef5(0xe8)](_0x1d1b1b,_0xae19ba),_0x26543e=this['_getCounterTTL'](_0x582d22);let _0x404cbd=null;if(_0x2498c6){_0x404cbd=this[_0x231ef5(0xdc)](_0x3b88a7['HwfEy'],_0x1d1b1b,_0xae19ba,_0x2498c6);const _0x1dd7b5=await this[_0x231ef5(0x89)](_0x404cbd);if(_0x1dd7b5)return _0x1dd7b5;}const _0x9479a9=redisClient['getClient']();await _0x9479a9[_0x231ef5(0x17f)](LUA_RELEASE_NUMBER,0x1,_0x5e21e5,String(_0x1cedf4),_0x3b88a7[_0x231ef5(0xb3)](String,_0x26543e));const _0x2d9efb={'released':!![],'resource':_0x1d1b1b,'formatKey':_0xae19ba,'counter':_0x1cedf4,'releasedAt':new Date()[_0x231ef5(0x137)]()};return await this['_storeIdemCache'](_0x404cbd,_0x2d9efb),this[_0x231ef5(0x164)](_0x1d1b1b,_0xae19ba,{'lastReleasedCounter':_0x1cedf4,'lastReleasedAt':_0x2d9efb['releasedAt']},_0x26543e),logger['info']({'event':_0x3b88a7[_0x231ef5(0xc5)],'resource':_0x1d1b1b,'formatKey':_0xae19ba,'counter':_0x1cedf4},'ID\x20Generator\x20number\x20released:\x20'+_0x1cedf4),_0x2d9efb;}async['reserveNumber'](_0x6dad09){const _0x39db17=a0_0x2771b1,_0x1d1559={'dneCy':'reserve','qKcvc':function(_0x85747e,_0x5efe97){return _0x85747e*_0x5efe97;},'SnOsd':_0x39db17(0x16b),'aJgWy':_0x39db17(0xce),'FzxXZ':'separator','YaBTM':'numDigits','IBGRY':_0x39db17(0xd8),'cZQzh':function(_0x5ebf5f,_0x5439ba){return _0x5ebf5f||_0x5439ba;},'SOTmT':'createdAt','ejNli':_0x39db17(0x121),'QLzKK':'ttlMs','VQmKJ':'idemKey','kenYP':function(_0x2676c8,_0x1eaf4d){return _0x2676c8(_0x1eaf4d);},'MhVhj':function(_0x4725fc,_0x5da669){return _0x4725fc(_0x5da669);},'AChhl':function(_0x4213b8,_0x860746){return _0x4213b8===_0x860746;},'Yotda':_0x39db17(0x144),'OPyUg':_0x39db17(0xbb),'yDmNI':_0x39db17(0x12b)};if(!this['enabled'])throw new IdGeneratorError(_0x39db17(0x150),'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x40b464=this[_0x39db17(0xca)](_0x6dad09),_0x46ae58=this[_0x39db17(0x10e)](_0x6dad09[_0x39db17(0x156)]),_0x671949=this[_0x39db17(0x180)](_0x6dad09[_0x39db17(0x113)]),{resource:_0x3abf84,format:_0x43f2e5,prefix:_0x5a7004,separator:_0x1fdaa1,numDigits:_0x190098,reuseDelete:_0x486dce}=_0x40b464,{formatKey:_0x19522f,datePrefix:_0x17d0cb}=this[_0x39db17(0x86)](_0x43f2e5,_0x5a7004),_0x2636bc=this['_buildSeqKey'](_0x3abf84,_0x19522f),_0x2da229=this[_0x39db17(0xe8)](_0x3abf84,_0x19522f),_0x310b8b=this['_buildReservationIndexKey'](_0x3abf84,_0x19522f),_0x5c79b9=this['_getCounterTTL'](_0x43f2e5);let _0x45a42c=null;if(_0x671949){_0x45a42c=this[_0x39db17(0xdc)](_0x1d1559['dneCy'],_0x3abf84,_0x19522f,_0x671949);const _0xa519b7=await this[_0x39db17(0x89)](_0x45a42c);if(_0xa519b7)return _0xa519b7;}const _0x306abb=crypto[_0x39db17(0xb2)](),_0x1c4dd7=this['_buildReservationKey'](_0x306abb),_0x59a7e8=this['_buildReservationKeyPrefix'](),_0x62c984=Date['now'](),_0x19e84a=_0x62c984+_0x1d1559['qKcvc'](_0x46ae58,0x3e8),_0xd10f0=_0x1d1559['qKcvc'](_0x46ae58,0x3e8),_0x1ea519=new Date(_0x62c984)['toISOString'](),_0x3bcf82=new Date(_0x19e84a)[_0x39db17(0x137)](),_0x3ac48e=[_0x39db17(0x105),_0x3abf84,_0x1d1559[_0x39db17(0xef)],_0x19522f,'format',_0x43f2e5,_0x1d1559[_0x39db17(0xcd)],_0x5a7004,_0x1d1559['FzxXZ'],_0x1fdaa1,_0x1d1559[_0x39db17(0x9b)],String(_0x190098),_0x1d1559[_0x39db17(0xee)],_0x1d1559[_0x39db17(0x133)](_0x17d0cb,''),_0x1d1559['SOTmT'],_0x1ea519,_0x1d1559['ejNli'],_0x3bcf82,_0x1d1559['QLzKK'],String(_0xd10f0)];_0x671949&&_0x3ac48e['push'](_0x1d1559['VQmKJ'],_0x671949);const _0x3a5da5=redisClient['getClient'](),_0x25c302=await _0x3a5da5[_0x39db17(0x17f)](LUA_RESERVE_NUMBER,0x3,_0x2636bc,_0x2da229,_0x310b8b,_0x486dce?'1':'0',String(_0x5c79b9),_0x306abb,_0x1c4dd7,String(_0xd10f0),_0x1d1559[_0x39db17(0x171)](String,_0x19e84a),_0x1d1559['MhVhj'](String,_0x62c984),_0x59a7e8,..._0x3ac48e),_0x3ec434=_0x25c302[0x0],_0x569d3e=_0x1d1559['AChhl'](_0x25c302[0x1],0x1),_0x99e3b8=_0x25c302[0x2]||0x0;let _0x494a45;try{_0x494a45=this[_0x39db17(0xaf)]({'format':_0x43f2e5,'prefix':_0x5a7004,'datePrefix':_0x17d0cb,'separator':_0x1fdaa1,'numDigits':_0x190098,'counterInt':_0x3ec434});}catch(_0x1b878c){try{await _0x3a5da5[_0x39db17(0x17f)](LUA_CANCEL_RESERVATION,0x3,_0x1c4dd7,_0x310b8b,_0x2da229,_0x306abb,String(_0x5c79b9));}catch(_0xa5e5f5){logger['warn']({'event':'idgen_reserve_overflow_compensation_error','error':_0xa5e5f5[_0x39db17(0x19f)],'resource':_0x3abf84,'formatKey':_0x19522f,'counterInt':_0x3ec434,'token':_0x306abb},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x1b878c;}try{await _0x3a5da5['hset'](_0x1c4dd7,_0x39db17(0x147),_0x494a45);}catch(_0x1c9c8b){logger[_0x39db17(0x17b)]({'event':_0x1d1559['Yotda'],'error':_0x1c9c8b[_0x39db17(0x19f)],'resource':_0x3abf84,'formatKey':_0x19522f,'counterInt':_0x3ec434,'token':_0x306abb},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x48a7a1={'token':_0x306abb,'value':_0x494a45,'counter':_0x3ec434,'resource':_0x3abf84,'formatKey':_0x19522f,'isReused':_0x569d3e,'createdAt':_0x1ea519,'expiresAt':_0x3bcf82,'reapedCount':_0x99e3b8},_0x2c6e1c=await this[_0x39db17(0x191)](_0x45a42c,_0x48a7a1);if(!_0x2c6e1c[_0x39db17(0x16e)]){try{await _0x3a5da5['eval'](LUA_CANCEL_RESERVATION,0x3,_0x1c4dd7,_0x310b8b,_0x2da229,_0x306abb,_0x1d1559['kenYP'](String,_0x5c79b9));}catch(_0x5b0a85){logger[_0x39db17(0x17b)]({'event':_0x1d1559['OPyUg'],'error':_0x5b0a85[_0x39db17(0x19f)],'resource':_0x3abf84,'formatKey':_0x19522f,'counterInt':_0x3ec434,'token':_0x306abb},'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser');}return logger[_0x39db17(0x159)]({'event':_0x1d1559['yDmNI'],'resource':_0x3abf84,'formatKey':_0x19522f,'counter':_0x3ec434,'token':_0x306abb},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x2c6e1c[_0x39db17(0x8b)];}return this[_0x39db17(0x164)](_0x3abf84,_0x19522f,{'lastReservedCounter':_0x3ec434,'lastReservedAt':_0x1ea519,'lastReapedCount':_0x99e3b8},_0x5c79b9),logger['info']({'event':'idgen_number_reserved','resource':_0x3abf84,'formatKey':_0x19522f,'counter':_0x3ec434,'isReused':_0x569d3e,'token':_0x306abb,'ttl':_0x46ae58,'reapedCount':_0x99e3b8},'ID\x20Generator\x20number\x20reserved:\x20'+_0x494a45+_0x39db17(0x189)+_0x306abb+')'),_0x48a7a1;}async[a0_0x2771b1(0x15f)](_0xb2bbcf){const _0x44a29e=a0_0x2771b1,_0xf7bbf1={'EdDWh':_0x44a29e(0x17d),'ZSbRb':_0x44a29e(0xa6),'VmKyh':function(_0x263ccf,_0x3b8437,_0x1d8e42){return _0x263ccf(_0x3b8437,_0x1d8e42);},'PbKkx':'text'};if(!this[_0x44a29e(0xfe)])throw new IdGeneratorError('IDGEN_DISABLED',_0xf7bbf1['EdDWh']);const _0x4393bb=this['_validateReservationToken'](_0xb2bbcf&&_0xb2bbcf[_0x44a29e(0xad)]),_0x4c7e44=this[_0x44a29e(0x180)](_0xb2bbcf&&_0xb2bbcf['idempotencyKey']);let _0x1a165a=null;if(_0x4c7e44){_0x1a165a=idempotencyManager['buildDeterministicKey'](_0xf7bbf1['ZSbRb'],'reserve_confirm',_0x4393bb+':'+_0x4c7e44);const _0x4a5825=await this['_retrieveIdemCache'](_0x1a165a);if(_0x4a5825)return _0x4a5825;}const _0x41e46f=await this['_getReservationContext'](_0x4393bb),_0x44d9e6=redisClient[_0x44a29e(0xab)](),_0x481a17=await _0x44d9e6['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x41e46f['rsvKey'],_0x41e46f['rsvIdxKey'],_0x4393bb);if(!_0x481a17||_0x481a17[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x44a29e(0x116)+_0x4393bb,{'token':_0x4393bb});const _0x21bcc7=_0xf7bbf1['VmKyh'](parseInt,_0x481a17[0x1],0xa),_0x401f22=_0x481a17[0x2],_0x18e9bb=_0x481a17[0x3],_0x3b0b0b=new Date()['toISOString'](),_0x3b3cf9={'confirmed':!![],'token':_0x4393bb,'value':_0x401f22,'counter':_0x21bcc7,'resource':_0x41e46f['resource'],'formatKey':_0x18e9bb,'confirmedAt':_0x3b0b0b};await this['_storeIdemCache'](_0x1a165a,_0x3b3cf9);const _0x457589=_0x18e9bb[_0x44a29e(0x9d)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x16adaa=_0x457589?_0x457589[0x1]:_0xf7bbf1[_0x44a29e(0xcb)],_0x25ab6c=this[_0x44a29e(0x12f)](_0x16adaa);return this['_updateMeta'](_0x41e46f['resource'],_0x18e9bb,{'lastConfirmedCounter':_0x21bcc7,'lastConfirmedAt':_0x3b0b0b},_0x25ab6c),logger['info']({'event':_0x44a29e(0x11b),'resource':_0x41e46f[_0x44a29e(0x105)],'formatKey':_0x18e9bb,'counter':_0x21bcc7,'token':_0x4393bb},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x401f22+_0x44a29e(0x189)+_0x4393bb+')'),_0x3b3cf9;}async['cancelReservation'](_0x12a29c){const _0x4ba823=a0_0x2771b1,_0x26dfda={'kNZPW':'IDGEN_DISABLED','MrVDr':'ID\x20Generator\x20is\x20disabled','HkVQG':function(_0x574d78,_0x19b6a2){return _0x574d78(_0x19b6a2);}};if(!this['enabled'])throw new IdGeneratorError(_0x26dfda[_0x4ba823(0xbc)],_0x26dfda[_0x4ba823(0x9f)]);const _0xeb503d=this[_0x4ba823(0xf7)](_0x12a29c&&_0x12a29c['token']),_0x53f674=this[_0x4ba823(0x180)](_0x12a29c&&_0x12a29c[_0x4ba823(0x113)]);let _0x359680=null;if(_0x53f674){_0x359680=idempotencyManager[_0x4ba823(0x176)]('idgen',_0x4ba823(0x16c),_0xeb503d+':'+_0x53f674);const _0x35aea9=await this[_0x4ba823(0x89)](_0x359680);if(_0x35aea9)return _0x35aea9;}const _0x264695=await this['_getReservationContext'](_0xeb503d),_0x3fe4a7=this['_buildReuseKey'](_0x264695['resource'],_0x264695[_0x4ba823(0x16b)]),_0x2ce256=_0x264695['formatKey'][_0x4ba823(0x9d)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x331e95=_0x2ce256?_0x2ce256[0x1]:_0x4ba823(0x13c),_0x520c17=this['_getCounterTTL'](_0x331e95),_0x1bd0e0=redisClient['getClient'](),_0x822295=await _0x1bd0e0['eval'](LUA_CANCEL_RESERVATION,0x3,_0x264695['rsvKey'],_0x264695[_0x4ba823(0x8d)],_0x3fe4a7,_0xeb503d,_0x26dfda[_0x4ba823(0x185)](String,_0x520c17));if(!_0x822295||_0x822295[0x0]!==0x1)throw new IdGeneratorError(_0x4ba823(0x15c),_0x4ba823(0x116)+_0xeb503d,{'token':_0xeb503d});const _0x46b9f1=parseInt(_0x822295[0x1],0xa),_0x4a1f3c=_0x822295[0x2],_0x2aa7a4=_0x822295[0x3],_0x1a2b2e=new Date()[_0x4ba823(0x137)](),_0x487eaa={'cancelled':!![],'token':_0xeb503d,'value':_0x4a1f3c,'counter':_0x46b9f1,'resource':_0x264695['resource'],'formatKey':_0x2aa7a4,'releasedToReuse':!![],'cancelledAt':_0x1a2b2e};return await this[_0x4ba823(0x151)](_0x359680,_0x487eaa),this['_updateMeta'](_0x264695[_0x4ba823(0x105)],_0x2aa7a4,{'lastCancelledCounter':_0x46b9f1,'lastCancelledAt':_0x1a2b2e},_0x520c17),logger[_0x4ba823(0x159)]({'event':_0x4ba823(0x181),'resource':_0x264695[_0x4ba823(0x105)],'formatKey':_0x2aa7a4,'counter':_0x46b9f1,'token':_0xeb503d},_0x4ba823(0xdd)+_0x4a1f3c+'\x20(token='+_0xeb503d+')'),_0x487eaa;}async['extendReservation'](_0x210c3a){const _0x5f3cff=a0_0x2771b1,_0x4c71df={'mfoYn':_0x5f3cff(0x17d),'HSCKF':_0x5f3cff(0x184),'ywsmg':function(_0x4f4098,_0x176743){return _0x4f4098+_0x176743;},'yvpjs':function(_0xe31075,_0x11cb87){return _0xe31075*_0x11cb87;},'QmSEk':function(_0x71cd29,_0x560991){return _0x71cd29(_0x560991);},'iDqlo':function(_0x762d3e,_0x2ab74a){return _0x762d3e!==_0x2ab74a;},'fAXQc':'IDGEN_RESERVATION_NOT_FOUND','RlDRw':'text'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x4c71df[_0x5f3cff(0x14a)]);const _0x5eaabf=this[_0x5f3cff(0xf7)](_0x210c3a&&_0x210c3a['token']),_0x3baef4=this[_0x5f3cff(0x10e)](_0x210c3a&&_0x210c3a[_0x5f3cff(0x156)]),_0x19c089=this['_validateIdempotencyKey'](_0x210c3a&&_0x210c3a['idempotencyKey']);let _0x3b9ec9=null;if(_0x19c089){_0x3b9ec9=idempotencyManager['buildDeterministicKey'](_0x5f3cff(0xa6),_0x4c71df['HSCKF'],_0x5eaabf+':'+_0x19c089);const _0x414ad2=await this['_retrieveIdemCache'](_0x3b9ec9);if(_0x414ad2)return _0x414ad2;}const _0x943c36=await this[_0x5f3cff(0x155)](_0x5eaabf),_0xeea073=Date['now'](),_0x4243fd=_0x4c71df[_0x5f3cff(0x12c)](_0xeea073,_0x4c71df['yvpjs'](_0x3baef4,0x3e8)),_0x4de946=_0x3baef4*0x3e8,_0x1420aa=new Date(_0x4243fd)[_0x5f3cff(0x137)](),_0x54ad67=redisClient['getClient'](),_0x3ddddc=await _0x54ad67[_0x5f3cff(0x17f)](LUA_EXTEND_RESERVATION,0x2,_0x943c36['rsvKey'],_0x943c36[_0x5f3cff(0x8d)],_0x5eaabf,_0x4c71df['QmSEk'](String,_0x4de946),String(_0x4243fd),_0x1420aa);if(!_0x3ddddc||_0x4c71df['iDqlo'](_0x3ddddc[0x0],0x1))throw new IdGeneratorError(_0x4c71df['fAXQc'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x5eaabf,{'token':_0x5eaabf});const _0x358cee=_0x3ddddc[0x1],_0x385e44=parseInt(_0x3ddddc[0x2],0xa),_0x5c6480=_0x3ddddc[0x3],_0x16d2a6=_0x3ddddc[0x4],_0x2b75f4=new Date(_0xeea073)['toISOString'](),_0x4ba8a2={'extended':!![],'token':_0x5eaabf,'previousExpiresAt':_0x358cee,'expiresAt':_0x1420aa,'ttlMs':_0x4de946,'resource':_0x943c36['resource'],'formatKey':_0x16d2a6,'counter':_0x385e44,'value':_0x5c6480,'extendedAt':_0x2b75f4};await this['_storeIdemCache'](_0x3b9ec9,_0x4ba8a2);const _0xdbef65=_0x16d2a6['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x233d8c=_0xdbef65?_0xdbef65[0x1]:_0x4c71df['RlDRw'],_0x217b33=this[_0x5f3cff(0x12f)](_0x233d8c);return this['_updateMeta'](_0x943c36['resource'],_0x16d2a6,{'lastExtendedCounter':_0x385e44,'lastExtendedAt':_0x2b75f4},_0x217b33),logger['info']({'event':'idgen_reservation_extended','resource':_0x943c36['resource'],'formatKey':_0x16d2a6,'counter':_0x385e44,'token':_0x5eaabf,'ttl':_0x3baef4},_0x5f3cff(0x115)+_0x5c6480+'\x20(token='+_0x5eaabf+_0x5f3cff(0x15a)+_0x3baef4+'s)'),_0x4ba8a2;}async[a0_0x2771b1(0x141)](_0x591281){const _0x1df027=a0_0x2771b1,_0x1577f7={'RRYkH':'ID\x20Generator\x20is\x20disabled','YcLxL':'IDGEN_RESERVATION_NOT_FOUND','cfzcl':function(_0x3da1e3,_0x2361f0,_0x14c790){return _0x3da1e3(_0x2361f0,_0x14c790);},'nwpRA':function(_0x1f285b,_0x3eb756){return _0x1f285b===_0x3eb756;},'addqe':_0x1df027(0x76),'Yslcj':function(_0xb18778,_0xee5cbd){return _0xb18778>=_0xee5cbd;}};if(!this['enabled'])throw new IdGeneratorError(_0x1df027(0x150),_0x1577f7['RRYkH']);const _0x4b2641=this[_0x1df027(0xf7)](_0x591281&&_0x591281['token']),_0x191080=this['_buildReservationKey'](_0x4b2641),_0x1261a5=redisClient['getClient'](),_0x48d24f=_0x1261a5['pipeline']();_0x48d24f['hgetall'](_0x191080),_0x48d24f[_0x1df027(0x130)](_0x191080);const _0x165a93=await _0x48d24f[_0x1df027(0xa9)](),_0x51dcdf=_0x165a93&&_0x165a93[0x0]&&_0x165a93[0x0][0x1],_0x1cdf8e=_0x165a93&&_0x165a93[0x1]&&_0x165a93[0x1][0x1];if(!_0x51dcdf||Object['keys'](_0x51dcdf)[_0x1df027(0x126)]===0x0)throw new IdGeneratorError(_0x1577f7[_0x1df027(0x199)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x4b2641,{'token':_0x4b2641});return{'token':_0x4b2641,'resource':_0x51dcdf['resource']||null,'formatKey':_0x51dcdf['formatKey']||null,'format':_0x51dcdf['format']||null,'prefix':_0x51dcdf[_0x1df027(0xce)]||'','separator':_0x51dcdf['separator']||'','numDigits':_0x51dcdf[_0x1df027(0x179)]?parseInt(_0x51dcdf[_0x1df027(0x179)],0xa):null,'datePrefix':_0x51dcdf['datePrefix']||'','counter':_0x51dcdf['counter']?_0x1577f7['cfzcl'](parseInt,_0x51dcdf['counter'],0xa):null,'value':_0x51dcdf[_0x1df027(0x147)]||null,'isReused':_0x51dcdf['isReused']==='1'||_0x51dcdf['isReused']===0x1,'createdAt':_0x51dcdf['createdAt']||null,'expiresAt':_0x51dcdf['expiresAt']||null,'ttlRemainingMs':_0x1577f7[_0x1df027(0xbe)](typeof _0x1cdf8e,_0x1577f7['addqe'])&&_0x1577f7[_0x1df027(0x154)](_0x1cdf8e,0x0)?_0x1cdf8e:null};}async[a0_0x2771b1(0x155)](_0x2916b6){const _0x382acd=a0_0x2771b1,_0x379c51={'Udmpd':_0x382acd(0x105),'wpmFW':_0x382acd(0x16b),'IijGl':_0x382acd(0x15c)},_0x11f49d=this[_0x382acd(0x109)](_0x2916b6),_0x220d4a=redisClient[_0x382acd(0xab)](),_0x1d81f9=await _0x220d4a['hmget'](_0x11f49d,_0x379c51[_0x382acd(0xb5)],_0x379c51['wpmFW']),_0x51c616=_0x1d81f9&&_0x1d81f9[0x0],_0xc00227=_0x1d81f9&&_0x1d81f9[0x1];if(!_0x51c616||!_0xc00227)throw new IdGeneratorError(_0x379c51['IijGl'],_0x382acd(0x116)+_0x2916b6,{'token':_0x2916b6});return{'resource':_0x51c616,'formatKey':_0xc00227,'rsvKey':_0x11f49d,'rsvIdxKey':this[_0x382acd(0x128)](_0x51c616,_0xc00227)};}async['random'](_0x35faf3){const _0x178af5=a0_0x2771b1,_0x13cc85={'uzEsE':function(_0x489e0b,_0x1ac138){return _0x489e0b===_0x1ac138;},'uobpN':'random','fBbdP':function(_0x408a4d,_0x378526){return _0x408a4d<_0x378526;},'siyMk':function(_0x184c8d,_0x25c144){return _0x184c8d===_0x25c144;},'andSi':function(_0x172ba6,_0x33489c){return _0x172ba6+_0x33489c;},'rHmon':function(_0x2548a9,_0x1302f2){return _0x2548a9*_0x1302f2;},'SklJF':function(_0x2e1fd8,_0x3cad1c){return _0x2e1fd8||_0x3cad1c;}};if(!this[_0x178af5(0xfe)])throw new IdGeneratorError('IDGEN_DISABLED',_0x178af5(0x17d));this['_validateResource'](_0x35faf3['resource']),this[_0x178af5(0x9a)](_0x35faf3[_0x178af5(0x166)]);const _0x328b4a=this['_validateTTL'](_0x35faf3[_0x178af5(0x156)]),_0x116ca9=this['_validateMaxRetry'](_0x35faf3[_0x178af5(0xbd)]),_0x48ce6b=this['_validateIdempotencyKey'](_0x35faf3[_0x178af5(0x113)]),_0x2d4926=_0x13cc85['uzEsE'](_0x35faf3['ensureUnique'],!![]),{resource:_0x579db9,pattern:_0x5ee2e4}=_0x35faf3;let _0x8687ec=null;if(_0x48ce6b){_0x8687ec=this[_0x178af5(0xdc)](_0x13cc85[_0x178af5(0x19d)],_0x579db9,null,_0x48ce6b);const _0x3bbcad=await this['_retrieveIdemCache'](_0x8687ec);if(_0x3bbcad)return _0x3bbcad;}const _0x2f5104=redisClient[_0x178af5(0xab)]();let _0x2cafa7=null,_0x15ab68=0x0;if(!_0x2d4926)_0x2cafa7=this[_0x178af5(0xb6)](_0x5ee2e4),_0x15ab68=0x1;else{for(let _0x116722=0x0;_0x13cc85['fBbdP'](_0x116722,_0x116ca9);_0x116722++){_0x15ab68++;const _0x35d8bc=this[_0x178af5(0xb6)](_0x5ee2e4);if(_0x328b4a){const _0x38c699=this[_0x178af5(0xeb)](_0x579db9,_0x35d8bc),_0x441808=await _0x2f5104[_0x178af5(0x192)](_0x38c699,'1','EX',_0x328b4a,'NX');if(_0x13cc85[_0x178af5(0x100)](_0x441808,'OK')){_0x2cafa7=_0x35d8bc;break;}}else{const _0x247317=this[_0x178af5(0x95)](_0x579db9),_0x5dedf3=await _0x2f5104[_0x178af5(0xd1)](_0x247317,_0x35d8bc);if(_0x13cc85['uzEsE'](_0x5dedf3,0x1)){_0x2cafa7=_0x35d8bc;break;}}}if(_0x13cc85['siyMk'](_0x2cafa7,null))throw new IdGeneratorError(_0x178af5(0xa2),'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x116ca9+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x579db9,'pattern':_0x5ee2e4,'maxRetry':_0x116ca9});}const _0x53b9bc={'value':_0x2cafa7,'resource':_0x579db9,'pattern':_0x5ee2e4,'attemptCount':_0x15ab68,'generatedAt':new Date()['toISOString']()};_0x328b4a&&_0x2d4926&&(_0x53b9bc[_0x178af5(0x121)]=new Date(_0x13cc85[_0x178af5(0xfc)](Date['now'](),_0x13cc85[_0x178af5(0xaa)](_0x328b4a,0x3e8)))['toISOString']());const _0x5e1363=await this[_0x178af5(0x191)](_0x8687ec,_0x53b9bc);if(!_0x5e1363['stored'])return _0x2d4926&&await this['_undoRandomReservation'](_0x579db9,_0x2cafa7,_0x328b4a),logger['info']({'event':'idgen_random_idem_loser','resource':_0x579db9,'pattern':_0x5ee2e4,'value':_0x2cafa7},_0x178af5(0xe3)),_0x5e1363['winnerResult'];return logger['info']({'event':'idgen_random_generated','resource':_0x579db9,'pattern':_0x5ee2e4,'attemptCount':_0x15ab68,'ensureUnique':_0x2d4926,'ttl':_0x13cc85[_0x178af5(0x18d)](_0x328b4a,0x0)},'ID\x20Generator\x20random:\x20'+_0x2cafa7),_0x53b9bc;}async[a0_0x2771b1(0x139)](_0xe3567c){const _0x47062c=a0_0x2771b1,_0x488fd8={'jCMYO':function(_0x16b8bd,_0x50f92f){return _0x16b8bd==_0x50f92f;},'mivXI':'IDGEN_INVALID_DIGITS','oNHyr':function(_0x161afb,_0x40dc93){return _0x161afb===_0x40dc93;}},_0x214dd5=_0x488fd8[_0x47062c(0x8f)](_0xe3567c[_0x47062c(0x146)],null)?this[_0x47062c(0x125)]:_0xe3567c[_0x47062c(0x146)];if(!Number['isInteger'](_0x214dd5)||_0x214dd5<MIN_PIN_DIGITS||_0x214dd5>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x488fd8['mivXI'],'Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x47062c(0xd0)+_0x214dd5+')');const _0xf37fcb='9'[_0x47062c(0xb8)](_0x214dd5);return this['random']({'resource':_0xe3567c[_0x47062c(0x105)],'pattern':_0xf37fcb,'ensureUnique':_0x488fd8[_0x47062c(0xe1)](_0xe3567c['ensureUnique'],!![]),'ttl':_0xe3567c['ttl'],'maxRetry':_0xe3567c[_0x47062c(0xbd)],'idempotencyKey':_0xe3567c['idempotencyKey']});}async['serial'](_0x45b4e5){const _0x5a185c=a0_0x2771b1,_0x55f1ea={'bDnvM':function(_0x350062,_0x100990){return _0x350062!==_0x100990;}},_0x471cbb=_0x45b4e5[_0x5a185c(0x166)]||this['defaultSerialPattern'];return this[_0x5a185c(0x175)]({'resource':_0x45b4e5['resource'],'pattern':_0x471cbb,'ensureUnique':_0x55f1ea['bDnvM'](_0x45b4e5[_0x5a185c(0x15b)],![]),'ttl':_0x45b4e5[_0x5a185c(0x156)],'maxRetry':_0x45b4e5['maxRetry'],'idempotencyKey':_0x45b4e5['idempotencyKey']});}async['code'](_0x4cf0ae){const _0xae118c=a0_0x2771b1,_0x3eaaec={'wJPgf':function(_0x1c9544,_0x2a2c04){return _0x1c9544!==_0x2a2c04;}},_0x41ee03=_0x4cf0ae[_0xae118c(0x166)]||this['defaultCodePattern'];return this[_0xae118c(0x175)]({'resource':_0x4cf0ae[_0xae118c(0x105)],'pattern':_0x41ee03,'ensureUnique':_0x3eaaec['wJPgf'](_0x4cf0ae[_0xae118c(0x15b)],![]),'ttl':_0x4cf0ae[_0xae118c(0x156)],'maxRetry':_0x4cf0ae[_0xae118c(0xbd)],'idempotencyKey':_0x4cf0ae['idempotencyKey']});}async[a0_0x2771b1(0x131)](_0x41c3af){const _0x4193a5=a0_0x2771b1,_0x22c631={'InuPI':_0x4193a5(0x17d),'NaMyt':'idgen_consumed'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x22c631['InuPI']);this['_validateResource'](_0x41c3af['resource']);if(typeof _0x41c3af[_0x4193a5(0x147)]!==_0x4193a5(0x9c)||_0x41c3af['value'][_0x4193a5(0x126)]===0x0)throw new IdGeneratorError(_0x4193a5(0x129),_0x4193a5(0xf4));const {resource:_0xfa4784,value:_0x70e177}=_0x41c3af,_0x4d2ced=redisClient['getClient'](),_0xb6a636=this['_buildActiveKey'](_0xfa4784,_0x70e177),_0x592d6e=this[_0x4193a5(0x95)](_0xfa4784),[_0x1f4421,_0x2ded9d]=await Promise[_0x4193a5(0x187)]([_0x4d2ced['del'](_0xb6a636),_0x4d2ced[_0x4193a5(0x118)](_0x592d6e,_0x70e177)]),_0x5c40bb=_0x1f4421+_0x2ded9d>0x0;return logger[_0x4193a5(0x159)]({'event':_0x22c631[_0x4193a5(0x190)],'resource':_0xfa4784,'value':_0x70e177,'consumed':_0x5c40bb},_0x4193a5(0x114)+_0x70e177),{'consumed':_0x5c40bb,'resource':_0xfa4784,'value':_0x70e177,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x284b48){const _0x1656d3=a0_0x2771b1,_0x1c9c1b={'ZUPXX':'IDGEN_DISABLED','rHBTD':'ID\x20Generator\x20is\x20disabled','LMnXt':_0x1656d3(0x76),'AfWLy':function(_0x370128,_0x29b0d1){return _0x370128===_0x29b0d1;},'mNUwI':_0x1656d3(0xe9),'dFPVP':function(_0x3065af,_0x1626d7,_0x33273f){return _0x3065af(_0x1626d7,_0x33273f);},'yvwMw':function(_0x1fc18a,_0x51fc0e){return _0x1fc18a||_0x51fc0e;},'zXqAQ':'random','OkjKs':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError(_0x1c9c1b['ZUPXX'],_0x1c9c1b[_0x1656d3(0x13a)]);this['_validateResource'](_0x284b48[_0x1656d3(0x105)]);const _0x3c49b3=_0x284b48[_0x1656d3(0x97)]||_0x1c9c1b[_0x1656d3(0xb1)],_0x2d4edf=redisClient['getClient']();if(_0x1c9c1b[_0x1656d3(0xc2)](_0x3c49b3,_0x1656d3(0x76))){const _0x5d2603=(_0x284b48['format']||'text')[_0x1656d3(0x16f)]();if(!ALLOWED_FORMATS[_0x1656d3(0x174)](_0x5d2603))throw new IdGeneratorError(_0x1c9c1b[_0x1656d3(0x165)],'Invalid\x20format:\x20'+_0x284b48[_0x1656d3(0x136)]);const {formatKey:_0x2e6b98}=this['_buildFormatKey'](_0x5d2603,_0x284b48['prefix']||''),_0x59a6b0=this['_buildSeqKey'](_0x284b48[_0x1656d3(0x105)],_0x2e6b98),_0xc86d73=this['_buildReuseKey'](_0x284b48['resource'],_0x2e6b98),[_0x5e5c9e,_0x44fad2]=await Promise['all']([_0x2d4edf[_0x1656d3(0x196)](_0x59a6b0),_0x2d4edf[_0x1656d3(0x14f)](_0xc86d73)]);return{'resource':_0x284b48[_0x1656d3(0x105)],'mode':_0x1c9c1b['LMnXt'],'formatKey':_0x2e6b98,'currentCounter':_0x1c9c1b[_0x1656d3(0x90)](parseInt,_0x5e5c9e,0xa)||0x0,'reusePoolSize':_0x1c9c1b[_0x1656d3(0xe6)](_0x44fad2,0x0)};}if(_0x3c49b3===_0x1c9c1b['zXqAQ']){const _0x1e25a3=this['_buildIssuedKey'](_0x284b48[_0x1656d3(0x105)]),_0x3fc171=await _0x2d4edf[_0x1656d3(0x10b)](_0x1e25a3);return{'resource':_0x284b48[_0x1656d3(0x105)],'mode':_0x1c9c1b['zXqAQ'],'issuedCount':_0x3fc171||0x0};}throw new IdGeneratorError(_0x1c9c1b['OkjKs'],_0x1656d3(0x7c)+_0x3c49b3);}async[a0_0x2771b1(0xd7)](_0x6a9584){const _0xf22d2a=a0_0x2771b1,_0x2dcd4e={'bMMXF':'number'},_0x37156b=await this['peek'](_0x6a9584);if(_0x37156b['mode']===_0x2dcd4e[_0xf22d2a(0x123)]){const _0x515e1b=redisClient[_0xf22d2a(0xab)](),_0x35af8e=this['_buildMetaKey'](_0x6a9584['resource'],_0x37156b[_0xf22d2a(0x16b)]),_0x225513=this[_0xf22d2a(0xe8)](_0x6a9584[_0xf22d2a(0x105)],_0x37156b[_0xf22d2a(0x16b)]),[_0x1e3205,_0x4a5430]=await Promise[_0xf22d2a(0x187)]([_0x515e1b['hgetall'](_0x35af8e),_0x515e1b['zrange'](_0x225513,0x0,-0x1)]);return{..._0x37156b,'reusePoolValues':_0x4a5430[_0xf22d2a(0x99)](_0x141d2d=>parseInt(_0x141d2d,0xa)),'meta':_0x1e3205&&Object[_0xf22d2a(0xc7)](_0x1e3205)[_0xf22d2a(0x126)]>0x0?_0x1e3205:null};}return _0x37156b;}async[a0_0x2771b1(0x87)](_0x1a4c5b){const _0x2c4f0a=a0_0x2771b1,_0x4b1746={'jQfXV':_0x2c4f0a(0x17d),'LnQSd':_0x2c4f0a(0xe2),'kRoLa':'number','JeIyC':_0x2c4f0a(0x13c),'NOgxm':'IDGEN_INVALID_FORMAT','CnOkX':'idgen_reset','YJYFr':_0x2c4f0a(0xdf),'IhfnP':'reuse','tljes':_0x2c4f0a(0x18f),'nROND':'random','dJyVQ':'issued','VZXAS':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError(_0x2c4f0a(0x150),_0x4b1746['jQfXV']);if(!this['allowReset'])throw new IdGeneratorError('IDGEN_RESET_NOT_ALLOWED',_0x4b1746[_0x2c4f0a(0x183)]);this['_validateResource'](_0x1a4c5b['resource']);const _0x5cff26=_0x1a4c5b['mode']||_0x4b1746['kRoLa'],_0x446957=redisClient['getClient']();if(_0x5cff26===_0x4b1746[_0x2c4f0a(0x11c)]){const _0xa23db=(_0x1a4c5b[_0x2c4f0a(0x136)]||_0x4b1746[_0x2c4f0a(0xcf)])[_0x2c4f0a(0x16f)]();if(!ALLOWED_FORMATS[_0x2c4f0a(0x174)](_0xa23db))throw new IdGeneratorError(_0x4b1746[_0x2c4f0a(0x13d)],'Invalid\x20format:\x20'+_0x1a4c5b[_0x2c4f0a(0x136)]);const {formatKey:_0x24539c}=this['_buildFormatKey'](_0xa23db,_0x1a4c5b[_0x2c4f0a(0xce)]||''),_0x9c1964=this['_buildSeqKey'](_0x1a4c5b[_0x2c4f0a(0x105)],_0x24539c),_0xa1b4e7=this['_buildReuseKey'](_0x1a4c5b[_0x2c4f0a(0x105)],_0x24539c),_0x1316c1=this['_buildMetaKey'](_0x1a4c5b[_0x2c4f0a(0x105)],_0x24539c);return await _0x446957['del'](_0x9c1964,_0xa1b4e7,_0x1316c1),logger['warn']({'event':_0x4b1746[_0x2c4f0a(0x17a)],'resource':_0x1a4c5b['resource'],'mode':_0x4b1746['kRoLa'],'formatKey':_0x24539c},_0x2c4f0a(0x157)+_0x1a4c5b['resource']+':'+_0x24539c),{'reset':!![],'resource':_0x1a4c5b[_0x2c4f0a(0x105)],'mode':_0x4b1746['kRoLa'],'formatKey':_0x24539c,'deletedKeys':[_0x4b1746['YJYFr'],_0x4b1746['IhfnP'],_0x4b1746[_0x2c4f0a(0x119)]]};}if(_0x5cff26===_0x4b1746[_0x2c4f0a(0x80)]){const _0xe0166=this[_0x2c4f0a(0x95)](_0x1a4c5b['resource']);return await _0x446957[_0x2c4f0a(0x110)](_0xe0166),logger[_0x2c4f0a(0x17b)]({'event':_0x4b1746[_0x2c4f0a(0x17a)],'resource':_0x1a4c5b['resource'],'mode':_0x2c4f0a(0x175)},'ID\x20Generator\x20reset:\x20random:'+_0x1a4c5b['resource']),{'reset':!![],'resource':_0x1a4c5b[_0x2c4f0a(0x105)],'mode':_0x2c4f0a(0x175),'deletedKeys':[_0x4b1746['dJyVQ']]};}throw new IdGeneratorError(_0x4b1746['VZXAS'],'Unknown\x20mode:\x20'+_0x5cff26);}}const instance=new IdGenerator();instance[a0_0x2771b1(0x108)]=IdGeneratorError,module['exports']=instance,module['exports']['IdGeneratorError']=IdGeneratorError;
1
+ 'use strict';const a0_0x563a93=a0_0x1b06;(function(_0x5159db,_0x29a0ad){const _0x9ba9b5=a0_0x1b06,_0x3e4449=_0x5159db();while(!![]){try{const _0x242f89=-parseInt(_0x9ba9b5(0x12c))/0x1*(parseInt(_0x9ba9b5(0x191))/0x2)+-parseInt(_0x9ba9b5(0xc4))/0x3*(-parseInt(_0x9ba9b5(0x123))/0x4)+-parseInt(_0x9ba9b5(0xc5))/0x5+-parseInt(_0x9ba9b5(0xb3))/0x6*(parseInt(_0x9ba9b5(0x8b))/0x7)+parseInt(_0x9ba9b5(0xc8))/0x8+-parseInt(_0x9ba9b5(0xf0))/0x9*(-parseInt(_0x9ba9b5(0x144))/0xa)+-parseInt(_0x9ba9b5(0xe5))/0xb*(parseInt(_0x9ba9b5(0x164))/0xc);if(_0x242f89===_0x29a0ad)break;else _0x3e4449['push'](_0x3e4449['shift']());}catch(_0x4ce885){_0x3e4449['push'](_0x3e4449['shift']());}}}(a0_0x21ab,0x2b2d6));const crypto=require(a0_0x563a93(0x197)),redisClient=require(a0_0x563a93(0x1a3)),{logger}=require(a0_0x563a93(0x129)),idempotencyManager=require(a0_0x563a93(0x84)),ALLOWED_FORMATS=new Set([a0_0x563a93(0x19c),'yyyy',a0_0x563a93(0x143),'yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT=a0_0x563a93(0x9b),CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x563a93(0xcb),CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER=a0_0x563a93(0x98),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION=a0_0x563a93(0x19e),LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';class IdGeneratorError extends Error{constructor(_0xab6148,_0x903efc,_0x39f83e=null){const _0x137227=a0_0x563a93,_0xd77385={'SgYXG':function(_0x5f47ac,_0x3eba79){return _0x5f47ac||_0x3eba79;}};super(_0xd77385[_0x137227(0x162)](_0x903efc,_0xab6148)),this['name']='IdGeneratorError',this['code']=_0xab6148,this[_0x137227(0x148)]=_0x39f83e;}}function a0_0x1b06(_0x1908c9,_0x48f6ff){_0x1908c9=_0x1908c9-0x7a;const _0x21ab84=a0_0x21ab();let _0x1b06d2=_0x21ab84[_0x1908c9];if(a0_0x1b06['gixwsM']===undefined){var _0x3ea2ba=function(_0x1603b6){const _0x4eb5bc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9c97f3='',_0x3840b7='';for(let _0xf0d831=0x0,_0x4fc4dd,_0x2de96b,_0x290787=0x0;_0x2de96b=_0x1603b6['charAt'](_0x290787++);~_0x2de96b&&(_0x4fc4dd=_0xf0d831%0x4?_0x4fc4dd*0x40+_0x2de96b:_0x2de96b,_0xf0d831++%0x4)?_0x9c97f3+=String['fromCharCode'](0xff&_0x4fc4dd>>(-0x2*_0xf0d831&0x6)):0x0){_0x2de96b=_0x4eb5bc['indexOf'](_0x2de96b);}for(let _0x4970a4=0x0,_0x302380=_0x9c97f3['length'];_0x4970a4<_0x302380;_0x4970a4++){_0x3840b7+='%'+('00'+_0x9c97f3['charCodeAt'](_0x4970a4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3840b7);};a0_0x1b06['rbfTMY']=_0x3ea2ba,a0_0x1b06['KCPoCx']={},a0_0x1b06['gixwsM']=!![];}const _0x5ea143=_0x21ab84[0x0],_0x114af0=_0x1908c9+_0x5ea143,_0x1dc9e6=a0_0x1b06['KCPoCx'][_0x114af0];return!_0x1dc9e6?(_0x1b06d2=a0_0x1b06['rbfTMY'](_0x1b06d2),a0_0x1b06['KCPoCx'][_0x114af0]=_0x1b06d2):_0x1b06d2=_0x1dc9e6,_0x1b06d2;}class IdGenerator{constructor(){const _0x5cacca=a0_0x563a93,_0x3f2d39={'LUZET':_0x5cacca(0x92)},_0x101963=_0x3f2d39['LUZET'][_0x5cacca(0x193)]('|');let _0x56ae05=0x0;while(!![]){switch(_0x101963[_0x56ae05++]){case'0':this['_reserveMaxTTL']=null;continue;case'1':this['_defaultSerialPattern']=null;continue;case'2':this['_idemTTL']=null;continue;case'3':this[_0x5cacca(0x134)]=null;continue;case'4':this[_0x5cacca(0xf2)]=null;continue;case'5':this['_allowReset']=null;continue;case'6':this['_defaultPinDigits']=null;continue;case'7':this[_0x5cacca(0x10e)]=null;continue;case'8':this['_counterTTLMap']=null;continue;case'9':this['_reserveDefaultTTL']=null;continue;case'10':this['_defaultMaxRetry']=null;continue;case'11':this['_initialized']=![];continue;}break;}}[a0_0x563a93(0x137)](){const _0x43f5e6=a0_0x563a93,_0x5697c0={'nxfbJ':function(_0x1094c2,_0x2815df,_0x3a8804){return _0x1094c2(_0x2815df,_0x3a8804);},'RUnDY':function(_0x4360e3,_0x5da140,_0x46f7b4){return _0x4360e3(_0x5da140,_0x46f7b4);},'jSCJS':function(_0x16529f,_0x370227){return _0x16529f===_0x370227;},'vwkbz':_0x43f5e6(0xb0),'PpGqB':'XXXX-XXXX-XXXX-XXXX'},_0x5c097d='1|11|8|4|5|2|12|10|6|3|0|9|7'['split']('|');let _0x591ad1=0x0;while(!![]){switch(_0x5c097d[_0x591ad1++]){case'0':this[_0x43f5e6(0xac)]=_0x5697c0['nxfbJ'](parseInt,process[_0x43f5e6(0x173)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL;continue;case'1':this[_0x43f5e6(0xf2)]=_0x43f5e6(0xc0);continue;case'2':this[_0x43f5e6(0x97)]=_0x5697c0['RUnDY'](parseInt,process['env']['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6;continue;case'3':this['_reserveDefaultTTL']=parseInt(process['env'][_0x43f5e6(0xc6)],0xa)||DEFAULT_RESERVE_TTL;continue;case'4':this[_0x43f5e6(0x86)]=_0x5697c0['jSCJS'](process['env']['IDGEN_ALLOW_RESET'],_0x5697c0['vwkbz']);continue;case'5':this[_0x43f5e6(0x118)]=parseInt(process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa;continue;case'6':this[_0x43f5e6(0x150)]={'yyyymm':parseInt(process[_0x43f5e6(0x173)][_0x43f5e6(0xd0)],0xa)||0x2a3000,'yyyymmdd':_0x5697c0['nxfbJ'](parseInt,process[_0x43f5e6(0x173)][_0x43f5e6(0x16b)],0xa)||0x2a300};continue;case'7':logger['info']({'event':_0x43f5e6(0xdf),'enabled':this[_0x43f5e6(0x10e)],'idemTTL':this[_0x43f5e6(0x178)],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},_0x43f5e6(0x19b)+this[_0x43f5e6(0x10e)]);continue;case'8':this['_idemTTL']=_0x5697c0[_0x43f5e6(0x145)](parseInt,process['env'][_0x43f5e6(0x108)],0xa)||0x258;continue;case'9':this[_0x43f5e6(0x7d)]=!![];continue;case'10':this[_0x43f5e6(0x134)]=process[_0x43f5e6(0x173)]['IDGEN_DEFAULT_CODE_PATTERN']||_0x43f5e6(0xb5);continue;case'11':this['_enabled']=process[_0x43f5e6(0x173)]['IDGEN_ENABLED']===_0x5697c0['vwkbz'];continue;case'12':this[_0x43f5e6(0x136)]=process[_0x43f5e6(0x173)]['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x5697c0['PpGqB'];continue;}break;}}['_ensureInitialized'](){const _0x4a5d93=a0_0x563a93;if(!this[_0x4a5d93(0x7d)])this[_0x4a5d93(0x137)]();}get[a0_0x563a93(0x17f)](){const _0xdb5984=a0_0x563a93;return this['_ensureInitialized'](),this[_0xdb5984(0x10e)];}get[a0_0x563a93(0x89)](){const _0x289ed=a0_0x563a93;return this[_0x289ed(0xde)](),this[_0x289ed(0xf2)];}get[a0_0x563a93(0x17d)](){return this['_ensureInitialized'](),this['_idemTTL'];}get[a0_0x563a93(0x146)](){return this['_ensureInitialized'](),this['_allowReset'];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){return this['_ensureInitialized'](),this['_defaultPinDigits'];}get[a0_0x563a93(0x194)](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get['defaultCodePattern'](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get[a0_0x563a93(0x1a4)](){const _0x563e3a=a0_0x563a93;return this['_ensureInitialized'](),this[_0x563e3a(0xae)];}get[a0_0x563a93(0x153)](){const _0x403ba8=a0_0x563a93;return this[_0x403ba8(0xde)](),this['_reserveMaxTTL'];}[a0_0x563a93(0xfb)](){return this['enabled'];}[a0_0x563a93(0x12a)](_0x345c8c){const _0x3a3a2e=a0_0x563a93,_0x20c995={'pDanC':function(_0x5b3b7e,_0x3b607e){return _0x5b3b7e!==_0x3b607e;}};if(_0x20c995[_0x3a3a2e(0x14c)](typeof _0x345c8c,'string')||!RESOURCE_REGEX[_0x3a3a2e(0x18a)](_0x345c8c))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON[_0x3a3a2e(0x11a)](_0x345c8c)+')');}[a0_0x563a93(0xfe)](_0x229c4e){const _0x4e0031=a0_0x563a93,_0x7c7f8e={'dSBdl':_0x4e0031(0x13e),'AWucN':function(_0xb66be1,_0x991a4f){return _0xb66be1>_0x991a4f;},'qVRgi':function(_0x354e53,_0x1d0f2d){return _0x354e53==_0x1d0f2d;},'DoYtm':function(_0x1919b6,_0x2a89e2){return _0x1919b6!==_0x2a89e2;},'fvgIF':_0x4e0031(0x9e),'TlPjL':'string','QJNNe':_0x4e0031(0x121),'yiPza':function(_0x1ca49d,_0xe437af){return _0x1ca49d!==_0xe437af;},'iPiSW':_0x4e0031(0xc7),'qSVaM':'IDGEN_INVALID_RESOURCE','yvMZJ':function(_0x2fd926,_0x3aa91e){return _0x2fd926===_0x3aa91e;}},{resource:_0x368801,format:_0x2fb80f,prefix:_0x35d1c4,separator:_0x1d77cd,numDigits:_0xff666c,reuseDelete:_0x57b1dc}=_0x229c4e;this['_validateResource'](_0x368801);const _0xeea9d7=typeof _0x2fb80f==='string'?_0x2fb80f[_0x4e0031(0x122)]():'';if(!ALLOWED_FORMATS['has'](_0xeea9d7))throw new IdGeneratorError(_0x7c7f8e[_0x4e0031(0x174)],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x4e0031(0xcd)](',\x20')+'\x20(got:\x20'+_0x2fb80f+')');if(!Number[_0x4e0031(0x7b)](_0xff666c)||_0xff666c<MIN_NUM_DIGITS||_0x7c7f8e[_0x4e0031(0x156)](_0xff666c,MAX_NUM_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS','Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0xff666c+')');const _0x56d276=_0x7c7f8e['qVRgi'](_0x35d1c4,null)?'':_0x35d1c4;if(_0x7c7f8e[_0x4e0031(0xf5)](typeof _0x56d276,_0x4e0031(0xaa))||!PREFIX_REGEX['test'](_0x56d276))throw new IdGeneratorError(_0x7c7f8e['fvgIF'],_0x4e0031(0x111)+PREFIX_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x35d1c4)+')');const _0x5b76ae=_0x1d77cd==null?'':_0x1d77cd;if(_0x7c7f8e['DoYtm'](typeof _0x5b76ae,_0x7c7f8e[_0x4e0031(0x119)])||_0x7c7f8e['AWucN'](_0x5b76ae[_0x4e0031(0x10b)],0x3)||SEPARATOR_FORBIDDEN['test'](_0x5b76ae))throw new IdGeneratorError(_0x7c7f8e[_0x4e0031(0x83)],'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0x1d77cd)+')');if(_0x57b1dc!=null&&_0x7c7f8e['yiPza'](typeof _0x57b1dc,_0x7c7f8e[_0x4e0031(0x15f)]))throw new IdGeneratorError(_0x7c7f8e[_0x4e0031(0xcf)],'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x57b1dc+')');return{'resource':_0x368801,'format':_0xeea9d7,'prefix':_0x56d276,'separator':_0x5b76ae,'numDigits':_0xff666c,'reuseDelete':_0x7c7f8e[_0x4e0031(0x17b)](_0x57b1dc,!![])};}[a0_0x563a93(0xa3)](_0x29ac3c){const _0x108d9a=a0_0x563a93,_0x2781f2={'rvlJJ':'string'};if(typeof _0x29ac3c!==_0x2781f2['rvlJJ']||_0x29ac3c['length']===0x0||_0x29ac3c[_0x108d9a(0x10b)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x108d9a(0xe7),'Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x29ac3c&&_0x29ac3c['length'])+')');let _0x3553b1=![];for(const _0x2bc1c4 of _0x29ac3c){if(PLACEHOLDER_MAP[_0x2bc1c4]){_0x3553b1=!![];break;}}if(!_0x3553b1)throw new IdGeneratorError(_0x108d9a(0xe7),_0x108d9a(0x19f));}[a0_0x563a93(0xb9)](_0x24e89b){const _0x541d0e=a0_0x563a93,_0x31f647={'vtZYG':function(_0x472335,_0x372d29){return _0x472335==_0x372d29;},'OCGnL':function(_0x6a6146,_0x333d05){return _0x6a6146<_0x333d05;},'WUJVK':function(_0x5600ea,_0x5c9d2a){return _0x5600ea>_0x5c9d2a;},'qvEmM':_0x541d0e(0xa8)};if(_0x31f647[_0x541d0e(0xd2)](_0x24e89b,null))return undefined;if(!Number[_0x541d0e(0x7b)](_0x24e89b)||_0x31f647['OCGnL'](_0x24e89b,0x1)||_0x31f647[_0x541d0e(0xeb)](_0x24e89b,MAX_TTL))throw new IdGeneratorError(_0x31f647[_0x541d0e(0x189)],'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+_0x541d0e(0x93)+_0x24e89b+')');return _0x24e89b;}[a0_0x563a93(0xc1)](_0x57bf60){const _0x1eba1f=a0_0x563a93,_0x5ec881={'vIFeN':function(_0x1bb16a,_0x31d999){return _0x1bb16a<_0x31d999;},'OSvgu':'IDGEN_INVALID_MAX_RETRY'};if(_0x57bf60==null)return this['defaultMaxRetry'];if(!Number['isInteger'](_0x57bf60)||_0x5ec881[_0x1eba1f(0x128)](_0x57bf60,0x1)||_0x57bf60>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x5ec881['OSvgu'],_0x1eba1f(0x13b)+MAX_RETRY_LIMIT+_0x1eba1f(0xe2)+_0x57bf60+')');return _0x57bf60;}[a0_0x563a93(0x15e)](_0x205194){const _0x48d326=a0_0x563a93,_0x2acd51={'TigaS':function(_0x5581f3,_0x450271){return _0x5581f3==_0x450271;},'plPmH':'IDGEN_INVALID_RESOURCE'};if(_0x2acd51['TigaS'](_0x205194,null))return undefined;if(typeof _0x205194!=='string'||_0x205194['length']===0x0||_0x205194['length']>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x2acd51[_0x48d326(0x18e)],_0x48d326(0xe4)+MAX_IDEMPOTENCY_KEY_LENGTH+_0x48d326(0x151));return _0x205194;}[a0_0x563a93(0xcc)](_0x932798){const _0x5b649b=a0_0x563a93,_0x4b14ed={'wxHHl':function(_0x40a248,_0x4614a4){return _0x40a248==_0x4614a4;},'IOHnY':function(_0x45a07c,_0x58d609){return _0x45a07c<_0x58d609;},'fmLRE':_0x5b649b(0x107)};if(_0x4b14ed['wxHHl'](_0x932798,null))return this[_0x5b649b(0x1a4)];if(!Number['isInteger'](_0x932798)||_0x4b14ed['IOHnY'](_0x932798,MIN_RESERVE_TTL)||_0x932798>this['reserveMaxTTL'])throw new IdGeneratorError(_0x4b14ed['fmLRE'],'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+'\x20seconds\x20(got:\x20'+_0x932798+')');return _0x932798;}[a0_0x563a93(0x1a0)](_0x1cf9d6){const _0x2061db=a0_0x563a93,_0x260b56={'Pkxem':function(_0x2228ae,_0x4610ff){return _0x2228ae!==_0x4610ff;},'Cwfmq':_0x2061db(0xaa)};if(_0x260b56['Pkxem'](typeof _0x1cf9d6,_0x260b56[_0x2061db(0x8a)])||!RESERVATION_TOKEN_REGEX[_0x2061db(0x18a)](_0x1cf9d6))throw new IdGeneratorError('IDGEN_INVALID_TOKEN',_0x2061db(0x18f)+JSON[_0x2061db(0x11a)](_0x1cf9d6)+')');return _0x1cf9d6;}['_pad2'](_0xb1ae0a){const _0x38251a={'bHyqY':function(_0x51f077,_0x185a0c){return _0x51f077(_0x185a0c);}};return _0x38251a['bHyqY'](String,_0xb1ae0a)['padStart'](0x2,'0');}[a0_0x563a93(0xd3)](_0x23e98a,_0x253a97,_0x164ea4=new Date()){const _0x72706d=a0_0x563a93,_0x294ca0={'GEjQE':function(_0x289032,_0x17344e){return _0x289032+_0x17344e;},'DTwyH':function(_0x285a8d,_0x48676c){return _0x285a8d||_0x48676c;},'xlUBz':_0x72706d(0x13e)},_0x37689c=_0x164ea4['getFullYear'](),_0x311b57=this[_0x72706d(0x13d)](_0x294ca0[_0x72706d(0xce)](_0x164ea4[_0x72706d(0x10a)](),0x1)),_0x608bc5=this['_pad2'](_0x164ea4[_0x72706d(0x91)]()),_0x39cbab=_0x294ca0[_0x72706d(0x171)](_0x253a97,'_');let _0x1d6e5b,_0x41f6e9='';switch(_0x23e98a){case'text':_0x1d6e5b=_0x39cbab+'_text';break;case _0x72706d(0x102):_0x41f6e9=''+_0x37689c,_0x1d6e5b=_0x39cbab+'_yyyy_'+_0x41f6e9;break;case'yyyymm':_0x41f6e9=''+_0x37689c+_0x311b57,_0x1d6e5b=_0x39cbab+_0x72706d(0x80)+_0x41f6e9;break;case _0x72706d(0xc3):_0x41f6e9=''+_0x37689c+_0x311b57+_0x608bc5,_0x1d6e5b=_0x39cbab+_0x72706d(0x180)+_0x41f6e9;break;default:throw new IdGeneratorError(_0x294ca0['xlUBz'],'Unknown\x20format:\x20'+_0x23e98a);}return{'formatKey':_0x1d6e5b,'datePrefix':_0x41f6e9};}['_buildSeqKey'](_0x26a7ba,_0xac28cb){return this['keyPrefix']+'seq:'+_0x26a7ba+':'+_0xac28cb;}['_buildReuseKey'](_0x347734,_0x4a8fe7){const _0x1153fa=a0_0x563a93;return this[_0x1153fa(0x89)]+_0x1153fa(0xca)+_0x347734+':'+_0x4a8fe7;}['_buildMetaKey'](_0x5f2bf9,_0x127178){const _0x5778cd=a0_0x563a93;return this[_0x5778cd(0x89)]+_0x5778cd(0x1a2)+_0x5f2bf9+':'+_0x127178;}['_buildIssuedKey'](_0x22359d){const _0x1adf30=a0_0x563a93;return this[_0x1adf30(0x89)]+_0x1adf30(0x81)+_0x22359d;}[a0_0x563a93(0x188)](_0x38000a,_0x5f41b7){const _0x3d65a0=a0_0x563a93;return this[_0x3d65a0(0x89)]+'active:'+_0x38000a+':'+_0x5f41b7;}[a0_0x563a93(0x184)](_0x1b709c){const _0x28b000=a0_0x563a93;return this[_0x28b000(0x89)]+'rsv:'+_0x1b709c;}['_buildReservationIndexKey'](_0x24b6dd,_0x483d71){return this['keyPrefix']+'rsv_idx:'+_0x24b6dd+':'+_0x483d71;}['_buildReservationKeyPrefix'](){const _0x197844=a0_0x563a93;return this['keyPrefix']+_0x197844(0x104);}['_buildIdemKey'](_0x177a40,_0x2cf8d1,_0x3ee2da,_0x30a12d){const _0x48248f=a0_0x563a93;if(_0x3ee2da)return idempotencyManager['buildDeterministicKey'](_0x48248f(0x9a),_0x177a40,_0x2cf8d1+':'+_0x3ee2da+':'+_0x30a12d);return idempotencyManager[_0x48248f(0x15a)](_0x48248f(0x9a),_0x177a40,_0x2cf8d1+':'+_0x30a12d);}['_getCounterTTL'](_0x48a801){const _0x2fdd84=a0_0x563a93;return this[_0x2fdd84(0x150)][_0x48a801]||0x0;}[a0_0x563a93(0x16d)]({format:_0x3f84bb,prefix:_0x4aeda1,datePrefix:_0x1cfd49,separator:_0x161598,numDigits:_0x439d58,counterInt:_0x32995c}){const _0x18e4b5=a0_0x563a93,_0x216a5f={'inSCR':function(_0x824607,_0x46a0c1){return _0x824607>_0x46a0c1;}},_0x47cbdd=Math[_0x18e4b5(0x139)](0xa,_0x439d58)-0x1;if(_0x216a5f['inSCR'](_0x32995c,_0x47cbdd))throw new IdGeneratorError('IDGEN_COUNTER_OVERFLOW','Counter\x20overflow:\x20'+_0x32995c+_0x18e4b5(0x132)+_0x439d58+'-digit\x20capacity\x20('+_0x47cbdd+').\x20Increase\x20numDigits.',{'counterInt':_0x32995c,'numDigits':_0x439d58,'max':_0x47cbdd});const _0x1a5c45=String(_0x32995c)[_0x18e4b5(0x10c)](_0x439d58,'0');if(_0x3f84bb===_0x18e4b5(0x19c))return _0x4aeda1?''+_0x4aeda1+_0x161598+_0x1a5c45:_0x1a5c45;return _0x4aeda1?''+_0x4aeda1+_0x161598+_0x1cfd49+_0x161598+_0x1a5c45:''+_0x1cfd49+_0x161598+_0x1a5c45;}['_parseNumber']({format:_0x34335f,prefix:_0x356d54,separator:_0x4030d6,numDigits:_0x2e32ec,number:_0x47f1c8}){const _0x3241d0=a0_0x563a93,_0x8896d5={'qzTGJ':function(_0x582311,_0x4267ba){return _0x582311!==_0x4267ba;},'YVdOs':'string','mTKMJ':function(_0x4e78e8,_0x5d9b78){return _0x4e78e8===_0x5d9b78;},'DjofS':function(_0x51bdea,_0x41501b){return _0x51bdea||_0x41501b;},'YZGyD':function(_0x1d914d,_0x187d83){return _0x1d914d===_0x187d83;},'Qfarq':function(_0xfa6ac9,_0x30b76b){return _0xfa6ac9!==_0x30b76b;},'ZcqbK':'IDGEN_INVALID_NUMBER','SGMwz':function(_0x5bd747,_0x392353){return _0x5bd747!==_0x392353;},'CXmxM':function(_0x59df8f,_0xd65ccf){return _0x59df8f===_0xd65ccf;}};if(_0x8896d5[_0x3241d0(0xa0)](typeof _0x47f1c8,_0x8896d5['YVdOs'])||_0x8896d5['mTKMJ'](_0x47f1c8['length'],0x0))throw new IdGeneratorError(_0x3241d0(0xf4),_0x3241d0(0x199));const _0x508a27=_0x8896d5['DjofS'](_0x4030d6,''),_0x34af3e=_0x8896d5[_0x3241d0(0x15d)](_0x508a27,'')?[_0x47f1c8]:_0x47f1c8[_0x3241d0(0x193)](_0x508a27);let _0x3f4e38='',_0x5bb555;if(_0x8896d5['YZGyD'](_0x34335f,'text')){if(_0x356d54){if(_0x8896d5[_0x3241d0(0xa2)](_0x34af3e['length'],0x2)||_0x8896d5[_0x3241d0(0xa0)](_0x34af3e[0x0],_0x356d54))throw new IdGeneratorError(_0x8896d5['ZcqbK'],_0x3241d0(0xd4)+_0x508a27+'padded\x20(got:\x20'+_0x47f1c8+')');_0x5bb555=_0x34af3e[0x1];}else{if(_0x34af3e[_0x3241d0(0x10b)]!==0x1)throw new IdGeneratorError(_0x8896d5[_0x3241d0(0x152)],_0x3241d0(0xdb)+_0x47f1c8+')');_0x5bb555=_0x34af3e[0x0];}}else{const _0x545b1f=_0x356d54?0x3:0x2;if(_0x34af3e['length']!==_0x545b1f)throw new IdGeneratorError(_0x3241d0(0xf4),_0x3241d0(0x135)+_0x47f1c8+_0x3241d0(0x149)+_0x545b1f+'\x20parts)');let _0xfa5e30=0x0;if(_0x356d54){if(_0x8896d5['SGMwz'](_0x34af3e[_0xfa5e30],_0x356d54))throw new IdGeneratorError(_0x8896d5['ZcqbK'],_0x3241d0(0x167)+_0x356d54+_0x3241d0(0x87)+_0x34af3e[_0xfa5e30]);_0xfa5e30++;}_0x3f4e38=_0x34af3e[_0xfa5e30++];const _0x46ac15=_0x8896d5[_0x3241d0(0x15d)](_0x34335f,'yyyy')?/^\d{4}$/:_0x34335f==='yyyymm'?/^\d{6}$/:/^\d{8}$/;if(!_0x46ac15[_0x3241d0(0x18a)](_0x3f4e38))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x3241d0(0x13a)+_0x34335f+':\x20'+_0x3f4e38);_0x5bb555=_0x34af3e[_0xfa5e30];}if(!new RegExp('^\x5cd{'+_0x2e32ec+'}$')[_0x3241d0(0x18a)](_0x5bb555))throw new IdGeneratorError(_0x8896d5[_0x3241d0(0x152)],_0x3241d0(0xa4)+_0x2e32ec+'\x20digits\x20(got:\x20'+_0x5bb555+')');const _0x52e91c=parseInt(_0x5bb555,0xa),_0x3e3281=_0x8896d5[_0x3241d0(0xe3)](_0x356d54,'_');let _0x84994b;return _0x8896d5[_0x3241d0(0xb6)](_0x34335f,'text')?_0x84994b=_0x3e3281+_0x3241d0(0x113):_0x84994b=_0x3e3281+'_'+_0x34335f+'_'+_0x3f4e38,{'formatKey':_0x84994b,'counterInt':_0x52e91c,'datePrefix':_0x3f4e38};}[a0_0x563a93(0x7f)](_0x2567f5){const _0xe9fad6=a0_0x563a93;let _0xbbfd96='';for(const _0x2bb56f of _0x2567f5){const _0x5815ca=PLACEHOLDER_MAP[_0x2bb56f];if(_0x5815ca){const _0x38e2e4=crypto[_0xe9fad6(0xff)](0x0,_0x5815ca[_0xe9fad6(0x10b)]);_0xbbfd96+=_0x5815ca[_0x38e2e4];}else _0xbbfd96+=_0x2bb56f;}return _0xbbfd96;}async[a0_0x563a93(0x19a)](_0x735f2){const _0x512faf=a0_0x563a93;if(!_0x735f2)return null;try{const _0x1fde4d=redisClient['getClient'](),_0x302f29=await _0x1fde4d['get'](_0x735f2);if(_0x302f29)return logger[_0x512faf(0x130)]({'event':'idgen_idem_hit','key':_0x735f2},'Idempotency\x20cache\x20HIT'),JSON[_0x512faf(0x190)](_0x302f29);return null;}catch(_0x3de753){return logger['warn']({'event':_0x512faf(0x9c),'error':_0x3de753[_0x512faf(0x16a)]},'Idempotency\x20retrieve\x20error'),null;}}async['_storeIdemCache'](_0x457774,_0x3b9a4f){const _0x1cc4c3=a0_0x563a93,_0x5e034d={'BUoQg':_0x1cc4c3(0x116)};if(!_0x457774)return;try{const _0x10bce2=redisClient[_0x1cc4c3(0xea)]();await _0x10bce2['setex'](_0x457774,this[_0x1cc4c3(0x17d)],JSON['stringify'](_0x3b9a4f));}catch(_0x4cb938){logger[_0x1cc4c3(0xb1)]({'event':_0x1cc4c3(0x110),'error':_0x4cb938[_0x1cc4c3(0x16a)]},_0x5e034d[_0x1cc4c3(0x12b)]);}}async['_storeIdemCacheNX'](_0x56574a,_0x2f2aae){const _0x2fb1b3=a0_0x563a93,_0xaa9ba8={'wvwdc':_0x2fb1b3(0x169),'Abcyt':'idgen_idem_storenx_error','DPqpy':_0x2fb1b3(0x13f)};if(!_0x56574a)return{'stored':!![],'winnerResult':null};try{const _0x43f8fb=redisClient['getClient'](),_0x3a0483=JSON['stringify'](_0x2f2aae),_0x2eeeda=await _0x43f8fb[_0x2fb1b3(0x11f)](_0x56574a,_0x3a0483,'EX',this[_0x2fb1b3(0x17d)],'NX');if(_0x2eeeda==='OK')return{'stored':!![],'winnerResult':null};const _0x232185=await _0x43f8fb[_0x2fb1b3(0x140)](_0x56574a);if(_0x232185)return{'stored':![],'winnerResult':JSON['parse'](_0x232185)};return logger['warn']({'event':_0xaa9ba8[_0x2fb1b3(0xef)],'key':_0x56574a},_0x2fb1b3(0x170)),{'stored':!![],'winnerResult':null};}catch(_0x2f55f1){return logger[_0x2fb1b3(0xb1)]({'event':_0xaa9ba8[_0x2fb1b3(0x147)],'error':_0x2f55f1['message']},_0xaa9ba8[_0x2fb1b3(0x8d)]),{'stored':!![],'winnerResult':null};}}async[a0_0x563a93(0x99)](_0x159467,_0x147650,_0x28728e){const _0x2a4cfb=a0_0x563a93,_0x5335cd={'jrAxE':'idgen_random_undo_error','liuuv':_0x2a4cfb(0x142)};try{const _0xbae560=redisClient['getClient']();if(_0x28728e){const _0x1d41ea=this['_buildActiveKey'](_0x159467,_0x147650);await _0xbae560[_0x2a4cfb(0x17a)](_0x1d41ea);}else{const _0x21bcee=this['_buildIssuedKey'](_0x159467);await _0xbae560[_0x2a4cfb(0x9d)](_0x21bcee,_0x147650);}}catch(_0x5812a0){logger[_0x2a4cfb(0xb1)]({'event':_0x5335cd['jrAxE'],'error':_0x5812a0['message']},_0x5335cd[_0x2a4cfb(0x15b)]);}}async[a0_0x563a93(0x8f)](_0x12750f,_0x5aef2e,_0x514f88,_0x5264f6=0x0){const _0x22c6e8=a0_0x563a93,_0x2910c1={'nqhJh':function(_0x488087,_0x1ce58f){return _0x488087(_0x1ce58f);},'gmnID':function(_0x41ee54,_0x5ba2f2){return _0x41ee54>_0x5ba2f2;},'sVTCi':'Meta\x20update\x20error'};try{const _0x3fd83d=redisClient['getClient'](),_0x2d93d1=this[_0x22c6e8(0xf6)](_0x12750f,_0x5aef2e),_0x300367=[];for(const [_0x18a8e5,_0x4069ec]of Object[_0x22c6e8(0x12d)](_0x514f88)){_0x300367[_0x22c6e8(0x1a6)](_0x18a8e5,_0x2910c1['nqhJh'](String,_0x4069ec));}if(_0x2910c1[_0x22c6e8(0x18d)](_0x300367[_0x22c6e8(0x10b)],0x0)){await _0x3fd83d['hset'](_0x2d93d1,..._0x300367);if(_0x5264f6>0x0)await _0x3fd83d['expire'](_0x2d93d1,_0x5264f6);}}catch(_0x58866c){logger[_0x22c6e8(0xb1)]({'event':_0x22c6e8(0x105),'error':_0x58866c[_0x22c6e8(0x16a)]},_0x2910c1[_0x22c6e8(0xb8)]);}}async[a0_0x563a93(0xd5)](_0x2a4da9){const _0x395ec7=a0_0x563a93,_0x14258d={'nhPfi':function(_0x5e14ac,_0x374db1){return _0x5e14ac(_0x374db1);},'UxDOx':function(_0x414dc9,_0x4b66c7){return _0x414dc9===_0x4b66c7;},'vweUz':function(_0x2684ec,_0x5c923d){return _0x2684ec(_0x5c923d);},'ukrgL':_0x395ec7(0x12e)};if(!this[_0x395ec7(0x17f)])throw new IdGeneratorError('IDGEN_DISABLED',_0x395ec7(0x154));const _0x431c72=this[_0x395ec7(0xfe)](_0x2a4da9),_0x41ae97=this['_validateIdempotencyKey'](_0x2a4da9['idempotencyKey']),{resource:_0x5e7171,format:_0x318e4a,prefix:_0x4c22c3,separator:_0x544958,numDigits:_0x2ae557,reuseDelete:_0x399f42}=_0x431c72,{formatKey:_0x432df5,datePrefix:_0x5a872e}=this[_0x395ec7(0xd3)](_0x318e4a,_0x4c22c3),_0x14a45c=this[_0x395ec7(0x114)](_0x5e7171,_0x432df5),_0x423869=this['_buildReuseKey'](_0x5e7171,_0x432df5),_0x2b4238=this[_0x395ec7(0x141)](_0x318e4a);let _0xdb0418=null;if(_0x41ae97){_0xdb0418=this['_buildIdemKey']('number',_0x5e7171,_0x432df5,_0x41ae97);const _0x2f1af1=await this[_0x395ec7(0x19a)](_0xdb0418);if(_0x2f1af1)return _0x2f1af1;}const _0xda9906=redisClient['getClient'](),_0x384bd1=await _0xda9906[_0x395ec7(0xa9)](LUA_GENERATE_NUMBER,0x2,_0x14a45c,_0x423869,_0x399f42?'1':'0',_0x14258d['nhPfi'](String,_0x2b4238)),_0x383e7e=_0x384bd1[0x0],_0x54533b=_0x14258d['UxDOx'](_0x384bd1[0x1],0x1),_0x12d7d4=this[_0x395ec7(0x16d)]({'format':_0x318e4a,'prefix':_0x4c22c3,'datePrefix':_0x5a872e,'separator':_0x544958,'numDigits':_0x2ae557,'counterInt':_0x383e7e}),_0x48418f={'value':_0x12d7d4,'counter':_0x383e7e,'resource':_0x5e7171,'formatKey':_0x432df5,'isReused':_0x54533b,'generatedAt':new Date()[_0x395ec7(0x177)]()},_0x8eb9ae=await this[_0x395ec7(0x138)](_0xdb0418,_0x48418f);if(!_0x8eb9ae[_0x395ec7(0xb2)]){try{await _0xda9906['eval'](LUA_RELEASE_NUMBER,0x1,_0x423869,String(_0x383e7e),_0x14258d['vweUz'](String,_0x2b4238));}catch(_0x5bec1e){logger['warn']({'event':_0x395ec7(0x94),'error':_0x5bec1e[_0x395ec7(0x16a)],'resource':_0x5e7171,'formatKey':_0x432df5,'counterInt':_0x383e7e},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x14258d[_0x395ec7(0xfd)],'resource':_0x5e7171,'formatKey':_0x432df5,'counter':_0x383e7e},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x8eb9ae['winnerResult'];}return this[_0x395ec7(0x8f)](_0x5e7171,_0x432df5,{'lastValue':_0x12d7d4,'lastCounter':_0x383e7e,'lastIsReused':_0x54533b,'lastGeneratedAt':_0x48418f[_0x395ec7(0x14e)]},_0x2b4238),logger[_0x395ec7(0x130)]({'event':'idgen_number_generated','resource':_0x5e7171,'formatKey':_0x432df5,'counter':_0x383e7e,'isReused':_0x54533b},_0x395ec7(0xed)+_0x12d7d4),_0x48418f;}async['releaseNumber'](_0x4aaa68){const _0x3e1852=a0_0x563a93,_0x380a15={'AeJaj':'IDGEN_DISABLED','oUtYv':'ID\x20Generator\x20is\x20disabled','Wnlhg':function(_0x1480cb,_0x17cb6e){return _0x1480cb!==_0x17cb6e;},'IwsZH':function(_0x4a9f0a,_0x2b3dd8){return _0x4a9f0a!==_0x2b3dd8;},'zSIzM':function(_0x625176,_0x41f3cf){return _0x625176!==_0x41f3cf;},'aCqXI':'string','rrKCK':function(_0xce7b50,_0x377962){return _0xce7b50===_0x377962;},'yBSut':_0x3e1852(0xf4),'CKrIB':function(_0x12c21d,_0x36fc19){return _0x12c21d<_0x36fc19;},'WDYti':_0x3e1852(0x7a)};if(!this['enabled'])throw new IdGeneratorError(_0x380a15['AeJaj'],_0x380a15['oUtYv']);let _0x1aa3c7,_0x15854f,_0x41644a,_0x1cc2fe;const _0x878711=this['_validateIdempotencyKey'](_0x4aaa68['idempotencyKey']);if(_0x380a15['Wnlhg'](_0x4aaa68['counterInt'],undefined)&&_0x380a15[_0x3e1852(0x88)](_0x4aaa68[_0x3e1852(0x8e)],null)){this[_0x3e1852(0x12a)](_0x4aaa68[_0x3e1852(0xe0)]),_0x1aa3c7=_0x4aaa68['resource'];if(_0x380a15['zSIzM'](typeof _0x4aaa68['formatKey'],_0x380a15[_0x3e1852(0xbe)])||_0x380a15[_0x3e1852(0x165)](_0x4aaa68['formatKey'][_0x3e1852(0x10b)],0x0))throw new IdGeneratorError(_0x380a15[_0x3e1852(0xd9)],_0x3e1852(0x10d));_0x15854f=_0x4aaa68[_0x3e1852(0xd7)];if(!Number[_0x3e1852(0x7b)](_0x4aaa68['counterInt'])||_0x380a15[_0x3e1852(0x155)](_0x4aaa68['counterInt'],0x1))throw new IdGeneratorError(_0x380a15['yBSut'],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x4aaa68['counterInt']+')');_0x41644a=_0x4aaa68[_0x3e1852(0x8e)];const _0x548946=_0x15854f['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x1cc2fe=_0x548946?_0x548946[0x1]:_0x3e1852(0x19c);}else{const _0x5d2643=this[_0x3e1852(0xfe)](_0x4aaa68),_0x5aa031=this[_0x3e1852(0x14f)]({'format':_0x5d2643['format'],'prefix':_0x5d2643[_0x3e1852(0x196)],'separator':_0x5d2643['separator'],'numDigits':_0x5d2643[_0x3e1852(0x14a)],'number':_0x4aaa68['number']});_0x1aa3c7=_0x5d2643['resource'],_0x15854f=_0x5aa031['formatKey'],_0x41644a=_0x5aa031['counterInt'],_0x1cc2fe=_0x5d2643['format'];}const _0x5f1b34=this['_buildReuseKey'](_0x1aa3c7,_0x15854f),_0x245d80=this['_getCounterTTL'](_0x1cc2fe);let _0x2dfb2d=null;if(_0x878711){_0x2dfb2d=this[_0x3e1852(0x90)](_0x380a15['WDYti'],_0x1aa3c7,_0x15854f,_0x878711);const _0x531c13=await this['_retrieveIdemCache'](_0x2dfb2d);if(_0x531c13)return _0x531c13;}const _0x57daae=redisClient[_0x3e1852(0xea)]();await _0x57daae[_0x3e1852(0xa9)](LUA_RELEASE_NUMBER,0x1,_0x5f1b34,String(_0x41644a),String(_0x245d80));const _0x1e5d8a={'released':!![],'resource':_0x1aa3c7,'formatKey':_0x15854f,'counter':_0x41644a,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x2dfb2d,_0x1e5d8a),this['_updateMeta'](_0x1aa3c7,_0x15854f,{'lastReleasedCounter':_0x41644a,'lastReleasedAt':_0x1e5d8a[_0x3e1852(0x17e)]},_0x245d80),logger['info']({'event':'idgen_number_released','resource':_0x1aa3c7,'formatKey':_0x15854f,'counter':_0x41644a},'ID\x20Generator\x20number\x20released:\x20'+_0x41644a),_0x1e5d8a;}async['reserveNumber'](_0x8166f6){const _0x4418ea=a0_0x563a93,_0x543182={'gzrBr':_0x4418ea(0x14d),'aHlhP':function(_0x31d4b1,_0x1f45b9){return _0x31d4b1+_0x1f45b9;},'dmMBr':function(_0x562bc5,_0x3d0c6b){return _0x562bc5*_0x3d0c6b;},'gINcD':'resource','wAqiz':_0x4418ea(0xa1),'ddBoh':function(_0x13eee2,_0x4a4df4){return _0x13eee2(_0x4a4df4);},'UkTIp':'datePrefix','ZTHwa':_0x4418ea(0x183),'lopcb':_0x4418ea(0x127),'LSeUf':function(_0x296f81,_0x33c488){return _0x296f81(_0x33c488);},'xpZwM':function(_0x3b0055,_0x3848c2){return _0x3b0055===_0x3848c2;},'xSoiM':_0x4418ea(0xab),'DKnYE':'idgen_reserve_idem_loser_cancel_error','rzGUz':_0x4418ea(0x187),'DnyId':'idgen_reserve_idem_loser'};if(!this['enabled'])throw new IdGeneratorError(_0x543182[_0x4418ea(0x12f)],_0x4418ea(0x154));const _0x197355=this[_0x4418ea(0xfe)](_0x8166f6),_0x2d789e=this[_0x4418ea(0xcc)](_0x8166f6['ttl']),_0x39a03b=this['_validateIdempotencyKey'](_0x8166f6['idempotencyKey']),{resource:_0x107498,format:_0x151eef,prefix:_0x34261c,separator:_0x2a1b19,numDigits:_0x24ce80,reuseDelete:_0x17d7b3}=_0x197355,{formatKey:_0x499ad1,datePrefix:_0x47d077}=this['_buildFormatKey'](_0x151eef,_0x34261c),_0x1890a2=this['_buildSeqKey'](_0x107498,_0x499ad1),_0x25aa63=this[_0x4418ea(0x124)](_0x107498,_0x499ad1),_0x16d204=this[_0x4418ea(0xc9)](_0x107498,_0x499ad1),_0x20229b=this['_getCounterTTL'](_0x151eef);let _0x5a31c4=null;if(_0x39a03b){_0x5a31c4=this[_0x4418ea(0x90)]('reserve',_0x107498,_0x499ad1,_0x39a03b);const _0x20a1a8=await this['_retrieveIdemCache'](_0x5a31c4);if(_0x20a1a8)return _0x20a1a8;}const _0x13ac4d=crypto['randomUUID'](),_0x172334=this[_0x4418ea(0x184)](_0x13ac4d),_0x6e8ed4=this[_0x4418ea(0xa5)](),_0x5e0623=Date['now'](),_0x14c280=_0x543182['aHlhP'](_0x5e0623,_0x2d789e*0x3e8),_0x1150f2=_0x543182['dmMBr'](_0x2d789e,0x3e8),_0x1f7cff=new Date(_0x5e0623)[_0x4418ea(0x177)](),_0x541b19=new Date(_0x14c280)['toISOString'](),_0x1f9ed8=[_0x543182['gINcD'],_0x107498,_0x4418ea(0xd7),_0x499ad1,_0x543182['wAqiz'],_0x151eef,_0x4418ea(0x196),_0x34261c,'separator',_0x2a1b19,'numDigits',_0x543182['ddBoh'](String,_0x24ce80),_0x543182['UkTIp'],_0x47d077||'','createdAt',_0x1f7cff,_0x543182[_0x4418ea(0xe9)],_0x541b19,_0x543182['lopcb'],String(_0x1150f2)];_0x39a03b&&_0x1f9ed8[_0x4418ea(0x1a6)](_0x4418ea(0x18c),_0x39a03b);const _0xda2f1b=redisClient['getClient'](),_0x1a6c93=await _0xda2f1b['eval'](LUA_RESERVE_NUMBER,0x3,_0x1890a2,_0x25aa63,_0x16d204,_0x17d7b3?'1':'0',_0x543182[_0x4418ea(0xf3)](String,_0x20229b),_0x13ac4d,_0x172334,String(_0x1150f2),_0x543182[_0x4418ea(0xf3)](String,_0x14c280),_0x543182[_0x4418ea(0x1a1)](String,_0x5e0623),_0x6e8ed4,..._0x1f9ed8),_0x3f485c=_0x1a6c93[0x0],_0x3f655d=_0x543182[_0x4418ea(0x168)](_0x1a6c93[0x1],0x1),_0xfd54fe=_0x1a6c93[0x2]||0x0;let _0x144876;try{_0x144876=this[_0x4418ea(0x16d)]({'format':_0x151eef,'prefix':_0x34261c,'datePrefix':_0x47d077,'separator':_0x2a1b19,'numDigits':_0x24ce80,'counterInt':_0x3f485c});}catch(_0x14a946){try{await _0xda2f1b['eval'](LUA_CANCEL_RESERVATION,0x3,_0x172334,_0x16d204,_0x25aa63,_0x13ac4d,String(_0x20229b));}catch(_0x23db06){logger['warn']({'event':'idgen_reserve_overflow_compensation_error','error':_0x23db06['message'],'resource':_0x107498,'formatKey':_0x499ad1,'counterInt':_0x3f485c,'token':_0x13ac4d},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x14a946;}try{await _0xda2f1b[_0x4418ea(0x159)](_0x172334,'value',_0x144876);}catch(_0x2d028e){logger[_0x4418ea(0xb1)]({'event':_0x543182[_0x4418ea(0x109)],'error':_0x2d028e[_0x4418ea(0x16a)],'resource':_0x107498,'formatKey':_0x499ad1,'counterInt':_0x3f485c,'token':_0x13ac4d},_0x4418ea(0x172));}const _0x3f3ada={'token':_0x13ac4d,'value':_0x144876,'counter':_0x3f485c,'resource':_0x107498,'formatKey':_0x499ad1,'isReused':_0x3f655d,'createdAt':_0x1f7cff,'expiresAt':_0x541b19,'reapedCount':_0xfd54fe},_0x3609aa=await this[_0x4418ea(0x138)](_0x5a31c4,_0x3f3ada);if(!_0x3609aa['stored']){try{await _0xda2f1b[_0x4418ea(0xa9)](LUA_CANCEL_RESERVATION,0x3,_0x172334,_0x16d204,_0x25aa63,_0x13ac4d,String(_0x20229b));}catch(_0x4594ec){logger[_0x4418ea(0xb1)]({'event':_0x543182['DKnYE'],'error':_0x4594ec['message'],'resource':_0x107498,'formatKey':_0x499ad1,'counterInt':_0x3f485c,'token':_0x13ac4d},_0x543182[_0x4418ea(0xa6)]);}return logger['info']({'event':_0x543182[_0x4418ea(0x19d)],'resource':_0x107498,'formatKey':_0x499ad1,'counter':_0x3f485c,'token':_0x13ac4d},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x3609aa[_0x4418ea(0x18b)];}return this['_updateMeta'](_0x107498,_0x499ad1,{'lastReservedCounter':_0x3f485c,'lastReservedAt':_0x1f7cff,'lastReapedCount':_0xfd54fe},_0x20229b),logger[_0x4418ea(0x130)]({'event':'idgen_number_reserved','resource':_0x107498,'formatKey':_0x499ad1,'counter':_0x3f485c,'isReused':_0x3f655d,'token':_0x13ac4d,'ttl':_0x2d789e,'reapedCount':_0xfd54fe},'ID\x20Generator\x20number\x20reserved:\x20'+_0x144876+_0x4418ea(0x185)+_0x13ac4d+')'),_0x3f3ada;}async[a0_0x563a93(0x179)](_0x223132){const _0x57875b=a0_0x563a93,_0x4aa360={'AVWKE':_0x57875b(0x163),'zDHAi':function(_0x3efaa1,_0x27500d,_0x5edf75){return _0x3efaa1(_0x27500d,_0x5edf75);},'aznLA':'idgen_reservation_confirmed'};if(!this[_0x57875b(0x17f)])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x4c5f10=this['_validateReservationToken'](_0x223132&&_0x223132[_0x57875b(0x15c)]),_0x5176bc=this[_0x57875b(0x15e)](_0x223132&&_0x223132[_0x57875b(0x17c)]);let _0x30ab8d=null;if(_0x5176bc){_0x30ab8d=idempotencyManager['buildDeterministicKey'](_0x57875b(0x9a),_0x57875b(0x1a5),_0x4c5f10+':'+_0x5176bc);const _0x5f1d1c=await this['_retrieveIdemCache'](_0x30ab8d);if(_0x5f1d1c)return _0x5f1d1c;}const _0x56f52b=await this['_getReservationContext'](_0x4c5f10),_0x1ba33e=redisClient['getClient'](),_0x747d69=await _0x1ba33e['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x56f52b[_0x57875b(0xe1)],_0x56f52b['rsvIdxKey'],_0x4c5f10);if(!_0x747d69||_0x747d69[0x0]!==0x1)throw new IdGeneratorError(_0x4aa360[_0x57875b(0xbb)],_0x57875b(0x126)+_0x4c5f10,{'token':_0x4c5f10});const _0x386b13=_0x4aa360['zDHAi'](parseInt,_0x747d69[0x1],0xa),_0x1cc513=_0x747d69[0x2],_0x3bcc72=_0x747d69[0x3],_0x2a9b0c=new Date()[_0x57875b(0x177)](),_0xb44428={'confirmed':!![],'token':_0x4c5f10,'value':_0x1cc513,'counter':_0x386b13,'resource':_0x56f52b['resource'],'formatKey':_0x3bcc72,'confirmedAt':_0x2a9b0c};await this['_storeIdemCache'](_0x30ab8d,_0xb44428);const _0x5b56e2=_0x3bcc72[_0x57875b(0xaf)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x293845=_0x5b56e2?_0x5b56e2[0x1]:'text',_0x40821b=this['_getCounterTTL'](_0x293845);return this[_0x57875b(0x8f)](_0x56f52b[_0x57875b(0xe0)],_0x3bcc72,{'lastConfirmedCounter':_0x386b13,'lastConfirmedAt':_0x2a9b0c},_0x40821b),logger[_0x57875b(0x130)]({'event':_0x4aa360['aznLA'],'resource':_0x56f52b['resource'],'formatKey':_0x3bcc72,'counter':_0x386b13,'token':_0x4c5f10},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x1cc513+_0x57875b(0x185)+_0x4c5f10+')'),_0xb44428;}async['cancelReservation'](_0x164872){const _0x5c50d3=a0_0x563a93,_0x569ea2={'hetNd':_0x5c50d3(0xec),'QQVhF':function(_0x18b227,_0x151891,_0x4eed0d){return _0x18b227(_0x151891,_0x4eed0d);},'DXSfb':_0x5c50d3(0xfc)};if(!this[_0x5c50d3(0x17f)])throw new IdGeneratorError('IDGEN_DISABLED',_0x5c50d3(0x82));const _0x48b2a5=this[_0x5c50d3(0x1a0)](_0x164872&&_0x164872[_0x5c50d3(0x15c)]),_0x9bc5d9=this[_0x5c50d3(0x15e)](_0x164872&&_0x164872['idempotencyKey']);let _0x2b7d3f=null;if(_0x9bc5d9){_0x2b7d3f=idempotencyManager[_0x5c50d3(0x15a)]('idgen',_0x569ea2['hetNd'],_0x48b2a5+':'+_0x9bc5d9);const _0x519b06=await this['_retrieveIdemCache'](_0x2b7d3f);if(_0x519b06)return _0x519b06;}const _0x374107=await this['_getReservationContext'](_0x48b2a5),_0x49e64a=this['_buildReuseKey'](_0x374107['resource'],_0x374107['formatKey']),_0x49b0c3=_0x374107[_0x5c50d3(0xd7)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2cf514=_0x49b0c3?_0x49b0c3[0x1]:_0x5c50d3(0x19c),_0x18b4a4=this['_getCounterTTL'](_0x2cf514),_0x41f072=redisClient['getClient'](),_0x5aa51d=await _0x41f072['eval'](LUA_CANCEL_RESERVATION,0x3,_0x374107['rsvKey'],_0x374107[_0x5c50d3(0x85)],_0x49e64a,_0x48b2a5,String(_0x18b4a4));if(!_0x5aa51d||_0x5aa51d[0x0]!==0x1)throw new IdGeneratorError(_0x5c50d3(0x163),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x48b2a5,{'token':_0x48b2a5});const _0x248a9d=_0x569ea2[_0x5c50d3(0x11e)](parseInt,_0x5aa51d[0x1],0xa),_0x2842cc=_0x5aa51d[0x2],_0x3de28e=_0x5aa51d[0x3],_0x17b45f=new Date()['toISOString'](),_0x31cfb9={'cancelled':!![],'token':_0x48b2a5,'value':_0x2842cc,'counter':_0x248a9d,'resource':_0x374107['resource'],'formatKey':_0x3de28e,'releasedToReuse':!![],'cancelledAt':_0x17b45f};return await this['_storeIdemCache'](_0x2b7d3f,_0x31cfb9),this[_0x5c50d3(0x8f)](_0x374107['resource'],_0x3de28e,{'lastCancelledCounter':_0x248a9d,'lastCancelledAt':_0x17b45f},_0x18b4a4),logger['info']({'event':_0x569ea2[_0x5c50d3(0x101)],'resource':_0x374107[_0x5c50d3(0xe0)],'formatKey':_0x3de28e,'counter':_0x248a9d,'token':_0x48b2a5},_0x5c50d3(0xc2)+_0x2842cc+_0x5c50d3(0x185)+_0x48b2a5+')'),_0x31cfb9;}async['extendReservation'](_0x5168d7){const _0x10469f=a0_0x563a93,_0x4dd581={'lVRtu':'ID\x20Generator\x20is\x20disabled','TPUcF':function(_0x2a4129,_0x3021c6){return _0x2a4129+_0x3021c6;},'QgbAX':function(_0x163c76,_0x8f02e){return _0x163c76*_0x8f02e;},'VLjoS':function(_0x520ca9,_0x5139ea){return _0x520ca9!==_0x5139ea;},'fQobH':function(_0x505014,_0x13edb2,_0x46c8e4){return _0x505014(_0x13edb2,_0x46c8e4);},'kroaN':'idgen_reservation_extended'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x4dd581['lVRtu']);const _0x426159=this[_0x10469f(0x1a0)](_0x5168d7&&_0x5168d7['token']),_0x4bf1aa=this['_validateReserveTTL'](_0x5168d7&&_0x5168d7['ttl']),_0x2299ca=this[_0x10469f(0x15e)](_0x5168d7&&_0x5168d7['idempotencyKey']);let _0x1458b2=null;if(_0x2299ca){_0x1458b2=idempotencyManager['buildDeterministicKey']('idgen',_0x10469f(0xbc),_0x426159+':'+_0x2299ca);const _0x5453a5=await this[_0x10469f(0x19a)](_0x1458b2);if(_0x5453a5)return _0x5453a5;}const _0x3ac56b=await this[_0x10469f(0x103)](_0x426159),_0x1ba74f=Date['now'](),_0x418f21=_0x4dd581[_0x10469f(0x166)](_0x1ba74f,_0x4dd581[_0x10469f(0xf8)](_0x4bf1aa,0x3e8)),_0x37d710=_0x4bf1aa*0x3e8,_0x4350e3=new Date(_0x418f21)['toISOString'](),_0x5a5f77=redisClient[_0x10469f(0xea)](),_0x58e523=await _0x5a5f77[_0x10469f(0xa9)](LUA_EXTEND_RESERVATION,0x2,_0x3ac56b[_0x10469f(0xe1)],_0x3ac56b[_0x10469f(0x85)],_0x426159,String(_0x37d710),String(_0x418f21),_0x4350e3);if(!_0x58e523||_0x4dd581[_0x10469f(0x11c)](_0x58e523[0x0],0x1))throw new IdGeneratorError(_0x10469f(0x163),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x426159,{'token':_0x426159});const _0x4af582=_0x58e523[0x1],_0x1fe165=_0x4dd581[_0x10469f(0x181)](parseInt,_0x58e523[0x2],0xa),_0x59d7aa=_0x58e523[0x3],_0x4474e2=_0x58e523[0x4],_0x3b8fa3=new Date(_0x1ba74f)[_0x10469f(0x177)](),_0x3a64fa={'extended':!![],'token':_0x426159,'previousExpiresAt':_0x4af582,'expiresAt':_0x4350e3,'ttlMs':_0x37d710,'resource':_0x3ac56b['resource'],'formatKey':_0x4474e2,'counter':_0x1fe165,'value':_0x59d7aa,'extendedAt':_0x3b8fa3};await this[_0x10469f(0xbd)](_0x1458b2,_0x3a64fa);const _0x3bf526=_0x4474e2['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0xf7b203=_0x3bf526?_0x3bf526[0x1]:_0x10469f(0x19c),_0x1416ad=this['_getCounterTTL'](_0xf7b203);return this['_updateMeta'](_0x3ac56b['resource'],_0x4474e2,{'lastExtendedCounter':_0x1fe165,'lastExtendedAt':_0x3b8fa3},_0x1416ad),logger[_0x10469f(0x130)]({'event':_0x4dd581[_0x10469f(0x100)],'resource':_0x3ac56b['resource'],'formatKey':_0x4474e2,'counter':_0x1fe165,'token':_0x426159,'ttl':_0x4bf1aa},_0x10469f(0x11b)+_0x59d7aa+_0x10469f(0x185)+_0x426159+_0x10469f(0x186)+_0x4bf1aa+'s)'),_0x3a64fa;}async[a0_0x563a93(0x161)](_0x52fd81){const _0x40602f=a0_0x563a93,_0xfef737={'sMwzC':function(_0x43b581,_0x21d364){return _0x43b581===_0x21d364;},'guhtZ':_0x40602f(0xd5),'kCIAF':function(_0x1a4e1d,_0x2866e7){return _0x1a4e1d>=_0x2866e7;}};if(!this[_0x40602f(0x17f)])throw new IdGeneratorError(_0x40602f(0x14d),_0x40602f(0x82));const _0x17bae3=this['_validateReservationToken'](_0x52fd81&&_0x52fd81['token']),_0xe7ce00=this[_0x40602f(0x184)](_0x17bae3),_0x5e9c1d=redisClient[_0x40602f(0xea)](),_0x207fdd=_0x5e9c1d['pipeline']();_0x207fdd[_0x40602f(0x95)](_0xe7ce00),_0x207fdd[_0x40602f(0x175)](_0xe7ce00);const _0x2e42b0=await _0x207fdd['exec'](),_0x3cd354=_0x2e42b0&&_0x2e42b0[0x0]&&_0x2e42b0[0x0][0x1],_0x563fb2=_0x2e42b0&&_0x2e42b0[0x1]&&_0x2e42b0[0x1][0x1];if(!_0x3cd354||_0xfef737[_0x40602f(0x14b)](Object['keys'](_0x3cd354)[_0x40602f(0x10b)],0x0))throw new IdGeneratorError(_0x40602f(0x163),_0x40602f(0x126)+_0x17bae3,{'token':_0x17bae3});return{'token':_0x17bae3,'resource':_0x3cd354['resource']||null,'formatKey':_0x3cd354[_0x40602f(0xd7)]||null,'format':_0x3cd354['format']||null,'prefix':_0x3cd354['prefix']||'','separator':_0x3cd354[_0x40602f(0x7e)]||'','numDigits':_0x3cd354[_0x40602f(0x14a)]?parseInt(_0x3cd354[_0x40602f(0x14a)],0xa):null,'datePrefix':_0x3cd354['datePrefix']||'','counter':_0x3cd354[_0x40602f(0xf7)]?parseInt(_0x3cd354[_0x40602f(0xf7)],0xa):null,'value':_0x3cd354['value']||null,'isReused':_0xfef737[_0x40602f(0x14b)](_0x3cd354['isReused'],'1')||_0xfef737['sMwzC'](_0x3cd354['isReused'],0x1),'createdAt':_0x3cd354[_0x40602f(0x9f)]||null,'expiresAt':_0x3cd354[_0x40602f(0x183)]||null,'ttlRemainingMs':typeof _0x563fb2===_0xfef737['guhtZ']&&_0xfef737[_0x40602f(0x117)](_0x563fb2,0x0)?_0x563fb2:null};}async['_getReservationContext'](_0x1dafb0){const _0x97a701=a0_0x563a93,_0xe67f67={'FbHxe':'formatKey'},_0x266efc=this[_0x97a701(0x184)](_0x1dafb0),_0x76a5db=redisClient['getClient'](),_0x572dfb=await _0x76a5db[_0x97a701(0xdc)](_0x266efc,'resource',_0xe67f67['FbHxe']),_0x53fd9c=_0x572dfb&&_0x572dfb[0x0],_0x51b1fe=_0x572dfb&&_0x572dfb[0x1];if(!_0x53fd9c||!_0x51b1fe)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x97a701(0x126)+_0x1dafb0,{'token':_0x1dafb0});return{'resource':_0x53fd9c,'formatKey':_0x51b1fe,'rsvKey':_0x266efc,'rsvIdxKey':this[_0x97a701(0xc9)](_0x53fd9c,_0x51b1fe)};}async['random'](_0x257b3e){const _0x1376a2=a0_0x563a93,_0x319d6f={'ziYaw':'IDGEN_DISABLED','DaHoj':_0x1376a2(0x82),'cSyyB':'random','LNhwZ':function(_0x4dec90,_0x41b6d7){return _0x4dec90<_0x41b6d7;},'lsrvk':function(_0x223efd,_0x5d89ae){return _0x223efd===_0x5d89ae;},'zMtBK':_0x1376a2(0xe6),'MoMSJ':function(_0x2f56b1,_0x241db7){return _0x2f56b1&&_0x241db7;},'ooUzI':function(_0x3780d1,_0x3c2dea){return _0x3780d1*_0x3c2dea;},'XpZuk':'idgen_random_idem_loser','vpVJH':function(_0x198402,_0x30bde6){return _0x198402||_0x30bde6;}};if(!this[_0x1376a2(0x17f)])throw new IdGeneratorError(_0x319d6f[_0x1376a2(0x133)],_0x319d6f['DaHoj']);this[_0x1376a2(0x12a)](_0x257b3e['resource']),this[_0x1376a2(0xa3)](_0x257b3e['pattern']);const _0x62434a=this[_0x1376a2(0xb9)](_0x257b3e['ttl']),_0x42135e=this['_validateMaxRetry'](_0x257b3e[_0x1376a2(0x125)]),_0xf01693=this[_0x1376a2(0x15e)](_0x257b3e['idempotencyKey']),_0xc8ffe6=_0x257b3e['ensureUnique']===!![],{resource:_0x4d7959,pattern:_0x59cb69}=_0x257b3e;let _0x1ce64b=null;if(_0xf01693){_0x1ce64b=this[_0x1376a2(0x90)](_0x319d6f[_0x1376a2(0x120)],_0x4d7959,null,_0xf01693);const _0x16b047=await this[_0x1376a2(0x19a)](_0x1ce64b);if(_0x16b047)return _0x16b047;}const _0x165d0f=redisClient['getClient']();let _0x26d308=null,_0x3f7b9f=0x0;if(!_0xc8ffe6)_0x26d308=this['_generateFromPattern'](_0x59cb69),_0x3f7b9f=0x1;else{for(let _0x49751d=0x0;_0x319d6f['LNhwZ'](_0x49751d,_0x42135e);_0x49751d++){_0x3f7b9f++;const _0x2ba768=this['_generateFromPattern'](_0x59cb69);if(_0x62434a){const _0x10b341=this[_0x1376a2(0x188)](_0x4d7959,_0x2ba768),_0x2b9c7a=await _0x165d0f['set'](_0x10b341,'1','EX',_0x62434a,'NX');if(_0x2b9c7a==='OK'){_0x26d308=_0x2ba768;break;}}else{const _0x10c56a=this['_buildIssuedKey'](_0x4d7959),_0x283913=await _0x165d0f[_0x1376a2(0x13c)](_0x10c56a,_0x2ba768);if(_0x319d6f['lsrvk'](_0x283913,0x1)){_0x26d308=_0x2ba768;break;}}}if(_0x26d308===null)throw new IdGeneratorError(_0x319d6f['zMtBK'],_0x1376a2(0xad)+_0x42135e+_0x1376a2(0x158),{'resource':_0x4d7959,'pattern':_0x59cb69,'maxRetry':_0x42135e});}const _0xf48164={'value':_0x26d308,'resource':_0x4d7959,'pattern':_0x59cb69,'attemptCount':_0x3f7b9f,'generatedAt':new Date()[_0x1376a2(0x177)]()};_0x319d6f['MoMSJ'](_0x62434a,_0xc8ffe6)&&(_0xf48164[_0x1376a2(0x183)]=new Date(Date[_0x1376a2(0xd8)]()+_0x319d6f[_0x1376a2(0x195)](_0x62434a,0x3e8))['toISOString']());const _0x16306e=await this[_0x1376a2(0x138)](_0x1ce64b,_0xf48164);if(!_0x16306e['stored'])return _0xc8ffe6&&await this[_0x1376a2(0x99)](_0x4d7959,_0x26d308,_0x62434a),logger[_0x1376a2(0x130)]({'event':_0x319d6f['XpZuk'],'resource':_0x4d7959,'pattern':_0x59cb69,'value':_0x26d308},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x16306e[_0x1376a2(0x18b)];return logger[_0x1376a2(0x130)]({'event':_0x1376a2(0xbf),'resource':_0x4d7959,'pattern':_0x59cb69,'attemptCount':_0x3f7b9f,'ensureUnique':_0xc8ffe6,'ttl':_0x319d6f[_0x1376a2(0x16f)](_0x62434a,0x0)},_0x1376a2(0x16c)+_0x26d308),_0xf48164;}async['pin'](_0x195a4f){const _0x3ae6a6=a0_0x563a93,_0x4225c9={'HkUqb':function(_0x669b75,_0x3de3e1){return _0x669b75>_0x3de3e1;}},_0x3b5ec0=_0x195a4f['digits']==null?this[_0x3ae6a6(0xb4)]:_0x195a4f['digits'];if(!Number['isInteger'](_0x3b5ec0)||_0x3b5ec0<MIN_PIN_DIGITS||_0x4225c9[_0x3ae6a6(0xb7)](_0x3b5ec0,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x3ae6a6(0x192),_0x3ae6a6(0x11d)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x3ae6a6(0xe2)+_0x3b5ec0+')');const _0x38d2d6='9'[_0x3ae6a6(0x157)](_0x3b5ec0);return this[_0x3ae6a6(0x96)]({'resource':_0x195a4f['resource'],'pattern':_0x38d2d6,'ensureUnique':_0x195a4f['ensureUnique']===!![],'ttl':_0x195a4f[_0x3ae6a6(0x7c)],'maxRetry':_0x195a4f['maxRetry'],'idempotencyKey':_0x195a4f['idempotencyKey']});}async['serial'](_0x293ad6){const _0x2723f1=a0_0x563a93,_0x2259fe=_0x293ad6[_0x2723f1(0x182)]||this[_0x2723f1(0x194)];return this[_0x2723f1(0x96)]({'resource':_0x293ad6[_0x2723f1(0xe0)],'pattern':_0x2259fe,'ensureUnique':_0x293ad6[_0x2723f1(0xa7)]!==![],'ttl':_0x293ad6['ttl'],'maxRetry':_0x293ad6[_0x2723f1(0x125)],'idempotencyKey':_0x293ad6['idempotencyKey']});}async['code'](_0x1a9a85){const _0x16f84a=a0_0x563a93,_0x50c58f={'wwoSX':function(_0x265c27,_0x5deb0b){return _0x265c27!==_0x5deb0b;}},_0x47040b=_0x1a9a85[_0x16f84a(0x182)]||this['defaultCodePattern'];return this['random']({'resource':_0x1a9a85[_0x16f84a(0xe0)],'pattern':_0x47040b,'ensureUnique':_0x50c58f['wwoSX'](_0x1a9a85['ensureUnique'],![]),'ttl':_0x1a9a85['ttl'],'maxRetry':_0x1a9a85[_0x16f84a(0x125)],'idempotencyKey':_0x1a9a85['idempotencyKey']});}async['consume'](_0x4da450){const _0x25cb3b=a0_0x563a93,_0x4bad68={'RlWDF':'ID\x20Generator\x20is\x20disabled','xLfIW':'IDGEN_INVALID_NUMBER','LLVhv':function(_0x5d0a35,_0x281f5c){return _0x5d0a35>_0x281f5c;}};if(!this[_0x25cb3b(0x17f)])throw new IdGeneratorError('IDGEN_DISABLED',_0x4bad68['RlWDF']);this['_validateResource'](_0x4da450['resource']);if(typeof _0x4da450[_0x25cb3b(0xda)]!==_0x25cb3b(0xaa)||_0x4da450[_0x25cb3b(0xda)][_0x25cb3b(0x10b)]===0x0)throw new IdGeneratorError(_0x4bad68['xLfIW'],_0x25cb3b(0x176));const {resource:_0x490e2e,value:_0x470762}=_0x4da450,_0x836ca3=redisClient['getClient'](),_0x1e9569=this[_0x25cb3b(0x188)](_0x490e2e,_0x470762),_0x22e42e=this[_0x25cb3b(0xf9)](_0x490e2e),[_0x4e774e,_0x2f3dbb]=await Promise[_0x25cb3b(0x16e)]([_0x836ca3[_0x25cb3b(0x17a)](_0x1e9569),_0x836ca3[_0x25cb3b(0x9d)](_0x22e42e,_0x470762)]),_0x75aca8=_0x4bad68[_0x25cb3b(0x131)](_0x4e774e+_0x2f3dbb,0x0);return logger[_0x25cb3b(0x130)]({'event':'idgen_consumed','resource':_0x490e2e,'value':_0x470762,'consumed':_0x75aca8},'ID\x20Generator\x20consumed:\x20'+_0x470762),{'consumed':_0x75aca8,'resource':_0x490e2e,'value':_0x470762,'consumedAt':new Date()[_0x25cb3b(0x177)]()};}async[a0_0x563a93(0xba)](_0x125303){const _0xdeb363=a0_0x563a93,_0x57fe89={'bOMDR':'IDGEN_DISABLED','pCrXQ':function(_0x4274e5,_0x5d1db2){return _0x4274e5===_0x5d1db2;},'Xwxtt':_0xdeb363(0xd5),'UkQcF':function(_0x3546a4,_0x202af2){return _0x3546a4===_0x202af2;},'dEpEF':'random'};if(!this['enabled'])throw new IdGeneratorError(_0x57fe89['bOMDR'],'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x125303['resource']);const _0x5560b1=_0x125303[_0xdeb363(0x10f)]||'number',_0x3b27c7=redisClient[_0xdeb363(0xea)]();if(_0x57fe89['pCrXQ'](_0x5560b1,_0x57fe89['Xwxtt'])){const _0x261299=(_0x125303['format']||_0xdeb363(0x19c))['toLowerCase']();if(!ALLOWED_FORMATS[_0xdeb363(0xe8)](_0x261299))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0xdeb363(0xf1)+_0x125303[_0xdeb363(0xa1)]);const {formatKey:_0x43d5c6}=this[_0xdeb363(0xd3)](_0x261299,_0x125303['prefix']||''),_0x3d0610=this[_0xdeb363(0x114)](_0x125303['resource'],_0x43d5c6),_0x945678=this['_buildReuseKey'](_0x125303[_0xdeb363(0xe0)],_0x43d5c6),[_0x50906a,_0x1c9361]=await Promise[_0xdeb363(0x16e)]([_0x3b27c7['get'](_0x3d0610),_0x3b27c7['zcard'](_0x945678)]);return{'resource':_0x125303['resource'],'mode':_0x57fe89['Xwxtt'],'formatKey':_0x43d5c6,'currentCounter':parseInt(_0x50906a,0xa)||0x0,'reusePoolSize':_0x1c9361||0x0};}if(_0x57fe89['UkQcF'](_0x5560b1,_0x57fe89[_0xdeb363(0x106)])){const _0x3c4d6d=this[_0xdeb363(0xf9)](_0x125303['resource']),_0x32e8c4=await _0x3b27c7['scard'](_0x3c4d6d);return{'resource':_0x125303[_0xdeb363(0xe0)],'mode':'random','issuedCount':_0x32e8c4||0x0};}throw new IdGeneratorError(_0xdeb363(0x198),'Unknown\x20mode:\x20'+_0x5560b1);}async['getInfo'](_0x1ae227){const _0x5454b1=a0_0x563a93,_0x3bd6a4=await this['peek'](_0x1ae227);if(_0x3bd6a4[_0x5454b1(0x10f)]==='number'){const _0x717f6=redisClient['getClient'](),_0x4c44fc=this[_0x5454b1(0xf6)](_0x1ae227['resource'],_0x3bd6a4[_0x5454b1(0xd7)]),_0x25c771=this['_buildReuseKey'](_0x1ae227[_0x5454b1(0xe0)],_0x3bd6a4['formatKey']),[_0x520145,_0x27f8e9]=await Promise['all']([_0x717f6['hgetall'](_0x4c44fc),_0x717f6['zrange'](_0x25c771,0x0,-0x1)]);return{..._0x3bd6a4,'reusePoolValues':_0x27f8e9[_0x5454b1(0xfa)](_0x38b041=>parseInt(_0x38b041,0xa)),'meta':_0x520145&&Object['keys'](_0x520145)['length']>0x0?_0x520145:null};}return _0x3bd6a4;}async['reset'](_0x436c41){const _0x4ad86a=a0_0x563a93,_0x4287a9={'JhlZh':'IDGEN_DISABLED','ytSsy':'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)','EIRdY':function(_0x53b29,_0x1a3593){return _0x53b29===_0x1a3593;},'buwgp':_0x4ad86a(0xd5),'birjn':_0x4ad86a(0xee),'KSXuv':'random','cfWEA':'issued','CVjIk':'IDGEN_INVALID_MODE'};if(!this[_0x4ad86a(0x17f)])throw new IdGeneratorError(_0x4287a9['JhlZh'],'ID\x20Generator\x20is\x20disabled');if(!this[_0x4ad86a(0x146)])throw new IdGeneratorError('IDGEN_RESET_NOT_ALLOWED',_0x4287a9['ytSsy']);this[_0x4ad86a(0x12a)](_0x436c41[_0x4ad86a(0xe0)]);const _0xe2cbbb=_0x436c41[_0x4ad86a(0x10f)]||_0x4ad86a(0xd5),_0x24ab58=redisClient['getClient']();if(_0x4287a9[_0x4ad86a(0xd1)](_0xe2cbbb,'number')){const _0x3815bc=(_0x436c41['format']||'text')[_0x4ad86a(0x122)]();if(!ALLOWED_FORMATS['has'](_0x3815bc))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x4ad86a(0xf1)+_0x436c41[_0x4ad86a(0xa1)]);const {formatKey:_0x3009be}=this[_0x4ad86a(0xd3)](_0x3815bc,_0x436c41['prefix']||''),_0x4ae335=this[_0x4ad86a(0x114)](_0x436c41[_0x4ad86a(0xe0)],_0x3009be),_0x421262=this['_buildReuseKey'](_0x436c41['resource'],_0x3009be),_0x884025=this['_buildMetaKey'](_0x436c41[_0x4ad86a(0xe0)],_0x3009be);return await _0x24ab58[_0x4ad86a(0x17a)](_0x4ae335,_0x421262,_0x884025),logger['warn']({'event':'idgen_reset','resource':_0x436c41[_0x4ad86a(0xe0)],'mode':_0x4287a9[_0x4ad86a(0xdd)],'formatKey':_0x3009be},'ID\x20Generator\x20reset:\x20'+_0x436c41['resource']+':'+_0x3009be),{'reset':!![],'resource':_0x436c41['resource'],'mode':'number','formatKey':_0x3009be,'deletedKeys':[_0x4287a9['birjn'],'reuse',_0x4ad86a(0x115)]};}if(_0xe2cbbb===_0x4287a9[_0x4ad86a(0x112)]){const _0x6ff735=this['_buildIssuedKey'](_0x436c41['resource']);return await _0x24ab58['del'](_0x6ff735),logger[_0x4ad86a(0xb1)]({'event':'idgen_reset','resource':_0x436c41['resource'],'mode':'random'},_0x4ad86a(0x160)+_0x436c41['resource']),{'reset':!![],'resource':_0x436c41['resource'],'mode':_0x4287a9['KSXuv'],'deletedKeys':[_0x4287a9['cfWEA']]};}throw new IdGeneratorError(_0x4287a9['CVjIk'],'Unknown\x20mode:\x20'+_0xe2cbbb);}}function a0_0x21ab(){const _0x1dc026=['Bwf0y2G','Dhj1zq','D2fYBG','C3rVCMvK','mtyWotHAEgTvzfq','zgvMyxvSDfbPBKrPz2L0CW','otK5os05otK5','q1HTEe0','sgTvCwi','C1zuq2K','x3zHBgLKyxrLvfrm','CgvLAW','qvzxs0u','CMvZzxj2zv9LEhrLBMq','x3n0B3jLswrLBunHy2HL','yunXweK','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','CMy6AwrNzw46','x3zHBgLKyxrLtwf4uMv0CNK','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','ExL5Ew1Tzgq','ntrSD2Puq2e','mtu1mJy2nwjNA1LOsq','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','yM9VBgvHBG','mJy1oti0mePAyuznsW','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','CMv1C2u6','mdeYmZq1nJC4oufcq0rfrG','x3zHBgLKyxrLuMvZzxj2zvruta','AM9PBG','r0vQuuu','Cvnwyu0','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','ruLszfK','DNrAwuC','x2j1AwXKrM9YBwf0s2v5','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','BNvTyMvY','swrhzw5LCMf0B3jfCNjVCG','zM9YBwf0s2v5','BM93','EujtDxq','DMfSDwu','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','Ag1Nzxq','yNv3z3a','x2vUC3vYzuLUAxrPywXPEMvK','AwrNzw5Fy29UzMLNx2LUAxq','CMvZB3vYy2u','CNn2s2v5','icHNB3q6ia','rgPVzLm','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','ntCZmvLKwwzLtG','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','surhru5Fsu5wquXjrf9qqvrurvjo','AgfZ','wLriD2e','z2v0q2XPzw50','v1vkvKS','CMvZzxj2zv9Jyw5JzwW','suqGr2vUzxjHDg9Yig51BwjLCJOG','C2vX','D3z3zgm','mJD5uhrjt2W','sw52ywXPzcbMB3jTyxq6ia','x2TLEvbYzwzPEa','zgrcB2G','surhru5Fsu5wquXjrf9ovu1crvi','rg9zDg0','x2j1AwXKtwv0yuTLEq','y291BNrLCG','uwDIqvG','x2j1AwXKsxnZDwvKs2v5','BwfW','AxnfBMfIBgvK','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','DwTYz0W','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','CMfUzg9Tsw50','A3jVyu4','rfHtzMi','ExL5Eq','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','CNn2oG','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','zevWruy','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','surhru5Fsurftv9uveW','EfnVAu0','z2v0tw9UDgG','BgvUz3rO','CgfKu3rHCNq','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','x2vUywjSzwq','Bw9Kzq','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','s1nyDxy','x3rLEhq','x2j1AwXKu2vXs2v5','Bwv0yq','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','A0njquy','x2rLzMf1BhrnyxHszxrYEq','vgXqAKW','C3rYAw5NAwz5','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','vKXQB1m','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','uvfwAey','C2v0','y1n5Eui','surhru5Fsu5wquXjrf9trvbbuKfut1i','Dg9mB3DLCKnHC2u','ntiXotjmwhHOv3O','x2j1AwXKuMv1C2vlzxK','Bwf4uMv0CNK','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','DhrStxm','DKLgzu4','lI9SB2DNzxi','x3zHBgLKyxrLuMvZB3vYy2u','qLvVuwC','nty1m3jnAK5lrq','zw50CMLLCW','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','z3PYqNi','Aw5MBW','teXwAhy','igv4y2vLzhmG','EMLzyxC','x2rLzMf1BhrdB2rLugf0DgvYBG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','x2rLzMf1BhrtzxjPywXqyxr0zxjU','x2LUAxrdB25MAwC','x3n0B3jLswrLBunHy2HLtLG','Cg93','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','C2fKza','x3bHzdi','surhru5Fsu5wquXjrf9gt1jnqvq','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','z2v0','x2DLDenVDw50zxjuveW','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','ExL5Ew1T','mta1mtKZmgnkC0vmwa','uLvUrfK','ywXSB3DszxnLDa','qwjJExq','zgv0ywLSCW','lcbLEhbLy3rLzca','BNvTrgLNAxrZ','C013EKm','CerHBKm','surhru5FreLtqujmruq','z2vUzxjHDgvKqxq','x3bHCNnLtNvTyMvY','x2nVDw50zxjuveXnyxa','ignOyxjZ','wMnXyKS','CMvZzxj2zu1HEfruta','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','q0TYsui','qvD1y04','CMvWzwf0','igf0DgvTChrZlIbjBMnYzwfZzsbWyxr0zxjUigXLBMD0AcbVCIbTyxHszxrYEs4','AhnLDa','yNvPBgrezxrLCM1PBMLZDgLJs2v5','BgL1Dxy','Dg9Rzw4','wvPhEuq','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','AvbPu1C','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','z2v0uMvZzxj2yxrPB24','u2DzweC','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','mtq4oezcEePNwq','CNjlq0S','vfbvy0y','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','EhbAD00','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','BwvZC2fNzq','surhru5Fq09vtLrfuL9uveXFrefjtfK','suqGr2vUzxjHDg9YihjHBMrVBtOG','x2zVCM1HDe51BwjLCG','ywXS','DNbwsKG','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','rfr3EuG','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','zw52','zfnczgW','Chr0Ba','DMfSDwuGAxmGCMvXDwLYzwq','Dg9ju09tDhjPBMC','x2LKzw1uveW','y29UzMLYBvjLC2vYDMf0Aw9U','zgvS','ExznwKO','AwrLBxbVDgvUy3LlzxK','AwrLBvruta','CMvSzwfZzwrbDa','zw5HyMXLza','x3L5ExLTBwrKxW','zLfVyKG','Cgf0DgvYBG','zxHWAxjLC0f0','x2j1AwXKuMvZzxj2yxrPB25lzxK','icH0B2TLBJ0','lcaR','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','x2j1AwXKqwn0AxzLs2v5','CxzfBu0','DgvZDa','D2LUBMvYuMvZDwX0','AwrLBuTLEq','z21Usuq','CgXqBuG','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','CgfYC2u','nJjxwMHQCLG','surhru5Fsu5wquXjrf9esuDjvfm','C3bSAxq','zgvMyxvSDfnLCMLHBfbHDhrLCM4','B29vEKK','ChjLzML4','y3j5ChrV','surhru5Fsu5wquXjrf9nt0rf','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','x3jLDhjPzxzLswrLBunHy2HL','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','Dgv4Da','rg55swq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','tfnLvwy','Bwv0ytO','lI9YzwrPCY1JBgLLBNq','CMvZzxj2zurLzMf1BhruveW','CMvZzxj2zv9JB25MAxjT','ChvZAa','CMvSzwfZzq','AxnjBNrLz2vY','DhrS','x2LUAxrPywXPEMvK','C2vWyxjHDg9Y','x2DLBMvYyxrLrNjVBvbHDhrLCM4','x3L5ExLTBv8','AxnZDwvKoG','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','uuPotMu','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','CNn2swr4s2v5','x2fSBg93uMvZzxq','lcbNB3qG','sxDZwKG','A2v5uhjLzML4','q3DMBxe','nda2AKzMq0z3','zxHWB3j0CW','rfbXChK','y291BNrLCKLUDa','x3vWzgf0zu1LDge','x2j1AwXKswrLBuTLEq','z2v0rgf0zq','mtf8n3W0Fdj8nxWXmhW2Fdf8m3W4FdL8ma','ihnLy29UzhmGkgDVDdOG','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','AgDLDgfSBa','CMfUzg9T','x2rLzMf1BhrqAw5eAwDPDhm','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','x3vUzg9syw5KB21szxnLCNzHDgLVBG','AwrNzw4','mdeYmZq1nJC4oq','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','C3jLBq','surhru5Fsu5wquXjrf9quKvgsvG','y3jLyxrLzef0','CxPur0O','zM9YBwf0','uwzHCNe','x3zHBgLKyxrLugf0DgvYBG','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','CNPhvxO','zw5ZDxjLvw5PCxvL','surhru5Fsu5wquXjrf9uveW','zxzHBa','C3rYAw5N','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','x3jLC2vYDMvnyxHuveW','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','x3jLC2vYDMvezwzHDwX0vfrm'];a0_0x21ab=function(){return _0x1dc026;};return a0_0x21ab();}const instance=new IdGenerator();instance[a0_0x563a93(0xd6)]=IdGeneratorError,module[a0_0x563a93(0x8c)]=instance,module['exports'][a0_0x563a93(0xd6)]=IdGeneratorError;
@@ -1 +1 @@
1
- 'use strict';const a0_0x813f6d=a0_0x50cc;(function(_0x375336,_0x206319){const _0x2f8c61=a0_0x50cc,_0x114943=_0x375336();while(!![]){try{const _0x1a4fd7=-parseInt(_0x2f8c61(0x204))/0x1*(-parseInt(_0x2f8c61(0x206))/0x2)+-parseInt(_0x2f8c61(0x208))/0x3+parseInt(_0x2f8c61(0x214))/0x4+-parseInt(_0x2f8c61(0x209))/0x5+parseInt(_0x2f8c61(0x213))/0x6*(parseInt(_0x2f8c61(0x21a))/0x7)+parseInt(_0x2f8c61(0x201))/0x8+-parseInt(_0x2f8c61(0x218))/0x9;if(_0x1a4fd7===_0x206319)break;else _0x114943['push'](_0x114943['shift']());}catch(_0x3a9314){_0x114943['push'](_0x114943['shift']());}}}(a0_0x2e44,0xc4679));function a0_0x50cc(_0x1670db,_0x5d9598){_0x1670db=_0x1670db-0x1f0;const _0x2e44e0=a0_0x2e44();let _0x50cc24=_0x2e44e0[_0x1670db];if(a0_0x50cc['kYXQTl']===undefined){var _0xb8ce64=function(_0x4d5316){const _0x28da2a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c4efb='',_0x55e340='';for(let _0x47a949=0x0,_0x2d5bac,_0x128108,_0x5aadf5=0x0;_0x128108=_0x4d5316['charAt'](_0x5aadf5++);~_0x128108&&(_0x2d5bac=_0x47a949%0x4?_0x2d5bac*0x40+_0x128108:_0x128108,_0x47a949++%0x4)?_0x5c4efb+=String['fromCharCode'](0xff&_0x2d5bac>>(-0x2*_0x47a949&0x6)):0x0){_0x128108=_0x28da2a['indexOf'](_0x128108);}for(let _0x2e376d=0x0,_0x4eb47d=_0x5c4efb['length'];_0x2e376d<_0x4eb47d;_0x2e376d++){_0x55e340+='%'+('00'+_0x5c4efb['charCodeAt'](_0x2e376d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55e340);};a0_0x50cc['ZRWcqI']=_0xb8ce64,a0_0x50cc['rFojAS']={},a0_0x50cc['kYXQTl']=!![];}const _0x470414=_0x2e44e0[0x0],_0x30bea3=_0x1670db+_0x470414,_0x1071ce=a0_0x50cc['rFojAS'][_0x30bea3];return!_0x1071ce?(_0x50cc24=a0_0x50cc['ZRWcqI'](_0x50cc24),a0_0x50cc['rFojAS'][_0x30bea3]=_0x50cc24):_0x50cc24=_0x1071ce,_0x50cc24;}const redisClient=require(a0_0x813f6d(0x217)),{logger}=require(a0_0x813f6d(0x1f5)),crypto=require('crypto');function a0_0x2e44(){const _0xebd36c=['x2vUywjSzwq','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','mJe5mfrmr1LuDa','mZG0mZm4menHBMX4uG','z2v0q2XPzw50','C3bSAxq','lI9YzwrPCY1JBgLLBNq','nJm3mteWmeDPzuTzqW','Dhj1zq','mtK2odrWENzOvxa','x2LUAxrdB25MAwC','CMvX','x2LUAxrPywXPEMvK','surftvbpvevoq1LFvfrm','zw52','lI9SB2DNzxi','BevJCeO','x2vUC3vYzuLUAxrPywXPEMvK','DhrS','Cgf0Aa','C3rVCMu','D2HfrvG','C3rHDhvZq29Kzq','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','z2vUzxjHDgvlzxK','CvDbr1O','zw5HyMXLza','otmWmJmWneT5sgTnqW','zgvIDwC','BwvZC2fNzq','mtCZy2DryM1i','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','mJe4mNzQExDIzG','AwrLBxbVDgvUy3LFC3rVCMu','nZG2mdCYvgLJtxzs','nZGYmtC5nuL0CujICG','D3DIuwS','CgfYC2u','x3r0Ba','zxHWB3j0CW','AwrLBxbVDgvUy3LFAgL0','CMy6AwrLBtO'];a0_0x2e44=function(){return _0xebd36c;};return a0_0x2e44();}class IdempotencyManager{constructor(){const _0x547cd0=a0_0x813f6d;this[_0x547cd0(0x210)]=null,this['_ttl']=null,this['_initialized']=![];}['_initConfig'](){const _0x26cfbb=a0_0x813f6d,_0x157b67={'qWAGZ':function(_0x32965f,_0x22e942){return _0x32965f===_0x22e942;},'XiXMh':_0x26cfbb(0x219),'AOnQP':'idempotency_config_init'};this[_0x26cfbb(0x210)]=_0x157b67[_0x26cfbb(0x1ff)](process[_0x26cfbb(0x1f4)]['IDEMPOTENCY_ENABLED'],_0x157b67['XiXMh']),this['_ttl']=parseInt(process['env'][_0x26cfbb(0x1f3)],0xa)||0x12c,this[_0x26cfbb(0x1f2)]=!![],logger['info']({'event':_0x157b67['AOnQP'],'enabled':this['_enabled'],'ttl':this['_ttl']},_0x26cfbb(0x211)+this['_enabled']+',\x20TTL:\x20'+this['_ttl']+'s');}[a0_0x813f6d(0x1f7)](){const _0x1fee01=a0_0x813f6d;!this['_initialized']&&this[_0x1fee01(0x1f0)]();}get[a0_0x813f6d(0x200)](){const _0x4158f4=a0_0x813f6d;return this[_0x4158f4(0x1f7)](),this[_0x4158f4(0x210)];}get[a0_0x813f6d(0x1f8)](){const _0x4f4b21=a0_0x813f6d;return this[_0x4f4b21(0x1f7)](),this[_0x4f4b21(0x20c)];}['isEnabled'](){const _0x36dd62=a0_0x813f6d;return this[_0x36dd62(0x200)];}['buildKey'](_0x4e582e,_0x52a608){const _0x4d52e1=a0_0x813f6d,_0x546da9={'iFAKK':'unknown'},_0x4bce4f=_0x52a608[_0x4d52e1(0x1f9)][_0x4d52e1(0x216)]('/')['filter'](Boolean),_0x1ef653=_0x4bce4f[0x0]||'default',_0x256e74=_0x4bce4f[0x1]||_0x546da9['iFAKK'],_0x24a842=_0x4bce4f[0x2]||_0x546da9['iFAKK'];return _0x4d52e1(0x20f)+_0x1ef653+':'+_0x256e74+':'+_0x24a842+':'+_0x4e582e;}async[a0_0x813f6d(0x1fa)](_0xab1dc,_0x268766){const _0x3a0d4b=a0_0x813f6d;if(!this['enabled'])return![];try{const _0x22cafc=redisClient[_0x3a0d4b(0x215)]();return await _0x22cafc['setex'](_0xab1dc,this[_0x3a0d4b(0x1f8)],JSON['stringify'](_0x268766)),logger['debug']({'event':_0x3a0d4b(0x207),'key':_0xab1dc,'ttl':this[_0x3a0d4b(0x1f8)],'statusCode':_0x268766[_0x3a0d4b(0x1fc)]},'Idempotency\x20response\x20stored'),!![];}catch(_0x1287df){return logger['error']({'event':_0x3a0d4b(0x1fd),'key':_0xab1dc,'error':_0x1287df['message']},_0x3a0d4b(0x212)+_0x1287df[_0x3a0d4b(0x203)]),![];}}async['retrieve'](_0x3e5727){const _0x34c404=a0_0x813f6d,_0x3ed4bb={'aIuxQ':_0x34c404(0x20e),'wwbQk':'idempotency_miss','whEEX':_0x34c404(0x205),'lEcpJ':'idempotency_retrieve_error'};if(!this[_0x34c404(0x200)])return null;try{const _0x209c77=redisClient[_0x34c404(0x215)](),_0x5c06ec=await _0x209c77['get'](_0x3e5727);if(_0x5c06ec)return logger['info']({'event':_0x3ed4bb['aIuxQ'],'key':_0x3e5727},'Idempotency\x20cache\x20HIT'),JSON[_0x34c404(0x20b)](_0x5c06ec);return logger[_0x34c404(0x202)]({'event':_0x3ed4bb[_0x34c404(0x20a)],'key':_0x3e5727},_0x3ed4bb[_0x34c404(0x1fb)]),null;}catch(_0x3aa6f6){return logger['error']({'event':_0x3ed4bb[_0x34c404(0x1f6)],'key':_0x3e5727,'error':_0x3aa6f6['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x3aa6f6['message']),null;}}[a0_0x813f6d(0x1fe)](_0x2ee8d8=a0_0x813f6d(0x1f1)){return _0x2ee8d8+'_'+crypto['randomUUID']();}['buildDeterministicKey'](_0xd9718a,_0x17f4db,_0x455480){return _0xd9718a+':'+_0x17f4db+':'+_0x455480;}}module[a0_0x813f6d(0x20d)]=new IdempotencyManager();
1
+ 'use strict';const a0_0xc3622d=a0_0x1cc1;function a0_0x4948(){const _0x32d116=['x2LUAxrdB25MAwC','CMfUzg9Tvvvjra','C2v0zxG','x2vUC3vYzuLUAxrPywXPEMvK','Cgf0Aa','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','ELbju0m','y3r0BLG','x3r0Ba','swrLBxbVDgvUy3KGy2fJAguGseLu','DhrS','surftvbpvevoq1LFru5bqKXfra','CMv0CMLLDMu','nZaWmta0r3nrEwHt','AxnfBMfIBgvK','Aw5MBW','z2vUzxjHDgvlzxK','zgvIDwC','mJq1mdG1EeLlz29P','vfvgyKO','mtaZmZGYngXLqMzcDG','mJbSAurgzgq','zxHWB3j0CW','ndyXmdm4tuHzwfjh','AwX5Cem','mte1nZy0mM9yv2DoAa','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','zw5HyMXLza','AwrLBxbVDgvUy3LFBwLZCW','mJi0mJq5oxL1qMjlyq','C3rYAw5NAwz5','BwvZC2fNzq','x2LUAxrPywXPEMvK','mtm3mJmXnLDhD0jLEG','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','surftvbpvevoq1LFvfrm','qLz5u1m','CgfYC2u','Dhj1zq','x2vUywjSzwq','zxjYB3i','qKPrreS'];a0_0x4948=function(){return _0x32d116;};return a0_0x4948();}(function(_0x2352d5,_0x20b326){const _0x5f8b8c=a0_0x1cc1,_0x484bbb=_0x2352d5();while(!![]){try{const _0x1db110=parseInt(_0x5f8b8c(0x11a))/0x1+parseInt(_0x5f8b8c(0xf2))/0x2+-parseInt(_0x5f8b8c(0x115))/0x3+-parseInt(_0x5f8b8c(0xfa))/0x4+parseInt(_0x5f8b8c(0x118))/0x5*(-parseInt(_0x5f8b8c(0x110))/0x6)+parseInt(_0x5f8b8c(0xf6))/0x7+-parseInt(_0x5f8b8c(0x117))/0x8;if(_0x1db110===_0x20b326)break;else _0x484bbb['push'](_0x484bbb['shift']());}catch(_0x394fbf){_0x484bbb['push'](_0x484bbb['shift']());}}}(a0_0x4948,0x52e16));function a0_0x1cc1(_0x370668,_0x7424e3){_0x370668=_0x370668-0xf1;const _0x494895=a0_0x4948();let _0x1cc14f=_0x494895[_0x370668];if(a0_0x1cc1['DfhPeY']===undefined){var _0x3012b5=function(_0x12c321){const _0x568c15='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x99ed74='',_0x558091='';for(let _0x3b166e=0x0,_0x299e0d,_0xe0663,_0x3629cc=0x0;_0xe0663=_0x12c321['charAt'](_0x3629cc++);~_0xe0663&&(_0x299e0d=_0x3b166e%0x4?_0x299e0d*0x40+_0xe0663:_0xe0663,_0x3b166e++%0x4)?_0x99ed74+=String['fromCharCode'](0xff&_0x299e0d>>(-0x2*_0x3b166e&0x6)):0x0){_0xe0663=_0x568c15['indexOf'](_0xe0663);}for(let _0x4dbe33=0x0,_0x3bbd74=_0x99ed74['length'];_0x4dbe33<_0x3bbd74;_0x4dbe33++){_0x558091+='%'+('00'+_0x99ed74['charCodeAt'](_0x4dbe33)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x558091);};a0_0x1cc1['edLuxD']=_0x3012b5,a0_0x1cc1['puUXKa']={},a0_0x1cc1['DfhPeY']=!![];}const _0x2d8fc0=_0x494895[0x0],_0x5a8ed2=_0x370668+_0x2d8fc0,_0x5384d2=a0_0x1cc1['puUXKa'][_0x5a8ed2];return!_0x5384d2?(_0x1cc14f=a0_0x1cc1['edLuxD'](_0x1cc14f),a0_0x1cc1['puUXKa'][_0x5a8ed2]=_0x1cc14f):_0x1cc14f=_0x5384d2,_0x1cc14f;}const redisClient=require('./redis-client'),{logger}=require('./logger'),crypto=require('crypto');class IdempotencyManager{constructor(){this['_enabled']=null,this['_ttl']=null,this['_initialized']=![];}[a0_0xc3622d(0x103)](){const _0x55b7f3=a0_0xc3622d,_0x2ea0de={'TUFbJ':_0x55b7f3(0xff),'BVySS':function(_0x430e3b,_0x2f9bed,_0x3585b0){return _0x430e3b(_0x2f9bed,_0x3585b0);},'cttnX':_0x55b7f3(0xf3)};this['_enabled']=process['env'][_0x55b7f3(0x10e)]===_0x2ea0de[_0x55b7f3(0x116)],this[_0x55b7f3(0x10b)]=_0x2ea0de[_0x55b7f3(0xfd)](parseInt,process['env'][_0x55b7f3(0xfc)],0xa)||0x12c,this[_0x55b7f3(0xf9)]=!![],logger['info']({'event':_0x2ea0de[_0x55b7f3(0x10a)],'enabled':this['_enabled'],'ttl':this['_ttl']},_0x55b7f3(0x108)+this['_enabled']+',\x20TTL:\x20'+this['_ttl']+'s');}['_ensureInitialized'](){const _0x59cb8b=a0_0xc3622d;!this[_0x59cb8b(0xf9)]&&this['_initConfig']();}get[a0_0xc3622d(0xf4)](){const _0x2ba985=a0_0xc3622d;return this[_0x2ba985(0x106)](),this[_0x2ba985(0x100)];}get[a0_0xc3622d(0x10d)](){const _0x408f8c=a0_0xc3622d;return this['_ensureInitialized'](),this[_0x408f8c(0x10b)];}[a0_0xc3622d(0x111)](){return this['enabled'];}['buildKey'](_0x30bee9,_0x2c56a5){const _0x18de18=a0_0xc3622d,_0x4d4f99={'ilypC':'unknown'},_0x1ad914=_0x2c56a5[_0x18de18(0x107)]['split']('/')['filter'](Boolean),_0x585dde=_0x1ad914[0x0]||'default',_0x1ccae5=_0x1ad914[0x1]||_0x4d4f99[_0x18de18(0xf1)],_0x1c4097=_0x1ad914[0x2]||'unknown';return'rf:idem:'+_0x585dde+':'+_0x1ccae5+':'+_0x1c4097+':'+_0x30bee9;}async['store'](_0x4a5ae4,_0x1db197){const _0x588719=a0_0xc3622d;if(!this['enabled'])return![];try{const _0x14c44b=redisClient['getClient']();return await _0x14c44b[_0x588719(0x105)](_0x4a5ae4,this[_0x588719(0x10d)],JSON[_0x588719(0xf7)](_0x1db197)),logger[_0x588719(0x114)]({'event':'idempotency_store','key':_0x4a5ae4,'ttl':this['ttl'],'statusCode':_0x1db197['statusCode']},'Idempotency\x20response\x20stored'),!![];}catch(_0x54aff2){return logger[_0x588719(0x101)]({'event':'idempotency_store_error','key':_0x4a5ae4,'error':_0x54aff2[_0x588719(0xf8)]},'Idempotency\x20store\x20error:\x20'+_0x54aff2['message']),![];}}async[a0_0xc3622d(0x10f)](_0x2ce694){const _0x53fb62=a0_0xc3622d,_0x37b2ef={'BJQDK':'idempotency_hit','PGjpE':_0x53fb62(0x10c),'zPISC':_0x53fb62(0xfb)};if(!this['enabled'])return null;try{const _0x5eee58=redisClient['getClient'](),_0x20f4e2=await _0x5eee58['get'](_0x2ce694);if(_0x20f4e2)return logger[_0x53fb62(0x112)]({'event':_0x37b2ef[_0x53fb62(0x102)],'key':_0x2ce694},_0x37b2ef['PGjpE']),JSON[_0x53fb62(0xfe)](_0x20f4e2);return logger[_0x53fb62(0x114)]({'event':_0x53fb62(0xf5),'key':_0x2ce694},'Idempotency\x20cache\x20MISS'),null;}catch(_0x5429e7){return logger[_0x53fb62(0x101)]({'event':_0x37b2ef[_0x53fb62(0x109)],'key':_0x2ce694,'error':_0x5429e7[_0x53fb62(0xf8)]},'Idempotency\x20retrieve\x20error:\x20'+_0x5429e7[_0x53fb62(0xf8)]),null;}}[a0_0xc3622d(0x113)](_0x55a714='req'){const _0xa2366=a0_0xc3622d;return _0x55a714+'_'+crypto[_0xa2366(0x104)]();}['buildDeterministicKey'](_0x2da99d,_0x13b6d6,_0x2a825c){return _0x2da99d+':'+_0x13b6d6+':'+_0x2a825c;}}module[a0_0xc3622d(0x119)]=new IdempotencyManager();
@@ -1 +1 @@
1
- const a0_0x2d53fe=a0_0xa32b;(function(_0x3a427d,_0x3965c6){const _0xb571c=a0_0xa32b,_0x1b5bc7=_0x3a427d();while(!![]){try{const _0xc995f0=-parseInt(_0xb571c(0x216))/0x1+parseInt(_0xb571c(0x20b))/0x2*(parseInt(_0xb571c(0x1f4))/0x3)+parseInt(_0xb571c(0x1f9))/0x4+parseInt(_0xb571c(0x1ff))/0x5+parseInt(_0xb571c(0x20e))/0x6+-parseInt(_0xb571c(0x209))/0x7+parseInt(_0xb571c(0x210))/0x8;if(_0xc995f0===_0x3965c6)break;else _0x1b5bc7['push'](_0x1b5bc7['shift']());}catch(_0x378476){_0x1b5bc7['push'](_0x1b5bc7['shift']());}}}(a0_0xd6c8,0xc7d83));function a0_0xa32b(_0x4d7cd2,_0x4f37ec){_0x4d7cd2=_0x4d7cd2-0x1f3;const _0xd6c850=a0_0xd6c8();let _0xa32bd4=_0xd6c850[_0x4d7cd2];if(a0_0xa32b['tNrRmF']===undefined){var _0x50c8e6=function(_0x50e1c6){const _0x47ad85='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2478ce='',_0x790a5c='';for(let _0x5c9a82=0x0,_0x3018ea,_0x5650be,_0xa53cf5=0x0;_0x5650be=_0x50e1c6['charAt'](_0xa53cf5++);~_0x5650be&&(_0x3018ea=_0x5c9a82%0x4?_0x3018ea*0x40+_0x5650be:_0x5650be,_0x5c9a82++%0x4)?_0x2478ce+=String['fromCharCode'](0xff&_0x3018ea>>(-0x2*_0x5c9a82&0x6)):0x0){_0x5650be=_0x47ad85['indexOf'](_0x5650be);}for(let _0x1032bf=0x0,_0x126dbb=_0x2478ce['length'];_0x1032bf<_0x126dbb;_0x1032bf++){_0x790a5c+='%'+('00'+_0x2478ce['charCodeAt'](_0x1032bf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x790a5c);};a0_0xa32b['rzlcJA']=_0x50c8e6,a0_0xa32b['oAIdbR']={},a0_0xa32b['tNrRmF']=!![];}const _0x2103ff=_0xd6c850[0x0],_0x34431e=_0x4d7cd2+_0x2103ff,_0x422262=a0_0xa32b['oAIdbR'][_0x34431e];return!_0x422262?(_0xa32bd4=a0_0xa32b['rzlcJA'](_0xa32bd4),a0_0xa32b['oAIdbR'][_0x34431e]=_0xa32bd4):_0xa32bd4=_0x422262,_0xa32bd4;}const {logger}=require('./logger');function a0_0xd6c8(){const _0x45df14=['vLLXwK8','mte0otiXmLnAqwnkvG','BgvUz3rO','DMfSAwrHDgvvCMW','mJe1nZC0nfLss3flEa','AM9PBG','mZGZntq0zgzZsNnS','A2v5CW','DMfSAwrHDgvoDw1Izxi','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','sw52ywXPzcbUDw1IzxiGzM9YBwf0','ChvZAa','mtm5mdqZn0T4teHzsW','yMnSAgK','Aw5MBW','nM9rD21HuW','sw52ywXPzcbvuKWGzM9YBwf0','rvLWrgC','BLHAwMW','AgfZ','mZK0odqXmNH1zu5ADq','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','sw52ywXPzcbLBwfPBcbMB3jTyxq','DMfSAwrHDgvgAwvSzezVCM1HDa','zM9YrwfJAa','DgvZDa','mZuXotK4nwXrAMX6za','DMfSAwrHDgvqAg9Uzq','y011ugq','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','z2v0','sw52ywXPzcbWAg9UzsbMB3jTyxq','CMvWBgfJzq','zw1HAwW','zM9YBwf0','DMfSAwrHDgvfBwfPBa','nZi3mJe1m1HZuKDSzG'];a0_0xd6c8=function(){return _0x45df14;};return a0_0xd6c8();}class ImportValidator{['validateRow'](_0x3b62f4,_0x26f847=[],_0x540fc3={}){const _0x46a26f=a0_0xa32b,_0x39d218={'lyhIX':function(_0x6d2b47,_0x225da1){return _0x6d2b47===_0x225da1;},'hrtal':function(_0x56e8cd,_0x3a5902){return _0x56e8cd===_0x3a5902;},'VYqZO':function(_0x268a42,_0x3d0799){return _0x268a42===_0x3d0799;}},_0x372208=[];return _0x26f847[_0x46a26f(0x1fd)](_0x46eb2e=>{const _0xcdee46=_0x46a26f,_0x57c873=_0x3b62f4[_0x46eb2e];(_0x39d218['lyhIX'](_0x57c873,null)||_0x39d218['hrtal'](_0x57c873,undefined)||_0x57c873==='')&&_0x372208[_0xcdee46(0x215)]({'field':_0x46eb2e,'type':'required','message':_0xcdee46(0x202)});}),Object[_0x46a26f(0x211)](_0x540fc3)[_0x46a26f(0x1fd)](_0x4f4673=>{const _0x76ea56=_0x46a26f,_0x1455ba=_0x3b62f4[_0x4f4673],_0x3f62d5=_0x540fc3[_0x4f4673];if(_0x1455ba===null||_0x39d218[_0x76ea56(0x20a)](_0x1455ba,undefined)||_0x1455ba==='')return;const _0x585acc=this[_0x76ea56(0x1fc)](_0x4f4673,_0x1455ba,_0x3f62d5);_0x585acc&&_0x372208['push'](_0x585acc);}),_0x372208;}['validateFieldFormat'](_0x1d59ff,_0x5a8b26,_0x17284b){const _0x39da5e=a0_0xa32b,_0x2ddb26={'zzbha':'number'};switch(_0x17284b){case _0x39da5e(0x206):return this['validateEmail'](_0x1d59ff,_0x5a8b26);case'phone':return this[_0x39da5e(0x200)](_0x1d59ff,_0x5a8b26);case'url':return this['validateUrl'](_0x1d59ff,_0x5a8b26);case _0x2ddb26['zzbha']:return this['validateNumber'](_0x1d59ff,_0x5a8b26);default:return null;}}[a0_0x2d53fe(0x208)](_0x5b877d,_0x29f695){const _0x11bc8e=a0_0x2d53fe,_0x338cca={'AdpNr':function(_0x1f3c4c,_0x2a857d){return _0x1f3c4c(_0x2a857d);},'bclhi':_0x11bc8e(0x1fb)},_0x442db4=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x442db4[_0x11bc8e(0x1fe)](_0x338cca['AdpNr'](String,_0x29f695)))return{'field':_0x5b877d,'type':'format','message':_0x338cca[_0x11bc8e(0x217)]};return null;}['validatePhone'](_0x437dc1,_0x56749d){const _0x5c19eb=a0_0x2d53fe,_0x44c014={'nXZZl':function(_0x3dc674,_0x5974f5){return _0x3dc674<_0x5974f5;},'EyaYi':_0x5c19eb(0x204)},_0x415eb0=String(_0x56749d)[_0x5c19eb(0x205)](/\s+/g,''),_0x5bdd7f=/^[\d\+\-\(\)]+$/;if(!_0x5bdd7f['test'](_0x415eb0)||_0x44c014[_0x5c19eb(0x1f7)](_0x415eb0['length'],0x8))return{'field':_0x437dc1,'type':'format','message':_0x44c014['EyaYi']};return null;}[a0_0x2d53fe(0x20d)](_0x5c2368,_0xc8926d){const _0x24b582=a0_0x2d53fe,_0x54e6cc={'vNubA':function(_0x435131,_0x38928f){return _0x435131(_0x38928f);}};try{return new URL(_0x54e6cc['vNubA'](String,_0xc8926d)),null;}catch(_0xfbde3c){return{'field':_0x5c2368,'type':'format','message':_0x24b582(0x1f5)};}}[a0_0x2d53fe(0x212)](_0x5586ae,_0x38eeeb){const _0x326454=a0_0x2d53fe,_0xa87f13={'JkdfO':_0x326454(0x207),'RrsdJ':_0x326454(0x214)};if(isNaN(_0x38eeeb))return{'field':_0x5586ae,'type':_0xa87f13['JkdfO'],'message':_0xa87f13['RrsdJ']};return null;}[a0_0x2d53fe(0x213)](_0x4c56f7,_0x2ffcdc){const _0xbf9e48=a0_0x2d53fe,_0x482d3d=new Map(),_0x1fcf83=[];return _0x4c56f7[_0xbf9e48(0x1fd)]((_0x46826e,_0x5ad8f7)=>{const _0x58ae77=_0xbf9e48,_0x690f9=_0x2ffcdc['map'](_0x23434b=>_0x46826e[_0x23434b])[_0x58ae77(0x20f)]('|');_0x482d3d[_0x58ae77(0x1f8)](_0x690f9)?_0x1fcf83[_0x58ae77(0x215)]({'rowIndex':_0x5ad8f7,'duplicateOf':_0x482d3d[_0x58ae77(0x203)](_0x690f9),'key':_0x690f9}):_0x482d3d['set'](_0x690f9,_0x5ad8f7);}),_0x1fcf83;}['batchValidateRows'](_0x842e27,_0x2deafc,_0x4ce36a){const _0x2ff3b1=a0_0x2d53fe,_0x26bd81={'EYpDg':function(_0x3d4b6e,_0x54b379){return _0x3d4b6e>_0x54b379;},'cMuPd':_0x2ff3b1(0x1fa)},_0x427918=[];return _0x842e27[_0x2ff3b1(0x1fd)]((_0x125f6a,_0x58e132)=>{const _0x4e8310=_0x2ff3b1,_0x51a76f=this['validateRow'](_0x125f6a,_0x2deafc,_0x4ce36a);_0x26bd81[_0x4e8310(0x1f6)](_0x51a76f[_0x4e8310(0x20c)],0x0)&&_0x427918[_0x4e8310(0x215)]({'rowIndex':_0x58e132,'rowData':_0x125f6a,'errors':_0x51a76f});}),logger[_0x2ff3b1(0x1f3)]({'event':'batch_validation_complete','totalRows':_0x842e27[_0x2ff3b1(0x20c)],'errorCount':_0x427918[_0x2ff3b1(0x20c)]},_0x26bd81[_0x2ff3b1(0x201)]),_0x427918;}}module['exports']=new ImportValidator();
1
+ const a0_0x2f5b75=a0_0x73a1;function a0_0x73a1(_0x5779e8,_0x1b1e79){_0x5779e8=_0x5779e8-0x1c8;const _0x1becaa=a0_0x1bec();let _0x73a171=_0x1becaa[_0x5779e8];if(a0_0x73a1['NBSfjR']===undefined){var _0x4b56a1=function(_0x4063c1){const _0x2b8cba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xce234c='',_0x58bd42='';for(let _0x5ebaa5=0x0,_0x5eeaf9,_0x2b6642,_0x5aebe1=0x0;_0x2b6642=_0x4063c1['charAt'](_0x5aebe1++);~_0x2b6642&&(_0x5eeaf9=_0x5ebaa5%0x4?_0x5eeaf9*0x40+_0x2b6642:_0x2b6642,_0x5ebaa5++%0x4)?_0xce234c+=String['fromCharCode'](0xff&_0x5eeaf9>>(-0x2*_0x5ebaa5&0x6)):0x0){_0x2b6642=_0x2b8cba['indexOf'](_0x2b6642);}for(let _0x3998ec=0x0,_0x23a56a=_0xce234c['length'];_0x3998ec<_0x23a56a;_0x3998ec++){_0x58bd42+='%'+('00'+_0xce234c['charCodeAt'](_0x3998ec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x58bd42);};a0_0x73a1['vMaOXe']=_0x4b56a1,a0_0x73a1['jNCafg']={},a0_0x73a1['NBSfjR']=!![];}const _0xbe27f=_0x1becaa[0x0],_0x9baa3d=_0x5779e8+_0xbe27f,_0x4629b4=a0_0x73a1['jNCafg'][_0x9baa3d];return!_0x4629b4?(_0x73a171=a0_0x73a1['vMaOXe'](_0x73a171),a0_0x73a1['jNCafg'][_0x9baa3d]=_0x73a171):_0x73a171=_0x4629b4,_0x73a171;}(function(_0x3dff97,_0x398a80){const _0x48bd90=a0_0x73a1,_0x242db7=_0x3dff97();while(!![]){try{const _0x3b0dec=-parseInt(_0x48bd90(0x1da))/0x1*(parseInt(_0x48bd90(0x1d6))/0x2)+-parseInt(_0x48bd90(0x1e5))/0x3*(parseInt(_0x48bd90(0x1f0))/0x4)+-parseInt(_0x48bd90(0x1ee))/0x5*(parseInt(_0x48bd90(0x1e6))/0x6)+-parseInt(_0x48bd90(0x1df))/0x7*(-parseInt(_0x48bd90(0x1f1))/0x8)+parseInt(_0x48bd90(0x1e8))/0x9*(parseInt(_0x48bd90(0x1d1))/0xa)+-parseInt(_0x48bd90(0x1c9))/0xb*(-parseInt(_0x48bd90(0x1db))/0xc)+-parseInt(_0x48bd90(0x1e9))/0xd;if(_0x3b0dec===_0x398a80)break;else _0x242db7['push'](_0x242db7['shift']());}catch(_0x5cd95a){_0x242db7['push'](_0x242db7['shift']());}}}(a0_0x1bec,0x79755));const {logger}=require(a0_0x2f5b75(0x1cf));class ImportValidator{[a0_0x2f5b75(0x1f2)](_0x29609f,_0x29974e=[],_0x568d9a={}){const _0x32ef54=a0_0x2f5b75,_0x84ab40={'GlIYR':function(_0xf0b785,_0x591c56){return _0xf0b785===_0x591c56;},'xXYKY':function(_0x297da4,_0x57a3c9){return _0x297da4===_0x57a3c9;}},_0x1d15ee=[];return _0x29974e[_0x32ef54(0x1e1)](_0x16dcd9=>{const _0x5a763c=_0x32ef54,_0x4b160c=_0x29609f[_0x16dcd9];(_0x4b160c===null||_0x84ab40[_0x5a763c(0x1ea)](_0x4b160c,undefined)||_0x4b160c==='')&&_0x1d15ee[_0x5a763c(0x1d7)]({'field':_0x16dcd9,'type':'required','message':_0x5a763c(0x1d8)});}),Object['keys'](_0x568d9a)[_0x32ef54(0x1e1)](_0x3f7bbf=>{const _0x1a3920=_0x32ef54,_0x4c21e4=_0x29609f[_0x3f7bbf],_0x26eefe=_0x568d9a[_0x3f7bbf];if(_0x84ab40[_0x1a3920(0x1d2)](_0x4c21e4,null)||_0x4c21e4===undefined||_0x4c21e4==='')return;const _0x5e8366=this[_0x1a3920(0x1e4)](_0x3f7bbf,_0x4c21e4,_0x26eefe);_0x5e8366&&_0x1d15ee[_0x1a3920(0x1d7)](_0x5e8366);}),_0x1d15ee;}['validateFieldFormat'](_0x4f1cc2,_0x2daad1,_0x26b48e){const _0x3fdddb=a0_0x2f5b75,_0x5add87={'qlMoG':'phone'};switch(_0x26b48e){case _0x3fdddb(0x1dc):return this['validateEmail'](_0x4f1cc2,_0x2daad1);case _0x5add87['qlMoG']:return this[_0x3fdddb(0x1c8)](_0x4f1cc2,_0x2daad1);case'url':return this[_0x3fdddb(0x1dd)](_0x4f1cc2,_0x2daad1);case'number':return this['validateNumber'](_0x4f1cc2,_0x2daad1);default:return null;}}['validateEmail'](_0x4ef97c,_0x565839){const _0x52553a=a0_0x2f5b75,_0xa2e8ea={'WHHfH':function(_0xe80c8c,_0x456a03){return _0xe80c8c(_0x456a03);},'Nfmpr':_0x52553a(0x1e0)},_0x303d0f=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x303d0f[_0x52553a(0x1e2)](_0xa2e8ea[_0x52553a(0x1d5)](String,_0x565839)))return{'field':_0x4ef97c,'type':'format','message':_0xa2e8ea['Nfmpr']};return null;}['validatePhone'](_0x275dbb,_0x27c933){const _0x13e98b=a0_0x2f5b75,_0x53511d={'CuAFc':function(_0x4570c4,_0xcbef1f){return _0x4570c4<_0xcbef1f;},'VcFHX':_0x13e98b(0x1d0),'obgka':'Invalid\x20phone\x20format'},_0x1ad38e=String(_0x27c933)['replace'](/\s+/g,''),_0xb2b3e=/^[\d\+\-\(\)]+$/;if(!_0xb2b3e[_0x13e98b(0x1e2)](_0x1ad38e)||_0x53511d['CuAFc'](_0x1ad38e['length'],0x8))return{'field':_0x275dbb,'type':_0x53511d[_0x13e98b(0x1d3)],'message':_0x53511d['obgka']};return null;}[a0_0x2f5b75(0x1dd)](_0x22a5e5,_0x55a87b){const _0x8d9ec9=a0_0x2f5b75,_0x155200={'SYQVk':'Invalid\x20URL\x20format'};try{return new URL(String(_0x55a87b)),null;}catch(_0x3d2ce3){return{'field':_0x22a5e5,'type':'format','message':_0x155200[_0x8d9ec9(0x1cc)]};}}[a0_0x2f5b75(0x1cd)](_0xec743f,_0x116ed4){const _0x113d75=a0_0x2f5b75,_0x431d17={'JCvhU':function(_0x22a0a8,_0x22f9df){return _0x22a0a8(_0x22f9df);}};if(_0x431d17['JCvhU'](isNaN,_0x116ed4))return{'field':_0xec743f,'type':'format','message':_0x113d75(0x1d4)};return null;}[a0_0x2f5b75(0x1ed)](_0x1cbe6e,_0x48da32){const _0x6219e6=new Map(),_0xb2149a=[];return _0x1cbe6e['forEach']((_0x3a4ead,_0x32f3ec)=>{const _0x2745a4=a0_0x73a1,_0x2af813=_0x48da32[_0x2745a4(0x1ce)](_0x408371=>_0x3a4ead[_0x408371])['join']('|');_0x6219e6[_0x2745a4(0x1d9)](_0x2af813)?_0xb2149a['push']({'rowIndex':_0x32f3ec,'duplicateOf':_0x6219e6[_0x2745a4(0x1ca)](_0x2af813),'key':_0x2af813}):_0x6219e6['set'](_0x2af813,_0x32f3ec);}),_0xb2149a;}[a0_0x2f5b75(0x1ef)](_0x3201db,_0x2486c1,_0x20675c){const _0x4824ba=a0_0x2f5b75,_0x27042c={'GkVCK':function(_0x195fc6,_0xbb4db3){return _0x195fc6>_0xbb4db3;},'NKsIg':_0x4824ba(0x1ec)},_0x49c61f=[];return _0x3201db[_0x4824ba(0x1e1)]((_0x30a1fc,_0x51fd71)=>{const _0x2d9d54=_0x4824ba,_0x599ad6=this[_0x2d9d54(0x1f2)](_0x30a1fc,_0x2486c1,_0x20675c);_0x27042c[_0x2d9d54(0x1e3)](_0x599ad6[_0x2d9d54(0x1de)],0x0)&&_0x49c61f['push']({'rowIndex':_0x51fd71,'rowData':_0x30a1fc,'errors':_0x599ad6});}),logger[_0x4824ba(0x1eb)]({'event':_0x27042c[_0x4824ba(0x1e7)],'totalRows':_0x3201db[_0x4824ba(0x1de)],'errorCount':_0x49c61f[_0x4824ba(0x1de)]},'Batch\x20validation\x20completed'),_0x49c61f;}}module[a0_0x2f5b75(0x1cb)]=new ImportValidator();function a0_0x1bec(){const _0xd653ac=['sw52ywXPzcbLBwfPBcbMB3jTyxq','zM9YrwfJAa','DgvZDa','r2Twq0S','DMfSAwrHDgvgAwvSzezVCM1HDa','mtmWmZu5oxHUrKvVCq','mJy0ntaYmKDgq1npzq','tKTZswC','nJnjrLjHvLG','nZeWmJqYmg9tr1Dtyq','r2Xjwvi','Aw5MBW','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','nvbSu29cqW','yMf0y2HwywXPzgf0zvjVD3m','nePNDgzita','ote3mJG4wgzbEgjS','DMfSAwrHDgvsB3C','DMfSAwrHDgvqAg9Uzq','mJG2txznuK5P','z2v0','zxHWB3j0CW','u1LrvMS','DMfSAwrHDgvoDw1Izxi','BwfW','lI9SB2DNzxi','zM9YBwf0','nJm4ndCWteLPyvzO','EfHzs1K','vMngsfG','sw52ywXPzcbUDw1IzxiGzM9YBwf0','v0HizKG','nda0s2zqEvDq','ChvZAa','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','AgfZ','nJuZqMrYtufm','ndiYody4C1LNwgLf','zw1HAwW','DMfSAwrHDgvvCMW','BgvUz3rO','ndjYAwjQyxq'];a0_0x1bec=function(){return _0xd653ac;};return a0_0x1bec();}