@restforgejs/platform 4.3.8 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/bin/sdf-tools.exe +0 -0
  2. package/build-info.json +2 -2
  3. package/cli/consumer-deploy.js +1 -1
  4. package/cli/consumer.js +1 -1
  5. package/generators/cli/init.js +4 -104
  6. package/generators/cli/payload/migrate.js +96 -96
  7. package/generators/cli/schema/list.js +82 -18
  8. package/generators/cli/schema/migrate.js +23 -3
  9. package/generators/lib/dbschema-kit/apply-engine.js +211 -46
  10. package/generators/lib/dbschema-kit/diff-engine.js +715 -703
  11. package/generators/lib/dbschema-kit/emitters/alter-table.js +96 -2
  12. package/generators/lib/dbschema-kit/introspect-mapper.js +9 -0
  13. package/generators/lib/migrate/backend-payload-migrator.js +221 -221
  14. package/generators/lib/migrate/field-type-resolver.js +325 -319
  15. package/generators/lib/migrate/label-generator.js +38 -38
  16. package/generators/lib/migrate/migrate-runner.js +244 -38
  17. package/generators/lib/migrate/naming.js +52 -43
  18. package/generators/lib/migrate/sql-parser.js +124 -124
  19. package/generators/lib/templates/dashboard-catalog.js +1 -1
  20. package/generators/lib/templates/db-connection-env.js +1 -1
  21. package/generators/lib/templates/dbschema-catalog.js +1 -1
  22. package/generators/lib/templates/field-validation-catalog.js +1 -1
  23. package/generators/lib/templates/mysql-template.js +1 -1
  24. package/generators/lib/templates/oracle-template.js +1 -1
  25. package/generators/lib/templates/postgres-template.js +1 -1
  26. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  27. package/generators/lib/templates/sqlite-template.js +1 -1
  28. package/integrity-manifest.json +18 -18
  29. package/node_modules/brace-expansion/index.js +1 -1
  30. package/node_modules/brace-expansion/package.json +1 -1
  31. package/node_modules/dayjs/CHANGELOG.md +7 -0
  32. package/node_modules/dayjs/README.md +12 -10
  33. package/node_modules/dayjs/dayjs.min.js +1 -1
  34. package/node_modules/dayjs/esm/constant.js +1 -1
  35. package/node_modules/dayjs/esm/plugin/duration/index.js +5 -4
  36. package/node_modules/dayjs/locale.json +1 -1
  37. package/node_modules/dayjs/package.json +2 -2
  38. package/node_modules/dayjs/plugin/duration.js +1 -1
  39. package/node_modules/tmp/lib/tmp.js +37 -7
  40. package/node_modules/tmp/package.json +4 -16
  41. package/package.json +1 -1
  42. package/scripts/verify-integrity.js +1 -1
  43. package/server.js +1 -1
  44. package/src/components/handlers/adjust_handler.js +1 -1
  45. package/src/components/handlers/audit_handler.js +1 -1
  46. package/src/components/handlers/delete_handler.js +1 -1
  47. package/src/components/handlers/export_handler.js +1 -1
  48. package/src/components/handlers/import_handler.js +1 -1
  49. package/src/components/handlers/insert_handler.js +1 -1
  50. package/src/components/handlers/update_handler.js +1 -1
  51. package/src/components/handlers/upload_handler.js +1 -1
  52. package/src/components/handlers/workflow_handler.js +1 -1
  53. package/src/components/integrations/webhook.js +1 -1
  54. package/src/consumers/baseConsumer.js +1 -1
  55. package/src/consumers/declarativeMapper.js +1 -1
  56. package/src/consumers/handlers/apiHandler.js +1 -1
  57. package/src/consumers/handlers/consoleHandler.js +1 -1
  58. package/src/consumers/handlers/databaseHandler.js +1 -1
  59. package/src/consumers/handlers/index.js +1 -1
  60. package/src/consumers/handlers/kafkaHandler.js +1 -1
  61. package/src/consumers/index.js +1 -1
  62. package/src/consumers/messageTransformer.js +1 -1
  63. package/src/consumers/validator.js +1 -1
  64. package/src/core/db/dialect/base-dialect.js +1 -1
  65. package/src/core/db/dialect/index.js +1 -1
  66. package/src/core/db/dialect/mysql-dialect.js +1 -1
  67. package/src/core/db/dialect/oracle-dialect.js +1 -1
  68. package/src/core/db/dialect/postgres-dialect.js +1 -1
  69. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  70. package/src/core/db/flatten-helper.js +1 -1
  71. package/src/core/db/query-builder-error.js +1 -1
  72. package/src/core/db/query-builder.js +1 -1
  73. package/src/core/db/relation-helper.js +1 -1
  74. package/src/core/handlers/delete_handler.js +1 -1
  75. package/src/core/handlers/insert_handler.js +1 -1
  76. package/src/core/handlers/update_handler.js +1 -1
  77. package/src/core/models/base-model.js +1 -1
  78. package/src/core/utils/cache-manager.js +1 -1
  79. package/src/core/utils/component-engine.js +1 -1
  80. package/src/core/utils/context-builder.js +1 -1
  81. package/src/core/utils/datetime-formatter.js +1 -1
  82. package/src/core/utils/datetime-parser.js +1 -1
  83. package/src/core/utils/db.js +1 -1
  84. package/src/core/utils/logger.js +1 -1
  85. package/src/core/utils/payload-loader.js +1 -1
  86. package/src/core/utils/security-checks.js +1 -1
  87. package/src/middleware/body-options.js +1 -1
  88. package/src/middleware/cors.js +1 -1
  89. package/src/middleware/idempotency.js +1 -1
  90. package/src/middleware/rate-limiter.js +1 -1
  91. package/src/middleware/request-logger.js +1 -1
  92. package/src/middleware/security-headers.js +1 -1
  93. package/src/models/base-model-mysql.js +1 -1
  94. package/src/models/base-model-oracle.js +1 -1
  95. package/src/models/base-model-sqlite.js +1 -1
  96. package/src/models/base-model.js +1 -1
  97. package/src/pro/caching/redis-client.js +1 -1
  98. package/src/pro/caching/redis-helper.js +1 -1
  99. package/src/pro/consumers/baseConsumer.js +1 -1
  100. package/src/pro/consumers/declarativeMapper.js +1 -1
  101. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  102. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  103. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  104. package/src/pro/consumers/handlers/index.js +1 -1
  105. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  106. package/src/pro/consumers/index.js +1 -1
  107. package/src/pro/consumers/messageTransformer.js +1 -1
  108. package/src/pro/consumers/validator.js +1 -1
  109. package/src/pro/database/base-model-mysql.js +1 -1
  110. package/src/pro/database/base-model-oracle.js +1 -1
  111. package/src/pro/database/base-model-sqlite.js +1 -1
  112. package/src/pro/database/db-mysql.js +1 -1
  113. package/src/pro/database/db-oracle.js +1 -1
  114. package/src/pro/database/db-sqlite.js +1 -1
  115. package/src/pro/excel/excel-generator.js +1 -1
  116. package/src/pro/excel/excel-parser.js +1 -1
  117. package/src/pro/excel/export-service.js +1 -1
  118. package/src/pro/excel/export_handler.js +1 -1
  119. package/src/pro/excel/import-service.js +1 -1
  120. package/src/pro/excel/import-validator.js +1 -1
  121. package/src/pro/excel/import_handler.js +1 -1
  122. package/src/pro/excel/upsert-builder.js +1 -1
  123. package/src/pro/idgen/idgen-routes.js +1 -1
  124. package/src/pro/integrations/lookup-resolver.js +1 -1
  125. package/src/pro/integrations/upload-handler-v2.js +1 -1
  126. package/src/pro/integrations/upload-handler.js +1 -1
  127. package/src/pro/integrations/webhook.js +1 -1
  128. package/src/pro/locking/lock-routes.js +1 -1
  129. package/src/pro/locking/resource-lock-manager.js +1 -1
  130. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  131. package/src/pro/messaging/kafkaService.js +1 -1
  132. package/src/pro/messaging/messagehubService.js +1 -1
  133. package/src/pro/messaging/rabbitmqService.js +1 -1
  134. package/src/pro/scheduler/job-manager.js +1 -1
  135. package/src/pro/scheduler/job-routes.js +1 -1
  136. package/src/pro/scheduler/job-validator.js +1 -1
  137. package/src/pro/storage/base-storage-provider.js +1 -1
  138. package/src/pro/storage/file-metadata-helper.js +1 -1
  139. package/src/pro/storage/index.js +1 -1
  140. package/src/pro/storage/local-storage-provider.js +1 -1
  141. package/src/pro/storage/s3-storage-provider.js +1 -1
  142. package/src/pro/storage/upload-cleanup-job.js +1 -1
  143. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  144. package/src/pro/storage/upload-pending-tracker.js +1 -1
  145. package/src/pro/websocket/broadcast-helper.js +1 -1
  146. package/src/pro/websocket/index.js +1 -1
  147. package/src/pro/websocket/livesync-server.js +1 -1
  148. package/src/pro/websocket/ws-broadcaster.js +1 -1
  149. package/src/services/export-service.js +1 -1
  150. package/src/services/import-service.js +1 -1
  151. package/src/services/kafkaConsumerService.js +1 -1
  152. package/src/services/kafkaService.js +1 -1
  153. package/src/services/messagehubService.js +1 -1
  154. package/src/services/rabbitmqService.js +1 -1
  155. package/src/utils/cache-invalidation-registry.js +1 -1
  156. package/src/utils/cache-manager.js +1 -1
  157. package/src/utils/component-engine.js +1 -1
  158. package/src/utils/config-extractor.js +1 -1
  159. package/src/utils/consumerLogger.js +1 -1
  160. package/src/utils/context-builder.js +1 -1
  161. package/src/utils/dashboard-helpers.js +1 -1
  162. package/src/utils/dateHelper.js +1 -1
  163. package/src/utils/datetime-formatter.js +1 -1
  164. package/src/utils/datetime-parser.js +1 -1
  165. package/src/utils/db-bootstrap.js +1 -1
  166. package/src/utils/db-mysql.js +1 -1
  167. package/src/utils/db-oracle.js +1 -1
  168. package/src/utils/db-sqlite.js +1 -1
  169. package/src/utils/db.js +1 -1
  170. package/src/utils/demo-generator.js +1 -1
  171. package/src/utils/excel-generator.js +1 -1
  172. package/src/utils/excel-parser.js +1 -1
  173. package/src/utils/file-watcher.js +1 -1
  174. package/src/utils/id-generator.js +1 -1
  175. package/src/utils/idempotency-manager.js +1 -1
  176. package/src/utils/import-validator.js +1 -1
  177. package/src/utils/license-client.js +1 -1
  178. package/src/utils/lock-manager.js +1 -1
  179. package/src/utils/logger.js +1 -1
  180. package/src/utils/lookup-resolver.js +1 -1
  181. package/src/utils/payload-loader.js +1 -1
  182. package/src/utils/processor-response.js +1 -1
  183. package/src/utils/rabbitmq.js +1 -1
  184. package/src/utils/redis-client.js +1 -1
  185. package/src/utils/redis-helper.js +1 -1
  186. package/src/utils/request-scope.js +1 -1
  187. package/src/utils/security-checks.js +1 -1
  188. package/src/utils/service-resolver.js +1 -1
  189. package/src/utils/shutdown-coordinator.js +1 -1
  190. package/src/utils/trusted-keys.js +1 -1
  191. package/src/utils/upload-handler.js +1 -1
  192. package/src/utils/upsert-builder.js +1 -1
  193. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x4dd259=a0_0x200d;function a0_0x586b(){const _0x3a2179=['mZe0mfHJqKTUEq','nZbsr1z3DKm','mtaXmJy2oefPzevKzW','nte3odCWmJbhqvD1seW','zxH0BMfTzq','nti2ndHhq3fItMi','B25dAgfUz2u','mJa5nePICKX0Da','CMvSyxrPDMu','BwvZC2fNzq','Aw5JBhvKzxm','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','D2f0y2HLCNm','x2rLyM91BMnL','mZa1mZK2te5IB3z0','lMPZ','C3rVCa','mZG3v1f3wMzI','zgvIB3vUy2vnCW','zxH0zw5ZAw9UCW','Bg9N','zgvIB3vUy2vuAw1LCG','D2f0y2G','icbBv0fuq0HDifDHCM5PBMC6ierPCMvJDg9YEsbUB3qGzM91BMqSihnRAxbWAw5NoIa','nty1mZG2nwj3DvPYAa','nZmWoda2zMzuDhvm','zgLYzwn0B3jPzxm','y3DK'];a0_0x586b=function(){return _0x3a2179;};return a0_0x586b();}(function(_0x210a73,_0x58e1c6){const _0x4da0e0=a0_0x200d,_0x26271a=_0x210a73();while(!![]){try{const _0x104cf6=-parseInt(_0x4da0e0(0x126))/0x1+-parseInt(_0x4da0e0(0x115))/0x2+parseInt(_0x4da0e0(0x11f))/0x3*(-parseInt(_0x4da0e0(0x118))/0x4)+-parseInt(_0x4da0e0(0x114))/0x5+-parseInt(_0x4da0e0(0x11a))/0x6*(parseInt(_0x4da0e0(0x119))/0x7)+parseInt(_0x4da0e0(0x11d))/0x8*(-parseInt(_0x4da0e0(0x129))/0x9)+parseInt(_0x4da0e0(0x11b))/0xa;if(_0x104cf6===_0x58e1c6)break;else _0x26271a['push'](_0x26271a['shift']());}catch(_0x591cd6){_0x26271a['push'](_0x26271a['shift']());}}}(a0_0x586b,0xd1945));const fs=require('fs'),path=require('path');function a0_0x200d(_0x54c69,_0x5e2303){_0x54c69=_0x54c69-0x10e;const _0x586b5b=a0_0x586b();let _0x200d1c=_0x586b5b[_0x54c69];if(a0_0x200d['sBKQMP']===undefined){var _0x2cf327=function(_0x34551d){const _0x326016='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b7f37='',_0x256179='';for(let _0x466df1=0x0,_0x5b909d,_0x414888,_0x14b342=0x0;_0x414888=_0x34551d['charAt'](_0x14b342++);~_0x414888&&(_0x5b909d=_0x466df1%0x4?_0x5b909d*0x40+_0x414888:_0x414888,_0x466df1++%0x4)?_0x5b7f37+=String['fromCharCode'](0xff&_0x5b909d>>(-0x2*_0x466df1&0x6)):0x0){_0x414888=_0x326016['indexOf'](_0x414888);}for(let _0x2d99a6=0x0,_0x271399=_0x5b7f37['length'];_0x2d99a6<_0x271399;_0x2d99a6++){_0x256179+='%'+('00'+_0x5b7f37['charCodeAt'](_0x2d99a6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x256179);};a0_0x200d['uIwsWl']=_0x2cf327,a0_0x200d['xLHcBz']={},a0_0x200d['sBKQMP']=!![];}const _0x1c1622=_0x586b5b[0x0],_0x2d9553=_0x54c69+_0x1c1622,_0x3648bb=a0_0x200d['xLHcBz'][_0x2d9553];return!_0x3648bb?(_0x200d1c=a0_0x200d['uIwsWl'](_0x200d1c),a0_0x200d['xLHcBz'][_0x2d9553]=_0x200d1c):_0x200d1c=_0x3648bb,_0x200d1c;}class FileWatcher{constructor(_0x4e207a={}){const _0x36a665=a0_0x200d,_0x349706={'YBHTA':_0x36a665(0x127),'MHraO':'.json'};this['directories']=_0x4e207a[_0x36a665(0x116)]||[],this[_0x36a665(0x10f)]=_0x4e207a[_0x36a665(0x10f)]||[_0x349706['YBHTA'],_0x349706['MHraO']],this[_0x36a665(0x10e)]=_0x4e207a[_0x36a665(0x10e)]||0x1f4,this[_0x36a665(0x11e)]=_0x4e207a[_0x36a665(0x11e)]||(()=>{}),this['watchers']=[],this[_0x36a665(0x111)]=null;}['start'](){const _0x3da64c=a0_0x200d,_0x1d2de5={'DBnFT':'error'};for(const _0x2159c8 of this['directories']){if(!fs['existsSync'](_0x2159c8)){console['log'](_0x3da64c(0x113)+(path[_0x3da64c(0x120)](process[_0x3da64c(0x117)](),_0x2159c8)||_0x2159c8));continue;}try{const _0x31f5b1=fs[_0x3da64c(0x112)](_0x2159c8,{'recursive':!![]},(_0x2f7584,_0x45f3b4)=>{const _0x532c9e=_0x3da64c;if(!_0x45f3b4)return;const _0x56f216=path[_0x532c9e(0x11c)](_0x45f3b4)['toLowerCase']();if(!this[_0x532c9e(0x10f)][_0x532c9e(0x122)](_0x56f216))return;this[_0x532c9e(0x125)](_0x45f3b4);});_0x31f5b1['on'](_0x1d2de5['DBnFT'],_0x5af41a=>{const _0x5b9954=_0x3da64c;console[_0x5b9954(0x110)]('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path['relative'](process[_0x5b9954(0x117)](),_0x2159c8)+':\x20'+_0x5af41a[_0x5b9954(0x121)]);}),this[_0x3da64c(0x124)]['push'](_0x31f5b1);const _0x592ae5=path[_0x3da64c(0x120)](process['cwd'](),_0x2159c8)||_0x2159c8;console[_0x3da64c(0x110)]('\x20\x20[WATCH]\x20Watching:\x20'+_0x592ae5+'/\x20(recursive)');}catch(_0x3c560e){console[_0x3da64c(0x110)](_0x3da64c(0x123)+path['relative'](process[_0x3da64c(0x117)](),_0x2159c8)+':\x20'+_0x3c560e[_0x3da64c(0x121)]);}}}[a0_0x4dd259(0x128)](){for(const _0x2cc2cd of this['watchers']){try{_0x2cc2cd['close']();}catch(_0x123992){}}this['watchers']=[],this['debounceTimer']&&(clearTimeout(this['debounceTimer']),this['debounceTimer']=null);}['_debounce'](_0x4f2d99){const _0x3078ec=a0_0x4dd259;this[_0x3078ec(0x111)]&&clearTimeout(this[_0x3078ec(0x111)]),this[_0x3078ec(0x111)]=setTimeout(()=>{this['debounceTimer']=null,this['onChange'](_0x4f2d99);},this[_0x3078ec(0x10e)]);}}module['exports']=FileWatcher;
