@restforgejs/platform 5.1.0 → 5.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/data/pull.js +104 -0
  5. package/generators/cli/data/push.js +95 -0
  6. package/generators/cli/fast-track.js +12 -25
  7. package/generators/cli/init.js +347 -97
  8. package/generators/cli/schema/introspect.js +10 -10
  9. package/generators/lib/data/data-scope.js +138 -0
  10. package/generators/lib/data/db-executor.js +440 -0
  11. package/generators/lib/data/dialect-kit.js +56 -0
  12. package/generators/lib/data/envelope.js +236 -0
  13. package/generators/lib/data/pull-runner.js +414 -0
  14. package/generators/lib/data/push-runner.js +400 -0
  15. package/generators/lib/data/sdf-reader.js +132 -0
  16. package/generators/lib/data/table-order.js +126 -0
  17. package/generators/lib/data/value-codec.js +188 -0
  18. package/generators/lib/templates/dashboard-catalog.js +1 -1
  19. package/generators/lib/templates/db-connection-env.js +1 -1
  20. package/generators/lib/templates/dbschema-catalog.js +1 -1
  21. package/generators/lib/templates/field-validation-catalog.js +1 -1
  22. package/generators/lib/templates/mysql-template.js +1 -1
  23. package/generators/lib/templates/oracle-template.js +1 -1
  24. package/generators/lib/templates/postgres-template.js +1 -1
  25. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  26. package/generators/lib/templates/sqlite-template.js +1 -1
  27. package/integrity-manifest.json +18 -18
  28. package/package.json +1 -1
  29. package/scripts/verify-integrity.js +1 -1
  30. package/server.js +1 -1
  31. package/src/components/handlers/adjust_handler.js +1 -1
  32. package/src/components/handlers/audit_handler.js +1 -1
  33. package/src/components/handlers/delete_handler.js +1 -1
  34. package/src/components/handlers/export_handler.js +1 -1
  35. package/src/components/handlers/import_handler.js +1 -1
  36. package/src/components/handlers/insert_handler.js +1 -1
  37. package/src/components/handlers/update_handler.js +1 -1
  38. package/src/components/handlers/upload_handler.js +1 -1
  39. package/src/components/handlers/workflow_handler.js +1 -1
  40. package/src/components/integrations/webhook.js +1 -1
  41. package/src/consumers/baseConsumer.js +1 -1
  42. package/src/consumers/declarativeMapper.js +1 -1
  43. package/src/consumers/handlers/apiHandler.js +1 -1
  44. package/src/consumers/handlers/consoleHandler.js +1 -1
  45. package/src/consumers/handlers/databaseHandler.js +1 -1
  46. package/src/consumers/handlers/index.js +1 -1
  47. package/src/consumers/handlers/kafkaHandler.js +1 -1
  48. package/src/consumers/index.js +1 -1
  49. package/src/consumers/messageTransformer.js +1 -1
  50. package/src/consumers/validator.js +1 -1
  51. package/src/core/db/dialect/base-dialect.js +1 -1
  52. package/src/core/db/dialect/index.js +1 -1
  53. package/src/core/db/dialect/mysql-dialect.js +1 -1
  54. package/src/core/db/dialect/oracle-dialect.js +1 -1
  55. package/src/core/db/dialect/postgres-dialect.js +1 -1
  56. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  57. package/src/core/db/flatten-helper.js +1 -1
  58. package/src/core/db/query-builder-error.js +1 -1
  59. package/src/core/db/query-builder.js +1 -1
  60. package/src/core/db/relation-helper.js +1 -1
  61. package/src/core/handlers/delete_handler.js +1 -1
  62. package/src/core/handlers/insert_handler.js +1 -1
  63. package/src/core/handlers/update_handler.js +1 -1
  64. package/src/core/models/base-model.js +1 -1
  65. package/src/core/utils/cache-manager.js +1 -1
  66. package/src/core/utils/component-engine.js +1 -1
  67. package/src/core/utils/context-builder.js +1 -1
  68. package/src/core/utils/datetime-formatter.js +1 -1
  69. package/src/core/utils/datetime-parser.js +1 -1
  70. package/src/core/utils/db.js +1 -1
  71. package/src/core/utils/logger.js +1 -1
  72. package/src/core/utils/payload-loader.js +1 -1
  73. package/src/core/utils/security-checks.js +1 -1
  74. package/src/middleware/body-options.js +1 -1
  75. package/src/middleware/cors.js +1 -1
  76. package/src/middleware/idempotency.js +1 -1
  77. package/src/middleware/rate-limiter.js +1 -1
  78. package/src/middleware/request-logger.js +1 -1
  79. package/src/middleware/security-headers.js +1 -1
  80. package/src/models/base-model-mysql.js +1 -1
  81. package/src/models/base-model-oracle.js +1 -1
  82. package/src/models/base-model-sqlite.js +1 -1
  83. package/src/models/base-model.js +1 -1
  84. package/src/pro/caching/redis-client.js +1 -1
  85. package/src/pro/caching/redis-helper.js +1 -1
  86. package/src/pro/consumers/baseConsumer.js +1 -1
  87. package/src/pro/consumers/declarativeMapper.js +1 -1
  88. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  89. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  90. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  91. package/src/pro/consumers/handlers/index.js +1 -1
  92. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  93. package/src/pro/consumers/index.js +1 -1
  94. package/src/pro/consumers/messageTransformer.js +1 -1
  95. package/src/pro/consumers/validator.js +1 -1
  96. package/src/pro/database/base-model-mysql.js +1 -1
  97. package/src/pro/database/base-model-oracle.js +1 -1
  98. package/src/pro/database/base-model-sqlite.js +1 -1
  99. package/src/pro/database/db-mysql.js +1 -1
  100. package/src/pro/database/db-oracle.js +1 -1
  101. package/src/pro/database/db-sqlite.js +1 -1
  102. package/src/pro/excel/excel-generator.js +1 -1
  103. package/src/pro/excel/excel-parser.js +1 -1
  104. package/src/pro/excel/export-service.js +1 -1
  105. package/src/pro/excel/export_handler.js +1 -1
  106. package/src/pro/excel/import-service.js +1 -1
  107. package/src/pro/excel/import-validator.js +1 -1
  108. package/src/pro/excel/import_handler.js +1 -1
  109. package/src/pro/excel/upsert-builder.js +1 -1
  110. package/src/pro/idgen/idgen-routes.js +1 -1
  111. package/src/pro/integrations/lookup-resolver.js +1 -1
  112. package/src/pro/integrations/upload-handler-v2.js +1 -1
  113. package/src/pro/integrations/upload-handler.js +1 -1
  114. package/src/pro/integrations/webhook.js +1 -1
  115. package/src/pro/locking/lock-routes.js +1 -1
  116. package/src/pro/locking/resource-lock-manager.js +1 -1
  117. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  118. package/src/pro/messaging/kafkaService.js +1 -1
  119. package/src/pro/messaging/messagehubService.js +1 -1
  120. package/src/pro/messaging/rabbitmqService.js +1 -1
  121. package/src/pro/scheduler/job-manager.js +1 -1
  122. package/src/pro/scheduler/job-routes.js +1 -1
  123. package/src/pro/scheduler/job-validator.js +1 -1
  124. package/src/pro/storage/base-storage-provider.js +1 -1
  125. package/src/pro/storage/file-metadata-helper.js +1 -1
  126. package/src/pro/storage/index.js +1 -1
  127. package/src/pro/storage/local-storage-provider.js +1 -1
  128. package/src/pro/storage/s3-storage-provider.js +1 -1
  129. package/src/pro/storage/upload-cleanup-job.js +1 -1
  130. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  131. package/src/pro/storage/upload-pending-tracker.js +1 -1
  132. package/src/pro/websocket/broadcast-helper.js +1 -1
  133. package/src/pro/websocket/index.js +1 -1
  134. package/src/pro/websocket/livesync-server.js +1 -1
  135. package/src/pro/websocket/ws-broadcaster.js +1 -1
  136. package/src/services/export-service.js +1 -1
  137. package/src/services/import-service.js +1 -1
  138. package/src/services/kafkaConsumerService.js +1 -1
  139. package/src/services/kafkaService.js +1 -1
  140. package/src/services/messagehubService.js +1 -1
  141. package/src/services/rabbitmqService.js +1 -1
  142. package/src/utils/cache-invalidation-registry.js +1 -1
  143. package/src/utils/cache-manager.js +1 -1
  144. package/src/utils/component-engine.js +1 -1
  145. package/src/utils/config-extractor.js +1 -1
  146. package/src/utils/consumerLogger.js +1 -1
  147. package/src/utils/context-builder.js +1 -1
  148. package/src/utils/dashboard-helpers.js +1 -1
  149. package/src/utils/dateHelper.js +1 -1
  150. package/src/utils/datetime-formatter.js +1 -1
  151. package/src/utils/datetime-parser.js +1 -1
  152. package/src/utils/db-bootstrap.js +1 -1
  153. package/src/utils/db-mysql.js +1 -1
  154. package/src/utils/db-oracle.js +1 -1
  155. package/src/utils/db-sqlite.js +1 -1
  156. package/src/utils/db.js +1 -1
  157. package/src/utils/demo-generator.js +1 -1
  158. package/src/utils/excel-generator.js +1 -1
  159. package/src/utils/excel-parser.js +1 -1
  160. package/src/utils/file-watcher.js +1 -1
  161. package/src/utils/id-generator.js +1 -1
  162. package/src/utils/idempotency-manager.js +1 -1
  163. package/src/utils/import-validator.js +1 -1
  164. package/src/utils/license-client.js +1 -1
  165. package/src/utils/lock-manager.js +1 -1
  166. package/src/utils/logger.js +1 -1
  167. package/src/utils/lookup-resolver.js +1 -1
  168. package/src/utils/payload-loader.js +1 -1
  169. package/src/utils/processor-response.js +1 -1
  170. package/src/utils/rabbitmq.js +1 -1
  171. package/src/utils/redis-client.js +1 -1
  172. package/src/utils/redis-helper.js +1 -1
  173. package/src/utils/request-scope.js +1 -1
  174. package/src/utils/security-checks.js +1 -1
  175. package/src/utils/service-resolver.js +1 -1
  176. package/src/utils/shutdown-coordinator.js +1 -1
  177. package/src/utils/trusted-keys.js +1 -1
  178. package/src/utils/upload-handler.js +1 -1
  179. package/src/utils/upsert-builder.js +1 -1
  180. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x29b2ac=a0_0x402a;function a0_0x356b(){const _0xf47ddc=['zxH0BMfTzq','mtiXotLowMnlqKC','mJq3me1lt3v1wa','zxHPC3rZu3LUyW','zgLYzwn0B3jPzxm','y3DK','mta5mJrNww9mENK','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','zxH0zw5ZAw9UCW','mtmWotiYmwflBMf2ta','C3rVCa','mtiZmta5mNrzAwr4qG','icbBv0fuq0HDifDHCM5PBMC6ifDHDgnOzxiGzxjYB3iGB24G','ndb3yufpz3m','mtiWmtLYC3DZqNm','lMPZB24','zxjYB3i','Bg9N','B25dAgfUz2u','y2XVC2u','mZbttLDvshy','ody2nxDnuhDjta','zgvIB3vUy2vuAw1LCG','nZyWodC4wxvurKTR','x2rLyM91BMnL','D2f0y2G','D2f0y2HLCNm','mtqZtLLbt0ff','mZi4z0L4yKr6','zxHWB3j0CW','mZCYtNrowMn6','CMvSyxrPDMu'];a0_0x356b=function(){return _0xf47ddc;};return a0_0x356b();}(function(_0x5b655c,_0x81ada3){const _0x845dba=a0_0x402a,_0x4bd3f2=_0x5b655c();while(!![]){try{const _0x5c37af=parseInt(_0x845dba(0xec))/0x1*(-parseInt(_0x845dba(0xeb))/0x2)+parseInt(_0x845dba(0xf5))/0x3*(parseInt(_0x845dba(0xfd))/0x4)+parseInt(_0x845dba(0xe4))/0x5*(-parseInt(_0x845dba(0xee))/0x6)+parseInt(_0x845dba(0xe5))/0x7*(-parseInt(_0x845dba(0xf3))/0x8)+parseInt(_0x845dba(0xe0))/0x9+-parseInt(_0x845dba(0xf9))/0xa*(-parseInt(_0x845dba(0xf8))/0xb)+-parseInt(_0x845dba(0xe2))/0xc*(-parseInt(_0x845dba(0xf2))/0xd);if(_0x5c37af===_0x81ada3)break;else _0x4bd3f2['push'](_0x4bd3f2['shift']());}catch(_0xfa71e0){_0x4bd3f2['push'](_0x4bd3f2['shift']());}}}(a0_0x356b,0xa3fad));const fs=require('fs'),path=require('path');function a0_0x402a(_0x28ce49,_0xadadba){_0x28ce49=_0x28ce49-0xde;const _0x356bb5=a0_0x356b();let _0x402a1c=_0x356bb5[_0x28ce49];if(a0_0x402a['moBIQr']===undefined){var _0x366ba3=function(_0x2911c7){const _0x36aa9f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x45341c='',_0x1e28cc='';for(let _0x545c0d=0x0,_0x148bc5,_0x58c2b4,_0x541a06=0x0;_0x58c2b4=_0x2911c7['charAt'](_0x541a06++);~_0x58c2b4&&(_0x148bc5=_0x545c0d%0x4?_0x148bc5*0x40+_0x58c2b4:_0x58c2b4,_0x545c0d++%0x4)?_0x45341c+=String['fromCharCode'](0xff&_0x148bc5>>(-0x2*_0x545c0d&0x6)):0x0){_0x58c2b4=_0x36aa9f['indexOf'](_0x58c2b4);}for(let _0x496b05=0x0,_0x36db5b=_0x45341c['length'];_0x496b05<_0x36db5b;_0x496b05++){_0x1e28cc+='%'+('00'+_0x45341c['charCodeAt'](_0x496b05)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e28cc);};a0_0x402a['QUbKed']=_0x366ba3,a0_0x402a['TWeBsh']={},a0_0x402a['moBIQr']=!![];}const _0x14b2dc=_0x356bb5[0x0],_0x6ad79a=_0x28ce49+_0x14b2dc,_0x39d22c=a0_0x402a['TWeBsh'][_0x6ad79a];return!_0x39d22c?(_0x402a1c=a0_0x402a['QUbKed'](_0x402a1c),a0_0x402a['TWeBsh'][_0x6ad79a]=_0x402a1c):_0x402a1c=_0x39d22c,_0x402a1c;}class FileWatcher{constructor(_0x3995d4={}){const _0x3e38b2=a0_0x402a,_0x9ee0b3={'tLeiV':_0x3e38b2(0xe6)},_0xe1f09a='3|4|5|1|2|0'['split']('|');let _0x5b848b=0x0;while(!![]){switch(_0xe1f09a[_0x5b848b++]){case'0':this[_0x3e38b2(0xed)]=null;continue;case'1':this[_0x3e38b2(0xe9)]=_0x3995d4['onChange']||(()=>{});continue;case'2':this[_0x3e38b2(0xf1)]=[];continue;case'3':this[_0x3e38b2(0xfb)]=_0x3995d4[_0x3e38b2(0xfb)]||[];continue;case'4':this[_0x3e38b2(0xdf)]=_0x3995d4['extensions']||['.js',_0x9ee0b3['tLeiV']];continue;case'5':this['debounceMs']=_0x3995d4['debounceMs']||0x1f4;continue;}break;}}['start'](){const _0x5ec1a6=a0_0x402a;for(const _0xc97fae of this['directories']){if(!fs[_0x5ec1a6(0xfa)](_0xc97fae)){console[_0x5ec1a6(0xe8)]('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path['relative'](process[_0x5ec1a6(0xfc)](),_0xc97fae)||_0xc97fae));continue;}try{const _0x3f447c=fs[_0x5ec1a6(0xf0)](_0xc97fae,{'recursive':!![]},(_0x553370,_0x1ea99f)=>{const _0x51f242=_0x5ec1a6;if(!_0x1ea99f)return;const _0x4b809d=path[_0x51f242(0xf7)](_0x1ea99f)['toLowerCase']();if(!this[_0x51f242(0xdf)]['includes'](_0x4b809d))return;this[_0x51f242(0xef)](_0x1ea99f);});_0x3f447c['on'](_0x5ec1a6(0xe7),_0x5001bc=>{const _0x48f089=_0x5ec1a6;console['log'](_0x48f089(0xe3)+path['relative'](process['cwd'](),_0xc97fae)+':\x20'+_0x5001bc['message']);}),this['watchers']['push'](_0x3f447c);const _0x10bc69=path[_0x5ec1a6(0xf6)](process[_0x5ec1a6(0xfc)](),_0xc97fae)||_0xc97fae;console[_0x5ec1a6(0xe8)]('\x20\x20[WATCH]\x20Watching:\x20'+_0x10bc69+'/\x20(recursive)');}catch(_0x405f97){console[_0x5ec1a6(0xe8)](_0x5ec1a6(0xde)+path['relative'](process[_0x5ec1a6(0xfc)](),_0xc97fae)+':\x20'+_0x405f97['message']);}}}[a0_0x29b2ac(0xe1)](){const _0x42f4e0=a0_0x29b2ac;for(const _0x8a2ce4 of this[_0x42f4e0(0xf1)]){try{_0x8a2ce4[_0x42f4e0(0xea)]();}catch(_0x541c76){}}this['watchers']=[],this[_0x42f4e0(0xed)]&&(clearTimeout(this['debounceTimer']),this[_0x42f4e0(0xed)]=null);}[a0_0x29b2ac(0xef)](_0x2660e5){const _0x2cb59f=a0_0x29b2ac,_0x5d6b35={'TzoJb':function(_0x1aecf6,_0x13ff11){return _0x1aecf6(_0x13ff11);}};this['debounceTimer']&&_0x5d6b35['TzoJb'](clearTimeout,this['debounceTimer']),this[_0x2cb59f(0xed)]=setTimeout(()=>{const _0x275733=_0x2cb59f;this[_0x275733(0xed)]=null,this['onChange'](_0x2660e5);},this['debounceMs']);}}module[a0_0x29b2ac(0xf4)]=FileWatcher;
1
+ 'use strict';const a0_0x14036a=a0_0x26b8;(function(_0x1bbf7f,_0x2760ff){const _0x172583=a0_0x26b8,_0x2ee7ec=_0x1bbf7f();while(!![]){try{const _0x1963b1=-parseInt(_0x172583(0x130))/0x1*(parseInt(_0x172583(0x13a))/0x2)+-parseInt(_0x172583(0x13e))/0x3+-parseInt(_0x172583(0x133))/0x4*(parseInt(_0x172583(0x146))/0x5)+-parseInt(_0x172583(0x12f))/0x6*(parseInt(_0x172583(0x13d))/0x7)+-parseInt(_0x172583(0x135))/0x8*(-parseInt(_0x172583(0x13c))/0x9)+parseInt(_0x172583(0x14a))/0xa+parseInt(_0x172583(0x12a))/0xb*(parseInt(_0x172583(0x147))/0xc);if(_0x1963b1===_0x2760ff)break;else _0x2ee7ec['push'](_0x2ee7ec['shift']());}catch(_0x5109d3){_0x2ee7ec['push'](_0x2ee7ec['shift']());}}}(a0_0x1a17,0x66f27));function a0_0x1a17(){const _0x568995=['zxHWB3j0CW','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','mte4nduYBMvpvujX','mwXMAfH2Bq','ChvZAa','D2f0y2G','ng1ksNDNDW','y2XVC2u','ogndD0jpsW','zxH0BMfTzq','C3rHCNq','D2f0y2HLCNm','icbBv0fuq0HDifDHCM5PBMC6ierPCMvJDg9YEsbUB3qGzM91BMqSihnRAxbWAw5NoIa','mtuZndCXoePoAxLmAG','zgLYzwn0B3jPzxm','mtG1mdqYn1zdvu9AtG','mJGWz2L2D05p','mtm5nZC3mNbXDKHbBG','lMPZ','C3rVCa','zgvIB3vUy2vuAw1LCG','lYaOCMvJDxjZAxzLkq','CMvSyxrPDMu','x2rLyM91BMnL','Dg9mB3DLCKnHC2u','mJK1mtm4mfvvC2vsAG','mtj0tKHothe','y3DK','icbBv0fuq0HDifDHDgnOAw5NoIa','odi4mdu5mfD5s2DqvW','Bg9N','B25dAgfUz2u','mJiWmtm3mJHnzLLAtLe','zxH0zw5ZAw9UCW','zgvIB3vUy2vnCW'];a0_0x1a17=function(){return _0x568995;};return a0_0x1a17();}function a0_0x26b8(_0x5884f0,_0x4a278c){_0x5884f0=_0x5884f0-0x12a;const _0x1a17d5=a0_0x1a17();let _0x26b869=_0x1a17d5[_0x5884f0];if(a0_0x26b8['KTBzCE']===undefined){var _0x59ae1b=function(_0x59dacd){const _0x5f201d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ba371='',_0x1f0987='';for(let _0x272a2e=0x0,_0x5a0d0b,_0x5b52df,_0x593921=0x0;_0x5b52df=_0x59dacd['charAt'](_0x593921++);~_0x5b52df&&(_0x5a0d0b=_0x272a2e%0x4?_0x5a0d0b*0x40+_0x5b52df:_0x5b52df,_0x272a2e++%0x4)?_0x1ba371+=String['fromCharCode'](0xff&_0x5a0d0b>>(-0x2*_0x272a2e&0x6)):0x0){_0x5b52df=_0x5f201d['indexOf'](_0x5b52df);}for(let _0x5f894f=0x0,_0x18a1c1=_0x1ba371['length'];_0x5f894f<_0x18a1c1;_0x5f894f++){_0x1f0987+='%'+('00'+_0x1ba371['charCodeAt'](_0x5f894f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f0987);};a0_0x26b8['VnyHHx']=_0x59ae1b,a0_0x26b8['Tllcpd']={},a0_0x26b8['KTBzCE']=!![];}const _0x5cfb3f=_0x1a17d5[0x0],_0x5dffd3=_0x5884f0+_0x5cfb3f,_0x2d4326=a0_0x26b8['Tllcpd'][_0x5dffd3];return!_0x2d4326?(_0x26b869=a0_0x26b8['VnyHHx'](_0x26b869),a0_0x26b8['Tllcpd'][_0x5dffd3]=_0x26b869):_0x26b869=_0x2d4326,_0x26b869;}const fs=require('fs'),path=require('path');class FileWatcher{constructor(_0x30fa01={}){const _0x5914a0=a0_0x26b8,_0x59a9e4={'MVRAO':'.json'};this[_0x5914a0(0x13b)]=_0x30fa01['directories']||[],this[_0x5914a0(0x12b)]=_0x30fa01[_0x5914a0(0x12b)]||[_0x5914a0(0x13f),_0x59a9e4['MVRAO']],this['debounceMs']=_0x30fa01['debounceMs']||0x1f4,this['onChange']=_0x30fa01['onChange']||(()=>{}),this[_0x5914a0(0x138)]=[],this[_0x5914a0(0x141)]=null;}[a0_0x14036a(0x137)](){const _0x4c6ca5=a0_0x14036a;for(const _0x3a8262 of this['directories']){if(!fs['existsSync'](_0x3a8262)){console[_0x4c6ca5(0x14b)](_0x4c6ca5(0x139)+(path[_0x4c6ca5(0x143)](process[_0x4c6ca5(0x148)](),_0x3a8262)||_0x3a8262));continue;}try{const _0x1a5745=fs[_0x4c6ca5(0x132)](_0x3a8262,{'recursive':!![]},(_0xaf6756,_0x53abac)=>{const _0x3b8a26=_0x4c6ca5;if(!_0x53abac)return;const _0x4248d0=path[_0x3b8a26(0x136)](_0x53abac)[_0x3b8a26(0x145)]();if(!this[_0x3b8a26(0x12b)]['includes'](_0x4248d0))return;this[_0x3b8a26(0x144)](_0x53abac);});_0x1a5745['on']('error',_0x14d571=>{const _0x227326=_0x4c6ca5;console['log']('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x227326(0x143)](process['cwd'](),_0x3a8262)+':\x20'+_0x14d571['message']);}),this[_0x4c6ca5(0x138)][_0x4c6ca5(0x131)](_0x1a5745);const _0x112561=path[_0x4c6ca5(0x143)](process['cwd'](),_0x3a8262)||_0x3a8262;console['log'](_0x4c6ca5(0x149)+_0x112561+_0x4c6ca5(0x142));}catch(_0x4e5e9e){console['log'](_0x4c6ca5(0x12e)+path[_0x4c6ca5(0x143)](process[_0x4c6ca5(0x148)](),_0x3a8262)+':\x20'+_0x4e5e9e['message']);}}}[a0_0x14036a(0x140)](){const _0x41624e=a0_0x14036a;for(const _0x38545a of this['watchers']){try{_0x38545a[_0x41624e(0x134)]();}catch(_0x105659){}}this[_0x41624e(0x138)]=[],this[_0x41624e(0x141)]&&(clearTimeout(this['debounceTimer']),this['debounceTimer']=null);}['_debounce'](_0x37382e){const _0x3bdab0=a0_0x14036a;this[_0x3bdab0(0x141)]&&clearTimeout(this['debounceTimer']),this['debounceTimer']=setTimeout(()=>{const _0x42cf49=_0x3bdab0;this['debounceTimer']=null,this[_0x42cf49(0x14c)](_0x37382e);},this[_0x3bdab0(0x12c)]);}}module[a0_0x14036a(0x12d)]=FileWatcher;
@@ -1 +1 @@
1
- 'use strict';const a0_0x509b15=a0_0x1080;(function(_0x5b41c8,_0x160765){const _0x5c4b6e=a0_0x1080,_0x5489fa=_0x5b41c8();while(!![]){try{const _0x51ce6d=-parseInt(_0x5c4b6e(0x24a))/0x1*(-parseInt(_0x5c4b6e(0x209))/0x2)+parseInt(_0x5c4b6e(0x238))/0x3*(parseInt(_0x5c4b6e(0x29b))/0x4)+parseInt(_0x5c4b6e(0x275))/0x5+-parseInt(_0x5c4b6e(0x1f9))/0x6+parseInt(_0x5c4b6e(0x263))/0x7+parseInt(_0x5c4b6e(0x2b4))/0x8*(-parseInt(_0x5c4b6e(0x1fe))/0x9)+-parseInt(_0x5c4b6e(0x210))/0xa*(parseInt(_0x5c4b6e(0x273))/0xb);if(_0x51ce6d===_0x160765)break;else _0x5489fa['push'](_0x5489fa['shift']());}catch(_0x40319d){_0x5489fa['push'](_0x5489fa['shift']());}}}(a0_0x43bf,0xd984d));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require(a0_0x509b15(0x28f)),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','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='0123456789',CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER=a0_0x509b15(0x1ee),CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x509b15(0x2bb),CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER=a0_0x509b15(0x29c),LUA_RESERVE_NUMBER=a0_0x509b15(0x2b7),LUA_CONFIRM_RESERVATION=a0_0x509b15(0x254),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=a0_0x509b15(0x2a7);class IdGeneratorError extends Error{constructor(_0x463882,_0x368248,_0x323eab=null){const _0x5ea607=a0_0x509b15,_0x1be6a0={'NdoCE':function(_0xd3ee43,_0x29901e){return _0xd3ee43||_0x29901e;},'dwyRQ':_0x5ea607(0x23e)};super(_0x1be6a0[_0x5ea607(0x1c5)](_0x368248,_0x463882)),this[_0x5ea607(0x286)]=_0x1be6a0[_0x5ea607(0x25e)],this[_0x5ea607(0x28a)]=_0x463882,this[_0x5ea607(0x26f)]=_0x323eab;}}class IdGenerator{constructor(){const _0x548092=a0_0x509b15,_0x184da1=_0x548092(0x260)['split']('|');let _0x3ab0a2=0x0;while(!![]){switch(_0x184da1[_0x3ab0a2++]){case'0':this[_0x548092(0x2be)]=null;continue;case'1':this['_allowReset']=null;continue;case'2':this[_0x548092(0x1f2)]=null;continue;case'3':this['_enabled']=null;continue;case'4':this['_defaultSerialPattern']=null;continue;case'5':this[_0x548092(0x220)]=null;continue;case'6':this['_defaultMaxRetry']=null;continue;case'7':this['_reserveMaxTTL']=null;continue;case'8':this['_defaultPinDigits']=null;continue;case'9':this['_initialized']=![];continue;case'10':this[_0x548092(0x2b8)]=null;continue;case'11':this[_0x548092(0x2c3)]=null;continue;}break;}}[a0_0x509b15(0x277)](){const _0x59b7ec=a0_0x509b15,_0xe226ad={'gfVbH':_0x59b7ec(0x1be),'lrmdp':function(_0x109a93,_0x277448){return _0x109a93===_0x277448;},'pKbUQ':_0x59b7ec(0x1f6)};this['_keyPrefix']=_0xe226ad['gfVbH'],this['_enabled']=_0xe226ad['lrmdp'](process[_0x59b7ec(0x25a)]['IDGEN_ENABLED'],_0xe226ad[_0x59b7ec(0x211)]),this['_idemTTL']=parseInt(process[_0x59b7ec(0x25a)]['IDGEN_IDEM_TTL'],0xa)||0x258,this[_0x59b7ec(0x2b3)]=_0xe226ad[_0x59b7ec(0x23b)](process[_0x59b7ec(0x25a)][_0x59b7ec(0x20d)],_0xe226ad[_0x59b7ec(0x211)]),this['_defaultMaxRetry']=parseInt(process[_0x59b7ec(0x25a)][_0x59b7ec(0x288)],0xa)||0xa,this[_0x59b7ec(0x1b9)]=parseInt(process[_0x59b7ec(0x25a)][_0x59b7ec(0x1ab)],0xa)||0x6,this[_0x59b7ec(0x274)]=process['env'][_0x59b7ec(0x228)]||'XXXX-XXXX-XXXX-XXXX',this[_0x59b7ec(0x2c3)]=process['env'][_0x59b7ec(0x299)]||'9999-9999',this['_counterTTLMap']={'yyyymm':parseInt(process[_0x59b7ec(0x25a)][_0x59b7ec(0x1c7)],0xa)||0x2a3000,'yyyymmdd':parseInt(process['env']['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this['_reserveDefaultTTL']=parseInt(process['env']['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this[_0x59b7ec(0x2c4)]=parseInt(process[_0x59b7ec(0x25a)][_0x59b7ec(0x221)],0xa)||MAX_RESERVE_TTL,this[_0x59b7ec(0x1c0)]=!![],logger['info']({'event':_0x59b7ec(0x1c4),'enabled':this[_0x59b7ec(0x239)],'idemTTL':this[_0x59b7ec(0x2be)],'allowReset':this[_0x59b7ec(0x2b3)],'defaultMaxRetry':this[_0x59b7ec(0x2a9)],'defaultPinDigits':this[_0x59b7ec(0x1b9)],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this[_0x59b7ec(0x239)]);}['_ensureInitialized'](){const _0x85aa39=a0_0x509b15;if(!this['_initialized'])this[_0x85aa39(0x277)]();}get[a0_0x509b15(0x279)](){const _0x176f65=a0_0x509b15;return this['_ensureInitialized'](),this[_0x176f65(0x239)];}get[a0_0x509b15(0x1e8)](){const _0x36a5e1=a0_0x509b15;return this['_ensureInitialized'](),this[_0x36a5e1(0x1f2)];}get['idemTTL'](){const _0x20c4e8=a0_0x509b15;return this['_ensureInitialized'](),this[_0x20c4e8(0x2be)];}get['allowReset'](){const _0x489549=a0_0x509b15;return this[_0x489549(0x2bc)](),this[_0x489549(0x2b3)];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get[a0_0x509b15(0x294)](){const _0x377998=a0_0x509b15;return this[_0x377998(0x2bc)](),this[_0x377998(0x1b9)];}get[a0_0x509b15(0x22c)](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get['defaultCodePattern'](){const _0x194051=a0_0x509b15;return this[_0x194051(0x2bc)](),this['_defaultCodePattern'];}get[a0_0x509b15(0x1df)](){const _0x554dd1=a0_0x509b15;return this[_0x554dd1(0x2bc)](),this['_reserveDefaultTTL'];}get[a0_0x509b15(0x2a5)](){return this['_ensureInitialized'](),this['_reserveMaxTTL'];}['isEnabled'](){return this['enabled'];}['_validateResource'](_0x52eb4f){const _0x4d4266=a0_0x509b15,_0x231e84={'MbxYX':'string','HjzOF':'IDGEN_INVALID_RESOURCE'};if(typeof _0x52eb4f!==_0x231e84[_0x4d4266(0x2a6)]||!RESOURCE_REGEX[_0x4d4266(0x261)](_0x52eb4f))throw new IdGeneratorError(_0x231e84[_0x4d4266(0x1d2)],'Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+_0x4d4266(0x271)+JSON[_0x4d4266(0x2b9)](_0x52eb4f)+')');}[a0_0x509b15(0x29d)](_0x34084c){const _0x46f8f6=a0_0x509b15,_0x13fe3c={'wzGcl':_0x46f8f6(0x293),'bPnKQ':function(_0x5663dc,_0x47dd8f){return _0x5663dc>_0x47dd8f;},'jYdgA':function(_0x2b8fa4,_0x351fec){return _0x2b8fa4==_0x351fec;},'viZFN':function(_0x3f97b4,_0x577801){return _0x3f97b4!==_0x577801;},'KhSNt':function(_0x4db6a5,_0xde049b){return _0x4db6a5>_0xde049b;},'ZzUnx':function(_0x3255d9,_0x41fe97){return _0x3255d9!=_0x41fe97;},'jvear':'boolean','GWrMB':function(_0x2d3fee,_0x31ef13){return _0x2d3fee===_0x31ef13;}},{resource:_0x83848c,format:_0x19d1fd,prefix:_0x5306c0,separator:_0x13b2f1,numDigits:_0x54c776,reuseDelete:_0x450b6f}=_0x34084c;this['_validateResource'](_0x83848c);const _0x19b260=typeof _0x19d1fd===_0x13fe3c['wzGcl']?_0x19d1fd[_0x46f8f6(0x22e)]():'';if(!ALLOWED_FORMATS['has'](_0x19b260))throw new IdGeneratorError(_0x46f8f6(0x2b0),_0x46f8f6(0x1de)+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x19d1fd+')');if(!Number[_0x46f8f6(0x285)](_0x54c776)||_0x54c776<MIN_NUM_DIGITS||_0x13fe3c[_0x46f8f6(0x1b3)](_0x54c776,MAX_NUM_DIGITS))throw new IdGeneratorError(_0x46f8f6(0x2cb),_0x46f8f6(0x1d4)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x54c776+')');const _0x1a3f46=_0x5306c0==null?'':_0x5306c0;if(typeof _0x1a3f46!=='string'||!PREFIX_REGEX[_0x46f8f6(0x261)](_0x1a3f46))throw new IdGeneratorError('IDGEN_INVALID_PREFIX',_0x46f8f6(0x22d)+PREFIX_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x5306c0)+')');const _0x428a9f=_0x13fe3c[_0x46f8f6(0x2c8)](_0x13b2f1,null)?'':_0x13b2f1;if(_0x13fe3c['viZFN'](typeof _0x428a9f,_0x46f8f6(0x293))||_0x13fe3c['KhSNt'](_0x428a9f['length'],0x3)||SEPARATOR_FORBIDDEN['test'](_0x428a9f))throw new IdGeneratorError('IDGEN_INVALID_SEPARATOR','Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON[_0x46f8f6(0x2b9)](_0x13b2f1)+')');if(_0x13fe3c['ZzUnx'](_0x450b6f,null)&&typeof _0x450b6f!==_0x13fe3c['jvear'])throw new IdGeneratorError('IDGEN_INVALID_RESOURCE',_0x46f8f6(0x1a7)+typeof _0x450b6f+')');return{'resource':_0x83848c,'format':_0x19b260,'prefix':_0x1a3f46,'separator':_0x428a9f,'numDigits':_0x54c776,'reuseDelete':_0x13fe3c['GWrMB'](_0x450b6f,!![])};}['_validatePattern'](_0x54e3d3){const _0x424cff=a0_0x509b15,_0x2ff97a={'rHxvL':function(_0x579a13,_0x17b58a){return _0x579a13!==_0x17b58a;},'krJqw':function(_0x5232d1,_0x56c1d7){return _0x5232d1===_0x56c1d7;}};if(_0x2ff97a['rHxvL'](typeof _0x54e3d3,_0x424cff(0x293))||_0x2ff97a['krJqw'](_0x54e3d3[_0x424cff(0x290)],0x0)||_0x54e3d3['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x424cff(0x1d1)+MAX_PATTERN_LENGTH+_0x424cff(0x219)+(_0x54e3d3&&_0x54e3d3[_0x424cff(0x290)])+')');let _0x5ad10a=![];for(const _0x3d25d5 of _0x54e3d3){if(PLACEHOLDER_MAP[_0x3d25d5]){_0x5ad10a=!![];break;}}if(!_0x5ad10a)throw new IdGeneratorError(_0x424cff(0x235),'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}['_validateTTL'](_0x3ecb8){const _0x78e0c5=a0_0x509b15,_0x338a53={'hzkwr':function(_0x4fb2b0,_0x44ecbd){return _0x4fb2b0==_0x44ecbd;},'pVEPe':function(_0x138c34,_0x1aff7b){return _0x138c34<_0x1aff7b;},'gSnoK':'IDGEN_INVALID_TTL'};if(_0x338a53['hzkwr'](_0x3ecb8,null))return undefined;if(!Number['isInteger'](_0x3ecb8)||_0x338a53['pVEPe'](_0x3ecb8,0x1)||_0x3ecb8>MAX_TTL)throw new IdGeneratorError(_0x338a53[_0x78e0c5(0x202)],_0x78e0c5(0x225)+MAX_TTL+_0x78e0c5(0x1ef)+_0x3ecb8+')');return _0x3ecb8;}['_validateMaxRetry'](_0x2d23d9){const _0x23bc69=a0_0x509b15,_0x356d13={'mkgNw':function(_0x2ab3e5,_0xfdf2e4){return _0x2ab3e5==_0xfdf2e4;},'sFXqa':function(_0x2a5de9,_0x3d7318){return _0x2a5de9<_0x3d7318;},'vNGJD':_0x23bc69(0x1bf)};if(_0x356d13['mkgNw'](_0x2d23d9,null))return this['defaultMaxRetry'];if(!Number['isInteger'](_0x2d23d9)||_0x356d13[_0x23bc69(0x27c)](_0x2d23d9,0x1)||_0x2d23d9>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x356d13[_0x23bc69(0x2a0)],_0x23bc69(0x2cc)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x2d23d9+')');return _0x2d23d9;}[a0_0x509b15(0x1ff)](_0x5c7071){const _0xd270b0=a0_0x509b15,_0x15a9a8={'FuDER':function(_0x5438cd,_0x1be077){return _0x5438cd==_0x1be077;},'WZbfb':function(_0x1bfd5a,_0x4cbf01){return _0x1bfd5a!==_0x4cbf01;},'EUTZh':_0xd270b0(0x293)};if(_0x15a9a8['FuDER'](_0x5c7071,null))return undefined;if(_0x15a9a8[_0xd270b0(0x245)](typeof _0x5c7071,_0x15a9a8[_0xd270b0(0x1da)])||_0x5c7071['length']===0x0||_0x5c7071[_0xd270b0(0x290)]>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0xd270b0(0x1cf),_0xd270b0(0x27a)+MAX_IDEMPOTENCY_KEY_LENGTH+_0xd270b0(0x223));return _0x5c7071;}[a0_0x509b15(0x258)](_0x1f92f9){const _0x6df44b=a0_0x509b15,_0x5f452d={'JMBVc':function(_0x56df45,_0x46670c){return _0x56df45==_0x46670c;},'WqfNW':function(_0x3b43a9,_0x45cd9b){return _0x3b43a9>_0x45cd9b;}};if(_0x5f452d['JMBVc'](_0x1f92f9,null))return this[_0x6df44b(0x1df)];if(!Number[_0x6df44b(0x285)](_0x1f92f9)||_0x1f92f9<MIN_RESERVE_TTL||_0x5f452d[_0x6df44b(0x2c1)](_0x1f92f9,this['reserveMaxTTL']))throw new IdGeneratorError(_0x6df44b(0x28d),'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this[_0x6df44b(0x2a5)]+_0x6df44b(0x1ef)+_0x1f92f9+')');return _0x1f92f9;}[a0_0x509b15(0x1d9)](_0x21de57){const _0x3dc96c=a0_0x509b15,_0x119514={'xiKsU':_0x3dc96c(0x293)};if(typeof _0x21de57!==_0x119514['xiKsU']||!RESERVATION_TOKEN_REGEX[_0x3dc96c(0x261)](_0x21de57))throw new IdGeneratorError('IDGEN_INVALID_TOKEN',_0x3dc96c(0x280)+JSON['stringify'](_0x21de57)+')');return _0x21de57;}['_pad2'](_0x10832d){const _0xaf24c2=a0_0x509b15;return String(_0x10832d)[_0xaf24c2(0x29a)](0x2,'0');}['_buildFormatKey'](_0x46db6c,_0x4ada65,_0x18f864=new Date()){const _0x53de4d=a0_0x509b15,_0x4192d3={'sNUIG':'text'},_0x18b641=_0x18f864[_0x53de4d(0x1a8)](),_0x48ae93=this[_0x53de4d(0x21c)](_0x18f864[_0x53de4d(0x295)]()+0x1),_0x3a5e63=this['_pad2'](_0x18f864[_0x53de4d(0x2ba)]()),_0x334bd2=_0x4ada65||'_';let _0x4a0870,_0x46438d='';switch(_0x46db6c){case _0x4192d3[_0x53de4d(0x1f7)]:_0x4a0870=_0x334bd2+_0x53de4d(0x1c9);break;case'yyyy':_0x46438d=''+_0x18b641,_0x4a0870=_0x334bd2+'_yyyy_'+_0x46438d;break;case'yyyymm':_0x46438d=''+_0x18b641+_0x48ae93,_0x4a0870=_0x334bd2+_0x53de4d(0x213)+_0x46438d;break;case'yyyymmdd':_0x46438d=''+_0x18b641+_0x48ae93+_0x3a5e63,_0x4a0870=_0x334bd2+_0x53de4d(0x2bd)+_0x46438d;break;default:throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x53de4d(0x1aa)+_0x46db6c);}return{'formatKey':_0x4a0870,'datePrefix':_0x46438d};}[a0_0x509b15(0x204)](_0x155376,_0x5e9608){return this['keyPrefix']+'seq:'+_0x155376+':'+_0x5e9608;}['_buildReuseKey'](_0x32784d,_0x184723){const _0x491139=a0_0x509b15;return this[_0x491139(0x1e8)]+'reuse:'+_0x32784d+':'+_0x184723;}['_buildMetaKey'](_0x5356ed,_0x49c025){return this['keyPrefix']+'meta:'+_0x5356ed+':'+_0x49c025;}[a0_0x509b15(0x1ca)](_0x262d43){return this['keyPrefix']+'issued:'+_0x262d43;}[a0_0x509b15(0x240)](_0x26c6d6,_0x5a8ac2){const _0x5241fc=a0_0x509b15;return this['keyPrefix']+_0x5241fc(0x1d8)+_0x26c6d6+':'+_0x5a8ac2;}[a0_0x509b15(0x20c)](_0x43794f){return this['keyPrefix']+'rsv:'+_0x43794f;}['_buildReservationIndexKey'](_0x5b0489,_0x59cf64){const _0x4993c5=a0_0x509b15;return this[_0x4993c5(0x1e8)]+'rsv_idx:'+_0x5b0489+':'+_0x59cf64;}[a0_0x509b15(0x1eb)](){const _0x53d1ab=a0_0x509b15;return this[_0x53d1ab(0x1e8)]+_0x53d1ab(0x25b);}[a0_0x509b15(0x2ad)](_0x5b28a2,_0x833860,_0x1cbb18,_0x220cc6){const _0xa00cd1=a0_0x509b15,_0xdff791={'FKfSi':'idgen'};if(_0x1cbb18)return idempotencyManager[_0xa00cd1(0x252)]('idgen',_0x5b28a2,_0x833860+':'+_0x1cbb18+':'+_0x220cc6);return idempotencyManager[_0xa00cd1(0x252)](_0xdff791['FKfSi'],_0x5b28a2,_0x833860+':'+_0x220cc6);}[a0_0x509b15(0x234)](_0xd58cda){const _0x365450=a0_0x509b15;return this[_0x365450(0x2b8)][_0xd58cda]||0x0;}['_formatNumber']({format:_0x192900,prefix:_0x58a9a5,datePrefix:_0x1898e2,separator:_0x5dffb8,numDigits:_0x29018e,counterInt:_0x28a74b}){const _0x535782=a0_0x509b15,_0x180df7={'bGrwZ':function(_0x19848c,_0x3170a9){return _0x19848c>_0x3170a9;},'DpEXR':'IDGEN_COUNTER_OVERFLOW','mqgum':function(_0x19ed9e,_0x10fdf1){return _0x19ed9e===_0x10fdf1;}},_0x436eba=Math[_0x535782(0x278)](0xa,_0x29018e)-0x1;if(_0x180df7[_0x535782(0x257)](_0x28a74b,_0x436eba))throw new IdGeneratorError(_0x180df7['DpEXR'],'Counter\x20overflow:\x20'+_0x28a74b+_0x535782(0x2c7)+_0x29018e+_0x535782(0x253)+_0x436eba+_0x535782(0x2c0),{'counterInt':_0x28a74b,'numDigits':_0x29018e,'max':_0x436eba});const _0x2ecaf7=String(_0x28a74b)['padStart'](_0x29018e,'0');if(_0x180df7[_0x535782(0x28b)](_0x192900,'text'))return _0x58a9a5?''+_0x58a9a5+_0x5dffb8+_0x2ecaf7:_0x2ecaf7;return _0x58a9a5?''+_0x58a9a5+_0x5dffb8+_0x1898e2+_0x5dffb8+_0x2ecaf7:''+_0x1898e2+_0x5dffb8+_0x2ecaf7;}['_parseNumber']({format:_0x1b2657,prefix:_0x8a03b0,separator:_0x39ece1,numDigits:_0x470034,number:_0x303af4}){const _0x4f0d99=a0_0x509b15,_0x3e2265={'kcZba':function(_0x4350ab,_0x3c0e35){return _0x4350ab!==_0x3c0e35;},'CkerW':'string','ujzhP':_0x4f0d99(0x298),'rRNZR':function(_0xcd9377,_0x8f7e4d){return _0xcd9377||_0x8f7e4d;},'lIRVr':function(_0x20b4cd,_0xdb5605){return _0x20b4cd===_0xdb5605;},'ZvBDR':function(_0x190efb,_0x402d81){return _0x190efb!==_0x402d81;},'ycRiS':function(_0xbb4e9a,_0x15ec52){return _0xbb4e9a===_0x15ec52;},'cbLCy':function(_0x43cd6c,_0x579693,_0x1ca3bf){return _0x43cd6c(_0x579693,_0x1ca3bf);},'fkUHo':function(_0x45c422,_0x584258){return _0x45c422===_0x584258;},'JyyMc':'text'};if(_0x3e2265['kcZba'](typeof _0x303af4,_0x3e2265['CkerW'])||_0x303af4['length']===0x0)throw new IdGeneratorError(_0x3e2265[_0x4f0d99(0x1ea)],_0x4f0d99(0x23f));const _0x11e100=_0x3e2265[_0x4f0d99(0x215)](_0x39ece1,''),_0x5ba62c=_0x3e2265['lIRVr'](_0x11e100,'')?[_0x303af4]:_0x303af4['split'](_0x11e100);let _0x38b1a8='',_0x52c55f;if(_0x1b2657===_0x4f0d99(0x296)){if(_0x8a03b0){if(_0x5ba62c['length']!==0x2||_0x5ba62c[0x0]!==_0x8a03b0)throw new IdGeneratorError(_0x3e2265['ujzhP'],_0x4f0d99(0x20b)+_0x11e100+'padded\x20(got:\x20'+_0x303af4+')');_0x52c55f=_0x5ba62c[0x1];}else{if(_0x3e2265['kcZba'](_0x5ba62c[_0x4f0d99(0x290)],0x1))throw new IdGeneratorError(_0x3e2265[_0x4f0d99(0x1ea)],_0x4f0d99(0x2c6)+_0x303af4+')');_0x52c55f=_0x5ba62c[0x0];}}else{const _0xcb1c6a=_0x8a03b0?0x3:0x2;if(_0x3e2265['ZvBDR'](_0x5ba62c['length'],_0xcb1c6a))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x303af4+_0x4f0d99(0x26e)+_0xcb1c6a+'\x20parts)');let _0x468843=0x0;if(_0x8a03b0){if(_0x5ba62c[_0x468843]!==_0x8a03b0)throw new IdGeneratorError(_0x4f0d99(0x298),_0x4f0d99(0x1bc)+_0x8a03b0+',\x20got\x20'+_0x5ba62c[_0x468843]);_0x468843++;}_0x38b1a8=_0x5ba62c[_0x468843++];const _0x496976=_0x3e2265[_0x4f0d99(0x1bd)](_0x1b2657,'yyyy')?/^\d{4}$/:_0x3e2265[_0x4f0d99(0x270)](_0x1b2657,'yyyymm')?/^\d{6}$/:/^\d{8}$/;if(!_0x496976[_0x4f0d99(0x261)](_0x38b1a8))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x1b2657+':\x20'+_0x38b1a8);_0x52c55f=_0x5ba62c[_0x468843];}if(!new RegExp('^\x5cd{'+_0x470034+'}$')[_0x4f0d99(0x261)](_0x52c55f))throw new IdGeneratorError(_0x3e2265[_0x4f0d99(0x1ea)],_0x4f0d99(0x217)+_0x470034+_0x4f0d99(0x231)+_0x52c55f+')');const _0x1fd0f4=_0x3e2265['cbLCy'](parseInt,_0x52c55f,0xa),_0x4db38d=_0x3e2265[_0x4f0d99(0x215)](_0x8a03b0,'_');let _0x30841e;return _0x3e2265[_0x4f0d99(0x1b0)](_0x1b2657,_0x3e2265['JyyMc'])?_0x30841e=_0x4db38d+'_text':_0x30841e=_0x4db38d+'_'+_0x1b2657+'_'+_0x38b1a8,{'formatKey':_0x30841e,'counterInt':_0x1fd0f4,'datePrefix':_0x38b1a8};}['_generateFromPattern'](_0x253882){const _0x143223=a0_0x509b15;let _0x28853f='';for(const _0x5b348e of _0x253882){const _0x33d76a=PLACEHOLDER_MAP[_0x5b348e];if(_0x33d76a){const _0x33434d=crypto['randomInt'](0x0,_0x33d76a[_0x143223(0x290)]);_0x28853f+=_0x33d76a[_0x33434d];}else _0x28853f+=_0x5b348e;}return _0x28853f;}async['_retrieveIdemCache'](_0x2092d0){const _0x3ffdc3=a0_0x509b15;if(!_0x2092d0)return null;try{const _0xe90937=redisClient[_0x3ffdc3(0x2bf)](),_0x10745=await _0xe90937[_0x3ffdc3(0x1ad)](_0x2092d0);if(_0x10745)return logger['info']({'event':'idgen_idem_hit','key':_0x2092d0},'Idempotency\x20cache\x20HIT'),JSON[_0x3ffdc3(0x256)](_0x10745);return null;}catch(_0x19c0f3){return logger['warn']({'event':'idgen_idem_retrieve_error','error':_0x19c0f3[_0x3ffdc3(0x2ab)]},'Idempotency\x20retrieve\x20error'),null;}}async['_storeIdemCache'](_0x1c2e29,_0x1ae7ad){const _0x57d514=a0_0x509b15,_0x5ee840={'aanQl':_0x57d514(0x27f),'ziDfs':'Idempotency\x20store\x20error'};if(!_0x1c2e29)return;try{const _0xfee835=redisClient[_0x57d514(0x2bf)]();await _0xfee835['setex'](_0x1c2e29,this['idemTTL'],JSON[_0x57d514(0x2b9)](_0x1ae7ad));}catch(_0x3c7cb8){logger[_0x57d514(0x222)]({'event':_0x5ee840['aanQl'],'error':_0x3c7cb8[_0x57d514(0x2ab)]},_0x5ee840[_0x57d514(0x1c2)]);}}async['_storeIdemCacheNX'](_0x423e6a,_0x106c2a){const _0x4701b5=a0_0x509b15,_0x69db21={'RWXcs':'idgen_idem_nx_race_lost_but_empty','kMphW':'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result','tdTrw':_0x4701b5(0x22f),'KCsJt':_0x4701b5(0x224)};if(!_0x423e6a)return{'stored':!![],'winnerResult':null};try{const _0x57d13b=redisClient['getClient'](),_0x22eaee=JSON['stringify'](_0x106c2a),_0x52b101=await _0x57d13b['set'](_0x423e6a,_0x22eaee,'EX',this[_0x4701b5(0x1b2)],'NX');if(_0x52b101==='OK')return{'stored':!![],'winnerResult':null};const _0x1baafb=await _0x57d13b[_0x4701b5(0x1ad)](_0x423e6a);if(_0x1baafb)return{'stored':![],'winnerResult':JSON['parse'](_0x1baafb)};return logger[_0x4701b5(0x222)]({'event':_0x69db21['RWXcs'],'key':_0x423e6a},_0x69db21['kMphW']),{'stored':!![],'winnerResult':null};}catch(_0x487e4f){return logger['warn']({'event':_0x69db21[_0x4701b5(0x284)],'error':_0x487e4f[_0x4701b5(0x2ab)]},_0x69db21[_0x4701b5(0x2ce)]),{'stored':!![],'winnerResult':null};}}async[a0_0x509b15(0x226)](_0x1e33ff,_0x4d5960,_0x4edd4a){const _0x27e96e=a0_0x509b15,_0x3c85c0={'wsclm':_0x27e96e(0x20f)};try{const _0x581f27=redisClient[_0x27e96e(0x2bf)]();if(_0x4edd4a){const _0x5e315e=this['_buildActiveKey'](_0x1e33ff,_0x4d5960);await _0x581f27['del'](_0x5e315e);}else{const _0x2b98a3=this['_buildIssuedKey'](_0x1e33ff);await _0x581f27['srem'](_0x2b98a3,_0x4d5960);}}catch(_0x5443e7){logger[_0x27e96e(0x222)]({'event':_0x3c85c0['wsclm'],'error':_0x5443e7['message']},_0x27e96e(0x267));}}async['_updateMeta'](_0x2e1163,_0x39e11a,_0x5bc85e,_0xe6d49e=0x0){const _0x30749c=a0_0x509b15,_0xf56eef={'tmyhD':function(_0x2823a2,_0x3a516f){return _0x2823a2(_0x3a516f);},'fIIcv':function(_0x41a43b,_0x14c20d){return _0x41a43b>_0x14c20d;},'FCwYm':_0x30749c(0x1dc)};try{const _0x17d2e6=redisClient[_0x30749c(0x2bf)](),_0x52a817=this[_0x30749c(0x1ec)](_0x2e1163,_0x39e11a),_0x23daba=[];for(const [_0x5da883,_0x5a7087]of Object[_0x30749c(0x251)](_0x5bc85e)){_0x23daba[_0x30749c(0x241)](_0x5da883,_0xf56eef[_0x30749c(0x2ae)](String,_0x5a7087));}if(_0xf56eef[_0x30749c(0x1b7)](_0x23daba[_0x30749c(0x290)],0x0)){await _0x17d2e6[_0x30749c(0x246)](_0x52a817,..._0x23daba);if(_0xf56eef['fIIcv'](_0xe6d49e,0x0))await _0x17d2e6['expire'](_0x52a817,_0xe6d49e);}}catch(_0x2744da){logger['warn']({'event':'idgen_meta_update_error','error':_0x2744da['message']},_0xf56eef[_0x30749c(0x1ba)]);}}async[a0_0x509b15(0x26a)](_0x55380f){const _0x385ed5=a0_0x509b15,_0x11b22b={'Hojvf':_0x385ed5(0x1f1),'jyVZV':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','yGBrP':'number','WvCqY':function(_0x3ec597,_0x4f81d8){return _0x3ec597(_0x4f81d8);},'GoRvx':function(_0x58a91f,_0x56922c){return _0x58a91f===_0x56922c;},'XnWfJ':function(_0x1709da,_0x31e14b){return _0x1709da(_0x31e14b);},'yYzgu':'idgen_idem_loser_release_error','zHLQV':_0x385ed5(0x1e5)};if(!this['enabled'])throw new IdGeneratorError(_0x11b22b[_0x385ed5(0x287)],_0x11b22b[_0x385ed5(0x29e)]);const _0x4e22bf=this[_0x385ed5(0x29d)](_0x55380f),_0x7497c=this['_validateIdempotencyKey'](_0x55380f[_0x385ed5(0x2a8)]),{resource:_0xf383f9,format:_0x380143,prefix:_0x18fe03,separator:_0x4fbb25,numDigits:_0x43cf0c,reuseDelete:_0x3a5289}=_0x4e22bf,{formatKey:_0x436354,datePrefix:_0x217e21}=this[_0x385ed5(0x255)](_0x380143,_0x18fe03),_0x100f63=this[_0x385ed5(0x204)](_0xf383f9,_0x436354),_0x2f2633=this[_0x385ed5(0x200)](_0xf383f9,_0x436354),_0x52860e=this[_0x385ed5(0x234)](_0x380143);let _0x1c3a15=null;if(_0x7497c){_0x1c3a15=this['_buildIdemKey'](_0x11b22b['yGBrP'],_0xf383f9,_0x436354,_0x7497c);const _0x659053=await this[_0x385ed5(0x244)](_0x1c3a15);if(_0x659053)return _0x659053;}const _0x29761a=redisClient['getClient'](),_0x364f7c=await _0x29761a['eval'](LUA_GENERATE_NUMBER,0x2,_0x100f63,_0x2f2633,_0x3a5289?'1':'0',_0x11b22b['WvCqY'](String,_0x52860e)),_0x8b8a4e=_0x364f7c[0x0],_0x9d0864=_0x11b22b['GoRvx'](_0x364f7c[0x1],0x1),_0x7bc68c=this['_formatNumber']({'format':_0x380143,'prefix':_0x18fe03,'datePrefix':_0x217e21,'separator':_0x4fbb25,'numDigits':_0x43cf0c,'counterInt':_0x8b8a4e}),_0x1bcdec={'value':_0x7bc68c,'counter':_0x8b8a4e,'resource':_0xf383f9,'formatKey':_0x436354,'isReused':_0x9d0864,'generatedAt':new Date()['toISOString']()},_0x40f951=await this[_0x385ed5(0x1fa)](_0x1c3a15,_0x1bcdec);if(!_0x40f951['stored']){try{await _0x29761a['eval'](LUA_RELEASE_NUMBER,0x1,_0x2f2633,_0x11b22b[_0x385ed5(0x289)](String,_0x8b8a4e),String(_0x52860e));}catch(_0x16432e){logger[_0x385ed5(0x222)]({'event':_0x11b22b[_0x385ed5(0x262)],'error':_0x16432e[_0x385ed5(0x2ab)],'resource':_0xf383f9,'formatKey':_0x436354,'counterInt':_0x8b8a4e},_0x385ed5(0x1f5));}return logger['info']({'event':_0x11b22b['zHLQV'],'resource':_0xf383f9,'formatKey':_0x436354,'counter':_0x8b8a4e},_0x385ed5(0x1e9)),_0x40f951[_0x385ed5(0x25d)];}return this[_0x385ed5(0x22b)](_0xf383f9,_0x436354,{'lastValue':_0x7bc68c,'lastCounter':_0x8b8a4e,'lastIsReused':_0x9d0864,'lastGeneratedAt':_0x1bcdec[_0x385ed5(0x24d)]},_0x52860e),logger['info']({'event':_0x385ed5(0x2b1),'resource':_0xf383f9,'formatKey':_0x436354,'counter':_0x8b8a4e,'isReused':_0x9d0864},'ID\x20Generator\x20number:\x20'+_0x7bc68c),_0x1bcdec;}async['releaseNumber'](_0x10b221){const _0x23b5ff=a0_0x509b15,_0x1c7319={'yffqq':_0x23b5ff(0x24c),'pZYni':function(_0x33c7a6,_0x32ca19){return _0x33c7a6!==_0x32ca19;},'LostP':'IDGEN_INVALID_NUMBER','yebww':_0x23b5ff(0x218),'AUUNa':function(_0x10acea,_0x3eeffb){return _0x10acea(_0x3eeffb);}};if(!this[_0x23b5ff(0x279)])throw new IdGeneratorError(_0x23b5ff(0x1f1),_0x1c7319[_0x23b5ff(0x2c9)]);let _0x50299e,_0x1307bf,_0x2b7ca3,_0x59e044;const _0x147463=this[_0x23b5ff(0x1ff)](_0x10b221[_0x23b5ff(0x2a8)]);if(_0x10b221['counterInt']!==undefined&&_0x10b221[_0x23b5ff(0x1e6)]!==null){this[_0x23b5ff(0x1f8)](_0x10b221[_0x23b5ff(0x1ce)]),_0x50299e=_0x10b221[_0x23b5ff(0x1ce)];if(_0x1c7319['pZYni'](typeof _0x10b221[_0x23b5ff(0x1b4)],_0x23b5ff(0x293))||_0x10b221[_0x23b5ff(0x1b4)][_0x23b5ff(0x290)]===0x0)throw new IdGeneratorError(_0x1c7319[_0x23b5ff(0x26b)],_0x23b5ff(0x1d7));_0x1307bf=_0x10b221[_0x23b5ff(0x1b4)];if(!Number[_0x23b5ff(0x285)](_0x10b221['counterInt'])||_0x10b221[_0x23b5ff(0x1e6)]<0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x23b5ff(0x2b6)+_0x10b221[_0x23b5ff(0x1e6)]+')');_0x2b7ca3=_0x10b221['counterInt'];const _0x31ed09=_0x1307bf[_0x23b5ff(0x291)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x59e044=_0x31ed09?_0x31ed09[0x1]:'text';}else{const _0x2c4e94=this[_0x23b5ff(0x29d)](_0x10b221),_0x15d2d5=this['_parseNumber']({'format':_0x2c4e94['format'],'prefix':_0x2c4e94[_0x23b5ff(0x29f)],'separator':_0x2c4e94['separator'],'numDigits':_0x2c4e94[_0x23b5ff(0x1b6)],'number':_0x10b221['number']});_0x50299e=_0x2c4e94['resource'],_0x1307bf=_0x15d2d5['formatKey'],_0x2b7ca3=_0x15d2d5[_0x23b5ff(0x1e6)],_0x59e044=_0x2c4e94['format'];}const _0x12c537=this[_0x23b5ff(0x200)](_0x50299e,_0x1307bf),_0x3b0586=this['_getCounterTTL'](_0x59e044);let _0x15537c=null;if(_0x147463){_0x15537c=this['_buildIdemKey'](_0x1c7319['yebww'],_0x50299e,_0x1307bf,_0x147463);const _0x671f8a=await this['_retrieveIdemCache'](_0x15537c);if(_0x671f8a)return _0x671f8a;}const _0x12c7e6=redisClient[_0x23b5ff(0x2bf)]();await _0x12c7e6['eval'](LUA_RELEASE_NUMBER,0x1,_0x12c537,_0x1c7319['AUUNa'](String,_0x2b7ca3),_0x1c7319[_0x23b5ff(0x25c)](String,_0x3b0586));const _0x1a9252={'released':!![],'resource':_0x50299e,'formatKey':_0x1307bf,'counter':_0x2b7ca3,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x15537c,_0x1a9252),this['_updateMeta'](_0x50299e,_0x1307bf,{'lastReleasedCounter':_0x2b7ca3,'lastReleasedAt':_0x1a9252[_0x23b5ff(0x1ac)]},_0x3b0586),logger['info']({'event':'idgen_number_released','resource':_0x50299e,'formatKey':_0x1307bf,'counter':_0x2b7ca3},'ID\x20Generator\x20number\x20released:\x20'+_0x2b7ca3),_0x1a9252;}async['reserveNumber'](_0x176057){const _0x2edcee=a0_0x509b15,_0x47aad7={'xOoCK':function(_0x5f4f16,_0xa72e9d){return _0x5f4f16*_0xa72e9d;},'ybKyq':function(_0x5e2b2f,_0x33d938){return _0x5e2b2f*_0x33d938;},'NVeXl':function(_0x3547ef,_0x1dc76c){return _0x3547ef(_0x1dc76c);},'tNfCi':'expiresAt','tcySh':_0x2edcee(0x27d),'soZmg':function(_0xe83223,_0x5e7982){return _0xe83223(_0x5e7982);},'pnvqD':function(_0x56dadc,_0x5cb5a0){return _0x56dadc(_0x5cb5a0);},'OEDCb':_0x2edcee(0x243),'sqqUI':_0x2edcee(0x269),'bPPvU':_0x2edcee(0x1e7),'yxCnS':'idgen_reserve_idem_loser_cancel_error','bNrxH':_0x2edcee(0x20a),'ExbRo':'idgen_reserve_idem_loser'};if(!this[_0x2edcee(0x279)])throw new IdGeneratorError(_0x2edcee(0x1f1),'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x462b6e=this['_validateNumberParams'](_0x176057),_0x284126=this[_0x2edcee(0x258)](_0x176057['ttl']),_0xf91830=this['_validateIdempotencyKey'](_0x176057['idempotencyKey']),{resource:_0x2e6fe5,format:_0x48c865,prefix:_0x4203a7,separator:_0x32a8d6,numDigits:_0x355442,reuseDelete:_0x5b2598}=_0x462b6e,{formatKey:_0x1d5d90,datePrefix:_0x5ca147}=this[_0x2edcee(0x255)](_0x48c865,_0x4203a7),_0x1257d5=this['_buildSeqKey'](_0x2e6fe5,_0x1d5d90),_0x18bd1a=this['_buildReuseKey'](_0x2e6fe5,_0x1d5d90),_0xad4e59=this['_buildReservationIndexKey'](_0x2e6fe5,_0x1d5d90),_0x4c66b9=this[_0x2edcee(0x234)](_0x48c865);let _0x393d57=null;if(_0xf91830){_0x393d57=this['_buildIdemKey']('reserve',_0x2e6fe5,_0x1d5d90,_0xf91830);const _0xfff764=await this['_retrieveIdemCache'](_0x393d57);if(_0xfff764)return _0xfff764;}const _0x1c6283=crypto[_0x2edcee(0x212)](),_0x3122d2=this[_0x2edcee(0x20c)](_0x1c6283),_0x28a7bb=this[_0x2edcee(0x1eb)](),_0x55f916=Date['now'](),_0x57196b=_0x55f916+_0x47aad7['xOoCK'](_0x284126,0x3e8),_0x1581f4=_0x47aad7['ybKyq'](_0x284126,0x3e8),_0xd02231=new Date(_0x55f916)[_0x2edcee(0x1ed)](),_0xe8a22e=new Date(_0x57196b)[_0x2edcee(0x1ed)](),_0x13e45c=[_0x2edcee(0x1ce),_0x2e6fe5,_0x2edcee(0x1b4),_0x1d5d90,'format',_0x48c865,'prefix',_0x4203a7,_0x2edcee(0x1cc),_0x32a8d6,'numDigits',_0x47aad7['NVeXl'](String,_0x355442),'datePrefix',_0x5ca147||'',_0x2edcee(0x227),_0xd02231,_0x47aad7[_0x2edcee(0x26d)],_0xe8a22e,'ttlMs',_0x47aad7[_0x2edcee(0x1e2)](String,_0x1581f4)];_0xf91830&&_0x13e45c['push'](_0x47aad7['tcySh'],_0xf91830);const _0x4baa3a=redisClient['getClient'](),_0x281182=await _0x4baa3a['eval'](LUA_RESERVE_NUMBER,0x3,_0x1257d5,_0x18bd1a,_0xad4e59,_0x5b2598?'1':'0',_0x47aad7[_0x2edcee(0x1cd)](String,_0x4c66b9),_0x1c6283,_0x3122d2,_0x47aad7[_0x2edcee(0x242)](String,_0x1581f4),_0x47aad7[_0x2edcee(0x242)](String,_0x57196b),String(_0x55f916),_0x28a7bb,..._0x13e45c),_0x5a91e3=_0x281182[0x0],_0x2c68cd=_0x281182[0x1]===0x1,_0x29b279=_0x281182[0x2]||0x0;let _0x3da869;try{_0x3da869=this[_0x2edcee(0x237)]({'format':_0x48c865,'prefix':_0x4203a7,'datePrefix':_0x5ca147,'separator':_0x32a8d6,'numDigits':_0x355442,'counterInt':_0x5a91e3});}catch(_0x2da607){try{await _0x4baa3a['eval'](LUA_CANCEL_RESERVATION,0x3,_0x3122d2,_0xad4e59,_0x18bd1a,_0x1c6283,String(_0x4c66b9));}catch(_0x5df72a){logger[_0x2edcee(0x222)]({'event':_0x2edcee(0x27b),'error':_0x5df72a['message'],'resource':_0x2e6fe5,'formatKey':_0x1d5d90,'counterInt':_0x5a91e3,'token':_0x1c6283},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x2da607;}try{await _0x4baa3a[_0x2edcee(0x246)](_0x3122d2,_0x47aad7[_0x2edcee(0x27e)],_0x3da869);}catch(_0x2532f4){logger['warn']({'event':_0x47aad7[_0x2edcee(0x203)],'error':_0x2532f4['message'],'resource':_0x2e6fe5,'formatKey':_0x1d5d90,'counterInt':_0x5a91e3,'token':_0x1c6283},_0x47aad7['bPPvU']);}const _0x42a9f0={'token':_0x1c6283,'value':_0x3da869,'counter':_0x5a91e3,'resource':_0x2e6fe5,'formatKey':_0x1d5d90,'isReused':_0x2c68cd,'createdAt':_0xd02231,'expiresAt':_0xe8a22e,'reapedCount':_0x29b279},_0x39cf02=await this['_storeIdemCacheNX'](_0x393d57,_0x42a9f0);if(!_0x39cf02[_0x2edcee(0x214)]){try{await _0x4baa3a['eval'](LUA_CANCEL_RESERVATION,0x3,_0x3122d2,_0xad4e59,_0x18bd1a,_0x1c6283,_0x47aad7[_0x2edcee(0x1cd)](String,_0x4c66b9));}catch(_0x32d4c9){logger['warn']({'event':_0x47aad7['yxCnS'],'error':_0x32d4c9['message'],'resource':_0x2e6fe5,'formatKey':_0x1d5d90,'counterInt':_0x5a91e3,'token':_0x1c6283},_0x47aad7['bNrxH']);}return logger['info']({'event':_0x47aad7['ExbRo'],'resource':_0x2e6fe5,'formatKey':_0x1d5d90,'counter':_0x5a91e3,'token':_0x1c6283},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x39cf02['winnerResult'];}return this[_0x2edcee(0x22b)](_0x2e6fe5,_0x1d5d90,{'lastReservedCounter':_0x5a91e3,'lastReservedAt':_0xd02231,'lastReapedCount':_0x29b279},_0x4c66b9),logger[_0x2edcee(0x229)]({'event':'idgen_number_reserved','resource':_0x2e6fe5,'formatKey':_0x1d5d90,'counter':_0x5a91e3,'isReused':_0x2c68cd,'token':_0x1c6283,'ttl':_0x284126,'reapedCount':_0x29b279},_0x2edcee(0x268)+_0x3da869+'\x20(token='+_0x1c6283+')'),_0x42a9f0;}async[a0_0x509b15(0x2aa)](_0xb0b228){const _0x47c798=a0_0x509b15,_0x46b388={'cmCwY':function(_0x3ad807,_0x2959ac,_0x4b3f59){return _0x3ad807(_0x2959ac,_0x4b3f59);}};if(!this['enabled'])throw new IdGeneratorError(_0x47c798(0x1f1),_0x47c798(0x24c));const _0x1881bd=this[_0x47c798(0x1d9)](_0xb0b228&&_0xb0b228['token']),_0xab3239=this['_validateIdempotencyKey'](_0xb0b228&&_0xb0b228[_0x47c798(0x2a8)]);let _0x34bad3=null;if(_0xab3239){_0x34bad3=idempotencyManager['buildDeterministicKey']('idgen',_0x47c798(0x1b5),_0x1881bd+':'+_0xab3239);const _0x36c51f=await this['_retrieveIdemCache'](_0x34bad3);if(_0x36c51f)return _0x36c51f;}const _0x4f745a=await this['_getReservationContext'](_0x1881bd),_0x1c61d2=redisClient['getClient'](),_0xed45f2=await _0x1c61d2[_0x47c798(0x232)](LUA_CONFIRM_RESERVATION,0x2,_0x4f745a[_0x47c798(0x1f0)],_0x4f745a['rsvIdxKey'],_0x1881bd);if(!_0xed45f2||_0xed45f2[0x0]!==0x1)throw new IdGeneratorError(_0x47c798(0x236),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x1881bd,{'token':_0x1881bd});const _0x410fd7=_0x46b388['cmCwY'](parseInt,_0xed45f2[0x1],0xa),_0x2d16a0=_0xed45f2[0x2],_0x360d2c=_0xed45f2[0x3],_0x290ebc=new Date()[_0x47c798(0x1ed)](),_0x2c82c0={'confirmed':!![],'token':_0x1881bd,'value':_0x2d16a0,'counter':_0x410fd7,'resource':_0x4f745a['resource'],'formatKey':_0x360d2c,'confirmedAt':_0x290ebc};await this['_storeIdemCache'](_0x34bad3,_0x2c82c0);const _0x591aa8=_0x360d2c[_0x47c798(0x291)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x40d7d6=_0x591aa8?_0x591aa8[0x1]:'text',_0x4178b3=this['_getCounterTTL'](_0x40d7d6);return this['_updateMeta'](_0x4f745a['resource'],_0x360d2c,{'lastConfirmedCounter':_0x410fd7,'lastConfirmedAt':_0x290ebc},_0x4178b3),logger['info']({'event':'idgen_reservation_confirmed','resource':_0x4f745a[_0x47c798(0x1ce)],'formatKey':_0x360d2c,'counter':_0x410fd7,'token':_0x1881bd},_0x47c798(0x28e)+_0x2d16a0+'\x20(token='+_0x1881bd+')'),_0x2c82c0;}async[a0_0x509b15(0x1c3)](_0x10ddea){const _0x4cde1d=a0_0x509b15,_0x14ef4b={'VxIee':_0x4cde1d(0x247),'xBNgw':function(_0xed0883,_0x1fba20){return _0xed0883(_0x1fba20);},'XETEh':function(_0x4becd3,_0x406148,_0x59217f){return _0x4becd3(_0x406148,_0x59217f);}};if(!this['enabled'])throw new IdGeneratorError(_0x4cde1d(0x1f1),'ID\x20Generator\x20is\x20disabled');const _0x1e3dd3=this[_0x4cde1d(0x1d9)](_0x10ddea&&_0x10ddea[_0x4cde1d(0x264)]),_0x42203a=this['_validateIdempotencyKey'](_0x10ddea&&_0x10ddea['idempotencyKey']);let _0x2dcf41=null;if(_0x42203a){_0x2dcf41=idempotencyManager['buildDeterministicKey'](_0x4cde1d(0x2b5),_0x14ef4b['VxIee'],_0x1e3dd3+':'+_0x42203a);const _0x5bf1e2=await this[_0x4cde1d(0x244)](_0x2dcf41);if(_0x5bf1e2)return _0x5bf1e2;}const _0x15fb57=await this['_getReservationContext'](_0x1e3dd3),_0x500419=this['_buildReuseKey'](_0x15fb57['resource'],_0x15fb57['formatKey']),_0x26cb18=_0x15fb57['formatKey'][_0x4cde1d(0x291)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x54defb=_0x26cb18?_0x26cb18[0x1]:'text',_0x5dff00=this['_getCounterTTL'](_0x54defb),_0x2d8d92=redisClient['getClient'](),_0x5b5e95=await _0x2d8d92['eval'](LUA_CANCEL_RESERVATION,0x3,_0x15fb57[_0x4cde1d(0x1f0)],_0x15fb57['rsvIdxKey'],_0x500419,_0x1e3dd3,_0x14ef4b[_0x4cde1d(0x28c)](String,_0x5dff00));if(!_0x5b5e95||_0x5b5e95[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x4cde1d(0x1b1)+_0x1e3dd3,{'token':_0x1e3dd3});const _0xcc94f2=_0x14ef4b['XETEh'](parseInt,_0x5b5e95[0x1],0xa),_0x4fad1e=_0x5b5e95[0x2],_0x8d1c4e=_0x5b5e95[0x3],_0xd91fbc=new Date()['toISOString'](),_0x3fe1fb={'cancelled':!![],'token':_0x1e3dd3,'value':_0x4fad1e,'counter':_0xcc94f2,'resource':_0x15fb57[_0x4cde1d(0x1ce)],'formatKey':_0x8d1c4e,'releasedToReuse':!![],'cancelledAt':_0xd91fbc};return await this[_0x4cde1d(0x25f)](_0x2dcf41,_0x3fe1fb),this[_0x4cde1d(0x22b)](_0x15fb57['resource'],_0x8d1c4e,{'lastCancelledCounter':_0xcc94f2,'lastCancelledAt':_0xd91fbc},_0x5dff00),logger['info']({'event':'idgen_reservation_cancelled','resource':_0x15fb57['resource'],'formatKey':_0x8d1c4e,'counter':_0xcc94f2,'token':_0x1e3dd3},_0x4cde1d(0x233)+_0x4fad1e+'\x20(token='+_0x1e3dd3+')'),_0x3fe1fb;}async[a0_0x509b15(0x1fd)](_0x342017){const _0x555146=a0_0x509b15,_0x2ad1bb={'ObJYw':_0x555146(0x1f1),'kqZRn':_0x555146(0x205),'PPRBy':function(_0x567100,_0x4d31b7){return _0x567100!==_0x4d31b7;},'effXr':_0x555146(0x236),'THuZH':function(_0x34a16c,_0x3164d9,_0xfdd9e2){return _0x34a16c(_0x3164d9,_0xfdd9e2);},'nAgWj':_0x555146(0x208)};if(!this['enabled'])throw new IdGeneratorError(_0x2ad1bb[_0x555146(0x21f)],_0x555146(0x24c));const _0x23c816=this[_0x555146(0x1d9)](_0x342017&&_0x342017['token']),_0x4e8644=this[_0x555146(0x258)](_0x342017&&_0x342017[_0x555146(0x2c2)]),_0x10bf06=this[_0x555146(0x1ff)](_0x342017&&_0x342017[_0x555146(0x2a8)]);let _0x82d127=null;if(_0x10bf06){_0x82d127=idempotencyManager['buildDeterministicKey']('idgen',_0x2ad1bb['kqZRn'],_0x23c816+':'+_0x10bf06);const _0x33e101=await this[_0x555146(0x244)](_0x82d127);if(_0x33e101)return _0x33e101;}const _0x523ca2=await this['_getReservationContext'](_0x23c816),_0x3ea643=Date[_0x555146(0x1f4)](),_0x6006b8=_0x3ea643+_0x4e8644*0x3e8,_0x9935d7=_0x4e8644*0x3e8,_0x498f01=new Date(_0x6006b8)[_0x555146(0x1ed)](),_0xf3d743=redisClient['getClient'](),_0x5ea484=await _0xf3d743[_0x555146(0x232)](LUA_EXTEND_RESERVATION,0x2,_0x523ca2['rsvKey'],_0x523ca2[_0x555146(0x21d)],_0x23c816,String(_0x9935d7),String(_0x6006b8),_0x498f01);if(!_0x5ea484||_0x2ad1bb[_0x555146(0x24f)](_0x5ea484[0x0],0x1))throw new IdGeneratorError(_0x2ad1bb[_0x555146(0x1db)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x23c816,{'token':_0x23c816});const _0x21c8e1=_0x5ea484[0x1],_0x33552d=_0x2ad1bb[_0x555146(0x26c)](parseInt,_0x5ea484[0x2],0xa),_0x26b150=_0x5ea484[0x3],_0x535f89=_0x5ea484[0x4],_0x3abd6f=new Date(_0x3ea643)['toISOString'](),_0x4b53c1={'extended':!![],'token':_0x23c816,'previousExpiresAt':_0x21c8e1,'expiresAt':_0x498f01,'ttlMs':_0x9935d7,'resource':_0x523ca2[_0x555146(0x1ce)],'formatKey':_0x535f89,'counter':_0x33552d,'value':_0x26b150,'extendedAt':_0x3abd6f};await this['_storeIdemCache'](_0x82d127,_0x4b53c1);const _0x1fea39=_0x535f89[_0x555146(0x291)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2bf022=_0x1fea39?_0x1fea39[0x1]:_0x555146(0x296),_0x4ad01d=this['_getCounterTTL'](_0x2bf022);return this[_0x555146(0x22b)](_0x523ca2[_0x555146(0x1ce)],_0x535f89,{'lastExtendedCounter':_0x33552d,'lastExtendedAt':_0x3abd6f},_0x4ad01d),logger['info']({'event':_0x2ad1bb['nAgWj'],'resource':_0x523ca2[_0x555146(0x1ce)],'formatKey':_0x535f89,'counter':_0x33552d,'token':_0x23c816,'ttl':_0x4e8644},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x26b150+'\x20(token='+_0x23c816+',\x20+'+_0x4e8644+'s)'),_0x4b53c1;}async['getReservation'](_0x534146){const _0x4abf18=a0_0x509b15,_0x4bbcf3={'mqJNM':'ID\x20Generator\x20is\x20disabled','XhjQe':function(_0x5f2280,_0x5be29b){return _0x5f2280===_0x5be29b;},'YHrTz':function(_0x472602,_0x558441,_0x661d5d){return _0x472602(_0x558441,_0x661d5d);},'mDDRs':function(_0x332ddd,_0x413c1a){return _0x332ddd===_0x413c1a;},'unEHP':'number','YBmrB':function(_0x3d534c,_0x1ef593){return _0x3d534c>=_0x1ef593;}};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x4bbcf3['mqJNM']);const _0x2eba46=this[_0x4abf18(0x1d9)](_0x534146&&_0x534146['token']),_0x5409b8=this['_buildReservationKey'](_0x2eba46),_0x404aca=redisClient['getClient'](),_0x155d61=_0x404aca['pipeline']();_0x155d61[_0x4abf18(0x2a4)](_0x5409b8),_0x155d61[_0x4abf18(0x1fb)](_0x5409b8);const _0x1caaf3=await _0x155d61['exec'](),_0x4fb886=_0x1caaf3&&_0x1caaf3[0x0]&&_0x1caaf3[0x0][0x1],_0x12298e=_0x1caaf3&&_0x1caaf3[0x1]&&_0x1caaf3[0x1][0x1];if(!_0x4fb886||_0x4bbcf3['XhjQe'](Object[_0x4abf18(0x283)](_0x4fb886)[_0x4abf18(0x290)],0x0))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x2eba46,{'token':_0x2eba46});return{'token':_0x2eba46,'resource':_0x4fb886[_0x4abf18(0x1ce)]||null,'formatKey':_0x4fb886[_0x4abf18(0x1b4)]||null,'format':_0x4fb886[_0x4abf18(0x265)]||null,'prefix':_0x4fb886['prefix']||'','separator':_0x4fb886[_0x4abf18(0x1cc)]||'','numDigits':_0x4fb886[_0x4abf18(0x1b6)]?_0x4bbcf3['YHrTz'](parseInt,_0x4fb886['numDigits'],0xa):null,'datePrefix':_0x4fb886[_0x4abf18(0x2a2)]||'','counter':_0x4fb886[_0x4abf18(0x1cb)]?parseInt(_0x4fb886['counter'],0xa):null,'value':_0x4fb886[_0x4abf18(0x243)]||null,'isReused':_0x4bbcf3[_0x4abf18(0x1c1)](_0x4fb886['isReused'],'1')||_0x4bbcf3[_0x4abf18(0x2af)](_0x4fb886[_0x4abf18(0x24e)],0x1),'createdAt':_0x4fb886['createdAt']||null,'expiresAt':_0x4fb886['expiresAt']||null,'ttlRemainingMs':typeof _0x12298e===_0x4bbcf3['unEHP']&&_0x4bbcf3[_0x4abf18(0x23c)](_0x12298e,0x0)?_0x12298e:null};}async[a0_0x509b15(0x272)](_0x45d998){const _0x5ec3fe=a0_0x509b15,_0x4e15b5={'ztQsz':_0x5ec3fe(0x1b4),'MrQPA':function(_0x4087ad,_0x4f1baa){return _0x4087ad||_0x4f1baa;}},_0xef7e77=this['_buildReservationKey'](_0x45d998),_0x411eac=redisClient[_0x5ec3fe(0x2bf)](),_0x3666e7=await _0x411eac['hmget'](_0xef7e77,_0x5ec3fe(0x1ce),_0x4e15b5[_0x5ec3fe(0x21a)]),_0x305b85=_0x3666e7&&_0x3666e7[0x0],_0x1941b3=_0x3666e7&&_0x3666e7[0x1];if(_0x4e15b5[_0x5ec3fe(0x292)](!_0x305b85,!_0x1941b3))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x5ec3fe(0x1b1)+_0x45d998,{'token':_0x45d998});return{'resource':_0x305b85,'formatKey':_0x1941b3,'rsvKey':_0xef7e77,'rsvIdxKey':this['_buildReservationIndexKey'](_0x305b85,_0x1941b3)};}async[a0_0x509b15(0x276)](_0x52eb47){const _0x58ecd9=a0_0x509b15,_0x3da8e5={'nSyhg':_0x58ecd9(0x1f1),'cAhqG':function(_0x4f5e2e,_0x1e7e65){return _0x4f5e2e===_0x1e7e65;},'fwXss':_0x58ecd9(0x276),'nsHBb':_0x58ecd9(0x216),'tVDNV':function(_0x5656dd,_0x4d32d4){return _0x5656dd*_0x4d32d4;},'usdlc':'idgen_random_idem_loser'};if(!this['enabled'])throw new IdGeneratorError(_0x3da8e5['nSyhg'],_0x58ecd9(0x24c));this[_0x58ecd9(0x1f8)](_0x52eb47[_0x58ecd9(0x1ce)]),this['_validatePattern'](_0x52eb47['pattern']);const _0x1ef18e=this['_validateTTL'](_0x52eb47['ttl']),_0x211a8f=this[_0x58ecd9(0x1e1)](_0x52eb47['maxRetry']),_0x1119c7=this['_validateIdempotencyKey'](_0x52eb47['idempotencyKey']),_0x428512=_0x3da8e5['cAhqG'](_0x52eb47['ensureUnique'],!![]),{resource:_0x78c18e,pattern:_0x576bca}=_0x52eb47;let _0x368bb8=null;if(_0x1119c7){_0x368bb8=this['_buildIdemKey'](_0x3da8e5[_0x58ecd9(0x1bb)],_0x78c18e,null,_0x1119c7);const _0x5e03f8=await this['_retrieveIdemCache'](_0x368bb8);if(_0x5e03f8)return _0x5e03f8;}const _0x267eeb=redisClient['getClient']();let _0x4946f9=null,_0x238dbd=0x0;if(!_0x428512)_0x4946f9=this[_0x58ecd9(0x1d5)](_0x576bca),_0x238dbd=0x1;else{for(let _0x3fd949=0x0;_0x3fd949<_0x211a8f;_0x3fd949++){_0x238dbd++;const _0x4fed01=this[_0x58ecd9(0x1d5)](_0x576bca);if(_0x1ef18e){const _0x5748be=this['_buildActiveKey'](_0x78c18e,_0x4fed01),_0x42166c=await _0x267eeb['set'](_0x5748be,'1','EX',_0x1ef18e,'NX');if(_0x42166c==='OK'){_0x4946f9=_0x4fed01;break;}}else{const _0x22ce36=this[_0x58ecd9(0x1ca)](_0x78c18e),_0x1666ee=await _0x267eeb[_0x58ecd9(0x1a9)](_0x22ce36,_0x4fed01);if(_0x1666ee===0x1){_0x4946f9=_0x4fed01;break;}}}if(_0x4946f9===null)throw new IdGeneratorError(_0x3da8e5[_0x58ecd9(0x21b)],'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x211a8f+_0x58ecd9(0x2c5),{'resource':_0x78c18e,'pattern':_0x576bca,'maxRetry':_0x211a8f});}const _0x43cab6={'value':_0x4946f9,'resource':_0x78c18e,'pattern':_0x576bca,'attemptCount':_0x238dbd,'generatedAt':new Date()[_0x58ecd9(0x1ed)]()};_0x1ef18e&&_0x428512&&(_0x43cab6['expiresAt']=new Date(Date[_0x58ecd9(0x1f4)]()+_0x3da8e5[_0x58ecd9(0x1fc)](_0x1ef18e,0x3e8))[_0x58ecd9(0x1ed)]());const _0x4d8d7b=await this[_0x58ecd9(0x1fa)](_0x368bb8,_0x43cab6);if(!_0x4d8d7b[_0x58ecd9(0x214)])return _0x428512&&await this[_0x58ecd9(0x226)](_0x78c18e,_0x4946f9,_0x1ef18e),logger['info']({'event':_0x3da8e5['usdlc'],'resource':_0x78c18e,'pattern':_0x576bca,'value':_0x4946f9},_0x58ecd9(0x282)),_0x4d8d7b[_0x58ecd9(0x25d)];return logger['info']({'event':_0x58ecd9(0x1af),'resource':_0x78c18e,'pattern':_0x576bca,'attemptCount':_0x238dbd,'ensureUnique':_0x428512,'ttl':_0x1ef18e||0x0},'ID\x20Generator\x20random:\x20'+_0x4946f9),_0x43cab6;}async[a0_0x509b15(0x2a3)](_0x1cf47f){const _0x2a1f92=a0_0x509b15,_0x3a7791={'aqMJj':_0x2a1f92(0x1c6),'Bwhkx':function(_0x5f46d0,_0x43ab0c){return _0x5f46d0===_0x43ab0c;}},_0x1edaed=_0x1cf47f['digits']==null?this[_0x2a1f92(0x294)]:_0x1cf47f['digits'];if(!Number[_0x2a1f92(0x285)](_0x1edaed)||_0x1edaed<MIN_PIN_DIGITS||_0x1edaed>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x3a7791['aqMJj'],'Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x2a1f92(0x271)+_0x1edaed+')');const _0x208b77='9'['repeat'](_0x1edaed);return this[_0x2a1f92(0x276)]({'resource':_0x1cf47f[_0x2a1f92(0x1ce)],'pattern':_0x208b77,'ensureUnique':_0x3a7791['Bwhkx'](_0x1cf47f[_0x2a1f92(0x1e0)],!![]),'ttl':_0x1cf47f[_0x2a1f92(0x2c2)],'maxRetry':_0x1cf47f['maxRetry'],'idempotencyKey':_0x1cf47f['idempotencyKey']});}async[a0_0x509b15(0x297)](_0xea6755){const _0x208e9a=a0_0x509b15,_0x4d3c41={'JJIpN':function(_0xa41d0c,_0x5442d1){return _0xa41d0c!==_0x5442d1;}},_0x1460f4=_0xea6755[_0x208e9a(0x2ca)]||this[_0x208e9a(0x22c)];return this['random']({'resource':_0xea6755[_0x208e9a(0x1ce)],'pattern':_0x1460f4,'ensureUnique':_0x4d3c41['JJIpN'](_0xea6755[_0x208e9a(0x1e0)],![]),'ttl':_0xea6755['ttl'],'maxRetry':_0xea6755[_0x208e9a(0x206)],'idempotencyKey':_0xea6755[_0x208e9a(0x2a8)]});}async['code'](_0x2c3357){const _0x123c1c=a0_0x509b15,_0x1a15bc={'VGwmQ':function(_0x41c7ad,_0x157f34){return _0x41c7ad!==_0x157f34;}},_0x5a0321=_0x2c3357[_0x123c1c(0x2ca)]||this[_0x123c1c(0x2b2)];return this['random']({'resource':_0x2c3357['resource'],'pattern':_0x5a0321,'ensureUnique':_0x1a15bc[_0x123c1c(0x1b8)](_0x2c3357['ensureUnique'],![]),'ttl':_0x2c3357[_0x123c1c(0x2c2)],'maxRetry':_0x2c3357['maxRetry'],'idempotencyKey':_0x2c3357['idempotencyKey']});}async['consume'](_0x2a56a1){const _0x57ce17=a0_0x509b15,_0x2458b2={'DLtJb':'IDGEN_DISABLED','WCPFh':_0x57ce17(0x24c),'YLTum':function(_0x130289,_0x4b5ba2){return _0x130289!==_0x4b5ba2;},'mYYBT':function(_0x452039,_0x50d6c1){return _0x452039===_0x50d6c1;},'MCCKb':'IDGEN_INVALID_NUMBER','KihKW':function(_0x7ec857,_0x49efba){return _0x7ec857>_0x49efba;},'MUkuJ':function(_0x21748a,_0x12d260){return _0x21748a+_0x12d260;},'vXILT':_0x57ce17(0x1e3)};if(!this[_0x57ce17(0x279)])throw new IdGeneratorError(_0x2458b2['DLtJb'],_0x2458b2['WCPFh']);this[_0x57ce17(0x1f8)](_0x2a56a1[_0x57ce17(0x1ce)]);if(_0x2458b2[_0x57ce17(0x24b)](typeof _0x2a56a1[_0x57ce17(0x243)],_0x57ce17(0x293))||_0x2458b2['mYYBT'](_0x2a56a1[_0x57ce17(0x243)]['length'],0x0))throw new IdGeneratorError(_0x2458b2['MCCKb'],'value\x20is\x20required');const {resource:_0x37a65c,value:_0x46ce00}=_0x2a56a1,_0x551e3f=redisClient[_0x57ce17(0x2bf)](),_0x1c4061=this['_buildActiveKey'](_0x37a65c,_0x46ce00),_0x5b8cfc=this[_0x57ce17(0x1ca)](_0x37a65c),[_0x4c02d9,_0x382eb6]=await Promise['all']([_0x551e3f[_0x57ce17(0x259)](_0x1c4061),_0x551e3f['srem'](_0x5b8cfc,_0x46ce00)]),_0x4d9cb6=_0x2458b2[_0x57ce17(0x1d0)](_0x2458b2['MUkuJ'](_0x4c02d9,_0x382eb6),0x0);return logger['info']({'event':_0x2458b2[_0x57ce17(0x22a)],'resource':_0x37a65c,'value':_0x46ce00,'consumed':_0x4d9cb6},'ID\x20Generator\x20consumed:\x20'+_0x46ce00),{'consumed':_0x4d9cb6,'resource':_0x37a65c,'value':_0x46ce00,'consumedAt':new Date()[_0x57ce17(0x1ed)]()};}async[a0_0x509b15(0x266)](_0x21cde0){const _0x473f02=a0_0x509b15,_0x12e6f3={'XTdia':'text','OrVIt':function(_0x6ea2d3,_0x20e135,_0x475c14){return _0x6ea2d3(_0x20e135,_0x475c14);},'IZKdx':function(_0x470d14,_0x203e01){return _0x470d14===_0x203e01;},'VuIUE':_0x473f02(0x276),'bIARd':function(_0x18980d,_0x4c8eff){return _0x18980d||_0x4c8eff;},'fmmkb':_0x473f02(0x1d6)};if(!this[_0x473f02(0x279)])throw new IdGeneratorError(_0x473f02(0x1f1),'ID\x20Generator\x20is\x20disabled');this[_0x473f02(0x1f8)](_0x21cde0['resource']);const _0x2cac18=_0x21cde0[_0x473f02(0x1f3)]||'number',_0x444516=redisClient[_0x473f02(0x2bf)]();if(_0x2cac18==='number'){const _0x44c762=(_0x21cde0['format']||_0x12e6f3['XTdia'])[_0x473f02(0x22e)]();if(!ALLOWED_FORMATS['has'](_0x44c762))throw new IdGeneratorError(_0x473f02(0x2b0),'Invalid\x20format:\x20'+_0x21cde0[_0x473f02(0x265)]);const {formatKey:_0x12464a}=this[_0x473f02(0x255)](_0x44c762,_0x21cde0['prefix']||''),_0x47449=this['_buildSeqKey'](_0x21cde0['resource'],_0x12464a),_0x3fd71c=this['_buildReuseKey'](_0x21cde0[_0x473f02(0x1ce)],_0x12464a),[_0x2c78dc,_0x35fbd0]=await Promise['all']([_0x444516['get'](_0x47449),_0x444516[_0x473f02(0x1d3)](_0x3fd71c)]);return{'resource':_0x21cde0[_0x473f02(0x1ce)],'mode':'number','formatKey':_0x12464a,'currentCounter':_0x12e6f3[_0x473f02(0x281)](parseInt,_0x2c78dc,0xa)||0x0,'reusePoolSize':_0x35fbd0||0x0};}if(_0x12e6f3[_0x473f02(0x1c8)](_0x2cac18,_0x12e6f3['VuIUE'])){const _0x4be2d2=this[_0x473f02(0x1ca)](_0x21cde0['resource']),_0x41448b=await _0x444516['scard'](_0x4be2d2);return{'resource':_0x21cde0['resource'],'mode':'random','issuedCount':_0x12e6f3['bIARd'](_0x41448b,0x0)};}throw new IdGeneratorError(_0x12e6f3['fmmkb'],'Unknown\x20mode:\x20'+_0x2cac18);}async[a0_0x509b15(0x230)](_0x3085af){const _0x50bcda=a0_0x509b15,_0x482cc3={'sBSzO':function(_0x26d6ec,_0x5c78dc){return _0x26d6ec===_0x5c78dc;}},_0x3a9f45=await this[_0x50bcda(0x266)](_0x3085af);if(_0x482cc3[_0x50bcda(0x23a)](_0x3a9f45[_0x50bcda(0x1f3)],_0x50bcda(0x26a))){const _0x27af27=redisClient[_0x50bcda(0x2bf)](),_0x1c5a56=this[_0x50bcda(0x1ec)](_0x3085af[_0x50bcda(0x1ce)],_0x3a9f45[_0x50bcda(0x1b4)]),_0x5d2536=this[_0x50bcda(0x200)](_0x3085af['resource'],_0x3a9f45['formatKey']),[_0xe6463a,_0x2eeea7]=await Promise[_0x50bcda(0x1dd)]([_0x27af27['hgetall'](_0x1c5a56),_0x27af27[_0x50bcda(0x2ac)](_0x5d2536,0x0,-0x1)]);return{..._0x3a9f45,'reusePoolValues':_0x2eeea7[_0x50bcda(0x1e4)](_0x4c4272=>parseInt(_0x4c4272,0xa)),'meta':_0xe6463a&&Object['keys'](_0xe6463a)['length']>0x0?_0xe6463a:null};}return _0x3a9f45;}async['reset'](_0xde02f2){const _0x31fd81=a0_0x509b15,_0x5bd6c1={'KLMDk':'IDGEN_DISABLED','QFXbG':'ID\x20Generator\x20is\x20disabled','FOgAN':'IDGEN_RESET_NOT_ALLOWED','SOohZ':function(_0xa5ad0c,_0x395595){return _0xa5ad0c===_0x395595;},'xGcde':_0x31fd81(0x2b0),'gVwGd':_0x31fd81(0x2cd),'twTlr':function(_0x4a950c,_0x244448){return _0x4a950c===_0x244448;},'mbJwC':'random','BbBTQ':'issued'};if(!this[_0x31fd81(0x279)])throw new IdGeneratorError(_0x5bd6c1['KLMDk'],_0x5bd6c1[_0x31fd81(0x21e)]);if(!this[_0x31fd81(0x201)])throw new IdGeneratorError(_0x5bd6c1['FOgAN'],'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this[_0x31fd81(0x1f8)](_0xde02f2[_0x31fd81(0x1ce)]);const _0xdfbbe2=_0xde02f2['mode']||'number',_0x3777f2=redisClient[_0x31fd81(0x2bf)]();if(_0x5bd6c1[_0x31fd81(0x250)](_0xdfbbe2,_0x31fd81(0x26a))){const _0x8e0211=(_0xde02f2['format']||_0x31fd81(0x296))[_0x31fd81(0x22e)]();if(!ALLOWED_FORMATS[_0x31fd81(0x249)](_0x8e0211))throw new IdGeneratorError(_0x5bd6c1[_0x31fd81(0x248)],_0x31fd81(0x207)+_0xde02f2['format']);const {formatKey:_0x28fd8f}=this['_buildFormatKey'](_0x8e0211,_0xde02f2[_0x31fd81(0x29f)]||''),_0x2e806f=this[_0x31fd81(0x204)](_0xde02f2[_0x31fd81(0x1ce)],_0x28fd8f),_0x4dfddb=this[_0x31fd81(0x200)](_0xde02f2['resource'],_0x28fd8f),_0x3c80d9=this['_buildMetaKey'](_0xde02f2['resource'],_0x28fd8f);return await _0x3777f2['del'](_0x2e806f,_0x4dfddb,_0x3c80d9),logger[_0x31fd81(0x222)]({'event':'idgen_reset','resource':_0xde02f2[_0x31fd81(0x1ce)],'mode':_0x31fd81(0x26a),'formatKey':_0x28fd8f},'ID\x20Generator\x20reset:\x20'+_0xde02f2['resource']+':'+_0x28fd8f),{'reset':!![],'resource':_0xde02f2['resource'],'mode':_0x31fd81(0x26a),'formatKey':_0x28fd8f,'deletedKeys':[_0x31fd81(0x1ae),'reuse',_0x5bd6c1['gVwGd']]};}if(_0x5bd6c1['twTlr'](_0xdfbbe2,'random')){const _0x20852b=this[_0x31fd81(0x1ca)](_0xde02f2['resource']);return await _0x3777f2[_0x31fd81(0x259)](_0x20852b),logger[_0x31fd81(0x222)]({'event':'idgen_reset','resource':_0xde02f2[_0x31fd81(0x1ce)],'mode':_0x5bd6c1['mbJwC']},_0x31fd81(0x23d)+_0xde02f2[_0x31fd81(0x1ce)]),{'reset':!![],'resource':_0xde02f2['resource'],'mode':'random','deletedKeys':[_0x5bd6c1[_0x31fd81(0x20e)]]};}throw new IdGeneratorError('IDGEN_INVALID_MODE',_0x31fd81(0x2a1)+_0xdfbbe2);}}function a0_0x43bf(){const _0x1848da=['sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','x2DLBMvYyxrLrNjVBvbHDhrLCM4','surhru5Fsu5wquXjrf9nt0rf','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','ywn0AxzLoG','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','rvvuwMG','zwzMwhi','twv0ysb1CgrHDguGzxjYB3i','ywXS','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','CMvZzxj2zurLzMf1BhruveW','zw5ZDxjLvw5PCxvL','x3zHBgLKyxrLtwf4uMv0CNK','tLzLwgW','AwrNzw5Fy29UC3vTzwq','BwfW','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','y291BNrLCKLUDa','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','A2v5uhjLzML4','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','DwP6Afa','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','x2j1AwXKtwv0yuTLEq','Dg9ju09tDhjPBMC','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','ihnLy29UzhmGkgDVDdOG','CNn2s2v5','surhru5FreLtqujmruq','x2TLEvbYzwzPEa','Bw9Kzq','BM93','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','Dhj1zq','C05vsuC','x3zHBgLKyxrLuMvZB3vYy2u','ntG5ndGZmKfbsKLXvW','x3n0B3jLswrLBunHy2HLtLG','Chr0Ba','DfzetLy','zxH0zw5KuMvZzxj2yxrPB24','ndC4ogTxzMjcuG','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','x2j1AwXKuMv1C2vlzxK','ywXSB3DszxnLDa','z1nUB0S','C3fXvuK','x2j1AwXKu2vXs2v5','CMvZzxj2zv9LEhrLBMq','Bwf4uMv0CNK','sw52ywXPzcbMB3jTyxq6ia','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','mJCZmtK2mMHtrg5gzW','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','x2j1AwXKuMvZzxj2yxrPB25lzxK','surhru5FquXmt1DFuKvtrvq','qMjcvfe','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','otbwvgHMBhy','CeTIvve','CMfUzg9Tvvvjra','x3L5ExLTBv8','C3rVCMvK','CLjowLi','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','CMvSzwfZzq','ignOyxjZicHNB3qGBgvUz3rOoIa','ENrrC3O','BNniqMi','x3bHzdi','CNn2swr4s2v5','uuzyyKC','t2jkwxC','x3jLC2vYDMvezwzHDwX0vfrm','surhru5FuKvtrvjwrv9nqvHFvfrm','D2fYBG','ignOyxjZ','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','x3vUzg9syw5KB21szxnLCNzHDgLVBG','y3jLyxrLzef0','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','Aw5MBW','DLHjtfq','x3vWzgf0zu1LDge','zgvMyxvSDfnLCMLHBfbHDhrLCM4','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','Dg9mB3DLCKnHC2u','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','z2v0sw5MBW','igrPz2L0CYaOz290oIa','zxzHBa','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','x2DLDenVDw50zxjuveW','surhru5Fsu5wquXjrf9qqvrurvjo','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','x2zVCM1HDe51BwjLCG','mZGWmdi0mxrLCLLsyW','x2vUywjSzwq','C0jtEK8','BhjTzha','wujTCKi','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','swrhzw5LCMf0B3jfCNjVCG','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','x2j1AwXKqwn0AxzLs2v5','ChvZAa','Cg52Cuq','DMfSDwu','x3jLDhjPzxzLswrLBunHy2HL','v1PIzMi','AhnLDa','CMvZzxj2zv9Jyw5JzwW','EeDJzgu','AgfZ','mxfxB0POBG','wuXuDw0','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','z2vUzxjHDgvKqxq','AxnszxvZzwq','ufbsqNK','u09VAfO','zw50CMLLCW','yNvPBgrezxrLCM1PBMLZDgLJs2v5','lwrPz2L0ignHCgfJAxr5icG','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','x2j1AwXKrM9YBwf0s2v5','CgfYC2u','yKDYD1O','x3zHBgLKyxrLuMvZzxj2zvruta','zgvS','zw52','CNn2oG','qvvvtMe','D2LUBMvYuMvZDwX0','zhD5uLe','x3n0B3jLswrLBunHy2HL','oxWZFdj8mhWXFdz8ohW0FdeXFdeWFdv8nW','DgvZDa','EvL6z3u','nZeYmJC0nuXHBMTzCG','Dg9Rzw4','zM9YBwf0','CgvLAW','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','BNvTyMvY','tg9ZDfa','veH1wKG','De5Mq2K','lcbLEhbLy3rLzca','zgv0ywLSCW','BeLsvNi','icHNB3q6ia','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','mZKXmJKZmwvwA3zevW','x2rLzMf1BhrtzxjPywXqyxr0zxjU','odC5nJqXnwjZB2Dxrq','CMfUzg9T','x2LUAxrdB25MAwC','Cg93','zw5HyMXLza','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','C0zyCwe','AwrLBuTLEq','t0veq2i','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','t3jwsxq','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','A2v5CW','DgruCNC','AxnjBNrLz2vY','BMfTzq','sg9QDMy','surhru5Frevgqvvmvf9nqvHFuKvuuLK','wg5xzKO','y29Kzq','BxfNDw0','Eejoz3C','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','lI9SB2DNzxi','BgvUz3rO','Bwf0y2G','txjruee','C3rYAw5N','zgvMyxvSDfbPBKrPz2L0CW','z2v0tw9UDgG','Dgv4Da','C2vYAwfS','surhru5Fsu5wquXjrf9ovu1crvi','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','CgfKu3rHCNq','ngHTtNb0yG','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','ANLwwLy','ChjLzML4','DK5hsKq','vw5RBM93BIbTB2rLoIa','zgf0zvbYzwzPEa','CgLU','AgDLDgfSBa','CMvZzxj2zu1HEfruta','twj4wvG','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','AwrLBxbVDgvUy3LlzxK','x2rLzMf1BhrnyxHszxrYEq','y29UzMLYBvjLC2vYDMf0Aw9U','BwvZC2fNzq','ENjHBMDL','x2j1AwXKswrLBuTLEq','Dg15Aeq','BureuNm','surhru5Fsu5wquXjrf9gt1jnqvq','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','zgvMyxvSDenVzgvqyxr0zxjU','x2fSBg93uMvZzxq','ntaZmLPcvfzitG','AwrNzw4','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','cMXVy2fSihvUCgSGpsb1BNbHy2SGB3iGDgfIBguUDw5WywnRcGOTlsbtDgvWide6igXHENKGCMvHCcbLEhbPCMvKihjLC2vYDMf0Aw9UCYaOy2fWifjfu0vsvKvFuKvbuf9cqvrdscKkBg9JywWGCMvHCgvKid0GmaPSB2nHBcbUB3DnCYa9iefsr1zBn10kBg9JywWGCNn2uhjLzML4id0GqvjhvLS4xqPSB2nHBcbLEhbPCMvKid0GCMvKAxmUy2fSBcGNwLjbtKDfqLLtq09srsCSieTfwvnBm10SicCTAw5MjYWGjYGNic4Uig5VD01ZlcaNteLnsvqNlcaWlca2ncKkzM9YigKGpsaXlcaJzxHWAxjLzcbKBWOGigXVy2fSigv4CfrVA2vUid0GzxHWAxjLzfTPxqOGigXVy2fSigv4CfjZDKTLEsa9ihjZDLbYzwzPEcaUlIbLEhbuB2TLBGOGigXVy2fSigv4CenVDw50zxiGpsbYzwrPCY5JywXSkcDir0vujYWGzxHWuNn2s2v5lcaNy291BNrLCICPcIaGAwyGzxHWq291BNrLCIb0AgvUcIaGicbYzwrPCY5JywXSkcDAqurejYWGs0vzu1SYxsWGzxHWq291BNrLCIWGzxHWq291BNrLCIKkicbLBMqkicbYzwrPCY5JywXSkcDeruWNlcbLEhbsC3zlzxKPcIaGCMvKAxmUy2fSBcGNwLjftsCSieTfwvnBm10Sigv4CfrVA2vUkqOGihjLyxbLzca9ihjLyxbLzcaRidekzw5KcGOTlsbtDgvWidi6igfSBg9JyxrLignVDw50zxiGkfPqt1bnsu4GCMv1C2uGyxrHDsbjtKnsihnLCsKkBg9JywWGy291BNrLCKLUDaPSB2nHBcbPC1jLDxnLzca9idakAwyGqvjhvLSXxsa9psaNmsCGDgHLBGOGigXVy2fSihiGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCIa+idaGDgHLBGOGicaGy291BNrLCKLUDca9ihrVBNvTyMvYkhjBmv0PcIaGicbPC1jLDxnLzca9idekicbLBMqkzw5KcMLMig5VDcbJB3vUDgvYsw50ihrOzw4kicbJB3vUDgvYsw50id0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcIaGBg9JywWGy3r0Bca9ihrVBNvTyMvYkefsr1zBmL0PcIaGAwyGy3r0Bca+idaGyw5KignVDw50zxjjBNqGpt0Gmsb0AgvUcIaGicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcbJDhrSkqOGigvUzaPLBMqkcI0Tifn0zxaGmZOGD3jPDguGCMvZzxj2yxrPB24GAgfZAcaRigLUzgv4icSGvfrmcMXVy2fSihjZDKTLEsa9iefsr1zBnf0kBg9JywWGCNn2vhrStxmGpsb0B251BwjLCIHbuKDwwZvDkqPSB2nHBcbLEhbPCMvZqxrnCYa9ihrVBNvTyMvYkefsr1zBnL0PcMXVy2fSig5HCMDZid0Gi0fsr1ykBg9JywWGzMLLBgrZid0GE30kzM9YigKGpsa5lcbUyxjNCYbKBWOGigzPzwXKC1SJzMLLBgrZicSGmv0GpsbbuKDww2LDcMvUzaPYzwrPCY5JywXSkcDiu0vujYWGCNn2s2v5lcaNy291BNrLCICSignVDw50zxjjBNqSicDPC1jLDxnLzcCSigLZuMv1C2vKlcb1BNbRkgzPzwXKCYKPcNjLzgLZlMnHBgWOj1bfwfbjuKuNlcbYC3zlzxKSihjZDLr0Be1ZkqPYzwrPCY5JywXSkcDAqurejYWGs0vzu1SZxsWGzxHWAxjLC0f0txmSiefsr1zBm10PcNjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sig1HDgGUzMXVB3iOCNn2vhrStxmGlYaXmdaWksaRidyWkqOkCMv0DxjUihSGy291BNrLCKLUDcWGAxnszxvZzwqSihjLyxbLzcb9cG','x2nVDw50zxjuveXnyxa','C3rYAw5NAwz5','z2v0rgf0zq','mdeYmZq1nJC4oufcq0rfrG','x2vUC3vYzuLUAxrPywXPEMvK','x3L5ExLTBwrKxW','x2LKzw1uveW','z2v0q2XPzw50','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','v3fMtLC','DhrS','x2rLzMf1BhrdB2rLugf0DgvYBG','x3jLC2vYDMvnyxHuveW','igf0DgvTChrZlIbjBMnYzwfZzsbWyxr0zxjUigXLBMD0AcbVCIbTyxHszxrYEs4','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','igv4y2vLzhmG','ALLKz0e','EwzMCxe','Cgf0DgvYBG','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','Bwv0yq','s0nZsNq','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','z2v0rNvSBfLLyxi','C2fKza','vw5RBM93BIbMB3jTyxq6ia','surhru5Frevgqvvmvf9qsu5FreLhsvrt','CMvSzwfZzwrbDa','z2v0','C2vX','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','zMTvsg8','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','AwrLBvruta','yLbUs1e','zM9YBwf0s2v5','CMvZzxj2zv9JB25MAxjT','BNvTrgLNAxrZ','zKLjy3y','vKD3Bve','x2rLzMf1BhrqAw5eAwDPDhm','rKn3ww0','zNDyC3m','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','EwnsAvm','CMy6AwrNzw46','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','x2LUAxrPywXPEMvK','wgHQuwu','EMLezNm','y2fUy2vSuMvZzxj2yxrPB24','AwrNzw5Fy29UzMLNx2LUAxq','tMrVq0u','surhru5Fsu5wquXjrf9esuDjvfm','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','svPlzhG','x3rLEhq','x2j1AwXKsxnZDwvKs2v5','y291BNrLCG','C2vWyxjHDg9Y','C29ABwC','CMvZB3vYy2u','surhru5Fsu5wquXjrf9srvnpvvjdrq','s2LOs1C','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','sgP6t0y','EMnHCMq'];a0_0x43bf=function(){return _0x1848da;};return a0_0x43bf();}const instance=new IdGenerator();function a0_0x1080(_0x517b1c,_0xc80fe8){_0x517b1c=_0x517b1c-0x1a7;const _0x43bf97=a0_0x43bf();let _0x1080ee=_0x43bf97[_0x517b1c];if(a0_0x1080['iERwEm']===undefined){var _0x315ffc=function(_0x4c3e05){const _0x5e4264='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x789407='',_0x4ed218='';for(let _0x3c37ca=0x0,_0x39bcec,_0x3ce972,_0x4d047e=0x0;_0x3ce972=_0x4c3e05['charAt'](_0x4d047e++);~_0x3ce972&&(_0x39bcec=_0x3c37ca%0x4?_0x39bcec*0x40+_0x3ce972:_0x3ce972,_0x3c37ca++%0x4)?_0x789407+=String['fromCharCode'](0xff&_0x39bcec>>(-0x2*_0x3c37ca&0x6)):0x0){_0x3ce972=_0x5e4264['indexOf'](_0x3ce972);}for(let _0x457934=0x0,_0x12fd10=_0x789407['length'];_0x457934<_0x12fd10;_0x457934++){_0x4ed218+='%'+('00'+_0x789407['charCodeAt'](_0x457934)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ed218);};a0_0x1080['MmOkFK']=_0x315ffc,a0_0x1080['iKfZHb']={},a0_0x1080['iERwEm']=!![];}const _0x10804e=_0x43bf97[0x0],_0x3e8bcf=_0x517b1c+_0x10804e,_0x5a66f3=a0_0x1080['iKfZHb'][_0x3e8bcf];return!_0x5a66f3?(_0x1080ee=a0_0x1080['MmOkFK'](_0x1080ee),a0_0x1080['iKfZHb'][_0x3e8bcf]=_0x1080ee):_0x1080ee=_0x5a66f3,_0x1080ee;}instance['IdGeneratorError']=IdGeneratorError,module['exports']=instance,module['exports'][a0_0x509b15(0x23e)]=IdGeneratorError;
1
+ 'use strict';function a0_0x559e(_0x4c7fc0,_0x51b9ef){_0x4c7fc0=_0x4c7fc0-0xc0;const _0x86e760=a0_0x86e7();let _0x559e5a=_0x86e760[_0x4c7fc0];if(a0_0x559e['BSRLtL']===undefined){var _0x5b4a48=function(_0x5c3453){const _0x48fb28='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ce411='',_0x33cb38='';for(let _0x6dc3f3=0x0,_0x541aca,_0x37509c,_0x4b8eb3=0x0;_0x37509c=_0x5c3453['charAt'](_0x4b8eb3++);~_0x37509c&&(_0x541aca=_0x6dc3f3%0x4?_0x541aca*0x40+_0x37509c:_0x37509c,_0x6dc3f3++%0x4)?_0x1ce411+=String['fromCharCode'](0xff&_0x541aca>>(-0x2*_0x6dc3f3&0x6)):0x0){_0x37509c=_0x48fb28['indexOf'](_0x37509c);}for(let _0x477705=0x0,_0x1fc1be=_0x1ce411['length'];_0x477705<_0x1fc1be;_0x477705++){_0x33cb38+='%'+('00'+_0x1ce411['charCodeAt'](_0x477705)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x33cb38);};a0_0x559e['WfRTuI']=_0x5b4a48,a0_0x559e['kNGUkJ']={},a0_0x559e['BSRLtL']=!![];}const _0x1c0eeb=_0x86e760[0x0],_0x4093aa=_0x4c7fc0+_0x1c0eeb,_0x17b91a=a0_0x559e['kNGUkJ'][_0x4093aa];return!_0x17b91a?(_0x559e5a=a0_0x559e['WfRTuI'](_0x559e5a),a0_0x559e['kNGUkJ'][_0x4093aa]=_0x559e5a):_0x559e5a=_0x17b91a,_0x559e5a;}const a0_0x3ce6c9=a0_0x559e;(function(_0x4d2c7b,_0x3f5cd7){const _0x36ac4b=a0_0x559e,_0x5714e1=_0x4d2c7b();while(!![]){try{const _0x26cff3=parseInt(_0x36ac4b(0x1c4))/0x1+parseInt(_0x36ac4b(0xc1))/0x2*(-parseInt(_0x36ac4b(0xd4))/0x3)+-parseInt(_0x36ac4b(0x107))/0x4*(parseInt(_0x36ac4b(0x120))/0x5)+-parseInt(_0x36ac4b(0x139))/0x6*(-parseInt(_0x36ac4b(0x1aa))/0x7)+parseInt(_0x36ac4b(0x12f))/0x8*(parseInt(_0x36ac4b(0x1d8))/0x9)+-parseInt(_0x36ac4b(0xe0))/0xa+-parseInt(_0x36ac4b(0x1d7))/0xb*(parseInt(_0x36ac4b(0xe9))/0xc);if(_0x26cff3===_0x3f5cd7)break;else _0x5714e1['push'](_0x5714e1['shift']());}catch(_0x978c90){_0x5714e1['push'](_0x5714e1['shift']());}}}(a0_0x86e7,0x1a42d));const crypto=require('crypto'),redisClient=require(a0_0x3ce6c9(0x1bb)),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x3ce6c9(0x1c1),a0_0x3ce6c9(0x13b)]),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT='0123456789',CHARSET_UPPER=a0_0x3ce6c9(0x1db),CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x3ce6c9(0x19e),CHARSET_HEX_LOWER=a0_0x3ce6c9(0x104),PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER=a0_0x3ce6c9(0x16c),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=a0_0x3ce6c9(0x1a1);function a0_0x86e7(){const _0xbf3d82=['D3bRD2q','AwrLBxbVDgvUy3LlzxK','BMfTzq','wfHywc1ywfHylvHywfGTwfHywa','BuDyyMu','x3n0B3jLswrLBunHy2HLtLG','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','z2v0rgf0zq','EuPwqvm','otK5os05otK5','qw5Ur3e','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','CNn2swr4s2v5','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','Bwv0ytO','AwrNzw5FCMvZzxq','DwDnyNu','C2v0','C3rYAw5N','surhru5FreLtqujmruq','yNvPBgrezxrLCM1PBMLZDgLJs2v5','x2j1AwXKuMvZzxj2yxrPB25lzxK','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','x2nVDw50zxjuveXnyxa','EgH3C1e','DMfSDwuGAxmGCMvXDwLYzwq','DND2AM0','Dg9mB3DLCKnHC2u','C3jLBq','D2LUBMvYuMvZDwX0','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','C2v0zxG','x2rLzMf1BhrnyxHszxrYEq','zuPlDKy','suqGr2vUzxjHDg9YihjLC2v0oIa','zxHWAxjLC0f0','CNjNthy','sezWt1O','surhru5Fsu5wquXjrf9qqvrurvjo','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','CxPVtgW','CMvZzxj2zq','ENrpzxm','zw5ZDxjLvw5PCxvL','surhru5Fsu5wquXjrf9ut0TftG','CNz4rgS','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','CNn2s2v5','surhru5Fsurftv9uveW','C2fKza','vw5RBM93BIbMB3jTyxq6ia','ywXS','ignOyxjZicHNB3qGBgvUz3rOoIa','BwvZC2fNzq','AwrNzw4','u3nSAvG','AvLqD00','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','AgfZ','uezuAue','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','zxH0zw5KuMvZzxj2yxrPB24','quTgtKC','mdeYmZq1nJC4oufcq0rfrG','r0jXAe4','x2zVCM1HDe51BwjLCG','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','wuvRwwG','x2j1AwXKrM9YBwf0s2v5','AgDLDgfSBa','wvnwCeC','x2vUC3vYzuLUAxrPywXPEMvK','BM93','surhru5Fsu5wquXjrf9nt0rf','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','mZyWodi5BMTptejY','CgfKu3rHCNq','x3jLC2vYDMvezwzHDwX0vfrm','DhrS','y29UC3vTzq','icH0B2TLBJ0','AKzqvgu','BNvTrgLNAxrZ','uMDICuG','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','C2vXoG','s2XTrwy','x2j1AwXKtwv0yuTLEq','lcbNB3qG','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','CMvZzxj2zu51BwjLCG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','lI9YzwrPCY1JBgLLBNq','suqGr2vUzxjHDg9Yig51BwjLCJOG','s3rKBNO','Aw5MBW','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','ExL5Ew1T','quPcrNi','lcbLEhbLy3rLzca','mtuWmZaXuM1lrenJ','DMfSDwu','sw15C3a','q29Rwuu','wvHir28','x3rLEhq','uwDRzKe','AwrNzw5FAwrLBv9OAxq','ignOyxjZ','x3vWzgf0zu1LDge','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','swjxDKm','D2fYBG','x2j1AwXKswrLBuTLEq','DgvZDa','CMvZzxj2zu1HEfruta','DMDzweO','tNfMvue','y2fUy2vSuMvZzxj2yxrPB24','mJa1odfLq0ztBxK','mtCXwNnzru5h','C2vX','z2v0sw5MBW','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','CMvZzxj2zurLzMf1BhruveW','AM9PBG','quXbtMC','BNvTyMvY','zhDJBLu','DhrStxm','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','yLbZsLe','y29UzMLYBvjLC2vYDMf0Aw9U','x2LUAxrdB25MAwC','zw5HyMXLza','lcaR','sMrVC2W','Bw9Kzq','swrhzw5LCMf0B3jfCNjVCG','EKrZr3a','CeTmEhi','q3nuqLm','mLbIzhDXtq','zgvMyxvSDfnLCMLHBfbHDhrLCM4','tK5Qy1O','z1z3zMG','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','DKL5v1C','AxnjBNrLz2vY','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','x3jLC2vYDMvnyxHuveW','zgvMyxvSDenVzgvqyxr0zxjU','BNjsA1G','r0XMwKq','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','y291BNrLCKLUDa','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','rvjHvxC','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','zgvMyxvSDe1HEfjLDhj5','mtuYotG4AxHzuNrM','zw52','x3bHzdi','CNn2oG','x2LKzw1uveW','surhru5Fru5bqKXfra','vLfbwgC','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','surhru5Fsu5wquXjrf9srvnpvvjdrq','CgvLAW','AwrNzw5Fy29UzMLNx2LUAxq','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','otG5odeWqxvSt1rT','y291BNrLCG','surhru5Fsu5wquXjrf9esuDjvfm','wujrA2y','x3n0B3jLswrLBunHy2HL','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','x2j1AwXKsxnZDwvKs2v5','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','x2vUywjSzwq','mtmYBK9tr0Ht','Dg9Rzw4','seTZBva','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','surhru5Fsu5wquXjrf9quKvgsvG','x3jLDhjPzxzLswrLBunHy2HL','ExL5Eq','x3vUzg9syw5KB21szxnLCNzHDgLVBG','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','ChjLzML4','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','x3zHBgLKyxrLuMvZB3vYy2u','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','igrPz2L0CYaOz290oIa','suqGr2vUzxjHDg9YihjHBMrVBtOG','CMvZzxj2zv9LEhrLBMq','Dg9ju09tDhjPBMC','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','BgvUz3rO','s3LPyM8','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','vxjUEvy','x2rLzMf1BhrtzxjPywXqyxr0zxjU','CMvZB3vYy2u','x2j1AwXKuMv1C2vlzxK','surhru5Fsu5wquXjrf9ovu1crvi','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','mdeYmZq1nJC4owfIy2rLzG','x3zHBgLKyxrLugf0DgvYBG','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','nfPrsLzVrW','t0T5t0q','twv0ysb1CgrHDguGzxjYB3i','x3bHCNnLtNvTyMvY','yvzVz3m','x2rLzMf1BhrdB2rLugf0DgvYBG','surhru5Frevgqvvmvf9nqvHFuKvuuLK','surhru5Fq09vtLrfuL9uveXFrefjtfK','x3zHBgLKyxrLuMvZzxj2zvruta','qwjhDKm','uxHTvui','x2TLEvbYzwzPEa','x2rLzMf1BhrqAw5eAwDPDhm','ywn0AxzLoG','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','x2j1AwXKu2vXs2v5','C3bSAxq','Cgf0DgvYBG','tNrZvxe','tMLbwfG','zM9YBwf0','zePpr3m','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','Cg93','mZq0mJm1AM9PD3bb','CLnkzLi','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','Dgv4Da','vLLvufm','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','CMvZzxj2zv9Jyw5JzwW','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','serzwgG','C3rYAw5NAwz5','s29IzKO','zgLNAxrZ','mZK0mdb3y01HDNu','v1nuBe4','zw50CMLLCW','x2fSBg93uMvZzxq','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','ufHHELG','ihnLy29UzhmGkgDVDdOG','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','x3L5ExLTBv8','surhru5Fsu5wquXjrf9gt1jnqvq','mtjwBfjRqw4','Dhj1zq','ExL5Ew1Tzgq','z2v0q2XPzw50','zgf0zvbYzwzPEa','Bwf4uMv0CNK','z2v0uMvZzxj2yxrPB24','x2DLDenVDw50zxjuveW','icHNB3q6ia','AwrLBvruta','CNn2x2LKEdO','y3jLyxrLzef0','zM9YBwf0s2v5','surhru5Frevgqvvmvf9qsu5FreLhsvrt','s1zYB00','CMfUzg9T','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','zgvMyxvSDfbPBKrPz2L0CW','x3zHBgLKyxrLvfrm','s3zlB1C','z2v0rNvSBfLLyxi','ChvZAa','x2DLBMvYyxrLrNjVBvbHDhrLCM4','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','x2LUAxrPywXPEMvK','zNzssKi','ueDlD0S','sw52ywXPzcbMB3jTyxq6ia','zgvS','CgfYC2u','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','A2v5uhjLzML4','v3jNDvi','CgLU','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','y29Kzq','zxzHBa','z2v0'];a0_0x86e7=function(){return _0xbf3d82;};return a0_0x86e7();}class IdGeneratorError extends Error{constructor(_0x33454c,_0x50e4b2,_0x44d219=null){const _0x5ac522=a0_0x3ce6c9;super(_0x50e4b2||_0x33454c),this[_0x5ac522(0x161)]='IdGeneratorError',this[_0x5ac522(0x15c)]=_0x33454c,this['details']=_0x44d219;}}class IdGenerator{constructor(){const _0x3cbe5c=a0_0x3ce6c9;this['_initialized']=![],this[_0x3cbe5c(0xe8)]=null,this['_keyPrefix']=null,this[_0x3cbe5c(0xd8)]=null,this['_allowReset']=null,this[_0x3cbe5c(0x17f)]=null,this['_defaultPinDigits']=null,this['_defaultSerialPattern']=null,this[_0x3cbe5c(0x10c)]=null,this['_counterTTLMap']=null,this['_reserveDefaultTTL']=null,this['_reserveMaxTTL']=null;}['_initConfig'](){const _0x1f5330=a0_0x3ce6c9,_0x4f067e={'JHjbg':_0x1f5330(0x162),'joecV':function(_0x4b693a,_0x210ba7,_0xbdc79f){return _0x4b693a(_0x210ba7,_0xbdc79f);},'mGXbe':_0x1f5330(0x13a),'fMWIe':function(_0x11de46,_0x749643){return _0x11de46===_0x749643;},'gVwfh':function(_0x179022,_0x9fe399,_0x52831c){return _0x179022(_0x9fe399,_0x52831c);},'nrRkX':function(_0x3b0c67,_0x4ee9e1,_0x337d3e){return _0x3b0c67(_0x4ee9e1,_0x337d3e);},'yorGN':_0x1f5330(0x168)},_0x3c8c21='5|7|9|4|1|10|0|12|8|6|3|2|11'['split']('|');let _0x1b28c2=0x0;while(!![]){switch(_0x3c8c21[_0x1b28c2++]){case'0':this['_defaultSerialPattern']=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x4f067e['JHjbg'];continue;case'1':this[_0x1f5330(0x17f)]=_0x4f067e['joecV'](parseInt,process['env'][_0x1f5330(0x10d)],0xa)||0xa;continue;case'2':this[_0x1f5330(0x151)]=!![];continue;case'3':this[_0x1f5330(0xc9)]=_0x4f067e['joecV'](parseInt,process[_0x1f5330(0xd5)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL;continue;case'4':this['_allowReset']=process['env']['IDGEN_ALLOW_RESET']===_0x4f067e[_0x1f5330(0x163)];continue;case'5':this[_0x1f5330(0x112)]='rf:idgen:';continue;case'6':this[_0x1f5330(0x1ac)]=_0x4f067e['joecV'](parseInt,process['env'][_0x1f5330(0x157)],0xa)||DEFAULT_RESERVE_TTL;continue;case'7':this['_enabled']=_0x4f067e['fMWIe'](process['env'][_0x1f5330(0xd9)],'true');continue;case'8':this[_0x1f5330(0x176)]={'yyyymm':_0x4f067e['gVwfh'](parseInt,process[_0x1f5330(0xd5)][_0x1f5330(0x19b)],0xa)||0x2a3000,'yyyymmdd':_0x4f067e[_0x1f5330(0xc4)](parseInt,process['env'][_0x1f5330(0x10e)],0xa)||0x2a300};continue;case'9':this['_idemTTL']=_0x4f067e[_0x1f5330(0xcb)](parseInt,process['env'][_0x1f5330(0x18f)],0xa)||0x258;continue;case'10':this[_0x1f5330(0x113)]=_0x4f067e['nrRkX'](parseInt,process[_0x1f5330(0xd5)][_0x1f5330(0x146)],0xa)||0x6;continue;case'11':logger['info']({'event':_0x1f5330(0xde),'enabled':this[_0x1f5330(0xe8)],'idemTTL':this[_0x1f5330(0xd8)],'allowReset':this[_0x1f5330(0x132)],'defaultMaxRetry':this[_0x1f5330(0x17f)],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this[_0x1f5330(0x1ac)],'reserveMaxTTL':this[_0x1f5330(0xc9)]},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this['_enabled']);continue;case'12':this[_0x1f5330(0x10c)]=process['env']['IDGEN_DEFAULT_CODE_PATTERN']||_0x4f067e['yorGN'];continue;}break;}}[a0_0x3ce6c9(0x1a6)](){const _0xf48b59=a0_0x3ce6c9;if(!this[_0xf48b59(0x151)])this[_0xf48b59(0x1e5)]();}get['enabled'](){const _0x547e3e=a0_0x3ce6c9;return this['_ensureInitialized'](),this[_0x547e3e(0xe8)];}get['keyPrefix'](){const _0x55ee20=a0_0x3ce6c9;return this[_0x55ee20(0x1a6)](),this[_0x55ee20(0x112)];}get['idemTTL'](){const _0x192c26=a0_0x3ce6c9;return this['_ensureInitialized'](),this[_0x192c26(0xd8)];}get['allowReset'](){return this['_ensureInitialized'](),this['_allowReset'];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){const _0x4b187f=a0_0x3ce6c9;return this['_ensureInitialized'](),this[_0x4b187f(0x113)];}get[a0_0x3ce6c9(0xc2)](){const _0x5dd818=a0_0x3ce6c9;return this['_ensureInitialized'](),this[_0x5dd818(0xff)];}get[a0_0x3ce6c9(0xca)](){const _0x4a37d8=a0_0x3ce6c9;return this['_ensureInitialized'](),this[_0x4a37d8(0x10c)];}get[a0_0x3ce6c9(0x1dc)](){const _0x20457a=a0_0x3ce6c9;return this[_0x20457a(0x1a6)](),this[_0x20457a(0x1ac)];}get['reserveMaxTTL'](){const _0x56074a=a0_0x3ce6c9;return this['_ensureInitialized'](),this[_0x56074a(0xc9)];}['isEnabled'](){const _0x302ad2=a0_0x3ce6c9;return this[_0x302ad2(0x1e6)];}[a0_0x3ce6c9(0xf4)](_0xf8be88){const _0x5e30ff=a0_0x3ce6c9;if(typeof _0xf8be88!==_0x5e30ff(0x171)||!RESOURCE_REGEX['test'](_0xf8be88))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE',_0x5e30ff(0x1a9)+RESOURCE_REGEX+_0x5e30ff(0x141)+JSON[_0x5e30ff(0x12c)](_0xf8be88)+')');}['_validateNumberParams'](_0x1cd1e3){const _0x143dd7=a0_0x3ce6c9,_0x180805={'KvKoW':function(_0x307284,_0x2a76d8){return _0x307284===_0x2a76d8;},'rUTTT':'IDGEN_INVALID_FORMAT','wpkwd':function(_0x30fd8c,_0x494005){return _0x30fd8c>_0x494005;},'HDYXh':function(_0x2d61df,_0x4fd2e9){return _0x2d61df!==_0x4fd2e9;},'yzjqs':_0x143dd7(0xed),'HMXmM':function(_0x3b31ea,_0x201066){return _0x3b31ea==_0x201066;},'GLfZD':'boolean'},{resource:_0xb4c4a6,format:_0x156045,prefix:_0x5412ad,separator:_0x484cd6,numDigits:_0x1c7d52,reuseDelete:_0xd96612}=_0x1cd1e3;this[_0x143dd7(0xf4)](_0xb4c4a6);const _0x2ed42b=_0x180805[_0x143dd7(0x14c)](typeof _0x156045,'string')?_0x156045[_0x143dd7(0x17a)]():'';if(!ALLOWED_FORMATS['has'](_0x2ed42b))throw new IdGeneratorError(_0x180805['rUTTT'],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x143dd7(0x1dd)](',\x20')+_0x143dd7(0x141)+_0x156045+')');if(!Number[_0x143dd7(0xc7)](_0x1c7d52)||_0x1c7d52<MIN_NUM_DIGITS||_0x180805[_0x143dd7(0x15f)](_0x1c7d52,MAX_NUM_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS','Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x143dd7(0x141)+_0x1c7d52+')');const _0x3c4e0a=_0x5412ad==null?'':_0x5412ad;if(_0x180805['HDYXh'](typeof _0x3c4e0a,_0x143dd7(0x171))||!PREFIX_REGEX['test'](_0x3c4e0a))throw new IdGeneratorError(_0x180805['yzjqs'],'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+_0x143dd7(0x141)+JSON[_0x143dd7(0x12c)](_0x5412ad)+')');const _0x160d45=_0x180805['HMXmM'](_0x484cd6,null)?'':_0x484cd6;if(typeof _0x160d45!=='string'||_0x180805[_0x143dd7(0x15f)](_0x160d45['length'],0x3)||SEPARATOR_FORBIDDEN['test'](_0x160d45))throw new IdGeneratorError('IDGEN_INVALID_SEPARATOR','Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0x484cd6)+')');if(_0xd96612!=null&&_0x180805[_0x143dd7(0x12b)](typeof _0xd96612,_0x180805[_0x143dd7(0xcc)]))throw new IdGeneratorError(_0x143dd7(0xdc),_0x143dd7(0x106)+typeof _0xd96612+')');return{'resource':_0xb4c4a6,'format':_0x2ed42b,'prefix':_0x3c4e0a,'separator':_0x160d45,'numDigits':_0x1c7d52,'reuseDelete':_0x180805[_0x143dd7(0x14c)](_0xd96612,!![])};}[a0_0x3ce6c9(0x105)](_0x2f6392){const _0x2c71c3=a0_0x3ce6c9,_0x5232bf={'Jdosl':function(_0x3af739,_0x286717){return _0x3af739!==_0x286717;},'dJOGs':'string','ZVANi':_0x2c71c3(0x185)};if(_0x5232bf[_0x2c71c3(0x1e8)](typeof _0x2f6392,_0x5232bf[_0x2c71c3(0x11c)])||_0x2f6392['length']===0x0||_0x2f6392['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x2c71c3(0x185),'Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+_0x2c71c3(0x193)+(_0x2f6392&&_0x2f6392[_0x2c71c3(0xfb)])+')');let _0x597cfd=![];for(const _0x4d1a54 of _0x2f6392){if(PLACEHOLDER_MAP[_0x4d1a54]){_0x597cfd=!![];break;}}if(!_0x597cfd)throw new IdGeneratorError(_0x5232bf['ZVANi'],'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}[a0_0x3ce6c9(0x14b)](_0x273ce3){const _0x5c366f=a0_0x3ce6c9,_0x4b09e0={'WacDR':function(_0x31cf56,_0x21a4e5){return _0x31cf56==_0x21a4e5;},'AuCyA':function(_0x25dfe0,_0x4bb56d){return _0x25dfe0<_0x4bb56d;}};if(_0x4b09e0['WacDR'](_0x273ce3,null))return undefined;if(!Number['isInteger'](_0x273ce3)||_0x4b09e0['AuCyA'](_0x273ce3,0x1)||_0x273ce3>MAX_TTL)throw new IdGeneratorError('IDGEN_INVALID_TTL',_0x5c366f(0x125)+MAX_TTL+_0x5c366f(0x135)+_0x273ce3+')');return _0x273ce3;}['_validateMaxRetry'](_0x28acf9){const _0x49b2f3=a0_0x3ce6c9,_0x55ca71={'KlmEf':function(_0x258e92,_0x5bdfec){return _0x258e92<_0x5bdfec;},'HFpOZ':function(_0x2fc3ca,_0x310729){return _0x2fc3ca>_0x310729;}};if(_0x28acf9==null)return this[_0x49b2f3(0xd3)];if(!Number['isInteger'](_0x28acf9)||_0x55ca71[_0x49b2f3(0x1b5)](_0x28acf9,0x1)||_0x55ca71[_0x49b2f3(0x184)](_0x28acf9,MAX_RETRY_LIMIT))throw new IdGeneratorError(_0x49b2f3(0x11e),_0x49b2f3(0x17d)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x28acf9+')');return _0x28acf9;}[a0_0x3ce6c9(0x127)](_0xbcd711){const _0x2f4e1e=a0_0x3ce6c9,_0x84c529={'QxmUB':function(_0x19bfc2,_0x2984e4){return _0x19bfc2==_0x2984e4;},'SsliX':function(_0xae131d,_0x5ca63d){return _0xae131d!==_0x5ca63d;}};if(_0x84c529[_0x2f4e1e(0x111)](_0xbcd711,null))return undefined;if(_0x84c529[_0x2f4e1e(0x196)](typeof _0xbcd711,'string')||_0xbcd711['length']===0x0||_0xbcd711[_0x2f4e1e(0xfb)]>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x2f4e1e(0xdc),'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+_0x2f4e1e(0x1cc));return _0xbcd711;}[a0_0x3ce6c9(0x10f)](_0x16c978){const _0x2ab52e=a0_0x3ce6c9,_0x1d2864={'UrnyV':function(_0x22f4ac,_0x1c1b08){return _0x22f4ac==_0x1c1b08;},'SbfOW':function(_0x389289,_0x7fd7ae){return _0x389289<_0x7fd7ae;}};if(_0x1d2864[_0x2ab52e(0xfe)](_0x16c978,null))return this['reserveDefaultTTL'];if(!Number['isInteger'](_0x16c978)||_0x1d2864['SbfOW'](_0x16c978,MIN_RESERVE_TTL)||_0x16c978>this[_0x2ab52e(0x1d3)])throw new IdGeneratorError('IDGEN_INVALID_RESERVE_TTL',_0x2ab52e(0x126)+MIN_RESERVE_TTL+'-'+this[_0x2ab52e(0x1d3)]+'\x20seconds\x20(got:\x20'+_0x16c978+')');return _0x16c978;}['_validateReservationToken'](_0x462deb){const _0x205680=a0_0x3ce6c9,_0x320a82={'YXHGo':_0x205680(0x18b)};if(typeof _0x462deb!==_0x205680(0x171)||!RESERVATION_TOKEN_REGEX['test'](_0x462deb))throw new IdGeneratorError(_0x320a82[_0x205680(0x1c8)],_0x205680(0x133)+JSON['stringify'](_0x462deb)+')');return _0x462deb;}[a0_0x3ce6c9(0xd6)](_0x45e9fe){const _0x3dccce=a0_0x3ce6c9,_0x5eb09c={'AhiYx':function(_0x4700bd,_0x40dc02){return _0x4700bd(_0x40dc02);}};return _0x5eb09c['AhiYx'](String,_0x45e9fe)[_0x3dccce(0x1ab)](0x2,'0');}['_buildFormatKey'](_0x4eb9ba,_0x242307,_0x5df37f=new Date()){const _0x3616f6=a0_0x3ce6c9,_0xac2ca={'ATomm':function(_0x13d857,_0x520bf9){return _0x13d857+_0x520bf9;},'VQHob':function(_0x11f785,_0x497512){return _0x11f785||_0x497512;},'RgbqH':_0x3616f6(0xef),'gvdQw':'yyyymm','wPbnW':'IDGEN_INVALID_FORMAT'},_0x418f46=_0x5df37f[_0x3616f6(0x14d)](),_0x2b2869=this['_pad2'](_0xac2ca['ATomm'](_0x5df37f['getMonth'](),0x1)),_0xdc876d=this['_pad2'](_0x5df37f[_0x3616f6(0x166)]()),_0x32d8c7=_0xac2ca['VQHob'](_0x242307,'_');let _0x4be463,_0x5d2a14='';switch(_0x4eb9ba){case _0x3616f6(0x123):_0x4be463=_0x32d8c7+'_text';break;case _0xac2ca[_0x3616f6(0x1b2)]:_0x5d2a14=''+_0x418f46,_0x4be463=_0x32d8c7+'_yyyy_'+_0x5d2a14;break;case _0xac2ca['gvdQw']:_0x5d2a14=''+_0x418f46+_0x2b2869,_0x4be463=_0x32d8c7+_0x3616f6(0x137)+_0x5d2a14;break;case _0x3616f6(0x13b):_0x5d2a14=''+_0x418f46+_0x2b2869+_0xdc876d,_0x4be463=_0x32d8c7+'_yyyymmdd_'+_0x5d2a14;break;default:throw new IdGeneratorError(_0xac2ca['wPbnW'],_0x3616f6(0x191)+_0x4eb9ba);}return{'formatKey':_0x4be463,'datePrefix':_0x5d2a14};}[a0_0x3ce6c9(0x116)](_0x5b2129,_0x590c89){const _0x350a99=a0_0x3ce6c9;return this[_0x350a99(0x158)]+_0x350a99(0x1b4)+_0x5b2129+':'+_0x590c89;}['_buildReuseKey'](_0x319730,_0x2943d3){const _0x1c63bd=a0_0x3ce6c9;return this[_0x1c63bd(0x158)]+'reuse:'+_0x319730+':'+_0x2943d3;}['_buildMetaKey'](_0x8f6a05,_0x483132){const _0x1f727f=a0_0x3ce6c9;return this['keyPrefix']+_0x1f727f(0x16d)+_0x8f6a05+':'+_0x483132;}[a0_0x3ce6c9(0xe6)](_0x1bcfd6){return this['keyPrefix']+'issued:'+_0x1bcfd6;}['_buildActiveKey'](_0x1ce62f,_0x1b57c7){const _0xf6e0b9=a0_0x3ce6c9;return this['keyPrefix']+_0xf6e0b9(0x114)+_0x1ce62f+':'+_0x1b57c7;}[a0_0x3ce6c9(0x174)](_0x22f4ba){const _0x38fcc3=a0_0x3ce6c9;return this['keyPrefix']+_0x38fcc3(0xd7)+_0x22f4ba;}['_buildReservationIndexKey'](_0x114cff,_0xa09b59){const _0x30e626=a0_0x3ce6c9;return this['keyPrefix']+_0x30e626(0x143)+_0x114cff+':'+_0xa09b59;}['_buildReservationKeyPrefix'](){const _0x1949ae=a0_0x3ce6c9;return this['keyPrefix']+_0x1949ae(0xd7);}['_buildIdemKey'](_0x2403f6,_0x5546c8,_0xcbef3d,_0x295546){const _0x43a014=a0_0x3ce6c9,_0x4c4b4c={'ugMbu':'idgen'};if(_0xcbef3d)return idempotencyManager['buildDeterministicKey'](_0x4c4b4c[_0x43a014(0x16f)],_0x2403f6,_0x5546c8+':'+_0xcbef3d+':'+_0x295546);return idempotencyManager[_0x43a014(0x173)]('idgen',_0x2403f6,_0x5546c8+':'+_0x295546);}[a0_0x3ce6c9(0x140)](_0x5e0ba8){return this['_counterTTLMap'][_0x5e0ba8]||0x0;}['_formatNumber']({format:_0x309745,prefix:_0x2458a0,datePrefix:_0x100df5,separator:_0x44fc71,numDigits:_0x3062fc,counterInt:_0x4feea1}){const _0x29d8f9=a0_0x3ce6c9,_0x84e9fc={'tDZEc':function(_0x5716df,_0x483094){return _0x5716df-_0x483094;},'KobfJ':function(_0x241b18,_0x23c358){return _0x241b18>_0x23c358;},'uRkJZ':function(_0x559b66,_0x13ee32){return _0x559b66===_0x13ee32;}},_0x357b1b=_0x84e9fc['tDZEc'](Math[_0x29d8f9(0x11f)](0xa,_0x3062fc),0x1);if(_0x84e9fc[_0x29d8f9(0x12d)](_0x4feea1,_0x357b1b))throw new IdGeneratorError('IDGEN_COUNTER_OVERFLOW','Counter\x20overflow:\x20'+_0x4feea1+'\x20exceeds\x20'+_0x3062fc+'-digit\x20capacity\x20('+_0x357b1b+').\x20Increase\x20numDigits.',{'counterInt':_0x4feea1,'numDigits':_0x3062fc,'max':_0x357b1b});const _0x5cbbe4=String(_0x4feea1)['padStart'](_0x3062fc,'0');if(_0x84e9fc['uRkJZ'](_0x309745,'text'))return _0x2458a0?''+_0x2458a0+_0x44fc71+_0x5cbbe4:_0x5cbbe4;return _0x2458a0?''+_0x2458a0+_0x44fc71+_0x100df5+_0x44fc71+_0x5cbbe4:''+_0x100df5+_0x44fc71+_0x5cbbe4;}['_parseNumber']({format:_0x4dbdcf,prefix:_0x5e5745,separator:_0x285f42,numDigits:_0x3a540a,number:_0x2e8194}){const _0x5eb19c=a0_0x3ce6c9,_0x4f3951={'GBqhN':_0x5eb19c(0x102),'OKyOD':function(_0x45cf1f,_0x3763c5){return _0x45cf1f||_0x3763c5;},'CsTBS':function(_0x282632,_0x4c1f61){return _0x282632===_0x4c1f61;},'afUvU':function(_0x4bf480,_0x2ab836){return _0x4bf480!==_0x2ab836;},'nkqCA':function(_0x22c36f,_0x2537bd){return _0x22c36f!==_0x2537bd;},'GLfLa':function(_0x210376,_0x4723f5){return _0x210376===_0x4723f5;}};if(typeof _0x2e8194!==_0x5eb19c(0x171)||_0x2e8194[_0x5eb19c(0xfb)]===0x0)throw new IdGeneratorError(_0x4f3951['GBqhN'],_0x5eb19c(0xe7));const _0x5c2a65=_0x4f3951[_0x5eb19c(0x108)](_0x285f42,''),_0x1b7e65=_0x4f3951[_0x5eb19c(0xc0)](_0x5c2a65,'')?[_0x2e8194]:_0x2e8194[_0x5eb19c(0x117)](_0x5c2a65);let _0x4be1e2='',_0x5719cb;if(_0x4dbdcf==='text'){if(_0x5e5745){if(_0x4f3951['afUvU'](_0x1b7e65[_0x5eb19c(0xfb)],0x2)||_0x1b7e65[0x0]!==_0x5e5745)throw new IdGeneratorError(_0x4f3951[_0x5eb19c(0x19f)],_0x5eb19c(0x1ba)+_0x5c2a65+'padded\x20(got:\x20'+_0x2e8194+')');_0x5719cb=_0x1b7e65[0x1];}else{if(_0x1b7e65[_0x5eb19c(0xfb)]!==0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x5eb19c(0xdb)+_0x2e8194+')');_0x5719cb=_0x1b7e65[0x0];}}else{const _0x51c4fb=_0x5e5745?0x3:0x2;if(_0x1b7e65['length']!==_0x51c4fb)throw new IdGeneratorError(_0x5eb19c(0x102),_0x5eb19c(0xe5)+_0x2e8194+_0x5eb19c(0x1c3)+_0x51c4fb+'\x20parts)');let _0x1c92d4=0x0;if(_0x5e5745){if(_0x4f3951['nkqCA'](_0x1b7e65[_0x1c92d4],_0x5e5745))throw new IdGeneratorError(_0x5eb19c(0x102),_0x5eb19c(0x1c0)+_0x5e5745+_0x5eb19c(0x1b7)+_0x1b7e65[_0x1c92d4]);_0x1c92d4++;}_0x4be1e2=_0x1b7e65[_0x1c92d4++];const _0x2279e4=_0x4dbdcf===_0x5eb19c(0xef)?/^\d{4}$/:_0x4f3951['GLfLa'](_0x4dbdcf,_0x5eb19c(0x1c1))?/^\d{6}$/:/^\d{8}$/;if(!_0x2279e4[_0x5eb19c(0x1d2)](_0x4be1e2))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x5eb19c(0x16a)+_0x4dbdcf+':\x20'+_0x4be1e2);_0x5719cb=_0x1b7e65[_0x1c92d4];}if(!new RegExp('^\x5cd{'+_0x3a540a+'}$')[_0x5eb19c(0x1d2)](_0x5719cb))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x3a540a+_0x5eb19c(0xf6)+_0x5719cb+')');const _0x311f16=parseInt(_0x5719cb,0xa),_0x4b00d3=_0x5e5745||'_';let _0x36534d;return _0x4dbdcf==='text'?_0x36534d=_0x4b00d3+_0x5eb19c(0x1c9):_0x36534d=_0x4b00d3+'_'+_0x4dbdcf+'_'+_0x4be1e2,{'formatKey':_0x36534d,'counterInt':_0x311f16,'datePrefix':_0x4be1e2};}['_generateFromPattern'](_0x2762ba){let _0x8d5d26='';for(const _0x22535e of _0x2762ba){const _0x139e71=PLACEHOLDER_MAP[_0x22535e];if(_0x139e71){const _0x4a03b3=crypto['randomInt'](0x0,_0x139e71['length']);_0x8d5d26+=_0x139e71[_0x4a03b3];}else _0x8d5d26+=_0x22535e;}return _0x8d5d26;}async['_retrieveIdemCache'](_0x5ad441){const _0x67c082=a0_0x3ce6c9,_0x4c176a={'ojBpw':'Idempotency\x20cache\x20HIT','sgSQM':'idgen_idem_retrieve_error','Imysp':_0x67c082(0x149)};if(!_0x5ad441)return null;try{const _0x168612=redisClient[_0x67c082(0x13c)](),_0x5edcf0=await _0x168612['get'](_0x5ad441);if(_0x5edcf0)return logger['info']({'event':_0x67c082(0x1cb),'key':_0x5ad441},_0x4c176a['ojBpw']),JSON[_0x67c082(0x156)](_0x5edcf0);return null;}catch(_0x12f9d9){return logger[_0x67c082(0x1d0)]({'event':_0x4c176a['sgSQM'],'error':_0x12f9d9['message']},_0x4c176a[_0x67c082(0x1c6)]),null;}}async[a0_0x3ce6c9(0xe4)](_0x3909c3,_0x221757){const _0x2030d0=a0_0x3ce6c9,_0x4f7a87={'uazCd':'Idempotency\x20store\x20error'};if(!_0x3909c3)return;try{const _0x3eddaa=redisClient['getClient']();await _0x3eddaa[_0x2030d0(0x17e)](_0x3909c3,this[_0x2030d0(0x142)],JSON[_0x2030d0(0x12c)](_0x221757));}catch(_0x4bed5a){logger['warn']({'event':_0x2030d0(0x198),'error':_0x4bed5a[_0x2030d0(0x194)]},_0x4f7a87['uazCd']);}}async[a0_0x3ce6c9(0x164)](_0x467c5f,_0x1ef9e7){const _0x28f32d=a0_0x3ce6c9,_0x3906cc={'CvNFw':function(_0x5737d0,_0x577b26){return _0x5737d0===_0x577b26;},'vwvjm':_0x28f32d(0x1b3),'fvRJB':_0x28f32d(0x1e2),'NtJsw':_0x28f32d(0x1b8)};if(!_0x467c5f)return{'stored':!![],'winnerResult':null};try{const _0x5ef1aa=redisClient[_0x28f32d(0x13c)](),_0x2f1775=JSON['stringify'](_0x1ef9e7),_0x5546ca=await _0x5ef1aa[_0x28f32d(0x170)](_0x467c5f,_0x2f1775,'EX',this[_0x28f32d(0x142)],'NX');if(_0x3906cc['CvNFw'](_0x5546ca,'OK'))return{'stored':!![],'winnerResult':null};const _0x16ea4f=await _0x5ef1aa['get'](_0x467c5f);if(_0x16ea4f)return{'stored':![],'winnerResult':JSON[_0x28f32d(0x156)](_0x16ea4f)};return logger['warn']({'event':'idgen_idem_nx_race_lost_but_empty','key':_0x467c5f},_0x3906cc[_0x28f32d(0x179)]),{'stored':!![],'winnerResult':null};}catch(_0x837b09){return logger[_0x28f32d(0x1d0)]({'event':_0x3906cc[_0x28f32d(0x152)],'error':_0x837b09['message']},_0x3906cc['NtJsw']),{'stored':!![],'winnerResult':null};}}async[a0_0x3ce6c9(0xf0)](_0x4bb4b9,_0x127323,_0x3dfabe){const _0x2e3700=a0_0x3ce6c9,_0x2b8eb4={'rrgLv':_0x2e3700(0xec)};try{const _0x551f90=redisClient['getClient']();if(_0x3dfabe){const _0x553c49=this['_buildActiveKey'](_0x4bb4b9,_0x127323);await _0x551f90['del'](_0x553c49);}else{const _0x2b1329=this['_buildIssuedKey'](_0x4bb4b9);await _0x551f90['srem'](_0x2b1329,_0x127323);}}catch(_0x496871){logger['warn']({'event':_0x2b8eb4[_0x2e3700(0x183)],'error':_0x496871[_0x2e3700(0x194)]},_0x2e3700(0xfd));}}async['_updateMeta'](_0x2ec32b,_0x2d8e13,_0xdc4115,_0x497f77=0x0){const _0x1deef2=a0_0x3ce6c9,_0x5b4ac6={'rWPWX':function(_0xe29e68,_0x14d8f6){return _0xe29e68(_0x14d8f6);},'zIiIp':_0x1deef2(0xf3),'CFBMB':_0x1deef2(0x109)};try{const _0xf0ff05=redisClient[_0x1deef2(0x13c)](),_0x3b6a34=this['_buildMetaKey'](_0x2ec32b,_0x2d8e13),_0x587b1f=[];for(const [_0x555225,_0x4de420]of Object[_0x1deef2(0x131)](_0xdc4115)){_0x587b1f[_0x1deef2(0x14e)](_0x555225,_0x5b4ac6['rWPWX'](String,_0x4de420));}if(_0x587b1f[_0x1deef2(0xfb)]>0x0){await _0xf0ff05['hset'](_0x3b6a34,..._0x587b1f);if(_0x497f77>0x0)await _0xf0ff05['expire'](_0x3b6a34,_0x497f77);}}catch(_0x2e3442){logger['warn']({'event':_0x5b4ac6['zIiIp'],'error':_0x2e3442[_0x1deef2(0x194)]},_0x5b4ac6['CFBMB']);}}async[a0_0x3ce6c9(0x1df)](_0x163887){const _0x33ab90=a0_0x3ce6c9,_0x1bfef1={'MRsgv':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','aBMAL':'idgen_idem_loser_release_error','IbWvC':_0x33ab90(0x175),'AJBFr':'idgen_number_idem_loser'};if(!this[_0x33ab90(0x1e6)])throw new IdGeneratorError(_0x33ab90(0x172),_0x1bfef1['MRsgv']);const _0x3ae43c=this[_0x33ab90(0xcd)](_0x163887),_0x8ab40f=this['_validateIdempotencyKey'](_0x163887[_0x33ab90(0x160)]),{resource:_0x134af1,format:_0x3af2e6,prefix:_0x870727,separator:_0x46a78c,numDigits:_0x6441ca,reuseDelete:_0xe79b89}=_0x3ae43c,{formatKey:_0x11cd52,datePrefix:_0x2082df}=this[_0x33ab90(0x1a3)](_0x3af2e6,_0x870727),_0x2ef21a=this['_buildSeqKey'](_0x134af1,_0x11cd52),_0x5c0745=this['_buildReuseKey'](_0x134af1,_0x11cd52),_0x450ad7=this['_getCounterTTL'](_0x3af2e6);let _0x4b3c2f=null;if(_0x8ab40f){_0x4b3c2f=this['_buildIdemKey']('number',_0x134af1,_0x11cd52,_0x8ab40f);const _0x283cd6=await this['_retrieveIdemCache'](_0x4b3c2f);if(_0x283cd6)return _0x283cd6;}const _0x4f7457=redisClient[_0x33ab90(0x13c)](),_0x1632d4=await _0x4f7457['eval'](LUA_GENERATE_NUMBER,0x2,_0x2ef21a,_0x5c0745,_0xe79b89?'1':'0',String(_0x450ad7)),_0x1af8f5=_0x1632d4[0x0],_0x5a17bc=_0x1632d4[0x1]===0x1,_0x5f4cca=this[_0x33ab90(0x1a0)]({'format':_0x3af2e6,'prefix':_0x870727,'datePrefix':_0x2082df,'separator':_0x46a78c,'numDigits':_0x6441ca,'counterInt':_0x1af8f5}),_0x36b71d={'value':_0x5f4cca,'counter':_0x1af8f5,'resource':_0x134af1,'formatKey':_0x11cd52,'isReused':_0x5a17bc,'generatedAt':new Date()[_0x33ab90(0xf9)]()},_0x414e5a=await this['_storeIdemCacheNX'](_0x4b3c2f,_0x36b71d);if(!_0x414e5a['stored']){try{await _0x4f7457[_0x33ab90(0x15d)](LUA_RELEASE_NUMBER,0x1,_0x5c0745,String(_0x1af8f5),String(_0x450ad7));}catch(_0x436aba){logger[_0x33ab90(0x1d0)]({'event':_0x1bfef1['aBMAL'],'error':_0x436aba['message'],'resource':_0x134af1,'formatKey':_0x11cd52,'counterInt':_0x1af8f5},_0x1bfef1[_0x33ab90(0x1cf)]);}return logger['info']({'event':_0x1bfef1[_0x33ab90(0x1c2)],'resource':_0x134af1,'formatKey':_0x11cd52,'counter':_0x1af8f5},_0x33ab90(0xf5)),_0x414e5a['winnerResult'];}return this['_updateMeta'](_0x134af1,_0x11cd52,{'lastValue':_0x5f4cca,'lastCounter':_0x1af8f5,'lastIsReused':_0x5a17bc,'lastGeneratedAt':_0x36b71d['generatedAt']},_0x450ad7),logger[_0x33ab90(0x1be)]({'event':'idgen_number_generated','resource':_0x134af1,'formatKey':_0x11cd52,'counter':_0x1af8f5,'isReused':_0x5a17bc},_0x33ab90(0x1bc)+_0x5f4cca),_0x36b71d;}async['releaseNumber'](_0x1652d3){const _0x288443=a0_0x3ce6c9,_0xb8dc1b={'WrguR':'IDGEN_DISABLED','ZHAQX':'ID\x20Generator\x20is\x20disabled','qzoLl':function(_0x4838f0,_0x1a14f2){return _0x4838f0!==_0x1a14f2;},'Kyibo':_0x288443(0x122),'vgYXJ':function(_0x149e1e,_0x10accd){return _0x149e1e<_0x10accd;},'ztnVa':function(_0x3efba6,_0x2f86f1){return _0x3efba6(_0x2f86f1);},'QXlgE':function(_0x453a5b,_0x585884){return _0x453a5b(_0x585884);}};if(!this[_0x288443(0x1e6)])throw new IdGeneratorError(_0xb8dc1b[_0x288443(0x159)],_0xb8dc1b['ZHAQX']);let _0x2696be,_0x3f47d1,_0x1b4d9,_0x422924;const _0x4d0acf=this[_0x288443(0x127)](_0x1652d3['idempotencyKey']);if(_0xb8dc1b[_0x288443(0x187)](_0x1652d3['counterInt'],undefined)&&_0xb8dc1b['qzoLl'](_0x1652d3[_0x288443(0xcf)],null)){this[_0x288443(0xf4)](_0x1652d3['resource']),_0x2696be=_0x1652d3['resource'];if(typeof _0x1652d3[_0x288443(0x145)]!=='string'||_0x1652d3[_0x288443(0x145)][_0x288443(0xfb)]===0x0)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0xb8dc1b[_0x288443(0xfc)]);_0x3f47d1=_0x1652d3[_0x288443(0x145)];if(!Number[_0x288443(0xc7)](_0x1652d3[_0x288443(0xcf)])||_0xb8dc1b[_0x288443(0x1d4)](_0x1652d3['counterInt'],0x1))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x288443(0xc8)+_0x1652d3['counterInt']+')');_0x1b4d9=_0x1652d3[_0x288443(0xcf)];const _0x2d8d58=_0x3f47d1['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x422924=_0x2d8d58?_0x2d8d58[0x1]:_0x288443(0x123);}else{const _0x5b67d7=this['_validateNumberParams'](_0x1652d3),_0x531ee9=this[_0x288443(0x10a)]({'format':_0x5b67d7[_0x288443(0x11b)],'prefix':_0x5b67d7['prefix'],'separator':_0x5b67d7['separator'],'numDigits':_0x5b67d7[_0x288443(0x1b1)],'number':_0x1652d3[_0x288443(0x1df)]});_0x2696be=_0x5b67d7[_0x288443(0x100)],_0x3f47d1=_0x531ee9[_0x288443(0x145)],_0x1b4d9=_0x531ee9[_0x288443(0xcf)],_0x422924=_0x5b67d7[_0x288443(0x11b)];}const _0x2fe754=this[_0x288443(0x101)](_0x2696be,_0x3f47d1),_0x283dbf=this[_0x288443(0x140)](_0x422924);let _0x2c0461=null;if(_0x4d0acf){_0x2c0461=this[_0x288443(0x1d1)]('release',_0x2696be,_0x3f47d1,_0x4d0acf);const _0x51f78c=await this[_0x288443(0xee)](_0x2c0461);if(_0x51f78c)return _0x51f78c;}const _0x50d71e=redisClient[_0x288443(0x13c)]();await _0x50d71e['eval'](LUA_RELEASE_NUMBER,0x1,_0x2fe754,_0xb8dc1b['ztnVa'](String,_0x1b4d9),_0xb8dc1b['QXlgE'](String,_0x283dbf));const _0x339425={'released':!![],'resource':_0x2696be,'formatKey':_0x3f47d1,'counter':_0x1b4d9,'releasedAt':new Date()['toISOString']()};return await this[_0x288443(0xe4)](_0x2c0461,_0x339425),this[_0x288443(0x1cd)](_0x2696be,_0x3f47d1,{'lastReleasedCounter':_0x1b4d9,'lastReleasedAt':_0x339425['releasedAt']},_0x283dbf),logger[_0x288443(0x1be)]({'event':'idgen_number_released','resource':_0x2696be,'formatKey':_0x3f47d1,'counter':_0x1b4d9},'ID\x20Generator\x20number\x20released:\x20'+_0x1b4d9),_0x339425;}async[a0_0x3ce6c9(0x1b9)](_0x461976){const _0x5abfba=a0_0x3ce6c9,_0x56d44e={'HKdsY':_0x5abfba(0xd2),'LXmhj':function(_0x2f46e7,_0x2c5f0e){return _0x2f46e7+_0x2c5f0e;},'GsePI':function(_0x36c254,_0x38f593){return _0x36c254*_0x38f593;},'KaCqv':function(_0x14ff46,_0x134706){return _0x14ff46*_0x134706;},'PGKwK':'formatKey','ALANg':'format','PFTiA':_0x5abfba(0xf2),'XlESP':function(_0x59ffec,_0xd4995d){return _0x59ffec||_0xd4995d;},'YBQkf':function(_0xd84dd1,_0xc56d0b){return _0xd84dd1(_0xc56d0b);},'jdYCR':function(_0x57b603,_0x1ecb44){return _0x57b603(_0x1ecb44);},'PXazX':'idgen_reserve_idem_loser','zDsGp':'idgen_number_reserved'};if(!this[_0x5abfba(0x1e6)])throw new IdGeneratorError(_0x5abfba(0x172),_0x56d44e['HKdsY']);const _0x1fa4c2=this['_validateNumberParams'](_0x461976),_0xfb2af3=this['_validateReserveTTL'](_0x461976['ttl']),_0x5f3b5f=this['_validateIdempotencyKey'](_0x461976[_0x5abfba(0x160)]),{resource:_0x305f21,format:_0x1d2f38,prefix:_0x3abc9c,separator:_0x58747a,numDigits:_0x44f57b,reuseDelete:_0x141f51}=_0x1fa4c2,{formatKey:_0x413163,datePrefix:_0x1ffa0e}=this[_0x5abfba(0x1a3)](_0x1d2f38,_0x3abc9c),_0x30caa6=this['_buildSeqKey'](_0x305f21,_0x413163),_0x1d1321=this[_0x5abfba(0x101)](_0x305f21,_0x413163),_0x5a0092=this[_0x5abfba(0xf1)](_0x305f21,_0x413163),_0x1aa886=this['_getCounterTTL'](_0x1d2f38);let _0x4ed309=null;if(_0x5f3b5f){_0x4ed309=this[_0x5abfba(0x1d1)](_0x5abfba(0x188),_0x305f21,_0x413163,_0x5f3b5f);const _0x3bb0e0=await this[_0x5abfba(0xee)](_0x4ed309);if(_0x3bb0e0)return _0x3bb0e0;}const _0x373d04=crypto['randomUUID'](),_0x332e8b=this[_0x5abfba(0x174)](_0x373d04),_0x419ad7=this['_buildReservationKeyPrefix'](),_0x2c5635=Date['now'](),_0xebc4e0=_0x56d44e['LXmhj'](_0x2c5635,_0x56d44e['GsePI'](_0xfb2af3,0x3e8)),_0x118efe=_0x56d44e['KaCqv'](_0xfb2af3,0x3e8),_0x387c5a=new Date(_0x2c5635)['toISOString'](),_0x4e1b6f=new Date(_0xebc4e0)['toISOString'](),_0x19afa8=[_0x5abfba(0x100),_0x305f21,_0x56d44e[_0x5abfba(0x153)],_0x413163,_0x56d44e[_0x5abfba(0x1de)],_0x1d2f38,_0x56d44e[_0x5abfba(0x19a)],_0x3abc9c,'separator',_0x58747a,'numDigits',String(_0x44f57b),_0x5abfba(0x13d),_0x56d44e['XlESP'](_0x1ffa0e,''),'createdAt',_0x387c5a,'expiresAt',_0x4e1b6f,_0x5abfba(0x1e1),_0x56d44e[_0x5abfba(0xe3)](String,_0x118efe)];_0x5f3b5f&&_0x19afa8['push']('idemKey',_0x5f3b5f);const _0x46266b=redisClient[_0x5abfba(0x13c)](),_0x3c864d=await _0x46266b['eval'](LUA_RESERVE_NUMBER,0x3,_0x30caa6,_0x1d1321,_0x5a0092,_0x141f51?'1':'0',String(_0x1aa886),_0x373d04,_0x332e8b,String(_0x118efe),String(_0xebc4e0),String(_0x2c5635),_0x419ad7,..._0x19afa8),_0x17b2cb=_0x3c864d[0x0],_0x1ec51c=_0x3c864d[0x1]===0x1,_0x17ea4f=_0x3c864d[0x2]||0x0;let _0x5b10ca;try{_0x5b10ca=this[_0x5abfba(0x1a0)]({'format':_0x1d2f38,'prefix':_0x3abc9c,'datePrefix':_0x1ffa0e,'separator':_0x58747a,'numDigits':_0x44f57b,'counterInt':_0x17b2cb});}catch(_0x2d9a78){try{await _0x46266b[_0x5abfba(0x15d)](LUA_CANCEL_RESERVATION,0x3,_0x332e8b,_0x5a0092,_0x1d1321,_0x373d04,_0x56d44e['jdYCR'](String,_0x1aa886));}catch(_0x1b4e96){logger[_0x5abfba(0x1d0)]({'event':_0x5abfba(0xce),'error':_0x1b4e96['message'],'resource':_0x305f21,'formatKey':_0x413163,'counterInt':_0x17b2cb,'token':_0x373d04},_0x5abfba(0x11d));}throw _0x2d9a78;}try{await _0x46266b['hset'](_0x332e8b,'value',_0x5b10ca);}catch(_0x48c255){logger[_0x5abfba(0x1d0)]({'event':_0x5abfba(0x128),'error':_0x48c255[_0x5abfba(0x194)],'resource':_0x305f21,'formatKey':_0x413163,'counterInt':_0x17b2cb,'token':_0x373d04},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x380bf3={'token':_0x373d04,'value':_0x5b10ca,'counter':_0x17b2cb,'resource':_0x305f21,'formatKey':_0x413163,'isReused':_0x1ec51c,'createdAt':_0x387c5a,'expiresAt':_0x4e1b6f,'reapedCount':_0x17ea4f},_0x1d041e=await this[_0x5abfba(0x164)](_0x4ed309,_0x380bf3);if(!_0x1d041e['stored']){try{await _0x46266b[_0x5abfba(0x15d)](LUA_CANCEL_RESERVATION,0x3,_0x332e8b,_0x5a0092,_0x1d1321,_0x373d04,String(_0x1aa886));}catch(_0x2bee9e){logger['warn']({'event':'idgen_reserve_idem_loser_cancel_error','error':_0x2bee9e[_0x5abfba(0x194)],'resource':_0x305f21,'formatKey':_0x413163,'counterInt':_0x17b2cb,'token':_0x373d04},'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser');}return logger[_0x5abfba(0x1be)]({'event':_0x56d44e[_0x5abfba(0x134)],'resource':_0x305f21,'formatKey':_0x413163,'counter':_0x17b2cb,'token':_0x373d04},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1d041e['winnerResult'];}return this[_0x5abfba(0x1cd)](_0x305f21,_0x413163,{'lastReservedCounter':_0x17b2cb,'lastReservedAt':_0x387c5a,'lastReapedCount':_0x17ea4f},_0x1aa886),logger[_0x5abfba(0x1be)]({'event':_0x56d44e[_0x5abfba(0x1eb)],'resource':_0x305f21,'formatKey':_0x413163,'counter':_0x17b2cb,'isReused':_0x1ec51c,'token':_0x373d04,'ttl':_0xfb2af3,'reapedCount':_0x17ea4f},_0x5abfba(0xdf)+_0x5b10ca+'\x20(token='+_0x373d04+')'),_0x380bf3;}async[a0_0x3ce6c9(0x1e4)](_0x55ff84){const _0x1948f6=a0_0x3ce6c9,_0x22f205={'CuWQH':'IDGEN_DISABLED','ZixPG':function(_0x413084,_0x33c75a){return _0x413084!==_0x33c75a;},'HKsmP':'IDGEN_RESERVATION_NOT_FOUND','rvxDk':function(_0xf4ddc3,_0x4ee881,_0xefa0af){return _0xf4ddc3(_0x4ee881,_0xefa0af);},'OwnNW':'text','NiAXX':'idgen_reservation_confirmed'};if(!this['enabled'])throw new IdGeneratorError(_0x22f205['CuWQH'],'ID\x20Generator\x20is\x20disabled');const _0x424242=this['_validateReservationToken'](_0x55ff84&&_0x55ff84[_0x1948f6(0xea)]),_0x20261d=this['_validateIdempotencyKey'](_0x55ff84&&_0x55ff84['idempotencyKey']);let _0x3346a=null;if(_0x20261d){_0x3346a=idempotencyManager[_0x1948f6(0x173)](_0x1948f6(0x195),'reserve_confirm',_0x424242+':'+_0x20261d);const _0x2827c6=await this['_retrieveIdemCache'](_0x3346a);if(_0x2827c6)return _0x2827c6;}const _0x369dc5=await this[_0x1948f6(0x103)](_0x424242),_0x12f57f=redisClient['getClient'](),_0x4cb70=await _0x12f57f[_0x1948f6(0x15d)](LUA_CONFIRM_RESERVATION,0x2,_0x369dc5['rsvKey'],_0x369dc5['rsvIdxKey'],_0x424242);if(!_0x4cb70||_0x22f205['ZixPG'](_0x4cb70[0x0],0x1))throw new IdGeneratorError(_0x22f205[_0x1948f6(0xeb)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x424242,{'token':_0x424242});const _0x51d864=_0x22f205[_0x1948f6(0x18c)](parseInt,_0x4cb70[0x1],0xa),_0x1c5e2e=_0x4cb70[0x2],_0x33d765=_0x4cb70[0x3],_0x39e269=new Date()[_0x1948f6(0xf9)](),_0x33df90={'confirmed':!![],'token':_0x424242,'value':_0x1c5e2e,'counter':_0x51d864,'resource':_0x369dc5['resource'],'formatKey':_0x33d765,'confirmedAt':_0x39e269};await this[_0x1948f6(0xe4)](_0x3346a,_0x33df90);const _0x2ab0b5=_0x33d765['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x58c32c=_0x2ab0b5?_0x2ab0b5[0x1]:_0x22f205['OwnNW'],_0x2e258d=this['_getCounterTTL'](_0x58c32c);return this['_updateMeta'](_0x369dc5['resource'],_0x33d765,{'lastConfirmedCounter':_0x51d864,'lastConfirmedAt':_0x39e269},_0x2e258d),logger[_0x1948f6(0x1be)]({'event':_0x22f205[_0x1948f6(0x11a)],'resource':_0x369dc5['resource'],'formatKey':_0x33d765,'counter':_0x51d864,'token':_0x424242},_0x1948f6(0xfa)+_0x1c5e2e+_0x1948f6(0x1af)+_0x424242+')'),_0x33df90;}async[a0_0x3ce6c9(0x1d6)](_0x53e136){const _0x528f3c=a0_0x3ce6c9,_0x5df8c8={'vhlbY':'ID\x20Generator\x20is\x20disabled','NqfUA':function(_0x5aa2b4,_0x4ee8c1){return _0x5aa2b4(_0x4ee8c1);}};if(!this['enabled'])throw new IdGeneratorError(_0x528f3c(0x172),_0x5df8c8['vhlbY']);const _0x3406a8=this[_0x528f3c(0x15b)](_0x53e136&&_0x53e136[_0x528f3c(0xea)]),_0x42b6da=this['_validateIdempotencyKey'](_0x53e136&&_0x53e136['idempotencyKey']);let _0x21e2aa=null;if(_0x42b6da){_0x21e2aa=idempotencyManager[_0x528f3c(0x173)](_0x528f3c(0x195),_0x528f3c(0x129),_0x3406a8+':'+_0x42b6da);const _0x591172=await this['_retrieveIdemCache'](_0x21e2aa);if(_0x591172)return _0x591172;}const _0x76ec7=await this[_0x528f3c(0x103)](_0x3406a8),_0x5d43a6=this[_0x528f3c(0x101)](_0x76ec7['resource'],_0x76ec7[_0x528f3c(0x145)]),_0x2be5eb=_0x76ec7[_0x528f3c(0x145)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x40e519=_0x2be5eb?_0x2be5eb[0x1]:_0x528f3c(0x123),_0x65d631=this[_0x528f3c(0x140)](_0x40e519),_0x5c4949=redisClient['getClient'](),_0x4d68af=await _0x5c4949['eval'](LUA_CANCEL_RESERVATION,0x3,_0x76ec7[_0x528f3c(0x18e)],_0x76ec7[_0x528f3c(0x16b)],_0x5d43a6,_0x3406a8,_0x5df8c8[_0x528f3c(0x1d5)](String,_0x65d631));if(!_0x4d68af||_0x4d68af[0x0]!==0x1)throw new IdGeneratorError(_0x528f3c(0x150),_0x528f3c(0x18d)+_0x3406a8,{'token':_0x3406a8});const _0x18a543=parseInt(_0x4d68af[0x1],0xa),_0x36274c=_0x4d68af[0x2],_0x531c93=_0x4d68af[0x3],_0x46a013=new Date()['toISOString'](),_0x58ddde={'cancelled':!![],'token':_0x3406a8,'value':_0x36274c,'counter':_0x18a543,'resource':_0x76ec7['resource'],'formatKey':_0x531c93,'releasedToReuse':!![],'cancelledAt':_0x46a013};return await this[_0x528f3c(0xe4)](_0x21e2aa,_0x58ddde),this[_0x528f3c(0x1cd)](_0x76ec7['resource'],_0x531c93,{'lastCancelledCounter':_0x18a543,'lastCancelledAt':_0x46a013},_0x65d631),logger[_0x528f3c(0x1be)]({'event':_0x528f3c(0x165),'resource':_0x76ec7['resource'],'formatKey':_0x531c93,'counter':_0x18a543,'token':_0x3406a8},_0x528f3c(0xc5)+_0x36274c+_0x528f3c(0x1af)+_0x3406a8+')'),_0x58ddde;}async[a0_0x3ce6c9(0x19c)](_0x4acb96){const _0x5be1bc=a0_0x3ce6c9,_0x64c327={'pKLxr':'IDGEN_DISABLED','WOtvo':function(_0x173657,_0x18cdd2){return _0x173657*_0x18cdd2;},'iYPwM':function(_0x4a618a,_0xc63415){return _0x4a618a(_0xc63415);},'GTnld':function(_0x3f1bc5,_0x3946db){return _0x3f1bc5!==_0x3946db;},'daipx':'IDGEN_RESERVATION_NOT_FOUND','AKFNG':function(_0x40f88f,_0x4baf39,_0x59bd4b){return _0x40f88f(_0x4baf39,_0x59bd4b);}};if(!this[_0x5be1bc(0x1e6)])throw new IdGeneratorError(_0x64c327[_0x5be1bc(0x1ec)],'ID\x20Generator\x20is\x20disabled');const _0x50fd14=this['_validateReservationToken'](_0x4acb96&&_0x4acb96[_0x5be1bc(0xea)]),_0x55cebc=this[_0x5be1bc(0x10f)](_0x4acb96&&_0x4acb96['ttl']),_0x411c74=this[_0x5be1bc(0x127)](_0x4acb96&&_0x4acb96['idempotencyKey']);let _0x3c1eea=null;if(_0x411c74){_0x3c1eea=idempotencyManager[_0x5be1bc(0x173)]('idgen',_0x5be1bc(0xf8),_0x50fd14+':'+_0x411c74);const _0x137ca2=await this[_0x5be1bc(0xee)](_0x3c1eea);if(_0x137ca2)return _0x137ca2;}const _0x5c3e3a=await this['_getReservationContext'](_0x50fd14),_0x51e710=Date['now'](),_0x31fbe7=_0x51e710+_0x55cebc*0x3e8,_0x5d362f=_0x64c327['WOtvo'](_0x55cebc,0x3e8),_0x3983a2=new Date(_0x31fbe7)['toISOString'](),_0x19cdc7=redisClient[_0x5be1bc(0x13c)](),_0x2061e1=await _0x19cdc7[_0x5be1bc(0x15d)](LUA_EXTEND_RESERVATION,0x2,_0x5c3e3a['rsvKey'],_0x5c3e3a['rsvIdxKey'],_0x50fd14,String(_0x5d362f),_0x64c327[_0x5be1bc(0x197)](String,_0x31fbe7),_0x3983a2);if(!_0x2061e1||_0x64c327['GTnld'](_0x2061e1[0x0],0x1))throw new IdGeneratorError(_0x64c327['daipx'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x50fd14,{'token':_0x50fd14});const _0x2c8f56=_0x2061e1[0x1],_0x3ae1ff=_0x64c327[_0x5be1bc(0x19d)](parseInt,_0x2061e1[0x2],0xa),_0x11e95e=_0x2061e1[0x3],_0x34b82d=_0x2061e1[0x4],_0x36acaa=new Date(_0x51e710)[_0x5be1bc(0xf9)](),_0x1c6db6={'extended':!![],'token':_0x50fd14,'previousExpiresAt':_0x2c8f56,'expiresAt':_0x3983a2,'ttlMs':_0x5d362f,'resource':_0x5c3e3a['resource'],'formatKey':_0x34b82d,'counter':_0x3ae1ff,'value':_0x11e95e,'extendedAt':_0x36acaa};await this[_0x5be1bc(0xe4)](_0x3c1eea,_0x1c6db6);const _0x4ae019=_0x34b82d['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x1e474b=_0x4ae019?_0x4ae019[0x1]:_0x5be1bc(0x123),_0x25abfa=this[_0x5be1bc(0x140)](_0x1e474b);return this['_updateMeta'](_0x5c3e3a['resource'],_0x34b82d,{'lastExtendedCounter':_0x3ae1ff,'lastExtendedAt':_0x36acaa},_0x25abfa),logger['info']({'event':'idgen_reservation_extended','resource':_0x5c3e3a['resource'],'formatKey':_0x34b82d,'counter':_0x3ae1ff,'token':_0x50fd14,'ttl':_0x55cebc},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x11e95e+'\x20(token='+_0x50fd14+_0x5be1bc(0x1e7)+_0x55cebc+'s)'),_0x1c6db6;}async[a0_0x3ce6c9(0x13f)](_0x21c041){const _0x57fe6e=a0_0x3ce6c9,_0xfa836f={'WGcSu':'IDGEN_DISABLED','Wqqvo':_0x57fe6e(0x1ce),'vIyWW':function(_0x1a05e2,_0x1a4793){return _0x1a05e2===_0x1a4793;},'BBmtW':function(_0x19ed2d,_0x20316b,_0x511cd1){return _0x19ed2d(_0x20316b,_0x511cd1);},'VYUPS':_0x57fe6e(0x1df),'NtsUq':function(_0x420004,_0x3f2a85){return _0x420004>=_0x3f2a85;}};if(!this[_0x57fe6e(0x1e6)])throw new IdGeneratorError(_0xfa836f['WGcSu'],_0xfa836f['Wqqvo']);const _0x455a2a=this['_validateReservationToken'](_0x21c041&&_0x21c041[_0x57fe6e(0xea)]),_0x5c2db9=this['_buildReservationKey'](_0x455a2a),_0x590e55=redisClient[_0x57fe6e(0x13c)](),_0x21463b=_0x590e55['pipeline']();_0x21463b['hgetall'](_0x5c2db9),_0x21463b['pttl'](_0x5c2db9);const _0x4bbc70=await _0x21463b['exec'](),_0x44e1ea=_0x4bbc70&&_0x4bbc70[0x0]&&_0x4bbc70[0x0][0x1],_0x2c2428=_0x4bbc70&&_0x4bbc70[0x1]&&_0x4bbc70[0x1][0x1];if(!_0x44e1ea||_0xfa836f[_0x57fe6e(0xc6)](Object['keys'](_0x44e1ea)['length'],0x0))throw new IdGeneratorError(_0x57fe6e(0x150),_0x57fe6e(0x18d)+_0x455a2a,{'token':_0x455a2a});return{'token':_0x455a2a,'resource':_0x44e1ea['resource']||null,'formatKey':_0x44e1ea['formatKey']||null,'format':_0x44e1ea['format']||null,'prefix':_0x44e1ea['prefix']||'','separator':_0x44e1ea['separator']||'','numDigits':_0x44e1ea['numDigits']?_0xfa836f['BBmtW'](parseInt,_0x44e1ea['numDigits'],0xa):null,'datePrefix':_0x44e1ea[_0x57fe6e(0x13d)]||'','counter':_0x44e1ea['counter']?parseInt(_0x44e1ea[_0x57fe6e(0xe1)],0xa):null,'value':_0x44e1ea['value']||null,'isReused':_0x44e1ea['isReused']==='1'||_0x44e1ea['isReused']===0x1,'createdAt':_0x44e1ea[_0x57fe6e(0x144)]||null,'expiresAt':_0x44e1ea[_0x57fe6e(0x182)]||null,'ttlRemainingMs':_0xfa836f[_0x57fe6e(0xc6)](typeof _0x2c2428,_0xfa836f[_0x57fe6e(0x124)])&&_0xfa836f[_0x57fe6e(0x119)](_0x2c2428,0x0)?_0x2c2428:null};}async['_getReservationContext'](_0x2bf1a0){const _0x51dee1=a0_0x3ce6c9,_0x1ac735={'qwZKe':_0x51dee1(0x100),'ztOes':function(_0x4c4f97,_0x382163){return _0x4c4f97||_0x382163;},'xhwsQ':'IDGEN_RESERVATION_NOT_FOUND'},_0x20446f=this[_0x51dee1(0x174)](_0x2bf1a0),_0x2438cb=redisClient[_0x51dee1(0x13c)](),_0x331392=await _0x2438cb['hmget'](_0x20446f,_0x1ac735['qwZKe'],_0x51dee1(0x145)),_0xb2f8e4=_0x331392&&_0x331392[0x0],_0x323c3d=_0x331392&&_0x331392[0x1];if(_0x1ac735[_0x51dee1(0x189)](!_0xb2f8e4,!_0x323c3d))throw new IdGeneratorError(_0x1ac735[_0x51dee1(0x177)],_0x51dee1(0x18d)+_0x2bf1a0,{'token':_0x2bf1a0});return{'resource':_0xb2f8e4,'formatKey':_0x323c3d,'rsvKey':_0x20446f,'rsvIdxKey':this['_buildReservationIndexKey'](_0xb2f8e4,_0x323c3d)};}async[a0_0x3ce6c9(0x148)](_0x4d76c8){const _0x237f31=a0_0x3ce6c9,_0x55e331={'Ktdnz':'ID\x20Generator\x20is\x20disabled','CokYE':function(_0x39a6f7,_0x36b01e){return _0x39a6f7===_0x36b01e;},'AnnGq':_0x237f31(0x148),'bRIMh':function(_0x37b5fc,_0x444955){return _0x37b5fc===_0x444955;},'IzrKF':'IDGEN_UNIQUE_RETRY_EXHAUSTED','ERaUw':function(_0x22394a,_0x2620aa){return _0x22394a*_0x2620aa;},'VXKsv':_0x237f31(0x186),'AbGvC':function(_0x2b3405,_0x2fd0f9){return _0x2b3405||_0x2fd0f9;}};if(!this[_0x237f31(0x1e6)])throw new IdGeneratorError('IDGEN_DISABLED',_0x55e331[_0x237f31(0x1bd)]);this[_0x237f31(0xf4)](_0x4d76c8[_0x237f31(0x100)]),this[_0x237f31(0x105)](_0x4d76c8[_0x237f31(0x118)]);const _0x4dde30=this[_0x237f31(0x14b)](_0x4d76c8[_0x237f31(0x1ad)]),_0x420c39=this['_validateMaxRetry'](_0x4d76c8[_0x237f31(0x13e)]),_0x11c53a=this['_validateIdempotencyKey'](_0x4d76c8['idempotencyKey']),_0x55d70f=_0x55e331['CokYE'](_0x4d76c8[_0x237f31(0x18a)],!![]),{resource:_0x2ee547,pattern:_0x2229cb}=_0x4d76c8;let _0x543fea=null;if(_0x11c53a){_0x543fea=this[_0x237f31(0x1d1)](_0x55e331[_0x237f31(0x169)],_0x2ee547,null,_0x11c53a);const _0x13183e=await this['_retrieveIdemCache'](_0x543fea);if(_0x13183e)return _0x13183e;}const _0x3f9087=redisClient['getClient']();let _0x142326=null,_0x34d2dc=0x0;if(!_0x55d70f)_0x142326=this['_generateFromPattern'](_0x2229cb),_0x34d2dc=0x1;else{for(let _0x4c72fc=0x0;_0x4c72fc<_0x420c39;_0x4c72fc++){_0x34d2dc++;const _0x474509=this[_0x237f31(0x14f)](_0x2229cb);if(_0x4dde30){const _0x53b92b=this['_buildActiveKey'](_0x2ee547,_0x474509),_0x533297=await _0x3f9087['set'](_0x53b92b,'1','EX',_0x4dde30,'NX');if(_0x55e331['bRIMh'](_0x533297,'OK')){_0x142326=_0x474509;break;}}else{const _0x48651d=this[_0x237f31(0xe6)](_0x2ee547),_0x1108e1=await _0x3f9087[_0x237f31(0x190)](_0x48651d,_0x474509);if(_0x1108e1===0x1){_0x142326=_0x474509;break;}}}if(_0x55e331[_0x237f31(0x1c7)](_0x142326,null))throw new IdGeneratorError(_0x55e331['IzrKF'],'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x420c39+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x2ee547,'pattern':_0x2229cb,'maxRetry':_0x420c39});}const _0x5d35b9={'value':_0x142326,'resource':_0x2ee547,'pattern':_0x2229cb,'attemptCount':_0x34d2dc,'generatedAt':new Date()[_0x237f31(0xf9)]()};_0x4dde30&&_0x55d70f&&(_0x5d35b9[_0x237f31(0x182)]=new Date(Date[_0x237f31(0x1a7)]()+_0x55e331[_0x237f31(0xd1)](_0x4dde30,0x3e8))[_0x237f31(0xf9)]());const _0x166441=await this[_0x237f31(0x164)](_0x543fea,_0x5d35b9);if(!_0x166441['stored'])return _0x55d70f&&await this['_undoRandomReservation'](_0x2ee547,_0x142326,_0x4dde30),logger['info']({'event':_0x55e331['VXKsv'],'resource':_0x2ee547,'pattern':_0x2229cb,'value':_0x142326},_0x237f31(0xd0)),_0x166441[_0x237f31(0x17c)];return logger['info']({'event':_0x237f31(0x136),'resource':_0x2ee547,'pattern':_0x2229cb,'attemptCount':_0x34d2dc,'ensureUnique':_0x55d70f,'ttl':_0x55e331[_0x237f31(0x110)](_0x4dde30,0x0)},_0x237f31(0xf7)+_0x142326),_0x5d35b9;}async[a0_0x3ce6c9(0x15a)](_0x4d1c30){const _0x169824=a0_0x3ce6c9,_0x5eb306={'bDCOg':function(_0x637a0b,_0x45b1d6){return _0x637a0b<_0x45b1d6;},'oNEhL':function(_0x4c5b08,_0x226c4d){return _0x4c5b08>_0x226c4d;},'dwcnU':function(_0x4725b8,_0x1def22){return _0x4725b8===_0x1def22;}},_0x2db1b7=_0x4d1c30['digits']==null?this[_0x169824(0x14a)]:_0x4d1c30[_0x169824(0x12e)];if(!Number[_0x169824(0xc7)](_0x2db1b7)||_0x5eb306['bDCOg'](_0x2db1b7,MIN_PIN_DIGITS)||_0x5eb306['oNEhL'](_0x2db1b7,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x169824(0xe2),_0x169824(0x12a)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x2db1b7+')');const _0x57c535='9'['repeat'](_0x2db1b7);return this[_0x169824(0x148)]({'resource':_0x4d1c30['resource'],'pattern':_0x57c535,'ensureUnique':_0x5eb306[_0x169824(0x1e0)](_0x4d1c30[_0x169824(0x18a)],!![]),'ttl':_0x4d1c30[_0x169824(0x1ad)],'maxRetry':_0x4d1c30['maxRetry'],'idempotencyKey':_0x4d1c30[_0x169824(0x160)]});}async['serial'](_0x39e8d8){const _0x5be31a=a0_0x3ce6c9,_0x431b78=_0x39e8d8[_0x5be31a(0x118)]||this[_0x5be31a(0xc2)];return this[_0x5be31a(0x148)]({'resource':_0x39e8d8['resource'],'pattern':_0x431b78,'ensureUnique':_0x39e8d8['ensureUnique']!==![],'ttl':_0x39e8d8['ttl'],'maxRetry':_0x39e8d8['maxRetry'],'idempotencyKey':_0x39e8d8[_0x5be31a(0x160)]});}async['code'](_0x1e2602){const _0x438040=a0_0x3ce6c9,_0xc5b76b=_0x1e2602['pattern']||this[_0x438040(0xca)];return this[_0x438040(0x148)]({'resource':_0x1e2602['resource'],'pattern':_0xc5b76b,'ensureUnique':_0x1e2602['ensureUnique']!==![],'ttl':_0x1e2602['ttl'],'maxRetry':_0x1e2602['maxRetry'],'idempotencyKey':_0x1e2602['idempotencyKey']});}async[a0_0x3ce6c9(0x1ae)](_0xc5ef11){const _0x241570=a0_0x3ce6c9,_0x1383ce={'jXgKz':function(_0x48d437,_0x14f570){return _0x48d437===_0x14f570;},'VQAXg':'IDGEN_INVALID_NUMBER','tnaNt':_0x241570(0x178),'YEkYh':'idgen_consumed'};if(!this[_0x241570(0x1e6)])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');this[_0x241570(0xf4)](_0xc5ef11['resource']);if(typeof _0xc5ef11['value']!=='string'||_0x1383ce['jXgKz'](_0xc5ef11[_0x241570(0x1c5)]['length'],0x0))throw new IdGeneratorError(_0x1383ce[_0x241570(0xda)],_0x1383ce['tnaNt']);const {resource:_0x2f34ee,value:_0x235ad7}=_0xc5ef11,_0x2cb879=redisClient[_0x241570(0x13c)](),_0x3bbd28=this['_buildActiveKey'](_0x2f34ee,_0x235ad7),_0x538c7b=this['_buildIssuedKey'](_0x2f34ee),[_0x8c4772,_0x352fc1]=await Promise[_0x241570(0x192)]([_0x2cb879[_0x241570(0x155)](_0x3bbd28),_0x2cb879[_0x241570(0x17b)](_0x538c7b,_0x235ad7)]),_0x3499b5=_0x8c4772+_0x352fc1>0x0;return logger[_0x241570(0x1be)]({'event':_0x1383ce[_0x241570(0x1a2)],'resource':_0x2f34ee,'value':_0x235ad7,'consumed':_0x3499b5},'ID\x20Generator\x20consumed:\x20'+_0x235ad7),{'consumed':_0x3499b5,'resource':_0x2f34ee,'value':_0x235ad7,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x273c34){const _0x317248=a0_0x3ce6c9,_0x10dbf3={'YSVpG':'IDGEN_DISABLED','dQLsz':_0x317248(0x1ce),'aVogs':function(_0x240ce4,_0x126274){return _0x240ce4===_0x126274;},'bPsJQ':'number','NNjcZ':function(_0x23b6ce,_0x593dbe){return _0x23b6ce||_0x593dbe;},'PwYVF':function(_0x1b11da,_0x192cae){return _0x1b11da===_0x192cae;},'ZjSAs':_0x317248(0x148)};if(!this['enabled'])throw new IdGeneratorError(_0x10dbf3[_0x317248(0x1a5)],_0x10dbf3['dQLsz']);this[_0x317248(0xf4)](_0x273c34[_0x317248(0x100)]);const _0x173525=_0x273c34[_0x317248(0x1e9)]||_0x317248(0x1df),_0x2a5b97=redisClient[_0x317248(0x13c)]();if(_0x10dbf3[_0x317248(0x10b)](_0x173525,_0x10dbf3[_0x317248(0x1e3)])){const _0x175132=(_0x273c34['format']||'text')['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x175132))throw new IdGeneratorError(_0x317248(0x138),'Invalid\x20format:\x20'+_0x273c34['format']);const {formatKey:_0x1ef6c7}=this['_buildFormatKey'](_0x175132,_0x273c34[_0x317248(0xf2)]||''),_0x353ee9=this[_0x317248(0x116)](_0x273c34['resource'],_0x1ef6c7),_0x6c2d5a=this[_0x317248(0x101)](_0x273c34['resource'],_0x1ef6c7),[_0x2ade3b,_0xa819b7]=await Promise['all']([_0x2a5b97[_0x317248(0x15e)](_0x353ee9),_0x2a5b97['zcard'](_0x6c2d5a)]);return{'resource':_0x273c34['resource'],'mode':_0x10dbf3['bPsJQ'],'formatKey':_0x1ef6c7,'currentCounter':parseInt(_0x2ade3b,0xa)||0x0,'reusePoolSize':_0x10dbf3[_0x317248(0xc3)](_0xa819b7,0x0)};}if(_0x10dbf3['PwYVF'](_0x173525,_0x317248(0x148))){const _0x2012eb=this['_buildIssuedKey'](_0x273c34['resource']),_0x147921=await _0x2a5b97['scard'](_0x2012eb);return{'resource':_0x273c34[_0x317248(0x100)],'mode':_0x10dbf3['ZjSAs'],'issuedCount':_0x147921||0x0};}throw new IdGeneratorError(_0x317248(0x1a8),'Unknown\x20mode:\x20'+_0x173525);}async[a0_0x3ce6c9(0x1da)](_0xe3e8da){const _0x91b6b2=a0_0x3ce6c9,_0x17508c={'atRJS':function(_0x4535e9,_0x197d06){return _0x4535e9>_0x197d06;}},_0x566bea=await this[_0x91b6b2(0xdd)](_0xe3e8da);if(_0x566bea[_0x91b6b2(0x1e9)]===_0x91b6b2(0x1df)){const _0x51751c=redisClient['getClient'](),_0x12ee51=this[_0x91b6b2(0x1b6)](_0xe3e8da['resource'],_0x566bea[_0x91b6b2(0x145)]),_0x3c595a=this['_buildReuseKey'](_0xe3e8da['resource'],_0x566bea['formatKey']),[_0x24cd93,_0x1144e2]=await Promise[_0x91b6b2(0x192)]([_0x51751c[_0x91b6b2(0x1a4)](_0x12ee51),_0x51751c['zrange'](_0x3c595a,0x0,-0x1)]);return{..._0x566bea,'reusePoolValues':_0x1144e2['map'](_0x27b16f=>parseInt(_0x27b16f,0xa)),'meta':_0x24cd93&&_0x17508c['atRJS'](Object['keys'](_0x24cd93)[_0x91b6b2(0xfb)],0x0)?_0x24cd93:null};}return _0x566bea;}async['reset'](_0x4067fc){const _0x1299cc=a0_0x3ce6c9,_0xda74be={'KVroM':_0x1299cc(0x172),'yJVAS':'IDGEN_RESET_NOT_ALLOWED','jFPTe':'number','rSJfR':function(_0x38141b,_0x2185d9){return _0x38141b===_0x2185d9;},'WSTlN':'IDGEN_INVALID_FORMAT','iCRgG':_0x1299cc(0x16e),'eJKvF':_0x1299cc(0x1d9),'QgkfA':'random','qbqVR':'issued','RSfBM':'IDGEN_INVALID_MODE'};if(!this[_0x1299cc(0x1e6)])throw new IdGeneratorError(_0xda74be[_0x1299cc(0x147)],_0x1299cc(0x1ce));if(!this['allowReset'])throw new IdGeneratorError(_0xda74be[_0x1299cc(0x167)],_0x1299cc(0x1bf));this[_0x1299cc(0xf4)](_0x4067fc['resource']);const _0x3f427d=_0x4067fc[_0x1299cc(0x1e9)]||_0xda74be[_0x1299cc(0x1b0)],_0x3a6e19=redisClient['getClient']();if(_0xda74be[_0x1299cc(0x121)](_0x3f427d,'number')){const _0x3bddb3=(_0x4067fc['format']||_0x1299cc(0x123))[_0x1299cc(0x17a)]();if(!ALLOWED_FORMATS[_0x1299cc(0x199)](_0x3bddb3))throw new IdGeneratorError(_0xda74be[_0x1299cc(0x130)],_0x1299cc(0x154)+_0x4067fc[_0x1299cc(0x11b)]);const {formatKey:_0x7c3ea8}=this['_buildFormatKey'](_0x3bddb3,_0x4067fc[_0x1299cc(0xf2)]||''),_0x98a31a=this['_buildSeqKey'](_0x4067fc[_0x1299cc(0x100)],_0x7c3ea8),_0x4b06e4=this['_buildReuseKey'](_0x4067fc[_0x1299cc(0x100)],_0x7c3ea8),_0x28e389=this['_buildMetaKey'](_0x4067fc[_0x1299cc(0x100)],_0x7c3ea8);return await _0x3a6e19[_0x1299cc(0x155)](_0x98a31a,_0x4b06e4,_0x28e389),logger[_0x1299cc(0x1d0)]({'event':_0xda74be['iCRgG'],'resource':_0x4067fc[_0x1299cc(0x100)],'mode':_0xda74be[_0x1299cc(0x1b0)],'formatKey':_0x7c3ea8},_0x1299cc(0x181)+_0x4067fc['resource']+':'+_0x7c3ea8),{'reset':!![],'resource':_0x4067fc[_0x1299cc(0x100)],'mode':_0x1299cc(0x1df),'formatKey':_0x7c3ea8,'deletedKeys':[_0xda74be[_0x1299cc(0x180)],'reuse','meta']};}if(_0xda74be[_0x1299cc(0x121)](_0x3f427d,_0xda74be[_0x1299cc(0x1ca)])){const _0x5eba8f=this['_buildIssuedKey'](_0x4067fc['resource']);return await _0x3a6e19[_0x1299cc(0x155)](_0x5eba8f),logger['warn']({'event':_0xda74be['iCRgG'],'resource':_0x4067fc[_0x1299cc(0x100)],'mode':_0xda74be[_0x1299cc(0x1ca)]},_0x1299cc(0x115)+_0x4067fc['resource']),{'reset':!![],'resource':_0x4067fc['resource'],'mode':_0xda74be['QgkfA'],'deletedKeys':[_0xda74be['qbqVR']]};}throw new IdGeneratorError(_0xda74be['RSfBM'],'Unknown\x20mode:\x20'+_0x3f427d);}}const instance=new IdGenerator();instance[a0_0x3ce6c9(0x1ea)]=IdGeneratorError,module['exports']=instance,module['exports'][a0_0x3ce6c9(0x1ea)]=IdGeneratorError;
@@ -1 +1 @@
1
- 'use strict';const a0_0x3e98ff=a0_0x3989;(function(_0x13f599,_0x4c636d){const _0x2ecbb4=a0_0x3989,_0x259e2b=_0x13f599();while(!![]){try{const _0x1ba13f=parseInt(_0x2ecbb4(0x1db))/0x1*(-parseInt(_0x2ecbb4(0x1e6))/0x2)+parseInt(_0x2ecbb4(0x1ea))/0x3*(parseInt(_0x2ecbb4(0x1d1))/0x4)+parseInt(_0x2ecbb4(0x1ff))/0x5+parseInt(_0x2ecbb4(0x1ee))/0x6*(parseInt(_0x2ecbb4(0x1e4))/0x7)+-parseInt(_0x2ecbb4(0x1d3))/0x8+parseInt(_0x2ecbb4(0x1df))/0x9+-parseInt(_0x2ecbb4(0x1dd))/0xa*(parseInt(_0x2ecbb4(0x1d6))/0xb);if(_0x1ba13f===_0x4c636d)break;else _0x259e2b['push'](_0x259e2b['shift']());}catch(_0x4ba53e){_0x259e2b['push'](_0x259e2b['shift']());}}}(a0_0x331f,0x85bca));const redisClient=require('./redis-client'),{logger}=require(a0_0x3e98ff(0x1f8)),crypto=require(a0_0x3e98ff(0x1fb));function a0_0x3989(_0x579cae,_0x51fe98){_0x579cae=_0x579cae-0x1cf;const _0x331ffd=a0_0x331f();let _0x3989ad=_0x331ffd[_0x579cae];if(a0_0x3989['NADhVk']===undefined){var _0x448093=function(_0x12c1be){const _0x21fff3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x910cc7='',_0x5482da='';for(let _0xa34c22=0x0,_0x45dbf4,_0x54b0b7,_0x1b8a12=0x0;_0x54b0b7=_0x12c1be['charAt'](_0x1b8a12++);~_0x54b0b7&&(_0x45dbf4=_0xa34c22%0x4?_0x45dbf4*0x40+_0x54b0b7:_0x54b0b7,_0xa34c22++%0x4)?_0x910cc7+=String['fromCharCode'](0xff&_0x45dbf4>>(-0x2*_0xa34c22&0x6)):0x0){_0x54b0b7=_0x21fff3['indexOf'](_0x54b0b7);}for(let _0x290633=0x0,_0x10cc72=_0x910cc7['length'];_0x290633<_0x10cc72;_0x290633++){_0x5482da+='%'+('00'+_0x910cc7['charCodeAt'](_0x290633)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5482da);};a0_0x3989['svtioZ']=_0x448093,a0_0x3989['klBjKv']={},a0_0x3989['NADhVk']=!![];}const _0x4628d3=_0x331ffd[0x0],_0x4e61f6=_0x579cae+_0x4628d3,_0x5aac61=a0_0x3989['klBjKv'][_0x4e61f6];return!_0x5aac61?(_0x3989ad=a0_0x3989['svtioZ'](_0x3989ad),a0_0x3989['klBjKv'][_0x4e61f6]=_0x3989ad):_0x3989ad=_0x5aac61,_0x3989ad;}class IdempotencyManager{constructor(){const _0x3beb01=a0_0x3e98ff;this['_enabled']=null,this[_0x3beb01(0x1ed)]=null,this['_initialized']=![];}[a0_0x3e98ff(0x1e9)](){const _0x25cb33=a0_0x3e98ff,_0x4c4746={'xYLcw':'idempotency_config_init'};this['_enabled']=process['env']['IDEMPOTENCY_ENABLED']==='true',this['_ttl']=parseInt(process['env']['IDEMPOTENCY_TTL'],0xa)||0x12c,this[_0x25cb33(0x1f3)]=!![],logger['info']({'event':_0x4c4746[_0x25cb33(0x1e5)],'enabled':this[_0x25cb33(0x1f2)],'ttl':this['_ttl']},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x25cb33(0x1da)+this[_0x25cb33(0x1ed)]+'s');}[a0_0x3e98ff(0x1de)](){!this['_initialized']&&this['_initConfig']();}get['enabled'](){const _0x45d065=a0_0x3e98ff;return this['_ensureInitialized'](),this[_0x45d065(0x1f2)];}get[a0_0x3e98ff(0x1e3)](){return this['_ensureInitialized'](),this['_ttl'];}['isEnabled'](){const _0x2d4222=a0_0x3e98ff;return this[_0x2d4222(0x1e2)];}[a0_0x3e98ff(0x1dc)](_0x20b210,_0x229df7){const _0x394707=a0_0x3e98ff,_0x72c6d8={'woYlG':'default'},_0xa0c02a=_0x229df7[_0x394707(0x1f1)][_0x394707(0x1cf)]('/')[_0x394707(0x1f6)](Boolean),_0xef3768=_0xa0c02a[0x0]||_0x72c6d8[_0x394707(0x1ef)],_0x1060a7=_0xa0c02a[0x1]||_0x394707(0x1f4),_0x20e26b=_0xa0c02a[0x2]||_0x394707(0x1f4);return _0x394707(0x1d9)+_0xef3768+':'+_0x1060a7+':'+_0x20e26b+':'+_0x20b210;}async[a0_0x3e98ff(0x1d5)](_0x492481,_0x2a6a19){const _0x17eead=a0_0x3e98ff,_0x47a9aa={'zaKkp':_0x17eead(0x1e7)};if(!this['enabled'])return![];try{const _0x21aa0f=redisClient['getClient']();return await _0x21aa0f['setex'](_0x492481,this['ttl'],JSON[_0x17eead(0x1e8)](_0x2a6a19)),logger['debug']({'event':_0x47a9aa[_0x17eead(0x1f7)],'key':_0x492481,'ttl':this['ttl'],'statusCode':_0x2a6a19['statusCode']},_0x17eead(0x1e1)),!![];}catch(_0x1e449b){return logger[_0x17eead(0x1d4)]({'event':_0x17eead(0x1f5),'key':_0x492481,'error':_0x1e449b[_0x17eead(0x1ec)]},_0x17eead(0x1f9)+_0x1e449b['message']),![];}}async[a0_0x3e98ff(0x1fc)](_0x33ba1f){const _0x3b3b76=a0_0x3e98ff,_0x371383={'BRyxD':_0x3b3b76(0x1d8),'nDSUe':_0x3b3b76(0x1e0),'eWhKt':'idempotency_miss','klOUw':'idempotency_retrieve_error'};if(!this['enabled'])return null;try{const _0x405645=redisClient[_0x3b3b76(0x1fd)](),_0x194697=await _0x405645['get'](_0x33ba1f);if(_0x194697)return logger['info']({'event':_0x371383['BRyxD'],'key':_0x33ba1f},_0x371383[_0x3b3b76(0x1eb)]),JSON['parse'](_0x194697);return logger['debug']({'event':_0x371383[_0x3b3b76(0x1d0)],'key':_0x33ba1f},_0x3b3b76(0x1d2)),null;}catch(_0x447e44){return logger['error']({'event':_0x371383['klOUw'],'key':_0x33ba1f,'error':_0x447e44[_0x3b3b76(0x1ec)]},_0x3b3b76(0x1fe)+_0x447e44[_0x3b3b76(0x1ec)]),null;}}['generateKey'](_0xaab7da=a0_0x3e98ff(0x1f0)){const _0x16c258=a0_0x3e98ff;return _0xaab7da+'_'+crypto[_0x16c258(0x1d7)]();}[a0_0x3e98ff(0x1fa)](_0x3a712c,_0x2e8b5a,_0x404f8e){return _0x3a712c+':'+_0x2e8b5a+':'+_0x404f8e;}}function a0_0x331f(){const _0x49bc2e=['swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','zw5HyMXLza','DhrS','nJnNywrzyuO','EfLmy3C','mtK2mdqWnMjOCgfqEa','AwrLBxbVDgvUy3LFC3rVCMu','C3rYAw5NAwz5','x2LUAxrdB25MAwC','mtm3n1LoExL3ua','BKrtvwu','BwvZC2fNzq','x3r0Ba','ntuXotrKwKDUyui','D29zBeC','CMvX','Cgf0Aa','x2vUywjSzwq','x2LUAxrPywXPEMvK','Dw5RBM93BG','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','zMLSDgvY','EMflA3a','lI9SB2DNzxi','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','yNvPBgrezxrLCM1PBMLZDgLJs2v5','y3j5ChrV','CMv0CMLLDMu','z2v0q2XPzw50','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i6ia','ndKZndGZnw5JqwfWsG','C3bSAxq','zvDOs3q','mtC5mKjMrer5AW','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','mZuXnZq0ogXowwvRDG','zxjYB3i','C3rVCMu','mtfYz2Pgzw0','CMfUzg9Tvvvjra','AwrLBxbVDgvUy3LFAgL0','CMy6AwrLBtO','lcbuveW6ia','mwPfzNjvuW','yNvPBgrlzxK','mZyYmtC3mhnYCxfVvW','x2vUC3vYzuLUAxrPywXPEMvK','otq5mdeXm29wvvL2zG','swrLBxbVDgvUy3KGy2fJAguGseLu'];a0_0x331f=function(){return _0x49bc2e;};return a0_0x331f();}module['exports']=new IdempotencyManager();
1
+ 'use strict';const a0_0x215af1=a0_0x5baf;(function(_0x484f98,_0x16cee2){const _0x3929a3=a0_0x5baf,_0x39ed05=_0x484f98();while(!![]){try{const _0x25f8d1=parseInt(_0x3929a3(0x145))/0x1*(-parseInt(_0x3929a3(0x155))/0x2)+parseInt(_0x3929a3(0x143))/0x3*(-parseInt(_0x3929a3(0x160))/0x4)+parseInt(_0x3929a3(0x147))/0x5+parseInt(_0x3929a3(0x159))/0x6+parseInt(_0x3929a3(0x144))/0x7*(-parseInt(_0x3929a3(0x151))/0x8)+-parseInt(_0x3929a3(0x161))/0x9*(-parseInt(_0x3929a3(0x153))/0xa)+-parseInt(_0x3929a3(0x154))/0xb;if(_0x25f8d1===_0x16cee2)break;else _0x39ed05['push'](_0x39ed05['shift']());}catch(_0x26fb74){_0x39ed05['push'](_0x39ed05['shift']());}}}(a0_0x31f2,0x6bcc1));function a0_0x5baf(_0x14683c,_0x3a7b35){_0x14683c=_0x14683c-0x141;const _0x31f2d0=a0_0x31f2();let _0x5baf38=_0x31f2d0[_0x14683c];if(a0_0x5baf['drWNwj']===undefined){var _0x5b4d8d=function(_0x454a73){const _0xba6cb1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d353d='',_0x2cd747='';for(let _0x5d2927=0x0,_0x2f8015,_0x3fa96c,_0x2e52ef=0x0;_0x3fa96c=_0x454a73['charAt'](_0x2e52ef++);~_0x3fa96c&&(_0x2f8015=_0x5d2927%0x4?_0x2f8015*0x40+_0x3fa96c:_0x3fa96c,_0x5d2927++%0x4)?_0x2d353d+=String['fromCharCode'](0xff&_0x2f8015>>(-0x2*_0x5d2927&0x6)):0x0){_0x3fa96c=_0xba6cb1['indexOf'](_0x3fa96c);}for(let _0x308f8c=0x0,_0x3ff00c=_0x2d353d['length'];_0x308f8c<_0x3ff00c;_0x308f8c++){_0x2cd747+='%'+('00'+_0x2d353d['charCodeAt'](_0x308f8c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2cd747);};a0_0x5baf['jJtMbu']=_0x5b4d8d,a0_0x5baf['kgzExy']={},a0_0x5baf['drWNwj']=!![];}const _0x3186af=_0x31f2d0[0x0],_0x4c990b=_0x14683c+_0x3186af,_0x5b4ad3=a0_0x5baf['kgzExy'][_0x4c990b];return!_0x5b4ad3?(_0x5baf38=a0_0x5baf['jJtMbu'](_0x5baf38),a0_0x5baf['kgzExy'][_0x4c990b]=_0x5baf38):_0x5baf38=_0x5b4ad3,_0x5baf38;}const redisClient=require(a0_0x215af1(0x162)),{logger}=require('./logger'),crypto=require('crypto');function a0_0x31f2(){const _0x3e8f98=['ndeZmZqXnwXbtLjirG','mJzuChb5yKy','BwvZC2fNzq','C3bSAxq','z2vUzxjHDgvlzxK','mJmYmZy4nK5cDwnzta','C3rVCMu','zw5HyMXLza','CMfUzg9Tvvvjra','zgvMyxvSDa','x2LUAxrdB25MAwC','CMy6AwrLBtO','mZC1nMPWv2rwrW','mtu2ntaXDMjsugHT','lI9YzwrPCY1JBgLLBNq','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','Cgf0Aa','AwrLBxbVDgvUy3LFAgL0','x2LUAxrPywXPEMvK','CMvX','AwrLBxbVDgvUy3LFBwLZCW','x3r0Ba','mJa4mMTorNDSyq','nti1zNjmEffk','mJa2mZnzvhnMsee','AxnfBMfIBgvK','mZG2mZC5nwDcB2nrAW','zgvIDwC','x2vUywjSzwq','zw52','CgfYC2u','DhrS','z2v0','Dhj1zq','yNvPBgrezxrLCM1PBMLZDgLJs2v5','zxjYB3i','odKYmgXIuKLIta','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','mZGWDwjXBLfx'];a0_0x31f2=function(){return _0x3e8f98;};return a0_0x31f2();}class IdempotencyManager{constructor(){const _0x498d6=a0_0x215af1;this[_0x498d6(0x149)]=null,this[_0x498d6(0x142)]=null,this[_0x498d6(0x166)]=![];}[a0_0x215af1(0x15e)](){const _0x5279b4=a0_0x215af1,_0x5ef111={'gXSWU':function(_0x531267,_0x200a45){return _0x531267===_0x200a45;},'sDFWW':_0x5279b4(0x14e),'cpfKl':function(_0x491186,_0x3dd882,_0x2b8ea0){return _0x491186(_0x3dd882,_0x2b8ea0);}};this['_enabled']=_0x5ef111['gXSWU'](process[_0x5279b4(0x14a)]['IDEMPOTENCY_ENABLED'],_0x5ef111['sDFWW']),this['_ttl']=_0x5ef111['cpfKl'](parseInt,process['env']['IDEMPOTENCY_TTL'],0xa)||0x12c,this[_0x5279b4(0x166)]=!![],logger['info']({'event':'idempotency_config_init','enabled':this[_0x5279b4(0x149)],'ttl':this[_0x5279b4(0x142)]},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x5279b4(0x149)]+',\x20TTL:\x20'+this['_ttl']+'s');}['_ensureInitialized'](){const _0x4484b2=a0_0x215af1;!this[_0x4484b2(0x166)]&&this[_0x4484b2(0x15e)]();}get['enabled'](){const _0x9481a2=a0_0x215af1;return this['_ensureInitialized'](),this[_0x9481a2(0x149)];}get['ttl'](){const _0x48b6a1=a0_0x215af1;return this['_ensureInitialized'](),this[_0x48b6a1(0x142)];}[a0_0x215af1(0x146)](){const _0x3d1020=a0_0x215af1;return this[_0x3d1020(0x15b)];}['buildKey'](_0x3fa4ff,_0x160fbb){const _0x10e10d=a0_0x215af1,_0xf9c7aa=_0x160fbb[_0x10e10d(0x164)][_0x10e10d(0x157)]('/')['filter'](Boolean),_0x16aaeb=_0xf9c7aa[0x0]||_0x10e10d(0x15d),_0x3b65f7=_0xf9c7aa[0x1]||'unknown',_0x23a77d=_0xf9c7aa[0x2]||'unknown';return _0x10e10d(0x15f)+_0x16aaeb+':'+_0x3b65f7+':'+_0x23a77d+':'+_0x3fa4ff;}async[a0_0x215af1(0x15a)](_0x5864c7,_0x3f08d7){const _0x2dfd37=a0_0x215af1,_0x2faac8={'BQPEC':'idempotency_store'};if(!this[_0x2dfd37(0x15b)])return![];try{const _0x5a71d5=redisClient['getClient']();return await _0x5a71d5['setex'](_0x5864c7,this['ttl'],JSON['stringify'](_0x3f08d7)),logger[_0x2dfd37(0x148)]({'event':_0x2faac8['BQPEC'],'key':_0x5864c7,'ttl':this[_0x2dfd37(0x14c)],'statusCode':_0x3f08d7['statusCode']},'Idempotency\x20response\x20stored'),!![];}catch(_0x39c9eb){return logger[_0x2dfd37(0x150)]({'event':_0x2dfd37(0x152),'key':_0x5864c7,'error':_0x39c9eb[_0x2dfd37(0x156)]},'Idempotency\x20store\x20error:\x20'+_0x39c9eb[_0x2dfd37(0x156)]),![];}}async['retrieve'](_0x59409a){const _0x49a192=a0_0x215af1,_0xe188e5={'nfAIG':_0x49a192(0x165),'CwzEG':'Idempotency\x20cache\x20MISS','zfnNE':_0x49a192(0x163)};if(!this['enabled'])return null;try{const _0x32047a=redisClient['getClient'](),_0x198766=await _0x32047a[_0x49a192(0x14d)](_0x59409a);if(_0x198766)return logger['info']({'event':_0xe188e5['nfAIG'],'key':_0x59409a},'Idempotency\x20cache\x20HIT'),JSON[_0x49a192(0x14b)](_0x198766);return logger[_0x49a192(0x148)]({'event':_0x49a192(0x141),'key':_0x59409a},_0xe188e5['CwzEG']),null;}catch(_0x42d718){return logger[_0x49a192(0x150)]({'event':_0xe188e5['zfnNE'],'key':_0x59409a,'error':_0x42d718['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x42d718['message']),null;}}[a0_0x215af1(0x158)](_0x3f014c=a0_0x215af1(0x167)){const _0x349a38=a0_0x215af1;return _0x3f014c+'_'+crypto[_0x349a38(0x15c)]();}[a0_0x215af1(0x14f)](_0x38fb3f,_0x2a9354,_0x2cdd60){return _0x38fb3f+':'+_0x2a9354+':'+_0x2cdd60;}}module['exports']=new IdempotencyManager();
@@ -1 +1 @@
1
- const a0_0x594aff=a0_0x1cf1;function a0_0x2b61(){const _0x49ed8e=['zM9YBwf0','DMfSAwrHDgvfBwfPBa','mJKXmJq0tKf1rLz1','sw52ywXPzcbWAg9UzsbMB3jTyxq','Aw5MBW','mZe1ndy2nfLevMruwa','mZC4odu0m3Dmt1PMDq','wvjxugC','CgHVBMu','mZKYndHYA0zUDKi','AgfZ','mtbWu2vzvMe','mZi1ohfpEKTvwa','mtaZnvvowgHnrW','mJG5nxfmq3Psta','sw52ywXPzcbvuKWGzM9YBwf0','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','vxrTueO','DMfSAwrHDgvgAwvSzezVCM1HDa','oePvz05jyq','DMfSAwrHDgvoDw1Izxi','q1PbzM4','Eg1yAe4','zxHWB3j0CW','mtC3mti4n3LOs2zpCq','zM9YrwfJAa','sw52ywXPzcbUDw1IzxiGzM9YBwf0','lI9SB2DNzxi','t3zRAfm','m29QCvDADq','BgvUz3rO','mJmWndi0mgnpvhHbuW','vvrNtfO','DMfSAwrHDgvvCMW','ChvZAa','twTWzLq','z2v0','sw52ywXPzcbLBwfPBcbMB3jTyxq','DMfSAwrHDgvqAg9Uzq','zw1HAwW','C2v0'];a0_0x2b61=function(){return _0x49ed8e;};return a0_0x2b61();}(function(_0x45b133,_0x10cfb2){const _0x42c2fc=a0_0x1cf1,_0x130ebf=_0x45b133();while(!![]){try{const _0xc2ca23=-parseInt(_0x42c2fc(0xf2))/0x1*(-parseInt(_0x42c2fc(0x103))/0x2)+-parseInt(_0x42c2fc(0xe4))/0x3*(-parseInt(_0x42c2fc(0xf5))/0x4)+parseInt(_0x42c2fc(0xfe))/0x5*(-parseInt(_0x42c2fc(0xfc))/0x6)+-parseInt(_0x42c2fc(0x108))/0x7+-parseInt(_0x42c2fc(0xf9))/0x8*(parseInt(_0x42c2fc(0xfd))/0x9)+parseInt(_0x42c2fc(0xfb))/0xa*(-parseInt(_0x42c2fc(0xf6))/0xb)+parseInt(_0x42c2fc(0xe6))/0xc;if(_0xc2ca23===_0x10cfb2)break;else _0x130ebf['push'](_0x130ebf['shift']());}catch(_0x495821){_0x130ebf['push'](_0x130ebf['shift']());}}}(a0_0x2b61,0xa37b5));const {logger}=require(a0_0x594aff(0xe2));function a0_0x1cf1(_0x5c8d18,_0x478a79){_0x5c8d18=_0x5c8d18-0xe2;const _0x2b61b6=a0_0x2b61();let _0x1cf101=_0x2b61b6[_0x5c8d18];if(a0_0x1cf1['ZEaXLo']===undefined){var _0x43e9ad=function(_0x3a833d){const _0x2b66f7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36676d='',_0x479c2b='';for(let _0x3aba1b=0x0,_0x310259,_0x5295b7,_0xfdf357=0x0;_0x5295b7=_0x3a833d['charAt'](_0xfdf357++);~_0x5295b7&&(_0x310259=_0x3aba1b%0x4?_0x310259*0x40+_0x5295b7:_0x5295b7,_0x3aba1b++%0x4)?_0x36676d+=String['fromCharCode'](0xff&_0x310259>>(-0x2*_0x3aba1b&0x6)):0x0){_0x5295b7=_0x2b66f7['indexOf'](_0x5295b7);}for(let _0x4edd5a=0x0,_0x4326d0=_0x36676d['length'];_0x4edd5a<_0x4326d0;_0x4edd5a++){_0x479c2b+='%'+('00'+_0x36676d['charCodeAt'](_0x4edd5a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x479c2b);};a0_0x1cf1['SBLOGg']=_0x43e9ad,a0_0x1cf1['eTOaGP']={},a0_0x1cf1['ZEaXLo']=!![];}const _0x5b8893=_0x2b61b6[0x0],_0x55fd31=_0x5c8d18+_0x5b8893,_0x592a3f=a0_0x1cf1['eTOaGP'][_0x55fd31];return!_0x592a3f?(_0x1cf101=a0_0x1cf1['SBLOGg'](_0x1cf101),a0_0x1cf1['eTOaGP'][_0x55fd31]=_0x1cf101):_0x1cf101=_0x592a3f,_0x1cf101;}class ImportValidator{['validateRow'](_0x5cb86e,_0x2fcc86=[],_0x1bed59={}){const _0x2799c8={'UTgLZ':function(_0x40eb4f,_0x6f06a9){return _0x40eb4f===_0x6f06a9;}},_0x2cfb1a=[];return _0x2fcc86['forEach'](_0x58af91=>{const _0x3a67d4=a0_0x1cf1,_0x32c2f6=_0x5cb86e[_0x58af91];(_0x2799c8[_0x3a67d4(0xe7)](_0x32c2f6,null)||_0x32c2f6===undefined||_0x2799c8[_0x3a67d4(0xe7)](_0x32c2f6,''))&&_0x2cfb1a[_0x3a67d4(0xe9)]({'field':_0x58af91,'type':'required','message':'Required\x20field\x20is\x20empty'});}),Object['keys'](_0x1bed59)['forEach'](_0x21845e=>{const _0x4b1b09=_0x5cb86e[_0x21845e],_0xdfc18d=_0x1bed59[_0x21845e];if(_0x4b1b09===null||_0x2799c8['UTgLZ'](_0x4b1b09,undefined)||_0x4b1b09==='')return;const _0x423316=this['validateFieldFormat'](_0x21845e,_0x4b1b09,_0xdfc18d);_0x423316&&_0x2cfb1a['push'](_0x423316);}),_0x2cfb1a;}[a0_0x594aff(0x102)](_0x1e595c,_0x24f5c6,_0x408e4a){const _0x5455f5=a0_0x594aff,_0x25df96={'gzbph':_0x5455f5(0xee),'xmXhN':'url'};switch(_0x408e4a){case _0x25df96['gzbph']:return this['validateEmail'](_0x1e595c,_0x24f5c6);case _0x5455f5(0xf8):return this['validatePhone'](_0x1e595c,_0x24f5c6);case _0x25df96[_0x5455f5(0x106)]:return this['validateUrl'](_0x1e595c,_0x24f5c6);case'number':return this[_0x5455f5(0x104)](_0x1e595c,_0x24f5c6);default:return null;}}[a0_0x594aff(0xf1)](_0x1bd558,_0x51b5cc){const _0x2144fc=a0_0x594aff,_0x3f5cfc={'UtmPJ':function(_0x354a67,_0x58ee51){return _0x354a67(_0x58ee51);},'rRYKr':_0x2144fc(0xec)},_0x18f787=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x18f787['test'](_0x3f5cfc[_0x2144fc(0x101)](String,_0x51b5cc)))return{'field':_0x1bd558,'type':_0x2144fc(0xf0),'message':_0x3f5cfc['rRYKr']};return null;}[a0_0x594aff(0xed)](_0x1c6c3a,_0x45899e){const _0x1a7840=a0_0x594aff,_0x1a5a1a={'EcgHA':_0x1a7840(0xf0),'CZAfn':_0x1a7840(0xf3)},_0x13d29e=String(_0x45899e)['replace'](/\s+/g,''),_0x25d03d=/^[\d\+\-\(\)]+$/;if(!_0x25d03d['test'](_0x13d29e)||_0x13d29e['length']<0x8)return{'field':_0x1c6c3a,'type':_0x1a5a1a['EcgHA'],'message':_0x1a5a1a[_0x1a7840(0x105)]};return null;}[a0_0x594aff(0xe8)](_0x3ee065,_0x31f2fd){const _0x318a56=a0_0x594aff,_0x51db96={'OvkhS':_0x318a56(0xf0)};try{return new URL(String(_0x31f2fd)),null;}catch(_0x4f32f0){return{'field':_0x3ee065,'type':_0x51db96[_0x318a56(0xe3)],'message':_0x318a56(0xff)};}}[a0_0x594aff(0x104)](_0x55a931,_0x1cd68a){const _0x5bc7b9=a0_0x594aff,_0x110f6b={'WjyBr':_0x5bc7b9(0xf0),'MkpfT':_0x5bc7b9(0x10a)};if(isNaN(_0x1cd68a))return{'field':_0x55a931,'type':_0x110f6b['WjyBr'],'message':_0x110f6b[_0x5bc7b9(0xea)]};return null;}['detectDuplicatesInFile'](_0x3d1b95,_0x2f61dc){const _0x28fcc6=new Map(),_0x30ada7=[];return _0x3d1b95['forEach']((_0x5db527,_0x440a30)=>{const _0x3e38f0=a0_0x1cf1,_0x1a3c71=_0x2f61dc['map'](_0x58c26b=>_0x5db527[_0x58c26b])['join']('|');_0x28fcc6[_0x3e38f0(0xfa)](_0x1a3c71)?_0x30ada7[_0x3e38f0(0xe9)]({'rowIndex':_0x440a30,'duplicateOf':_0x28fcc6[_0x3e38f0(0xeb)](_0x1a3c71),'key':_0x1a3c71}):_0x28fcc6[_0x3e38f0(0xef)](_0x1a3c71,_0x440a30);}),_0x30ada7;}['batchValidateRows'](_0x39f3be,_0x19c019,_0x1977af){const _0x558617=a0_0x594aff,_0x424bfd={'DgZzg':function(_0x253f3b,_0x470aa3){return _0x253f3b>_0x470aa3;},'YRWPg':'batch_validation_complete'},_0x465b6f=[];return _0x39f3be[_0x558617(0x109)]((_0x65c047,_0x4ac91e)=>{const _0x37c7c6=_0x558617,_0x6993f=this['validateRow'](_0x65c047,_0x19c019,_0x1977af);_0x424bfd['DgZzg'](_0x6993f[_0x37c7c6(0xe5)],0x0)&&_0x465b6f[_0x37c7c6(0xe9)]({'rowIndex':_0x4ac91e,'rowData':_0x65c047,'errors':_0x6993f});}),logger[_0x558617(0xf4)]({'event':_0x424bfd[_0x558617(0xf7)],'totalRows':_0x39f3be['length'],'errorCount':_0x465b6f['length']},_0x558617(0x100)),_0x465b6f;}}module[a0_0x594aff(0x107)]=new ImportValidator();
1
+ const a0_0x51ed90=a0_0x3c57;function a0_0x3c57(_0x580081,_0x2db017){_0x580081=_0x580081-0x13c;const _0x202e2f=a0_0x202e();let _0x3c5732=_0x202e2f[_0x580081];if(a0_0x3c57['asfsgi']===undefined){var _0x2f9f88=function(_0x25c32b){const _0x2d3e73='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1edf45='',_0x20748e='';for(let _0x55974a=0x0,_0x51e965,_0x5568eb,_0x3937ef=0x0;_0x5568eb=_0x25c32b['charAt'](_0x3937ef++);~_0x5568eb&&(_0x51e965=_0x55974a%0x4?_0x51e965*0x40+_0x5568eb:_0x5568eb,_0x55974a++%0x4)?_0x1edf45+=String['fromCharCode'](0xff&_0x51e965>>(-0x2*_0x55974a&0x6)):0x0){_0x5568eb=_0x2d3e73['indexOf'](_0x5568eb);}for(let _0x1ed2db=0x0,_0x2bc4ab=_0x1edf45['length'];_0x1ed2db<_0x2bc4ab;_0x1ed2db++){_0x20748e+='%'+('00'+_0x1edf45['charCodeAt'](_0x1ed2db)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20748e);};a0_0x3c57['jgYJOR']=_0x2f9f88,a0_0x3c57['PhZZeT']={},a0_0x3c57['asfsgi']=!![];}const _0x52dc66=_0x202e2f[0x0],_0xab8c62=_0x580081+_0x52dc66,_0x46b22c=a0_0x3c57['PhZZeT'][_0xab8c62];return!_0x46b22c?(_0x3c5732=a0_0x3c57['jgYJOR'](_0x3c5732),a0_0x3c57['PhZZeT'][_0xab8c62]=_0x3c5732):_0x3c5732=_0x46b22c,_0x3c5732;}(function(_0x4e8005,_0x2becc8){const _0x30ac39=a0_0x3c57,_0x2e766a=_0x4e8005();while(!![]){try{const _0x58186a=-parseInt(_0x30ac39(0x152))/0x1+parseInt(_0x30ac39(0x154))/0x2*(-parseInt(_0x30ac39(0x155))/0x3)+parseInt(_0x30ac39(0x15f))/0x4*(parseInt(_0x30ac39(0x140))/0x5)+parseInt(_0x30ac39(0x14d))/0x6+-parseInt(_0x30ac39(0x143))/0x7+-parseInt(_0x30ac39(0x15a))/0x8+parseInt(_0x30ac39(0x14e))/0x9*(parseInt(_0x30ac39(0x160))/0xa);if(_0x58186a===_0x2becc8)break;else _0x2e766a['push'](_0x2e766a['shift']());}catch(_0x48796a){_0x2e766a['push'](_0x2e766a['shift']());}}}(a0_0x202e,0xf139e));const {logger}=require(a0_0x51ed90(0x15e));function a0_0x202e(){const _0x4cece9=['sw52ywXPzcbWAg9UzsbMB3jTyxq','CMfYy0G','D3bWAgG','ChvZAa','mZGYmdK4ngrgDxrpwG','DxjS','zM9YBwf0','DgvZDa','lI9SB2DNzxi','mJa4ndG0rur0EMnH','mtbOBwjOq20','BgvUz3rO','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','zgP6AMm','AM9PBG','mtm1BNz0z0DK','DMfSAwrHDgvfBwfPBa','zM9YrwfJAa','nJi3otu4mvDrvuzdDW','BNvTyMvY','C2v0','ENPKt2u','CMvXDwLYzwq','DMfSAwrHDgvqAg9Uzq','yMf0y2HwywXPzgf0zvjVD3m','DMfSAwrHDgvsB3C','z2v0','DMfSAwrHDgvoDw1Izxi','mZK0mZi2nM9St2T1qG','mJKXmdyZmdzWwwnOrgC','DMfSAwrHDgvgAwvSzezVCM1HDa','DMfSAwrHDgvvCMW','zeXfuwm','mtK1ntuWmfDkyNPZAG','AunJEgu','mtm0mJHhDe9gueG','ndm4CejYsgXb'];a0_0x202e=function(){return _0x4cece9;};return a0_0x202e();}class ImportValidator{[a0_0x51ed90(0x14a)](_0xf69a8,_0x49a830=[],_0x5e4be0={}){const _0x10e736=a0_0x51ed90,_0x5a10ad={'rarcH':function(_0x5e1f7d,_0x63b7b2){return _0x5e1f7d===_0x63b7b2;},'wpphh':_0x10e736(0x147)},_0x1d87e9=[];return _0x49a830[_0x10e736(0x142)](_0x3ab590=>{const _0x2800a0=_0x10e736,_0x134c2d=_0xf69a8[_0x3ab590];(_0x134c2d===null||_0x134c2d===undefined||_0x5a10ad[_0x2800a0(0x157)](_0x134c2d,''))&&_0x1d87e9['push']({'field':_0x3ab590,'type':_0x5a10ad[_0x2800a0(0x158)],'message':'Required\x20field\x20is\x20empty'});}),Object['keys'](_0x5e4be0)['forEach'](_0x151e19=>{const _0x1d7eb0=_0x10e736,_0x484127=_0xf69a8[_0x151e19],_0x2b9184=_0x5e4be0[_0x151e19];if(_0x5a10ad['rarcH'](_0x484127,null)||_0x5a10ad['rarcH'](_0x484127,undefined)||_0x484127==='')return;const _0x2a2f4c=this[_0x1d7eb0(0x14f)](_0x151e19,_0x484127,_0x2b9184);_0x2a2f4c&&_0x1d87e9['push'](_0x2a2f4c);}),_0x1d87e9;}[a0_0x51ed90(0x14f)](_0x8ccced,_0x1d810f,_0x59d300){const _0x3e2fbe=a0_0x51ed90,_0x4efc52={'dLEQc':'phone','iCcxe':_0x3e2fbe(0x144)};switch(_0x59d300){case'email':return this['validateEmail'](_0x8ccced,_0x1d810f);case _0x4efc52[_0x3e2fbe(0x151)]:return this[_0x3e2fbe(0x148)](_0x8ccced,_0x1d810f);case _0x3e2fbe(0x15b):return this[_0x3e2fbe(0x150)](_0x8ccced,_0x1d810f);case _0x4efc52[_0x3e2fbe(0x153)]:return this[_0x3e2fbe(0x14c)](_0x8ccced,_0x1d810f);default:return null;}}[a0_0x51ed90(0x141)](_0x2e0446,_0x530c09){const _0x3dad44=a0_0x51ed90,_0x54df5e={'lVEaw':function(_0x63b90f,_0x4c4e38){return _0x63b90f(_0x4c4e38);},'zMJZo':_0x3dad44(0x15c),'djzjc':'Invalid\x20email\x20format'},_0x2ad393=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x2ad393[_0x3dad44(0x15d)](_0x54df5e['lVEaw'](String,_0x530c09)))return{'field':_0x2e0446,'type':_0x54df5e['zMJZo'],'message':_0x54df5e[_0x3dad44(0x13e)]};return null;}[a0_0x51ed90(0x148)](_0x2aa27a,_0x2135f1){const _0x321442=a0_0x51ed90,_0x181741={'nNwhN':function(_0x3ef926,_0x18c440){return _0x3ef926<_0x18c440;}},_0x504094=String(_0x2135f1)['replace'](/\s+/g,''),_0x5043b9=/^[\d\+\-\(\)]+$/;if(!_0x5043b9[_0x321442(0x15d)](_0x504094)||_0x181741['nNwhN'](_0x504094[_0x321442(0x13c)],0x8))return{'field':_0x2aa27a,'type':_0x321442(0x15c),'message':_0x321442(0x156)};return null;}['validateUrl'](_0x3a345a,_0x2b960d){const _0x18334b=a0_0x51ed90,_0x20f9c7={'Wqxqe':_0x18334b(0x15c)};try{return new URL(String(_0x2b960d)),null;}catch(_0x258605){return{'field':_0x3a345a,'type':_0x20f9c7['Wqxqe'],'message':'Invalid\x20URL\x20format'};}}[a0_0x51ed90(0x14c)](_0x141271,_0x3dc72d){const _0x3c2fbf=a0_0x51ed90;if(isNaN(_0x3dc72d))return{'field':_0x141271,'type':_0x3c2fbf(0x15c),'message':'Invalid\x20number\x20format'};return null;}['detectDuplicatesInFile'](_0x12f4e1,_0x320f6c){const _0x2ce870=a0_0x51ed90,_0x30f4e2=new Map(),_0x1b1baa=[];return _0x12f4e1[_0x2ce870(0x142)]((_0x46f619,_0x2e5f33)=>{const _0x1713a4=_0x2ce870,_0x19eac0=_0x320f6c['map'](_0x538c82=>_0x46f619[_0x538c82])[_0x1713a4(0x13f)]('|');_0x30f4e2['has'](_0x19eac0)?_0x1b1baa['push']({'rowIndex':_0x2e5f33,'duplicateOf':_0x30f4e2[_0x1713a4(0x14b)](_0x19eac0),'key':_0x19eac0}):_0x30f4e2[_0x1713a4(0x145)](_0x19eac0,_0x2e5f33);}),_0x1b1baa;}[a0_0x51ed90(0x149)](_0x280b4a,_0x497e11,_0x73f8d8){const _0x4ce7c3=a0_0x51ed90,_0x3aa584={'zzdOe':'batch_validation_complete','dGeMo':_0x4ce7c3(0x13d)},_0x4ca55b=[];return _0x280b4a[_0x4ce7c3(0x142)]((_0x2d85a3,_0x3775fb)=>{const _0xca5f90=_0x4ce7c3,_0x103187=this['validateRow'](_0x2d85a3,_0x497e11,_0x73f8d8);_0x103187['length']>0x0&&_0x4ca55b[_0xca5f90(0x159)]({'rowIndex':_0x3775fb,'rowData':_0x2d85a3,'errors':_0x103187});}),logger['info']({'event':_0x3aa584[_0x4ce7c3(0x146)],'totalRows':_0x280b4a[_0x4ce7c3(0x13c)],'errorCount':_0x4ca55b['length']},_0x3aa584['dGeMo']),_0x4ca55b;}}module['exports']=new ImportValidator();