1
+ 'use strict';const a0_0x283872=a0_0x3272;(function(_0x1db240,_0x512eb8){const _0x1b2e30=a0_0x3272,_0x46023d=_0x1db240();while(!![]){try{const _0x213f1c=parseInt(_0x1b2e30(0x194))/0x1*(-parseInt(_0x1b2e30(0x189))/0x2)+-parseInt(_0x1b2e30(0x188))/0x3*(-parseInt(_0x1b2e30(0x185))/0x4)+parseInt(_0x1b2e30(0x18e))/0x5*(parseInt(_0x1b2e30(0x190))/0x6)+parseInt(_0x1b2e30(0x17f))/0x7+parseInt(_0x1b2e30(0x183))/0x8*(parseInt(_0x1b2e30(0x197))/0x9)+parseInt(_0x1b2e30(0x186))/0xa+-parseInt(_0x1b2e30(0x199))/0xb;if(_0x213f1c===_0x512eb8)break;else _0x46023d['push'](_0x46023d['shift']());}catch(_0x11fce8){_0x46023d['push'](_0x46023d['shift']());}}}(a0_0x2c8a,0x9bc8d));const fs=require('fs'),path=require('path');function a0_0x2c8a(){const _0x321046=['mtuWnJeWmM16s2H3Ea','CMvSyxrPDMu','icbBv0fuq0HDifDHCM5PBMC6ierPCMvJDg9YEsbUB3qGzM91BMqSihnRAxbWAw5NoIa','zxHPC3rZu3LUyW','mJn5Eu5zzvK','icbBv0fuq0HDifDHDgnOAw5NoIa','lYaOCMvJDxjZAxzLkq','ovzQBvPdyG','B25dAgfUz2u','nda3ntKZntzMBgTmv1y','lMPZ','zgvIB3vUy2vuAw1LCG','zgvIB3vUy2vnCW','Dg9mB3DLCKnHC2u','D1nktKm','nty3mJC4nM9jBe96Cq','y3DK','C3rVCa','zgLYzwn0B3jPzxm','otmXndm0neHtEKDwwG','D2f0y2HLCNm','mtq1nNPuwLnytW','otCWmdCYmg5hwhnqDW','Aw5JBhvKzxm','mtaXmdrpDwDSsxe','otqXmtrrs2TKAhe','BwvZC2fNzq','B25KC2y','x2rLyM91BMnL','CLrmAxu','mJvLBg5WBLy','Bg9N'];a0_0x2c8a=function(){return _0x321046;};return a0_0x2c8a();}function a0_0x3272(_0xd04bc6,_0x177318){_0xd04bc6=_0xd04bc6-0x17b;const _0x2c8a1d=a0_0x2c8a();let _0x3272d3=_0x2c8a1d[_0xd04bc6];if(a0_0x3272['PCpmBW']===undefined){var _0x43eb2a=function(_0x23146c){const _0x5dc6ce='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3b59b4='',_0x197c22='';for(let _0x18eb5d=0x0,_0x2e905f,_0x173079,_0x5ebb3a=0x0;_0x173079=_0x23146c['charAt'](_0x5ebb3a++);~_0x173079&&(_0x2e905f=_0x18eb5d%0x4?_0x2e905f*0x40+_0x173079:_0x173079,_0x18eb5d++%0x4)?_0x3b59b4+=String['fromCharCode'](0xff&_0x2e905f>>(-0x2*_0x18eb5d&0x6)):0x0){_0x173079=_0x5dc6ce['indexOf'](_0x173079);}for(let _0x4db6c3=0x0,_0x107043=_0x3b59b4['length'];_0x4db6c3<_0x107043;_0x4db6c3++){_0x197c22+='%'+('00'+_0x3b59b4['charCodeAt'](_0x4db6c3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x197c22);};a0_0x3272['REqOvR']=_0x43eb2a,a0_0x3272['lDMNaG']={},a0_0x3272['PCpmBW']=!![];}const _0x4b0a68=_0x2c8a1d[0x0],_0x116c11=_0xd04bc6+_0x4b0a68,_0x13d24f=a0_0x3272['lDMNaG'][_0x116c11];return!_0x13d24f?(_0x3272d3=a0_0x3272['REqOvR'](_0x3272d3),a0_0x3272['lDMNaG'][_0x116c11]=_0x3272d3):_0x3272d3=_0x13d24f,_0x3272d3;}class FileWatcher{constructor(_0x455c44={}){const _0x253abe=a0_0x3272,_0x19160b={'EgxXK':_0x253abe(0x19a),'rTLiu':'.json'};this['directories']=_0x455c44[_0x253abe(0x182)]||[],this['extensions']=_0x455c44['extensions']||[_0x19160b['EgxXK'],_0x19160b[_0x253abe(0x18d)]],this['debounceMs']=_0x455c44[_0x253abe(0x17c)]||0x1f4,this[_0x253abe(0x198)]=_0x455c44['onChange']||(()=>{}),this['watchers']=[],this['debounceTimer']=null;}['start'](){const _0x49d229=a0_0x3272,_0x4b1183={'wSJNC':'error'};for(const _0x5f055d of this[_0x49d229(0x182)]){if(!fs[_0x49d229(0x193)](_0x5f055d)){console['log'](_0x49d229(0x192)+(path['relative'](process['cwd'](),_0x5f055d)||_0x5f055d));continue;}try{const _0x5acb86=fs['watch'](_0x5f055d,{'recursive':!![]},(_0x10e8fc,_0x7b90ba)=>{const _0x13b9c7=_0x49d229;if(!_0x7b90ba)return;const _0x3e4643=path['extname'](_0x7b90ba)[_0x13b9c7(0x17d)]();if(!this['extensions'][_0x13b9c7(0x187)](_0x3e4643))return;this[_0x13b9c7(0x18c)](_0x7b90ba);});_0x5acb86['on'](_0x4b1183[_0x49d229(0x17e)],_0x2221fe=>{const _0x21671f=_0x49d229;console[_0x21671f(0x18f)]('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x21671f(0x191)](process['cwd'](),_0x5f055d)+':\x20'+_0x2221fe[_0x21671f(0x18a)]);}),this['watchers']['push'](_0x5acb86);const _0x3527e8=path['relative'](process['cwd'](),_0x5f055d)||_0x5f055d;console[_0x49d229(0x18f)](_0x49d229(0x195)+_0x3527e8+_0x49d229(0x196));}catch(_0x517d8e){console[_0x49d229(0x18f)]('\x20\x20[WATCH]\x20Warning:\x20Failed\x20to\x20setup\x20watcher\x20for\x20'+path[_0x49d229(0x191)](process[_0x49d229(0x180)](),_0x5f055d)+':\x20'+_0x517d8e['message']);}}}[a0_0x283872(0x181)](){const _0x9061a7=a0_0x283872,_0x2141ea={'ondsf':function(_0x5266fc,_0x2bbea4){return _0x5266fc(_0x2bbea4);}};for(const _0x563fdc of this[_0x9061a7(0x184)]){try{_0x563fdc['close']();}catch(_0x4f06d2){}}this['watchers']=[],this[_0x9061a7(0x17b)]&&(_0x2141ea[_0x9061a7(0x18b)](clearTimeout,this['debounceTimer']),this[_0x9061a7(0x17b)]=null);}['_debounce'](_0x79b610){const _0x5cfb98=a0_0x283872,_0xfaac36={'itehj':function(_0x493084,_0x145cae){return _0x493084(_0x145cae);},'TLiRw':function(_0x58e634,_0x59b31d,_0x25033f){return _0x58e634(_0x59b31d,_0x25033f);}};this['debounceTimer']&&_0xfaac36['itehj'](clearTimeout,this[_0x5cfb98(0x17b)]),this[_0x5cfb98(0x17b)]=_0xfaac36['TLiRw'](setTimeout,()=>{const _0x2c3183=_0x5cfb98;this[_0x2c3183(0x17b)]=null,this[_0x2c3183(0x198)](_0x79b610);},this[_0x5cfb98(0x17c)]);}}module['exports']=FileWatcher;
@@ -1 +1 @@
1
- 'use strict';const a0_0x4dc06d=a0_0x4ac6;(function(_0x5a2943,_0x25cd36){const _0x4e48f8=a0_0x4ac6,_0x1ef6a5=_0x5a2943();while(!![]){try{const _0x3c26bb=-parseInt(_0x4e48f8(0xe4))/0x1*(-parseInt(_0x4e48f8(0x119))/0x2)+-parseInt(_0x4e48f8(0x103))/0x3+parseInt(_0x4e48f8(0xd2))/0x4*(-parseInt(_0x4e48f8(0xab))/0x5)+-parseInt(_0x4e48f8(0xf7))/0x6*(-parseInt(_0x4e48f8(0x188))/0x7)+-parseInt(_0x4e48f8(0x142))/0x8*(parseInt(_0x4e48f8(0xe2))/0x9)+parseInt(_0x4e48f8(0xfb))/0xa*(parseInt(_0x4e48f8(0x17c))/0xb)+-parseInt(_0x4e48f8(0xaf))/0xc*(-parseInt(_0x4e48f8(0xc3))/0xd);if(_0x3c26bb===_0x25cd36)break;else _0x1ef6a5['push'](_0x1ef6a5['shift']());}catch(_0x2af77f){_0x1ef6a5['push'](_0x1ef6a5['shift']());}}}(a0_0x1077,0xaef98));function a0_0x4ac6(_0x5b2ac9,_0x4f3362){_0x5b2ac9=_0x5b2ac9-0x9c;const _0x1077bc=a0_0x1077();let _0x4ac61c=_0x1077bc[_0x5b2ac9];if(a0_0x4ac6['NlrRlz']===undefined){var _0x277257=function(_0x1e3741){const _0x321eeb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fe9ef='',_0x2491ed='';for(let _0x1528de=0x0,_0x4aadaa,_0x5bda50,_0x18fa12=0x0;_0x5bda50=_0x1e3741['charAt'](_0x18fa12++);~_0x5bda50&&(_0x4aadaa=_0x1528de%0x4?_0x4aadaa*0x40+_0x5bda50:_0x5bda50,_0x1528de++%0x4)?_0x1fe9ef+=String['fromCharCode'](0xff&_0x4aadaa>>(-0x2*_0x1528de&0x6)):0x0){_0x5bda50=_0x321eeb['indexOf'](_0x5bda50);}for(let _0x5915b1=0x0,_0x1c2659=_0x1fe9ef['length'];_0x5915b1<_0x1c2659;_0x5915b1++){_0x2491ed+='%'+('00'+_0x1fe9ef['charCodeAt'](_0x5915b1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2491ed);};a0_0x4ac6['fBsxTh']=_0x277257,a0_0x4ac6['cwpoLH']={},a0_0x4ac6['NlrRlz']=!![];}const _0x23ea36=_0x1077bc[0x0],_0x503598=_0x5b2ac9+_0x23ea36,_0xf1cd6f=a0_0x4ac6['cwpoLH'][_0x503598];return!_0xf1cd6f?(_0x4ac61c=a0_0x4ac6['fBsxTh'](_0x4ac61c),a0_0x4ac6['cwpoLH'][_0x503598]=_0x4ac61c):_0x4ac61c=_0xf1cd6f,_0x4ac61c;}function a0_0x1077(){const _0x5e23ab=['sw52ywXPzcbMB3jTyxq6ia','x3zHBgLKyxrLtwf4uMv0CNK','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','x2j1AwXKsxnZDwvKs2v5','CMPIz3q','C2vX','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','AwrNzw5FCMvZzxq','nMvItw9vua','surhru5Fru5bqKXfra','x2LKzw1uveW','x3rLEhq','mta3mfLRz2HTCa','y3jLyxrLzef0','DwzRr1m','igrPz2L0CYaOz290oIa','x2fSBg93uMvZzxq','BNLuv2K','AgfZ','x2j1AwXKuMv1C2vlzxK','mZiYndyYnuH5CfvHva','Chr0Ba','DhrS','CMXxtuW','EMjfuey','C2rfDKW','zw5ZDxjLvw5PCxvL','zuzcz1u','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','ihbHCNrZkq','y291BNrLCKLUDa','Bwf0y2G','A2v5uhjLzML4','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','C3rYAw5NAwz5','z21IwLu','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','BLz6s2S','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','x2j1AwXKuMvZzxj2yxrPB25lzxK','C2vWyxjHDg9Y','x2zVCM1HDe51BwjLCG','otH1B0nYBg4','x2j1AwXKu2vXs2v5','surhru5Fsu5wquXjrf9qqvrurvjo','CMvZzxj2zu1HEfruta','y291BNrLCG','Dg9mB3DLCKnHC2u','CLfHrhO','Dgv4Da','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','surhru5Fsu5wquXjrf9ovu1crvi','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','Bwf4uMv0CNK','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','zxHWB3j0CW','yNvPBgrezxrLCM1PBMLZDgLJs2v5','zgvMyxvSDfnLCMLHBfbHDhrLCM4','vw5RBM93BIbMB3jTyxq6ia','tLHIs2y','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','ywn0AxzLoG','D2vrB00','zxHWAxjL','Dg9Rzw4','x2vUC3vYzuLUAxrPywXPEMvK','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','C3jLBq','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','CMjTqLi','yM9VBgvHBG','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','CNn2swr4s2v5','zgvMyxvSDenVzgvqyxr0zxjU','zK1Xuey','BNvTrgLNAxrZ','zgvS','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','zfzgseC','x2rLzMf1BhrtzxjPywXqyxr0zxjU','surhru5Fsu5wquXjrf9uveW','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','surhru5Fq09vtLrfuL9uveXFrefjtfK','nJiXmZq0ofPVzLbosq','qu1RCwO','DvPms0G','x2rLzMf1BhrdB2rLugf0DgvYBG','swrhzw5LCMf0B3jfCNjVCG','CMfUzg9Tsw50','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','AwrNzw5Fy29UC3vTzwq','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','z2v0','ExL5Ew1Tzgq','ENjHBMDL','surhru5Fsu5wquXjrf9esuDjvfm','EhPHBxu','icHNB3q6ia','qu1xtwm','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','B2f6vLG','Be9hzgq','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','Dhj1zq','DMfSDwu','x3zHBgLKyxrLvfrm','CvLTq0O','BMfTzq','D2fYBG','C2nHCMq','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','x2LUAxrPywXPEMvK','zxHLyW','wfHywc1ywfHylvHywfGTwfHywa','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','x2j1AwXKtwv0yuTLEq','zM9YBwf0s2v5','yNzMAuC','y2fUy2vSuMvZzxj2yxrPB24','se5JCvG','xLXKEW','CMfUzg9T','x3zHBgLKyxrLuMvZB3vYy2u','De5NCeS','yLnUuNa','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','CML4q2W','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','BNvTyMvY','uK91Eee','x2DLBMvYyxrLrNjVBvbHDhrLCM4','t09ivgm','re5KrfG','CNn2oG','yKXjt3G','BgvUz3rO','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','zMrhvhe','u01twxK','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','mta5mJe5Eu9bs1vb','zxzHBa','suvZuwW','D2v1EKC','z2vUzxjHDgvKqxq','x3bHzdi','CgvLAW','ywzfEg4','BxDJrLi','CgfKu3rHCNq','werOAKm','x2j1AwXKqwn0AxzLs2v5','ndG5mZGZm2PmDvjKDq','z2v0uMvZzxj2yxrPB24','y29Kzq','zgf0zvbYzwzPEa','BvnIuLa','DMTIyva','CvDkD2i','x2j1AwXKrM9YBwf0s2v5','AwrLBxbVDgvUy3LlzxK','De5KCgy','AxnjBNrLz2vY','AxnszxvZzwq','uhb1AhK','CgfYC2u','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','uwXOEMG','wKDKtMS','AwrNzw4','x2rLzMf1BhrnyxHszxrYEq','CMvWzwf0','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','x3vWzgf0zu1LDge','x3jLDhjPzxzLswrLBunHy2HL','C2v0','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','D2LUBMvYuMvZDwX0','CMvSzwfZzwrbDa','y3j5ChrV','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','C3rYAw5N','C2v0zxG','CMvZB3vYy2u','Dg9ju09tDhjPBMC','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','z2v0rgf0zq','x3n0B3jLswrLBunHy2HL','CMv1C2u','y2XVq3C','CMvSzwfZzu51BwjLCG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','lcbNB3qG','ihnLy29UzhmGkgDVDdOG','lwrPz2L0ignHCgfJAxr5icG','x2j1AwXKswrLBuTLEq','zgvMyxvSDfbPBKrPz2L0CW','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','x2LUAxrdB25MAwC','v2zoyMe','tvnWqLi','DMfSDwuGAxmGCMvXDwLYzwq','igf0DgvTChrZlIbjBMnYzwfZzsbWyxr0zxjUigXLBMD0AcbVCIbTyxHszxrYEs4','CMvZzxj2zv9JB25MAxjT','CML0B0u','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','qK1mq0C','surhru5Fsu5wquXjrf9gt1jnqvq','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','AgDLDgfSBa','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','y29UC3vTzq','x3n0B3jLswrLBunHy2HLtLG','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','mta0odGWnxvsCen4Bq','suqGr2vUzxjHDg9Yig51BwjLCJOG','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','mZmYnfb1txD6Aa','zM9YBwf0','yxLSwLG','u1LZCK0','surhru5FuKvtrvrFtK9ux0fmte9xruq','z2f5yLy','mdeYmZq1nJC4oq','AuXbvM4','AxnfBMfIBgvK','AhnLDa','icH0B2TLBJ0','x3jLC2vYDMvnyxHuveW','z2v0rNvSBfLLyxi','wNr1suC','z2v0q2XPzw50','ywXS','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','ChvZAa','ExL5Ew1T','qKrQqKq','nduWmtLlv0n4qwS','surhru5Fq09vtLrfuL9pvKvsrKXpvW','otK5os05otK5','x3zHBgLKyxrLuMvZzxj2zvruta','x2nVDw50zxjuveXnyxa','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','x3jLC2vYDMvezwzHDwX0vfrm','zw5HyMXLza','Aw5MBW','C3rVCMvK','DNnfr2O','Cvrwwe4','zgrJqxK','sgzLzfG','BwvZC2fNzq','ohrvu3bbrW','AxnZDwvK','surhru5FreLtqujmruq','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','C2fKza','x2rLzMf1BhrqAw5eAwDPDhm','BLrhBvm','CgLWzwXPBMu','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','zgv0ywLSCW','lI9YzwrPCY1JBgLLBNq','zgHIq1i','zMrzrfK','rxPHsuS','C3bSAxq','Bw9Kzq','oxvQDujbBW','x2TLEvbYzwzPEa','ntq0owjis2L2qG','CMXuDM8','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','x2DLDenVDw50zxjuveW','t0v5rM4','Eu1yv0m','x2vUywjSzwq','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','zw52','DgvZDa'];a0_0x1077=function(){return _0x5e23ab;};return a0_0x1077();}const crypto=require(a0_0x4dc06d(0x1a4)),redisClient=require(a0_0x4dc06d(0xdc)),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x4dc06d(0xc1),a0_0x4dc06d(0x14c)]),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_0x4dc06d(0xb5),CHARSET_UPPER=a0_0x4dc06d(0x196),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='0123456789ABCDEF',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_0x4dc06d(0x123),LUA_RELEASE_NUMBER=a0_0x4dc06d(0x17b),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='\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,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',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(_0xaab07a,_0xbe1250,_0x20414f=null){const _0x4a824b=a0_0x4dc06d;super(_0xbe1250||_0xaab07a),this[_0x4a824b(0x15a)]='IdGeneratorError',this[_0x4a824b(0x18a)]=_0xaab07a,this[_0x4a824b(0xdb)]=_0x20414f;}}class IdGenerator{constructor(){const _0xa5c0f9=a0_0x4dc06d;this[_0xa5c0f9(0x15e)]=![],this[_0xa5c0f9(0xea)]=null,this['_keyPrefix']=null,this['_idemTTL']=null,this[_0xa5c0f9(0xff)]=null,this['_defaultMaxRetry']=null,this['_defaultPinDigits']=null,this['_defaultSerialPattern']=null,this['_defaultCodePattern']=null,this[_0xa5c0f9(0xc7)]=null,this['_reserveDefaultTTL']=null,this['_reserveMaxTTL']=null;}[a0_0x4dc06d(0x1b7)](){const _0x15e3f3=a0_0x4dc06d,_0x1d83dd={'KwUAU':'rf:idgen:','KlePy':function(_0xff8535,_0x2e2b0e){return _0xff8535===_0x2e2b0e;},'fOGrR':function(_0x9595db,_0xb4b1c5,_0x86551a){return _0x9595db(_0xb4b1c5,_0x86551a);},'dhbCR':_0x15e3f3(0xc5),'yMXWC':function(_0x2c6d31,_0x4b421b,_0xbec4c6){return _0x2c6d31(_0x4b421b,_0xbec4c6);}};this[_0x15e3f3(0xe3)]=_0x1d83dd['KwUAU'],this['_enabled']=_0x1d83dd['KlePy'](process['env'][_0x15e3f3(0xf8)],_0x15e3f3(0x156)),this[_0x15e3f3(0xf9)]=_0x1d83dd['fOGrR'](parseInt,process['env']['IDGEN_IDEM_TTL'],0xa)||0x258,this['_allowReset']=process['env']['IDGEN_ALLOW_RESET']==='true',this[_0x15e3f3(0x19b)]=parseInt(process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa,this[_0x15e3f3(0xd7)]=parseInt(process['env']['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this[_0x15e3f3(0x13e)]=process[_0x15e3f3(0xed)]['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x15e3f3(0x160),this['_defaultCodePattern']=process['env'][_0x15e3f3(0xc8)]||_0x1d83dd[_0x15e3f3(0xdd)],this[_0x15e3f3(0xc7)]={'yyyymm':_0x1d83dd[_0x15e3f3(0xe9)](parseInt,process[_0x15e3f3(0xed)]['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x15e3f3(0xed)][_0x15e3f3(0x141)],0xa)||0x2a300},this['_reserveDefaultTTL']=parseInt(process[_0x15e3f3(0xed)]['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this[_0x15e3f3(0xba)]=parseInt(process['env']['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this[_0x15e3f3(0x15e)]=!![],logger[_0x15e3f3(0xcb)]({'event':'idgen_config_init','enabled':this[_0x15e3f3(0xea)],'idemTTL':this['_idemTTL'],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this[_0x15e3f3(0xd7)],'reserveDefaultTTL':this[_0x15e3f3(0xc9)],'reserveMaxTTL':this[_0x15e3f3(0xba)]},_0x15e3f3(0xad)+this[_0x15e3f3(0xea)]);}[a0_0x4dc06d(0x130)](){const _0x525747=a0_0x4dc06d;if(!this[_0x525747(0x15e)])this[_0x525747(0x1b7)]();}get['enabled'](){const _0x18e5fb=a0_0x4dc06d;return this[_0x18e5fb(0x130)](),this['_enabled'];}get['keyPrefix'](){const _0x179dda=a0_0x4dc06d;return this[_0x179dda(0x130)](),this[_0x179dda(0xe3)];}get['idemTTL'](){const _0x515e1c=a0_0x4dc06d;return this[_0x515e1c(0x130)](),this['_idemTTL'];}get['allowReset'](){return this['_ensureInitialized'](),this['_allowReset'];}get['defaultMaxRetry'](){const _0x3e35af=a0_0x4dc06d;return this[_0x3e35af(0x130)](),this[_0x3e35af(0x19b)];}get[a0_0x4dc06d(0x1b5)](){const _0x224dd3=a0_0x4dc06d;return this[_0x224dd3(0x130)](),this[_0x224dd3(0xd7)];}get[a0_0x4dc06d(0x128)](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get[a0_0x4dc06d(0x138)](){const _0x8c173f=a0_0x4dc06d;return this['_ensureInitialized'](),this[_0x8c173f(0x145)];}get['reserveDefaultTTL'](){const _0x2f8411=a0_0x4dc06d;return this[_0x2f8411(0x130)](),this[_0x2f8411(0xc9)];}get[a0_0x4dc06d(0x11c)](){const _0x4d2670=a0_0x4dc06d;return this['_ensureInitialized'](),this[_0x4d2670(0xba)];}[a0_0x4dc06d(0xb7)](){return this['enabled'];}[a0_0x4dc06d(0x169)](_0x211534){const _0x24f7d4=a0_0x4dc06d,_0x414740={'oazVX':function(_0x5f4189,_0xa52b8f){return _0x5f4189!==_0xa52b8f;},'qTVXN':'IDGEN_INVALID_RESOURCE'};if(_0x414740[_0x24f7d4(0x153)](typeof _0x211534,'string')||!RESOURCE_REGEX[_0x24f7d4(0xee)](_0x211534))throw new IdGeneratorError(_0x414740[_0x24f7d4(0xce)],_0x24f7d4(0x10b)+RESOURCE_REGEX+_0x24f7d4(0x150)+JSON[_0x24f7d4(0x111)](_0x211534)+')');}[a0_0x4dc06d(0x161)](_0x198bd3){const _0x369e9b=a0_0x4dc06d,_0x2e85a8={'gaybV':function(_0x2d66f1,_0x43a63a){return _0x2d66f1===_0x43a63a;},'weQoM':function(_0x2a0330,_0x5a8976){return _0x2a0330>_0x5a8976;},'tNdpf':function(_0x2b00ce,_0x17775c){return _0x2b00ce==_0x17775c;},'rjbgt':function(_0x2ad28c,_0x369d21){return _0x2ad28c!==_0x369d21;},'SbhUl':'IDGEN_INVALID_PREFIX','xJnnc':'IDGEN_INVALID_SEPARATOR','weuzG':function(_0xbaf406,_0xda475){return _0xbaf406!=_0xda475;},'wuTdL':function(_0xccf4ea,_0x4d1943){return _0xccf4ea!==_0x4d1943;},'mwcFR':_0x369e9b(0x135),'OOHTc':'IDGEN_INVALID_RESOURCE'},{resource:_0x1fd444,format:_0x1790da,prefix:_0x25e509,separator:_0x2f99e8,numDigits:_0x556480,reuseDelete:_0x327051}=_0x198bd3;this['_validateResource'](_0x1fd444);const _0xf1585f=_0x2e85a8[_0x369e9b(0xb4)](typeof _0x1790da,_0x369e9b(0x1a6))?_0x1790da['toLowerCase']():'';if(!ALLOWED_FORMATS[_0x369e9b(0x101)](_0xf1585f))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x369e9b(0x1aa)+[...ALLOWED_FORMATS]['join'](',\x20')+_0x369e9b(0x150)+_0x1790da+')');if(!Number['isInteger'](_0x556480)||_0x556480<MIN_NUM_DIGITS||_0x2e85a8[_0x369e9b(0x12d)](_0x556480,MAX_NUM_DIGITS))throw new IdGeneratorError(_0x369e9b(0xae),_0x369e9b(0x1b6)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x369e9b(0x150)+_0x556480+')');const _0x4bd61d=_0x2e85a8[_0x369e9b(0x191)](_0x25e509,null)?'':_0x25e509;if(_0x2e85a8[_0x369e9b(0xf3)](typeof _0x4bd61d,_0x369e9b(0x1a6))||!PREFIX_REGEX['test'](_0x4bd61d))throw new IdGeneratorError(_0x2e85a8['SbhUl'],_0x369e9b(0x131)+PREFIX_REGEX+_0x369e9b(0x150)+JSON[_0x369e9b(0x111)](_0x25e509)+')');const _0x57379c=_0x2f99e8==null?'':_0x2f99e8;if(typeof _0x57379c!=='string'||_0x57379c[_0x369e9b(0x177)]>0x3||SEPARATOR_FORBIDDEN[_0x369e9b(0xee)](_0x57379c))throw new IdGeneratorError(_0x2e85a8['xJnnc'],'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0x2f99e8)+')');if(_0x2e85a8[_0x369e9b(0x17f)](_0x327051,null)&&_0x2e85a8['wuTdL'](typeof _0x327051,_0x2e85a8[_0x369e9b(0x184)]))throw new IdGeneratorError(_0x2e85a8[_0x369e9b(0x173)],_0x369e9b(0x148)+typeof _0x327051+')');return{'resource':_0x1fd444,'format':_0xf1585f,'prefix':_0x4bd61d,'separator':_0x57379c,'numDigits':_0x556480,'reuseDelete':_0x327051===!![]};}['_validatePattern'](_0x16a119){const _0x2343c6=a0_0x4dc06d,_0x5da05c={'UpnCz':function(_0x215a51,_0x3c9ee4){return _0x215a51!==_0x3c9ee4;},'AMWMc':function(_0x5b69d0,_0x35eb77){return _0x5b69d0===_0x35eb77;},'SrGGi':_0x2343c6(0x11b)};if(_0x5da05c['UpnCz'](typeof _0x16a119,'string')||_0x5da05c[_0x2343c6(0x151)](_0x16a119[_0x2343c6(0x177)],0x0)||_0x16a119[_0x2343c6(0x177)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x5da05c['SrGGi'],_0x2343c6(0xf1)+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x16a119&&_0x16a119[_0x2343c6(0x177)])+')');let _0x5e3d1d=![];for(const _0xc5e097 of _0x16a119){if(PLACEHOLDER_MAP[_0xc5e097]){_0x5e3d1d=!![];break;}}if(!_0x5e3d1d)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x2343c6(0xe6));}[a0_0x4dc06d(0x158)](_0x3ca9b5){const _0x3915da=a0_0x4dc06d,_0x438ddb={'IEsQl':function(_0x4fc12b,_0x454069){return _0x4fc12b==_0x454069;}};if(_0x438ddb[_0x3915da(0x17e)](_0x3ca9b5,null))return undefined;if(!Number['isInteger'](_0x3ca9b5)||_0x3ca9b5<0x1||_0x3ca9b5>MAX_TTL)throw new IdGeneratorError(_0x3915da(0x13f),_0x3915da(0xa4)+MAX_TTL+_0x3915da(0x1b2)+_0x3ca9b5+')');return _0x3ca9b5;}['_validateMaxRetry'](_0x1a3b28){const _0xdf6b66=a0_0x4dc06d,_0x600adb={'uZLKH':function(_0x70d2bd,_0x5bac80){return _0x70d2bd==_0x5bac80;},'TbamP':function(_0x5058f8,_0x228ced){return _0x5058f8>_0x228ced;},'zLZbU':'IDGEN_INVALID_MAX_RETRY'};if(_0x600adb[_0xdf6b66(0x144)](_0x1a3b28,null))return this['defaultMaxRetry'];if(!Number['isInteger'](_0x1a3b28)||_0x1a3b28<0x1||_0x600adb['TbamP'](_0x1a3b28,MAX_RETRY_LIMIT))throw new IdGeneratorError(_0x600adb['zLZbU'],_0xdf6b66(0xa1)+MAX_RETRY_LIMIT+_0xdf6b66(0x150)+_0x1a3b28+')');return _0x1a3b28;}['_validateIdempotencyKey'](_0x122f5d){const _0x53d022=a0_0x4dc06d,_0x648193={'qYmCJ':function(_0x5cc8a8,_0x2dd4b8){return _0x5cc8a8!==_0x2dd4b8;},'pfHHC':'IDGEN_INVALID_RESOURCE'};if(_0x122f5d==null)return undefined;if(_0x648193[_0x53d022(0x159)](typeof _0x122f5d,'string')||_0x122f5d[_0x53d022(0x177)]===0x0||_0x122f5d['length']>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x648193['pfHHC'],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x122f5d;}[a0_0x4dc06d(0xc6)](_0x2fe3c8){const _0x525366=a0_0x4dc06d,_0x52517c={'ritoE':'IDGEN_INVALID_RESERVE_TTL'};if(_0x2fe3c8==null)return this['reserveDefaultTTL'];if(!Number[_0x525366(0x192)](_0x2fe3c8)||_0x2fe3c8<MIN_RESERVE_TTL||_0x2fe3c8>this['reserveMaxTTL'])throw new IdGeneratorError(_0x52517c[_0x525366(0xa0)],_0x525366(0x152)+MIN_RESERVE_TTL+'-'+this[_0x525366(0x11c)]+_0x525366(0x1b2)+_0x2fe3c8+')');return _0x2fe3c8;}[a0_0x4dc06d(0xec)](_0x18a32e){const _0x5724be=a0_0x4dc06d;if(typeof _0x18a32e!=='string'||!RESERVATION_TOKEN_REGEX['test'](_0x18a32e))throw new IdGeneratorError('IDGEN_INVALID_TOKEN',_0x5724be(0x16c)+JSON['stringify'](_0x18a32e)+')');return _0x18a32e;}['_pad2'](_0x3c4605){const _0x48023c=a0_0x4dc06d;return String(_0x3c4605)[_0x48023c(0x185)](0x2,'0');}['_buildFormatKey'](_0x2f0a5e,_0xd0bfab,_0x247e58=new Date()){const _0x487985=a0_0x4dc06d,_0x4ebbbe={'vsEGj':function(_0x4c50d0,_0x3a7f25){return _0x4c50d0||_0x3a7f25;},'qcKdS':'yyyymm'},_0x1356e6=_0x247e58[_0x487985(0xbb)](),_0x322475=this[_0x487985(0x181)](_0x247e58['getMonth']()+0x1),_0x10326c=this['_pad2'](_0x247e58[_0x487985(0x1ab)]()),_0x59e757=_0x4ebbbe[_0x487985(0xcd)](_0xd0bfab,'_');let _0x4d7bbe,_0x2e736c='';switch(_0x2f0a5e){case _0x487985(0x120):_0x4d7bbe=_0x59e757+'_text';break;case'yyyy':_0x2e736c=''+_0x1356e6,_0x4d7bbe=_0x59e757+'_yyyy_'+_0x2e736c;break;case _0x4ebbbe['qcKdS']:_0x2e736c=''+_0x1356e6+_0x322475,_0x4d7bbe=_0x59e757+'_yyyymm_'+_0x2e736c;break;case _0x487985(0x14c):_0x2e736c=''+_0x1356e6+_0x322475+_0x10326c,_0x4d7bbe=_0x59e757+'_yyyymmdd_'+_0x2e736c;break;default:throw new IdGeneratorError(_0x487985(0xa3),_0x487985(0x129)+_0x2f0a5e);}return{'formatKey':_0x4d7bbe,'datePrefix':_0x2e736c};}[a0_0x4dc06d(0x11a)](_0x20fc8a,_0x4ba78d){const _0xb32149=a0_0x4dc06d;return this[_0xb32149(0x10f)]+'seq:'+_0x20fc8a+':'+_0x4ba78d;}['_buildReuseKey'](_0x56ebac,_0x3aeac0){return this['keyPrefix']+'reuse:'+_0x56ebac+':'+_0x3aeac0;}['_buildMetaKey'](_0xdc29af,_0x2f1ce3){return this['keyPrefix']+'meta:'+_0xdc29af+':'+_0x2f1ce3;}[a0_0x4dc06d(0xf2)](_0x291e17){const _0x27b128=a0_0x4dc06d;return this[_0x27b128(0x10f)]+'issued:'+_0x291e17;}[a0_0x4dc06d(0x187)](_0x147beb,_0x1cd055){const _0x2c3d70=a0_0x4dc06d;return this['keyPrefix']+_0x2c3d70(0x12c)+_0x147beb+':'+_0x1cd055;}['_buildReservationKey'](_0xc3a361){const _0x290000=a0_0x4dc06d;return this['keyPrefix']+_0x290000(0x175)+_0xc3a361;}['_buildReservationIndexKey'](_0x544f11,_0x12827f){return this['keyPrefix']+'rsv_idx:'+_0x544f11+':'+_0x12827f;}['_buildReservationKeyPrefix'](){const _0x3f00ff=a0_0x4dc06d;return this[_0x3f00ff(0x10f)]+'rsv:';}['_buildIdemKey'](_0x116f6e,_0x30085e,_0x9f00f,_0x396a8e){const _0x566197=a0_0x4dc06d,_0x17602c={'SMSYy':'idgen'};if(_0x9f00f)return idempotencyManager[_0x566197(0x127)](_0x17602c[_0x566197(0x17a)],_0x116f6e,_0x30085e+':'+_0x9f00f+':'+_0x396a8e);return idempotencyManager['buildDeterministicKey']('idgen',_0x116f6e,_0x30085e+':'+_0x396a8e);}['_getCounterTTL'](_0x113739){return this['_counterTTLMap'][_0x113739]||0x0;}['_formatNumber']({format:_0x180364,prefix:_0x5ed08b,datePrefix:_0x2ac13b,separator:_0x2aa56f,numDigits:_0x4ec086,counterInt:_0x4af997}){const _0x4d214e=a0_0x4dc06d,_0x426fdd={'rQaDz':function(_0x4995cc,_0x35906d){return _0x4995cc-_0x35906d;},'tNgpK':_0x4d214e(0xc4)},_0x432c22=_0x426fdd[_0x4d214e(0x11f)](Math['pow'](0xa,_0x4ec086),0x1);if(_0x4af997>_0x432c22)throw new IdGeneratorError(_0x426fdd[_0x4d214e(0x16a)],'Counter\x20overflow:\x20'+_0x4af997+'\x20exceeds\x20'+_0x4ec086+_0x4d214e(0x1b3)+_0x432c22+').\x20Increase\x20numDigits.',{'counterInt':_0x4af997,'numDigits':_0x4ec086,'max':_0x432c22});const _0x2fbc7a=String(_0x4af997)[_0x4d214e(0x185)](_0x4ec086,'0');if(_0x180364===_0x4d214e(0x120))return _0x5ed08b?''+_0x5ed08b+_0x2aa56f+_0x2fbc7a:_0x2fbc7a;return _0x5ed08b?''+_0x5ed08b+_0x2aa56f+_0x2ac13b+_0x2aa56f+_0x2fbc7a:''+_0x2ac13b+_0x2aa56f+_0x2fbc7a;}['_parseNumber']({format:_0x28ae53,prefix:_0x58dc88,separator:_0x334f39,numDigits:_0x46252b,number:_0x5f5bde}){const _0x1487db=a0_0x4dc06d,_0x5b3676={'xzamu':function(_0x1e4f19,_0x38c816){return _0x1e4f19===_0x38c816;},'TLlNi':function(_0x5b74d6,_0x4978d2){return _0x5b74d6!==_0x4978d2;},'vuWZj':function(_0x4c90b8,_0x311d92){return _0x4c90b8!==_0x311d92;},'bLIOx':'IDGEN_INVALID_NUMBER','TzAtA':function(_0x26171d,_0x59b5d1){return _0x26171d!==_0x59b5d1;},'WfNba':function(_0x358f38,_0x25de5c){return _0x358f38===_0x25de5c;},'JYhob':'yyyy','PsDHS':function(_0x3a9ee3,_0x26c40c,_0x2188bb){return _0x3a9ee3(_0x26c40c,_0x2188bb);},'uRXUK':_0x1487db(0x120)};if(typeof _0x5f5bde!==_0x1487db(0x1a6)||_0x5b3676['xzamu'](_0x5f5bde['length'],0x0))throw new IdGeneratorError(_0x1487db(0x122),'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0xe42409=_0x334f39||'',_0x3ca1f1=_0x5b3676[_0x1487db(0x14f)](_0xe42409,'')?[_0x5f5bde]:_0x5f5bde[_0x1487db(0xe0)](_0xe42409);let _0x2bcdea='',_0x216f3c;if(_0x28ae53==='text'){if(_0x58dc88){if(_0x5b3676['TLlNi'](_0x3ca1f1['length'],0x2)||_0x5b3676['vuWZj'](_0x3ca1f1[0x0],_0x58dc88))throw new IdGeneratorError(_0x5b3676[_0x1487db(0x176)],'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0xe42409+'padded\x20(got:\x20'+_0x5f5bde+')');_0x216f3c=_0x3ca1f1[0x1];}else{if(_0x5b3676['TzAtA'](_0x3ca1f1['length'],0x1))throw new IdGeneratorError(_0x5b3676[_0x1487db(0x176)],_0x1487db(0x1b0)+_0x5f5bde+')');_0x216f3c=_0x3ca1f1[0x0];}}else{const _0x54147f=_0x58dc88?0x3:0x2;if(_0x3ca1f1[_0x1487db(0x177)]!==_0x54147f)throw new IdGeneratorError(_0x5b3676['bLIOx'],'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x5f5bde+',\x20expected\x20'+_0x54147f+_0x1487db(0x10c));let _0x280fce=0x0;if(_0x58dc88){if(_0x3ca1f1[_0x280fce]!==_0x58dc88)throw new IdGeneratorError(_0x1487db(0x122),'Number\x20prefix\x20mismatch:\x20expected\x20'+_0x58dc88+_0x1487db(0x1b1)+_0x3ca1f1[_0x280fce]);_0x280fce++;}_0x2bcdea=_0x3ca1f1[_0x280fce++];const _0x889129=_0x5b3676[_0x1487db(0x1b8)](_0x28ae53,_0x5b3676['JYhob'])?/^\d{4}$/:_0x28ae53===_0x1487db(0xc1)?/^\d{6}$/:/^\d{8}$/;if(!_0x889129[_0x1487db(0xee)](_0x2bcdea))throw new IdGeneratorError(_0x1487db(0x122),'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x28ae53+':\x20'+_0x2bcdea);_0x216f3c=_0x3ca1f1[_0x280fce];}if(!new RegExp(_0x1487db(0x167)+_0x46252b+'}$')['test'](_0x216f3c))throw new IdGeneratorError(_0x1487db(0x122),_0x1487db(0x197)+_0x46252b+_0x1487db(0xfe)+_0x216f3c+')');const _0x427294=_0x5b3676['PsDHS'](parseInt,_0x216f3c,0xa),_0x2a07b2=_0x58dc88||'_';let _0x590b65;return _0x28ae53===_0x5b3676['uRXUK']?_0x590b65=_0x2a07b2+_0x1487db(0xfa):_0x590b65=_0x2a07b2+'_'+_0x28ae53+'_'+_0x2bcdea,{'formatKey':_0x590b65,'counterInt':_0x427294,'datePrefix':_0x2bcdea};}['_generateFromPattern'](_0x51e69c){const _0x7acbfb=a0_0x4dc06d;let _0x233c68='';for(const _0xcaba32 of _0x51e69c){const _0x5a31b2=PLACEHOLDER_MAP[_0xcaba32];if(_0x5a31b2){const _0x3cb29f=crypto[_0x7acbfb(0x147)](0x0,_0x5a31b2['length']);_0x233c68+=_0x5a31b2[_0x3cb29f];}else _0x233c68+=_0xcaba32;}return _0x233c68;}async[a0_0x4dc06d(0x19f)](_0x1a216c){const _0x42dc94=a0_0x4dc06d,_0x18126e={'eHzln':'idgen_idem_hit','nVzKk':'Idempotency\x20retrieve\x20error'};if(!_0x1a216c)return null;try{const _0x513797=redisClient['getClient'](),_0x1ffa9a=await _0x513797['get'](_0x1a216c);if(_0x1ffa9a)return logger[_0x42dc94(0xcb)]({'event':_0x18126e['eHzln'],'key':_0x1a216c},'Idempotency\x20cache\x20HIT'),JSON[_0x42dc94(0x195)](_0x1ffa9a);return null;}catch(_0x123972){return logger['warn']({'event':'idgen_idem_retrieve_error','error':_0x123972['message']},_0x18126e[_0x42dc94(0x114)]),null;}}async[a0_0x4dc06d(0x1ac)](_0x41f637,_0x133a70){const _0xaef46c=a0_0x4dc06d;if(!_0x41f637)return;try{const _0x5b262e=redisClient['getClient']();await _0x5b262e[_0xaef46c(0x1a7)](_0x41f637,this['idemTTL'],JSON['stringify'](_0x133a70));}catch(_0x1fb36b){logger['warn']({'event':_0xaef46c(0x121),'error':_0x1fb36b['message']},_0xaef46c(0x19d));}}async[a0_0x4dc06d(0xa8)](_0x36a6a5,_0x44b639){const _0x16141e=a0_0x4dc06d,_0x39e3d8={'qLEad':function(_0x46afa5,_0x274781){return _0x46afa5===_0x274781;},'EpOsQ':_0x16141e(0x110),'JpvWD':'Idempotency\x20SET\x20NX\x20error'};if(!_0x36a6a5)return{'stored':!![],'winnerResult':null};try{const _0x5d0e26=redisClient[_0x16141e(0xbd)](),_0x398034=JSON[_0x16141e(0x111)](_0x44b639),_0x35c107=await _0x5d0e26[_0x16141e(0x1a0)](_0x36a6a5,_0x398034,'EX',this['idemTTL'],'NX');if(_0x39e3d8['qLEad'](_0x35c107,'OK'))return{'stored':!![],'winnerResult':null};const _0x5cbc76=await _0x5d0e26[_0x16141e(0x14b)](_0x36a6a5);if(_0x5cbc76)return{'stored':![],'winnerResult':JSON['parse'](_0x5cbc76)};return logger['warn']({'event':'idgen_idem_nx_race_lost_but_empty','key':_0x36a6a5},_0x39e3d8['EpOsQ']),{'stored':!![],'winnerResult':null};}catch(_0xd822dc){return logger[_0x16141e(0x15b)]({'event':_0x16141e(0xda),'error':_0xd822dc[_0x16141e(0xd1)]},_0x39e3d8['JpvWD']),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x500ec0,_0x37b7b0,_0x16cb70){const _0x1ca067=a0_0x4dc06d,_0x7f3eab={'szyIj':'idgen_random_undo_error','yukfo':'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)'};try{const _0x16c94b=redisClient[_0x1ca067(0xbd)]();if(_0x16cb70){const _0x18fe1e=this['_buildActiveKey'](_0x500ec0,_0x37b7b0);await _0x16c94b['del'](_0x18fe1e);}else{const _0x5d26f9=this[_0x1ca067(0xf2)](_0x500ec0);await _0x16c94b[_0x1ca067(0x132)](_0x5d26f9,_0x37b7b0);}}catch(_0x2b2c90){logger['warn']({'event':_0x7f3eab['szyIj'],'error':_0x2b2c90['message']},_0x7f3eab['yukfo']);}}async[a0_0x4dc06d(0x19e)](_0x1d9bdb,_0x149153,_0x44a909,_0x2911fb=0x0){const _0x10b1e1=a0_0x4dc06d,_0x2f9645={'rlTvo':function(_0xede001,_0x3c185e){return _0xede001>_0x3c185e;},'MYOya':'idgen_meta_update_error','ITWPJ':'Meta\x20update\x20error'};try{const _0x5dcc96=redisClient[_0x10b1e1(0xbd)](),_0x1031a1=this[_0x10b1e1(0x162)](_0x1d9bdb,_0x149153),_0x2bf2ef=[];for(const [_0x142e05,_0x165b73]of Object['entries'](_0x44a909)){_0x2bf2ef[_0x10b1e1(0xc0)](_0x142e05,String(_0x165b73));}if(_0x2bf2ef['length']>0x0){await _0x5dcc96[_0x10b1e1(0xb8)](_0x1031a1,..._0x2bf2ef);if(_0x2f9645[_0x10b1e1(0xe5)](_0x2911fb,0x0))await _0x5dcc96[_0x10b1e1(0x12e)](_0x1031a1,_0x2911fb);}}catch(_0x19d221){logger['warn']({'event':_0x2f9645['MYOya'],'error':_0x19d221[_0x10b1e1(0xd1)]},_0x2f9645['ITWPJ']);}}async['number'](_0x2eba5d){const _0x1bfce2=a0_0x4dc06d,_0x50391a={'sOUMu':_0x1bfce2(0xd4),'XQnAG':function(_0x3767bd,_0x15187a){return _0x3767bd(_0x15187a);},'XDhjC':function(_0x434720,_0x4ce543){return _0x434720(_0x4ce543);},'HfedX':function(_0x445eeb,_0x59267b){return _0x445eeb(_0x59267b);},'bvfiG':_0x1bfce2(0xa6),'OZDWZ':_0x1bfce2(0xbf)};if(!this['enabled'])throw new IdGeneratorError(_0x50391a['sOUMu'],_0x1bfce2(0xeb));const _0x56a9ea=this[_0x1bfce2(0x161)](_0x2eba5d),_0x43c3ae=this['_validateIdempotencyKey'](_0x2eba5d['idempotencyKey']),{resource:_0x16460c,format:_0x40a8cf,prefix:_0x2d0927,separator:_0x412a9d,numDigits:_0x1a7f3e,reuseDelete:_0x262634}=_0x56a9ea,{formatKey:_0x16ae54,datePrefix:_0x184dcd}=this['_buildFormatKey'](_0x40a8cf,_0x2d0927),_0x4ae8ce=this[_0x1bfce2(0x11a)](_0x16460c,_0x16ae54),_0x7c571d=this['_buildReuseKey'](_0x16460c,_0x16ae54),_0x5a0fad=this['_getCounterTTL'](_0x40a8cf);let _0x47d9d9=null;if(_0x43c3ae){_0x47d9d9=this['_buildIdemKey'](_0x1bfce2(0x170),_0x16460c,_0x16ae54,_0x43c3ae);const _0x4f56cc=await this[_0x1bfce2(0x19f)](_0x47d9d9);if(_0x4f56cc)return _0x4f56cc;}const _0x408400=redisClient[_0x1bfce2(0xbd)](),_0x47ce65=await _0x408400['eval'](LUA_GENERATE_NUMBER,0x2,_0x4ae8ce,_0x7c571d,_0x262634?'1':'0',_0x50391a['XQnAG'](String,_0x5a0fad)),_0x378722=_0x47ce65[0x0],_0x322dc2=_0x47ce65[0x1]===0x1,_0x1484d6=this['_formatNumber']({'format':_0x40a8cf,'prefix':_0x2d0927,'datePrefix':_0x184dcd,'separator':_0x412a9d,'numDigits':_0x1a7f3e,'counterInt':_0x378722}),_0x43eb3b={'value':_0x1484d6,'counter':_0x378722,'resource':_0x16460c,'formatKey':_0x16ae54,'isReused':_0x322dc2,'generatedAt':new Date()[_0x1bfce2(0x1a9)]()},_0x5db52e=await this[_0x1bfce2(0xa8)](_0x47d9d9,_0x43eb3b);if(!_0x5db52e['stored']){try{await _0x408400[_0x1bfce2(0x17d)](LUA_RELEASE_NUMBER,0x1,_0x7c571d,_0x50391a[_0x1bfce2(0x186)](String,_0x378722),_0x50391a[_0x1bfce2(0xd0)](String,_0x5a0fad));}catch(_0x3a42a9){logger[_0x1bfce2(0x15b)]({'event':'idgen_idem_loser_release_error','error':_0x3a42a9['message'],'resource':_0x16460c,'formatKey':_0x16ae54,'counterInt':_0x378722},_0x50391a[_0x1bfce2(0x164)]);}return logger['info']({'event':_0x50391a['OZDWZ'],'resource':_0x16460c,'formatKey':_0x16ae54,'counter':_0x378722},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x5db52e['winnerResult'];}return this[_0x1bfce2(0x19e)](_0x16460c,_0x16ae54,{'lastValue':_0x1484d6,'lastCounter':_0x378722,'lastIsReused':_0x322dc2,'lastGeneratedAt':_0x43eb3b[_0x1bfce2(0x180)]},_0x5a0fad),logger['info']({'event':_0x1bfce2(0x16f),'resource':_0x16460c,'formatKey':_0x16ae54,'counter':_0x378722,'isReused':_0x322dc2},_0x1bfce2(0xac)+_0x1484d6),_0x43eb3b;}async[a0_0x4dc06d(0x1af)](_0x18fa55){const _0xcfb9c=a0_0x4dc06d,_0xe06fea={'CqYAy':_0xcfb9c(0xd4),'AMkqj':_0xcfb9c(0x178),'OFJJj':function(_0xec7d44,_0x44f580){return _0xec7d44!==_0x44f580;},'afExn':function(_0x3a874a,_0x54a451){return _0x3a874a!==_0x54a451;},'hOgaJ':_0xcfb9c(0x1a6),'bulas':_0xcfb9c(0x122),'iLAVn':'release','cloCw':function(_0x146a92,_0x235b3c){return _0x146a92(_0x235b3c);},'GHpfF':function(_0x3d269a,_0x3ff62f){return _0x3d269a(_0x3ff62f);},'vkbaP':_0xcfb9c(0x14a)};if(!this['enabled'])throw new IdGeneratorError(_0xe06fea['CqYAy'],_0xe06fea[_0xcfb9c(0x143)]);let _0x1ecc0,_0xa3fc15,_0x51f066,_0x11d2ae;const _0x3ad83d=this['_validateIdempotencyKey'](_0x18fa55[_0xcfb9c(0x190)]);if(_0xe06fea['OFJJj'](_0x18fa55['counterInt'],undefined)&&_0xe06fea[_0xcfb9c(0x183)](_0x18fa55[_0xcfb9c(0x10d)],null)){this['_validateResource'](_0x18fa55['resource']),_0x1ecc0=_0x18fa55[_0xcfb9c(0x1a8)];if(typeof _0x18fa55['formatKey']!==_0xe06fea['hOgaJ']||_0x18fa55[_0xcfb9c(0x163)][_0xcfb9c(0x177)]===0x0)throw new IdGeneratorError(_0xe06fea['bulas'],_0xcfb9c(0x13c));_0xa3fc15=_0x18fa55[_0xcfb9c(0x163)];if(!Number[_0xcfb9c(0x192)](_0x18fa55[_0xcfb9c(0x10d)])||_0x18fa55['counterInt']<0x1)throw new IdGeneratorError(_0xe06fea['bulas'],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x18fa55['counterInt']+')');_0x51f066=_0x18fa55['counterInt'];const _0xfc5665=_0xa3fc15['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x11d2ae=_0xfc5665?_0xfc5665[0x1]:_0xcfb9c(0x120);}else{const _0x3dc464=this['_validateNumberParams'](_0x18fa55),_0x26acb1=this['_parseNumber']({'format':_0x3dc464['format'],'prefix':_0x3dc464['prefix'],'separator':_0x3dc464[_0xcfb9c(0x117)],'numDigits':_0x3dc464[_0xcfb9c(0x13a)],'number':_0x18fa55['number']});_0x1ecc0=_0x3dc464[_0xcfb9c(0x1a8)],_0xa3fc15=_0x26acb1[_0xcfb9c(0x163)],_0x51f066=_0x26acb1['counterInt'],_0x11d2ae=_0x3dc464[_0xcfb9c(0xb0)];}const _0x4b11e9=this['_buildReuseKey'](_0x1ecc0,_0xa3fc15),_0x2da0bb=this[_0xcfb9c(0xe7)](_0x11d2ae);let _0x823108=null;if(_0x3ad83d){_0x823108=this['_buildIdemKey'](_0xe06fea[_0xcfb9c(0xb6)],_0x1ecc0,_0xa3fc15,_0x3ad83d);const _0x1d4566=await this[_0xcfb9c(0x19f)](_0x823108);if(_0x1d4566)return _0x1d4566;}const _0x147145=redisClient['getClient']();await _0x147145[_0xcfb9c(0x17d)](LUA_RELEASE_NUMBER,0x1,_0x4b11e9,_0xe06fea[_0xcfb9c(0x1ae)](String,_0x51f066),_0xe06fea['GHpfF'](String,_0x2da0bb));const _0x41f9d8={'released':!![],'resource':_0x1ecc0,'formatKey':_0xa3fc15,'counter':_0x51f066,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x823108,_0x41f9d8),this[_0xcfb9c(0x19e)](_0x1ecc0,_0xa3fc15,{'lastReleasedCounter':_0x51f066,'lastReleasedAt':_0x41f9d8[_0xcfb9c(0x1a3)]},_0x2da0bb),logger['info']({'event':_0xe06fea[_0xcfb9c(0x18d)],'resource':_0x1ecc0,'formatKey':_0xa3fc15,'counter':_0x51f066},_0xcfb9c(0x125)+_0x51f066),_0x41f9d8;}async['reserveNumber'](_0x443564){const _0xdaaa7d=a0_0x4dc06d,_0x22225e={'ahDPT':'reserve','rbmBR':function(_0x1cc8ce,_0x234f1e){return _0x1cc8ce*_0x234f1e;},'Qlhzh':function(_0x3e76e4,_0x3d20a7){return _0x3e76e4*_0x3d20a7;},'BDjBD':_0xdaaa7d(0x1a8),'DtXwd':'prefix','fMqPF':_0xdaaa7d(0x117),'DNdDX':'numDigits','nyTWi':function(_0x58bb80,_0x158427){return _0x58bb80(_0x158427);},'mSbRP':function(_0x30058c,_0x144548){return _0x30058c||_0x144548;},'fdYDY':_0xdaaa7d(0xfc),'ROuxA':'idemKey','ddcAy':function(_0x2e17f7,_0x887085){return _0x2e17f7===_0x887085;},'jYXFm':function(_0x43e070,_0x5b3df3){return _0x43e070(_0x5b3df3);},'OjWqI':'idgen_reserve_overflow_compensation_error','fdGTq':'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow','dVFHG':'value','FGfWo':'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash','XRGsz':'idgen_reserve_idem_loser_cancel_error','HNcqX':_0xdaaa7d(0x136),'WQZHC':'idgen_reserve_idem_loser'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0xdaaa7d(0xeb));const _0x23dbfa=this[_0xdaaa7d(0x161)](_0x443564),_0x1a8a70=this[_0xdaaa7d(0xc6)](_0x443564[_0xdaaa7d(0x105)]),_0x4570ea=this['_validateIdempotencyKey'](_0x443564[_0xdaaa7d(0x190)]),{resource:_0x47a96f,format:_0x50dac4,prefix:_0x2e5e18,separator:_0x513901,numDigits:_0x16b232,reuseDelete:_0x408fc1}=_0x23dbfa,{formatKey:_0x40fda7,datePrefix:_0x6f0cc6}=this['_buildFormatKey'](_0x50dac4,_0x2e5e18),_0x163bb1=this['_buildSeqKey'](_0x47a96f,_0x40fda7),_0x1b8cb5=this['_buildReuseKey'](_0x47a96f,_0x40fda7),_0x1b57ce=this[_0xdaaa7d(0x115)](_0x47a96f,_0x40fda7),_0x1f3ba6=this['_getCounterTTL'](_0x50dac4);let _0x2640d8=null;if(_0x4570ea){_0x2640d8=this['_buildIdemKey'](_0x22225e['ahDPT'],_0x47a96f,_0x40fda7,_0x4570ea);const _0xe33071=await this[_0xdaaa7d(0x19f)](_0x2640d8);if(_0xe33071)return _0xe33071;}const _0x2eac62=crypto['randomUUID'](),_0x5006ff=this[_0xdaaa7d(0x116)](_0x2eac62),_0xa7c259=this['_buildReservationKeyPrefix'](),_0x16174f=Date['now'](),_0x5d0e18=_0x16174f+_0x22225e[_0xdaaa7d(0x134)](_0x1a8a70,0x3e8),_0x2ec7b8=_0x22225e[_0xdaaa7d(0x198)](_0x1a8a70,0x3e8),_0x215cb8=new Date(_0x16174f)[_0xdaaa7d(0x1a9)](),_0x21d12c=new Date(_0x5d0e18)['toISOString'](),_0x352e68=[_0x22225e[_0xdaaa7d(0xc2)],_0x47a96f,'formatKey',_0x40fda7,_0xdaaa7d(0xb0),_0x50dac4,_0x22225e['DtXwd'],_0x2e5e18,_0x22225e[_0xdaaa7d(0x139)],_0x513901,_0x22225e[_0xdaaa7d(0x174)],_0x22225e[_0xdaaa7d(0x100)](String,_0x16b232),_0xdaaa7d(0x18b),_0x22225e[_0xdaaa7d(0x18c)](_0x6f0cc6,''),_0x22225e[_0xdaaa7d(0xde)],_0x215cb8,'expiresAt',_0x21d12c,'ttlMs',String(_0x2ec7b8)];_0x4570ea&&_0x352e68[_0xdaaa7d(0xc0)](_0x22225e[_0xdaaa7d(0x171)],_0x4570ea);const _0x4c19f8=redisClient[_0xdaaa7d(0xbd)](),_0x491575=await _0x4c19f8[_0xdaaa7d(0x17d)](LUA_RESERVE_NUMBER,0x3,_0x163bb1,_0x1b8cb5,_0x1b57ce,_0x408fc1?'1':'0',_0x22225e[_0xdaaa7d(0x100)](String,_0x1f3ba6),_0x2eac62,_0x5006ff,String(_0x2ec7b8),_0x22225e[_0xdaaa7d(0x100)](String,_0x5d0e18),_0x22225e['nyTWi'](String,_0x16174f),_0xa7c259,..._0x352e68),_0x5a1817=_0x491575[0x0],_0x55ca7d=_0x22225e[_0xdaaa7d(0xcf)](_0x491575[0x1],0x1),_0x208c1d=_0x491575[0x2]||0x0;let _0x13f3d0;try{_0x13f3d0=this[_0xdaaa7d(0x118)]({'format':_0x50dac4,'prefix':_0x2e5e18,'datePrefix':_0x6f0cc6,'separator':_0x513901,'numDigits':_0x16b232,'counterInt':_0x5a1817});}catch(_0x5c26ba){try{await _0x4c19f8['eval'](LUA_CANCEL_RESERVATION,0x3,_0x5006ff,_0x1b57ce,_0x1b8cb5,_0x2eac62,_0x22225e['jYXFm'](String,_0x1f3ba6));}catch(_0x13e678){logger['warn']({'event':_0x22225e['OjWqI'],'error':_0x13e678['message'],'resource':_0x47a96f,'formatKey':_0x40fda7,'counterInt':_0x5a1817,'token':_0x2eac62},_0x22225e[_0xdaaa7d(0x179)]);}throw _0x5c26ba;}try{await _0x4c19f8['hset'](_0x5006ff,_0x22225e[_0xdaaa7d(0x13d)],_0x13f3d0);}catch(_0x51e4c1){logger['warn']({'event':'idgen_reserve_value_persist_error','error':_0x51e4c1[_0xdaaa7d(0xd1)],'resource':_0x47a96f,'formatKey':_0x40fda7,'counterInt':_0x5a1817,'token':_0x2eac62},_0x22225e['FGfWo']);}const _0x59a9ed={'token':_0x2eac62,'value':_0x13f3d0,'counter':_0x5a1817,'resource':_0x47a96f,'formatKey':_0x40fda7,'isReused':_0x55ca7d,'createdAt':_0x215cb8,'expiresAt':_0x21d12c,'reapedCount':_0x208c1d},_0x48bb64=await this[_0xdaaa7d(0xa8)](_0x2640d8,_0x59a9ed);if(!_0x48bb64['stored']){try{await _0x4c19f8[_0xdaaa7d(0x17d)](LUA_CANCEL_RESERVATION,0x3,_0x5006ff,_0x1b57ce,_0x1b8cb5,_0x2eac62,String(_0x1f3ba6));}catch(_0x3d3d17){logger['warn']({'event':_0x22225e['XRGsz'],'error':_0x3d3d17[_0xdaaa7d(0xd1)],'resource':_0x47a96f,'formatKey':_0x40fda7,'counterInt':_0x5a1817,'token':_0x2eac62},_0x22225e[_0xdaaa7d(0x166)]);}return logger['info']({'event':_0x22225e['WQZHC'],'resource':_0x47a96f,'formatKey':_0x40fda7,'counter':_0x5a1817,'token':_0x2eac62},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x48bb64['winnerResult'];}return this[_0xdaaa7d(0x19e)](_0x47a96f,_0x40fda7,{'lastReservedCounter':_0x5a1817,'lastReservedAt':_0x215cb8,'lastReapedCount':_0x208c1d},_0x1f3ba6),logger['info']({'event':'idgen_number_reserved','resource':_0x47a96f,'formatKey':_0x40fda7,'counter':_0x5a1817,'isReused':_0x55ca7d,'token':_0x2eac62,'ttl':_0x1a8a70,'reapedCount':_0x208c1d},_0xdaaa7d(0xaa)+_0x13f3d0+_0xdaaa7d(0xb9)+_0x2eac62+')'),_0x59a9ed;}async['confirmReservation'](_0x355c88){const _0x2b2943=a0_0x4dc06d,_0x347982={'vbvwT':'IDGEN_DISABLED','sSnrW':function(_0x59bc64,_0x3daba1,_0x4f1f18){return _0x59bc64(_0x3daba1,_0x4f1f18);}};if(!this[_0x2b2943(0xca)])throw new IdGeneratorError(_0x347982['vbvwT'],'ID\x20Generator\x20is\x20disabled');const _0x3911a3=this[_0x2b2943(0xec)](_0x355c88&&_0x355c88[_0x2b2943(0x12f)]),_0x36a168=this['_validateIdempotencyKey'](_0x355c88&&_0x355c88[_0x2b2943(0x190)]);let _0x32b4f6=null;if(_0x36a168){_0x32b4f6=idempotencyManager[_0x2b2943(0x127)](_0x2b2943(0x19a),_0x2b2943(0x9f),_0x3911a3+':'+_0x36a168);const _0x1db1c3=await this[_0x2b2943(0x19f)](_0x32b4f6);if(_0x1db1c3)return _0x1db1c3;}const _0x19e4ec=await this[_0x2b2943(0x15d)](_0x3911a3),_0x10c5d6=redisClient['getClient'](),_0x2ffb28=await _0x10c5d6[_0x2b2943(0x17d)](LUA_CONFIRM_RESERVATION,0x2,_0x19e4ec['rsvKey'],_0x19e4ec[_0x2b2943(0x137)],_0x3911a3);if(!_0x2ffb28||_0x2ffb28[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x2b2943(0xa9)+_0x3911a3,{'token':_0x3911a3});const _0x33fb84=_0x347982['sSnrW'](parseInt,_0x2ffb28[0x1],0xa),_0x286167=_0x2ffb28[0x2],_0x23f196=_0x2ffb28[0x3],_0xef9813=new Date()['toISOString'](),_0x35cebb={'confirmed':!![],'token':_0x3911a3,'value':_0x286167,'counter':_0x33fb84,'resource':_0x19e4ec['resource'],'formatKey':_0x23f196,'confirmedAt':_0xef9813};await this[_0x2b2943(0x1ac)](_0x32b4f6,_0x35cebb);const _0x411a3b=_0x23f196['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x48a73b=_0x411a3b?_0x411a3b[0x1]:_0x2b2943(0x120),_0x2979f0=this[_0x2b2943(0xe7)](_0x48a73b);return this['_updateMeta'](_0x19e4ec['resource'],_0x23f196,{'lastConfirmedCounter':_0x33fb84,'lastConfirmedAt':_0xef9813},_0x2979f0),logger['info']({'event':_0x2b2943(0x113),'resource':_0x19e4ec[_0x2b2943(0x1a8)],'formatKey':_0x23f196,'counter':_0x33fb84,'token':_0x3911a3},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x286167+'\x20(token='+_0x3911a3+')'),_0x35cebb;}async[a0_0x4dc06d(0x165)](_0x48f20f){const _0x46c546=a0_0x4dc06d,_0x1cfdef={'Opahb':'IDGEN_DISABLED','EzaIK':_0x46c546(0x19a),'uUgDF':function(_0x41ebc6,_0x5c2c41){return _0x41ebc6(_0x5c2c41);},'rixCl':function(_0x4db259,_0xced456){return _0x4db259!==_0xced456;},'AgKfv':_0x46c546(0x12b),'ZgjIN':function(_0x4315c0,_0x1aafb6,_0xc115bf){return _0x4315c0(_0x1aafb6,_0xc115bf);}};if(!this['enabled'])throw new IdGeneratorError(_0x1cfdef['Opahb'],'ID\x20Generator\x20is\x20disabled');const _0x207c6d=this['_validateReservationToken'](_0x48f20f&&_0x48f20f[_0x46c546(0x12f)]),_0x59e3d6=this['_validateIdempotencyKey'](_0x48f20f&&_0x48f20f['idempotencyKey']);let _0x30d368=null;if(_0x59e3d6){_0x30d368=idempotencyManager[_0x46c546(0x127)](_0x1cfdef[_0x46c546(0xdf)],'reserve_cancel',_0x207c6d+':'+_0x59e3d6);const _0x3babd4=await this[_0x46c546(0x19f)](_0x30d368);if(_0x3babd4)return _0x3babd4;}const _0x443d89=await this['_getReservationContext'](_0x207c6d),_0x7cda93=this['_buildReuseKey'](_0x443d89[_0x46c546(0x1a8)],_0x443d89['formatKey']),_0x9703b3=_0x443d89[_0x46c546(0x163)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x422653=_0x9703b3?_0x9703b3[0x1]:'text',_0x4b5e3d=this['_getCounterTTL'](_0x422653),_0x342bd4=redisClient['getClient'](),_0x2da410=await _0x342bd4['eval'](LUA_CANCEL_RESERVATION,0x3,_0x443d89['rsvKey'],_0x443d89['rsvIdxKey'],_0x7cda93,_0x207c6d,_0x1cfdef['uUgDF'](String,_0x4b5e3d));if(!_0x2da410||_0x1cfdef[_0x46c546(0x16d)](_0x2da410[0x0],0x1))throw new IdGeneratorError(_0x1cfdef['AgKfv'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x207c6d,{'token':_0x207c6d});const _0x1c9d1d=_0x1cfdef['ZgjIN'](parseInt,_0x2da410[0x1],0xa),_0x305340=_0x2da410[0x2],_0x1d5b1d=_0x2da410[0x3],_0x2784cc=new Date()[_0x46c546(0x1a9)](),_0x10bf79={'cancelled':!![],'token':_0x207c6d,'value':_0x305340,'counter':_0x1c9d1d,'resource':_0x443d89['resource'],'formatKey':_0x1d5b1d,'releasedToReuse':!![],'cancelledAt':_0x2784cc};return await this['_storeIdemCache'](_0x30d368,_0x10bf79),this[_0x46c546(0x19e)](_0x443d89['resource'],_0x1d5b1d,{'lastCancelledCounter':_0x1c9d1d,'lastCancelledAt':_0x2784cc},_0x4b5e3d),logger['info']({'event':'idgen_reservation_cancelled','resource':_0x443d89[_0x46c546(0x1a8)],'formatKey':_0x1d5b1d,'counter':_0x1c9d1d,'token':_0x207c6d},_0x46c546(0xf5)+_0x305340+'\x20(token='+_0x207c6d+')'),_0x10bf79;}async['extendReservation'](_0x463528){const _0xc1e60b=a0_0x4dc06d,_0x359acd={'ioZwL':'reserve_extend','BMLCG':function(_0x30b406,_0x2f7e14){return _0x30b406*_0x2f7e14;},'WDOnS':'text'};if(!this[_0xc1e60b(0xca)])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x16eb50=this[_0xc1e60b(0xec)](_0x463528&&_0x463528[_0xc1e60b(0x12f)]),_0x49fe9a=this[_0xc1e60b(0xc6)](_0x463528&&_0x463528[_0xc1e60b(0x105)]),_0x21175d=this[_0xc1e60b(0x1a5)](_0x463528&&_0x463528['idempotencyKey']);let _0x303351=null;if(_0x21175d){_0x303351=idempotencyManager[_0xc1e60b(0x127)](_0xc1e60b(0x19a),_0x359acd['ioZwL'],_0x16eb50+':'+_0x21175d);const _0x53a1ce=await this[_0xc1e60b(0x19f)](_0x303351);if(_0x53a1ce)return _0x53a1ce;}const _0x45795d=await this[_0xc1e60b(0x15d)](_0x16eb50),_0x11e35a=Date['now'](),_0x50343e=_0x11e35a+_0x359acd[_0xc1e60b(0xa2)](_0x49fe9a,0x3e8),_0x44ca2e=_0x49fe9a*0x3e8,_0x475afa=new Date(_0x50343e)['toISOString'](),_0x1a1759=redisClient[_0xc1e60b(0xbd)](),_0x5e81ca=await _0x1a1759[_0xc1e60b(0x17d)](LUA_EXTEND_RESERVATION,0x2,_0x45795d['rsvKey'],_0x45795d[_0xc1e60b(0x137)],_0x16eb50,String(_0x44ca2e),String(_0x50343e),_0x475afa);if(!_0x5e81ca||_0x5e81ca[0x0]!==0x1)throw new IdGeneratorError(_0xc1e60b(0x12b),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x16eb50,{'token':_0x16eb50});const _0x18b282=_0x5e81ca[0x1],_0x12f8d2=parseInt(_0x5e81ca[0x2],0xa),_0x1581d0=_0x5e81ca[0x3],_0x3bd756=_0x5e81ca[0x4],_0xb75700=new Date(_0x11e35a)[_0xc1e60b(0x1a9)](),_0x529518={'extended':!![],'token':_0x16eb50,'previousExpiresAt':_0x18b282,'expiresAt':_0x475afa,'ttlMs':_0x44ca2e,'resource':_0x45795d[_0xc1e60b(0x1a8)],'formatKey':_0x3bd756,'counter':_0x12f8d2,'value':_0x1581d0,'extendedAt':_0xb75700};await this[_0xc1e60b(0x1ac)](_0x303351,_0x529518);const _0x489e87=_0x3bd756[_0xc1e60b(0x10e)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2bc83e=_0x489e87?_0x489e87[0x1]:_0x359acd['WDOnS'],_0x3649a2=this[_0xc1e60b(0xe7)](_0x2bc83e);return this[_0xc1e60b(0x19e)](_0x45795d[_0xc1e60b(0x1a8)],_0x3bd756,{'lastExtendedCounter':_0x12f8d2,'lastExtendedAt':_0xb75700},_0x3649a2),logger['info']({'event':'idgen_reservation_extended','resource':_0x45795d['resource'],'formatKey':_0x3bd756,'counter':_0x12f8d2,'token':_0x16eb50,'ttl':_0x49fe9a},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x1581d0+'\x20(token='+_0x16eb50+',\x20+'+_0x49fe9a+'s)'),_0x529518;}async[a0_0x4dc06d(0x189)](_0x5da9fb){const _0x4f2356=a0_0x4dc06d,_0x473803={'sdEvL':'IDGEN_DISABLED','Vczop':'IDGEN_RESERVATION_NOT_FOUND','eFBgU':function(_0x274057,_0x40eec1){return _0x274057===_0x40eec1;},'ufkGS':_0x4f2356(0x170),'gEFOB':function(_0xc2dea6,_0x482095){return _0xc2dea6>=_0x482095;}};if(!this[_0x4f2356(0xca)])throw new IdGeneratorError(_0x473803[_0x4f2356(0x108)],'ID\x20Generator\x20is\x20disabled');const _0x4aaa68=this['_validateReservationToken'](_0x5da9fb&&_0x5da9fb['token']),_0x2370c5=this['_buildReservationKey'](_0x4aaa68),_0x5761e4=redisClient['getClient'](),_0x4276d3=_0x5761e4[_0x4f2356(0xd9)]();_0x4276d3[_0x4f2356(0xa5)](_0x2370c5),_0x4276d3[_0x4f2356(0x104)](_0x2370c5);const _0xb1e9ab=await _0x4276d3[_0x4f2356(0x15f)](),_0x1f5684=_0xb1e9ab&&_0xb1e9ab[0x0]&&_0xb1e9ab[0x0][0x1],_0x333d29=_0xb1e9ab&&_0xb1e9ab[0x1]&&_0xb1e9ab[0x1][0x1];if(!_0x1f5684||Object['keys'](_0x1f5684)[_0x4f2356(0x177)]===0x0)throw new IdGeneratorError(_0x473803['Vczop'],_0x4f2356(0xa9)+_0x4aaa68,{'token':_0x4aaa68});return{'token':_0x4aaa68,'resource':_0x1f5684['resource']||null,'formatKey':_0x1f5684['formatKey']||null,'format':_0x1f5684['format']||null,'prefix':_0x1f5684['prefix']||'','separator':_0x1f5684['separator']||'','numDigits':_0x1f5684['numDigits']?parseInt(_0x1f5684[_0x4f2356(0x13a)],0xa):null,'datePrefix':_0x1f5684[_0x4f2356(0x18b)]||'','counter':_0x1f5684[_0x4f2356(0x11d)]?parseInt(_0x1f5684[_0x4f2356(0x11d)],0xa):null,'value':_0x1f5684[_0x4f2356(0x157)]||null,'isReused':_0x473803[_0x4f2356(0x10a)](_0x1f5684[_0x4f2356(0x193)],'1')||_0x1f5684['isReused']===0x1,'createdAt':_0x1f5684['createdAt']||null,'expiresAt':_0x1f5684['expiresAt']||null,'ttlRemainingMs':typeof _0x333d29===_0x473803[_0x4f2356(0xfd)]&&_0x473803['gEFOB'](_0x333d29,0x0)?_0x333d29:null};}async['_getReservationContext'](_0x1b8256){const _0x504a66=a0_0x4dc06d,_0x2cedf2=this['_buildReservationKey'](_0x1b8256),_0x5e5987=redisClient[_0x504a66(0xbd)](),_0x46b656=await _0x5e5987['hmget'](_0x2cedf2,'resource',_0x504a66(0x163)),_0x2fb36e=_0x46b656&&_0x46b656[0x0],_0x391ede=_0x46b656&&_0x46b656[0x1];if(!_0x2fb36e||!_0x391ede)throw new IdGeneratorError(_0x504a66(0x12b),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x1b8256,{'token':_0x1b8256});return{'resource':_0x2fb36e,'formatKey':_0x391ede,'rsvKey':_0x2cedf2,'rsvIdxKey':this[_0x504a66(0x115)](_0x2fb36e,_0x391ede)};}async[a0_0x4dc06d(0x168)](_0x1f2c87){const _0x3128eb=a0_0x4dc06d,_0x32d46d={'EQGNE':'IDGEN_DISABLED','gmbZU':'random','hEFaD':function(_0x1f1536,_0x556e28){return _0x1f1536<_0x556e28;},'rFoLb':function(_0x568b82,_0x34a1da){return _0x568b82===_0x34a1da;},'nTGmS':_0x3128eb(0x16e),'qWJwb':function(_0x4629ec,_0x218de6){return _0x4629ec*_0x218de6;},'oLaUZ':function(_0x5e7709,_0x5af815){return _0x5e7709||_0x5af815;}};if(!this['enabled'])throw new IdGeneratorError(_0x32d46d['EQGNE'],_0x3128eb(0x178));this[_0x3128eb(0x169)](_0x1f2c87[_0x3128eb(0x1a8)]),this['_validatePattern'](_0x1f2c87['pattern']);const _0x3e8a32=this[_0x3128eb(0x158)](_0x1f2c87[_0x3128eb(0x105)]),_0x29c465=this[_0x3128eb(0xf0)](_0x1f2c87[_0x3128eb(0x124)]),_0x145ab4=this[_0x3128eb(0x1a5)](_0x1f2c87[_0x3128eb(0x190)]),_0x439bdf=_0x1f2c87[_0x3128eb(0x109)]===!![],{resource:_0x4a4b53,pattern:_0x4a3d3c}=_0x1f2c87;let _0x572f0a=null;if(_0x145ab4){_0x572f0a=this[_0x3128eb(0x1b4)](_0x32d46d[_0x3128eb(0x112)],_0x4a4b53,null,_0x145ab4);const _0x4ed27c=await this[_0x3128eb(0x19f)](_0x572f0a);if(_0x4ed27c)return _0x4ed27c;}const _0x1547d5=redisClient['getClient']();let _0x42020b=null,_0x3d6c36=0x0;if(!_0x439bdf)_0x42020b=this[_0x3128eb(0x172)](_0x4a3d3c),_0x3d6c36=0x1;else{for(let _0x2bddee=0x0;_0x32d46d['hEFaD'](_0x2bddee,_0x29c465);_0x2bddee++){_0x3d6c36++;const _0x4b9892=this['_generateFromPattern'](_0x4a3d3c);if(_0x3e8a32){const _0x47966c=this['_buildActiveKey'](_0x4a4b53,_0x4b9892),_0x2f706a=await _0x1547d5[_0x3128eb(0x1a0)](_0x47966c,'1','EX',_0x3e8a32,'NX');if(_0x2f706a==='OK'){_0x42020b=_0x4b9892;break;}}else{const _0x17e6d6=this['_buildIssuedKey'](_0x4a4b53),_0x2c2dab=await _0x1547d5[_0x3128eb(0xd6)](_0x17e6d6,_0x4b9892);if(_0x2c2dab===0x1){_0x42020b=_0x4b9892;break;}}}if(_0x32d46d['rFoLb'](_0x42020b,null))throw new IdGeneratorError(_0x32d46d[_0x3128eb(0xd8)],_0x3128eb(0x1a1)+_0x29c465+_0x3128eb(0x9e),{'resource':_0x4a4b53,'pattern':_0x4a3d3c,'maxRetry':_0x29c465});}const _0x477d15={'value':_0x42020b,'resource':_0x4a4b53,'pattern':_0x4a3d3c,'attemptCount':_0x3d6c36,'generatedAt':new Date()[_0x3128eb(0x1a9)]()};_0x3e8a32&&_0x439bdf&&(_0x477d15['expiresAt']=new Date(Date['now']()+_0x32d46d[_0x3128eb(0x18e)](_0x3e8a32,0x3e8))[_0x3128eb(0x1a9)]());const _0x447adc=await this['_storeIdemCacheNX'](_0x572f0a,_0x477d15);if(!_0x447adc[_0x3128eb(0xcc)])return _0x439bdf&&await this['_undoRandomReservation'](_0x4a4b53,_0x42020b,_0x3e8a32),logger['info']({'event':'idgen_random_idem_loser','resource':_0x4a4b53,'pattern':_0x4a3d3c,'value':_0x42020b},_0x3128eb(0x155)),_0x447adc[_0x3128eb(0x1a2)];return logger['info']({'event':_0x3128eb(0x140),'resource':_0x4a4b53,'pattern':_0x4a3d3c,'attemptCount':_0x3d6c36,'ensureUnique':_0x439bdf,'ttl':_0x32d46d['oLaUZ'](_0x3e8a32,0x0)},'ID\x20Generator\x20random:\x20'+_0x42020b),_0x477d15;}async['pin'](_0x2ec5ad){const _0x1acf9f=a0_0x4dc06d,_0x5172e4={'BGEFc':function(_0x1734ee,_0x35a625){return _0x1734ee<_0x35a625;},'sJYje':function(_0x531a3d,_0x71140c){return _0x531a3d>_0x71140c;},'ZGdNk':_0x1acf9f(0x14e),'rlWML':function(_0x5037ed,_0x8eddc1){return _0x5037ed===_0x8eddc1;}},_0xca75=_0x2ec5ad['digits']==null?this[_0x1acf9f(0x1b5)]:_0x2ec5ad['digits'];if(!Number['isInteger'](_0xca75)||_0x5172e4['BGEFc'](_0xca75,MIN_PIN_DIGITS)||_0x5172e4['sJYje'](_0xca75,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x5172e4[_0x1acf9f(0x199)],_0x1acf9f(0x133)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0xca75+')');const _0x255889='9'[_0x1acf9f(0x19c)](_0xca75);return this[_0x1acf9f(0x168)]({'resource':_0x2ec5ad['resource'],'pattern':_0x255889,'ensureUnique':_0x5172e4[_0x1acf9f(0x106)](_0x2ec5ad[_0x1acf9f(0x109)],!![]),'ttl':_0x2ec5ad['ttl'],'maxRetry':_0x2ec5ad['maxRetry'],'idempotencyKey':_0x2ec5ad[_0x1acf9f(0x190)]});}async['serial'](_0x5d8533){const _0x5c6d62=a0_0x4dc06d,_0x43afe6=_0x5d8533['pattern']||this['defaultSerialPattern'];return this['random']({'resource':_0x5d8533['resource'],'pattern':_0x43afe6,'ensureUnique':_0x5d8533[_0x5c6d62(0x109)]!==![],'ttl':_0x5d8533[_0x5c6d62(0x105)],'maxRetry':_0x5d8533['maxRetry'],'idempotencyKey':_0x5d8533['idempotencyKey']});}async['code'](_0x309fcf){const _0x1f475a=a0_0x4dc06d,_0x2dac26=_0x309fcf['pattern']||this[_0x1f475a(0x138)];return this[_0x1f475a(0x168)]({'resource':_0x309fcf[_0x1f475a(0x1a8)],'pattern':_0x2dac26,'ensureUnique':_0x309fcf[_0x1f475a(0x109)]!==![],'ttl':_0x309fcf['ttl'],'maxRetry':_0x309fcf['maxRetry'],'idempotencyKey':_0x309fcf[_0x1f475a(0x190)]});}async[a0_0x4dc06d(0xa7)](_0x205779){const _0x58ab6f=a0_0x4dc06d,_0x358f75={'DpiNi':'ID\x20Generator\x20is\x20disabled','UxkMA':'string','hVsUF':function(_0x5c03ea,_0x22c340){return _0x5c03ea===_0x22c340;},'vXhZr':_0x58ab6f(0x122),'SYsrM':_0x58ab6f(0x9d),'qJoxR':_0x58ab6f(0x149)};if(!this['enabled'])throw new IdGeneratorError(_0x58ab6f(0xd4),_0x358f75['DpiNi']);this[_0x58ab6f(0x169)](_0x205779[_0x58ab6f(0x1a8)]);if(typeof _0x205779['value']!==_0x358f75['UxkMA']||_0x358f75['hVsUF'](_0x205779['value'][_0x58ab6f(0x177)],0x0))throw new IdGeneratorError(_0x358f75['vXhZr'],_0x358f75[_0x58ab6f(0xb2)]);const {resource:_0x4a9f25,value:_0x26cffd}=_0x205779,_0x4cb4d0=redisClient['getClient'](),_0xde13d4=this['_buildActiveKey'](_0x4a9f25,_0x26cffd),_0x21ce3f=this[_0x58ab6f(0xf2)](_0x4a9f25),[_0x306dc7,_0x239157]=await Promise[_0x58ab6f(0xbe)]([_0x4cb4d0['del'](_0xde13d4),_0x4cb4d0[_0x58ab6f(0x132)](_0x21ce3f,_0x26cffd)]),_0x33c68d=_0x306dc7+_0x239157>0x0;return logger[_0x58ab6f(0xcb)]({'event':_0x358f75['qJoxR'],'resource':_0x4a9f25,'value':_0x26cffd,'consumed':_0x33c68d},_0x58ab6f(0xd5)+_0x26cffd),{'consumed':_0x33c68d,'resource':_0x4a9f25,'value':_0x26cffd,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x51c05d){const _0x1e809c=a0_0x4dc06d,_0x5d93ce={'zQrQO':'ID\x20Generator\x20is\x20disabled','OEyFn':_0x1e809c(0x170),'kJSXb':'text','lOGdd':function(_0x742dad,_0x2df82c,_0x34425a){return _0x742dad(_0x2df82c,_0x34425a);},'FnceR':function(_0x18c46a,_0x3f8f6e){return _0x18c46a||_0x3f8f6e;},'Ppuhy':'random'};if(!this[_0x1e809c(0xca)])throw new IdGeneratorError(_0x1e809c(0xd4),_0x5d93ce['zQrQO']);this[_0x1e809c(0x169)](_0x51c05d['resource']);const _0x16af5d=_0x51c05d[_0x1e809c(0xe1)]||_0x5d93ce[_0x1e809c(0xe8)],_0x360785=redisClient[_0x1e809c(0xbd)]();if(_0x16af5d===_0x5d93ce[_0x1e809c(0xe8)]){const _0x21eb75=(_0x51c05d[_0x1e809c(0xb0)]||_0x5d93ce['kJSXb'])[_0x1e809c(0x11e)]();if(!ALLOWED_FORMATS[_0x1e809c(0x101)](_0x21eb75))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x1e809c(0xef)+_0x51c05d['format']);const {formatKey:_0x12292e}=this[_0x1e809c(0x18f)](_0x21eb75,_0x51c05d['prefix']||''),_0x3e2bb7=this['_buildSeqKey'](_0x51c05d['resource'],_0x12292e),_0x4a8c9b=this[_0x1e809c(0x102)](_0x51c05d['resource'],_0x12292e),[_0x45f84c,_0x146630]=await Promise[_0x1e809c(0xbe)]([_0x360785[_0x1e809c(0x14b)](_0x3e2bb7),_0x360785['zcard'](_0x4a8c9b)]);return{'resource':_0x51c05d['resource'],'mode':_0x5d93ce['OEyFn'],'formatKey':_0x12292e,'currentCounter':_0x5d93ce[_0x1e809c(0x154)](parseInt,_0x45f84c,0xa)||0x0,'reusePoolSize':_0x5d93ce['FnceR'](_0x146630,0x0)};}if(_0x16af5d==='random'){const _0x550a6e=this[_0x1e809c(0xf2)](_0x51c05d[_0x1e809c(0x1a8)]),_0xba0660=await _0x360785[_0x1e809c(0x15c)](_0x550a6e);return{'resource':_0x51c05d[_0x1e809c(0x1a8)],'mode':_0x5d93ce[_0x1e809c(0x194)],'issuedCount':_0xba0660||0x0};}throw new IdGeneratorError('IDGEN_INVALID_MODE','Unknown\x20mode:\x20'+_0x16af5d);}async['getInfo'](_0x5a86e4){const _0x1b4345=a0_0x4dc06d,_0x13553c={'ZXxVp':function(_0xc40550,_0x447b39){return _0xc40550===_0x447b39;},'zbEPF':'number'},_0x3fa879=await this[_0x1b4345(0x182)](_0x5a86e4);if(_0x13553c['ZXxVp'](_0x3fa879['mode'],_0x13553c[_0x1b4345(0x107)])){const _0x4aac01=redisClient['getClient'](),_0x1cf83c=this[_0x1b4345(0x162)](_0x5a86e4[_0x1b4345(0x1a8)],_0x3fa879[_0x1b4345(0x163)]),_0xcf860e=this['_buildReuseKey'](_0x5a86e4[_0x1b4345(0x1a8)],_0x3fa879['formatKey']),[_0x3177aa,_0x5ddb84]=await Promise['all']([_0x4aac01[_0x1b4345(0xa5)](_0x1cf83c),_0x4aac01[_0x1b4345(0x14d)](_0xcf860e,0x0,-0x1)]);return{..._0x3fa879,'reusePoolValues':_0x5ddb84['map'](_0x301165=>parseInt(_0x301165,0xa)),'meta':_0x3177aa&&Object['keys'](_0x3177aa)[_0x1b4345(0x177)]>0x0?_0x3177aa:null};}return _0x3fa879;}async['reset'](_0xbd714e){const _0x5e18c3=a0_0x4dc06d,_0x476e64={'ZtuIG':'ID\x20Generator\x20is\x20disabled','YUVFR':function(_0x2bc06d,_0x5ce7ba){return _0x2bc06d===_0x5ce7ba;},'QWRcd':'number','bSnRp':'IDGEN_INVALID_FORMAT','MSpBR':_0x5e18c3(0xf6),'NXbKf':'meta','QiCZx':_0x5e18c3(0x168),'aylZX':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError(_0x5e18c3(0xd4),_0x476e64[_0x5e18c3(0xbc)]);if(!this['allowReset'])throw new IdGeneratorError(_0x5e18c3(0xb3),'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this[_0x5e18c3(0x169)](_0xbd714e[_0x5e18c3(0x1a8)]);const _0x311c42=_0xbd714e[_0x5e18c3(0xe1)]||'number',_0x628013=redisClient['getClient']();if(_0x476e64['YUVFR'](_0x311c42,_0x476e64['QWRcd'])){const _0x44338a=(_0xbd714e[_0x5e18c3(0xb0)]||_0x5e18c3(0x120))[_0x5e18c3(0x11e)]();if(!ALLOWED_FORMATS[_0x5e18c3(0x101)](_0x44338a))throw new IdGeneratorError(_0x476e64[_0x5e18c3(0x16b)],_0x5e18c3(0xef)+_0xbd714e[_0x5e18c3(0xb0)]);const {formatKey:_0x33753d}=this[_0x5e18c3(0x18f)](_0x44338a,_0xbd714e['prefix']||''),_0x2529c9=this['_buildSeqKey'](_0xbd714e['resource'],_0x33753d),_0x42573e=this['_buildReuseKey'](_0xbd714e['resource'],_0x33753d),_0x4c012c=this['_buildMetaKey'](_0xbd714e['resource'],_0x33753d);return await _0x628013[_0x5e18c3(0x13b)](_0x2529c9,_0x42573e,_0x4c012c),logger[_0x5e18c3(0x15b)]({'event':_0x476e64[_0x5e18c3(0x9c)],'resource':_0xbd714e[_0x5e18c3(0x1a8)],'mode':_0x5e18c3(0x170),'formatKey':_0x33753d},'ID\x20Generator\x20reset:\x20'+_0xbd714e['resource']+':'+_0x33753d),{'reset':!![],'resource':_0xbd714e['resource'],'mode':'number','formatKey':_0x33753d,'deletedKeys':[_0x5e18c3(0xf4),_0x5e18c3(0x1ad),_0x476e64[_0x5e18c3(0x12a)]]};}if(_0x311c42==='random'){const _0x2e6983=this[_0x5e18c3(0xf2)](_0xbd714e['resource']);return await _0x628013['del'](_0x2e6983),logger['warn']({'event':'idgen_reset','resource':_0xbd714e['resource'],'mode':_0x476e64['QiCZx']},'ID\x20Generator\x20reset:\x20random:'+_0xbd714e['resource']),{'reset':!![],'resource':_0xbd714e['resource'],'mode':_0x5e18c3(0x168),'deletedKeys':[_0x5e18c3(0xd3)]};}throw new IdGeneratorError(_0x476e64[_0x5e18c3(0xb1)],'Unknown\x20mode:\x20'+_0x311c42);}}const instance=new IdGenerator();instance[a0_0x4dc06d(0x146)]=IdGeneratorError,module['exports']=instance,module[a0_0x4dc06d(0x126)][a0_0x4dc06d(0x146)]=IdGeneratorError;
1
+ 'use strict';const a0_0x4a2846=a0_0x5a1f;(function(_0x31af6a,_0x481eba){const _0x30cd70=a0_0x5a1f,_0xd5e493=_0x31af6a();while(!![]){try{const _0x2db42a=parseInt(_0x30cd70(0x185))/0x1+-parseInt(_0x30cd70(0x129))/0x2+-parseInt(_0x30cd70(0x17e))/0x3+parseInt(_0x30cd70(0x11f))/0x4*(-parseInt(_0x30cd70(0x163))/0x5)+parseInt(_0x30cd70(0x196))/0x6+-parseInt(_0x30cd70(0x156))/0x7*(-parseInt(_0x30cd70(0x10c))/0x8)+-parseInt(_0x30cd70(0xd1))/0x9*(parseInt(_0x30cd70(0xb4))/0xa);if(_0x2db42a===_0x481eba)break;else _0xd5e493['push'](_0xd5e493['shift']());}catch(_0x3818de){_0xd5e493['push'](_0xd5e493['shift']());}}}(a0_0xd1e7,0x9879a));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require(a0_0x4a2846(0x128)),ALLOWED_FORMATS=new Set([a0_0x4a2846(0x19a),'yyyy','yyyymm','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_0x4a2846(0xf6),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='0123456789ABCDEF',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_0x4a2846(0x118),LUA_RELEASE_NUMBER='\x0aredis.call(\x27ZADD\x27,\x20KEYS[1],\x20ARGV[1],\x20ARGV[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x201\x0a',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_0x4a2846(0x16b),LUA_CANCEL_RESERVATION=a0_0x4a2846(0xc7),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(_0x2873a8,_0x46ad67,_0x16fb6c=null){const _0x3d1175=a0_0x4a2846,_0x6916b={'yCRby':function(_0x4ea1e4,_0x13ddeb){return _0x4ea1e4||_0x13ddeb;}};super(_0x6916b['yCRby'](_0x46ad67,_0x2873a8)),this[_0x3d1175(0xf3)]='IdGeneratorError',this['code']=_0x2873a8,this[_0x3d1175(0x168)]=_0x16fb6c;}}function a0_0x5a1f(_0x5ca387,_0x502136){_0x5ca387=_0x5ca387-0xb4;const _0xd1e7e2=a0_0xd1e7();let _0x5a1f2d=_0xd1e7e2[_0x5ca387];if(a0_0x5a1f['llHmnV']===undefined){var _0x206717=function(_0x4acf1e){const _0x11f3bd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x31c7e3='',_0x473ff4='';for(let _0x260b0f=0x0,_0x1e6dc0,_0x3f6ef3,_0x54de16=0x0;_0x3f6ef3=_0x4acf1e['charAt'](_0x54de16++);~_0x3f6ef3&&(_0x1e6dc0=_0x260b0f%0x4?_0x1e6dc0*0x40+_0x3f6ef3:_0x3f6ef3,_0x260b0f++%0x4)?_0x31c7e3+=String['fromCharCode'](0xff&_0x1e6dc0>>(-0x2*_0x260b0f&0x6)):0x0){_0x3f6ef3=_0x11f3bd['indexOf'](_0x3f6ef3);}for(let _0x544d34=0x0,_0x1ff6db=_0x31c7e3['length'];_0x544d34<_0x1ff6db;_0x544d34++){_0x473ff4+='%'+('00'+_0x31c7e3['charCodeAt'](_0x544d34)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x473ff4);};a0_0x5a1f['lHdWHJ']=_0x206717,a0_0x5a1f['xhnRqe']={},a0_0x5a1f['llHmnV']=!![];}const _0x1fd211=_0xd1e7e2[0x0],_0x4f82b0=_0x5ca387+_0x1fd211,_0x90e88e=a0_0x5a1f['xhnRqe'][_0x4f82b0];return!_0x90e88e?(_0x5a1f2d=a0_0x5a1f['lHdWHJ'](_0x5a1f2d),a0_0x5a1f['xhnRqe'][_0x4f82b0]=_0x5a1f2d):_0x5a1f2d=_0x90e88e,_0x5a1f2d;}class IdGenerator{constructor(){const _0x2992bb=a0_0x4a2846;this[_0x2992bb(0x1a9)]=![],this[_0x2992bb(0x10e)]=null,this['_keyPrefix']=null,this[_0x2992bb(0x164)]=null,this[_0x2992bb(0xe9)]=null,this[_0x2992bb(0x1c8)]=null,this['_defaultPinDigits']=null,this[_0x2992bb(0x151)]=null,this[_0x2992bb(0xdc)]=null,this['_counterTTLMap']=null,this[_0x2992bb(0x149)]=null,this['_reserveMaxTTL']=null;}['_initConfig'](){const _0xd66d46=a0_0x4a2846,_0x1f0662={'nkGdT':_0xd66d46(0x13e),'NnzmB':function(_0x5d7e55,_0x5ccf5b){return _0x5d7e55===_0x5ccf5b;},'CiLnl':function(_0x3fb984,_0x4ae0fd,_0x233e73){return _0x3fb984(_0x4ae0fd,_0x233e73);},'odiUG':'true','iKXjx':function(_0x5765b9,_0x2c147c,_0x3e1ce9){return _0x5765b9(_0x2c147c,_0x3e1ce9);},'JzALS':'XXXX-XXXX-XXXX-XXXX','Eclur':_0xd66d46(0x14e),'ndTry':function(_0x5487c5,_0xf14ce0,_0x3dd242){return _0x5487c5(_0xf14ce0,_0x3dd242);},'DffeX':function(_0x2dc952,_0x3f8fc2,_0x27cd27){return _0x2dc952(_0x3f8fc2,_0x27cd27);},'JdwRX':function(_0x474feb,_0x18183d,_0x20c890){return _0x474feb(_0x18183d,_0x20c890);},'bsBRB':_0xd66d46(0x171)};this['_keyPrefix']=_0x1f0662[_0xd66d46(0x152)],this['_enabled']=_0x1f0662[_0xd66d46(0x1b5)](process['env']['IDGEN_ENABLED'],_0xd66d46(0x17f)),this['_idemTTL']=_0x1f0662[_0xd66d46(0xc5)](parseInt,process['env'][_0xd66d46(0x1bc)],0xa)||0x258,this['_allowReset']=process['env'][_0xd66d46(0x18e)]===_0x1f0662['odiUG'],this['_defaultMaxRetry']=parseInt(process[_0xd66d46(0x137)]['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa,this['_defaultPinDigits']=_0x1f0662[_0xd66d46(0x120)](parseInt,process[_0xd66d46(0x137)][_0xd66d46(0xe6)],0xa)||0x6,this[_0xd66d46(0x151)]=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x1f0662[_0xd66d46(0x14f)],this['_defaultCodePattern']=process[_0xd66d46(0x137)][_0xd66d46(0x114)]||_0x1f0662[_0xd66d46(0x150)],this['_counterTTLMap']={'yyyymm':_0x1f0662['ndTry'](parseInt,process[_0xd66d46(0x137)]['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':_0x1f0662['DffeX'](parseInt,process[_0xd66d46(0x137)]['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this['_reserveDefaultTTL']=_0x1f0662[_0xd66d46(0xc5)](parseInt,process[_0xd66d46(0x137)]['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this[_0xd66d46(0xe0)]=_0x1f0662[_0xd66d46(0xf8)](parseInt,process['env']['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this['_initialized']=!![],logger['info']({'event':_0x1f0662[_0xd66d46(0x13c)],'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this[_0xd66d46(0xe9)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this[_0xd66d46(0x149)],'reserveMaxTTL':this['_reserveMaxTTL']},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this[_0xd66d46(0x10e)]);}[a0_0x4a2846(0xdd)](){const _0x1500dd=a0_0x4a2846;if(!this[_0x1500dd(0x1a9)])this['_initConfig']();}get['enabled'](){const _0x30c654=a0_0x4a2846;return this[_0x30c654(0xdd)](),this[_0x30c654(0x10e)];}get[a0_0x4a2846(0xdf)](){const _0x42f412=a0_0x4a2846;return this['_ensureInitialized'](),this[_0x42f412(0x1a6)];}get['idemTTL'](){const _0x4f631e=a0_0x4a2846;return this['_ensureInitialized'](),this[_0x4f631e(0x164)];}get['allowReset'](){const _0x2a6b17=a0_0x4a2846;return this[_0x2a6b17(0xdd)](),this[_0x2a6b17(0xe9)];}get[a0_0x4a2846(0x1b4)](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get[a0_0x4a2846(0x1b8)](){return this['_ensureInitialized'](),this['_defaultPinDigits'];}get['defaultSerialPattern'](){const _0x32af06=a0_0x4a2846;return this[_0x32af06(0xdd)](),this['_defaultSerialPattern'];}get['defaultCodePattern'](){const _0x3f89cd=a0_0x4a2846;return this[_0x3f89cd(0xdd)](),this[_0x3f89cd(0xdc)];}get[a0_0x4a2846(0x15f)](){const _0x15f5a1=a0_0x4a2846;return this[_0x15f5a1(0xdd)](),this['_reserveDefaultTTL'];}get['reserveMaxTTL'](){const _0x4bab45=a0_0x4a2846;return this[_0x4bab45(0xdd)](),this['_reserveMaxTTL'];}['isEnabled'](){return this['enabled'];}[a0_0x4a2846(0x1be)](_0x391dd8){const _0x4ca685=a0_0x4a2846,_0x2f7792={'tHHVE':_0x4ca685(0xc8)};if(typeof _0x391dd8!==_0x2f7792['tHHVE']||!RESOURCE_REGEX[_0x4ca685(0x134)](_0x391dd8))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x391dd8)+')');}['_validateNumberParams'](_0x1cd43a){const _0x3be1ab=a0_0x4a2846,_0x3cc384={'FgFOp':function(_0x5a901b,_0x4a1cfa){return _0x5a901b<_0x4a1cfa;},'FNruw':_0x3be1ab(0x115),'wcGAz':_0x3be1ab(0xc8),'PHEOc':function(_0x2e0489,_0xd01676){return _0x2e0489>_0xd01676;},'AJmZG':function(_0x4e8afb,_0x3b4179){return _0x4e8afb!=_0x3b4179;},'zSVrL':function(_0xfe28f4,_0x17d828){return _0xfe28f4!==_0x17d828;},'tEwNo':'IDGEN_INVALID_RESOURCE','gccMh':function(_0x1560ab,_0xce24db){return _0x1560ab===_0xce24db;}},{resource:_0x13cb45,format:_0x4848db,prefix:_0x42ff6e,separator:_0x1408f4,numDigits:_0x268980,reuseDelete:_0x141ee7}=_0x1cd43a;this[_0x3be1ab(0x1be)](_0x13cb45);const _0x581943=typeof _0x4848db===_0x3be1ab(0xc8)?_0x4848db[_0x3be1ab(0x1db)]():'';if(!ALLOWED_FORMATS['has'](_0x581943))throw new IdGeneratorError(_0x3be1ab(0x18d),_0x3be1ab(0xf1)+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x4848db+')');if(!Number[_0x3be1ab(0xb5)](_0x268980)||_0x3cc384['FgFOp'](_0x268980,MIN_NUM_DIGITS)||_0x268980>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x3cc384[_0x3be1ab(0x1cf)],_0x3be1ab(0x192)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x268980+')');const _0x138a56=_0x42ff6e==null?'':_0x42ff6e;if(typeof _0x138a56!==_0x3cc384[_0x3be1ab(0xfe)]||!PREFIX_REGEX['test'](_0x138a56))throw new IdGeneratorError('IDGEN_INVALID_PREFIX',_0x3be1ab(0x173)+PREFIX_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x42ff6e)+')');const _0x58d7ab=_0x1408f4==null?'':_0x1408f4;if(typeof _0x58d7ab!==_0x3cc384[_0x3be1ab(0xfe)]||_0x3cc384[_0x3be1ab(0x162)](_0x58d7ab[_0x3be1ab(0xd9)],0x3)||SEPARATOR_FORBIDDEN['test'](_0x58d7ab))throw new IdGeneratorError(_0x3be1ab(0x1c4),_0x3be1ab(0x157)+JSON['stringify'](_0x1408f4)+')');if(_0x3cc384[_0x3be1ab(0x165)](_0x141ee7,null)&&_0x3cc384[_0x3be1ab(0x111)](typeof _0x141ee7,'boolean'))throw new IdGeneratorError(_0x3cc384['tEwNo'],'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x141ee7+')');return{'resource':_0x13cb45,'format':_0x581943,'prefix':_0x138a56,'separator':_0x58d7ab,'numDigits':_0x268980,'reuseDelete':_0x3cc384[_0x3be1ab(0x19c)](_0x141ee7,!![])};}['_validatePattern'](_0x17e2c2){const _0x32482d=a0_0x4a2846,_0x20a10d={'CtCXb':function(_0x3aa608,_0x499f81){return _0x3aa608!==_0x499f81;},'NlNCx':'string','njkTA':function(_0x2de0a8,_0x27c288){return _0x2de0a8===_0x27c288;},'slznr':function(_0x5aa518,_0x1cb107){return _0x5aa518>_0x1cb107;},'ZFagr':'IDGEN_INVALID_PATTERN'};if(_0x20a10d['CtCXb'](typeof _0x17e2c2,_0x20a10d['NlNCx'])||_0x20a10d['njkTA'](_0x17e2c2[_0x32482d(0xd9)],0x0)||_0x20a10d['slznr'](_0x17e2c2[_0x32482d(0xd9)],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0x20a10d['ZFagr'],_0x32482d(0x10d)+MAX_PATTERN_LENGTH+_0x32482d(0x1a4)+(_0x17e2c2&&_0x17e2c2[_0x32482d(0xd9)])+')');let _0x197461=![];for(const _0x1ad3c5 of _0x17e2c2){if(PLACEHOLDER_MAP[_0x1ad3c5]){_0x197461=!![];break;}}if(!_0x197461)throw new IdGeneratorError(_0x20a10d['ZFagr'],_0x32482d(0x1e1));}['_validateTTL'](_0x51cbc1){const _0x55bc32=a0_0x4a2846,_0x38472b={'BPKmh':function(_0x1c63ef,_0x21649f){return _0x1c63ef==_0x21649f;},'skinU':function(_0x23eddf,_0x5a8427){return _0x23eddf<_0x5a8427;}};if(_0x38472b[_0x55bc32(0x1dc)](_0x51cbc1,null))return undefined;if(!Number['isInteger'](_0x51cbc1)||_0x38472b[_0x55bc32(0xdb)](_0x51cbc1,0x1)||_0x51cbc1>MAX_TTL)throw new IdGeneratorError(_0x55bc32(0xb7),'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+_0x55bc32(0x1ca)+_0x51cbc1+')');return _0x51cbc1;}['_validateMaxRetry'](_0x511b1b){const _0x204b5c=a0_0x4a2846,_0x450756={'WHynD':function(_0x3462e5,_0x4201d7){return _0x3462e5<_0x4201d7;},'BtikD':_0x204b5c(0x130)};if(_0x511b1b==null)return this['defaultMaxRetry'];if(!Number[_0x204b5c(0xb5)](_0x511b1b)||_0x450756[_0x204b5c(0x17b)](_0x511b1b,0x1)||_0x511b1b>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x450756['BtikD'],_0x204b5c(0xd4)+MAX_RETRY_LIMIT+_0x204b5c(0x12b)+_0x511b1b+')');return _0x511b1b;}[a0_0x4a2846(0xf4)](_0x48d764){const _0x3ebe0d=a0_0x4a2846,_0x18db7f={'MfVhG':function(_0xd257c7,_0xb0f04c){return _0xd257c7!==_0xb0f04c;},'iLbUd':'string','UMCJn':function(_0x190a92,_0x71dc1d){return _0x190a92>_0x71dc1d;}};if(_0x48d764==null)return undefined;if(_0x18db7f[_0x3ebe0d(0x1de)](typeof _0x48d764,_0x18db7f['iLbUd'])||_0x48d764[_0x3ebe0d(0xd9)]===0x0||_0x18db7f[_0x3ebe0d(0xcb)](_0x48d764[_0x3ebe0d(0xd9)],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x3ebe0d(0x136),'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x48d764;}['_validateReserveTTL'](_0x3de2e3){const _0x48c76e=a0_0x4a2846,_0x3a6a5c={'aumiS':function(_0xf709ad,_0x1467e0){return _0xf709ad==_0x1467e0;},'GOVJS':function(_0x2111a2,_0x2936fa){return _0x2111a2>_0x2936fa;}};if(_0x3a6a5c['aumiS'](_0x3de2e3,null))return this[_0x48c76e(0x15f)];if(!Number[_0x48c76e(0xb5)](_0x3de2e3)||_0x3de2e3<MIN_RESERVE_TTL||_0x3a6a5c['GOVJS'](_0x3de2e3,this['reserveMaxTTL']))throw new IdGeneratorError('IDGEN_INVALID_RESERVE_TTL',_0x48c76e(0x117)+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x48c76e(0x1ca)+_0x3de2e3+')');return _0x3de2e3;}['_validateReservationToken'](_0x1ec05e){const _0x1eb76d=a0_0x4a2846,_0x391162={'yyNnl':'string'};if(typeof _0x1ec05e!==_0x391162['yyNnl']||!RESERVATION_TOKEN_REGEX['test'](_0x1ec05e))throw new IdGeneratorError(_0x1eb76d(0x143),'Invalid\x20reservation\x20token:\x20must\x20be\x20a\x20valid\x20UUID\x20format\x20(got:\x20'+JSON['stringify'](_0x1ec05e)+')');return _0x1ec05e;}['_pad2'](_0x395a77){return String(_0x395a77)['padStart'](0x2,'0');}[a0_0x4a2846(0x13b)](_0x341f6a,_0x2c2006,_0x281c69=new Date()){const _0x4a2e54=a0_0x4a2846,_0x4626a0={'Xvhog':function(_0x42cf5b,_0x38a6d7){return _0x42cf5b+_0x38a6d7;},'CmSEx':function(_0xadaecb,_0xa94b31){return _0xadaecb||_0xa94b31;},'HSfAl':'text','FMtBV':'yyyymmdd'},_0xa2254a=_0x281c69['getFullYear'](),_0x3292f2=this['_pad2'](_0x4626a0[_0x4a2e54(0x15d)](_0x281c69['getMonth'](),0x1)),_0x5daa8c=this[_0x4a2e54(0xea)](_0x281c69['getDate']()),_0x1ccabc=_0x4626a0[_0x4a2e54(0x1b7)](_0x2c2006,'_');let _0x47bc5c,_0x4150aa='';switch(_0x341f6a){case _0x4626a0['HSfAl']:_0x47bc5c=_0x1ccabc+'_text';break;case'yyyy':_0x4150aa=''+_0xa2254a,_0x47bc5c=_0x1ccabc+_0x4a2e54(0x183)+_0x4150aa;break;case'yyyymm':_0x4150aa=''+_0xa2254a+_0x3292f2,_0x47bc5c=_0x1ccabc+_0x4a2e54(0x1af)+_0x4150aa;break;case _0x4626a0[_0x4a2e54(0x147)]:_0x4150aa=''+_0xa2254a+_0x3292f2+_0x5daa8c,_0x47bc5c=_0x1ccabc+_0x4a2e54(0xe4)+_0x4150aa;break;default:throw new IdGeneratorError('IDGEN_INVALID_FORMAT','Unknown\x20format:\x20'+_0x341f6a);}return{'formatKey':_0x47bc5c,'datePrefix':_0x4150aa};}[a0_0x4a2846(0x11d)](_0x25ea22,_0x142c41){const _0x2202df=a0_0x4a2846;return this[_0x2202df(0xdf)]+_0x2202df(0xbf)+_0x25ea22+':'+_0x142c41;}['_buildReuseKey'](_0x5e3cd1,_0xeae5a1){const _0x57745=a0_0x4a2846;return this[_0x57745(0xdf)]+'reuse:'+_0x5e3cd1+':'+_0xeae5a1;}[a0_0x4a2846(0x1c5)](_0x172700,_0xf39ff7){const _0xbdd082=a0_0x4a2846;return this[_0xbdd082(0xdf)]+'meta:'+_0x172700+':'+_0xf39ff7;}[a0_0x4a2846(0x1bd)](_0x2b0dd9){return this['keyPrefix']+'issued:'+_0x2b0dd9;}[a0_0x4a2846(0xbc)](_0x53496a,_0x42ff39){const _0x57cd05=a0_0x4a2846;return this['keyPrefix']+_0x57cd05(0x102)+_0x53496a+':'+_0x42ff39;}[a0_0x4a2846(0x194)](_0x45534e){return this['keyPrefix']+'rsv:'+_0x45534e;}['_buildReservationIndexKey'](_0xaa031b,_0x1c81c0){return this['keyPrefix']+'rsv_idx:'+_0xaa031b+':'+_0x1c81c0;}[a0_0x4a2846(0x101)](){return this['keyPrefix']+'rsv:';}[a0_0x4a2846(0xcf)](_0x2603ea,_0x247bb2,_0x209758,_0x4287d8){const _0x17f0fc=a0_0x4a2846,_0x10f5e0={'MxjxN':'idgen'};if(_0x209758)return idempotencyManager[_0x17f0fc(0x178)](_0x10f5e0['MxjxN'],_0x2603ea,_0x247bb2+':'+_0x209758+':'+_0x4287d8);return idempotencyManager[_0x17f0fc(0x178)]('idgen',_0x2603ea,_0x247bb2+':'+_0x4287d8);}['_getCounterTTL'](_0x129bcf){return this['_counterTTLMap'][_0x129bcf]||0x0;}[a0_0x4a2846(0xf2)]({format:_0x3e3cb7,prefix:_0x24c517,datePrefix:_0x5a7b7d,separator:_0x5127e0,numDigits:_0x5db240,counterInt:_0x2d2d79}){const _0x16cb40=a0_0x4a2846,_0x1c4f09={'CCEhJ':function(_0xded4dc,_0x54740d){return _0xded4dc>_0x54740d;},'ZEAQw':_0x16cb40(0x158),'oUMAw':function(_0x4aaed8,_0x2c9668){return _0x4aaed8(_0x2c9668);}},_0x42edbf=Math['pow'](0xa,_0x5db240)-0x1;if(_0x1c4f09['CCEhJ'](_0x2d2d79,_0x42edbf))throw new IdGeneratorError(_0x1c4f09[_0x16cb40(0x191)],'Counter\x20overflow:\x20'+_0x2d2d79+_0x16cb40(0x153)+_0x5db240+_0x16cb40(0x19d)+_0x42edbf+').\x20Increase\x20numDigits.',{'counterInt':_0x2d2d79,'numDigits':_0x5db240,'max':_0x42edbf});const _0x39ea77=_0x1c4f09['oUMAw'](String,_0x2d2d79)[_0x16cb40(0x12d)](_0x5db240,'0');if(_0x3e3cb7===_0x16cb40(0x19a))return _0x24c517?''+_0x24c517+_0x5127e0+_0x39ea77:_0x39ea77;return _0x24c517?''+_0x24c517+_0x5127e0+_0x5a7b7d+_0x5127e0+_0x39ea77:''+_0x5a7b7d+_0x5127e0+_0x39ea77;}[a0_0x4a2846(0x11c)]({format:_0x195267,prefix:_0x3d107f,separator:_0xca51f8,numDigits:_0x32d3b9,number:_0x13430c}){const _0x3911a2=a0_0x4a2846,_0x538477={'ybePi':function(_0x4e5014,_0x4fec7){return _0x4e5014===_0x4fec7;},'XZtiS':_0x3911a2(0x19f),'Igytk':_0x3911a2(0xc2),'QLpVh':function(_0x107f6b,_0x131031){return _0x107f6b||_0x131031;}};if(typeof _0x13430c!==_0x3911a2(0xc8)||_0x538477['ybePi'](_0x13430c['length'],0x0))throw new IdGeneratorError(_0x3911a2(0x19f),_0x3911a2(0x160));const _0xe1edab=_0xca51f8||'',_0x96bfb4=_0xe1edab===''?[_0x13430c]:_0x13430c['split'](_0xe1edab);let _0x2a95e7='',_0x405ecb;if(_0x538477['ybePi'](_0x195267,'text')){if(_0x3d107f){if(_0x96bfb4['length']!==0x2||_0x96bfb4[0x0]!==_0x3d107f)throw new IdGeneratorError(_0x538477['XZtiS'],'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0xe1edab+_0x3911a2(0x1df)+_0x13430c+')');_0x405ecb=_0x96bfb4[0x1];}else{if(_0x96bfb4[_0x3911a2(0xd9)]!==0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x3911a2(0x141)+_0x13430c+')');_0x405ecb=_0x96bfb4[0x0];}}else{const _0x27736e=_0x3d107f?0x3:0x2;if(_0x96bfb4['length']!==_0x27736e)throw new IdGeneratorError(_0x538477[_0x3911a2(0x1d0)],_0x3911a2(0x1ac)+_0x13430c+_0x3911a2(0x14a)+_0x27736e+'\x20parts)');let _0x5aa841=0x0;if(_0x3d107f){if(_0x96bfb4[_0x5aa841]!==_0x3d107f)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20prefix\x20mismatch:\x20expected\x20'+_0x3d107f+_0x3911a2(0x110)+_0x96bfb4[_0x5aa841]);_0x5aa841++;}_0x2a95e7=_0x96bfb4[_0x5aa841++];const _0x265bea=_0x195267===_0x538477[_0x3911a2(0xee)]?/^\d{4}$/:_0x195267==='yyyymm'?/^\d{6}$/:/^\d{8}$/;if(!_0x265bea[_0x3911a2(0x134)](_0x2a95e7))throw new IdGeneratorError(_0x538477['XZtiS'],'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x195267+':\x20'+_0x2a95e7);_0x405ecb=_0x96bfb4[_0x5aa841];}if(!new RegExp('^\x5cd{'+_0x32d3b9+'}$')[_0x3911a2(0x134)](_0x405ecb))throw new IdGeneratorError(_0x538477['XZtiS'],'Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x32d3b9+'\x20digits\x20(got:\x20'+_0x405ecb+')');const _0x209d89=parseInt(_0x405ecb,0xa),_0x2d3d6d=_0x538477['QLpVh'](_0x3d107f,'_');let _0x2c073c;return _0x195267===_0x3911a2(0x19a)?_0x2c073c=_0x2d3d6d+_0x3911a2(0xeb):_0x2c073c=_0x2d3d6d+'_'+_0x195267+'_'+_0x2a95e7,{'formatKey':_0x2c073c,'counterInt':_0x209d89,'datePrefix':_0x2a95e7};}['_generateFromPattern'](_0x37a90c){const _0x1d92bc=a0_0x4a2846;let _0x519e65='';for(const _0x523ba3 of _0x37a90c){const _0x4e9667=PLACEHOLDER_MAP[_0x523ba3];if(_0x4e9667){const _0x11fac2=crypto['randomInt'](0x0,_0x4e9667[_0x1d92bc(0xd9)]);_0x519e65+=_0x4e9667[_0x11fac2];}else _0x519e65+=_0x523ba3;}return _0x519e65;}async[a0_0x4a2846(0x172)](_0x31756a){const _0x38ec43=a0_0x4a2846,_0x23ec17={'hglmo':'idgen_idem_retrieve_error','ovzxo':'Idempotency\x20retrieve\x20error'};if(!_0x31756a)return null;try{const _0x163669=redisClient['getClient'](),_0x28e983=await _0x163669['get'](_0x31756a);if(_0x28e983)return logger[_0x38ec43(0x116)]({'event':_0x38ec43(0x104),'key':_0x31756a},'Idempotency\x20cache\x20HIT'),JSON[_0x38ec43(0x18b)](_0x28e983);return null;}catch(_0x33f61e){return logger[_0x38ec43(0x146)]({'event':_0x23ec17[_0x38ec43(0xd5)],'error':_0x33f61e['message']},_0x23ec17['ovzxo']),null;}}async[a0_0x4a2846(0x15e)](_0x2ba7ae,_0x5bc584){const _0x2ffe65=a0_0x4a2846,_0x521bb5={'CzIIE':'idgen_idem_store_error','nKZxV':_0x2ffe65(0x145)};if(!_0x2ba7ae)return;try{const _0x1e52fa=redisClient['getClient']();await _0x1e52fa['setex'](_0x2ba7ae,this['idemTTL'],JSON['stringify'](_0x5bc584));}catch(_0x15ddc6){logger['warn']({'event':_0x521bb5['CzIIE'],'error':_0x15ddc6['message']},_0x521bb5['nKZxV']);}}async['_storeIdemCacheNX'](_0x60438,_0x4a41f3){const _0x788e1=a0_0x4a2846,_0x46ed11={'iKfjH':_0x788e1(0x199),'hWuZf':'Idempotency\x20SET\x20NX\x20error'};if(!_0x60438)return{'stored':!![],'winnerResult':null};try{const _0x33d967=redisClient['getClient'](),_0x203234=JSON[_0x788e1(0x19b)](_0x4a41f3),_0x3e2c3b=await _0x33d967['set'](_0x60438,_0x203234,'EX',this[_0x788e1(0x16f)],'NX');if(_0x3e2c3b==='OK')return{'stored':!![],'winnerResult':null};const _0x5ace3b=await _0x33d967['get'](_0x60438);if(_0x5ace3b)return{'stored':![],'winnerResult':JSON['parse'](_0x5ace3b)};return logger[_0x788e1(0x146)]({'event':_0x788e1(0x18a),'key':_0x60438},_0x788e1(0x12c)),{'stored':!![],'winnerResult':null};}catch(_0x38617a){return logger['warn']({'event':_0x46ed11[_0x788e1(0xde)],'error':_0x38617a[_0x788e1(0x126)]},_0x46ed11['hWuZf']),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x5755e2,_0x3f9b66,_0x1e5b06){const _0x42da97=a0_0x4a2846,_0x3a9d16={'toafW':'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)'};try{const _0x5403be=redisClient[_0x42da97(0x13d)]();if(_0x1e5b06){const _0x4158b3=this[_0x42da97(0xbc)](_0x5755e2,_0x3f9b66);await _0x5403be['del'](_0x4158b3);}else{const _0x5866c0=this[_0x42da97(0x1bd)](_0x5755e2);await _0x5403be['srem'](_0x5866c0,_0x3f9b66);}}catch(_0x478987){logger[_0x42da97(0x146)]({'event':_0x42da97(0x16d),'error':_0x478987[_0x42da97(0x126)]},_0x3a9d16[_0x42da97(0x1e0)]);}}async['_updateMeta'](_0x4f641d,_0x83b8cc,_0x33ebcd,_0x1c2e9e=0x0){const _0x40d890=a0_0x4a2846,_0x39fa66={'eVLds':function(_0x36a1c6,_0x4c9281){return _0x36a1c6>_0x4c9281;},'ERafW':_0x40d890(0x1c0),'IHSZZ':_0x40d890(0x1a8)};try{const _0x5d723b=redisClient[_0x40d890(0x13d)](),_0x47a222=this['_buildMetaKey'](_0x4f641d,_0x83b8cc),_0x2d48be=[];for(const [_0x3fc3f4,_0x568bff]of Object['entries'](_0x33ebcd)){_0x2d48be[_0x40d890(0x1d2)](_0x3fc3f4,String(_0x568bff));}if(_0x2d48be[_0x40d890(0xd9)]>0x0){await _0x5d723b['hset'](_0x47a222,..._0x2d48be);if(_0x39fa66['eVLds'](_0x1c2e9e,0x0))await _0x5d723b[_0x40d890(0x12e)](_0x47a222,_0x1c2e9e);}}catch(_0xe28b0b){logger['warn']({'event':_0x39fa66[_0x40d890(0x127)],'error':_0xe28b0b[_0x40d890(0x126)]},_0x39fa66['IHSZZ']);}}async[a0_0x4a2846(0xda)](_0x1da4a7){const _0x2e9d97=a0_0x4a2846,_0x347c03={'aawIY':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','CxsQq':function(_0x7e6195,_0x2961d8){return _0x7e6195(_0x2961d8);},'mhzpY':_0x2e9d97(0xd2),'UhRFY':'idgen_number_generated'};if(!this[_0x2e9d97(0x1e3)])throw new IdGeneratorError(_0x2e9d97(0xc3),_0x347c03['aawIY']);const _0x24a360=this['_validateNumberParams'](_0x1da4a7),_0x5cf5c7=this[_0x2e9d97(0xf4)](_0x1da4a7[_0x2e9d97(0x1a0)]),{resource:_0xd89c24,format:_0x1beb65,prefix:_0x8b4973,separator:_0x5a5ca2,numDigits:_0x32ea4b,reuseDelete:_0x1c5006}=_0x24a360,{formatKey:_0x4e19d3,datePrefix:_0x159f2e}=this[_0x2e9d97(0x13b)](_0x1beb65,_0x8b4973),_0x56cdf3=this[_0x2e9d97(0x11d)](_0xd89c24,_0x4e19d3),_0x321266=this['_buildReuseKey'](_0xd89c24,_0x4e19d3),_0xab9d15=this[_0x2e9d97(0x170)](_0x1beb65);let _0x37d8bf=null;if(_0x5cf5c7){_0x37d8bf=this[_0x2e9d97(0xcf)](_0x2e9d97(0xda),_0xd89c24,_0x4e19d3,_0x5cf5c7);const _0x3a9a75=await this['_retrieveIdemCache'](_0x37d8bf);if(_0x3a9a75)return _0x3a9a75;}const _0x2d5b46=redisClient[_0x2e9d97(0x13d)](),_0x2cdea8=await _0x2d5b46[_0x2e9d97(0x1c3)](LUA_GENERATE_NUMBER,0x2,_0x56cdf3,_0x321266,_0x1c5006?'1':'0',String(_0xab9d15)),_0x5be6f9=_0x2cdea8[0x0],_0x5b5b11=_0x2cdea8[0x1]===0x1,_0x3c8ad6=this['_formatNumber']({'format':_0x1beb65,'prefix':_0x8b4973,'datePrefix':_0x159f2e,'separator':_0x5a5ca2,'numDigits':_0x32ea4b,'counterInt':_0x5be6f9}),_0x986fc1={'value':_0x3c8ad6,'counter':_0x5be6f9,'resource':_0xd89c24,'formatKey':_0x4e19d3,'isReused':_0x5b5b11,'generatedAt':new Date()[_0x2e9d97(0x11e)]()},_0x53f03b=await this[_0x2e9d97(0x193)](_0x37d8bf,_0x986fc1);if(!_0x53f03b['stored']){try{await _0x2d5b46['eval'](LUA_RELEASE_NUMBER,0x1,_0x321266,String(_0x5be6f9),_0x347c03[_0x2e9d97(0xe3)](String,_0xab9d15));}catch(_0x50ffb6){logger['warn']({'event':_0x2e9d97(0x1da),'error':_0x50ffb6[_0x2e9d97(0x126)],'resource':_0xd89c24,'formatKey':_0x4e19d3,'counterInt':_0x5be6f9},_0x2e9d97(0xfa));}return logger[_0x2e9d97(0x116)]({'event':_0x347c03['mhzpY'],'resource':_0xd89c24,'formatKey':_0x4e19d3,'counter':_0x5be6f9},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x53f03b['winnerResult'];}return this['_updateMeta'](_0xd89c24,_0x4e19d3,{'lastValue':_0x3c8ad6,'lastCounter':_0x5be6f9,'lastIsReused':_0x5b5b11,'lastGeneratedAt':_0x986fc1[_0x2e9d97(0x18f)]},_0xab9d15),logger['info']({'event':_0x347c03[_0x2e9d97(0xbb)],'resource':_0xd89c24,'formatKey':_0x4e19d3,'counter':_0x5be6f9,'isReused':_0x5b5b11},_0x2e9d97(0xd6)+_0x3c8ad6),_0x986fc1;}async[a0_0x4a2846(0xed)](_0x353ded){const _0x489c54=a0_0x4a2846,_0x1a3781={'SpmDz':_0x489c54(0xc3),'mnqPt':'ID\x20Generator\x20is\x20disabled','HmQMW':function(_0x148abf,_0x353c09){return _0x148abf!==_0x353c09;},'FFwlR':_0x489c54(0xc8),'EGsSs':function(_0x4b3b9d,_0x34a5dd){return _0x4b3b9d===_0x34a5dd;},'nLcvL':_0x489c54(0x19f),'UlnPF':_0x489c54(0x1a2),'DlPvt':_0x489c54(0x19a),'kGHtP':_0x489c54(0x177),'XBWJK':function(_0x16570c,_0x147b66){return _0x16570c(_0x147b66);},'TZKdW':'idgen_number_released'};if(!this['enabled'])throw new IdGeneratorError(_0x1a3781[_0x489c54(0xe5)],_0x1a3781[_0x489c54(0x142)]);let _0x4f183b,_0x1e3411,_0x2c6b2e,_0x8c2211;const _0x1ee4bb=this['_validateIdempotencyKey'](_0x353ded['idempotencyKey']);if(_0x353ded['counterInt']!==undefined&&_0x1a3781['HmQMW'](_0x353ded['counterInt'],null)){this['_validateResource'](_0x353ded[_0x489c54(0x10a)]),_0x4f183b=_0x353ded['resource'];if(_0x1a3781[_0x489c54(0x100)](typeof _0x353ded[_0x489c54(0xb6)],_0x1a3781[_0x489c54(0xe2)])||_0x1a3781['EGsSs'](_0x353ded[_0x489c54(0xb6)][_0x489c54(0xd9)],0x0))throw new IdGeneratorError(_0x1a3781[_0x489c54(0x188)],_0x1a3781['UlnPF']);_0x1e3411=_0x353ded['formatKey'];if(!Number['isInteger'](_0x353ded['counterInt'])||_0x353ded[_0x489c54(0x103)]<0x1)throw new IdGeneratorError(_0x1a3781[_0x489c54(0x188)],_0x489c54(0x1cd)+_0x353ded[_0x489c54(0x103)]+')');_0x2c6b2e=_0x353ded[_0x489c54(0x103)];const _0x4f6a9f=_0x1e3411['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x8c2211=_0x4f6a9f?_0x4f6a9f[0x1]:_0x1a3781[_0x489c54(0xbe)];}else{const _0x2bcc44=this['_validateNumberParams'](_0x353ded),_0x25b9ff=this[_0x489c54(0x11c)]({'format':_0x2bcc44[_0x489c54(0x1b1)],'prefix':_0x2bcc44['prefix'],'separator':_0x2bcc44[_0x489c54(0x1ad)],'numDigits':_0x2bcc44['numDigits'],'number':_0x353ded[_0x489c54(0xda)]});_0x4f183b=_0x2bcc44[_0x489c54(0x10a)],_0x1e3411=_0x25b9ff['formatKey'],_0x2c6b2e=_0x25b9ff[_0x489c54(0x103)],_0x8c2211=_0x2bcc44['format'];}const _0x3a839a=this['_buildReuseKey'](_0x4f183b,_0x1e3411),_0x38203c=this['_getCounterTTL'](_0x8c2211);let _0x2a0be0=null;if(_0x1ee4bb){_0x2a0be0=this['_buildIdemKey'](_0x1a3781[_0x489c54(0x1d5)],_0x4f183b,_0x1e3411,_0x1ee4bb);const _0x4b2ac6=await this['_retrieveIdemCache'](_0x2a0be0);if(_0x4b2ac6)return _0x4b2ac6;}const _0x5963c5=redisClient[_0x489c54(0x13d)]();await _0x5963c5[_0x489c54(0x1c3)](LUA_RELEASE_NUMBER,0x1,_0x3a839a,_0x1a3781[_0x489c54(0x189)](String,_0x2c6b2e),_0x1a3781['XBWJK'](String,_0x38203c));const _0x1fe0dd={'released':!![],'resource':_0x4f183b,'formatKey':_0x1e3411,'counter':_0x2c6b2e,'releasedAt':new Date()[_0x489c54(0x11e)]()};return await this[_0x489c54(0x15e)](_0x2a0be0,_0x1fe0dd),this[_0x489c54(0x1a3)](_0x4f183b,_0x1e3411,{'lastReleasedCounter':_0x2c6b2e,'lastReleasedAt':_0x1fe0dd['releasedAt']},_0x38203c),logger['info']({'event':_0x1a3781['TZKdW'],'resource':_0x4f183b,'formatKey':_0x1e3411,'counter':_0x2c6b2e},'ID\x20Generator\x20number\x20released:\x20'+_0x2c6b2e),_0x1fe0dd;}async['reserveNumber'](_0x415913){const _0x17bdfb=a0_0x4a2846,_0x55f579={'LtIWC':'IDGEN_DISABLED','ZFRSA':function(_0x577fb3,_0x57f87f){return _0x577fb3+_0x57f87f;},'pwjcw':function(_0x347772,_0x14cf73){return _0x347772*_0x14cf73;},'lvXuS':function(_0x22f18b,_0x2fbaeb){return _0x22f18b*_0x2fbaeb;},'ZSRDv':_0x17bdfb(0xb6),'LFDQC':'prefix','VBrJf':'separator','oVCiI':_0x17bdfb(0x11a),'wDwqf':'datePrefix','oHqfa':function(_0x471159,_0x2709ab){return _0x471159||_0x2709ab;},'WxKUI':'createdAt','MbxNq':'expiresAt','jBHIW':function(_0x183668,_0x6758bf){return _0x183668(_0x6758bf);},'UmkDm':function(_0x11873b,_0x340d90){return _0x11873b(_0x340d90);},'YVqbd':function(_0x10da9b,_0x30c272){return _0x10da9b===_0x30c272;},'xTVDL':_0x17bdfb(0x169),'QtUxd':_0x17bdfb(0x1b6),'YJAnJ':_0x17bdfb(0x17a),'rudqy':'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser','HGvwE':_0x17bdfb(0x132),'PGYPf':_0x17bdfb(0xc6)};if(!this['enabled'])throw new IdGeneratorError(_0x55f579[_0x17bdfb(0xd7)],_0x17bdfb(0x14d));const _0x3a1507=this[_0x17bdfb(0x1e2)](_0x415913),_0x15602d=this[_0x17bdfb(0xe8)](_0x415913[_0x17bdfb(0xc4)]),_0x38183d=this['_validateIdempotencyKey'](_0x415913['idempotencyKey']),{resource:_0x1bf14f,format:_0xca1dc2,prefix:_0xc71f42,separator:_0x418c99,numDigits:_0x1cbceb,reuseDelete:_0x5d0a16}=_0x3a1507,{formatKey:_0x3c6af3,datePrefix:_0x28acca}=this[_0x17bdfb(0x13b)](_0xca1dc2,_0xc71f42),_0x2ad926=this['_buildSeqKey'](_0x1bf14f,_0x3c6af3),_0x243c51=this['_buildReuseKey'](_0x1bf14f,_0x3c6af3),_0xebe7ef=this[_0x17bdfb(0x119)](_0x1bf14f,_0x3c6af3),_0x431fd6=this[_0x17bdfb(0x170)](_0xca1dc2);let _0x269afb=null;if(_0x38183d){_0x269afb=this[_0x17bdfb(0xcf)](_0x17bdfb(0x1a1),_0x1bf14f,_0x3c6af3,_0x38183d);const _0x5e198f=await this['_retrieveIdemCache'](_0x269afb);if(_0x5e198f)return _0x5e198f;}const _0x125505=crypto['randomUUID'](),_0x7ddbb1=this['_buildReservationKey'](_0x125505),_0x162354=this[_0x17bdfb(0x101)](),_0xa7312=Date[_0x17bdfb(0x106)](),_0x5db552=_0x55f579[_0x17bdfb(0x1ce)](_0xa7312,_0x55f579['pwjcw'](_0x15602d,0x3e8)),_0xa99656=_0x55f579[_0x17bdfb(0x17d)](_0x15602d,0x3e8),_0x11c34a=new Date(_0xa7312)[_0x17bdfb(0x11e)](),_0x2dce55=new Date(_0x5db552)[_0x17bdfb(0x11e)](),_0x9ab6aa=[_0x17bdfb(0x10a),_0x1bf14f,_0x55f579['ZSRDv'],_0x3c6af3,'format',_0xca1dc2,_0x55f579[_0x17bdfb(0x1ab)],_0xc71f42,_0x55f579['VBrJf'],_0x418c99,_0x55f579['oVCiI'],String(_0x1cbceb),_0x55f579['wDwqf'],_0x55f579[_0x17bdfb(0xc1)](_0x28acca,''),_0x55f579['WxKUI'],_0x11c34a,_0x55f579['MbxNq'],_0x2dce55,'ttlMs',_0x55f579[_0x17bdfb(0x15b)](String,_0xa99656)];_0x38183d&&_0x9ab6aa[_0x17bdfb(0x1d2)](_0x17bdfb(0x166),_0x38183d);const _0x1f515e=redisClient['getClient'](),_0x4a0b41=await _0x1f515e[_0x17bdfb(0x1c3)](LUA_RESERVE_NUMBER,0x3,_0x2ad926,_0x243c51,_0xebe7ef,_0x5d0a16?'1':'0',String(_0x431fd6),_0x125505,_0x7ddbb1,_0x55f579[_0x17bdfb(0xb8)](String,_0xa99656),String(_0x5db552),String(_0xa7312),_0x162354,..._0x9ab6aa),_0x11aa8a=_0x4a0b41[0x0],_0x54c3bf=_0x55f579['YVqbd'](_0x4a0b41[0x1],0x1),_0x102062=_0x4a0b41[0x2]||0x0;let _0x537dba;try{_0x537dba=this[_0x17bdfb(0xf2)]({'format':_0xca1dc2,'prefix':_0xc71f42,'datePrefix':_0x28acca,'separator':_0x418c99,'numDigits':_0x1cbceb,'counterInt':_0x11aa8a});}catch(_0x5b2900){try{await _0x1f515e[_0x17bdfb(0x1c3)](LUA_CANCEL_RESERVATION,0x3,_0x7ddbb1,_0xebe7ef,_0x243c51,_0x125505,String(_0x431fd6));}catch(_0x919e3a){logger[_0x17bdfb(0x146)]({'event':_0x55f579['xTVDL'],'error':_0x919e3a['message'],'resource':_0x1bf14f,'formatKey':_0x3c6af3,'counterInt':_0x11aa8a,'token':_0x125505},_0x17bdfb(0x1c2));}throw _0x5b2900;}try{await _0x1f515e['hset'](_0x7ddbb1,_0x17bdfb(0x16a),_0x537dba);}catch(_0x5f5248){logger['warn']({'event':_0x55f579[_0x17bdfb(0x138)],'error':_0x5f5248['message'],'resource':_0x1bf14f,'formatKey':_0x3c6af3,'counterInt':_0x11aa8a,'token':_0x125505},_0x17bdfb(0x182));}const _0x12909d={'token':_0x125505,'value':_0x537dba,'counter':_0x11aa8a,'resource':_0x1bf14f,'formatKey':_0x3c6af3,'isReused':_0x54c3bf,'createdAt':_0x11c34a,'expiresAt':_0x2dce55,'reapedCount':_0x102062},_0x1ce135=await this[_0x17bdfb(0x193)](_0x269afb,_0x12909d);if(!_0x1ce135[_0x17bdfb(0xcc)]){try{await _0x1f515e[_0x17bdfb(0x1c3)](LUA_CANCEL_RESERVATION,0x3,_0x7ddbb1,_0xebe7ef,_0x243c51,_0x125505,_0x55f579[_0x17bdfb(0xb8)](String,_0x431fd6));}catch(_0x2a97db){logger[_0x17bdfb(0x146)]({'event':_0x55f579['YJAnJ'],'error':_0x2a97db['message'],'resource':_0x1bf14f,'formatKey':_0x3c6af3,'counterInt':_0x11aa8a,'token':_0x125505},_0x55f579['rudqy']);}return logger['info']({'event':_0x55f579[_0x17bdfb(0xef)],'resource':_0x1bf14f,'formatKey':_0x3c6af3,'counter':_0x11aa8a,'token':_0x125505},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1ce135['winnerResult'];}return this['_updateMeta'](_0x1bf14f,_0x3c6af3,{'lastReservedCounter':_0x11aa8a,'lastReservedAt':_0x11c34a,'lastReapedCount':_0x102062},_0x431fd6),logger[_0x17bdfb(0x116)]({'event':_0x55f579[_0x17bdfb(0x109)],'resource':_0x1bf14f,'formatKey':_0x3c6af3,'counter':_0x11aa8a,'isReused':_0x54c3bf,'token':_0x125505,'ttl':_0x15602d,'reapedCount':_0x102062},_0x17bdfb(0x1d4)+_0x537dba+_0x17bdfb(0xf7)+_0x125505+')'),_0x12909d;}async[a0_0x4a2846(0xd8)](_0x490c14){const _0x2c7933=a0_0x4a2846,_0x1faf28={'Jzpol':_0x2c7933(0x1c7),'cRfqU':_0x2c7933(0xec),'PlQmm':_0x2c7933(0xcd),'MiwKV':_0x2c7933(0x19a),'vooms':_0x2c7933(0x1d8)};if(!this['enabled'])throw new IdGeneratorError(_0x2c7933(0xc3),_0x1faf28[_0x2c7933(0x12a)]);const _0x4687e9=this[_0x2c7933(0x135)](_0x490c14&&_0x490c14[_0x2c7933(0x197)]),_0x17f57f=this[_0x2c7933(0xf4)](_0x490c14&&_0x490c14[_0x2c7933(0x1a0)]);let _0x1f08ad=null;if(_0x17f57f){_0x1f08ad=idempotencyManager[_0x2c7933(0x178)]('idgen',_0x1faf28[_0x2c7933(0x159)],_0x4687e9+':'+_0x17f57f);const _0x25c5ea=await this['_retrieveIdemCache'](_0x1f08ad);if(_0x25c5ea)return _0x25c5ea;}const _0x42d75c=await this[_0x2c7933(0x1bb)](_0x4687e9),_0x59ed74=redisClient['getClient'](),_0x14c902=await _0x59ed74[_0x2c7933(0x1c3)](LUA_CONFIRM_RESERVATION,0x2,_0x42d75c[_0x2c7933(0x140)],_0x42d75c['rsvIdxKey'],_0x4687e9);if(!_0x14c902||_0x14c902[0x0]!==0x1)throw new IdGeneratorError(_0x1faf28['PlQmm'],_0x2c7933(0x167)+_0x4687e9,{'token':_0x4687e9});const _0x37af4a=parseInt(_0x14c902[0x1],0xa),_0x1199fc=_0x14c902[0x2],_0x368992=_0x14c902[0x3],_0x5a8237=new Date()[_0x2c7933(0x11e)](),_0x599985={'confirmed':!![],'token':_0x4687e9,'value':_0x1199fc,'counter':_0x37af4a,'resource':_0x42d75c['resource'],'formatKey':_0x368992,'confirmedAt':_0x5a8237};await this['_storeIdemCache'](_0x1f08ad,_0x599985);const _0x34fd29=_0x368992['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2df711=_0x34fd29?_0x34fd29[0x1]:_0x1faf28[_0x2c7933(0x198)],_0x5dd300=this['_getCounterTTL'](_0x2df711);return this['_updateMeta'](_0x42d75c[_0x2c7933(0x10a)],_0x368992,{'lastConfirmedCounter':_0x37af4a,'lastConfirmedAt':_0x5a8237},_0x5dd300),logger[_0x2c7933(0x116)]({'event':_0x1faf28[_0x2c7933(0x15a)],'resource':_0x42d75c['resource'],'formatKey':_0x368992,'counter':_0x37af4a,'token':_0x4687e9},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x1199fc+'\x20(token='+_0x4687e9+')'),_0x599985;}async['cancelReservation'](_0x2cb7af){const _0x2c9d27=a0_0x4a2846,_0x2ba63d={'BxdFk':_0x2c9d27(0x148),'VlxFA':_0x2c9d27(0x19a),'LQdpf':function(_0x55167e,_0x4b15c8){return _0x55167e(_0x4b15c8);},'MsvyP':'IDGEN_RESERVATION_NOT_FOUND','PRxUw':function(_0x58ac2f,_0x297a77,_0x3c2b75){return _0x58ac2f(_0x297a77,_0x3c2b75);},'pqCUV':_0x2c9d27(0x19e)};if(!this['enabled'])throw new IdGeneratorError(_0x2c9d27(0xc3),_0x2c9d27(0x1c7));const _0x36568=this[_0x2c9d27(0x135)](_0x2cb7af&&_0x2cb7af['token']),_0x29d183=this['_validateIdempotencyKey'](_0x2cb7af&&_0x2cb7af['idempotencyKey']);let _0x4f546d=null;if(_0x29d183){_0x4f546d=idempotencyManager['buildDeterministicKey'](_0x2ba63d['BxdFk'],_0x2c9d27(0xb9),_0x36568+':'+_0x29d183);const _0x442709=await this['_retrieveIdemCache'](_0x4f546d);if(_0x442709)return _0x442709;}const _0x11fb74=await this[_0x2c9d27(0x1bb)](_0x36568),_0x55b6c7=this[_0x2c9d27(0xbd)](_0x11fb74['resource'],_0x11fb74[_0x2c9d27(0xb6)]),_0xdc9118=_0x11fb74['formatKey'][_0x2c9d27(0x1ae)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x1ffc67=_0xdc9118?_0xdc9118[0x1]:_0x2ba63d[_0x2c9d27(0x133)],_0x15a18d=this[_0x2c9d27(0x170)](_0x1ffc67),_0x5bd232=redisClient[_0x2c9d27(0x13d)](),_0x1d23c9=await _0x5bd232['eval'](LUA_CANCEL_RESERVATION,0x3,_0x11fb74['rsvKey'],_0x11fb74[_0x2c9d27(0x139)],_0x55b6c7,_0x36568,_0x2ba63d[_0x2c9d27(0xba)](String,_0x15a18d));if(!_0x1d23c9||_0x1d23c9[0x0]!==0x1)throw new IdGeneratorError(_0x2ba63d['MsvyP'],_0x2c9d27(0x167)+_0x36568,{'token':_0x36568});const _0x4fda4e=_0x2ba63d['PRxUw'](parseInt,_0x1d23c9[0x1],0xa),_0xdf602c=_0x1d23c9[0x2],_0x818378=_0x1d23c9[0x3],_0x284c42=new Date()[_0x2c9d27(0x11e)](),_0x3e369c={'cancelled':!![],'token':_0x36568,'value':_0xdf602c,'counter':_0x4fda4e,'resource':_0x11fb74[_0x2c9d27(0x10a)],'formatKey':_0x818378,'releasedToReuse':!![],'cancelledAt':_0x284c42};return await this['_storeIdemCache'](_0x4f546d,_0x3e369c),this['_updateMeta'](_0x11fb74['resource'],_0x818378,{'lastCancelledCounter':_0x4fda4e,'lastCancelledAt':_0x284c42},_0x15a18d),logger[_0x2c9d27(0x116)]({'event':_0x2ba63d['pqCUV'],'resource':_0x11fb74['resource'],'formatKey':_0x818378,'counter':_0x4fda4e,'token':_0x36568},_0x2c9d27(0xe1)+_0xdf602c+_0x2c9d27(0xf7)+_0x36568+')'),_0x3e369c;}async['extendReservation'](_0x57c79d){const _0x3ecdb3=a0_0x4a2846,_0x477509={'olIAm':'IDGEN_DISABLED','mliwx':'idgen','izPif':'reserve_extend','tuFsB':function(_0x3329fc,_0xa7edb2){return _0x3329fc+_0xa7edb2;},'GrpKJ':function(_0x3bb39e,_0x1c760e){return _0x3bb39e*_0x1c760e;},'kIjlS':function(_0x1e23f6,_0x4743ec){return _0x1e23f6(_0x4743ec);},'VZMtb':function(_0x761f2,_0x952686){return _0x761f2!==_0x952686;},'lMgPw':_0x3ecdb3(0xcd),'WTfnU':'idgen_reservation_extended'};if(!this['enabled'])throw new IdGeneratorError(_0x477509[_0x3ecdb3(0x180)],_0x3ecdb3(0x1c7));const _0x5f4491=this['_validateReservationToken'](_0x57c79d&&_0x57c79d[_0x3ecdb3(0x197)]),_0x1cd062=this['_validateReserveTTL'](_0x57c79d&&_0x57c79d['ttl']),_0x242f36=this['_validateIdempotencyKey'](_0x57c79d&&_0x57c79d['idempotencyKey']);let _0x2d4790=null;if(_0x242f36){_0x2d4790=idempotencyManager['buildDeterministicKey'](_0x477509[_0x3ecdb3(0x121)],_0x477509[_0x3ecdb3(0x13f)],_0x5f4491+':'+_0x242f36);const _0x31103d=await this[_0x3ecdb3(0x172)](_0x2d4790);if(_0x31103d)return _0x31103d;}const _0x69a80c=await this[_0x3ecdb3(0x1bb)](_0x5f4491),_0xdcaafb=Date[_0x3ecdb3(0x106)](),_0x58785f=_0x477509[_0x3ecdb3(0xc0)](_0xdcaafb,_0x477509['GrpKJ'](_0x1cd062,0x3e8)),_0x52895e=_0x1cd062*0x3e8,_0x2e21e4=new Date(_0x58785f)[_0x3ecdb3(0x11e)](),_0x5a367f=redisClient[_0x3ecdb3(0x13d)](),_0x163f18=await _0x5a367f['eval'](LUA_EXTEND_RESERVATION,0x2,_0x69a80c['rsvKey'],_0x69a80c['rsvIdxKey'],_0x5f4491,_0x477509['kIjlS'](String,_0x52895e),String(_0x58785f),_0x2e21e4);if(!_0x163f18||_0x477509['VZMtb'](_0x163f18[0x0],0x1))throw new IdGeneratorError(_0x477509[_0x3ecdb3(0x124)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x5f4491,{'token':_0x5f4491});const _0x5d8878=_0x163f18[0x1],_0x54489f=parseInt(_0x163f18[0x2],0xa),_0x2e82e7=_0x163f18[0x3],_0x12aa11=_0x163f18[0x4],_0xc584d5=new Date(_0xdcaafb)[_0x3ecdb3(0x11e)](),_0x5e5e29={'extended':!![],'token':_0x5f4491,'previousExpiresAt':_0x5d8878,'expiresAt':_0x2e21e4,'ttlMs':_0x52895e,'resource':_0x69a80c['resource'],'formatKey':_0x12aa11,'counter':_0x54489f,'value':_0x2e82e7,'extendedAt':_0xc584d5};await this[_0x3ecdb3(0x15e)](_0x2d4790,_0x5e5e29);const _0xeeb19=_0x12aa11[_0x3ecdb3(0x1ae)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0xce860f=_0xeeb19?_0xeeb19[0x1]:'text',_0x52beb2=this['_getCounterTTL'](_0xce860f);return this[_0x3ecdb3(0x1a3)](_0x69a80c['resource'],_0x12aa11,{'lastExtendedCounter':_0x54489f,'lastExtendedAt':_0xc584d5},_0x52beb2),logger[_0x3ecdb3(0x116)]({'event':_0x477509[_0x3ecdb3(0x184)],'resource':_0x69a80c['resource'],'formatKey':_0x12aa11,'counter':_0x54489f,'token':_0x5f4491,'ttl':_0x1cd062},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x2e82e7+_0x3ecdb3(0xf7)+_0x5f4491+',\x20+'+_0x1cd062+'s)'),_0x5e5e29;}async['getReservation'](_0x295343){const _0x38556d=a0_0x4a2846,_0x29021f={'sHnbR':'IDGEN_DISABLED','fqCEd':function(_0xf5f813,_0x2051de){return _0xf5f813===_0x2051de;},'DcHBy':_0x38556d(0xcd),'MFyBj':function(_0x35fb2e,_0x4e9349,_0x28e45c){return _0x35fb2e(_0x4e9349,_0x28e45c);},'iktDa':function(_0x13f09a,_0xaaf581){return _0x13f09a===_0xaaf581;},'EYWrx':function(_0x1e7c36,_0x1fbd3f){return _0x1e7c36>=_0x1fbd3f;}};if(!this['enabled'])throw new IdGeneratorError(_0x29021f[_0x38556d(0x175)],'ID\x20Generator\x20is\x20disabled');const _0x574d39=this[_0x38556d(0x135)](_0x295343&&_0x295343[_0x38556d(0x197)]),_0x30ef4b=this['_buildReservationKey'](_0x574d39),_0x3df94a=redisClient['getClient'](),_0x20e059=_0x3df94a['pipeline']();_0x20e059['hgetall'](_0x30ef4b),_0x20e059['pttl'](_0x30ef4b);const _0x3c3f57=await _0x20e059[_0x38556d(0x10b)](),_0x218715=_0x3c3f57&&_0x3c3f57[0x0]&&_0x3c3f57[0x0][0x1],_0x9aa474=_0x3c3f57&&_0x3c3f57[0x1]&&_0x3c3f57[0x1][0x1];if(!_0x218715||_0x29021f[_0x38556d(0xd0)](Object[_0x38556d(0xf5)](_0x218715)['length'],0x0))throw new IdGeneratorError(_0x29021f['DcHBy'],_0x38556d(0x167)+_0x574d39,{'token':_0x574d39});return{'token':_0x574d39,'resource':_0x218715['resource']||null,'formatKey':_0x218715[_0x38556d(0xb6)]||null,'format':_0x218715[_0x38556d(0x1b1)]||null,'prefix':_0x218715['prefix']||'','separator':_0x218715[_0x38556d(0x1ad)]||'','numDigits':_0x218715[_0x38556d(0x11a)]?_0x29021f[_0x38556d(0x16e)](parseInt,_0x218715[_0x38556d(0x11a)],0xa):null,'datePrefix':_0x218715['datePrefix']||'','counter':_0x218715[_0x38556d(0x12f)]?parseInt(_0x218715['counter'],0xa):null,'value':_0x218715['value']||null,'isReused':_0x218715[_0x38556d(0x144)]==='1'||_0x218715[_0x38556d(0x144)]===0x1,'createdAt':_0x218715[_0x38556d(0x125)]||null,'expiresAt':_0x218715['expiresAt']||null,'ttlRemainingMs':_0x29021f[_0x38556d(0x1dd)](typeof _0x9aa474,_0x38556d(0xda))&&_0x29021f['EYWrx'](_0x9aa474,0x0)?_0x9aa474:null};}async[a0_0x4a2846(0x1bb)](_0x50de71){const _0xa155c0=a0_0x4a2846,_0x57e2f0={'oQWbd':'resource','UBaap':'formatKey','kLYjL':function(_0x33df49,_0x61ccee){return _0x33df49||_0x61ccee;},'wPisv':_0xa155c0(0xcd)},_0x27873e=this[_0xa155c0(0x194)](_0x50de71),_0x15ba33=redisClient[_0xa155c0(0x13d)](),_0x29c4af=await _0x15ba33['hmget'](_0x27873e,_0x57e2f0[_0xa155c0(0xfc)],_0x57e2f0['UBaap']),_0xe35058=_0x29c4af&&_0x29c4af[0x0],_0x3ff9e9=_0x29c4af&&_0x29c4af[0x1];if(_0x57e2f0['kLYjL'](!_0xe35058,!_0x3ff9e9))throw new IdGeneratorError(_0x57e2f0['wPisv'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x50de71,{'token':_0x50de71});return{'resource':_0xe35058,'formatKey':_0x3ff9e9,'rsvKey':_0x27873e,'rsvIdxKey':this[_0xa155c0(0x119)](_0xe35058,_0x3ff9e9)};}async[a0_0x4a2846(0x179)](_0xafd7d5){const _0x5e7a31=a0_0x4a2846,_0x52c21c={'EOjBX':function(_0x4424a9,_0x21685a){return _0x4424a9<_0x21685a;},'JkJGS':function(_0x376e2d,_0x1e19b2){return _0x376e2d===_0x1e19b2;},'lHYGb':function(_0x512166,_0x3e0fd1){return _0x512166===_0x3e0fd1;},'JPLvc':function(_0x4c155a,_0x223990){return _0x4c155a&&_0x223990;},'UkKGx':function(_0x46aab3,_0x169a51){return _0x46aab3+_0x169a51;}};if(!this[_0x5e7a31(0x1e3)])throw new IdGeneratorError('IDGEN_DISABLED',_0x5e7a31(0x1c7));this[_0x5e7a31(0x1be)](_0xafd7d5[_0x5e7a31(0x10a)]),this['_validatePattern'](_0xafd7d5['pattern']);const _0x18664f=this['_validateTTL'](_0xafd7d5['ttl']),_0xa5ffb6=this[_0x5e7a31(0x131)](_0xafd7d5[_0x5e7a31(0x1b3)]),_0xe02180=this[_0x5e7a31(0xf4)](_0xafd7d5['idempotencyKey']),_0x3b95bf=_0xafd7d5[_0x5e7a31(0x1c1)]===!![],{resource:_0x106454,pattern:_0x246c60}=_0xafd7d5;let _0x17b5be=null;if(_0xe02180){_0x17b5be=this['_buildIdemKey']('random',_0x106454,null,_0xe02180);const _0x5d5193=await this['_retrieveIdemCache'](_0x17b5be);if(_0x5d5193)return _0x5d5193;}const _0x4c33f0=redisClient['getClient']();let _0xd09a03=null,_0x3519f0=0x0;if(!_0x3b95bf)_0xd09a03=this[_0x5e7a31(0x190)](_0x246c60),_0x3519f0=0x1;else{for(let _0x2c0a20=0x0;_0x52c21c[_0x5e7a31(0x174)](_0x2c0a20,_0xa5ffb6);_0x2c0a20++){_0x3519f0++;const _0x2fa42f=this['_generateFromPattern'](_0x246c60);if(_0x18664f){const _0x6e274a=this[_0x5e7a31(0xbc)](_0x106454,_0x2fa42f),_0x50db3f=await _0x4c33f0['set'](_0x6e274a,'1','EX',_0x18664f,'NX');if(_0x52c21c[_0x5e7a31(0x1d3)](_0x50db3f,'OK')){_0xd09a03=_0x2fa42f;break;}}else{const _0x17d46b=this[_0x5e7a31(0x1bd)](_0x106454),_0x21a4ba=await _0x4c33f0['sadd'](_0x17d46b,_0x2fa42f);if(_0x52c21c[_0x5e7a31(0xce)](_0x21a4ba,0x1)){_0xd09a03=_0x2fa42f;break;}}}if(_0xd09a03===null)throw new IdGeneratorError(_0x5e7a31(0x16c),_0x5e7a31(0x113)+_0xa5ffb6+_0x5e7a31(0xfb),{'resource':_0x106454,'pattern':_0x246c60,'maxRetry':_0xa5ffb6});}const _0x2f4f9d={'value':_0xd09a03,'resource':_0x106454,'pattern':_0x246c60,'attemptCount':_0x3519f0,'generatedAt':new Date()[_0x5e7a31(0x11e)]()};_0x52c21c[_0x5e7a31(0x15c)](_0x18664f,_0x3b95bf)&&(_0x2f4f9d['expiresAt']=new Date(_0x52c21c[_0x5e7a31(0x1d1)](Date['now'](),_0x18664f*0x3e8))['toISOString']());const _0x3f2fd1=await this['_storeIdemCacheNX'](_0x17b5be,_0x2f4f9d);if(!_0x3f2fd1[_0x5e7a31(0xcc)])return _0x3b95bf&&await this['_undoRandomReservation'](_0x106454,_0xd09a03,_0x18664f),logger[_0x5e7a31(0x116)]({'event':'idgen_random_idem_loser','resource':_0x106454,'pattern':_0x246c60,'value':_0xd09a03},_0x5e7a31(0x1cb)),_0x3f2fd1['winnerResult'];return logger['info']({'event':'idgen_random_generated','resource':_0x106454,'pattern':_0x246c60,'attemptCount':_0x3519f0,'ensureUnique':_0x3b95bf,'ttl':_0x18664f||0x0},_0x5e7a31(0x13a)+_0xd09a03),_0x2f4f9d;}async[a0_0x4a2846(0x186)](_0x145a58){const _0x43c4a9=a0_0x4a2846,_0x6d95bd={'CEqfi':function(_0x42fa0c,_0x371995){return _0x42fa0c<_0x371995;},'ZYEYY':function(_0x1cba91,_0x2b28d7){return _0x1cba91>_0x2b28d7;}},_0x5ae486=_0x145a58[_0x43c4a9(0xca)]==null?this['defaultPinDigits']:_0x145a58['digits'];if(!Number[_0x43c4a9(0xb5)](_0x5ae486)||_0x6d95bd[_0x43c4a9(0xc9)](_0x5ae486,MIN_PIN_DIGITS)||_0x6d95bd[_0x43c4a9(0x112)](_0x5ae486,MAX_PIN_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_DIGITS','Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x43c4a9(0x12b)+_0x5ae486+')');const _0x36c1e7='9'['repeat'](_0x5ae486);return this['random']({'resource':_0x145a58[_0x43c4a9(0x10a)],'pattern':_0x36c1e7,'ensureUnique':_0x145a58[_0x43c4a9(0x1c1)]===!![],'ttl':_0x145a58['ttl'],'maxRetry':_0x145a58['maxRetry'],'idempotencyKey':_0x145a58[_0x43c4a9(0x1a0)]});}async['serial'](_0x30668f){const _0x51f5fd=a0_0x4a2846,_0x2455a1={'BNhWg':function(_0x9c3f85,_0x28f594){return _0x9c3f85!==_0x28f594;}},_0x4aec21=_0x30668f[_0x51f5fd(0x11b)]||this[_0x51f5fd(0x18c)];return this[_0x51f5fd(0x179)]({'resource':_0x30668f['resource'],'pattern':_0x4aec21,'ensureUnique':_0x2455a1['BNhWg'](_0x30668f[_0x51f5fd(0x1c1)],![]),'ttl':_0x30668f['ttl'],'maxRetry':_0x30668f['maxRetry'],'idempotencyKey':_0x30668f['idempotencyKey']});}async[a0_0x4a2846(0xfd)](_0x3cfd6b){const _0x23b8d8=a0_0x4a2846,_0x230a32=_0x3cfd6b['pattern']||this['defaultCodePattern'];return this['random']({'resource':_0x3cfd6b[_0x23b8d8(0x10a)],'pattern':_0x230a32,'ensureUnique':_0x3cfd6b['ensureUnique']!==![],'ttl':_0x3cfd6b[_0x23b8d8(0xc4)],'maxRetry':_0x3cfd6b[_0x23b8d8(0x1b3)],'idempotencyKey':_0x3cfd6b[_0x23b8d8(0x1a0)]});}async[a0_0x4a2846(0x161)](_0x391e1d){const _0x9a00e7=a0_0x4a2846,_0xeb298b={'hUDqR':'IDGEN_DISABLED','dPEGe':'IDGEN_INVALID_NUMBER','GVPZG':_0x9a00e7(0xff),'WkhbP':function(_0x2c3ee2,_0x437633){return _0x2c3ee2>_0x437633;},'gCouG':function(_0x482e7b,_0x23f47c){return _0x482e7b+_0x23f47c;},'jNaZf':'idgen_consumed'};if(!this[_0x9a00e7(0x1e3)])throw new IdGeneratorError(_0xeb298b['hUDqR'],'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x391e1d['resource']);if(typeof _0x391e1d['value']!==_0x9a00e7(0xc8)||_0x391e1d['value'][_0x9a00e7(0xd9)]===0x0)throw new IdGeneratorError(_0xeb298b['dPEGe'],_0xeb298b['GVPZG']);const {resource:_0xbc92d9,value:_0x10b93a}=_0x391e1d,_0x5a4bad=redisClient['getClient'](),_0x2bc228=this[_0x9a00e7(0xbc)](_0xbc92d9,_0x10b93a),_0x29b661=this[_0x9a00e7(0x1bd)](_0xbc92d9),[_0x2f2be0,_0x570dcf]=await Promise[_0x9a00e7(0x123)]([_0x5a4bad[_0x9a00e7(0x107)](_0x2bc228),_0x5a4bad['srem'](_0x29b661,_0x10b93a)]),_0x479621=_0xeb298b[_0x9a00e7(0x1cc)](_0xeb298b['gCouG'](_0x2f2be0,_0x570dcf),0x0);return logger[_0x9a00e7(0x116)]({'event':_0xeb298b[_0x9a00e7(0xf0)],'resource':_0xbc92d9,'value':_0x10b93a,'consumed':_0x479621},'ID\x20Generator\x20consumed:\x20'+_0x10b93a),{'consumed':_0x479621,'resource':_0xbc92d9,'value':_0x10b93a,'consumedAt':new Date()['toISOString']()};}async[a0_0x4a2846(0x1b0)](_0x2a7505){const _0x5f2fed=a0_0x4a2846,_0x126d57={'RoGlS':_0x5f2fed(0xc3),'xrtwf':_0x5f2fed(0x19a),'ZjzoH':_0x5f2fed(0x18d),'pBBFF':'number','ZeDtv':'random','IXKgl':function(_0x2e143a,_0x171e89){return _0x2e143a||_0x171e89;}};if(!this[_0x5f2fed(0x1e3)])throw new IdGeneratorError(_0x126d57[_0x5f2fed(0xf9)],'ID\x20Generator\x20is\x20disabled');this[_0x5f2fed(0x1be)](_0x2a7505[_0x5f2fed(0x10a)]);const _0x54a40d=_0x2a7505[_0x5f2fed(0x122)]||'number',_0x1c9d85=redisClient[_0x5f2fed(0x13d)]();if(_0x54a40d===_0x5f2fed(0xda)){const _0x2a7a64=(_0x2a7505['format']||_0x126d57[_0x5f2fed(0x14c)])[_0x5f2fed(0x1db)]();if(!ALLOWED_FORMATS[_0x5f2fed(0x1d9)](_0x2a7a64))throw new IdGeneratorError(_0x126d57[_0x5f2fed(0x1ba)],_0x5f2fed(0x14b)+_0x2a7505[_0x5f2fed(0x1b1)]);const {formatKey:_0x4664b8}=this['_buildFormatKey'](_0x2a7a64,_0x2a7505['prefix']||''),_0x2f9f1f=this[_0x5f2fed(0x11d)](_0x2a7505['resource'],_0x4664b8),_0x3c7f79=this['_buildReuseKey'](_0x2a7505['resource'],_0x4664b8),[_0x57bee7,_0x149e25]=await Promise['all']([_0x1c9d85[_0x5f2fed(0x1a7)](_0x2f9f1f),_0x1c9d85['zcard'](_0x3c7f79)]);return{'resource':_0x2a7505[_0x5f2fed(0x10a)],'mode':_0x126d57['pBBFF'],'formatKey':_0x4664b8,'currentCounter':parseInt(_0x57bee7,0xa)||0x0,'reusePoolSize':_0x149e25||0x0};}if(_0x54a40d===_0x126d57[_0x5f2fed(0x155)]){const _0x2080c8=this[_0x5f2fed(0x1bd)](_0x2a7505[_0x5f2fed(0x10a)]),_0x53ffe5=await _0x1c9d85[_0x5f2fed(0x1d7)](_0x2080c8);return{'resource':_0x2a7505['resource'],'mode':'random','issuedCount':_0x126d57['IXKgl'](_0x53ffe5,0x0)};}throw new IdGeneratorError(_0x5f2fed(0xe7),'Unknown\x20mode:\x20'+_0x54a40d);}async[a0_0x4a2846(0x1c9)](_0x453425){const _0x1c53a3=a0_0x4a2846,_0x39a0ed={'GKffu':function(_0x42c0e6,_0x15c50e){return _0x42c0e6===_0x15c50e;},'BMVvg':_0x1c53a3(0xda),'JPQOQ':function(_0x23e30a,_0x344a55){return _0x23e30a>_0x344a55;}},_0x298c16=await this['peek'](_0x453425);if(_0x39a0ed[_0x1c53a3(0x176)](_0x298c16[_0x1c53a3(0x122)],_0x39a0ed['BMVvg'])){const _0x3e790e=redisClient[_0x1c53a3(0x13d)](),_0x386550=this[_0x1c53a3(0x1c5)](_0x453425['resource'],_0x298c16['formatKey']),_0xd870c2=this[_0x1c53a3(0xbd)](_0x453425[_0x1c53a3(0x10a)],_0x298c16[_0x1c53a3(0xb6)]),[_0x470147,_0x450fe]=await Promise[_0x1c53a3(0x123)]([_0x3e790e['hgetall'](_0x386550),_0x3e790e[_0x1c53a3(0x17c)](_0xd870c2,0x0,-0x1)]);return{..._0x298c16,'reusePoolValues':_0x450fe[_0x1c53a3(0x181)](_0x5ca328=>parseInt(_0x5ca328,0xa)),'meta':_0x470147&&_0x39a0ed['JPQOQ'](Object[_0x1c53a3(0xf5)](_0x470147)[_0x1c53a3(0xd9)],0x0)?_0x470147:null};}return _0x298c16;}async[a0_0x4a2846(0x1d6)](_0x559169){const _0x4d487f=a0_0x4a2846,_0x48f878={'QKgHC':'ID\x20Generator\x20is\x20disabled','VnWyq':function(_0x348f7f,_0x1515c5){return _0x348f7f===_0x1515c5;},'DaNCu':'text','nYQGP':'IDGEN_INVALID_FORMAT','eFkCU':'number','XZpnP':_0x4d487f(0x105),'QnYTE':_0x4d487f(0x1bf),'oKMeW':_0x4d487f(0x108),'IWfFH':function(_0x5dbd3d,_0x439101){return _0x5dbd3d===_0x439101;},'jvywf':'random'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x48f878['QKgHC']);if(!this['allowReset'])throw new IdGeneratorError('IDGEN_RESET_NOT_ALLOWED',_0x4d487f(0xd3));this['_validateResource'](_0x559169[_0x4d487f(0x10a)]);const _0x527086=_0x559169['mode']||_0x4d487f(0xda),_0x5819df=redisClient[_0x4d487f(0x13d)]();if(_0x48f878[_0x4d487f(0x187)](_0x527086,'number')){const _0x15c68c=(_0x559169['format']||_0x48f878['DaNCu'])['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x15c68c))throw new IdGeneratorError(_0x48f878[_0x4d487f(0x1aa)],_0x4d487f(0x14b)+_0x559169['format']);const {formatKey:_0x729ab8}=this['_buildFormatKey'](_0x15c68c,_0x559169[_0x4d487f(0x1b9)]||''),_0x4050cc=this[_0x4d487f(0x11d)](_0x559169['resource'],_0x729ab8),_0x13fc16=this[_0x4d487f(0xbd)](_0x559169[_0x4d487f(0x10a)],_0x729ab8),_0x71a76c=this['_buildMetaKey'](_0x559169[_0x4d487f(0x10a)],_0x729ab8);return await _0x5819df['del'](_0x4050cc,_0x13fc16,_0x71a76c),logger[_0x4d487f(0x146)]({'event':_0x4d487f(0x154),'resource':_0x559169['resource'],'mode':_0x48f878['eFkCU'],'formatKey':_0x729ab8},_0x4d487f(0x195)+_0x559169[_0x4d487f(0x10a)]+':'+_0x729ab8),{'reset':!![],'resource':_0x559169[_0x4d487f(0x10a)],'mode':_0x48f878[_0x4d487f(0x10f)],'formatKey':_0x729ab8,'deletedKeys':[_0x48f878[_0x4d487f(0x1a5)],_0x48f878['QnYTE'],_0x48f878[_0x4d487f(0x1b2)]]};}if(_0x48f878['IWfFH'](_0x527086,'random')){const _0x8da60e=this['_buildIssuedKey'](_0x559169['resource']);return await _0x5819df['del'](_0x8da60e),logger['warn']({'event':_0x4d487f(0x154),'resource':_0x559169['resource'],'mode':_0x48f878['jvywf']},'ID\x20Generator\x20reset:\x20random:'+_0x559169[_0x4d487f(0x10a)]),{'reset':!![],'resource':_0x559169[_0x4d487f(0x10a)],'mode':_0x4d487f(0x179),'deletedKeys':['issued']};}throw new IdGeneratorError(_0x4d487f(0xe7),_0x4d487f(0x1c6)+_0x527086);}}const instance=new IdGenerator();function a0_0xd1e7(){const _0xf7fc7d=['C3rYAw5NAwz5','z2nJtwG','lwrPz2L0ignHCgfJAxr5icG','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','surhru5Fsu5wquXjrf9ovu1crvi','AwrLBxbVDgvUy3LlzxK','CMvZzxj2zq','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','x3vWzgf0zu1LDge','ignOyxjZicHNB3qGBgvUz3rOoIa','wfPWBLa','x2TLEvbYzwzPEa','z2v0','twv0ysb1CgrHDguGzxjYB3i','x2LUAxrPywXPEMvK','BLLrr1a','tezeuum','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','C2vWyxjHDg9Y','Bwf0y2G','x3L5ExLTBv8','CgvLAW','zM9YBwf0','B0TnzvC','Bwf4uMv0CNK','zgvMyxvSDe1HEfjLDhj5','tM56Bui','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','q21trxG','zgvMyxvSDfbPBKrPz2L0CW','ChjLzML4','wMP6B0G','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','surhru5Fsurftv9uveW','x2j1AwXKsxnZDwvKs2v5','x3zHBgLKyxrLuMvZB3vYy2u','CMv1C2u','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','zw5ZDxjLvw5PCxvL','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','zxzHBa','surhru5Fsu5wquXjrf9trvbbuKfut1i','x2j1AwXKtwv0yuTLEq','vw5RBM93BIbTB2rLoIa','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','x2rLzMf1BhrnyxHszxrYEq','z2v0sw5MBW','ihnLy29UzhmGkgDVDdOG','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','v2TOyLa','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','wKzsu0e','rK5YDxC','wfP0Avm','vwTlr3G','ChvZAa','sMTkr1m','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','A0DiDfa','CMvZzxq','C2nHCMq','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','AgfZ','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','Dg9mB3DLCKnHC2u','qLblBwG','AwT0rge','twzwAeC','CgfKzgvKicHNB3q6ia','Dg9HzLC','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','zw5HyMXLza','nJbmtNnjtwu','AxnjBNrLz2vY','zM9YBwf0s2v5','surhru5Fsu5wquXjrf9uveW','vw1Rrg0','CMvZzxj2zv9Jyw5JzwW','tffKCgy','vwHsrLK','x2j1AwXKqwn0AxzLs2v5','x2j1AwXKuMv1C2vlzxK','rgXqDNq','C2vXoG','DhvgC0i','B0HXzMe','ExL5Eq','surhru5FreLtqujmruq','DhrS','q2LmBMW','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','C3rYAw5N','q0vXzMK','zgLNAxrZ','vu1dsM4','C3rVCMvK','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','BeHzr2i','x2j1AwXKswrLBuTLEq','zNfdrwq','nJG1ndq5C2XJAeDy','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','AgDSBw8','suqGr2vUzxjHDg9Yig51BwjLCJOG','thrjv0m','y29UzMLYBvjLC2vYDMf0Aw9U','BgvUz3rO','BNvTyMvY','C2TPBLu','x2rLzMf1BhrdB2rLugf0DgvYBG','x2vUC3vYzuLUAxrPywXPEMvK','AuTMAKG','A2v5uhjLzML4','x3jLC2vYDMvnyxHuveW','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','rKz3Bfi','q3HZuxe','x3L5ExLTBwrKxW','u3bTrhO','surhru5Frevgqvvmvf9qsu5FreLhsvrt','surhru5Fsu5wquXjrf9nt0rf','x3zHBgLKyxrLuMvZzxj2zvruta','x2fSBg93uMvZzxq','x3bHzdi','x3rLEhq','CMvZzxj2zv9JB25MAxjT','CMvSzwfZzu51BwjLCG','swD5DgS','seD2D0u','AK5HwMy','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','x2zVCM1HDe51BwjLCG','BMfTzq','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','A2v5CW','mdeYmZq1nJC4oq','icH0B2TLBJ0','sMr3uLG','uM9hBfm','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','igf0DgvTChrZlIbjBMnYzwfZzsbWyxr0zxjUigXLBMD0AcbVCIbTyxHszxrYEs4','B1fxyMq','y29Kzq','D2nhqxO','DMfSDwuGAxmGCMvXDwLYzwq','sg1rtvC','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','ywn0AxzLoG','y291BNrLCKLUDa','AwrNzw5FAwrLBv9OAxq','C2vX','BM93','zgvS','Bwv0yq','ueDzugy','CMvZB3vYy2u','zxHLyW','mtK3odrmt0j5Dhy','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','x2vUywjSzwq','zuzRq1u','lcbNB3qG','ELnwCKW','wLLfwvK','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','Aw5MBW','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','BNvTrgLNAxrZ','Cgf0DgvYBG','x3bHCNnLtNvTyMvY','x2j1AwXKu2vXs2v5','Dg9ju09tDhjPBMC','mJq4mduZmNjxDLz2Ea','AuTyANG','BwXPD3G','Bw9Kzq','ywXS','Be1NuhC','y3jLyxrLzef0','BwvZC2fNzq','rvjHzLC','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','otq5mJa0tM9HvhbK','sNPWB2W','icHNB3q6ia','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','CgfKu3rHCNq','zxHWAxjL','y291BNrLCG','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','x3zHBgLKyxrLtwf4uMv0CNK','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','vMX4rKe','DgvZDa','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','surhru5Fsu5wquXjrf9srvnpvvjdrq','zw52','uxrvEgq','CNn2swr4s2v5','suqGr2vUzxjHDg9YihjHBMrVBtOG','x2j1AwXKrM9YBwf0s2v5','yNncuKi','z2v0q2XPzw50','CMy6AwrNzw46','AxPqAwy','CNn2s2v5','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','Bw5Xuhq','surhru5Fsu5wquXjrf9ut0TftG','AxnszxvZzwq','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','D2fYBG','rK10qLy','AwrNzw4','x3jLC2vYDMvezwzHDwX0vfrm','lcbLEhbLy3rLzca','sw52ywXPzcbMB3jTyxq6ia','Ehj0D2y','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','otK5os05otK5','sNPbtfm','rwnSDxi','x2rLzMf1BhrtzxjPywXqyxr0zxjU','BMThzfq','igv4y2vLzhmG','AwrNzw5FCMvZzxq','wMveDhy','mtC3mxr0CgjHrq','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','surhru5Fq09vtLrfuL9pvKvsrKXpvW','y1jMCvu','DM9VBxm','AKjisvC','sLbmDMm','whzOB2C','x3n0B3jLswrLBunHy2HL','CMvZzxj2zurLzMf1BhruveW','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','y29UC3vTzq','ueHft2m','nw52wxLIBW','x2LKzw1uveW','quPTwKC','AwrLBuTLEq','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','zgv0ywLSCW','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','DMfSDwu','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','tuz5qMO','AwrLBvruta','x2DLDenVDw50zxjuveW','AwrNzw5Fy29UzMLNx2LUAxq','x3jLDhjPzxzLswrLBunHy2HL','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','ru9QqLG','C0HUyLi','r0TMzNu','CMvSzwfZzq','yNvPBgrezxrLCM1PBMLZDgLJs2v5','CMfUzg9T','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','v0H5BKq','ENjHBMDL','BhzyDvm','mty4mJeWmfbLvwnzAa','Dhj1zq','B2Xjqw0','BwfW','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','x3L5ExLF','v1rMBLu','mta0ndK1n0fUzejtzG','CgLU','vM5xExe','BKXJDKW','wejxsKS','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','CgfYC2u','zgvMyxvSDfnLCMLHBfbHDhrLCM4','surhru5Fsu5wquXjrf9gt1jnqvq','surhru5FquXmt1DFuKvtrvq','z2vUzxjHDgvKqxq','x2DLBMvYyxrLrNjVBvbHDhrLCM4','wKvbuxC','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','x3n0B3jLswrLBunHy2HLtLG','x2j1AwXKuMvZzxj2yxrPB25lzxK','suqGr2vUzxjHDg9YihjLC2v0oIa','nJm5nZG3oev5zezKuG','Dg9Rzw4','twL3s1y','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','Dgv4Da'];a0_0xd1e7=function(){return _0xf7fc7d;};return a0_0xd1e7();}instance['IdGeneratorError']=IdGeneratorError,module['exports']=instance,module['exports']['IdGeneratorError']=IdGeneratorError;
@@ -1 +1 @@
1
- 'use strict';const a0_0x1310c3=a0_0x555c;(function(_0x9cea52,_0x49b35d){const _0x34be8e=a0_0x555c,_0xd45ff7=_0x9cea52();while(!![]){try{const _0x3e43e3=-parseInt(_0x34be8e(0x124))/0x1+-parseInt(_0x34be8e(0x10e))/0x2*(parseInt(_0x34be8e(0x10d))/0x3)+parseInt(_0x34be8e(0x112))/0x4*(-parseInt(_0x34be8e(0xfe))/0x5)+-parseInt(_0x34be8e(0x11c))/0x6*(parseInt(_0x34be8e(0x11d))/0x7)+parseInt(_0x34be8e(0x127))/0x8*(-parseInt(_0x34be8e(0x11e))/0x9)+-parseInt(_0x34be8e(0x126))/0xa+parseInt(_0x34be8e(0x104))/0xb*(parseInt(_0x34be8e(0x107))/0xc);if(_0x3e43e3===_0x49b35d)break;else _0xd45ff7['push'](_0xd45ff7['shift']());}catch(_0x2cc6c6){_0xd45ff7['push'](_0xd45ff7['shift']());}}}(a0_0x4ce1,0xb3877));function a0_0x555c(_0x222966,_0x3f3d93){_0x222966=_0x222966-0xfe;const _0x4ce123=a0_0x4ce1();let _0x555cbe=_0x4ce123[_0x222966];if(a0_0x555c['QjtvOJ']===undefined){var _0x1157c9=function(_0x4c003a){const _0x5b0522='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4438b7='',_0x523fb5='';for(let _0x3ce13a=0x0,_0xf773f6,_0x3f3647,_0x4d0b9b=0x0;_0x3f3647=_0x4c003a['charAt'](_0x4d0b9b++);~_0x3f3647&&(_0xf773f6=_0x3ce13a%0x4?_0xf773f6*0x40+_0x3f3647:_0x3f3647,_0x3ce13a++%0x4)?_0x4438b7+=String['fromCharCode'](0xff&_0xf773f6>>(-0x2*_0x3ce13a&0x6)):0x0){_0x3f3647=_0x5b0522['indexOf'](_0x3f3647);}for(let _0x5331c1=0x0,_0x1261d0=_0x4438b7['length'];_0x5331c1<_0x1261d0;_0x5331c1++){_0x523fb5+='%'+('00'+_0x4438b7['charCodeAt'](_0x5331c1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x523fb5);};a0_0x555c['fnnTBO']=_0x1157c9,a0_0x555c['EDMzcp']={},a0_0x555c['QjtvOJ']=!![];}const _0x2c618d=_0x4ce123[0x0],_0x255c60=_0x222966+_0x2c618d,_0x364542=a0_0x555c['EDMzcp'][_0x255c60];return!_0x364542?(_0x555cbe=a0_0x555c['fnnTBO'](_0x555cbe),a0_0x555c['EDMzcp'][_0x255c60]=_0x555cbe):_0x555cbe=_0x364542,_0x555cbe;}function a0_0x4ce1(){const _0x4ccd26=['zgvMyxvSDa','x3r0Ba','CMv0CMLLDMu','Aw5MBW','AwrLBxbVDgvUy3LFBwLZCW','C3rHDhvZq29Kzq','mZmXmdGYnfbbwLDgDG','n2LAB3brtW','oxfSs21Jvq','DhrS','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','C2v0zxG','Cgf0Aa','BwvZC2fNzq','nJi1ndGXze13EurY','yNvPBgrlzxK','oda3nZC1mfHrBxb5uW','nZeZmty4mhHdD2fyyG','nwHfEgnVrG','A3f4rM0','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','x2LUAxrPywXPEMvK','lcbuveW6ia','swrLBxbVDgvUy3KGy2fJAguGseLu','nJa4mdKYodDtuKXIsMC','lI9SB2DNzxi','CMfUzg9Tvvvjra','mtjYyMDqrKm','C3bSAxq','x2vUC3vYzuLUAxrPywXPEMvK','zxHWB3j0CW','zw52','z2vUzxjHDgvlzxK','mta2nti4mM5Zte9ZqG','nfvbrwzxBG','Dw5RBM93BG','EKvhDMK','zxjYB3i','ndGYndiZmKrvu2fNvW','zw5HyMXLza','Bffgz0O','x2vUywjSzwq'];a0_0x4ce1=function(){return _0x4ccd26;};return a0_0x4ce1();}const redisClient=require('./redis-client'),{logger}=require(a0_0x1310c3(0x105)),crypto=require('crypto');class IdempotencyManager{constructor(){const _0x1b75f2=a0_0x1310c3;this[_0x1b75f2(0x115)]=null,this['_ttl']=null,this['_initialized']=![];}['_initConfig'](){const _0x35e833=a0_0x1310c3,_0x54d6a9={'lQFgJ':function(_0x4a2293,_0x578a9a){return _0x4a2293===_0x578a9a;},'kIVwI':'true','FkJnE':function(_0x574f7b,_0x34f95e,_0xe1aa45){return _0x574f7b(_0x34f95e,_0xe1aa45);}};this['_enabled']=_0x54d6a9[_0x35e833(0x114)](process[_0x35e833(0x10b)]['IDEMPOTENCY_ENABLED'],_0x54d6a9['kIVwI']),this['_ttl']=_0x54d6a9['FkJnE'](parseInt,process[_0x35e833(0x10b)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger[_0x35e833(0x119)]({'event':'idempotency_config_init','enabled':this['_enabled'],'ttl':this['_ttl']},_0x35e833(0x100)+this[_0x35e833(0x115)]+_0x35e833(0x102)+this[_0x35e833(0x117)]+'s');}[a0_0x1310c3(0x109)](){const _0x3c5386=a0_0x1310c3;!this[_0x3c5386(0x101)]&&this['_initConfig']();}get[a0_0x1310c3(0x113)](){const _0x31f6bc=a0_0x1310c3;return this['_ensureInitialized'](),this[_0x31f6bc(0x115)];}get[a0_0x1310c3(0x11f)](){const _0x2486e7=a0_0x1310c3;return this[_0x2486e7(0x109)](),this[_0x2486e7(0x117)];}['isEnabled'](){return this['enabled'];}[a0_0x1310c3(0x125)](_0x57214c,_0x47d679){const _0x48ae48=a0_0x1310c3,_0x4dd14f={'crkuz':_0x48ae48(0x116),'MPgXP':_0x48ae48(0x10f)},_0xf7563b=_0x47d679[_0x48ae48(0x122)][_0x48ae48(0x108)]('/')['filter'](Boolean),_0x536416=_0xf7563b[0x0]||_0x4dd14f['crkuz'],_0x2b6d15=_0xf7563b[0x1]||'unknown',_0x1e378e=_0xf7563b[0x2]||_0x4dd14f['MPgXP'];return'rf:idem:'+_0x536416+':'+_0x2b6d15+':'+_0x1e378e+':'+_0x57214c;}async['store'](_0x40c92a,_0x1ef9de){const _0x349142=a0_0x1310c3,_0x18b4ae={'kqxFm':'idempotency_store_error'};if(!this[_0x349142(0x113)])return![];try{const _0x33aebb=redisClient['getClient']();return await _0x33aebb[_0x349142(0x121)](_0x40c92a,this[_0x349142(0x11f)],JSON['stringify'](_0x1ef9de)),logger['debug']({'event':'idempotency_store','key':_0x40c92a,'ttl':this[_0x349142(0x11f)],'statusCode':_0x1ef9de[_0x349142(0x11b)]},'Idempotency\x20response\x20stored'),!![];}catch(_0x419a60){return logger[_0x349142(0x111)]({'event':_0x18b4ae[_0x349142(0xff)],'key':_0x40c92a,'error':_0x419a60['message']},_0x349142(0x120)+_0x419a60['message']),![];}}async[a0_0x1310c3(0x118)](_0x2e355e){const _0x1551fc=a0_0x1310c3,_0x273356={'fugiI':'idempotency_hit','hYGjJ':_0x1551fc(0x103),'zEGvi':_0x1551fc(0x11a)};if(!this['enabled'])return null;try{const _0x51faa8=redisClient['getClient'](),_0x5d88cc=await _0x51faa8['get'](_0x2e355e);if(_0x5d88cc)return logger[_0x1551fc(0x119)]({'event':_0x273356['fugiI'],'key':_0x2e355e},_0x273356['hYGjJ']),JSON['parse'](_0x5d88cc);return logger['debug']({'event':_0x273356[_0x1551fc(0x110)],'key':_0x2e355e},'Idempotency\x20cache\x20MISS'),null;}catch(_0x1661e8){return logger['error']({'event':'idempotency_retrieve_error','key':_0x2e355e,'error':_0x1661e8['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x1661e8[_0x1551fc(0x123)]),null;}}[a0_0x1310c3(0x10c)](_0x37f095='req'){const _0x1a7740=a0_0x1310c3;return _0x37f095+'_'+crypto[_0x1a7740(0x106)]();}['buildDeterministicKey'](_0x2b806e,_0x197c84,_0x37dc88){return _0x2b806e+':'+_0x197c84+':'+_0x37dc88;}}module[a0_0x1310c3(0x10a)]=new IdempotencyManager();
1
+ 'use strict';function a0_0x122c(_0x3cb3c2,_0x4f12a7){_0x3cb3c2=_0x3cb3c2-0x13d;const _0xd9986f=a0_0xd998();let _0x122ccb=_0xd9986f[_0x3cb3c2];if(a0_0x122c['NLBNnM']===undefined){var _0x376511=function(_0x4af35f){const _0x3ad0dd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e782c='',_0x551c79='';for(let _0x5df89b=0x0,_0x1e3257,_0x120cf6,_0x1cd937=0x0;_0x120cf6=_0x4af35f['charAt'](_0x1cd937++);~_0x120cf6&&(_0x1e3257=_0x5df89b%0x4?_0x1e3257*0x40+_0x120cf6:_0x120cf6,_0x5df89b++%0x4)?_0x4e782c+=String['fromCharCode'](0xff&_0x1e3257>>(-0x2*_0x5df89b&0x6)):0x0){_0x120cf6=_0x3ad0dd['indexOf'](_0x120cf6);}for(let _0x6576c1=0x0,_0x14d576=_0x4e782c['length'];_0x6576c1<_0x14d576;_0x6576c1++){_0x551c79+='%'+('00'+_0x4e782c['charCodeAt'](_0x6576c1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x551c79);};a0_0x122c['vEiMTx']=_0x376511,a0_0x122c['MUETHo']={},a0_0x122c['NLBNnM']=!![];}const _0x578187=_0xd9986f[0x0],_0x27d76f=_0x3cb3c2+_0x578187,_0x570cae=a0_0x122c['MUETHo'][_0x27d76f];return!_0x570cae?(_0x122ccb=a0_0x122c['vEiMTx'](_0x122ccb),a0_0x122c['MUETHo'][_0x27d76f]=_0x122ccb):_0x122ccb=_0x570cae,_0x122ccb;}const a0_0x2d73e2=a0_0x122c;(function(_0x3ddb60,_0x373cee){const _0xe6e8ba=a0_0x122c,_0x3045f3=_0x3ddb60();while(!![]){try{const _0x2a5cad=-parseInt(_0xe6e8ba(0x151))/0x1+parseInt(_0xe6e8ba(0x157))/0x2+-parseInt(_0xe6e8ba(0x14e))/0x3*(parseInt(_0xe6e8ba(0x141))/0x4)+-parseInt(_0xe6e8ba(0x14a))/0x5*(-parseInt(_0xe6e8ba(0x15a))/0x6)+parseInt(_0xe6e8ba(0x145))/0x7+-parseInt(_0xe6e8ba(0x158))/0x8+-parseInt(_0xe6e8ba(0x15c))/0x9*(parseInt(_0xe6e8ba(0x143))/0xa);if(_0x2a5cad===_0x373cee)break;else _0x3045f3['push'](_0x3045f3['shift']());}catch(_0x203183){_0x3045f3['push'](_0x3045f3['shift']());}}}(a0_0xd998,0x2e48c));function a0_0xd998(){const _0x27aa6a=['x2vUywjSzwq','EeD6zuy','CMfUzg9Tvvvjra','m3vXqxnQEG','DvnpEwC','AwrLBxbVDgvUy3LFAgL0','mJK3otK1zhHwDuHt','y3j5ChrV','C3bSAxq','swrLBxbVDgvUy3KGy2fJAguGseLu','AxnfBMfIBgvK','CMvX','nZe2odeWserOrxLm','otm4mdi0uKz1Eure','yNvPBgrlzxK','mtqXmZbJruvqEMy','DhrS','mJDcEMjmqM0','lcbuveW6ia','Aw5MBW','BwvZC2fNzq','Cgf0Aa','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i6ia','zxjYB3i','x2LUAxrdB25MAwC','yxL1zeS','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','s0TMCee','x2vUC3vYzuLUAxrPywXPEMvK','mta1odq4A0XVrffW','surftvbpvevoq1LFvfrm','mta1nZK3mhzhzK5rzG','CK1Lqwq','mtG0mduXn3L1C3rvra','zgvMyxvSDa','x3r0Ba','B0zQtha','zw5HyMXLza','nJK1wxfru2zx'];a0_0xd998=function(){return _0x27aa6a;};return a0_0xd998();}const redisClient=require('./redis-client'),{logger}=require('./logger'),crypto=require(a0_0x2d73e2(0x152));class IdempotencyManager{constructor(){const _0x37c45f=a0_0x2d73e2;this['_enabled']=null,this[_0x37c45f(0x147)]=null,this['_initialized']=![];}['_initConfig'](){const _0x423b8f=a0_0x2d73e2,_0x4ef4dd={'ayudK':function(_0x5e2e14,_0x22a34c){return _0x5e2e14===_0x22a34c;},'BeTuZ':function(_0x2a68b4,_0xa742ef,_0x6e0c79){return _0x2a68b4(_0xa742ef,_0x6e0c79);}};this[_0x423b8f(0x14b)]=_0x4ef4dd[_0x423b8f(0x13d)](process['env']['IDEMPOTENCY_ENABLED'],'true'),this[_0x423b8f(0x147)]=_0x4ef4dd['BeTuZ'](parseInt,process['env'][_0x423b8f(0x142)],0xa)||0x12c,this['_initialized']=!![],logger[_0x423b8f(0x15e)]({'event':'idempotency_config_init','enabled':this['_enabled'],'ttl':this[_0x423b8f(0x147)]},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x423b8f(0x15d)+this[_0x423b8f(0x147)]+'s');}[a0_0x2d73e2(0x140)](){const _0x4aa7b8=a0_0x2d73e2;!this['_initialized']&&this[_0x4aa7b8(0x163)]();}get[a0_0x2d73e2(0x149)](){const _0x11d396=a0_0x2d73e2;return this['_ensureInitialized'](),this[_0x11d396(0x14b)];}get[a0_0x2d73e2(0x15b)](){const _0x2e5d81=a0_0x2d73e2;return this[_0x2e5d81(0x140)](),this[_0x2e5d81(0x147)];}[a0_0x2d73e2(0x155)](){const _0x30f048=a0_0x2d73e2;return this[_0x30f048(0x149)];}[a0_0x2d73e2(0x159)](_0x3c1db1,_0x2fc632){const _0x6935bd=a0_0x2d73e2,_0x551339={'uSOyg':_0x6935bd(0x146)},_0x3d525e=_0x2fc632[_0x6935bd(0x160)][_0x6935bd(0x153)]('/')['filter'](Boolean),_0x25c8bc=_0x3d525e[0x0]||_0x551339[_0x6935bd(0x14f)],_0x3b9d5d=_0x3d525e[0x1]||'unknown',_0x1efa30=_0x3d525e[0x2]||'unknown';return'rf:idem:'+_0x25c8bc+':'+_0x3b9d5d+':'+_0x1efa30+':'+_0x3c1db1;}async['store'](_0x31680a,_0x3e340b){const _0x23bb24=a0_0x2d73e2,_0xf3651={'xGzeF':'idempotency_store','oFjLp':'idempotency_store_error'};if(!this[_0x23bb24(0x149)])return![];try{const _0x49a601=redisClient['getClient']();return await _0x49a601['setex'](_0x31680a,this['ttl'],JSON['stringify'](_0x3e340b)),logger['debug']({'event':_0xf3651[_0x23bb24(0x14c)],'key':_0x31680a,'ttl':this[_0x23bb24(0x15b)],'statusCode':_0x3e340b['statusCode']},_0x23bb24(0x13e)),!![];}catch(_0x4277a4){return logger[_0x23bb24(0x162)]({'event':_0xf3651[_0x23bb24(0x148)],'key':_0x31680a,'error':_0x4277a4['message']},'Idempotency\x20store\x20error:\x20'+_0x4277a4[_0x23bb24(0x15f)]),![];}}async['retrieve'](_0x2a321c){const _0x3c23be=a0_0x2d73e2,_0x52bd6c={'zogHh':_0x3c23be(0x150),'ZdOkL':'idempotency_miss','KKfpA':'Idempotency\x20cache\x20MISS','rMeAd':'idempotency_retrieve_error'};if(!this[_0x3c23be(0x149)])return null;try{const _0x1c1741=redisClient['getClient'](),_0x454ee7=await _0x1c1741['get'](_0x2a321c);if(_0x454ee7)return logger[_0x3c23be(0x15e)]({'event':_0x52bd6c['zogHh'],'key':_0x2a321c},_0x3c23be(0x154)),JSON['parse'](_0x454ee7);return logger['debug']({'event':_0x52bd6c['ZdOkL'],'key':_0x2a321c},_0x52bd6c[_0x3c23be(0x13f)]),null;}catch(_0x223e1){return logger[_0x3c23be(0x162)]({'event':_0x52bd6c[_0x3c23be(0x144)],'key':_0x2a321c,'error':_0x223e1[_0x3c23be(0x15f)]},_0x3c23be(0x161)+_0x223e1[_0x3c23be(0x15f)]),null;}}['generateKey'](_0x34a38c=a0_0x2d73e2(0x156)){const _0x542056=a0_0x2d73e2;return _0x34a38c+'_'+crypto[_0x542056(0x14d)]();}['buildDeterministicKey'](_0x34f466,_0x9ca1d0,_0x34adbe){return _0x34f466+':'+_0x9ca1d0+':'+_0x34adbe;}}module['exports']=new IdempotencyManager();
@@ -1 +1 @@
1
- const a0_0x289465=a0_0x1a3d;function a0_0x559d(){const _0x31be66=['DMfSAwrHDgvsB3C','BNvTyMvY','ChvZAa','zLnSEwS','CMvXDwLYzwq','suT5C3m','s3HerhO','DgvZDa','ndqZofHfyLjYBW','D1DfwMC','uxvssuS','mZmZmJi5mKPotMLXCa','AgfZ','DMfSAwrHDgvqAg9Uzq','zxHWB3j0CW','mJyZrNn5Bgrj','A2v5CW','DMfSAwrHDgvvCMW','mtiXotvtwwHYBgC','BgvUz3rO','BM9VCve','sw52ywXPzcbUDw1IzxiGzM9YBwf0','ntbfsvPjuNq','zM9YrwfJAa','nZaWoenhtg9XqW','mti2mZKZz0LpDxvS','ndi0ugrqCgH1','mJC0otm1mvvgEKrltG','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','yMf0y2HwywXPzgf0zvjVD3m','lI9SB2DNzxi','nJG4nJqWnezbyxDKCG','ndbKuLzisw8','zM9YBwf0','C2v0','q1n6Bge','DMvvrMK','BwfW'];a0_0x559d=function(){return _0x31be66;};return a0_0x559d();}(function(_0x537538,_0x43c61c){const _0x59cf82=a0_0x1a3d,_0x54af5d=_0x537538();while(!![]){try{const _0x141f0a=-parseInt(_0x59cf82(0xc5))/0x1*(parseInt(_0x59cf82(0xa8))/0x2)+-parseInt(_0x59cf82(0xa9))/0x3+-parseInt(_0x59cf82(0xb0))/0x4*(parseInt(_0x59cf82(0xc8))/0x5)+-parseInt(_0x59cf82(0xc1))/0x6+-parseInt(_0x59cf82(0xbe))/0x7*(-parseInt(_0x59cf82(0xaa))/0x8)+parseInt(_0x59cf82(0xaf))/0x9+-parseInt(_0x59cf82(0xa6))/0xa*(-parseInt(_0x59cf82(0xab))/0xb);if(_0x141f0a===_0x43c61c)break;else _0x54af5d['push'](_0x54af5d['shift']());}catch(_0x41b471){_0x54af5d['push'](_0x54af5d['shift']());}}}(a0_0x559d,0x7b4b0));const {logger}=require(a0_0x289465(0xae));function a0_0x1a3d(_0x22811c,_0xfa3e7c){_0x22811c=_0x22811c-0xa4;const _0x559d6e=a0_0x559d();let _0x1a3d00=_0x559d6e[_0x22811c];if(a0_0x1a3d['OzwlpD']===undefined){var _0x1c4d11=function(_0x4a1223){const _0x1afbcc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcc141c='',_0x4f39f8='';for(let _0x115f74=0x0,_0x231489,_0x55fea3,_0x3bb4cf=0x0;_0x55fea3=_0x4a1223['charAt'](_0x3bb4cf++);~_0x55fea3&&(_0x231489=_0x115f74%0x4?_0x231489*0x40+_0x55fea3:_0x55fea3,_0x115f74++%0x4)?_0xcc141c+=String['fromCharCode'](0xff&_0x231489>>(-0x2*_0x115f74&0x6)):0x0){_0x55fea3=_0x1afbcc['indexOf'](_0x55fea3);}for(let _0x555614=0x0,_0x5b72f9=_0xcc141c['length'];_0x555614<_0x5b72f9;_0x555614++){_0x4f39f8+='%'+('00'+_0xcc141c['charCodeAt'](_0x555614)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f39f8);};a0_0x1a3d['NhrVQT']=_0x1c4d11,a0_0x1a3d['aOvxQc']={},a0_0x1a3d['OzwlpD']=!![];}const _0x226e43=_0x559d6e[0x0],_0x2c4be2=_0x22811c+_0x226e43,_0x53558f=a0_0x1a3d['aOvxQc'][_0x2c4be2];return!_0x53558f?(_0x1a3d00=a0_0x1a3d['NhrVQT'](_0x1a3d00),a0_0x1a3d['aOvxQc'][_0x2c4be2]=_0x1a3d00):_0x1a3d00=_0x53558f,_0x1a3d00;}class ImportValidator{[a0_0x289465(0xb6)](_0x120954,_0x4a9bf6=[],_0x2caefc={}){const _0x3f1fab=a0_0x289465,_0x3957fc={'veUFi':function(_0x854340,_0x683b75){return _0x854340===_0x683b75;},'QPnLT':function(_0x506d08,_0x4f5fa1){return _0x506d08===_0x4f5fa1;}},_0x19a5ef=[];return _0x4a9bf6[_0x3f1fab(0xa7)](_0xb8e827=>{const _0x1b77f3=_0x3f1fab,_0x5c095c=_0x120954[_0xb8e827];(_0x5c095c===null||_0x3957fc['veUFi'](_0x5c095c,undefined)||_0x3957fc['QPnLT'](_0x5c095c,''))&&_0x19a5ef[_0x1b77f3(0xb8)]({'field':_0xb8e827,'type':_0x1b77f3(0xba),'message':'Required\x20field\x20is\x20empty'});}),Object[_0x3f1fab(0xc6)](_0x2caefc)['forEach'](_0xb227bb=>{const _0x41b786=_0x3f1fab,_0x34cded=_0x120954[_0xb227bb],_0x2a7cc1=_0x2caefc[_0xb227bb];if(_0x3957fc[_0x41b786(0xb4)](_0x34cded,null)||_0x3957fc[_0x41b786(0xb4)](_0x34cded,undefined)||_0x3957fc['QPnLT'](_0x34cded,''))return;const _0x15665e=this['validateFieldFormat'](_0xb227bb,_0x34cded,_0x2a7cc1);_0x15665e&&_0x19a5ef['push'](_0x15665e);}),_0x19a5ef;}['validateFieldFormat'](_0x5864d4,_0x26ab9e,_0x1599e1){const _0x5ea2f1=a0_0x289465,_0x5925be={'KxDDz':'email','CSzla':_0x5ea2f1(0xb7)};switch(_0x1599e1){case _0x5925be[_0x5ea2f1(0xbc)]:return this['validateEmail'](_0x5864d4,_0x26ab9e);case'phone':return this[_0x5ea2f1(0xc3)](_0x5864d4,_0x26ab9e);case'url':return this[_0x5ea2f1(0xc7)](_0x5864d4,_0x26ab9e);case _0x5925be[_0x5ea2f1(0xb3)]:return this['validateNumber'](_0x5864d4,_0x26ab9e);default:return null;}}['validateEmail'](_0x365d74,_0x48a42a){const _0x4c9b51=a0_0x289465,_0x1c5b37={'fSlyk':'Invalid\x20email\x20format'},_0x2ea1ce=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x2ea1ce['test'](String(_0x48a42a)))return{'field':_0x365d74,'type':_0x4c9b51(0xb1),'message':_0x1c5b37[_0x4c9b51(0xb9)]};return null;}['validatePhone'](_0xa994a4,_0x5e43d2){const _0x51a48e=a0_0x289465,_0x35d90c={'wWEZg':function(_0xb2cff1,_0x329da7){return _0xb2cff1<_0x329da7;},'IKyss':'Invalid\x20phone\x20format'},_0x51fc82=String(_0x5e43d2)['replace'](/\s+/g,''),_0x3748ed=/^[\d\+\-\(\)]+$/;if(!_0x3748ed[_0x51a48e(0xbd)](_0x51fc82)||_0x35d90c[_0x51a48e(0xbf)](_0x51fc82['length'],0x8))return{'field':_0xa994a4,'type':'format','message':_0x35d90c[_0x51a48e(0xbb)]};return null;}['validateUrl'](_0x253cc1,_0x3fb747){const _0x9f9e73=a0_0x289465;try{return new URL(String(_0x3fb747)),null;}catch(_0xd81d1a){return{'field':_0x253cc1,'type':_0x9f9e73(0xb1),'message':'Invalid\x20URL\x20format'};}}['validateNumber'](_0x152be6,_0x358c17){const _0x4bcd0d=a0_0x289465,_0x3577c4={'QuRIK':_0x4bcd0d(0xb1),'nooqQ':_0x4bcd0d(0xa5)};if(isNaN(_0x358c17))return{'field':_0x152be6,'type':_0x3577c4[_0x4bcd0d(0xc0)],'message':_0x3577c4[_0x4bcd0d(0xa4)]};return null;}['detectDuplicatesInFile'](_0x300c9e,_0x24bc7c){const _0x4a375a=new Map(),_0x4aafe6=[];return _0x300c9e['forEach']((_0x1e8153,_0x27bd32)=>{const _0xc7ffbe=a0_0x1a3d,_0x342b12=_0x24bc7c[_0xc7ffbe(0xb5)](_0x18cba1=>_0x1e8153[_0x18cba1])['join']('|');_0x4a375a[_0xc7ffbe(0xc2)](_0x342b12)?_0x4aafe6['push']({'rowIndex':_0x27bd32,'duplicateOf':_0x4a375a['get'](_0x342b12),'key':_0x342b12}):_0x4a375a[_0xc7ffbe(0xb2)](_0x342b12,_0x27bd32);}),_0x4aafe6;}[a0_0x289465(0xad)](_0x2ddf46,_0x5c86be,_0x389d11){const _0x213dde=a0_0x289465,_0x51c7cf={'gQgEy':_0x213dde(0xac)},_0x4fe1e5=[];return _0x2ddf46['forEach']((_0x1404df,_0xa3a253)=>{const _0x11feec=_0x213dde,_0x366933=this[_0x11feec(0xb6)](_0x1404df,_0x5c86be,_0x389d11);_0x366933[_0x11feec(0xc9)]>0x0&&_0x4fe1e5[_0x11feec(0xb8)]({'rowIndex':_0xa3a253,'rowData':_0x1404df,'errors':_0x366933});}),logger['info']({'event':_0x51c7cf['gQgEy'],'totalRows':_0x2ddf46[_0x213dde(0xc9)],'errorCount':_0x4fe1e5['length']},'Batch\x20validation\x20completed'),_0x4fe1e5;}}module[a0_0x289465(0xc4)]=new ImportValidator();
1
+ const a0_0x42933d=a0_0x2737;function a0_0x2737(_0x48ddff,_0x3286a6){_0x48ddff=_0x48ddff-0x175;const _0x260839=a0_0x2608();let _0x273711=_0x260839[_0x48ddff];if(a0_0x2737['kbPBue']===undefined){var _0x3735d2=function(_0x27d991){const _0x18af3e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x13abab='',_0x1f0449='';for(let _0x5d961e=0x0,_0x431550,_0x46125f,_0x572d61=0x0;_0x46125f=_0x27d991['charAt'](_0x572d61++);~_0x46125f&&(_0x431550=_0x5d961e%0x4?_0x431550*0x40+_0x46125f:_0x46125f,_0x5d961e++%0x4)?_0x13abab+=String['fromCharCode'](0xff&_0x431550>>(-0x2*_0x5d961e&0x6)):0x0){_0x46125f=_0x18af3e['indexOf'](_0x46125f);}for(let _0x5bcc68=0x0,_0xc943e2=_0x13abab['length'];_0x5bcc68<_0xc943e2;_0x5bcc68++){_0x1f0449+='%'+('00'+_0x13abab['charCodeAt'](_0x5bcc68)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f0449);};a0_0x2737['zyYuGc']=_0x3735d2,a0_0x2737['JVlJDf']={},a0_0x2737['kbPBue']=!![];}const _0x4bf68a=_0x260839[0x0],_0x39b77b=_0x48ddff+_0x4bf68a,_0x2d6224=a0_0x2737['JVlJDf'][_0x39b77b];return!_0x2d6224?(_0x273711=a0_0x2737['zyYuGc'](_0x273711),a0_0x2737['JVlJDf'][_0x39b77b]=_0x273711):_0x273711=_0x2d6224,_0x273711;}(function(_0x511592,_0x57d2c1){const _0x5becdf=a0_0x2737,_0x14adff=_0x511592();while(!![]){try{const _0x8139ca=parseInt(_0x5becdf(0x187))/0x1*(parseInt(_0x5becdf(0x176))/0x2)+-parseInt(_0x5becdf(0x192))/0x3*(parseInt(_0x5becdf(0x184))/0x4)+-parseInt(_0x5becdf(0x181))/0x5+-parseInt(_0x5becdf(0x199))/0x6*(-parseInt(_0x5becdf(0x178))/0x7)+-parseInt(_0x5becdf(0x177))/0x8*(-parseInt(_0x5becdf(0x18b))/0x9)+parseInt(_0x5becdf(0x180))/0xa*(parseInt(_0x5becdf(0x188))/0xb)+-parseInt(_0x5becdf(0x17b))/0xc*(parseInt(_0x5becdf(0x183))/0xd);if(_0x8139ca===_0x57d2c1)break;else _0x14adff['push'](_0x14adff['shift']());}catch(_0xd53c46){_0x14adff['push'](_0x14adff['shift']());}}}(a0_0x2608,0xe22ed));const {logger}=require(a0_0x42933d(0x197));function a0_0x2608(){const _0x5f1bcf=['mZuZAgfOEwLn','mtfpv2TxuNu','DMfSAwrHDgvfBwfPBa','Aw5MBW','ntr0B2rutKC','CfnTCem','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','DMfSAwrHDgvgAwvSzezVCM1HDa','BgvUz3rO','CgHVBMu','veL0z0u','mJe4nJfOBKHqswu','DgvZDa','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','qufUAK4','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','lI9SB2DNzxi','y0jMAfu','otCYAgD5rwTL','A2rgBgq','sw52ywXPzcbWAg9UzsbMB3jTyxq','ChvZAa','AM9PBG','mtaWmtHWqMToqKu','mtC3mtaWmhrUsNjdsa','nZi0otLKu2fNug8','ueDHt2i','DMfSAwrHDgvsB3C','mtjpqKHmuxC','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','sw52ywXPzcbLBwfPBcbMB3jTyxq','DMfSAwrHDgvvCMW','DMfSAwrHDgvoDw1Izxi','ndq3nZa2mgjjwuziwa','nZeYnti4nvvkAMP4tG','zw1HAwW','mtCWndm2mtfcqMzqy2C','odu2y2vxqxHp','zM9YrwfJAa','DwXqz0y'];a0_0x2608=function(){return _0x5f1bcf;};return a0_0x2608();}class ImportValidator{[a0_0x42933d(0x17a)](_0x236e0f,_0x28ee30=[],_0xdaa4f5={}){const _0x2fb70d=a0_0x42933d,_0x2922fe={'kdFld':function(_0x2a34c9,_0x5d2f9a){return _0x2a34c9===_0x5d2f9a;},'AAnjN':function(_0x2826a0,_0x44ddb2){return _0x2826a0===_0x44ddb2;}},_0x2b9020=[];return _0x28ee30['forEach'](_0x2b9f38=>{const _0x151dd5=a0_0x2737,_0x3d02c7=_0x236e0f[_0x2b9f38];(_0x2922fe['kdFld'](_0x3d02c7,null)||_0x2922fe[_0x151dd5(0x195)](_0x3d02c7,undefined)||_0x2922fe[_0x151dd5(0x19a)](_0x3d02c7,''))&&_0x2b9020['push']({'field':_0x2b9f38,'type':'required','message':_0x151dd5(0x17c)});}),Object['keys'](_0xdaa4f5)[_0x2fb70d(0x185)](_0x545aea=>{const _0x50d499=_0x236e0f[_0x545aea],_0x51d0a7=_0xdaa4f5[_0x545aea];if(_0x50d499===null||_0x2922fe['AAnjN'](_0x50d499,undefined)||_0x50d499==='')return;const _0x4d1892=this['validateFieldFormat'](_0x545aea,_0x50d499,_0x51d0a7);_0x4d1892&&_0x2b9020['push'](_0x4d1892);}),_0x2b9020;}[a0_0x42933d(0x18e)](_0x33a299,_0x2c6440,_0x57a108){const _0x3cf84a=a0_0x42933d,_0x596ff7={'TItgE':_0x3cf84a(0x182),'VwEcu':'url'};switch(_0x57a108){case _0x596ff7[_0x3cf84a(0x191)]:return this[_0x3cf84a(0x189)](_0x33a299,_0x2c6440);case _0x3cf84a(0x190):return this['validatePhone'](_0x33a299,_0x2c6440);case _0x596ff7['VwEcu']:return this[_0x3cf84a(0x17e)](_0x33a299,_0x2c6440);case'number':return this[_0x3cf84a(0x17f)](_0x33a299,_0x2c6440);default:return null;}}[a0_0x42933d(0x189)](_0x31bd29,_0x3fe08e){const _0x28a390=a0_0x42933d,_0x5417d4={'fgmgF':function(_0x4cf36b,_0x367d35){return _0x4cf36b(_0x367d35);},'HrQqI':_0x28a390(0x17d)},_0x1cae81=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x1cae81[_0x28a390(0x193)](_0x5417d4['fgmgF'](String,_0x3fe08e)))return{'field':_0x31bd29,'type':'format','message':_0x5417d4['HrQqI']};return null;}['validatePhone'](_0x509c72,_0x59fdd3){const _0x4eafd8=a0_0x42933d,_0x4a4e33={'cBfhU':_0x4eafd8(0x19b)},_0x4bbde9=String(_0x59fdd3)['replace'](/\s+/g,''),_0x1e15db=/^[\d\+\-\(\)]+$/;if(!_0x1e15db['test'](_0x4bbde9)||_0x4bbde9[_0x4eafd8(0x18f)]<0x8)return{'field':_0x509c72,'type':'format','message':_0x4a4e33[_0x4eafd8(0x198)]};return null;}['validateUrl'](_0x1b088a,_0x3ea37f){const _0x58ffc6=a0_0x42933d,_0x11fdaf={'ulPgF':function(_0x1ca305,_0x4b59fb){return _0x1ca305(_0x4b59fb);},'PGaOb':'Invalid\x20URL\x20format'};try{return new URL(_0x11fdaf[_0x58ffc6(0x186)](String,_0x3ea37f)),null;}catch(_0x2ae404){return{'field':_0x1b088a,'type':'format','message':_0x11fdaf[_0x58ffc6(0x179)]};}}[a0_0x42933d(0x17f)](_0xfefd3a,_0x31586a){const _0x460ba8={'bcDuq':'format'};if(isNaN(_0x31586a))return{'field':_0xfefd3a,'type':_0x460ba8['bcDuq'],'message':'Invalid\x20number\x20format'};return null;}[a0_0x42933d(0x194)](_0x1d4d71,_0x2ef90a){const _0x45c8d3=new Map(),_0x17cde4=[];return _0x1d4d71['forEach']((_0x25d6ad,_0x4313a1)=>{const _0x53b3ad=a0_0x2737,_0x2d74e9=_0x2ef90a['map'](_0x47d516=>_0x25d6ad[_0x47d516])[_0x53b3ad(0x175)]('|');_0x45c8d3['has'](_0x2d74e9)?_0x17cde4['push']({'rowIndex':_0x4313a1,'duplicateOf':_0x45c8d3['get'](_0x2d74e9),'key':_0x2d74e9}):_0x45c8d3['set'](_0x2d74e9,_0x4313a1);}),_0x17cde4;}['batchValidateRows'](_0x38d678,_0x33d280,_0x466d78){const _0x3188a5=a0_0x42933d,_0x1a4646={'pSmpC':function(_0x18021b,_0x499241){return _0x18021b>_0x499241;}},_0x4bd5ad=[];return _0x38d678[_0x3188a5(0x185)]((_0x356905,_0xe71562)=>{const _0x22a673=_0x3188a5,_0x3db34a=this[_0x22a673(0x17a)](_0x356905,_0x33d280,_0x466d78);_0x1a4646[_0x22a673(0x18c)](_0x3db34a['length'],0x0)&&_0x4bd5ad[_0x22a673(0x19c)]({'rowIndex':_0xe71562,'rowData':_0x356905,'errors':_0x3db34a});}),logger[_0x3188a5(0x18a)]({'event':_0x3188a5(0x18d),'totalRows':_0x38d678[_0x3188a5(0x18f)],'errorCount':_0x4bd5ad['length']},_0x3188a5(0x196)),_0x4bd5ad;}}module['exports']=new ImportValidator();