@restforgejs/platform 5.3.5 → 5.3.7

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 (172) hide show
  1. package/bin/restforge-designer-linux +0 -0
  2. package/bin/restforge-designer.exe +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/cli/designer.js +3 -0
  7. package/generators/cli/fast-track.js +105 -34
  8. package/generators/lib/templates/dashboard-catalog.js +1 -1
  9. package/generators/lib/templates/db-connection-env.js +1 -1
  10. package/generators/lib/templates/dbschema-catalog.js +1 -1
  11. package/generators/lib/templates/field-validation-catalog.js +1 -1
  12. package/generators/lib/templates/mysql-template.js +1 -1
  13. package/generators/lib/templates/oracle-template.js +1 -1
  14. package/generators/lib/templates/postgres-template.js +1 -1
  15. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  16. package/generators/lib/templates/sqlite-template.js +1 -1
  17. package/integrity-manifest.json +18 -18
  18. package/package.json +3 -2
  19. package/scripts/verify-integrity.js +1 -1
  20. package/server.js +1 -1
  21. package/src/components/handlers/adjust_handler.js +1 -1
  22. package/src/components/handlers/audit_handler.js +1 -1
  23. package/src/components/handlers/delete_handler.js +1 -1
  24. package/src/components/handlers/export_handler.js +1 -1
  25. package/src/components/handlers/import_handler.js +1 -1
  26. package/src/components/handlers/insert_handler.js +1 -1
  27. package/src/components/handlers/update_handler.js +1 -1
  28. package/src/components/handlers/upload_handler.js +1 -1
  29. package/src/components/handlers/workflow_handler.js +1 -1
  30. package/src/components/integrations/webhook.js +1 -1
  31. package/src/consumers/baseConsumer.js +1 -1
  32. package/src/consumers/declarativeMapper.js +1 -1
  33. package/src/consumers/handlers/apiHandler.js +1 -1
  34. package/src/consumers/handlers/consoleHandler.js +1 -1
  35. package/src/consumers/handlers/databaseHandler.js +1 -1
  36. package/src/consumers/handlers/index.js +1 -1
  37. package/src/consumers/handlers/kafkaHandler.js +1 -1
  38. package/src/consumers/index.js +1 -1
  39. package/src/consumers/messageTransformer.js +1 -1
  40. package/src/consumers/validator.js +1 -1
  41. package/src/core/db/dialect/base-dialect.js +1 -1
  42. package/src/core/db/dialect/index.js +1 -1
  43. package/src/core/db/dialect/mysql-dialect.js +1 -1
  44. package/src/core/db/dialect/oracle-dialect.js +1 -1
  45. package/src/core/db/dialect/postgres-dialect.js +1 -1
  46. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  47. package/src/core/db/flatten-helper.js +1 -1
  48. package/src/core/db/query-builder-error.js +1 -1
  49. package/src/core/db/query-builder.js +1 -1
  50. package/src/core/db/relation-helper.js +1 -1
  51. package/src/core/handlers/delete_handler.js +1 -1
  52. package/src/core/handlers/insert_handler.js +1 -1
  53. package/src/core/handlers/update_handler.js +1 -1
  54. package/src/core/models/base-model.js +1 -1
  55. package/src/core/utils/cache-manager.js +1 -1
  56. package/src/core/utils/component-engine.js +1 -1
  57. package/src/core/utils/context-builder.js +1 -1
  58. package/src/core/utils/datetime-formatter.js +1 -1
  59. package/src/core/utils/datetime-parser.js +1 -1
  60. package/src/core/utils/db.js +1 -1
  61. package/src/core/utils/logger.js +1 -1
  62. package/src/core/utils/payload-loader.js +1 -1
  63. package/src/core/utils/security-checks.js +1 -1
  64. package/src/middleware/body-options.js +1 -1
  65. package/src/middleware/cors.js +1 -1
  66. package/src/middleware/idempotency.js +1 -1
  67. package/src/middleware/rate-limiter.js +1 -1
  68. package/src/middleware/request-logger.js +1 -1
  69. package/src/middleware/security-headers.js +1 -1
  70. package/src/models/base-model-mysql.js +1 -1
  71. package/src/models/base-model-oracle.js +1 -1
  72. package/src/models/base-model-sqlite.js +1 -1
  73. package/src/models/base-model.js +1 -1
  74. package/src/pro/caching/redis-client.js +1 -1
  75. package/src/pro/caching/redis-helper.js +1 -1
  76. package/src/pro/consumers/baseConsumer.js +1 -1
  77. package/src/pro/consumers/declarativeMapper.js +1 -1
  78. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  79. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  80. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  81. package/src/pro/consumers/handlers/index.js +1 -1
  82. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  83. package/src/pro/consumers/index.js +1 -1
  84. package/src/pro/consumers/messageTransformer.js +1 -1
  85. package/src/pro/consumers/validator.js +1 -1
  86. package/src/pro/database/base-model-mysql.js +1 -1
  87. package/src/pro/database/base-model-oracle.js +1 -1
  88. package/src/pro/database/base-model-sqlite.js +1 -1
  89. package/src/pro/database/db-mysql.js +1 -1
  90. package/src/pro/database/db-oracle.js +1 -1
  91. package/src/pro/database/db-sqlite.js +1 -1
  92. package/src/pro/excel/excel-generator.js +1 -1
  93. package/src/pro/excel/excel-parser.js +1 -1
  94. package/src/pro/excel/export-service.js +1 -1
  95. package/src/pro/excel/export_handler.js +1 -1
  96. package/src/pro/excel/import-service.js +1 -1
  97. package/src/pro/excel/import-validator.js +1 -1
  98. package/src/pro/excel/import_handler.js +1 -1
  99. package/src/pro/excel/upsert-builder.js +1 -1
  100. package/src/pro/idgen/idgen-routes.js +1 -1
  101. package/src/pro/integrations/lookup-resolver.js +1 -1
  102. package/src/pro/integrations/upload-handler-v2.js +1 -1
  103. package/src/pro/integrations/upload-handler.js +1 -1
  104. package/src/pro/integrations/webhook.js +1 -1
  105. package/src/pro/locking/lock-routes.js +1 -1
  106. package/src/pro/locking/resource-lock-manager.js +1 -1
  107. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  108. package/src/pro/messaging/kafkaService.js +1 -1
  109. package/src/pro/messaging/messagehubService.js +1 -1
  110. package/src/pro/messaging/rabbitmqService.js +1 -1
  111. package/src/pro/scheduler/job-manager.js +1 -1
  112. package/src/pro/scheduler/job-routes.js +1 -1
  113. package/src/pro/scheduler/job-validator.js +1 -1
  114. package/src/pro/storage/base-storage-provider.js +1 -1
  115. package/src/pro/storage/file-metadata-helper.js +1 -1
  116. package/src/pro/storage/index.js +1 -1
  117. package/src/pro/storage/local-storage-provider.js +1 -1
  118. package/src/pro/storage/s3-storage-provider.js +1 -1
  119. package/src/pro/storage/upload-cleanup-job.js +1 -1
  120. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  121. package/src/pro/storage/upload-pending-tracker.js +1 -1
  122. package/src/pro/websocket/broadcast-helper.js +1 -1
  123. package/src/pro/websocket/index.js +1 -1
  124. package/src/pro/websocket/livesync-server.js +1 -1
  125. package/src/pro/websocket/ws-broadcaster.js +1 -1
  126. package/src/services/export-service.js +1 -1
  127. package/src/services/import-service.js +1 -1
  128. package/src/services/kafkaConsumerService.js +1 -1
  129. package/src/services/kafkaService.js +1 -1
  130. package/src/services/messagehubService.js +1 -1
  131. package/src/services/rabbitmqService.js +1 -1
  132. package/src/utils/cache-invalidation-registry.js +1 -1
  133. package/src/utils/cache-manager.js +1 -1
  134. package/src/utils/component-engine.js +1 -1
  135. package/src/utils/config-extractor.js +1 -1
  136. package/src/utils/consumerLogger.js +1 -1
  137. package/src/utils/context-builder.js +1 -1
  138. package/src/utils/dashboard-helpers.js +1 -1
  139. package/src/utils/dateHelper.js +1 -1
  140. package/src/utils/datetime-formatter.js +1 -1
  141. package/src/utils/datetime-parser.js +1 -1
  142. package/src/utils/db-bootstrap.js +1 -1
  143. package/src/utils/db-mysql.js +1 -1
  144. package/src/utils/db-oracle.js +1 -1
  145. package/src/utils/db-sqlite.js +1 -1
  146. package/src/utils/db.js +1 -1
  147. package/src/utils/demo-generator.js +1 -1
  148. package/src/utils/excel-generator.js +1 -1
  149. package/src/utils/excel-parser.js +1 -1
  150. package/src/utils/file-watcher.js +1 -1
  151. package/src/utils/id-generator.js +1 -1
  152. package/src/utils/idempotency-manager.js +1 -1
  153. package/src/utils/import-validator.js +1 -1
  154. package/src/utils/license-client.js +1 -1
  155. package/src/utils/lock-manager.js +1 -1
  156. package/src/utils/logger.js +1 -1
  157. package/src/utils/lookup-resolver.js +1 -1
  158. package/src/utils/payload-loader.js +1 -1
  159. package/src/utils/processor-response.js +1 -1
  160. package/src/utils/rabbitmq.js +1 -1
  161. package/src/utils/redis-client.js +1 -1
  162. package/src/utils/redis-helper.js +1 -1
  163. package/src/utils/request-scope.js +1 -1
  164. package/src/utils/security-checks.js +1 -1
  165. package/src/utils/service-resolver.js +1 -1
  166. package/src/utils/shutdown-coordinator.js +1 -1
  167. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  168. package/src/utils/sql-table-extractor.js +1 -1
  169. package/src/utils/trusted-keys.js +1 -1
  170. package/src/utils/upload-handler.js +1 -1
  171. package/src/utils/upsert-builder.js +1 -1
  172. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x4563d8=a0_0x30bd;(function(_0xae81e5,_0x93332f){const _0x474242=a0_0x30bd,_0x1284b0=_0xae81e5();while(!![]){try{const _0x37f690=-parseInt(_0x474242(0xe2))/0x1+parseInt(_0x474242(0xd0))/0x2+parseInt(_0x474242(0xd5))/0x3*(parseInt(_0x474242(0xdb))/0x4)+-parseInt(_0x474242(0xdd))/0x5*(parseInt(_0x474242(0xe5))/0x6)+-parseInt(_0x474242(0xd1))/0x7+-parseInt(_0x474242(0xe1))/0x8*(-parseInt(_0x474242(0xd4))/0x9)+-parseInt(_0x474242(0xcc))/0xa*(-parseInt(_0x474242(0xe3))/0xb);if(_0x37f690===_0x93332f)break;else _0x1284b0['push'](_0x1284b0['shift']());}catch(_0xe1682){_0x1284b0['push'](_0x1284b0['shift']());}}}(a0_0xff58,0xc5a3c));function a0_0xff58(){const _0x56c54e=['zxH0zw5ZAw9UCW','nJK0ntnbCxbSwuy','mty3nJy2mvPMEujHuW','uxnowuW','CMvSyxrPDMu','lYaOCMvJDxjZAxzLkq','B25dAgfUz2u','zxHWB3j0CW','nenAs3nluq','zxHPC3rZu3LUyW','nZm5odi5nufqrK1xuW','BwvZC2fNzq','teXjyxe','t1DcB2C','odHPyuXdtLy','mtqYota2mwnYv3DLqW','ndiZmtu5Cu9MzezJ','D2f0y2G','nLfitvDOra','x2rLyM91BMnL','lMPZB24','D2f0y2HLCNm','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','zgvIB3vUy2vuAw1LCG','lMPZ','Aw5JBhvKzxm','Dg9mB3DLCKnHC2u','zxH0BMfTzq','zgLYzwn0B3jPzxm','otmWt2nusNPT','y3DK','y2XVC2u','icbBv0fuq0HDifDHDgnOAw5NoIa','mtCXnJm1mKr4AMDIyq','otuYotiWnvrVBhLKsa','Cgf0Aa'];a0_0xff58=function(){return _0x56c54e;};return a0_0xff58();}const fs=require('fs'),path=require(a0_0x4563d8(0xd2));function a0_0x30bd(_0x4e44db,_0x2fe2a0){_0x4e44db=_0x4e44db-0xc2;const _0xff58f3=a0_0xff58();let _0x30bd9a=_0xff58f3[_0x4e44db];if(a0_0x30bd['YyoKTp']===undefined){var _0x5b45a8=function(_0x178823){const _0x34061a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x593318='',_0xcaecaf='';for(let _0x2f7bcf=0x0,_0x4ceaaf,_0x71bb5d,_0x2114e7=0x0;_0x71bb5d=_0x178823['charAt'](_0x2114e7++);~_0x71bb5d&&(_0x4ceaaf=_0x2f7bcf%0x4?_0x4ceaaf*0x40+_0x71bb5d:_0x71bb5d,_0x2f7bcf++%0x4)?_0x593318+=String['fromCharCode'](0xff&_0x4ceaaf>>(-0x2*_0x2f7bcf&0x6)):0x0){_0x71bb5d=_0x34061a['indexOf'](_0x71bb5d);}for(let _0x17111b=0x0,_0x535e02=_0x593318['length'];_0x17111b<_0x535e02;_0x17111b++){_0xcaecaf+='%'+('00'+_0x593318['charCodeAt'](_0x17111b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xcaecaf);};a0_0x30bd['ZUNLiG']=_0x5b45a8,a0_0x30bd['nCPGyv']={},a0_0x30bd['YyoKTp']=!![];}const _0x24ec7e=_0xff58f3[0x0],_0x116562=_0x4e44db+_0x24ec7e,_0x4fd1da=a0_0x30bd['nCPGyv'][_0x116562];return!_0x4fd1da?(_0x30bd9a=a0_0x30bd['ZUNLiG'](_0x30bd9a),a0_0x30bd['nCPGyv'][_0x116562]=_0x30bd9a):_0x30bd9a=_0x4fd1da,_0x30bd9a;}class FileWatcher{constructor(_0x58ca52={}){const _0x3f20c1=a0_0x4563d8,_0x2cb40e={'LLIaq':_0x3f20c1(0xc3)},_0x3cc80a='5|0|4|2|1|3'['split']('|');let _0x530827=0x0;while(!![]){switch(_0x3cc80a[_0x530827++]){case'0':this[_0x3f20c1(0xd3)]=_0x58ca52['extensions']||[_0x3f20c1(0xc7),_0x2cb40e[_0x3f20c1(0xdf)]];continue;case'1':this[_0x3f20c1(0xc4)]=[];continue;case'2':this[_0x3f20c1(0xd9)]=_0x58ca52[_0x3f20c1(0xd9)]||(()=>{});continue;case'3':this['debounceTimer']=null;continue;case'4':this['debounceMs']=_0x58ca52['debounceMs']||0x1f4;continue;case'5':this[_0x3f20c1(0xcb)]=_0x58ca52['directories']||[];continue;}break;}}['start'](){const _0x1dc3ba=a0_0x4563d8,_0x485052={'QsNYL':'error'};for(const _0x351daf of this[_0x1dc3ba(0xcb)]){if(!fs[_0x1dc3ba(0xdc)](_0x351daf)){console['log']('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path['relative'](process['cwd'](),_0x351daf)||_0x351daf));continue;}try{const _0x5a2088=fs[_0x1dc3ba(0xe4)](_0x351daf,{'recursive':!![]},(_0x1268f7,_0x57f5bd)=>{const _0xb03003=_0x1dc3ba;if(!_0x57f5bd)return;const _0x4be6d1=path[_0xb03003(0xca)](_0x57f5bd)[_0xb03003(0xc9)]();if(!this[_0xb03003(0xd3)][_0xb03003(0xc8)](_0x4be6d1))return;this['_debounce'](_0x57f5bd);});_0x5a2088['on'](_0x485052[_0x1dc3ba(0xd6)],_0x58e594=>{const _0x5b67d2=_0x1dc3ba;console['log']('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x5b67d2(0xd7)](process[_0x5b67d2(0xcd)](),_0x351daf)+':\x20'+_0x58e594[_0x5b67d2(0xde)]);}),this[_0x1dc3ba(0xc4)]['push'](_0x5a2088);const _0x4acebe=path['relative'](process['cwd'](),_0x351daf)||_0x351daf;console['log'](_0x1dc3ba(0xcf)+_0x4acebe+_0x1dc3ba(0xd8));}catch(_0x14620a){console['log'](_0x1dc3ba(0xc5)+path[_0x1dc3ba(0xd7)](process[_0x1dc3ba(0xcd)](),_0x351daf)+':\x20'+_0x14620a['message']);}}}['stop'](){const _0x4eca49=a0_0x4563d8;for(const _0x32bc15 of this['watchers']){try{_0x32bc15[_0x4eca49(0xce)]();}catch(_0x3a38f2){}}this[_0x4eca49(0xc4)]=[],this[_0x4eca49(0xc6)]&&(clearTimeout(this['debounceTimer']),this['debounceTimer']=null);}[a0_0x4563d8(0xc2)](_0x4501b2){const _0x2ed766=a0_0x4563d8,_0x2dadf6={'OWBog':function(_0x1084e7,_0x1b2088,_0x33941b){return _0x1084e7(_0x1b2088,_0x33941b);}};this[_0x2ed766(0xc6)]&&clearTimeout(this[_0x2ed766(0xc6)]),this['debounceTimer']=_0x2dadf6[_0x2ed766(0xe0)](setTimeout,()=>{const _0x445804=_0x2ed766;this[_0x445804(0xc6)]=null,this[_0x445804(0xd9)](_0x4501b2);},this['debounceMs']);}}module[a0_0x4563d8(0xda)]=FileWatcher;
1
+ 'use strict';const a0_0x1a54a9=a0_0x4ced;(function(_0xe00aa3,_0x101a74){const _0x47a4ef=a0_0x4ced,_0x42ede3=_0xe00aa3();while(!![]){try{const _0x3bb353=-parseInt(_0x47a4ef(0x1c4))/0x1+parseInt(_0x47a4ef(0x1c6))/0x2+parseInt(_0x47a4ef(0x1c8))/0x3*(-parseInt(_0x47a4ef(0x1be))/0x4)+parseInt(_0x47a4ef(0x1ce))/0x5*(-parseInt(_0x47a4ef(0x1b8))/0x6)+-parseInt(_0x47a4ef(0x1b3))/0x7*(parseInt(_0x47a4ef(0x1ca))/0x8)+-parseInt(_0x47a4ef(0x1bb))/0x9*(-parseInt(_0x47a4ef(0x1b9))/0xa)+parseInt(_0x47a4ef(0x1b5))/0xb;if(_0x3bb353===_0x101a74)break;else _0x42ede3['push'](_0x42ede3['shift']());}catch(_0x1b8ce4){_0x42ede3['push'](_0x42ede3['shift']());}}}(a0_0x5942,0xd908b));function a0_0x4ced(_0x2cfa6b,_0x3f7bbb){_0x2cfa6b=_0x2cfa6b-0x1b3;const _0x5942fc=a0_0x5942();let _0x4ceddd=_0x5942fc[_0x2cfa6b];if(a0_0x4ced['CjemPl']===undefined){var _0x27ab8b=function(_0x5cb1e2){const _0x46fd5a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5398de='',_0x507ffb='';for(let _0x38de39=0x0,_0x95a83b,_0xd89a7a,_0x341b6f=0x0;_0xd89a7a=_0x5cb1e2['charAt'](_0x341b6f++);~_0xd89a7a&&(_0x95a83b=_0x38de39%0x4?_0x95a83b*0x40+_0xd89a7a:_0xd89a7a,_0x38de39++%0x4)?_0x5398de+=String['fromCharCode'](0xff&_0x95a83b>>(-0x2*_0x38de39&0x6)):0x0){_0xd89a7a=_0x46fd5a['indexOf'](_0xd89a7a);}for(let _0x3e41c5=0x0,_0x407642=_0x5398de['length'];_0x3e41c5<_0x407642;_0x3e41c5++){_0x507ffb+='%'+('00'+_0x5398de['charCodeAt'](_0x3e41c5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x507ffb);};a0_0x4ced['kZeOEM']=_0x27ab8b,a0_0x4ced['FeDUGH']={},a0_0x4ced['CjemPl']=!![];}const _0x1eabcf=_0x5942fc[0x0],_0x2b903f=_0x2cfa6b+_0x1eabcf,_0x136252=a0_0x4ced['FeDUGH'][_0x2b903f];return!_0x136252?(_0x4ceddd=a0_0x4ced['kZeOEM'](_0x4ceddd),a0_0x4ced['FeDUGH'][_0x2b903f]=_0x4ceddd):_0x4ceddd=_0x136252,_0x4ceddd;}const fs=require('fs'),path=require(a0_0x1a54a9(0x1d0));class FileWatcher{constructor(_0x2c55dc={}){const _0x18813f=a0_0x1a54a9,_0x26112a={'oVrAB':'.js','DIazH':'.json'};this['directories']=_0x2c55dc[_0x18813f(0x1d2)]||[],this['extensions']=_0x2c55dc[_0x18813f(0x1c5)]||[_0x26112a[_0x18813f(0x1c9)],_0x26112a['DIazH']],this['debounceMs']=_0x2c55dc['debounceMs']||0x1f4,this[_0x18813f(0x1c3)]=_0x2c55dc['onChange']||(()=>{}),this['watchers']=[],this['debounceTimer']=null;}['start'](){const _0x9b5aec=a0_0x1a54a9,_0x3db6c1={'eypfa':'error'};for(const _0x3a0b6b of this[_0x9b5aec(0x1d2)]){if(!fs[_0x9b5aec(0x1c0)](_0x3a0b6b)){console['log'](_0x9b5aec(0x1b6)+(path['relative'](process['cwd'](),_0x3a0b6b)||_0x3a0b6b));continue;}try{const _0x489ad5=fs[_0x9b5aec(0x1cb)](_0x3a0b6b,{'recursive':!![]},(_0x482d22,_0x58f139)=>{const _0x48083d=_0x9b5aec;if(!_0x58f139)return;const _0x474b18=path['extname'](_0x58f139)[_0x48083d(0x1bd)]();if(!this['extensions'][_0x48083d(0x1c1)](_0x474b18))return;this[_0x48083d(0x1d3)](_0x58f139);});_0x489ad5['on'](_0x3db6c1['eypfa'],_0x3d60ee=>{const _0x4ce1bb=_0x9b5aec;console[_0x4ce1bb(0x1ba)]('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path['relative'](process['cwd'](),_0x3a0b6b)+':\x20'+_0x3d60ee[_0x4ce1bb(0x1b4)]);}),this[_0x9b5aec(0x1cf)][_0x9b5aec(0x1bc)](_0x489ad5);const _0x5b2b90=path[_0x9b5aec(0x1b7)](process['cwd'](),_0x3a0b6b)||_0x3a0b6b;console['log']('\x20\x20[WATCH]\x20Watching:\x20'+_0x5b2b90+_0x9b5aec(0x1cc));}catch(_0xa7252a){console['log']('\x20\x20[WATCH]\x20Warning:\x20Failed\x20to\x20setup\x20watcher\x20for\x20'+path['relative'](process['cwd'](),_0x3a0b6b)+':\x20'+_0xa7252a[_0x9b5aec(0x1b4)]);}}}['stop'](){const _0x324fb7=a0_0x1a54a9;for(const _0xdf2a95 of this['watchers']){try{_0xdf2a95[_0x324fb7(0x1c7)]();}catch(_0x414968){}}this[_0x324fb7(0x1cf)]=[],this[_0x324fb7(0x1c2)]&&(clearTimeout(this[_0x324fb7(0x1c2)]),this[_0x324fb7(0x1c2)]=null);}[a0_0x1a54a9(0x1d3)](_0x58076b){const _0xe0198d=a0_0x1a54a9,_0x5b8d9e={'DrMzC':function(_0x7b1fc2,_0x48e04e,_0x313784){return _0x7b1fc2(_0x48e04e,_0x313784);}};this[_0xe0198d(0x1c2)]&&clearTimeout(this[_0xe0198d(0x1c2)]),this[_0xe0198d(0x1c2)]=_0x5b8d9e[_0xe0198d(0x1d1)](setTimeout,()=>{const _0x5f4b59=_0xe0198d;this['debounceTimer']=null,this[_0x5f4b59(0x1c3)](_0x58076b);},this[_0xe0198d(0x1cd)]);}}module[a0_0x1a54a9(0x1bf)]=FileWatcher;function a0_0x5942(){const _0x1b6093=['rhjnEKm','zgLYzwn0B3jPzxm','x2rLyM91BMnL','n3fHBKzNsa','BwvZC2fNzq','mJy3ndu3ntjJu0L3BvG','icbBv0fuq0HDifDHCM5PBMC6ierPCMvJDg9YEsbUB3qGzM91BMqSihnRAxbWAw5NoIa','CMvSyxrPDMu','ndyZmtK4mKLgqxLOsq','mJbPwMXTu3i','Bg9N','mJiXmtiXAwHTzKnc','ChvZAa','Dg9mB3DLCKnHC2u','ndbduMviwLO','zxHWB3j0CW','zxHPC3rZu3LUyW','Aw5JBhvKzxm','zgvIB3vUy2vuAw1LCG','B25dAgfUz2u','odG2mdyXr2DTrgLb','zxH0zw5ZAw9UCW','mJm1mJm2og1eCfbHqG','y2XVC2u','mZe4mZq1DhnwtfDw','B1zYqui','mZG4nJaWAvf6Cufe','D2f0y2G','lYaOCMvJDxjZAxzLkq','zgvIB3vUy2vnCW','nxrRChfSsW','D2f0y2HLCNm','Cgf0Aa'];a0_0x5942=function(){return _0x1b6093;};return a0_0x5942();}
@@ -1 +1 @@
1
- 'use strict';function a0_0x255c(){const _0xbce950=['x2rLzMf1BhrdB2rLugf0DgvYBG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','CMvWzwf0','surhru5Fsu5wquXjrf9qqvrurvjo','EMnHCMq','Dg9mB3DLCKnHC2u','x3jLC2vYDMvnyxHuveW','BNnyufG','yxDJrhO','cMXVy2fSihvUCgSGpsb1BNbHy2SGB3iGDgfIBguUDw5WywnRcGOTlsbtDgvWide6igXHENKGCMvHCcbLEhbPCMvKihjLC2vYDMf0Aw9UCYaOy2fWifjfu0vsvKvFuKvbuf9cqvrdscKkBg9JywWGCMvHCgvKid0GmaPSB2nHBcbUB3DnCYa9iefsr1zBn10kBg9JywWGCNn2uhjLzML4id0GqvjhvLS4xqPSB2nHBcbLEhbPCMvKid0GCMvKAxmUy2fSBcGNwLjbtKDfqLLtq09srsCSieTfwvnBm10SicCTAw5MjYWGjYGNic4Uig5VD01ZlcaNteLnsvqNlcaWlca2ncKkzM9YigKGpsaXlcaJzxHWAxjLzcbKBWOGigXVy2fSigv4CfrVA2vUid0GzxHWAxjLzfTPxqOGigXVy2fSigv4CfjZDKTLEsa9ihjZDLbYzwzPEcaUlIbLEhbuB2TLBGOGigXVy2fSigv4CenVDw50zxiGpsbYzwrPCY5JywXSkcDir0vujYWGzxHWuNn2s2v5lcaNy291BNrLCICPcIaGAwyGzxHWq291BNrLCIb0AgvUcIaGicbYzwrPCY5JywXSkcDAqurejYWGs0vzu1SYxsWGzxHWq291BNrLCIWGzxHWq291BNrLCIKkicbLBMqkicbYzwrPCY5JywXSkcDeruWNlcbLEhbsC3zlzxKPcIaGCMvKAxmUy2fSBcGNwLjftsCSieTfwvnBm10Sigv4CfrVA2vUkqOGihjLyxbLzca9ihjLyxbLzcaRidekzw5KcGOTlsbtDgvWidi6igfSBg9JyxrLignVDw50zxiGkfPqt1bnsu4GCMv1C2uGyxrHDsbjtKnsihnLCsKkBg9JywWGy291BNrLCKLUDaPSB2nHBcbPC1jLDxnLzca9idakAwyGqvjhvLSXxsa9psaNmsCGDgHLBGOGigXVy2fSihiGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCIa+idaGDgHLBGOGicaGy291BNrLCKLUDca9ihrVBNvTyMvYkhjBmv0PcIaGicbPC1jLDxnLzca9idekicbLBMqkzw5KcMLMig5VDcbJB3vUDgvYsw50ihrOzw4kicbJB3vUDgvYsw50id0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcIaGBg9JywWGy3r0Bca9ihrVBNvTyMvYkefsr1zBmL0PcIaGAwyGy3r0Bca+idaGyw5KignVDw50zxjjBNqGpt0Gmsb0AgvUcIaGicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcbJDhrSkqOGigvUzaPLBMqkcI0Tifn0zxaGmZOGD3jPDguGCMvZzxj2yxrPB24GAgfZAcaRigLUzgv4icSGvfrmcMXVy2fSihjZDKTLEsa9iefsr1zBnf0kBg9JywWGCNn2vhrStxmGpsb0B251BwjLCIHbuKDwwZvDkqPSB2nHBcbLEhbPCMvZqxrnCYa9ihrVBNvTyMvYkefsr1zBnL0PcMXVy2fSig5HCMDZid0Gi0fsr1ykBg9JywWGzMLLBgrZid0GE30kzM9YigKGpsa5lcbUyxjNCYbKBWOGigzPzwXKC1SJzMLLBgrZicSGmv0GpsbbuKDww2LDcMvUzaPYzwrPCY5JywXSkcDiu0vujYWGCNn2s2v5lcaNy291BNrLCICSignVDw50zxjjBNqSicDPC1jLDxnLzcCSigLZuMv1C2vKlcb1BNbRkgzPzwXKCYKPcNjLzgLZlMnHBgWOj1bfwfbjuKuNlcbYC3zlzxKSihjZDLr0Be1ZkqPYzwrPCY5JywXSkcDAqurejYWGs0vzu1SZxsWGzxHWAxjLC0f0txmSiefsr1zBm10PcNjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sig1HDgGUzMXVB3iOCNn2vhrStxmGlYaXmdaWksaRidyWkqOkCMv0DxjUihSGy291BNrLCKLUDcWGAxnszxvZzwqSihjLyxbLzcb9cG','x2j1AwXKtwv0yuTLEq','x3zHBgLKyxrLtwf4uMv0CNK','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','DMfSDwu','surhru5Fsu5wquXjrf9gt1jnqvq','mtuZndi2mg5ZAgXfzG','Bwv0ytO','CMvZzxj2zv9LEhrLBMq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','x2j1AwXKuMvZzxj2yxrPB25lzxK','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','surhru5Fsu5wquXjrf9uveW','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','CMvZzxj2zv9JB25MAxjT','icH0B2TLBJ0','AxnZDwvKoG','x2vUC3vYzuLUAxrPywXPEMvK','surhru5Fsu5wquXjrf9quKvgsvG','surhru5Fsu5wquXjrf9trvbbuKfut1i','x3bHCNnLtNvTyMvY','AMX5z2K','BNvTrgLNAxrZ','ywXS','CMvSzwfZzu51BwjLCG','DhrStxm','C3bSAxq','x3vWzgf0zu1LDge','z2v0q2XPzw50','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','x2DLBMvYyxrLrNjVBvbHDhrLCM4','CMjJufm','zgvS','AgfZ','tgfvDLe','BeXKrfK','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','suqGr2vUzxjHDg9YihjLC2v0oIa','DgvZDa','x3zHBgLKyxrLugf0DgvYBG','mta0ntCZmZzprvnct2i','mdeYmZq1nJC4owfIy2rLzG','x2zVCM1HDe51BwjLCG','zgvMyxvSDe1HEfjLDhj5','x2fSBg93uMvZzxq','tNvXBg0','v2Tduxq','ChvZAa','BwvZC2fNzq','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','Bwf4uMv0CNK','z2v0rNvSBfLLyxi','vNHLvLe','ExL5Eq','AwrLBxbVDgvUy3LlzxK','x2LUAxrPywXPEMvK','x3bHzdi','surhru5Fsu5wquXjrf9esuDjvfm','DhrS','AwrNzw5FCMvZzxq','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','x2rLzMf1BhrnyxHszxrYEq','mti5mdqXnvjrveLSBG','nta3ntG0zeDbAhbQ','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','BgDKBKu','twvRuKK','x2vUywjSzwq','x3zHBgLKyxrLuMvZzxj2zvruta','zNrsEM4','Dgv4Da','zM9YBwf0','x2j1AwXKrM9YBwf0s2v5','zgLNAxrZ','AenKCuq','zw5HyMXLza','Evb3rMG','wMLjAg4','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','mtK4otvOvNfYy3C','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','x2j1AwXKsxnZDwvKs2v5','qLrMBeq','CNn2swr4s2v5','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','x3n0B3jLswrLBunHy2HL','ywr6vuO','zgv0ywLSCW','ignOyxjZ','tLnjuNG','AxnjBNrLz2vY','m0PQt1r3qW','ChjLzML4','Cw1jEgm','lcbNB3qG','Bwv0yq','CgfYC2u','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','ignOyxjZicHNB3qGBgvUz3rOoIa','vhfktw8','lI9SB2DNzxi','surhru5Fsurftv9uveW','zM9YBwf0s2v5','zNDpsgW','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','zxzHBa','yNPrvxe','DxzKzue','C3rYAw5N','Bw9Kzq','x2LKzw1uveW','x2LUAxrdB25MAwC','BgHethu','DvbOCxi','tgXfvMe','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','vxbuwem','BNvTyMvY','surhru5Fsu5wquXjrf9ovu1crvi','uvn0qNq','CMvZzxj2zu1HEfruta','surhru5FreLtqujmruq','x3zHBgLKyxrLuMvZB3vYy2u','EhvQuMe','x2j1AwXKswrLBuTLEq','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','x2DLDenVDw50zxjuveW','Eg9Uywe','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','quvKDuG','CgfKu3rHCNq','x2rLzMf1BhrqAw5eAwDPDhm','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','vw5RBM93BIbTB2rLoIa','C2fKza','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','rw1vAfm','sxLUruK','rvPOuMO','CMfUzg9Tsw50','zxHWAxjLC0f0','zgvMyxvSDenVzgvqyxr0zxjU','q291BNrLCIbVDMvYzMXVDZOG','zuTNsee','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','Aw5MBW','z2v0rgf0zq','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','yNvPBgrezxrLCM1PBMLZDgLJs2v5','CMvZzxj2zu51BwjLCG','whHWuhO','zw52','CMvZzxq','y2L6te8','ze9nrhm','surhru5Fsu5wquXjrf9srvnpvvjdrq','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','icHNB3q6ia','x3jLC2vYDMvezwzHDwX0vfrm','mJGXndu0sgLbrMjd','CMv1C2u6','wuLotxa','D2LUBMvYuMvZDwX0','twDyte8','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','y291BNrLCG','vw5RBM93BIbMB3jTyxq6ia','x2rLzMf1BhrtzxjPywXqyxr0zxjU','x2j1AwXKuMv1C2vlzxK','B3fXwKe','zxHWB3j0CW','CMvZB3vYy2u','surhru5FquXmt1DFuKvtrvq','CMfUzg9T','z2v0','C3rYAw5NAwz5','surhru5Frevgqvvmvf9nqvHFuKvuuLK','zu90wwy','wfHywc1ywfHylvHywfGTwfHywa','ExL5Ew1T','uuHLrK4','C2v0','BM93','A2v5uhjLzML4','AwrNzw4','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','CujXs1y','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','wKTvEuy','x2j1AwXKqwn0AxzLs2v5','x3n0B3jLswrLBunHy2HLtLG','EvDQvgG','Ag1Nzxq','CMfUzg9Tvvvjra','ywXSB3DszxnLDa','uejPzuW','C2vWyxjHDg9Y','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','CMvZzxj2zv9Jyw5JzwW','svHRB2i','tvD2D3i','surhru5Fsu5wquXjrf9nt0rf','z2rWDvO','BgvUz3rO','igrPz2L0CYaOz290oIa','ANzftgK','ihbHCNrZkq','CMvSzwfZzwrbDa','rxvfDxG','C2vXoG','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','surhru5Fru5bqKXfra','A2v5CW','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','AxnZDwvK','EhPSzgy','AxnfBMfIBgvK','vfrkz0O','D2fYBG','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','twv0ysb1CgrHDguGzxjYB3i','Dg9ju09tDhjPBMC','rhb3sK8','vKrwCM4','x3jLDhjPzxzLswrLBunHy2HL','zgvMyxvSDfbPBKrPz2L0CW','yM5IyvC','uLLxEfm','zw5ZDxjLvw5PCxvL','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','lcbLEhbLy3rLzca','qxn4q0e','suqGr2vUzxjHDg9Yig51BwjLCJOG','u0novhO','rwzTugy','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','x2j1AwXKu2vXs2v5','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','y29Kzq','rhzgz3e','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','ywvjtNC','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','C3rVCMvK','vhDiDK4','ihnLy29UzhmGkgDVDdOG','rNnyuLy','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','wengB0m','mJi4nZu3mLjmDeDiDG','ywn0AxzLoG','Bwf0y2G','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','y291BNrLCKLUDa','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','vLH0vLm','x2nVDw50zxjuveXnyxa','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','surhru5Fsu5wquXjrf9ut0TftG','AwrLBvruta','CMvZzxj2zurLzMf1BhruveW','DMjyDxu','x3rLEhq','swrhzw5LCMf0B3jfCNjVCG','Cfnir3e','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','C2v0zxG','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia'];a0_0x255c=function(){return _0xbce950;};return a0_0x255c();}function a0_0xf0a4(_0x47f878,_0x3a5980){_0x47f878=_0x47f878-0xcf;const _0x255c1b=a0_0x255c();let _0xf0a4a0=_0x255c1b[_0x47f878];if(a0_0xf0a4['UxOMki']===undefined){var _0x12f774=function(_0x383656){const _0x18fbab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x458745='',_0x40a0a8='';for(let _0x4e4f23=0x0,_0x17f209,_0x4d3281,_0x2aa737=0x0;_0x4d3281=_0x383656['charAt'](_0x2aa737++);~_0x4d3281&&(_0x17f209=_0x4e4f23%0x4?_0x17f209*0x40+_0x4d3281:_0x4d3281,_0x4e4f23++%0x4)?_0x458745+=String['fromCharCode'](0xff&_0x17f209>>(-0x2*_0x4e4f23&0x6)):0x0){_0x4d3281=_0x18fbab['indexOf'](_0x4d3281);}for(let _0x462f1a=0x0,_0x4f2a2d=_0x458745['length'];_0x462f1a<_0x4f2a2d;_0x462f1a++){_0x40a0a8+='%'+('00'+_0x458745['charCodeAt'](_0x462f1a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40a0a8);};a0_0xf0a4['VRDaip']=_0x12f774,a0_0xf0a4['juFKhu']={},a0_0xf0a4['UxOMki']=!![];}const _0x39b492=_0x255c1b[0x0],_0x532e77=_0x47f878+_0x39b492,_0x24cc72=a0_0xf0a4['juFKhu'][_0x532e77];return!_0x24cc72?(_0xf0a4a0=a0_0xf0a4['VRDaip'](_0xf0a4a0),a0_0xf0a4['juFKhu'][_0x532e77]=_0xf0a4a0):_0xf0a4a0=_0x24cc72,_0xf0a4a0;}const a0_0x1603ac=a0_0xf0a4;(function(_0x34702a,_0x4bf70a){const _0x11daf4=a0_0xf0a4,_0xc79523=_0x34702a();while(!![]){try{const _0x5d505b=-parseInt(_0x11daf4(0x19b))/0x1+parseInt(_0x11daf4(0xd0))/0x2*(-parseInt(_0x11daf4(0x1a7))/0x3)+-parseInt(_0x11daf4(0x18a))/0x4+-parseInt(_0x11daf4(0x189))/0x5+-parseInt(_0x11daf4(0x150))/0x6+-parseInt(_0x11daf4(0x12d))/0x7+parseInt(_0x11daf4(0x172))/0x8;if(_0x5d505b===_0x4bf70a)break;else _0xc79523['push'](_0xc79523['shift']());}catch(_0x272cbd){_0xc79523['push'](_0xc79523['shift']());}}}(a0_0x255c,0x2bb74));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require(a0_0x1603ac(0x1b0)),idempotencyManager=require(a0_0x1603ac(0x118)),ALLOWED_FORMATS=new Set(['text',a0_0x1603ac(0x17f),'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_0x1603ac(0x1df),CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER='0123456789ABCDEF',CHARSET_HEX_LOWER=a0_0x1603ac(0x173),PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER=a0_0x1603ac(0x1c9),LUA_RELEASE_NUMBER=a0_0x1603ac(0x1a0),LUA_RESERVE_NUMBER=a0_0x1603ac(0x14a),LUA_CONFIRM_RESERVATION=a0_0x1603ac(0x153),LUA_CANCEL_RESERVATION=a0_0x1603ac(0x12b),LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';class IdGeneratorError extends Error{constructor(_0x4128a1,_0x3cce3a,_0x88af12=null){const _0xa42c=a0_0x1603ac,_0x48644d={'BTflD':function(_0x3e090e,_0x204b3f){return _0x3e090e||_0x204b3f;},'MedoP':'IdGeneratorError'};super(_0x48644d[_0xa42c(0x19e)](_0x3cce3a,_0x4128a1)),this['name']=_0x48644d['MedoP'],this[_0xa42c(0x121)]=_0x4128a1,this[_0xa42c(0x1a3)]=_0x88af12;}}class IdGenerator{constructor(){const _0x17127e=a0_0x1603ac;this[_0x17127e(0x181)]=![],this['_enabled']=null,this['_keyPrefix']=null,this['_idemTTL']=null,this['_allowReset']=null,this[_0x17127e(0x188)]=null,this[_0x17127e(0x1cf)]=null,this['_defaultSerialPattern']=null,this[_0x17127e(0x141)]=null,this['_counterTTLMap']=null,this['_reserveDefaultTTL']=null,this[_0x17127e(0x147)]=null;}[a0_0x1603ac(0x1bb)](){const _0x14fbe5=a0_0x1603ac,_0x398691={'QHeFN':'rf:idgen:','jlygi':function(_0x1161a3,_0x3cc6f2){return _0x1161a3===_0x3cc6f2;},'zUMkC':'true','UpTXC':function(_0x31aa14,_0x417166,_0x33028e){return _0x31aa14(_0x417166,_0x33028e);},'NPclO':'idgen_config_init'};this['_keyPrefix']=_0x398691[_0x14fbe5(0xe5)],this['_enabled']=_0x398691[_0x14fbe5(0x15f)](process[_0x14fbe5(0x1e3)][_0x14fbe5(0x105)],'true'),this['_idemTTL']=parseInt(process[_0x14fbe5(0x1e3)][_0x14fbe5(0x1b1)],0xa)||0x258,this[_0x14fbe5(0x176)]=_0x398691[_0x14fbe5(0x15f)](process[_0x14fbe5(0x1e3)][_0x14fbe5(0xdd)],_0x398691['zUMkC']),this[_0x14fbe5(0x188)]=parseInt(process['env'][_0x14fbe5(0xe1)],0xa)||0xa,this[_0x14fbe5(0x1cf)]=parseInt(process[_0x14fbe5(0x1e3)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this['_defaultSerialPattern']=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x14fbe5(0xe3),this['_defaultCodePattern']=process[_0x14fbe5(0x1e3)]['IDGEN_DEFAULT_CODE_PATTERN']||'9999-9999',this['_counterTTLMap']={'yyyymm':parseInt(process[_0x14fbe5(0x1e3)]['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':_0x398691['UpTXC'](parseInt,process[_0x14fbe5(0x1e3)]['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this[_0x14fbe5(0xcf)]=_0x398691['UpTXC'](parseInt,process['env']['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this['_reserveMaxTTL']=_0x398691[_0x14fbe5(0x1c0)](parseInt,process[_0x14fbe5(0x1e3)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this[_0x14fbe5(0x181)]=!![],logger[_0x14fbe5(0x1dd)]({'event':_0x398691['NPclO'],'enabled':this[_0x14fbe5(0x18e)],'idemTTL':this[_0x14fbe5(0x1ba)],'allowReset':this['_allowReset'],'defaultMaxRetry':this[_0x14fbe5(0x188)],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this[_0x14fbe5(0xcf)],'reserveMaxTTL':this[_0x14fbe5(0x147)]},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this[_0x14fbe5(0x18e)]);}['_ensureInitialized'](){const _0x5c5ac3=a0_0x1603ac;if(!this[_0x5c5ac3(0x181)])this[_0x5c5ac3(0x1bb)]();}get[a0_0x1603ac(0x196)](){const _0x25f969=a0_0x1603ac;return this['_ensureInitialized'](),this[_0x25f969(0x18e)];}get['keyPrefix'](){const _0x58f43f=a0_0x1603ac;return this[_0x58f43f(0x15b)](),this['_keyPrefix'];}get[a0_0x1603ac(0x137)](){const _0x229af4=a0_0x1603ac;return this['_ensureInitialized'](),this[_0x229af4(0x1ba)];}get[a0_0x1603ac(0xf4)](){const _0xf606c7=a0_0x1603ac;return this[_0xf606c7(0x15b)](),this['_allowReset'];}get[a0_0x1603ac(0x175)](){const _0x3ac6c1=a0_0x1603ac;return this['_ensureInitialized'](),this[_0x3ac6c1(0x188)];}get['defaultPinDigits'](){return this['_ensureInitialized'](),this['_defaultPinDigits'];}get['defaultSerialPattern'](){const _0x32c796=a0_0x1603ac;return this['_ensureInitialized'](),this[_0x32c796(0xd8)];}get[a0_0x1603ac(0x1d9)](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get[a0_0x1603ac(0x138)](){const _0x52c007=a0_0x1603ac;return this[_0x52c007(0x15b)](),this[_0x52c007(0xcf)];}get['reserveMaxTTL'](){return this['_ensureInitialized'](),this['_reserveMaxTTL'];}[a0_0x1603ac(0x10b)](){return this['enabled'];}['_validateResource'](_0x52c5d8){const _0x22b59e=a0_0x1603ac;if(typeof _0x52c5d8!==_0x22b59e(0x1b8)||!RESOURCE_REGEX[_0x22b59e(0x170)](_0x52c5d8))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+_0x22b59e(0x1e9)+JSON[_0x22b59e(0xe0)](_0x52c5d8)+')');}[a0_0x1603ac(0x14d)](_0x1762ce){const _0x1627da=a0_0x1603ac,_0x34cd0c={'WkCQt':'string','XxpPz':'IDGEN_INVALID_NUM_DIGITS','FQDom':function(_0x23a7fd,_0x204902){return _0x23a7fd==_0x204902;},'VxeVQ':function(_0x16a1fa,_0x53a697){return _0x16a1fa!==_0x53a697;},'hMkOS':function(_0x2c7db2,_0x404a63){return _0x2c7db2===_0x404a63;}},{resource:_0x589f4a,format:_0x4f4d39,prefix:_0x52b310,separator:_0x2f347d,numDigits:_0x56559a,reuseDelete:_0x44110a}=_0x1762ce;this[_0x1627da(0x1c6)](_0x589f4a);const _0x3c516e=typeof _0x4f4d39===_0x34cd0c['WkCQt']?_0x4f4d39['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x3c516e))throw new IdGeneratorError(_0x1627da(0x14f),'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x4f4d39+')');if(!Number[_0x1627da(0x1a6)](_0x56559a)||_0x56559a<MIN_NUM_DIGITS||_0x56559a>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x34cd0c[_0x1627da(0x1e2)],_0x1627da(0x125)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x56559a+')');const _0x5943ea=_0x34cd0c['FQDom'](_0x52b310,null)?'':_0x52b310;if(typeof _0x5943ea!==_0x34cd0c[_0x1627da(0x178)]||!PREFIX_REGEX[_0x1627da(0x170)](_0x5943ea))throw new IdGeneratorError(_0x1627da(0x15c),_0x1627da(0xd5)+PREFIX_REGEX+_0x1627da(0x1e9)+JSON['stringify'](_0x52b310)+')');const _0x4986f6=_0x2f347d==null?'':_0x2f347d;if(_0x34cd0c[_0x1627da(0x17e)](typeof _0x4986f6,_0x34cd0c['WkCQt'])||_0x4986f6['length']>0x3||SEPARATOR_FORBIDDEN[_0x1627da(0x170)](_0x4986f6))throw new IdGeneratorError(_0x1627da(0x15d),_0x1627da(0x18b)+JSON['stringify'](_0x2f347d)+')');if(_0x44110a!=null&&typeof _0x44110a!=='boolean')throw new IdGeneratorError(_0x1627da(0x1e7),_0x1627da(0x140)+typeof _0x44110a+')');return{'resource':_0x589f4a,'format':_0x3c516e,'prefix':_0x5943ea,'separator':_0x4986f6,'numDigits':_0x56559a,'reuseDelete':_0x34cd0c['hMkOS'](_0x44110a,!![])};}[a0_0x1603ac(0x171)](_0x52e323){const _0x3f084f=a0_0x1603ac,_0x504c4c={'nsXPX':function(_0xffeefa,_0x1b88ca){return _0xffeefa!==_0x1b88ca;},'IXkob':function(_0x21e046,_0x5c6a79){return _0x21e046===_0x5c6a79;},'Ihbba':function(_0x213894,_0x17156d){return _0x213894>_0x17156d;},'iZwHp':'IDGEN_INVALID_PATTERN'};if(_0x504c4c[_0x3f084f(0x148)](typeof _0x52e323,'string')||_0x504c4c[_0x3f084f(0xf9)](_0x52e323[_0x3f084f(0xfd)],0x0)||_0x504c4c['Ihbba'](_0x52e323['length'],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0x504c4c['iZwHp'],'Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+_0x3f084f(0x1ae)+(_0x52e323&&_0x52e323['length'])+')');let _0x3ddedc=![];for(const _0x54ebf5 of _0x52e323){if(PLACEHOLDER_MAP[_0x54ebf5]){_0x3ddedc=!![];break;}}if(!_0x3ddedc)throw new IdGeneratorError(_0x3f084f(0x144),'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}['_validateTTL'](_0x4e3db8){const _0x553352=a0_0x1603ac,_0x13ec43={'xujRa':function(_0x55bdc6,_0x149bf3){return _0x55bdc6==_0x149bf3;},'ZwfmJ':function(_0x1a0579,_0x1b8a19){return _0x1a0579>_0x1b8a19;}};if(_0x13ec43[_0x553352(0x1c7)](_0x4e3db8,null))return undefined;if(!Number[_0x553352(0x1a6)](_0x4e3db8)||_0x4e3db8<0x1||_0x13ec43['ZwfmJ'](_0x4e3db8,MAX_TTL))throw new IdGeneratorError(_0x553352(0x156),_0x553352(0x11e)+MAX_TTL+_0x553352(0x129)+_0x4e3db8+')');return _0x4e3db8;}[a0_0x1603ac(0x14c)](_0x48feb9){const _0x5ce7f6=a0_0x1603ac,_0x1ce0ad={'TwHvN':function(_0x2586c0,_0x5c852d){return _0x2586c0==_0x5c852d;},'iaJXp':function(_0x296b49,_0x11a6d8){return _0x296b49<_0x11a6d8;}};if(_0x1ce0ad[_0x5ce7f6(0x128)](_0x48feb9,null))return this['defaultMaxRetry'];if(!Number['isInteger'](_0x48feb9)||_0x1ce0ad['iaJXp'](_0x48feb9,0x1)||_0x48feb9>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x5ce7f6(0x126),_0x5ce7f6(0x1d0)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x48feb9+')');return _0x48feb9;}['_validateIdempotencyKey'](_0x52a8d1){const _0x46eaa8=a0_0x1603ac,_0x599d80={'HgUMH':'string','tCkVN':function(_0x161e63,_0x141c7e){return _0x161e63===_0x141c7e;}};if(_0x52a8d1==null)return undefined;if(typeof _0x52a8d1!==_0x599d80['HgUMH']||_0x599d80['tCkVN'](_0x52a8d1[_0x46eaa8(0xfd)],0x0)||_0x52a8d1['length']>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_RESOURCE',_0x46eaa8(0x19c)+MAX_IDEMPOTENCY_KEY_LENGTH+_0x46eaa8(0x1a4));return _0x52a8d1;}[a0_0x1603ac(0x18f)](_0x45c056){const _0x46bd6a=a0_0x1603ac,_0xca531b={'vbXuu':function(_0x448c17,_0x12fec3){return _0x448c17==_0x12fec3;}};if(_0xca531b[_0x46bd6a(0x139)](_0x45c056,null))return this[_0x46bd6a(0x138)];if(!Number['isInteger'](_0x45c056)||_0x45c056<MIN_RESERVE_TTL||_0x45c056>this[_0x46bd6a(0x1c4)])throw new IdGeneratorError('IDGEN_INVALID_RESERVE_TTL','Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x46bd6a(0x129)+_0x45c056+')');return _0x45c056;}['_validateReservationToken'](_0x27018e){const _0x4f0a0b=a0_0x1603ac;if(typeof _0x27018e!=='string'||!RESERVATION_TOKEN_REGEX[_0x4f0a0b(0x170)](_0x27018e))throw new IdGeneratorError(_0x4f0a0b(0x136),'Invalid\x20reservation\x20token:\x20must\x20be\x20a\x20valid\x20UUID\x20format\x20(got:\x20'+JSON['stringify'](_0x27018e)+')');return _0x27018e;}[a0_0x1603ac(0x182)](_0xa15dff){const _0x4fc384=a0_0x1603ac;return String(_0xa15dff)[_0x4fc384(0x1ce)](0x2,'0');}[a0_0x1603ac(0x193)](_0x388cae,_0x4c65f6,_0x1b2f26=new Date()){const _0x4e6e0a=a0_0x1603ac,_0x8fae9e={'dOMDs':function(_0x2ef27c,_0xa6b99b){return _0x2ef27c||_0xa6b99b;},'IynEI':_0x4e6e0a(0x191),'ZiIhn':'yyyy'},_0x4e40f2=_0x1b2f26[_0x4e6e0a(0x17d)](),_0x685adb=this[_0x4e6e0a(0x182)](_0x1b2f26['getMonth']()+0x1),_0x1e9f81=this[_0x4e6e0a(0x182)](_0x1b2f26[_0x4e6e0a(0x1de)]()),_0x470639=_0x8fae9e[_0x4e6e0a(0x1e6)](_0x4c65f6,'_');let _0x9e2b6a,_0x3ef6eb='';switch(_0x388cae){case _0x8fae9e[_0x4e6e0a(0x1d5)]:_0x9e2b6a=_0x470639+_0x4e6e0a(0x13a);break;case _0x8fae9e[_0x4e6e0a(0x198)]:_0x3ef6eb=''+_0x4e40f2,_0x9e2b6a=_0x470639+'_yyyy_'+_0x3ef6eb;break;case _0x4e6e0a(0xe4):_0x3ef6eb=''+_0x4e40f2+_0x685adb,_0x9e2b6a=_0x470639+'_yyyymm_'+_0x3ef6eb;break;case'yyyymmdd':_0x3ef6eb=''+_0x4e40f2+_0x685adb+_0x1e9f81,_0x9e2b6a=_0x470639+'_yyyymmdd_'+_0x3ef6eb;break;default:throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x4e6e0a(0xd7)+_0x388cae);}return{'formatKey':_0x9e2b6a,'datePrefix':_0x3ef6eb};}['_buildSeqKey'](_0x56fe47,_0x86ed9a){const _0x2c3fe9=a0_0x1603ac;return this[_0x2c3fe9(0xe8)]+_0x2c3fe9(0x103)+_0x56fe47+':'+_0x86ed9a;}['_buildReuseKey'](_0x5976bf,_0x2783a4){const _0x1bf2cc=a0_0x1603ac;return this['keyPrefix']+_0x1bf2cc(0xd1)+_0x5976bf+':'+_0x2783a4;}[a0_0x1603ac(0x14b)](_0xea66b9,_0x1d6adc){const _0x2289ab=a0_0x1603ac;return this[_0x2289ab(0xe8)]+_0x2289ab(0x151)+_0xea66b9+':'+_0x1d6adc;}['_buildIssuedKey'](_0x271fdb){const _0x32eee5=a0_0x1603ac;return this[_0x32eee5(0xe8)]+_0x32eee5(0x15a)+_0x271fdb;}['_buildActiveKey'](_0x3f48af,_0x18451a){const _0x31e4ba=a0_0x1603ac;return this[_0x31e4ba(0xe8)]+_0x31e4ba(0x12e)+_0x3f48af+':'+_0x18451a;}[a0_0x1603ac(0x154)](_0x5b9e15){const _0x2b0d8e=a0_0x1603ac;return this[_0x2b0d8e(0xe8)]+'rsv:'+_0x5b9e15;}['_buildReservationIndexKey'](_0x390047,_0x1cef00){return this['keyPrefix']+'rsv_idx:'+_0x390047+':'+_0x1cef00;}[a0_0x1603ac(0xf7)](){return this['keyPrefix']+'rsv:';}['_buildIdemKey'](_0x27a2fd,_0x18c6f6,_0x49183b,_0x27d6e8){const _0x2d1edd=a0_0x1603ac,_0x39e4ff={'qmIxc':_0x2d1edd(0xe9)};if(_0x49183b)return idempotencyManager['buildDeterministicKey'](_0x39e4ff[_0x2d1edd(0x1a9)],_0x27a2fd,_0x18c6f6+':'+_0x49183b+':'+_0x27d6e8);return idempotencyManager['buildDeterministicKey'](_0x39e4ff['qmIxc'],_0x27a2fd,_0x18c6f6+':'+_0x27d6e8);}[a0_0x1603ac(0x1ca)](_0x433abb){const _0x6861af=a0_0x1603ac;return this[_0x6861af(0x134)][_0x433abb]||0x0;}['_formatNumber']({format:_0x392431,prefix:_0x32e367,datePrefix:_0x4a80a1,separator:_0xbedd77,numDigits:_0x273d19,counterInt:_0x1c55d5}){const _0x264d46=a0_0x1603ac,_0x29b192={'XCFoC':function(_0x2eeb1e,_0x180b6f){return _0x2eeb1e>_0x180b6f;},'DswOo':'IDGEN_COUNTER_OVERFLOW','xzldf':function(_0x33f2fb,_0x2b15e8){return _0x33f2fb(_0x2b15e8);}},_0x20e806=Math['pow'](0xa,_0x273d19)-0x1;if(_0x29b192[_0x264d46(0x12c)](_0x1c55d5,_0x20e806))throw new IdGeneratorError(_0x29b192['DswOo'],_0x264d46(0x1da)+_0x1c55d5+'\x20exceeds\x20'+_0x273d19+'-digit\x20capacity\x20('+_0x20e806+').\x20Increase\x20numDigits.',{'counterInt':_0x1c55d5,'numDigits':_0x273d19,'max':_0x20e806});const _0x5083bd=_0x29b192[_0x264d46(0x10a)](String,_0x1c55d5)[_0x264d46(0x1ce)](_0x273d19,'0');if(_0x392431===_0x264d46(0x191))return _0x32e367?''+_0x32e367+_0xbedd77+_0x5083bd:_0x5083bd;return _0x32e367?''+_0x32e367+_0xbedd77+_0x4a80a1+_0xbedd77+_0x5083bd:''+_0x4a80a1+_0xbedd77+_0x5083bd;}[a0_0x1603ac(0x15e)]({format:_0x5cb659,prefix:_0x11943c,separator:_0x3f0762,numDigits:_0x437e47,number:_0x40e3ab}){const _0x37d29b=a0_0x1603ac,_0x2500d5={'lgnFe':_0x37d29b(0x1b8),'AsxCA':function(_0x27b184,_0x9278a){return _0x27b184===_0x9278a;},'DpwJO':'IDGEN_INVALID_NUMBER','bnbaW':function(_0x2c1781,_0x310122){return _0x2c1781!==_0x310122;},'ByHMm':_0x37d29b(0x17f),'zGkmZ':function(_0x14b92c,_0x3f830f){return _0x14b92c===_0x3f830f;}};if(typeof _0x40e3ab!==_0x2500d5['lgnFe']||_0x2500d5[_0x37d29b(0x11a)](_0x40e3ab['length'],0x0))throw new IdGeneratorError(_0x2500d5['DpwJO'],'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0xcff8ac=_0x3f0762||'',_0x1094ae=_0x2500d5[_0x37d29b(0x11a)](_0xcff8ac,'')?[_0x40e3ab]:_0x40e3ab[_0x37d29b(0x164)](_0xcff8ac);let _0x207990='',_0x2eaef5;if(_0x5cb659===_0x37d29b(0x191)){if(_0x11943c){if(_0x2500d5['bnbaW'](_0x1094ae['length'],0x2)||_0x2500d5['bnbaW'](_0x1094ae[0x0],_0x11943c))throw new IdGeneratorError(_0x2500d5['DpwJO'],_0x37d29b(0x142)+_0xcff8ac+'padded\x20(got:\x20'+_0x40e3ab+')');_0x2eaef5=_0x1094ae[0x1];}else{if(_0x2500d5[_0x37d29b(0x115)](_0x1094ae[_0x37d29b(0xfd)],0x1))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x37d29b(0x123)+_0x40e3ab+')');_0x2eaef5=_0x1094ae[0x0];}}else{const _0x163ba4=_0x11943c?0x3:0x2;if(_0x1094ae['length']!==_0x163ba4)throw new IdGeneratorError(_0x37d29b(0x1c2),'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x40e3ab+_0x37d29b(0x119)+_0x163ba4+_0x37d29b(0x100));let _0x37d00e=0x0;if(_0x11943c){if(_0x1094ae[_0x37d00e]!==_0x11943c)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x37d29b(0x10e)+_0x11943c+_0x37d29b(0x1aa)+_0x1094ae[_0x37d00e]);_0x37d00e++;}_0x207990=_0x1094ae[_0x37d00e++];const _0x2b253a=_0x5cb659===_0x2500d5['ByHMm']?/^\d{4}$/:_0x2500d5['zGkmZ'](_0x5cb659,'yyyymm')?/^\d{6}$/:/^\d{8}$/;if(!_0x2b253a['test'](_0x207990))throw new IdGeneratorError(_0x2500d5[_0x37d29b(0x111)],_0x37d29b(0x157)+_0x5cb659+':\x20'+_0x207990);_0x2eaef5=_0x1094ae[_0x37d00e];}if(!new RegExp('^\x5cd{'+_0x437e47+'}$')[_0x37d29b(0x170)](_0x2eaef5))throw new IdGeneratorError(_0x2500d5['DpwJO'],'Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x437e47+_0x37d29b(0xfe)+_0x2eaef5+')');const _0x23ac88=parseInt(_0x2eaef5,0xa),_0xe0234=_0x11943c||'_';let _0x1db97a;return _0x5cb659===_0x37d29b(0x191)?_0x1db97a=_0xe0234+'_text':_0x1db97a=_0xe0234+'_'+_0x5cb659+'_'+_0x207990,{'formatKey':_0x1db97a,'counterInt':_0x23ac88,'datePrefix':_0x207990};}[a0_0x1603ac(0x168)](_0x4e08a6){const _0x57ab61=a0_0x1603ac;let _0xe4f96c='';for(const _0x4efbcc of _0x4e08a6){const _0x3ed7d4=PLACEHOLDER_MAP[_0x4efbcc];if(_0x3ed7d4){const _0x170b73=crypto[_0x57ab61(0x1d7)](0x0,_0x3ed7d4[_0x57ab61(0xfd)]);_0xe4f96c+=_0x3ed7d4[_0x170b73];}else _0xe4f96c+=_0x4efbcc;}return _0xe4f96c;}async[a0_0x1603ac(0x113)](_0x521b6c){const _0x5aa07f=a0_0x1603ac,_0x5b6718={'xonaa':'Idempotency\x20cache\x20HIT','aWXzk':'idgen_idem_retrieve_error','uPhqr':_0x5aa07f(0x167)};if(!_0x521b6c)return null;try{const _0x5b9d3e=redisClient[_0x5aa07f(0x166)](),_0x59393=await _0x5b9d3e[_0x5aa07f(0xdf)](_0x521b6c);if(_0x59393)return logger['info']({'event':'idgen_idem_hit','key':_0x521b6c},_0x5b6718[_0x5aa07f(0x1cb)]),JSON[_0x5aa07f(0x1ac)](_0x59393);return null;}catch(_0x2bd9b0){return logger[_0x5aa07f(0x10d)]({'event':_0x5b6718['aWXzk'],'error':_0x2bd9b0[_0x5aa07f(0x17a)]},_0x5b6718[_0x5aa07f(0x1bd)]),null;}}async[a0_0x1603ac(0x1a1)](_0x256d83,_0x20534a){const _0x1f0161=a0_0x1603ac,_0x1be64b={'oqqZA':'idgen_idem_store_error'};if(!_0x256d83)return;try{const _0x1d336d=redisClient[_0x1f0161(0x166)]();await _0x1d336d[_0x1f0161(0x13e)](_0x256d83,this[_0x1f0161(0x137)],JSON['stringify'](_0x20534a));}catch(_0xf3b959){logger[_0x1f0161(0x10d)]({'event':_0x1be64b[_0x1f0161(0xda)],'error':_0xf3b959['message']},'Idempotency\x20store\x20error');}}async['_storeIdemCacheNX'](_0x208fed,_0x3f9790){const _0x5954c3=a0_0x1603ac,_0xa2d193={'piUog':function(_0x54f7bf,_0xc0a67a){return _0x54f7bf===_0xc0a67a;},'gdpuZ':_0x5954c3(0x135),'MgXLO':'Idempotency\x20SET\x20NX\x20error'};if(!_0x208fed)return{'stored':!![],'winnerResult':null};try{const _0x2c3579=redisClient[_0x5954c3(0x166)](),_0x1105e1=JSON['stringify'](_0x3f9790),_0x1bec28=await _0x2c3579[_0x5954c3(0xe6)](_0x208fed,_0x1105e1,'EX',this[_0x5954c3(0x137)],'NX');if(_0xa2d193['piUog'](_0x1bec28,'OK'))return{'stored':!![],'winnerResult':null};const _0x2ece3a=await _0x2c3579['get'](_0x208fed);if(_0x2ece3a)return{'stored':![],'winnerResult':JSON['parse'](_0x2ece3a)};return logger[_0x5954c3(0x10d)]({'event':_0xa2d193[_0x5954c3(0xfc)],'key':_0x208fed},'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result'),{'stored':!![],'winnerResult':null};}catch(_0x20a189){return logger[_0x5954c3(0x10d)]({'event':'idgen_idem_storenx_error','error':_0x20a189[_0x5954c3(0x17a)]},_0xa2d193[_0x5954c3(0xd4)]),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x510080,_0x30c0ca,_0x3eeb47){const _0x2d9acd=a0_0x1603ac,_0x246f38={'cWnjg':'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)'};try{const _0x557440=redisClient['getClient']();if(_0x3eeb47){const _0x130d7d=this['_buildActiveKey'](_0x510080,_0x30c0ca);await _0x557440[_0x2d9acd(0x16a)](_0x130d7d);}else{const _0x37f870=this[_0x2d9acd(0x19d)](_0x510080);await _0x557440['srem'](_0x37f870,_0x30c0ca);}}catch(_0x8c88bb){logger['warn']({'event':'idgen_random_undo_error','error':_0x8c88bb['message']},_0x246f38['cWnjg']);}}async[a0_0x1603ac(0x165)](_0x3613ad,_0x402298,_0x128065,_0x58470d=0x0){const _0x9b4948=a0_0x1603ac,_0xeaf651={'cizLO':function(_0x4eb892,_0x3f34ca){return _0x4eb892(_0x3f34ca);},'ymWFq':function(_0x27382d,_0x2a75aa){return _0x27382d>_0x2a75aa;},'DvFgq':_0x9b4948(0x199),'EfmPf':_0x9b4948(0x10f)};try{const _0xbf8e13=redisClient['getClient'](),_0xf3fb3a=this[_0x9b4948(0x14b)](_0x3613ad,_0x402298),_0x4d674b=[];for(const [_0x3699e0,_0x132203]of Object['entries'](_0x128065)){_0x4d674b[_0x9b4948(0x179)](_0x3699e0,_0xeaf651[_0x9b4948(0x1e5)](String,_0x132203));}if(_0xeaf651['ymWFq'](_0x4d674b[_0x9b4948(0xfd)],0x0)){await _0xbf8e13['hset'](_0xf3fb3a,..._0x4d674b);if(_0x58470d>0x0)await _0xbf8e13['expire'](_0xf3fb3a,_0x58470d);}}catch(_0x1e2038){logger['warn']({'event':_0xeaf651[_0x9b4948(0x122)],'error':_0x1e2038[_0x9b4948(0x17a)]},_0xeaf651[_0x9b4948(0x11d)]);}}async[a0_0x1603ac(0x1c1)](_0x1e9f4a){const _0x30869e=a0_0x1603ac,_0x15d934={'GQPPG':'IDGEN_DISABLED','jvELi':_0x30869e(0xea),'yPwFh':_0x30869e(0x1c1),'Ossya':function(_0x9809bd,_0x1177db){return _0x9809bd===_0x1177db;},'EKNpL':function(_0xf81468,_0x180268){return _0xf81468(_0x180268);}};if(!this[_0x30869e(0x196)])throw new IdGeneratorError(_0x15d934['GQPPG'],_0x15d934[_0x30869e(0xff)]);const _0x294233=this['_validateNumberParams'](_0x1e9f4a),_0x4f99b4=this['_validateIdempotencyKey'](_0x1e9f4a['idempotencyKey']),{resource:_0x572b8e,format:_0x8c2415,prefix:_0x1ee9e4,separator:_0x4cdd49,numDigits:_0xe6dc24,reuseDelete:_0x1bb795}=_0x294233,{formatKey:_0x35f551,datePrefix:_0x196cb9}=this['_buildFormatKey'](_0x8c2415,_0x1ee9e4),_0x1ec63d=this['_buildSeqKey'](_0x572b8e,_0x35f551),_0x5a8825=this['_buildReuseKey'](_0x572b8e,_0x35f551),_0x34bea5=this[_0x30869e(0x1ca)](_0x8c2415);let _0x14691a=null;if(_0x4f99b4){_0x14691a=this['_buildIdemKey'](_0x15d934[_0x30869e(0x197)],_0x572b8e,_0x35f551,_0x4f99b4);const _0x9b35db=await this['_retrieveIdemCache'](_0x14691a);if(_0x9b35db)return _0x9b35db;}const _0x2067b0=redisClient['getClient'](),_0x34edcc=await _0x2067b0['eval'](LUA_GENERATE_NUMBER,0x2,_0x1ec63d,_0x5a8825,_0x1bb795?'1':'0',String(_0x34bea5)),_0x18b92a=_0x34edcc[0x0],_0x461b87=_0x15d934['Ossya'](_0x34edcc[0x1],0x1),_0xfd7ae5=this[_0x30869e(0x174)]({'format':_0x8c2415,'prefix':_0x1ee9e4,'datePrefix':_0x196cb9,'separator':_0x4cdd49,'numDigits':_0xe6dc24,'counterInt':_0x18b92a}),_0x3384ec={'value':_0xfd7ae5,'counter':_0x18b92a,'resource':_0x572b8e,'formatKey':_0x35f551,'isReused':_0x461b87,'generatedAt':new Date()[_0x30869e(0x110)]()},_0x3aafd1=await this[_0x30869e(0xf0)](_0x14691a,_0x3384ec);if(!_0x3aafd1[_0x30869e(0x127)]){try{await _0x2067b0['eval'](LUA_RELEASE_NUMBER,0x1,_0x5a8825,String(_0x18b92a),_0x15d934['EKNpL'](String,_0x34bea5));}catch(_0x42f5b1){logger[_0x30869e(0x10d)]({'event':_0x30869e(0x1b4),'error':_0x42f5b1[_0x30869e(0x17a)],'resource':_0x572b8e,'formatKey':_0x35f551,'counterInt':_0x18b92a},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':'idgen_number_idem_loser','resource':_0x572b8e,'formatKey':_0x35f551,'counter':_0x18b92a},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x3aafd1[_0x30869e(0xd3)];}return this['_updateMeta'](_0x572b8e,_0x35f551,{'lastValue':_0xfd7ae5,'lastCounter':_0x18b92a,'lastIsReused':_0x461b87,'lastGeneratedAt':_0x3384ec['generatedAt']},_0x34bea5),logger[_0x30869e(0x1dd)]({'event':_0x30869e(0x107),'resource':_0x572b8e,'formatKey':_0x35f551,'counter':_0x18b92a,'isReused':_0x461b87},_0x30869e(0x11b)+_0xfd7ae5),_0x3384ec;}async[a0_0x1603ac(0x162)](_0x48931b){const _0x50d7c0=a0_0x1603ac,_0x5a3804={'WJHAX':_0x50d7c0(0x1c5),'VDVrn':'ID\x20Generator\x20is\x20disabled','jdSvi':function(_0x3fe703,_0x1127d1){return _0x3fe703!==_0x1127d1;},'qBqKV':_0x50d7c0(0x1b8),'weIqG':'IDGEN_INVALID_NUMBER','SCNTz':function(_0x203814,_0x1d620b){return _0x203814<_0x1d620b;},'qXPSe':'text','fCbcg':function(_0x4ad100,_0x7560ec){return _0x4ad100(_0x7560ec);}};if(!this['enabled'])throw new IdGeneratorError(_0x5a3804['WJHAX'],_0x5a3804[_0x50d7c0(0x112)]);let _0x140d90,_0x309dd6,_0xec7f9e,_0x46388a;const _0x582ceb=this['_validateIdempotencyKey'](_0x48931b['idempotencyKey']);if(_0x5a3804['jdSvi'](_0x48931b[_0x50d7c0(0x131)],undefined)&&_0x48931b['counterInt']!==null){this[_0x50d7c0(0x1c6)](_0x48931b[_0x50d7c0(0xdc)]),_0x140d90=_0x48931b[_0x50d7c0(0xdc)];if(typeof _0x48931b['formatKey']!==_0x5a3804[_0x50d7c0(0xeb)]||_0x48931b[_0x50d7c0(0x1b2)][_0x50d7c0(0xfd)]===0x0)throw new IdGeneratorError(_0x5a3804['weIqG'],_0x50d7c0(0x108));_0x309dd6=_0x48931b[_0x50d7c0(0x1b2)];if(!Number[_0x50d7c0(0x1a6)](_0x48931b['counterInt'])||_0x5a3804[_0x50d7c0(0x11c)](_0x48931b[_0x50d7c0(0x131)],0x1))throw new IdGeneratorError(_0x5a3804['weIqG'],_0x50d7c0(0x17b)+_0x48931b[_0x50d7c0(0x131)]+')');_0xec7f9e=_0x48931b[_0x50d7c0(0x131)];const _0x1c61e7=_0x309dd6['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x46388a=_0x1c61e7?_0x1c61e7[0x1]:_0x5a3804['qXPSe'];}else{const _0x4d07ea=this['_validateNumberParams'](_0x48931b),_0x533f76=this[_0x50d7c0(0x15e)]({'format':_0x4d07ea['format'],'prefix':_0x4d07ea['prefix'],'separator':_0x4d07ea['separator'],'numDigits':_0x4d07ea[_0x50d7c0(0x160)],'number':_0x48931b['number']});_0x140d90=_0x4d07ea[_0x50d7c0(0xdc)],_0x309dd6=_0x533f76[_0x50d7c0(0x1b2)],_0xec7f9e=_0x533f76['counterInt'],_0x46388a=_0x4d07ea['format'];}const _0x3c30e2=this[_0x50d7c0(0xd9)](_0x140d90,_0x309dd6),_0x2045ba=this['_getCounterTTL'](_0x46388a);let _0x3246fb=null;if(_0x582ceb){_0x3246fb=this['_buildIdemKey']('release',_0x140d90,_0x309dd6,_0x582ceb);const _0x4fc56e=await this[_0x50d7c0(0x113)](_0x3246fb);if(_0x4fc56e)return _0x4fc56e;}const _0x3c3cb2=redisClient['getClient']();await _0x3c3cb2['eval'](LUA_RELEASE_NUMBER,0x1,_0x3c30e2,String(_0xec7f9e),_0x5a3804['fCbcg'](String,_0x2045ba));const _0x5c1164={'released':!![],'resource':_0x140d90,'formatKey':_0x309dd6,'counter':_0xec7f9e,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x3246fb,_0x5c1164),this['_updateMeta'](_0x140d90,_0x309dd6,{'lastReleasedCounter':_0xec7f9e,'lastReleasedAt':_0x5c1164[_0x50d7c0(0x101)]},_0x2045ba),logger['info']({'event':'idgen_number_released','resource':_0x140d90,'formatKey':_0x309dd6,'counter':_0xec7f9e},'ID\x20Generator\x20number\x20released:\x20'+_0xec7f9e),_0x5c1164;}async[a0_0x1603ac(0x1e1)](_0x453da6){const _0x260751=a0_0x1603ac,_0x3f5d27={'TTJgJ':'IDGEN_DISABLED','lplIM':'reserve','lgdnE':function(_0x21eee2,_0x57def2){return _0x21eee2*_0x57def2;},'uqidY':'resource','MWvwr':'formatKey','azYtM':'separator','eJpOc':function(_0x517f81,_0x35f4fd){return _0x517f81(_0x35f4fd);},'WsSpv':'createdAt','ftRzn':_0x260751(0x1d8),'YINMp':_0x260751(0x163),'lhDLu':'idemKey','EZhRj':function(_0x3f5341,_0x2f9b5d){return _0x3f5341(_0x2f9b5d);},'RYWxS':function(_0x3b039e,_0x156b64){return _0x3b039e===_0x156b64;},'lLdDY':'idgen_reserve_overflow_compensation_error','Kzdiy':'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow','FPNRv':_0x260751(0x14e),'EuEux':_0x260751(0x16e)};if(!this['enabled'])throw new IdGeneratorError(_0x3f5d27[_0x260751(0x10c)],'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x3b14b0=this[_0x260751(0x14d)](_0x453da6),_0x2c5a21=this['_validateReserveTTL'](_0x453da6['ttl']),_0x5b2c45=this['_validateIdempotencyKey'](_0x453da6['idempotencyKey']),{resource:_0x46a35d,format:_0x58fd7b,prefix:_0x59587f,separator:_0x1ae022,numDigits:_0x54f3e7,reuseDelete:_0x3acbf2}=_0x3b14b0,{formatKey:_0xd8672f,datePrefix:_0x552245}=this['_buildFormatKey'](_0x58fd7b,_0x59587f),_0x1dfcaf=this['_buildSeqKey'](_0x46a35d,_0xd8672f),_0x48988b=this[_0x260751(0xd9)](_0x46a35d,_0xd8672f),_0x223c10=this['_buildReservationIndexKey'](_0x46a35d,_0xd8672f),_0x246ce9=this['_getCounterTTL'](_0x58fd7b);let _0xa07e7f=null;if(_0x5b2c45){_0xa07e7f=this[_0x260751(0x1c8)](_0x3f5d27['lplIM'],_0x46a35d,_0xd8672f,_0x5b2c45);const _0x4ca846=await this['_retrieveIdemCache'](_0xa07e7f);if(_0x4ca846)return _0x4ca846;}const _0x58a729=crypto[_0x260751(0xf3)](),_0x33983f=this[_0x260751(0x154)](_0x58a729),_0x15bf94=this[_0x260751(0xf7)](),_0x305eb6=Date['now'](),_0x489bc5=_0x305eb6+_0x3f5d27[_0x260751(0x18c)](_0x2c5a21,0x3e8),_0x4ce464=_0x2c5a21*0x3e8,_0x25ac03=new Date(_0x305eb6)[_0x260751(0x110)](),_0x332f8e=new Date(_0x489bc5)[_0x260751(0x110)](),_0x58f9ee=[_0x3f5d27['uqidY'],_0x46a35d,_0x3f5d27[_0x260751(0xfa)],_0xd8672f,_0x260751(0x192),_0x58fd7b,'prefix',_0x59587f,_0x3f5d27['azYtM'],_0x1ae022,'numDigits',_0x3f5d27['eJpOc'](String,_0x54f3e7),'datePrefix',_0x552245||'',_0x3f5d27['WsSpv'],_0x25ac03,_0x3f5d27[_0x260751(0x190)],_0x332f8e,_0x3f5d27[_0x260751(0xd2)],String(_0x4ce464)];_0x5b2c45&&_0x58f9ee[_0x260751(0x179)](_0x3f5d27[_0x260751(0x1bc)],_0x5b2c45);const _0x4b2575=redisClient['getClient'](),_0x3ff3d5=await _0x4b2575['eval'](LUA_RESERVE_NUMBER,0x3,_0x1dfcaf,_0x48988b,_0x223c10,_0x3acbf2?'1':'0',_0x3f5d27['eJpOc'](String,_0x246ce9),_0x58a729,_0x33983f,String(_0x4ce464),_0x3f5d27[_0x260751(0x1d6)](String,_0x489bc5),String(_0x305eb6),_0x15bf94,..._0x58f9ee),_0x24c27e=_0x3ff3d5[0x0],_0x44c184=_0x3f5d27[_0x260751(0x116)](_0x3ff3d5[0x1],0x1),_0x3b4f63=_0x3ff3d5[0x2]||0x0;let _0x1917ec;try{_0x1917ec=this['_formatNumber']({'format':_0x58fd7b,'prefix':_0x59587f,'datePrefix':_0x552245,'separator':_0x1ae022,'numDigits':_0x54f3e7,'counterInt':_0x24c27e});}catch(_0x3b6cdf){try{await _0x4b2575[_0x260751(0x1b5)](LUA_CANCEL_RESERVATION,0x3,_0x33983f,_0x223c10,_0x48988b,_0x58a729,_0x3f5d27['EZhRj'](String,_0x246ce9));}catch(_0x2744cd){logger[_0x260751(0x10d)]({'event':_0x3f5d27[_0x260751(0x16d)],'error':_0x2744cd[_0x260751(0x17a)],'resource':_0x46a35d,'formatKey':_0xd8672f,'counterInt':_0x24c27e,'token':_0x58a729},_0x3f5d27['Kzdiy']);}throw _0x3b6cdf;}try{await _0x4b2575['hset'](_0x33983f,_0x3f5d27['FPNRv'],_0x1917ec);}catch(_0x31f58c){logger[_0x260751(0x10d)]({'event':'idgen_reserve_value_persist_error','error':_0x31f58c[_0x260751(0x17a)],'resource':_0x46a35d,'formatKey':_0xd8672f,'counterInt':_0x24c27e,'token':_0x58a729},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x48703e={'token':_0x58a729,'value':_0x1917ec,'counter':_0x24c27e,'resource':_0x46a35d,'formatKey':_0xd8672f,'isReused':_0x44c184,'createdAt':_0x25ac03,'expiresAt':_0x332f8e,'reapedCount':_0x3b4f63},_0x683b27=await this['_storeIdemCacheNX'](_0xa07e7f,_0x48703e);if(!_0x683b27['stored']){try{await _0x4b2575['eval'](LUA_CANCEL_RESERVATION,0x3,_0x33983f,_0x223c10,_0x48988b,_0x58a729,String(_0x246ce9));}catch(_0x76f7c8){logger['warn']({'event':'idgen_reserve_idem_loser_cancel_error','error':_0x76f7c8['message'],'resource':_0x46a35d,'formatKey':_0xd8672f,'counterInt':_0x24c27e,'token':_0x58a729},'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x3f5d27[_0x260751(0x102)],'resource':_0x46a35d,'formatKey':_0xd8672f,'counter':_0x24c27e,'token':_0x58a729},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x683b27[_0x260751(0xd3)];}return this['_updateMeta'](_0x46a35d,_0xd8672f,{'lastReservedCounter':_0x24c27e,'lastReservedAt':_0x25ac03,'lastReapedCount':_0x3b4f63},_0x246ce9),logger['info']({'event':_0x260751(0x186),'resource':_0x46a35d,'formatKey':_0xd8672f,'counter':_0x24c27e,'isReused':_0x44c184,'token':_0x58a729,'ttl':_0x2c5a21,'reapedCount':_0x3b4f63},_0x260751(0x1d3)+_0x1917ec+_0x260751(0x159)+_0x58a729+')'),_0x48703e;}async['confirmReservation'](_0x16df17){const _0x3d0fbf=a0_0x1603ac,_0x37458e={'LlEVa':_0x3d0fbf(0x1c5),'NSIRx':_0x3d0fbf(0x187),'fngXx':function(_0x41597d,_0x2932d0){return _0x41597d!==_0x2932d0;},'njsZH':'text'};if(!this[_0x3d0fbf(0x196)])throw new IdGeneratorError(_0x37458e[_0x3d0fbf(0x1be)],_0x37458e[_0x3d0fbf(0x1a5)]);const _0x27975d=this['_validateReservationToken'](_0x16df17&&_0x16df17['token']),_0xa5a5e3=this['_validateIdempotencyKey'](_0x16df17&&_0x16df17['idempotencyKey']);let _0x2721f0=null;if(_0xa5a5e3){_0x2721f0=idempotencyManager['buildDeterministicKey']('idgen',_0x3d0fbf(0x158),_0x27975d+':'+_0xa5a5e3);const _0x5a762e=await this[_0x3d0fbf(0x113)](_0x2721f0);if(_0x5a762e)return _0x5a762e;}const _0x5b4133=await this[_0x3d0fbf(0x1ad)](_0x27975d),_0x1854e8=redisClient[_0x3d0fbf(0x166)](),_0x3a4d09=await _0x1854e8[_0x3d0fbf(0x1b5)](LUA_CONFIRM_RESERVATION,0x2,_0x5b4133['rsvKey'],_0x5b4133['rsvIdxKey'],_0x27975d);if(!_0x3a4d09||_0x37458e['fngXx'](_0x3a4d09[0x0],0x1))throw new IdGeneratorError(_0x3d0fbf(0x1cc),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x27975d,{'token':_0x27975d});const _0x5ae3c7=parseInt(_0x3a4d09[0x1],0xa),_0x593359=_0x3a4d09[0x2],_0x20c3da=_0x3a4d09[0x3],_0x528941=new Date()['toISOString'](),_0x2c81bc={'confirmed':!![],'token':_0x27975d,'value':_0x593359,'counter':_0x5ae3c7,'resource':_0x5b4133['resource'],'formatKey':_0x20c3da,'confirmedAt':_0x528941};await this[_0x3d0fbf(0x1a1)](_0x2721f0,_0x2c81bc);const _0x173fd8=_0x20c3da['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x13b6c2=_0x173fd8?_0x173fd8[0x1]:_0x37458e['njsZH'],_0xbb2d29=this[_0x3d0fbf(0x1ca)](_0x13b6c2);return this[_0x3d0fbf(0x165)](_0x5b4133['resource'],_0x20c3da,{'lastConfirmedCounter':_0x5ae3c7,'lastConfirmedAt':_0x528941},_0xbb2d29),logger['info']({'event':_0x3d0fbf(0x19a),'resource':_0x5b4133[_0x3d0fbf(0xdc)],'formatKey':_0x20c3da,'counter':_0x5ae3c7,'token':_0x27975d},_0x3d0fbf(0x155)+_0x593359+_0x3d0fbf(0x159)+_0x27975d+')'),_0x2c81bc;}async['cancelReservation'](_0x2ec4b8){const _0x2e5b91=a0_0x1603ac,_0x122ac3={'zcvqm':'IDGEN_DISABLED','pSHGq':_0x2e5b91(0x187),'ozWxr':function(_0x5637c4,_0x7cd31f){return _0x5637c4(_0x7cd31f);},'PBieL':function(_0x100530,_0x4fe42a,_0x13637e){return _0x100530(_0x4fe42a,_0x13637e);},'rbcPS':'idgen_reservation_cancelled'};if(!this['enabled'])throw new IdGeneratorError(_0x122ac3['zcvqm'],_0x122ac3[_0x2e5b91(0x13c)]);const _0x6ad3df=this[_0x2e5b91(0x1dc)](_0x2ec4b8&&_0x2ec4b8['token']),_0x15e1f0=this[_0x2e5b91(0x130)](_0x2ec4b8&&_0x2ec4b8['idempotencyKey']);let _0x7317ec=null;if(_0x15e1f0){_0x7317ec=idempotencyManager['buildDeterministicKey'](_0x2e5b91(0xe9),_0x2e5b91(0xf8),_0x6ad3df+':'+_0x15e1f0);const _0x4d8fb3=await this[_0x2e5b91(0x113)](_0x7317ec);if(_0x4d8fb3)return _0x4d8fb3;}const _0x1fd0e1=await this[_0x2e5b91(0x1ad)](_0x6ad3df),_0x2d0ef1=this[_0x2e5b91(0xd9)](_0x1fd0e1['resource'],_0x1fd0e1['formatKey']),_0x1be0d6=_0x1fd0e1['formatKey'][_0x2e5b91(0x12f)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x296a96=_0x1be0d6?_0x1be0d6[0x1]:_0x2e5b91(0x191),_0x30183c=this[_0x2e5b91(0x1ca)](_0x296a96),_0x353352=redisClient['getClient'](),_0x49f473=await _0x353352[_0x2e5b91(0x1b5)](LUA_CANCEL_RESERVATION,0x3,_0x1fd0e1['rsvKey'],_0x1fd0e1[_0x2e5b91(0x19f)],_0x2d0ef1,_0x6ad3df,_0x122ac3['ozWxr'](String,_0x30183c));if(!_0x49f473||_0x49f473[0x0]!==0x1)throw new IdGeneratorError(_0x2e5b91(0x1cc),_0x2e5b91(0x132)+_0x6ad3df,{'token':_0x6ad3df});const _0x37d738=_0x122ac3[_0x2e5b91(0xf5)](parseInt,_0x49f473[0x1],0xa),_0x5b6052=_0x49f473[0x2],_0x5ca6c6=_0x49f473[0x3],_0x2477ed=new Date()[_0x2e5b91(0x110)](),_0x42dbe2={'cancelled':!![],'token':_0x6ad3df,'value':_0x5b6052,'counter':_0x37d738,'resource':_0x1fd0e1['resource'],'formatKey':_0x5ca6c6,'releasedToReuse':!![],'cancelledAt':_0x2477ed};return await this[_0x2e5b91(0x1a1)](_0x7317ec,_0x42dbe2),this[_0x2e5b91(0x165)](_0x1fd0e1['resource'],_0x5ca6c6,{'lastCancelledCounter':_0x37d738,'lastCancelledAt':_0x2477ed},_0x30183c),logger[_0x2e5b91(0x1dd)]({'event':_0x122ac3[_0x2e5b91(0x169)],'resource':_0x1fd0e1[_0x2e5b91(0xdc)],'formatKey':_0x5ca6c6,'counter':_0x37d738,'token':_0x6ad3df},_0x2e5b91(0xed)+_0x5b6052+'\x20(token='+_0x6ad3df+')'),_0x42dbe2;}async['extendReservation'](_0x4b3584){const _0x2bf877=a0_0x1603ac,_0x499fe2={'Nuqlm':_0x2bf877(0x152),'mnaGj':function(_0x2e35fb,_0x486c7d){return _0x2e35fb+_0x486c7d;},'upEjc':function(_0x3c0983,_0x173e9d){return _0x3c0983(_0x173e9d);},'ZKUyF':function(_0x56da7c,_0x36a589){return _0x56da7c(_0x36a589);},'bhpxh':function(_0xcbac41,_0x21e25f){return _0xcbac41!==_0x21e25f;},'tvjmi':'IDGEN_RESERVATION_NOT_FOUND','fwOHl':_0x2bf877(0x191),'HwWNO':_0x2bf877(0x13d)};if(!this[_0x2bf877(0x196)])throw new IdGeneratorError(_0x2bf877(0x1c5),'ID\x20Generator\x20is\x20disabled');const _0x4bdb81=this[_0x2bf877(0x1dc)](_0x4b3584&&_0x4b3584['token']),_0x35c77b=this['_validateReserveTTL'](_0x4b3584&&_0x4b3584['ttl']),_0xffc5db=this[_0x2bf877(0x130)](_0x4b3584&&_0x4b3584[_0x2bf877(0x180)]);let _0x5b44db=null;if(_0xffc5db){_0x5b44db=idempotencyManager[_0x2bf877(0x1e0)]('idgen',_0x499fe2[_0x2bf877(0x177)],_0x4bdb81+':'+_0xffc5db);const _0x2aee68=await this[_0x2bf877(0x113)](_0x5b44db);if(_0x2aee68)return _0x2aee68;}const _0x38f6df=await this['_getReservationContext'](_0x4bdb81),_0x1c4ee9=Date[_0x2bf877(0xe7)](),_0x2bbd94=_0x499fe2['mnaGj'](_0x1c4ee9,_0x35c77b*0x3e8),_0x28a88d=_0x35c77b*0x3e8,_0x24d264=new Date(_0x2bbd94)['toISOString'](),_0x486f32=redisClient['getClient'](),_0x279eaa=await _0x486f32['eval'](LUA_EXTEND_RESERVATION,0x2,_0x38f6df['rsvKey'],_0x38f6df[_0x2bf877(0x19f)],_0x4bdb81,_0x499fe2['upEjc'](String,_0x28a88d),_0x499fe2[_0x2bf877(0xee)](String,_0x2bbd94),_0x24d264);if(!_0x279eaa||_0x499fe2['bhpxh'](_0x279eaa[0x0],0x1))throw new IdGeneratorError(_0x499fe2['tvjmi'],_0x2bf877(0x132)+_0x4bdb81,{'token':_0x4bdb81});const _0x3380d1=_0x279eaa[0x1],_0x4bca3e=parseInt(_0x279eaa[0x2],0xa),_0x2f6251=_0x279eaa[0x3],_0x2fe902=_0x279eaa[0x4],_0x254326=new Date(_0x1c4ee9)['toISOString'](),_0x347105={'extended':!![],'token':_0x4bdb81,'previousExpiresAt':_0x3380d1,'expiresAt':_0x24d264,'ttlMs':_0x28a88d,'resource':_0x38f6df['resource'],'formatKey':_0x2fe902,'counter':_0x4bca3e,'value':_0x2f6251,'extendedAt':_0x254326};await this[_0x2bf877(0x1a1)](_0x5b44db,_0x347105);const _0x1b2644=_0x2fe902['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x29e7a3=_0x1b2644?_0x1b2644[0x1]:_0x499fe2[_0x2bf877(0x1b3)],_0x3bf9c4=this[_0x2bf877(0x1ca)](_0x29e7a3);return this[_0x2bf877(0x165)](_0x38f6df[_0x2bf877(0xdc)],_0x2fe902,{'lastExtendedCounter':_0x4bca3e,'lastExtendedAt':_0x254326},_0x3bf9c4),logger[_0x2bf877(0x1dd)]({'event':_0x499fe2['HwWNO'],'resource':_0x38f6df['resource'],'formatKey':_0x2fe902,'counter':_0x4bca3e,'token':_0x4bdb81,'ttl':_0x35c77b},_0x2bf877(0xec)+_0x2f6251+_0x2bf877(0x159)+_0x4bdb81+',\x20+'+_0x35c77b+'s)'),_0x347105;}async['getReservation'](_0x3bd5a3){const _0xe80ee9=a0_0x1603ac,_0x2ea68b={'ADAVI':'IDGEN_DISABLED','FkiEs':'ID\x20Generator\x20is\x20disabled','VXtVS':'IDGEN_RESERVATION_NOT_FOUND','JCQxJ':function(_0x17a175,_0x3b0c59,_0x3dd13a){return _0x17a175(_0x3b0c59,_0x3dd13a);},'HgsvZ':function(_0x131934,_0x3668e8){return _0x131934===_0x3668e8;},'MekRI':function(_0x1dbbac,_0x59f8a9){return _0x1dbbac===_0x59f8a9;},'GXXeM':function(_0x2e0aae,_0x27d0bc){return _0x2e0aae>=_0x27d0bc;}};if(!this['enabled'])throw new IdGeneratorError(_0x2ea68b['ADAVI'],_0x2ea68b['FkiEs']);const _0x5aaa4d=this['_validateReservationToken'](_0x3bd5a3&&_0x3bd5a3['token']),_0x57841b=this['_buildReservationKey'](_0x5aaa4d),_0x262c16=redisClient[_0xe80ee9(0x166)](),_0x4c0b5c=_0x262c16['pipeline']();_0x4c0b5c['hgetall'](_0x57841b),_0x4c0b5c['pttl'](_0x57841b);const _0x589e33=await _0x4c0b5c['exec'](),_0x356a1f=_0x589e33&&_0x589e33[0x0]&&_0x589e33[0x0][0x1],_0xd83be7=_0x589e33&&_0x589e33[0x1]&&_0x589e33[0x1][0x1];if(!_0x356a1f||Object[_0xe80ee9(0x106)](_0x356a1f)['length']===0x0)throw new IdGeneratorError(_0x2ea68b[_0xe80ee9(0x133)],_0xe80ee9(0x132)+_0x5aaa4d,{'token':_0x5aaa4d});return{'token':_0x5aaa4d,'resource':_0x356a1f[_0xe80ee9(0xdc)]||null,'formatKey':_0x356a1f['formatKey']||null,'format':_0x356a1f[_0xe80ee9(0x192)]||null,'prefix':_0x356a1f['prefix']||'','separator':_0x356a1f[_0xe80ee9(0xf6)]||'','numDigits':_0x356a1f[_0xe80ee9(0x160)]?_0x2ea68b['JCQxJ'](parseInt,_0x356a1f[_0xe80ee9(0x160)],0xa):null,'datePrefix':_0x356a1f['datePrefix']||'','counter':_0x356a1f[_0xe80ee9(0xd6)]?parseInt(_0x356a1f[_0xe80ee9(0xd6)],0xa):null,'value':_0x356a1f['value']||null,'isReused':_0x2ea68b['HgsvZ'](_0x356a1f['isReused'],'1')||_0x356a1f['isReused']===0x1,'createdAt':_0x356a1f['createdAt']||null,'expiresAt':_0x356a1f[_0xe80ee9(0x1d8)]||null,'ttlRemainingMs':_0x2ea68b[_0xe80ee9(0x18d)](typeof _0xd83be7,_0xe80ee9(0x1c1))&&_0x2ea68b['GXXeM'](_0xd83be7,0x0)?_0xd83be7:null};}async[a0_0x1603ac(0x1ad)](_0x3f1ed5){const _0x3ffae0=a0_0x1603ac,_0x20639d={'FtArR':_0x3ffae0(0x1b2)},_0x227ba6=this['_buildReservationKey'](_0x3f1ed5),_0x2b790d=redisClient['getClient'](),_0x586b6c=await _0x2b790d[_0x3ffae0(0xf2)](_0x227ba6,'resource',_0x20639d['FtArR']),_0x62cb1e=_0x586b6c&&_0x586b6c[0x0],_0x333d82=_0x586b6c&&_0x586b6c[0x1];if(!_0x62cb1e||!_0x333d82)throw new IdGeneratorError(_0x3ffae0(0x1cc),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x3f1ed5,{'token':_0x3f1ed5});return{'resource':_0x62cb1e,'formatKey':_0x333d82,'rsvKey':_0x227ba6,'rsvIdxKey':this[_0x3ffae0(0x1bf)](_0x62cb1e,_0x333d82)};}async['random'](_0x2012b9){const _0x10fba6=a0_0x1603ac,_0x2c7a1d={'XxjgF':'IDGEN_DISABLED','wKgsR':'ID\x20Generator\x20is\x20disabled','teKAb':_0x10fba6(0xde),'UVCLT':function(_0x120c94,_0x4d538e){return _0x120c94===_0x4d538e;},'AEduH':function(_0x3112d0,_0x57df75){return _0x3112d0&&_0x57df75;},'hCdqD':'idgen_random_generated','esknL':function(_0x474f5f,_0x3e8bd1){return _0x474f5f||_0x3e8bd1;}};if(!this[_0x10fba6(0x196)])throw new IdGeneratorError(_0x2c7a1d['XxjgF'],_0x2c7a1d['wKgsR']);this['_validateResource'](_0x2012b9[_0x10fba6(0xdc)]),this[_0x10fba6(0x171)](_0x2012b9['pattern']);const _0x5b2a24=this['_validateTTL'](_0x2012b9['ttl']),_0x1aa262=this['_validateMaxRetry'](_0x2012b9['maxRetry']),_0x2c75ae=this[_0x10fba6(0x130)](_0x2012b9['idempotencyKey']),_0x4fbdf2=_0x2012b9['ensureUnique']===!![],{resource:_0x3fbcb2,pattern:_0x55e602}=_0x2012b9;let _0x226bc8=null;if(_0x2c75ae){_0x226bc8=this['_buildIdemKey'](_0x2c7a1d['teKAb'],_0x3fbcb2,null,_0x2c75ae);const _0x2215ef=await this['_retrieveIdemCache'](_0x226bc8);if(_0x2215ef)return _0x2215ef;}const _0x4857eb=redisClient['getClient']();let _0x145ea3=null,_0x41a7ea=0x0;if(!_0x4fbdf2)_0x145ea3=this['_generateFromPattern'](_0x55e602),_0x41a7ea=0x1;else{for(let _0x317f58=0x0;_0x317f58<_0x1aa262;_0x317f58++){_0x41a7ea++;const _0x46b635=this['_generateFromPattern'](_0x55e602);if(_0x5b2a24){const _0x1edb0b=this['_buildActiveKey'](_0x3fbcb2,_0x46b635),_0x1663e4=await _0x4857eb['set'](_0x1edb0b,'1','EX',_0x5b2a24,'NX');if(_0x1663e4==='OK'){_0x145ea3=_0x46b635;break;}}else{const _0x16bcdc=this[_0x10fba6(0x19d)](_0x3fbcb2),_0x4f0611=await _0x4857eb[_0x10fba6(0x1d2)](_0x16bcdc,_0x46b635);if(_0x2c7a1d['UVCLT'](_0x4f0611,0x1)){_0x145ea3=_0x46b635;break;}}}if(_0x145ea3===null)throw new IdGeneratorError('IDGEN_UNIQUE_RETRY_EXHAUSTED',_0x10fba6(0x120)+_0x1aa262+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x3fbcb2,'pattern':_0x55e602,'maxRetry':_0x1aa262});}const _0x23fef4={'value':_0x145ea3,'resource':_0x3fbcb2,'pattern':_0x55e602,'attemptCount':_0x41a7ea,'generatedAt':new Date()['toISOString']()};_0x2c7a1d[_0x10fba6(0x1cd)](_0x5b2a24,_0x4fbdf2)&&(_0x23fef4[_0x10fba6(0x1d8)]=new Date(Date['now']()+_0x5b2a24*0x3e8)['toISOString']());const _0x390b35=await this[_0x10fba6(0xf0)](_0x226bc8,_0x23fef4);if(!_0x390b35[_0x10fba6(0x127)])return _0x4fbdf2&&await this['_undoRandomReservation'](_0x3fbcb2,_0x145ea3,_0x5b2a24),logger['info']({'event':'idgen_random_idem_loser','resource':_0x3fbcb2,'pattern':_0x55e602,'value':_0x145ea3},_0x10fba6(0x13f)),_0x390b35[_0x10fba6(0xd3)];return logger[_0x10fba6(0x1dd)]({'event':_0x2c7a1d[_0x10fba6(0x195)],'resource':_0x3fbcb2,'pattern':_0x55e602,'attemptCount':_0x41a7ea,'ensureUnique':_0x4fbdf2,'ttl':_0x2c7a1d['esknL'](_0x5b2a24,0x0)},'ID\x20Generator\x20random:\x20'+_0x145ea3),_0x23fef4;}async['pin'](_0x5433a9){const _0x194653=a0_0x1603ac,_0x3faf82={'wXGcA':function(_0x2b2a30,_0x157808){return _0x2b2a30===_0x157808;}},_0xbc55df=_0x5433a9[_0x194653(0x194)]==null?this[_0x194653(0x114)]:_0x5433a9[_0x194653(0x194)];if(!Number['isInteger'](_0xbc55df)||_0xbc55df<MIN_PIN_DIGITS||_0xbc55df>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x194653(0x183),'Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0xbc55df+')');const _0x168ffa='9'[_0x194653(0x143)](_0xbc55df);return this['random']({'resource':_0x5433a9[_0x194653(0xdc)],'pattern':_0x168ffa,'ensureUnique':_0x3faf82['wXGcA'](_0x5433a9[_0x194653(0x117)],!![]),'ttl':_0x5433a9[_0x194653(0x184)],'maxRetry':_0x5433a9['maxRetry'],'idempotencyKey':_0x5433a9['idempotencyKey']});}async['serial'](_0x1f2b1e){const _0x3e4318=a0_0x1603ac,_0xefed93={'aeINw':function(_0x2fe224,_0x2b28e7){return _0x2fe224!==_0x2b28e7;}},_0x3ac4a9=_0x1f2b1e['pattern']||this['defaultSerialPattern'];return this[_0x3e4318(0xde)]({'resource':_0x1f2b1e['resource'],'pattern':_0x3ac4a9,'ensureUnique':_0xefed93[_0x3e4318(0x124)](_0x1f2b1e[_0x3e4318(0x117)],![]),'ttl':_0x1f2b1e[_0x3e4318(0x184)],'maxRetry':_0x1f2b1e[_0x3e4318(0x17c)],'idempotencyKey':_0x1f2b1e['idempotencyKey']});}async['code'](_0x5bea60){const _0x5b5474=a0_0x1603ac,_0x428962={'swPyq':function(_0xc92edc,_0x37237b){return _0xc92edc!==_0x37237b;}},_0x20e476=_0x5bea60['pattern']||this['defaultCodePattern'];return this[_0x5b5474(0xde)]({'resource':_0x5bea60[_0x5b5474(0xdc)],'pattern':_0x20e476,'ensureUnique':_0x428962['swPyq'](_0x5bea60['ensureUnique'],![]),'ttl':_0x5bea60[_0x5b5474(0x184)],'maxRetry':_0x5bea60[_0x5b5474(0x17c)],'idempotencyKey':_0x5bea60[_0x5b5474(0x180)]});}async['consume'](_0x4218e7){const _0x555336=a0_0x1603ac,_0x51124e={'FjLSW':'IDGEN_DISABLED','jWeJO':'ID\x20Generator\x20is\x20disabled','CyFJB':function(_0xf142c7,_0x4122cc){return _0xf142c7!==_0x4122cc;},'eNZSl':function(_0x4c034e,_0x2d7ccd){return _0x4c034e===_0x2d7ccd;},'bzQUq':function(_0x52a882,_0x2b5389){return _0x52a882>_0x2b5389;}};if(!this['enabled'])throw new IdGeneratorError(_0x51124e['FjLSW'],_0x51124e['jWeJO']);this['_validateResource'](_0x4218e7[_0x555336(0xdc)]);if(_0x51124e['CyFJB'](typeof _0x4218e7[_0x555336(0x14e)],_0x555336(0x1b8))||_0x51124e['eNZSl'](_0x4218e7[_0x555336(0x14e)]['length'],0x0))throw new IdGeneratorError(_0x555336(0x1c2),'value\x20is\x20required');const {resource:_0x2ec64e,value:_0x4e72fc}=_0x4218e7,_0x2aeb94=redisClient['getClient'](),_0x595718=this[_0x555336(0xef)](_0x2ec64e,_0x4e72fc),_0x2e0ff7=this[_0x555336(0x19d)](_0x2ec64e),[_0x46f081,_0x22018d]=await Promise[_0x555336(0x161)]([_0x2aeb94['del'](_0x595718),_0x2aeb94['srem'](_0x2e0ff7,_0x4e72fc)]),_0x331199=_0x51124e[_0x555336(0x1b6)](_0x46f081+_0x22018d,0x0);return logger['info']({'event':'idgen_consumed','resource':_0x2ec64e,'value':_0x4e72fc,'consumed':_0x331199},_0x555336(0x1e8)+_0x4e72fc),{'consumed':_0x331199,'resource':_0x2ec64e,'value':_0x4e72fc,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x30d9e3){const _0x38ec97=a0_0x1603ac,_0x43d2a1={'jEmyT':'IDGEN_DISABLED','LaUvQ':'number','xPQQf':'text','hoCNR':'IDGEN_INVALID_FORMAT','EmUhS':function(_0x3593d4,_0x1466a6,_0x382ff0){return _0x3593d4(_0x1466a6,_0x382ff0);},'adzUJ':'random','blKtW':function(_0x12abda,_0x2ee8d7){return _0x12abda||_0x2ee8d7;}};if(!this['enabled'])throw new IdGeneratorError(_0x43d2a1['jEmyT'],_0x38ec97(0x187));this[_0x38ec97(0x1c6)](_0x30d9e3['resource']);const _0x144047=_0x30d9e3[_0x38ec97(0x1b9)]||_0x43d2a1['LaUvQ'],_0x117cb0=redisClient['getClient']();if(_0x144047===_0x38ec97(0x1c1)){const _0x18ba41=(_0x30d9e3['format']||_0x43d2a1['xPQQf'])[_0x38ec97(0x146)]();if(!ALLOWED_FORMATS[_0x38ec97(0x16b)](_0x18ba41))throw new IdGeneratorError(_0x43d2a1['hoCNR'],'Invalid\x20format:\x20'+_0x30d9e3[_0x38ec97(0x192)]);const {formatKey:_0x1ffa00}=this[_0x38ec97(0x193)](_0x18ba41,_0x30d9e3['prefix']||''),_0x104575=this[_0x38ec97(0x11f)](_0x30d9e3[_0x38ec97(0xdc)],_0x1ffa00),_0x273b5f=this['_buildReuseKey'](_0x30d9e3['resource'],_0x1ffa00),[_0x191e71,_0x2f6260]=await Promise[_0x38ec97(0x161)]([_0x117cb0['get'](_0x104575),_0x117cb0[_0x38ec97(0x145)](_0x273b5f)]);return{'resource':_0x30d9e3['resource'],'mode':_0x43d2a1[_0x38ec97(0x16c)],'formatKey':_0x1ffa00,'currentCounter':_0x43d2a1[_0x38ec97(0x1d4)](parseInt,_0x191e71,0xa)||0x0,'reusePoolSize':_0x2f6260||0x0};}if(_0x144047===_0x43d2a1['adzUJ']){const _0x18484c=this['_buildIssuedKey'](_0x30d9e3[_0x38ec97(0xdc)]),_0x402654=await _0x117cb0['scard'](_0x18484c);return{'resource':_0x30d9e3['resource'],'mode':_0x43d2a1[_0x38ec97(0x1a2)],'issuedCount':_0x43d2a1['blKtW'](_0x402654,0x0)};}throw new IdGeneratorError(_0x38ec97(0xfb),'Unknown\x20mode:\x20'+_0x144047);}async['getInfo'](_0x306bc0){const _0x23f937=a0_0x1603ac,_0x590f1c={'eOtYf':function(_0x31cedd,_0x248b39){return _0x31cedd===_0x248b39;},'FsXRV':_0x23f937(0x1c1)},_0x5de531=await this['peek'](_0x306bc0);if(_0x590f1c[_0x23f937(0xe2)](_0x5de531['mode'],_0x590f1c[_0x23f937(0x12a)])){const _0x538cd0=redisClient['getClient'](),_0x209f95=this[_0x23f937(0x14b)](_0x306bc0['resource'],_0x5de531['formatKey']),_0x95f572=this['_buildReuseKey'](_0x306bc0['resource'],_0x5de531[_0x23f937(0x1b2)]),[_0x396977,_0x506414]=await Promise['all']([_0x538cd0['hgetall'](_0x209f95),_0x538cd0['zrange'](_0x95f572,0x0,-0x1)]);return{..._0x5de531,'reusePoolValues':_0x506414['map'](_0x2dbc3c=>parseInt(_0x2dbc3c,0xa)),'meta':_0x396977&&Object[_0x23f937(0x106)](_0x396977)[_0x23f937(0xfd)]>0x0?_0x396977:null};}return _0x5de531;}async[a0_0x1603ac(0x1e4)](_0x4b06fc){const _0x30560b=a0_0x1603ac,_0x32ba76={'RfoaU':'ID\x20Generator\x20is\x20disabled','uvdeA':function(_0x9c6909,_0x4ea61a){return _0x9c6909===_0x4ea61a;},'yWjTh':_0x30560b(0x185),'TqJMo':'seq','lQJDf':_0x30560b(0x1ab),'awcDz':function(_0x147d99,_0x117fa7){return _0x147d99===_0x117fa7;},'eKgHA':_0x30560b(0xde),'QStBt':_0x30560b(0x109)};if(!this['enabled'])throw new IdGeneratorError(_0x30560b(0x1c5),_0x32ba76['RfoaU']);if(!this['allowReset'])throw new IdGeneratorError('IDGEN_RESET_NOT_ALLOWED',_0x30560b(0x104));this[_0x30560b(0x1c6)](_0x4b06fc[_0x30560b(0xdc)]);const _0x15f73f=_0x4b06fc[_0x30560b(0x1b9)]||'number',_0x549a03=redisClient['getClient']();if(_0x32ba76[_0x30560b(0x1b7)](_0x15f73f,_0x30560b(0x1c1))){const _0x495982=(_0x4b06fc['format']||'text')['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x495982))throw new IdGeneratorError('IDGEN_INVALID_FORMAT','Invalid\x20format:\x20'+_0x4b06fc[_0x30560b(0x192)]);const {formatKey:_0xd9961c}=this['_buildFormatKey'](_0x495982,_0x4b06fc[_0x30560b(0x1a8)]||''),_0x24b99d=this['_buildSeqKey'](_0x4b06fc['resource'],_0xd9961c),_0x498828=this[_0x30560b(0xd9)](_0x4b06fc[_0x30560b(0xdc)],_0xd9961c),_0x302c0c=this['_buildMetaKey'](_0x4b06fc['resource'],_0xd9961c);return await _0x549a03[_0x30560b(0x16a)](_0x24b99d,_0x498828,_0x302c0c),logger[_0x30560b(0x10d)]({'event':_0x32ba76[_0x30560b(0xf1)],'resource':_0x4b06fc['resource'],'mode':'number','formatKey':_0xd9961c},_0x30560b(0x16f)+_0x4b06fc['resource']+':'+_0xd9961c),{'reset':!![],'resource':_0x4b06fc['resource'],'mode':'number','formatKey':_0xd9961c,'deletedKeys':[_0x32ba76[_0x30560b(0x1af)],'reuse',_0x32ba76['lQJDf']]};}if(_0x32ba76[_0x30560b(0x149)](_0x15f73f,_0x30560b(0xde))){const _0x1da4c0=this[_0x30560b(0x19d)](_0x4b06fc[_0x30560b(0xdc)]);return await _0x549a03['del'](_0x1da4c0),logger['warn']({'event':_0x30560b(0x185),'resource':_0x4b06fc['resource'],'mode':_0x32ba76[_0x30560b(0x1db)]},'ID\x20Generator\x20reset:\x20random:'+_0x4b06fc['resource']),{'reset':!![],'resource':_0x4b06fc['resource'],'mode':_0x32ba76['eKgHA'],'deletedKeys':[_0x32ba76[_0x30560b(0x1c3)]]};}throw new IdGeneratorError(_0x30560b(0xfb),_0x30560b(0x1d1)+_0x15f73f);}}const instance=new IdGenerator();instance[a0_0x1603ac(0x13b)]=IdGeneratorError,module[a0_0x1603ac(0xdb)]=instance,module['exports'][a0_0x1603ac(0x13b)]=IdGeneratorError;
1
+ 'use strict';function a0_0x23ae(_0x225c78,_0x549a1e){_0x225c78=_0x225c78-0x129;const _0x1d9d41=a0_0x1d9d();let _0x23aec6=_0x1d9d41[_0x225c78];if(a0_0x23ae['GYXWYc']===undefined){var _0x56c9cf=function(_0x6d225b){const _0x2b4c30='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5653dc='',_0x467a16='';for(let _0x4d174d=0x0,_0x376099,_0x334c67,_0x503e0c=0x0;_0x334c67=_0x6d225b['charAt'](_0x503e0c++);~_0x334c67&&(_0x376099=_0x4d174d%0x4?_0x376099*0x40+_0x334c67:_0x334c67,_0x4d174d++%0x4)?_0x5653dc+=String['fromCharCode'](0xff&_0x376099>>(-0x2*_0x4d174d&0x6)):0x0){_0x334c67=_0x2b4c30['indexOf'](_0x334c67);}for(let _0x27271c=0x0,_0x19ecc4=_0x5653dc['length'];_0x27271c<_0x19ecc4;_0x27271c++){_0x467a16+='%'+('00'+_0x5653dc['charCodeAt'](_0x27271c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x467a16);};a0_0x23ae['DosRXf']=_0x56c9cf,a0_0x23ae['IfwnPB']={},a0_0x23ae['GYXWYc']=!![];}const _0x2ae3f5=_0x1d9d41[0x0],_0x36d288=_0x225c78+_0x2ae3f5,_0x305a76=a0_0x23ae['IfwnPB'][_0x36d288];return!_0x305a76?(_0x23aec6=a0_0x23ae['DosRXf'](_0x23aec6),a0_0x23ae['IfwnPB'][_0x36d288]=_0x23aec6):_0x23aec6=_0x305a76,_0x23aec6;}const a0_0x28685f=a0_0x23ae;(function(_0xa9f943,_0x58054e){const _0x299ef1=a0_0x23ae,_0x33c129=_0xa9f943();while(!![]){try{const _0x209ddb=parseInt(_0x299ef1(0x183))/0x1*(-parseInt(_0x299ef1(0x1c0))/0x2)+-parseInt(_0x299ef1(0x13c))/0x3+-parseInt(_0x299ef1(0x131))/0x4+parseInt(_0x299ef1(0x1ec))/0x5+parseInt(_0x299ef1(0x224))/0x6*(-parseInt(_0x299ef1(0x1b8))/0x7)+-parseInt(_0x299ef1(0x195))/0x8*(-parseInt(_0x299ef1(0x1c5))/0x9)+parseInt(_0x299ef1(0x235))/0xa;if(_0x209ddb===_0x58054e)break;else _0x33c129['push'](_0x33c129['shift']());}catch(_0x24d676){_0x33c129['push'](_0x33c129['shift']());}}}(a0_0x1d9d,0x31367));function a0_0x1d9d(){const _0x37cfeb=['C3bSAxq','AvrOC3C','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','AxnszxvZzwq','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','ndy2nhrZsunnDa','B0zKuLG','AwrNzw4','AxnfBMfIBgvK','mdeYmZq1nJC4oufcq0rfrG','surhru5Fq09vtLrfuL9pvKvsrKXpvW','EwfeA2e','qNLzwwS','qKnwrhu','CNvoEuC','Bw9Kzq','B0HUs3i','mdeYmZq1nJC4oq','z2v0uMvZzxj2yxrPB24','x2j1AwXKtwv0yuTLEq','uMzMthG','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','x3n0B3jLswrLBunHy2HL','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','lcbNB3qG','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','CMvZzxj2zurLzMf1BhruveW','yNLur3C','zgvMyxvSDe1HEfjLDhj5','zLr3qw4','x2nVDw50zxjuveXnyxa','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','x2DLDenVDw50zxjuveW','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','ChvZAa','D0DYB0K','vw5RBM93BIbMB3jTyxq6ia','Chr0Ba','n2rLtuHHrq','qKvyrNa','igrPz2L0CYaOz290oIa','zw5ZDxjLvw5PCxvL','ExL5Ew1T','DNzruvm','x3zHBgLKyxrLugf0DgvYBG','qNbJvNy','nejRvvvntq','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','EfndrLm','veHLyLy','surhru5FuKvtrvrFtK9ux0fmte9xruq','mZyWoxvZA3vPAq','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','x2TLEvbYzwzPEa','x3jLDhjPzxzLswrLBunHy2HL','C2vXoG','D2LgueS','x2LUAxrPywXPEMvK','wwzKs1e','C2vWyxjHDg9Y','ihnLy29UzhmGkgDVDdOG','CMvZzxj2zu51BwjLCG','D1DSCwK','zxHWAxjL','qwjLDMO','vhrHvLu','zgvS','C3rYAw5NAwz5','surhru5Frevgqvvmvf9nqvHFuKvuuLK','surhru5Fsu5wquXjrf9gt1jnqvq','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','x2rLzMf1BhrdB2rLugf0DgvYBG','y3j5ChrV','C3jLBq','zxHWB3j0CW','C1PLyuq','x2zVCM1HDe51BwjLCG','y3jLyxrLzef0','z25MA3y','zM1Kvfm','Dg9Rzw4','zgvMyxvSDenVzgvqyxr0zxjU','z2v0rNvSBfLLyxi','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','z2v0','CMvZzxj2zv9Jyw5JzwW','CNn2oG','x2LUAxrdB25MAwC','AMvKtvq','AgDLDgfSBa','odmWmtbPs2j1q3i','DLjsAuG','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','Aw5MBW','surhru5Fsu5wquXjrf9srvnpvvjdrq','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','x2j1AwXKrM9YBwf0s2v5','z2v0rgf0zq','y1jwz24','CMvZzxj2zq','x3L5ExLF','z1vTDwC','x3rLEhq','DgvZDa','Cgf0DgvYBG','DwXqr0e','x2j1AwXKswrLBuTLEq','x3jLC2vYDMvnyxHuveW','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','BNvTyMvY','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','y2fUy2vSuMvZzxj2yxrPB24','surhru5Fsu5wquXjrf9nt0rf','Dg9ju09tDhjPBMC','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','CMvZzxj2zu1HEfruta','ue1iDxe','y291BNrLCG','ignOyxjZicHNB3qGBgvUz3rOoIa','zu1LuxC','BwfW','zxzHBa','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','wfHywc1ywfHylvHywfGTwfHywa','x2j1AwXKqwn0AxzLs2v5','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','CgnWquy','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','swrhzw5LCMf0B3jfCNjVCG','zxH0zw5KuMvZzxj2yxrPB24','AvvgEuW','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','A2v5uhjLzML4','v2PLDgy','DKn5EM8','CM1mrvu','icHNB3q6ia','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','thzvsMK','z2vUzxjHDgvKqxq','CNn2swr4s2v5','C3rYAw5N','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','surhru5Fsu5wquXjrf9ovu1crvi','mtG5mJC2BhLrsfDN','BNPRyNu','y291BNrLCKLUDa','zgvMyxvSDfbPBKrPz2L0CW','CMfUzg9Tsw50','x2j1AwXKu2vXs2v5','x3jLC2vYDMvezwzHDwX0vfrm','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','txLHA2K','CgfKzgvKicHNB3q6ia','D2LUBMvYuMvZDwX0','ywXS','CgvLAW','DxzyyMW','z2v0tw9UDgG','CMvWzwf0','x2j1AwXKsxnZDwvKs2v5','nJa1oty4mfPUB2PntG','re5Ps2m','CgfYC2u','x2j1AwXKuMvZzxj2yxrPB25lzxK','AxnjBNrLz2vY','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','surhru5Fsu5wquXjrf9esuDjvfm','yw16vwm','mtj8mhW4FdL8mxWZFdv8mtb8nhWYFdz8mtf8nW','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','x2vUC3vYzuLUAxrPywXPEMvK','su5xtNC','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','Ag1Nzxq','BM93','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','Bwf0y2G','AwrLBvruta','mtq1nJq4qwHdBKjA','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','qLvWCLC','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','x3zHBgLKyxrLuMvZB3vYy2u','Dhj1zq','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','yNvPBgrezxrLCM1PBMLZDgLJs2v5','x2vUywjSzwq','zM9YBwf0s2v5','AwrNzw5FCMvZzxq','nZi0nJi2u0Twqune','CNn2x2LKEdO','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','CNn2s2v5','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','AxnZDwvKoG','x2rLzMf1BhrnyxHszxrYEq','C3rVCMvK','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','vhzMshe','CMvZzxj2zv9JB25MAxjT','x3n0B3jLswrLBunHy2HLtLG','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','DhrS','twv0ysb1CgrHDguGzxjYB3i','CMfUzg9T','zM9YBwf0','x3bHCNnLtNvTyMvY','zMfhrLe','DwryDwS','Bwf4uMv0CNK','surhru5Fru5bqKXfra','A2v5CW','x2rLzMf1BhrqAw5eAwDPDhm','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','CMvSzwfZzu51BwjLCG','ywXSB3DszxnLDa','zw5HyMXLza','surhru5FuKvtrvjwrv9nqvHFvfrm','lwrPz2L0ignHCgfJAxr5icG','BMfTzq','y0rOC1i','svvdrLm','y29Kzq','x2rLzMf1BhrtzxjPywXqyxr0zxjU','DMfSDwu','tfDVqLe','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','sw52ywXPzcbMB3jTyxq6ia','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','BwvZC2fNzq','x2fSBg93uMvZzxq','ignOyxjZ','sfHHyNa','vw5RBM93BIbTB2rLoIa','BgvUz3rO','C2v0','surhru5Fsurftv9uveW','shnRv2m','zgf0zvbYzwzPEa','yM9VBgvHBG','lcaR','AgfZ','BNvTrgLNAxrZ','v3nrr24','v2fhBfe','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','x2LKzw1uveW','B1fltg4','CgfKu3rHCNq','x3zHBgLKyxrLvfrm','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','x2j1AwXKuMv1C2vlzxK','AwrLBxbVDgvUy3LlzxK','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','D2fYBG','surhru5FreLtqujmruq','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','mtCYnJm5rgnjugfH','AxnZDwvK','Chf1sNm','Dgv4Da','x3vWzgf0zu1LDge','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','ExL5Eq','zw52','CMvZB3vYy2u','z2v0q2XPzw50','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','EKrWyva'];a0_0x1d9d=function(){return _0x37cfeb;};return a0_0x1d9d();}const crypto=require(a0_0x28685f(0x1da)),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require(a0_0x28685f(0x17e)),ALLOWED_FORMATS=new Set([a0_0x28685f(0x186),a0_0x28685f(0x189),'yyyymm','yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT=a0_0x28685f(0x1a1),CHARSET_UPPER=a0_0x28685f(0x1ee),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_0x28685f(0x199),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='\x0aredis.call(\x27ZADD\x27,\x20KEYS[1],\x20ARGV[1],\x20ARGV[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x201\x0a',LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION='\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=a0_0x28685f(0x146),LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';class IdGeneratorError extends Error{constructor(_0x180566,_0x11d035,_0x21c1f5=null){const _0x255825=a0_0x28685f,_0x4159b6={'XLQPo':function(_0x46e3f4,_0x44e566){return _0x46e3f4||_0x44e566;}};super(_0x4159b6['XLQPo'](_0x11d035,_0x180566)),this[_0x255825(0x15c)]='IdGeneratorError',this[_0x255825(0x15f)]=_0x180566,this['details']=_0x21c1f5;}}class IdGenerator{constructor(){const _0x54afa0=a0_0x28685f,_0x45d3fa={'LvUJi':'6|11|9|4|7|2|8|5|0|10|3|1'},_0x14f950=_0x45d3fa[_0x54afa0(0x21d)]['split']('|');let _0x4f097f=0x0;while(!![]){switch(_0x14f950[_0x4f097f++]){case'0':this['_defaultCodePattern']=null;continue;case'1':this[_0x54afa0(0x1fd)]=null;continue;case'2':this[_0x54afa0(0x144)]=null;continue;case'3':this['_reserveDefaultTTL']=null;continue;case'4':this['_idemTTL']=null;continue;case'5':this['_defaultSerialPattern']=null;continue;case'6':this['_initialized']=![];continue;case'7':this[_0x54afa0(0x167)]=null;continue;case'8':this[_0x54afa0(0x155)]=null;continue;case'9':this['_keyPrefix']=null;continue;case'10':this[_0x54afa0(0x1b0)]=null;continue;case'11':this['_enabled']=null;continue;}break;}}['_initConfig'](){const _0x25ce63=a0_0x28685f,_0xe9b6d8={'INWNw':_0x25ce63(0x23d),'YEULt':_0x25ce63(0x136),'wGroI':function(_0x51c2d2,_0x165246,_0x49ccc1){return _0x51c2d2(_0x165246,_0x49ccc1);},'MRzXA':'idgen_config_init','eMeQw':function(_0x20e31c,_0x1b1e93,_0x3a7114){return _0x20e31c(_0x1b1e93,_0x3a7114);}},_0x76c156=_0xe9b6d8[_0x25ce63(0x129)][_0x25ce63(0x190)]('|');let _0x31ca99=0x0;while(!![]){switch(_0x76c156[_0x31ca99++]){case'0':this['_enabled']=process['env'][_0x25ce63(0x153)]===_0xe9b6d8['YEULt'];continue;case'1':this[_0x25ce63(0x144)]=parseInt(process[_0x25ce63(0x18a)][_0x25ce63(0x1d6)],0xa)||0xa;continue;case'2':this[_0x25ce63(0x22a)]=_0xe9b6d8[_0x25ce63(0x1b5)](parseInt,process[_0x25ce63(0x18a)]['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL;continue;case'3':this[_0x25ce63(0x155)]=parseInt(process['env']['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6;continue;case'4':this['_counterTTLMap']={'yyyymm':parseInt(process[_0x25ce63(0x18a)]['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x25ce63(0x18a)]['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300};continue;case'5':this['_defaultSerialPattern']=process[_0x25ce63(0x18a)][_0x25ce63(0x1b1)]||_0x25ce63(0x20d);continue;case'6':this[_0x25ce63(0x1fd)]=parseInt(process['env'][_0x25ce63(0x15a)],0xa)||MAX_RESERVE_TTL;continue;case'7':logger[_0x25ce63(0x1ef)]({'event':_0xe9b6d8['MRzXA'],'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this['_allowReset'],'defaultMaxRetry':this[_0x25ce63(0x144)],'defaultPinDigits':this[_0x25ce63(0x155)],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this[_0x25ce63(0x1fd)]},_0x25ce63(0x20c)+this[_0x25ce63(0x139)]);continue;case'8':this['_idemTTL']=_0xe9b6d8[_0x25ce63(0x209)](parseInt,process['env'][_0x25ce63(0x16d)],0xa)||0x258;continue;case'9':this['_allowReset']=process['env']['IDGEN_ALLOW_RESET']==='true';continue;case'10':this[_0x25ce63(0x1d9)]=process[_0x25ce63(0x18a)]['IDGEN_DEFAULT_CODE_PATTERN']||'9999-9999';continue;case'11':this[_0x25ce63(0x1cb)]=!![];continue;case'12':this[_0x25ce63(0x1c7)]='rf:idgen:';continue;}break;}}[a0_0x28685f(0x23f)](){const _0x4d1552=a0_0x28685f;if(!this[_0x4d1552(0x1cb)])this[_0x4d1552(0x1e9)]();}get[a0_0x28685f(0x159)](){const _0x3b901d=a0_0x28685f;return this[_0x3b901d(0x23f)](),this['_enabled'];}get['keyPrefix'](){return this['_ensureInitialized'](),this['_keyPrefix'];}get[a0_0x28685f(0x130)](){const _0x53813d=a0_0x28685f;return this['_ensureInitialized'](),this[_0x53813d(0x177)];}get[a0_0x28685f(0x158)](){const _0x331312=a0_0x28685f;return this['_ensureInitialized'](),this[_0x331312(0x167)];}get[a0_0x28685f(0x1ae)](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){const _0x3df12b=a0_0x28685f;return this['_ensureInitialized'](),this[_0x3df12b(0x155)];}get['defaultSerialPattern'](){const _0x323369=a0_0x28685f;return this['_ensureInitialized'](),this[_0x323369(0x160)];}get[a0_0x28685f(0x1e3)](){const _0x44f27f=a0_0x28685f;return this[_0x44f27f(0x23f)](),this[_0x44f27f(0x1d9)];}get[a0_0x28685f(0x1ac)](){const _0x2a4d2f=a0_0x28685f;return this['_ensureInitialized'](),this[_0x2a4d2f(0x22a)];}get['reserveMaxTTL'](){return this['_ensureInitialized'](),this['_reserveMaxTTL'];}[a0_0x28685f(0x198)](){const _0x208c9d=a0_0x28685f;return this[_0x208c9d(0x159)];}[a0_0x28685f(0x135)](_0x5df3cf){const _0x16b06c=a0_0x28685f,_0x4dfd09={'vtNwd':'IDGEN_INVALID_RESOURCE'};if(typeof _0x5df3cf!==_0x16b06c(0x220)||!RESOURCE_REGEX[_0x16b06c(0x1f9)](_0x5df3cf))throw new IdGeneratorError(_0x4dfd09['vtNwd'],_0x16b06c(0x13e)+RESOURCE_REGEX+_0x16b06c(0x21b)+JSON[_0x16b06c(0x1d5)](_0x5df3cf)+')');}['_validateNumberParams'](_0x1538b4){const _0x59f670=a0_0x28685f,_0x3c4b7e={'THebV':function(_0x384b16,_0x2dd6ba){return _0x384b16===_0x2dd6ba;},'vUefM':_0x59f670(0x1d7),'nzkbu':_0x59f670(0x220),'WaGlQ':'IDGEN_INVALID_PREFIX','gLlOJ':function(_0x3e5556,_0x4f0a18){return _0x3e5556!==_0x4f0a18;},'AsDKp':function(_0x117680,_0x45f4fd){return _0x117680!=_0x45f4fd;},'zDpaP':_0x59f670(0x170),'oOCSE':_0x59f670(0x1f0)},{resource:_0x12ef64,format:_0x46d45e,prefix:_0x4e45a2,separator:_0x3d3b9c,numDigits:_0x4d0c26,reuseDelete:_0x2ca659}=_0x1538b4;this[_0x59f670(0x135)](_0x12ef64);const _0x17b76c=_0x3c4b7e[_0x59f670(0x1c3)](typeof _0x46d45e,'string')?_0x46d45e['toLowerCase']():'';if(!ALLOWED_FORMATS[_0x59f670(0x172)](_0x17b76c))throw new IdGeneratorError(_0x3c4b7e['vUefM'],_0x59f670(0x216)+[...ALLOWED_FORMATS]['join'](',\x20')+_0x59f670(0x21b)+_0x46d45e+')');if(!Number[_0x59f670(0x239)](_0x4d0c26)||_0x4d0c26<MIN_NUM_DIGITS||_0x4d0c26>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x59f670(0x22b),'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x4d0c26+')');const _0x460ec4=_0x4e45a2==null?'':_0x4e45a2;if(typeof _0x460ec4!==_0x3c4b7e[_0x59f670(0x225)]||!PREFIX_REGEX[_0x59f670(0x1f9)](_0x460ec4))throw new IdGeneratorError(_0x3c4b7e[_0x59f670(0x175)],_0x59f670(0x1b3)+PREFIX_REGEX+'\x20(got:\x20'+JSON[_0x59f670(0x1d5)](_0x4e45a2)+')');const _0xb4ffc=_0x3d3b9c==null?'':_0x3d3b9c;if(_0x3c4b7e['gLlOJ'](typeof _0xb4ffc,'string')||_0xb4ffc['length']>0x3||SEPARATOR_FORBIDDEN['test'](_0xb4ffc))throw new IdGeneratorError('IDGEN_INVALID_SEPARATOR','Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON[_0x59f670(0x1d5)](_0x3d3b9c)+')');if(_0x3c4b7e['AsDKp'](_0x2ca659,null)&&typeof _0x2ca659!==_0x3c4b7e[_0x59f670(0x18f)])throw new IdGeneratorError(_0x3c4b7e['oOCSE'],_0x59f670(0x182)+typeof _0x2ca659+')');return{'resource':_0x12ef64,'format':_0x17b76c,'prefix':_0x460ec4,'separator':_0xb4ffc,'numDigits':_0x4d0c26,'reuseDelete':_0x3c4b7e[_0x59f670(0x1c3)](_0x2ca659,!![])};}['_validatePattern'](_0x23b5e3){const _0x42aed9=a0_0x28685f,_0x1d6971={'jedMT':function(_0x2db089,_0xb1cbe){return _0x2db089!==_0xb1cbe;},'oFdRX':function(_0x2a2127,_0x428a62){return _0x2a2127===_0x428a62;},'UeALB':function(_0x51ebf9,_0x1b4be5){return _0x51ebf9>_0x1b4be5;},'pcpAF':'IDGEN_INVALID_PATTERN'};if(_0x1d6971[_0x42aed9(0x1ea)](typeof _0x23b5e3,_0x42aed9(0x220))||_0x1d6971[_0x42aed9(0x196)](_0x23b5e3[_0x42aed9(0x16b)],0x0)||_0x1d6971['UeALB'](_0x23b5e3[_0x42aed9(0x16b)],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0x1d6971[_0x42aed9(0x210)],_0x42aed9(0x1f1)+MAX_PATTERN_LENGTH+_0x42aed9(0x208)+(_0x23b5e3&&_0x23b5e3[_0x42aed9(0x16b)])+')');let _0xa55bb0=![];for(const _0x5b8045 of _0x23b5e3){if(PLACEHOLDER_MAP[_0x5b8045]){_0xa55bb0=!![];break;}}if(!_0xa55bb0)throw new IdGeneratorError(_0x1d6971[_0x42aed9(0x210)],_0x42aed9(0x14a));}['_validateTTL'](_0x454aad){const _0x294e26=a0_0x28685f;if(_0x454aad==null)return undefined;if(!Number['isInteger'](_0x454aad)||_0x454aad<0x1||_0x454aad>MAX_TTL)throw new IdGeneratorError('IDGEN_INVALID_TTL','Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+_0x294e26(0x1ce)+_0x454aad+')');return _0x454aad;}['_validateMaxRetry'](_0x4b4753){const _0x535b96=a0_0x28685f,_0x3d27fd={'wtzTh':'IDGEN_INVALID_MAX_RETRY'};if(_0x4b4753==null)return this['defaultMaxRetry'];if(!Number[_0x535b96(0x239)](_0x4b4753)||_0x4b4753<0x1||_0x4b4753>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x3d27fd['wtzTh'],'Invalid\x20maxRetry:\x20must\x20be\x20integer\x201-'+MAX_RETRY_LIMIT+_0x535b96(0x21b)+_0x4b4753+')');return _0x4b4753;}['_validateIdempotencyKey'](_0x59fd9f){const _0x477773=a0_0x28685f,_0x24eb48={'inRGo':function(_0x2776eb,_0x378706){return _0x2776eb===_0x378706;},'smHWH':function(_0x812f16,_0x49fd38){return _0x812f16>_0x49fd38;},'YfdKQ':_0x477773(0x1f0)};if(_0x59fd9f==null)return undefined;if(typeof _0x59fd9f!==_0x477773(0x220)||_0x24eb48['inRGo'](_0x59fd9f['length'],0x0)||_0x24eb48['smHWH'](_0x59fd9f[_0x477773(0x16b)],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x24eb48[_0x477773(0x1cc)],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+_0x477773(0x168));return _0x59fd9f;}['_validateReserveTTL'](_0x205d82){const _0xe9ca48=a0_0x28685f,_0x5a530a={'gnfkv':function(_0x336fd5,_0x16d777){return _0x336fd5==_0x16d777;}};if(_0x5a530a[_0xe9ca48(0x1e0)](_0x205d82,null))return this['reserveDefaultTTL'];if(!Number['isInteger'](_0x205d82)||_0x205d82<MIN_RESERVE_TTL||_0x205d82>this[_0xe9ca48(0x205)])throw new IdGeneratorError('IDGEN_INVALID_RESERVE_TTL','Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this[_0xe9ca48(0x205)]+'\x20seconds\x20(got:\x20'+_0x205d82+')');return _0x205d82;}['_validateReservationToken'](_0x1d7ac5){const _0x4be21f=a0_0x28685f,_0xb21184={'TfpFc':function(_0x3d922a,_0xfb7e25){return _0x3d922a!==_0xfb7e25;},'BUprW':'string','AJeIN':'IDGEN_INVALID_TOKEN'};if(_0xb21184['TfpFc'](typeof _0x1d7ac5,_0xb21184[_0x4be21f(0x133)])||!RESERVATION_TOKEN_REGEX[_0x4be21f(0x1f9)](_0x1d7ac5))throw new IdGeneratorError(_0xb21184['AJeIN'],_0x4be21f(0x1ab)+JSON['stringify'](_0x1d7ac5)+')');return _0x1d7ac5;}['_pad2'](_0x23e16c){return String(_0x23e16c)['padStart'](0x2,'0');}[a0_0x28685f(0x1f2)](_0x217660,_0x45f403,_0x55fc0b=new Date()){const _0x293c10=a0_0x28685f,_0x2a7404={'pRcqL':function(_0x48d599,_0x1aa357){return _0x48d599+_0x1aa357;},'tOEJs':function(_0x389f02,_0x3584dc){return _0x389f02||_0x3584dc;},'Wjetf':_0x293c10(0x189),'byTGw':'yyyymm','yiUTN':'yyyymmdd','tZVtD':'IDGEN_INVALID_FORMAT'},_0x1311f8=_0x55fc0b[_0x293c10(0x1e4)](),_0xe0465a=this['_pad2'](_0x2a7404['pRcqL'](_0x55fc0b[_0x293c10(0x232)](),0x1)),_0x3a765b=this['_pad2'](_0x55fc0b[_0x293c10(0x1f3)]()),_0x2d3987=_0x2a7404['tOEJs'](_0x45f403,'_');let _0x285204,_0x1ff848='';switch(_0x217660){case'text':_0x285204=_0x2d3987+_0x293c10(0x1f8);break;case _0x2a7404[_0x293c10(0x218)]:_0x1ff848=''+_0x1311f8,_0x285204=_0x2d3987+_0x293c10(0x1f6)+_0x1ff848;break;case _0x2a7404[_0x293c10(0x1ad)]:_0x1ff848=''+_0x1311f8+_0xe0465a,_0x285204=_0x2d3987+'_yyyymm_'+_0x1ff848;break;case _0x2a7404['yiUTN']:_0x1ff848=''+_0x1311f8+_0xe0465a+_0x3a765b,_0x285204=_0x2d3987+'_yyyymmdd_'+_0x1ff848;break;default:throw new IdGeneratorError(_0x2a7404['tZVtD'],_0x293c10(0x1b6)+_0x217660);}return{'formatKey':_0x285204,'datePrefix':_0x1ff848};}[a0_0x28685f(0x229)](_0x435ab9,_0xc39db3){const _0x273bac=a0_0x28685f;return this[_0x273bac(0x217)]+_0x273bac(0x1c9)+_0x435ab9+':'+_0xc39db3;}[a0_0x28685f(0x17c)](_0x4ce395,_0x36d091){return this['keyPrefix']+'reuse:'+_0x4ce395+':'+_0x36d091;}[a0_0x28685f(0x1a3)](_0x137a4e,_0x596640){return this['keyPrefix']+'meta:'+_0x137a4e+':'+_0x596640;}['_buildIssuedKey'](_0x83cb6a){const _0xcf4e40=a0_0x28685f;return this['keyPrefix']+_0xcf4e40(0x143)+_0x83cb6a;}[a0_0x28685f(0x20e)](_0x49ff6e,_0x345864){return this['keyPrefix']+'active:'+_0x49ff6e+':'+_0x345864;}[a0_0x28685f(0x238)](_0x8620e8){const _0x32d296=a0_0x28685f;return this[_0x32d296(0x217)]+'rsv:'+_0x8620e8;}[a0_0x28685f(0x18d)](_0x24d80d,_0x2417ee){const _0xf14e60=a0_0x28685f;return this['keyPrefix']+_0xf14e60(0x13d)+_0x24d80d+':'+_0x2417ee;}['_buildReservationKeyPrefix'](){const _0x40b677=a0_0x28685f;return this[_0x40b677(0x217)]+_0x40b677(0x1e8);}[a0_0x28685f(0x1fc)](_0x2f74b1,_0x212e00,_0x38dc92,_0xa5488f){const _0x2a8a03=a0_0x28685f,_0x3816e1={'VAvXO':'idgen'};if(_0x38dc92)return idempotencyManager[_0x2a8a03(0x138)](_0x3816e1['VAvXO'],_0x2f74b1,_0x212e00+':'+_0x38dc92+':'+_0xa5488f);return idempotencyManager['buildDeterministicKey'](_0x2a8a03(0x197),_0x2f74b1,_0x212e00+':'+_0xa5488f);}[a0_0x28685f(0x1b2)](_0x5543af){const _0x2df143=a0_0x28685f;return this[_0x2df143(0x1b0)][_0x5543af]||0x0;}[a0_0x28685f(0x1de)]({format:_0x9e2157,prefix:_0x3537ba,datePrefix:_0xf5fb43,separator:_0x5dcb19,numDigits:_0x535126,counterInt:_0x19b5fa}){const _0x432d6a=a0_0x28685f,_0x43c998={'ByYYk':function(_0x54c959,_0x3abe0c){return _0x54c959-_0x3abe0c;},'fmdTS':function(_0x1f789a,_0xaaf9de){return _0x1f789a>_0xaaf9de;}},_0x512132=_0x43c998[_0x432d6a(0x19c)](Math['pow'](0xa,_0x535126),0x1);if(_0x43c998[_0x432d6a(0x1e1)](_0x19b5fa,_0x512132))throw new IdGeneratorError(_0x432d6a(0x19a),'Counter\x20overflow:\x20'+_0x19b5fa+'\x20exceeds\x20'+_0x535126+_0x432d6a(0x15b)+_0x512132+_0x432d6a(0x204),{'counterInt':_0x19b5fa,'numDigits':_0x535126,'max':_0x512132});const _0x186cc2=String(_0x19b5fa)[_0x432d6a(0x179)](_0x535126,'0');if(_0x9e2157==='text')return _0x3537ba?''+_0x3537ba+_0x5dcb19+_0x186cc2:_0x186cc2;return _0x3537ba?''+_0x3537ba+_0x5dcb19+_0xf5fb43+_0x5dcb19+_0x186cc2:''+_0xf5fb43+_0x5dcb19+_0x186cc2;}[a0_0x28685f(0x14f)]({format:_0x4ee7df,prefix:_0x27b345,separator:_0x2a27f9,numDigits:_0x30ff47,number:_0x42024c}){const _0xa6480f=a0_0x28685f,_0x1827db={'faGFQ':function(_0x2aedbc,_0x466d75){return _0x2aedbc!==_0x466d75;},'WeDUx':function(_0x3ab97c,_0xc542f){return _0x3ab97c===_0xc542f;},'amzUc':_0xa6480f(0x186),'xSCFS':function(_0x4ee6d7,_0x3083ad){return _0x4ee6d7!==_0x3083ad;},'UbdFB':'IDGEN_INVALID_NUMBER','iThsw':_0xa6480f(0x189),'ulPGA':_0xa6480f(0x1bc),'AooRI':function(_0x2cfa96,_0x9e1601,_0x20aaf3){return _0x2cfa96(_0x9e1601,_0x20aaf3);},'WsQGn':function(_0x5635a3,_0x12fe95){return _0x5635a3||_0x12fe95;}};if(_0x1827db[_0xa6480f(0x150)](typeof _0x42024c,_0xa6480f(0x220))||_0x42024c[_0xa6480f(0x16b)]===0x0)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0xa6480f(0x23e));const _0x792686=_0x2a27f9||'',_0x2d8cc0=_0x1827db['WeDUx'](_0x792686,'')?[_0x42024c]:_0x42024c['split'](_0x792686);let _0x14c238='',_0x461fd4;if(_0x4ee7df===_0x1827db[_0xa6480f(0x23c)]){if(_0x27b345){if(_0x2d8cc0['length']!==0x2||_0x2d8cc0[0x0]!==_0x27b345)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0x792686+_0xa6480f(0x22d)+_0x42024c+')');_0x461fd4=_0x2d8cc0[0x1];}else{if(_0x1827db['xSCFS'](_0x2d8cc0[_0xa6480f(0x16b)],0x1))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0xa6480f(0x222)+_0x42024c+')');_0x461fd4=_0x2d8cc0[0x0];}}else{const _0x17381e=_0x27b345?0x3:0x2;if(_0x1827db[_0xa6480f(0x1c2)](_0x2d8cc0['length'],_0x17381e))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x42024c+',\x20expected\x20'+_0x17381e+'\x20parts)');let _0x1c68bc=0x0;if(_0x27b345){if(_0x1827db['faGFQ'](_0x2d8cc0[_0x1c68bc],_0x27b345))throw new IdGeneratorError(_0x1827db['UbdFB'],'Number\x20prefix\x20mismatch:\x20expected\x20'+_0x27b345+_0xa6480f(0x1a9)+_0x2d8cc0[_0x1c68bc]);_0x1c68bc++;}_0x14c238=_0x2d8cc0[_0x1c68bc++];const _0x5f04cd=_0x1827db['WeDUx'](_0x4ee7df,_0x1827db[_0xa6480f(0x191)])?/^\d{4}$/:_0x4ee7df===_0x1827db[_0xa6480f(0x1fb)]?/^\d{6}$/:/^\d{8}$/;if(!_0x5f04cd['test'](_0x14c238))throw new IdGeneratorError(_0xa6480f(0x223),_0xa6480f(0x21c)+_0x4ee7df+':\x20'+_0x14c238);_0x461fd4=_0x2d8cc0[_0x1c68bc];}if(!new RegExp('^\x5cd{'+_0x30ff47+'}$')[_0xa6480f(0x1f9)](_0x461fd4))throw new IdGeneratorError(_0x1827db['UbdFB'],_0xa6480f(0x200)+_0x30ff47+_0xa6480f(0x1ba)+_0x461fd4+')');const _0x3cea61=_0x1827db['AooRI'](parseInt,_0x461fd4,0xa),_0x524a33=_0x1827db[_0xa6480f(0x174)](_0x27b345,'_');let _0xad5cd9;return _0x4ee7df===_0x1827db[_0xa6480f(0x23c)]?_0xad5cd9=_0x524a33+_0xa6480f(0x1f8):_0xad5cd9=_0x524a33+'_'+_0x4ee7df+'_'+_0x14c238,{'formatKey':_0xad5cd9,'counterInt':_0x3cea61,'datePrefix':_0x14c238};}['_generateFromPattern'](_0x424c36){const _0x495728=a0_0x28685f;let _0x124e48='';for(const _0x419360 of _0x424c36){const _0x542458=PLACEHOLDER_MAP[_0x419360];if(_0x542458){const _0x4729b4=crypto[_0x495728(0x228)](0x0,_0x542458['length']);_0x124e48+=_0x542458[_0x4729b4];}else _0x124e48+=_0x419360;}return _0x124e48;}async[a0_0x28685f(0x1c8)](_0xf9b5c1){const _0x1a84e2=a0_0x28685f,_0x4ef70d={'PMHuq':'idgen_idem_hit','jeshK':'Idempotency\x20cache\x20HIT','wiFPK':_0x1a84e2(0x212)};if(!_0xf9b5c1)return null;try{const _0x4b4998=redisClient['getClient'](),_0x405935=await _0x4b4998['get'](_0xf9b5c1);if(_0x405935)return logger['info']({'event':_0x4ef70d[_0x1a84e2(0x206)],'key':_0xf9b5c1},_0x4ef70d['jeshK']),JSON[_0x1a84e2(0x237)](_0x405935);return null;}catch(_0x12ddb4){return logger[_0x1a84e2(0x180)]({'event':_0x1a84e2(0x156),'error':_0x12ddb4[_0x1a84e2(0x166)]},_0x4ef70d[_0x1a84e2(0x1ca)]),null;}}async['_storeIdemCache'](_0xbadc2,_0x5a9699){const _0x51445b=a0_0x28685f,_0x1f52e2={'rtINg':'idgen_idem_store_error'};if(!_0xbadc2)return;try{const _0x4d6b09=redisClient[_0x51445b(0x18c)]();await _0x4d6b09['setex'](_0xbadc2,this['idemTTL'],JSON['stringify'](_0x5a9699));}catch(_0x3a37d7){logger['warn']({'event':_0x1f52e2['rtINg'],'error':_0x3a37d7[_0x51445b(0x166)]},_0x51445b(0x13f));}}async[a0_0x28685f(0x149)](_0x4b0010,_0x386a09){const _0x1821e6=a0_0x28685f,_0x35f3fe={'yHEzG':'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result','eICXm':_0x1821e6(0x176)};if(!_0x4b0010)return{'stored':!![],'winnerResult':null};try{const _0x55b743=redisClient[_0x1821e6(0x18c)](),_0x180597=JSON['stringify'](_0x386a09),_0x5c56e7=await _0x55b743[_0x1821e6(0x16c)](_0x4b0010,_0x180597,'EX',this['idemTTL'],'NX');if(_0x5c56e7==='OK')return{'stored':!![],'winnerResult':null};const _0x1f0b42=await _0x55b743['get'](_0x4b0010);if(_0x1f0b42)return{'stored':![],'winnerResult':JSON['parse'](_0x1f0b42)};return logger['warn']({'event':_0x1821e6(0x221),'key':_0x4b0010},_0x35f3fe['yHEzG']),{'stored':!![],'winnerResult':null};}catch(_0x574232){return logger[_0x1821e6(0x180)]({'event':_0x35f3fe['eICXm'],'error':_0x574232[_0x1821e6(0x166)]},'Idempotency\x20SET\x20NX\x20error'),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x414faf,_0x1dd08d,_0x3ce72f){const _0x34bd7a=a0_0x28685f,_0x126641={'ISsrz':'idgen_random_undo_error'};try{const _0x2d4528=redisClient['getClient']();if(_0x3ce72f){const _0x38c43d=this[_0x34bd7a(0x20e)](_0x414faf,_0x1dd08d);await _0x2d4528[_0x34bd7a(0x1d4)](_0x38c43d);}else{const _0x4e8e16=this[_0x34bd7a(0x234)](_0x414faf);await _0x2d4528['srem'](_0x4e8e16,_0x1dd08d);}}catch(_0x42922d){logger[_0x34bd7a(0x180)]({'event':_0x126641['ISsrz'],'error':_0x42922d['message']},_0x34bd7a(0x17f));}}async[a0_0x28685f(0x187)](_0x498f54,_0x4d59ff,_0x16b8b6,_0x3c3ed0=0x0){const _0x392f74=a0_0x28685f,_0x9254f3={'EHPlm':function(_0x1d43ae,_0x4b4ae3){return _0x1d43ae(_0x4b4ae3);},'FrhQf':function(_0x14ca26,_0x17bda2){return _0x14ca26>_0x17bda2;},'IEaMi':_0x392f74(0x1a7),'YvJwK':_0x392f74(0x14c)};try{const _0x30a101=redisClient['getClient'](),_0x31d211=this[_0x392f74(0x1a3)](_0x498f54,_0x4d59ff),_0x7962d5=[];for(const [_0x6acffe,_0x4c9655]of Object['entries'](_0x16b8b6)){_0x7962d5['push'](_0x6acffe,_0x9254f3['EHPlm'](String,_0x4c9655));}if(_0x9254f3['FrhQf'](_0x7962d5[_0x392f74(0x16b)],0x0)){await _0x30a101['hset'](_0x31d211,..._0x7962d5);if(_0x3c3ed0>0x0)await _0x30a101[_0x392f74(0x1d1)](_0x31d211,_0x3c3ed0);}}catch(_0x28a080){logger[_0x392f74(0x180)]({'event':_0x9254f3['IEaMi'],'error':_0x28a080[_0x392f74(0x166)]},_0x9254f3['YvJwK']);}}async['number'](_0x9ebcae){const _0x44a6fe=a0_0x28685f,_0xa9ff80={'QNnGq':_0x44a6fe(0x18e),'EBFls':'number','FrHFb':function(_0x1cd8a9,_0x208563){return _0x1cd8a9(_0x208563);},'wWlqi':function(_0x579edf,_0xf95095){return _0x579edf(_0xf95095);},'CPXXv':_0x44a6fe(0x1e5),'PsqMy':'idgen_number_idem_loser','FWrQO':'idgen_number_generated'};if(!this[_0x44a6fe(0x159)])throw new IdGeneratorError(_0x44a6fe(0x181),_0xa9ff80['QNnGq']);const _0x5e6393=this[_0x44a6fe(0x20f)](_0x9ebcae),_0x3cc016=this[_0x44a6fe(0x1a5)](_0x9ebcae[_0x44a6fe(0x17d)]),{resource:_0x468a41,format:_0x4a0b4d,prefix:_0x1b4d69,separator:_0x1de196,numDigits:_0x311e24,reuseDelete:_0x287d4e}=_0x5e6393,{formatKey:_0x4644a0,datePrefix:_0x5d09ce}=this['_buildFormatKey'](_0x4a0b4d,_0x1b4d69),_0x59b7e9=this['_buildSeqKey'](_0x468a41,_0x4644a0),_0x2b0759=this[_0x44a6fe(0x17c)](_0x468a41,_0x4644a0),_0x2e89ff=this[_0x44a6fe(0x1b2)](_0x4a0b4d);let _0x469f3a=null;if(_0x3cc016){_0x469f3a=this['_buildIdemKey'](_0xa9ff80['EBFls'],_0x468a41,_0x4644a0,_0x3cc016);const _0x3c0d27=await this[_0x44a6fe(0x1c8)](_0x469f3a);if(_0x3c0d27)return _0x3c0d27;}const _0x11c8f4=redisClient['getClient'](),_0x2457a0=await _0x11c8f4['eval'](LUA_GENERATE_NUMBER,0x2,_0x59b7e9,_0x2b0759,_0x287d4e?'1':'0',_0xa9ff80['FrHFb'](String,_0x2e89ff)),_0x2207c5=_0x2457a0[0x0],_0x127ddf=_0x2457a0[0x1]===0x1,_0xb884ff=this[_0x44a6fe(0x1de)]({'format':_0x4a0b4d,'prefix':_0x1b4d69,'datePrefix':_0x5d09ce,'separator':_0x1de196,'numDigits':_0x311e24,'counterInt':_0x2207c5}),_0x2e741d={'value':_0xb884ff,'counter':_0x2207c5,'resource':_0x468a41,'formatKey':_0x4644a0,'isReused':_0x127ddf,'generatedAt':new Date()['toISOString']()},_0x28d664=await this[_0x44a6fe(0x149)](_0x469f3a,_0x2e741d);if(!_0x28d664[_0x44a6fe(0x145)]){try{await _0x11c8f4[_0x44a6fe(0x20b)](LUA_RELEASE_NUMBER,0x1,_0x2b0759,_0xa9ff80[_0x44a6fe(0x1d0)](String,_0x2207c5),_0xa9ff80[_0x44a6fe(0x1d0)](String,_0x2e89ff));}catch(_0x38b2b7){logger['warn']({'event':_0xa9ff80['CPXXv'],'error':_0x38b2b7[_0x44a6fe(0x166)],'resource':_0x468a41,'formatKey':_0x4644a0,'counterInt':_0x2207c5},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger[_0x44a6fe(0x1ef)]({'event':_0xa9ff80['PsqMy'],'resource':_0x468a41,'formatKey':_0x4644a0,'counter':_0x2207c5},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x28d664[_0x44a6fe(0x22e)];}return this[_0x44a6fe(0x187)](_0x468a41,_0x4644a0,{'lastValue':_0xb884ff,'lastCounter':_0x2207c5,'lastIsReused':_0x127ddf,'lastGeneratedAt':_0x2e741d[_0x44a6fe(0x21e)]},_0x2e89ff),logger[_0x44a6fe(0x1ef)]({'event':_0xa9ff80['FWrQO'],'resource':_0x468a41,'formatKey':_0x4644a0,'counter':_0x2207c5,'isReused':_0x127ddf},'ID\x20Generator\x20number:\x20'+_0xb884ff),_0x2e741d;}async[a0_0x28685f(0x157)](_0x3ef4d5){const _0x4152e9=a0_0x28685f,_0x41ce06={'rlTkC':'IDGEN_DISABLED','HskWc':'ID\x20Generator\x20is\x20disabled','zUKkF':function(_0x4570ea,_0x3ded70){return _0x4570ea!==_0x3ded70;},'HeiZD':_0x4152e9(0x223),'vRRiH':'release','vvQQS':_0x4152e9(0x188)};if(!this[_0x4152e9(0x159)])throw new IdGeneratorError(_0x41ce06['rlTkC'],_0x41ce06[_0x4152e9(0x16e)]);let _0x444877,_0x2fdd35,_0x550008,_0x30d0b8;const _0x4009ee=this[_0x4152e9(0x1a5)](_0x3ef4d5[_0x4152e9(0x17d)]);if(_0x3ef4d5['counterInt']!==undefined&&_0x41ce06['zUKkF'](_0x3ef4d5['counterInt'],null)){this['_validateResource'](_0x3ef4d5[_0x4152e9(0x18b)]),_0x444877=_0x3ef4d5['resource'];if(_0x41ce06['zUKkF'](typeof _0x3ef4d5['formatKey'],'string')||_0x3ef4d5['formatKey'][_0x4152e9(0x16b)]===0x0)throw new IdGeneratorError(_0x41ce06['HeiZD'],'formatKey\x20is\x20required\x20in\x20low-level\x20release');_0x2fdd35=_0x3ef4d5[_0x4152e9(0x13a)];if(!Number['isInteger'](_0x3ef4d5['counterInt'])||_0x3ef4d5['counterInt']<0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x3ef4d5[_0x4152e9(0x226)]+')');_0x550008=_0x3ef4d5[_0x4152e9(0x226)];const _0x320be2=_0x2fdd35[_0x4152e9(0x12f)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x30d0b8=_0x320be2?_0x320be2[0x1]:_0x4152e9(0x186);}else{const _0x4bfcc1=this[_0x4152e9(0x20f)](_0x3ef4d5),_0x47c574=this[_0x4152e9(0x14f)]({'format':_0x4bfcc1[_0x4152e9(0x14e)],'prefix':_0x4bfcc1['prefix'],'separator':_0x4bfcc1['separator'],'numDigits':_0x4bfcc1[_0x4152e9(0x173)],'number':_0x3ef4d5[_0x4152e9(0x1ff)]});_0x444877=_0x4bfcc1[_0x4152e9(0x18b)],_0x2fdd35=_0x47c574[_0x4152e9(0x13a)],_0x550008=_0x47c574['counterInt'],_0x30d0b8=_0x4bfcc1['format'];}const _0x3308e9=this[_0x4152e9(0x17c)](_0x444877,_0x2fdd35),_0x2038c2=this[_0x4152e9(0x1b2)](_0x30d0b8);let _0x26801a=null;if(_0x4009ee){_0x26801a=this[_0x4152e9(0x1fc)](_0x41ce06[_0x4152e9(0x1ed)],_0x444877,_0x2fdd35,_0x4009ee);const _0x4c4673=await this[_0x4152e9(0x1c8)](_0x26801a);if(_0x4c4673)return _0x4c4673;}const _0x1d562a=redisClient['getClient']();await _0x1d562a[_0x4152e9(0x20b)](LUA_RELEASE_NUMBER,0x1,_0x3308e9,String(_0x550008),String(_0x2038c2));const _0x101dce={'released':!![],'resource':_0x444877,'formatKey':_0x2fdd35,'counter':_0x550008,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x26801a,_0x101dce),this[_0x4152e9(0x187)](_0x444877,_0x2fdd35,{'lastReleasedCounter':_0x550008,'lastReleasedAt':_0x101dce['releasedAt']},_0x2038c2),logger['info']({'event':_0x41ce06[_0x4152e9(0x1bd)],'resource':_0x444877,'formatKey':_0x2fdd35,'counter':_0x550008},_0x4152e9(0x1aa)+_0x550008),_0x101dce;}async[a0_0x28685f(0x1cf)](_0x426189){const _0x4ef2b4=a0_0x28685f,_0x2d53ee={'LWoBQ':_0x4ef2b4(0x18e),'swJmQ':function(_0x1a2120,_0x51a59c){return _0x1a2120+_0x51a59c;},'BEXFp':'format','cRVgn':_0x4ef2b4(0x1cd),'udXuk':function(_0x2178ce,_0x2fc8a9){return _0x2178ce(_0x2fc8a9);},'iLYFj':function(_0x389cf3,_0x577e06){return _0x389cf3||_0x577e06;},'uvXbl':'createdAt','CkyGW':function(_0x54e6b7,_0x14ca35){return _0x54e6b7(_0x14ca35);},'TtaVU':function(_0x15a6b7,_0x22e437){return _0x15a6b7(_0x22e437);},'YXnvq':function(_0x55cf1b,_0x3dc7c4){return _0x55cf1b===_0x3dc7c4;},'fTwAn':_0x4ef2b4(0x161),'DNiKc':_0x4ef2b4(0x12e),'IUCFS':'idgen_reserve_idem_loser_cancel_error'};if(!this[_0x4ef2b4(0x159)])throw new IdGeneratorError(_0x4ef2b4(0x181),_0x2d53ee[_0x4ef2b4(0x162)]);const _0x438432=this['_validateNumberParams'](_0x426189),_0x161560=this['_validateReserveTTL'](_0x426189[_0x4ef2b4(0x14b)]),_0x3ac8c5=this[_0x4ef2b4(0x1a5)](_0x426189['idempotencyKey']),{resource:_0x53c871,format:_0x55e09e,prefix:_0x5e365f,separator:_0x42d302,numDigits:_0x23663b,reuseDelete:_0x44e6b2}=_0x438432,{formatKey:_0x5eefd2,datePrefix:_0x25751d}=this['_buildFormatKey'](_0x55e09e,_0x5e365f),_0x3240d3=this['_buildSeqKey'](_0x53c871,_0x5eefd2),_0x29764d=this['_buildReuseKey'](_0x53c871,_0x5eefd2),_0x111065=this['_buildReservationIndexKey'](_0x53c871,_0x5eefd2),_0x56fd51=this['_getCounterTTL'](_0x55e09e);let _0x1f12f0=null;if(_0x3ac8c5){_0x1f12f0=this[_0x4ef2b4(0x1fc)](_0x4ef2b4(0x1f5),_0x53c871,_0x5eefd2,_0x3ac8c5);const _0x3be263=await this['_retrieveIdemCache'](_0x1f12f0);if(_0x3be263)return _0x3be263;}const _0x3803bb=crypto['randomUUID'](),_0x2fc31b=this['_buildReservationKey'](_0x3803bb),_0x2eb1f5=this[_0x4ef2b4(0x17b)](),_0x43204d=Date['now'](),_0x9ffc83=_0x2d53ee['swJmQ'](_0x43204d,_0x161560*0x3e8),_0x5c641b=_0x161560*0x3e8,_0x140682=new Date(_0x43204d)[_0x4ef2b4(0x203)](),_0x3b407e=new Date(_0x9ffc83)['toISOString'](),_0x27f527=['resource',_0x53c871,_0x4ef2b4(0x13a),_0x5eefd2,_0x2d53ee[_0x4ef2b4(0x1b9)],_0x55e09e,'prefix',_0x5e365f,_0x2d53ee[_0x4ef2b4(0x1f4)],_0x42d302,_0x4ef2b4(0x173),_0x2d53ee['udXuk'](String,_0x23663b),_0x4ef2b4(0x16f),_0x2d53ee['iLYFj'](_0x25751d,''),_0x2d53ee[_0x4ef2b4(0x231)],_0x140682,'expiresAt',_0x3b407e,'ttlMs',_0x2d53ee['CkyGW'](String,_0x5c641b)];_0x3ac8c5&&_0x27f527[_0x4ef2b4(0x1b4)]('idemKey',_0x3ac8c5);const _0x40b3ba=redisClient[_0x4ef2b4(0x18c)](),_0x7781d3=await _0x40b3ba[_0x4ef2b4(0x20b)](LUA_RESERVE_NUMBER,0x3,_0x3240d3,_0x29764d,_0x111065,_0x44e6b2?'1':'0',String(_0x56fd51),_0x3803bb,_0x2fc31b,_0x2d53ee[_0x4ef2b4(0x151)](String,_0x5c641b),String(_0x9ffc83),_0x2d53ee['TtaVU'](String,_0x43204d),_0x2eb1f5,..._0x27f527),_0x5e17f0=_0x7781d3[0x0],_0x10fd78=_0x2d53ee['YXnvq'](_0x7781d3[0x1],0x1),_0x4ead83=_0x7781d3[0x2]||0x0;let _0x126d06;try{_0x126d06=this[_0x4ef2b4(0x1de)]({'format':_0x55e09e,'prefix':_0x5e365f,'datePrefix':_0x25751d,'separator':_0x42d302,'numDigits':_0x23663b,'counterInt':_0x5e17f0});}catch(_0x3d9ed1){try{await _0x40b3ba[_0x4ef2b4(0x20b)](LUA_CANCEL_RESERVATION,0x3,_0x2fc31b,_0x111065,_0x29764d,_0x3803bb,_0x2d53ee[_0x4ef2b4(0x1d3)](String,_0x56fd51));}catch(_0x4ad636){logger[_0x4ef2b4(0x180)]({'event':_0x4ef2b4(0x12b),'error':_0x4ad636[_0x4ef2b4(0x166)],'resource':_0x53c871,'formatKey':_0x5eefd2,'counterInt':_0x5e17f0,'token':_0x3803bb},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x3d9ed1;}try{await _0x40b3ba['hset'](_0x2fc31b,_0x2d53ee[_0x4ef2b4(0x1af)],_0x126d06);}catch(_0x58515b){logger[_0x4ef2b4(0x180)]({'event':'idgen_reserve_value_persist_error','error':_0x58515b['message'],'resource':_0x53c871,'formatKey':_0x5eefd2,'counterInt':_0x5e17f0,'token':_0x3803bb},_0x2d53ee[_0x4ef2b4(0x236)]);}const _0x18b752={'token':_0x3803bb,'value':_0x126d06,'counter':_0x5e17f0,'resource':_0x53c871,'formatKey':_0x5eefd2,'isReused':_0x10fd78,'createdAt':_0x140682,'expiresAt':_0x3b407e,'reapedCount':_0x4ead83},_0x168bd8=await this[_0x4ef2b4(0x149)](_0x1f12f0,_0x18b752);if(!_0x168bd8[_0x4ef2b4(0x145)]){try{await _0x40b3ba['eval'](LUA_CANCEL_RESERVATION,0x3,_0x2fc31b,_0x111065,_0x29764d,_0x3803bb,String(_0x56fd51));}catch(_0x36f7eb){logger['warn']({'event':_0x2d53ee[_0x4ef2b4(0x15e)],'error':_0x36f7eb['message'],'resource':_0x53c871,'formatKey':_0x5eefd2,'counterInt':_0x5e17f0,'token':_0x3803bb},'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser');}return logger[_0x4ef2b4(0x1ef)]({'event':_0x4ef2b4(0x23a),'resource':_0x53c871,'formatKey':_0x5eefd2,'counter':_0x5e17f0,'token':_0x3803bb},_0x4ef2b4(0x140)),_0x168bd8[_0x4ef2b4(0x22e)];}return this[_0x4ef2b4(0x187)](_0x53c871,_0x5eefd2,{'lastReservedCounter':_0x5e17f0,'lastReservedAt':_0x140682,'lastReapedCount':_0x4ead83},_0x56fd51),logger['info']({'event':_0x4ef2b4(0x192),'resource':_0x53c871,'formatKey':_0x5eefd2,'counter':_0x5e17f0,'isReused':_0x10fd78,'token':_0x3803bb,'ttl':_0x161560,'reapedCount':_0x4ead83},'ID\x20Generator\x20number\x20reserved:\x20'+_0x126d06+'\x20(token='+_0x3803bb+')'),_0x18b752;}async['confirmReservation'](_0x487fe1){const _0x5e923a=a0_0x28685f,_0x1716d2={'SkAmh':'idgen','RffLx':function(_0x2c6539,_0x3911a2){return _0x2c6539!==_0x3911a2;},'BpcVv':_0x5e923a(0x211)};if(!this[_0x5e923a(0x159)])throw new IdGeneratorError(_0x5e923a(0x181),_0x5e923a(0x132));const _0x4576d8=this['_validateReservationToken'](_0x487fe1&&_0x487fe1[_0x5e923a(0x1e2)]),_0x20612c=this[_0x5e923a(0x1a5)](_0x487fe1&&_0x487fe1[_0x5e923a(0x17d)]);let _0x43a701=null;if(_0x20612c){_0x43a701=idempotencyManager['buildDeterministicKey'](_0x1716d2['SkAmh'],_0x5e923a(0x148),_0x4576d8+':'+_0x20612c);const _0x162445=await this[_0x5e923a(0x1c8)](_0x43a701);if(_0x162445)return _0x162445;}const _0x289b21=await this['_getReservationContext'](_0x4576d8),_0x27292e=redisClient['getClient'](),_0x246cf6=await _0x27292e['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x289b21[_0x5e923a(0x141)],_0x289b21[_0x5e923a(0x21f)],_0x4576d8);if(!_0x246cf6||_0x1716d2[_0x5e923a(0x1a4)](_0x246cf6[0x0],0x1))throw new IdGeneratorError(_0x5e923a(0x137),_0x5e923a(0x12a)+_0x4576d8,{'token':_0x4576d8});const _0x497d34=parseInt(_0x246cf6[0x1],0xa),_0x387685=_0x246cf6[0x2],_0x5a5ea1=_0x246cf6[0x3],_0xb2ba24=new Date()[_0x5e923a(0x203)](),_0x38ae87={'confirmed':!![],'token':_0x4576d8,'value':_0x387685,'counter':_0x497d34,'resource':_0x289b21[_0x5e923a(0x18b)],'formatKey':_0x5a5ea1,'confirmedAt':_0xb2ba24};await this[_0x5e923a(0x1a6)](_0x43a701,_0x38ae87);const _0x21231f=_0x5a5ea1[_0x5e923a(0x12f)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x67ef7d=_0x21231f?_0x21231f[0x1]:'text',_0x45cbc9=this[_0x5e923a(0x1b2)](_0x67ef7d);return this[_0x5e923a(0x187)](_0x289b21[_0x5e923a(0x18b)],_0x5a5ea1,{'lastConfirmedCounter':_0x497d34,'lastConfirmedAt':_0xb2ba24},_0x45cbc9),logger['info']({'event':_0x1716d2[_0x5e923a(0x1bf)],'resource':_0x289b21[_0x5e923a(0x18b)],'formatKey':_0x5a5ea1,'counter':_0x497d34,'token':_0x4576d8},_0x5e923a(0x1a8)+_0x387685+'\x20(token='+_0x4576d8+')'),_0x38ae87;}async[a0_0x28685f(0x201)](_0x4f0e5a){const _0x2c1bff=a0_0x28685f,_0x28c4f={'AsbVq':'idgen','qmdJb':_0x2c1bff(0x186),'mZQIP':function(_0x3a3cdd,_0x185214){return _0x3a3cdd(_0x185214);},'DrkDI':_0x2c1bff(0x137)};if(!this['enabled'])throw new IdGeneratorError(_0x2c1bff(0x181),_0x2c1bff(0x132));const _0x2aac8b=this[_0x2c1bff(0x142)](_0x4f0e5a&&_0x4f0e5a['token']),_0x92aae6=this[_0x2c1bff(0x1a5)](_0x4f0e5a&&_0x4f0e5a['idempotencyKey']);let _0x16bb23=null;if(_0x92aae6){_0x16bb23=idempotencyManager['buildDeterministicKey'](_0x28c4f['AsbVq'],_0x2c1bff(0x1e7),_0x2aac8b+':'+_0x92aae6);const _0x321f25=await this[_0x2c1bff(0x1c8)](_0x16bb23);if(_0x321f25)return _0x321f25;}const _0x3adb69=await this['_getReservationContext'](_0x2aac8b),_0x47422d=this['_buildReuseKey'](_0x3adb69[_0x2c1bff(0x18b)],_0x3adb69[_0x2c1bff(0x13a)]),_0x43e15f=_0x3adb69['formatKey'][_0x2c1bff(0x12f)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x52f5dd=_0x43e15f?_0x43e15f[0x1]:_0x28c4f['qmdJb'],_0x2f622a=this[_0x2c1bff(0x1b2)](_0x52f5dd),_0x11a2cb=redisClient[_0x2c1bff(0x18c)](),_0x3d6b13=await _0x11a2cb[_0x2c1bff(0x20b)](LUA_CANCEL_RESERVATION,0x3,_0x3adb69['rsvKey'],_0x3adb69[_0x2c1bff(0x21f)],_0x47422d,_0x2aac8b,_0x28c4f['mZQIP'](String,_0x2f622a));if(!_0x3d6b13||_0x3d6b13[0x0]!==0x1)throw new IdGeneratorError(_0x28c4f['DrkDI'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x2aac8b,{'token':_0x2aac8b});const _0x31193e=parseInt(_0x3d6b13[0x1],0xa),_0x490425=_0x3d6b13[0x2],_0x542fe6=_0x3d6b13[0x3],_0x266946=new Date()[_0x2c1bff(0x203)](),_0x2f6957={'cancelled':!![],'token':_0x2aac8b,'value':_0x490425,'counter':_0x31193e,'resource':_0x3adb69['resource'],'formatKey':_0x542fe6,'releasedToReuse':!![],'cancelledAt':_0x266946};return await this['_storeIdemCache'](_0x16bb23,_0x2f6957),this[_0x2c1bff(0x187)](_0x3adb69['resource'],_0x542fe6,{'lastCancelledCounter':_0x31193e,'lastCancelledAt':_0x266946},_0x2f622a),logger['info']({'event':_0x2c1bff(0x1d8),'resource':_0x3adb69['resource'],'formatKey':_0x542fe6,'counter':_0x31193e,'token':_0x2aac8b},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x490425+'\x20(token='+_0x2aac8b+')'),_0x2f6957;}async[a0_0x28685f(0x214)](_0x3daf41){const _0x5da907=a0_0x28685f,_0x605322={'fZhTN':_0x5da907(0x181),'IfuQc':'reserve_extend','pAYpJ':function(_0x702fb,_0x2e73d4){return _0x702fb*_0x2e73d4;},'ruNyG':function(_0x178a70,_0xb4de01){return _0x178a70(_0xb4de01);},'swFqP':function(_0x254e2d,_0x1dc827,_0x5b1c33){return _0x254e2d(_0x1dc827,_0x5b1c33);}};if(!this['enabled'])throw new IdGeneratorError(_0x605322['fZhTN'],_0x5da907(0x132));const _0x478bad=this['_validateReservationToken'](_0x3daf41&&_0x3daf41['token']),_0x1486f3=this['_validateReserveTTL'](_0x3daf41&&_0x3daf41['ttl']),_0x2f5cbc=this['_validateIdempotencyKey'](_0x3daf41&&_0x3daf41['idempotencyKey']);let _0x4e46a0=null;if(_0x2f5cbc){_0x4e46a0=idempotencyManager['buildDeterministicKey']('idgen',_0x605322['IfuQc'],_0x478bad+':'+_0x2f5cbc);const _0x7e49b8=await this['_retrieveIdemCache'](_0x4e46a0);if(_0x7e49b8)return _0x7e49b8;}const _0x588e15=await this[_0x5da907(0x165)](_0x478bad),_0x29e5fc=Date[_0x5da907(0x12d)](),_0x1335d1=_0x29e5fc+_0x605322['pAYpJ'](_0x1486f3,0x3e8),_0x4010a1=_0x1486f3*0x3e8,_0x215860=new Date(_0x1335d1)['toISOString'](),_0xd25b77=redisClient[_0x5da907(0x18c)](),_0x15f5d7=await _0xd25b77[_0x5da907(0x20b)](LUA_EXTEND_RESERVATION,0x2,_0x588e15[_0x5da907(0x141)],_0x588e15[_0x5da907(0x21f)],_0x478bad,_0x605322[_0x5da907(0x19e)](String,_0x4010a1),String(_0x1335d1),_0x215860);if(!_0x15f5d7||_0x15f5d7[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x5da907(0x12a)+_0x478bad,{'token':_0x478bad});const _0x1abe19=_0x15f5d7[0x1],_0x545e1f=_0x605322['swFqP'](parseInt,_0x15f5d7[0x2],0xa),_0x37e5b0=_0x15f5d7[0x3],_0x4a80c0=_0x15f5d7[0x4],_0x478a80=new Date(_0x29e5fc)['toISOString'](),_0x3d8883={'extended':!![],'token':_0x478bad,'previousExpiresAt':_0x1abe19,'expiresAt':_0x215860,'ttlMs':_0x4010a1,'resource':_0x588e15['resource'],'formatKey':_0x4a80c0,'counter':_0x545e1f,'value':_0x37e5b0,'extendedAt':_0x478a80};await this['_storeIdemCache'](_0x4e46a0,_0x3d8883);const _0xe80f5d=_0x4a80c0[_0x5da907(0x12f)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x15aac0=_0xe80f5d?_0xe80f5d[0x1]:'text',_0x47b259=this[_0x5da907(0x1b2)](_0x15aac0);return this[_0x5da907(0x187)](_0x588e15['resource'],_0x4a80c0,{'lastExtendedCounter':_0x545e1f,'lastExtendedAt':_0x478a80},_0x47b259),logger[_0x5da907(0x1ef)]({'event':'idgen_reservation_extended','resource':_0x588e15['resource'],'formatKey':_0x4a80c0,'counter':_0x545e1f,'token':_0x478bad,'ttl':_0x1486f3},_0x5da907(0x1c6)+_0x37e5b0+'\x20(token='+_0x478bad+_0x5da907(0x171)+_0x1486f3+'s)'),_0x3d8883;}async[a0_0x28685f(0x1a2)](_0x4bac87){const _0x516b59=a0_0x28685f,_0x29143e={'vfXwc':_0x516b59(0x181),'oHnKr':'number'};if(!this['enabled'])throw new IdGeneratorError(_0x29143e['vfXwc'],'ID\x20Generator\x20is\x20disabled');const _0x36d0a9=this['_validateReservationToken'](_0x4bac87&&_0x4bac87['token']),_0x30dd1d=this[_0x516b59(0x238)](_0x36d0a9),_0x17e39f=redisClient['getClient'](),_0x1db821=_0x17e39f['pipeline']();_0x1db821['hgetall'](_0x30dd1d),_0x1db821[_0x516b59(0x1b7)](_0x30dd1d);const _0x5cab51=await _0x1db821['exec'](),_0x33c5b3=_0x5cab51&&_0x5cab51[0x0]&&_0x5cab51[0x0][0x1],_0x4afb4d=_0x5cab51&&_0x5cab51[0x1]&&_0x5cab51[0x1][0x1];if(!_0x33c5b3||Object['keys'](_0x33c5b3)['length']===0x0)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x36d0a9,{'token':_0x36d0a9});return{'token':_0x36d0a9,'resource':_0x33c5b3['resource']||null,'formatKey':_0x33c5b3[_0x516b59(0x13a)]||null,'format':_0x33c5b3[_0x516b59(0x14e)]||null,'prefix':_0x33c5b3['prefix']||'','separator':_0x33c5b3['separator']||'','numDigits':_0x33c5b3['numDigits']?parseInt(_0x33c5b3[_0x516b59(0x173)],0xa):null,'datePrefix':_0x33c5b3[_0x516b59(0x16f)]||'','counter':_0x33c5b3[_0x516b59(0x207)]?parseInt(_0x33c5b3['counter'],0xa):null,'value':_0x33c5b3['value']||null,'isReused':_0x33c5b3['isReused']==='1'||_0x33c5b3[_0x516b59(0x193)]===0x1,'createdAt':_0x33c5b3[_0x516b59(0x1df)]||null,'expiresAt':_0x33c5b3['expiresAt']||null,'ttlRemainingMs':typeof _0x4afb4d===_0x29143e[_0x516b59(0x1a0)]&&_0x4afb4d>=0x0?_0x4afb4d:null};}async['_getReservationContext'](_0x480d12){const _0x3708b7=a0_0x28685f,_0x576839=this[_0x3708b7(0x238)](_0x480d12),_0x372c04=redisClient['getClient'](),_0x1b827e=await _0x372c04[_0x3708b7(0x12c)](_0x576839,_0x3708b7(0x18b),_0x3708b7(0x13a)),_0x108a7c=_0x1b827e&&_0x1b827e[0x0],_0x48aa9c=_0x1b827e&&_0x1b827e[0x1];if(!_0x108a7c||!_0x48aa9c)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x480d12,{'token':_0x480d12});return{'resource':_0x108a7c,'formatKey':_0x48aa9c,'rsvKey':_0x576839,'rsvIdxKey':this[_0x3708b7(0x18d)](_0x108a7c,_0x48aa9c)};}async[a0_0x28685f(0x14d)](_0x527f41){const _0x19851c=a0_0x28685f,_0x4b2acf={'vCyzo':'ID\x20Generator\x20is\x20disabled','jeedv':function(_0xd775ef,_0x4066a5){return _0xd775ef===_0x4066a5;},'pquJs':function(_0x1844d6,_0x237468){return _0x1844d6<_0x237468;},'phSeN':function(_0x39bb49,_0x5aa00a){return _0x39bb49+_0x5aa00a;},'sKjCs':function(_0x456be4,_0x179c7d){return _0x456be4*_0x179c7d;},'bxYru':_0x19851c(0x1fe),'DVvEK':function(_0x4f422e,_0x52ea45){return _0x4f422e||_0x52ea45;}};if(!this[_0x19851c(0x159)])throw new IdGeneratorError(_0x19851c(0x181),_0x4b2acf[_0x19851c(0x219)]);this[_0x19851c(0x135)](_0x527f41['resource']),this[_0x19851c(0x1be)](_0x527f41['pattern']);const _0x46d71d=this[_0x19851c(0x17a)](_0x527f41[_0x19851c(0x14b)]),_0x136fa9=this['_validateMaxRetry'](_0x527f41['maxRetry']),_0x3b2a82=this['_validateIdempotencyKey'](_0x527f41[_0x19851c(0x17d)]),_0x13e44e=_0x4b2acf['jeedv'](_0x527f41['ensureUnique'],!![]),{resource:_0x37e32d,pattern:_0x145ba1}=_0x527f41;let _0x182af7=null;if(_0x3b2a82){_0x182af7=this[_0x19851c(0x1fc)]('random',_0x37e32d,null,_0x3b2a82);const _0x56de45=await this['_retrieveIdemCache'](_0x182af7);if(_0x56de45)return _0x56de45;}const _0x36ec69=redisClient['getClient']();let _0xe53a77=null,_0x7bd963=0x0;if(!_0x13e44e)_0xe53a77=this['_generateFromPattern'](_0x145ba1),_0x7bd963=0x1;else{for(let _0x3597e1=0x0;_0x4b2acf[_0x19851c(0x185)](_0x3597e1,_0x136fa9);_0x3597e1++){_0x7bd963++;const _0x494165=this['_generateFromPattern'](_0x145ba1);if(_0x46d71d){const _0x5a3ceb=this[_0x19851c(0x20e)](_0x37e32d,_0x494165),_0x290da7=await _0x36ec69['set'](_0x5a3ceb,'1','EX',_0x46d71d,'NX');if(_0x290da7==='OK'){_0xe53a77=_0x494165;break;}}else{const _0x12117f=this[_0x19851c(0x234)](_0x37e32d),_0x493f3d=await _0x36ec69['sadd'](_0x12117f,_0x494165);if(_0x493f3d===0x1){_0xe53a77=_0x494165;break;}}}if(_0xe53a77===null)throw new IdGeneratorError('IDGEN_UNIQUE_RETRY_EXHAUSTED','Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x136fa9+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x37e32d,'pattern':_0x145ba1,'maxRetry':_0x136fa9});}const _0x570c61={'value':_0xe53a77,'resource':_0x37e32d,'pattern':_0x145ba1,'attemptCount':_0x7bd963,'generatedAt':new Date()[_0x19851c(0x203)]()};_0x46d71d&&_0x13e44e&&(_0x570c61['expiresAt']=new Date(_0x4b2acf['phSeN'](Date['now'](),_0x4b2acf['sKjCs'](_0x46d71d,0x3e8)))['toISOString']());const _0x28c139=await this['_storeIdemCacheNX'](_0x182af7,_0x570c61);if(!_0x28c139[_0x19851c(0x145)])return _0x13e44e&&await this['_undoRandomReservation'](_0x37e32d,_0xe53a77,_0x46d71d),logger['info']({'event':_0x4b2acf['bxYru'],'resource':_0x37e32d,'pattern':_0x145ba1,'value':_0xe53a77},_0x19851c(0x163)),_0x28c139[_0x19851c(0x22e)];return logger[_0x19851c(0x1ef)]({'event':'idgen_random_generated','resource':_0x37e32d,'pattern':_0x145ba1,'attemptCount':_0x7bd963,'ensureUnique':_0x13e44e,'ttl':_0x4b2acf['DVvEK'](_0x46d71d,0x0)},'ID\x20Generator\x20random:\x20'+_0xe53a77),_0x570c61;}async['pin'](_0x5bbf1f){const _0x19f040=a0_0x28685f,_0x2bb8eb={'Abevj':function(_0x2a2c63,_0x47ccab){return _0x2a2c63==_0x47ccab;},'QpiJi':_0x19f040(0x23b)},_0x49e855=_0x2bb8eb[_0x19f040(0x1d2)](_0x5bbf1f['digits'],null)?this[_0x19f040(0x227)]:_0x5bbf1f['digits'];if(!Number['isInteger'](_0x49e855)||_0x49e855<MIN_PIN_DIGITS||_0x49e855>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x2bb8eb['QpiJi'],_0x19f040(0x1c1)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x49e855+')');const _0x27686d='9'[_0x19f040(0x233)](_0x49e855);return this['random']({'resource':_0x5bbf1f['resource'],'pattern':_0x27686d,'ensureUnique':_0x5bbf1f[_0x19f040(0x1bb)]===!![],'ttl':_0x5bbf1f['ttl'],'maxRetry':_0x5bbf1f[_0x19f040(0x152)],'idempotencyKey':_0x5bbf1f['idempotencyKey']});}async['serial'](_0x3fbddd){const _0x5762b7=a0_0x28685f,_0x2390e5={'KoFlu':function(_0x549581,_0x5cdce6){return _0x549581!==_0x5cdce6;}},_0x5262cd=_0x3fbddd[_0x5762b7(0x1fa)]||this['defaultSerialPattern'];return this[_0x5762b7(0x14d)]({'resource':_0x3fbddd['resource'],'pattern':_0x5262cd,'ensureUnique':_0x2390e5['KoFlu'](_0x3fbddd[_0x5762b7(0x1bb)],![]),'ttl':_0x3fbddd[_0x5762b7(0x14b)],'maxRetry':_0x3fbddd['maxRetry'],'idempotencyKey':_0x3fbddd['idempotencyKey']});}async[a0_0x28685f(0x15f)](_0x751b8a){const _0x45d726=a0_0x28685f,_0x38e188=_0x751b8a['pattern']||this['defaultCodePattern'];return this['random']({'resource':_0x751b8a[_0x45d726(0x18b)],'pattern':_0x38e188,'ensureUnique':_0x751b8a['ensureUnique']!==![],'ttl':_0x751b8a['ttl'],'maxRetry':_0x751b8a['maxRetry'],'idempotencyKey':_0x751b8a[_0x45d726(0x17d)]});}async['consume'](_0x216580){const _0x309933=a0_0x28685f,_0x262fcf={'Myaki':_0x309933(0x181),'jLFkb':_0x309933(0x132),'YMCeh':_0x309933(0x220),'IBRjX':function(_0x3817c3,_0x6fc267){return _0x3817c3===_0x6fc267;},'rmLEU':function(_0x2c88d0,_0x16fd51){return _0x2c88d0>_0x16fd51;},'NExsU':'idgen_consumed'};if(!this[_0x309933(0x159)])throw new IdGeneratorError(_0x262fcf[_0x309933(0x22c)],_0x262fcf['jLFkb']);this[_0x309933(0x135)](_0x216580['resource']);if(typeof _0x216580[_0x309933(0x161)]!==_0x262fcf['YMCeh']||_0x262fcf['IBRjX'](_0x216580['value']['length'],0x0))throw new IdGeneratorError(_0x309933(0x223),'value\x20is\x20required');const {resource:_0x463a12,value:_0x9bacce}=_0x216580,_0x3f263e=redisClient[_0x309933(0x18c)](),_0x24af90=this['_buildActiveKey'](_0x463a12,_0x9bacce),_0x3ac576=this[_0x309933(0x234)](_0x463a12),[_0x3183c9,_0x3abd87]=await Promise[_0x309933(0x22f)]([_0x3f263e[_0x309933(0x1d4)](_0x24af90),_0x3f263e[_0x309933(0x1db)](_0x3ac576,_0x9bacce)]),_0xbbc52a=_0x262fcf[_0x309933(0x21a)](_0x3183c9+_0x3abd87,0x0);return logger[_0x309933(0x1ef)]({'event':_0x262fcf['NExsU'],'resource':_0x463a12,'value':_0x9bacce,'consumed':_0xbbc52a},_0x309933(0x134)+_0x9bacce),{'consumed':_0xbbc52a,'resource':_0x463a12,'value':_0x9bacce,'consumedAt':new Date()['toISOString']()};}async[a0_0x28685f(0x230)](_0x4cbac1){const _0x2c8e74=a0_0x28685f,_0x23cc40={'PqlAW':_0x2c8e74(0x132),'HXabp':'number','cDhsR':_0x2c8e74(0x1d7),'eMTPe':function(_0x2c0973,_0x510107,_0x12b4a1){return _0x2c0973(_0x510107,_0x12b4a1);},'YaHBN':function(_0x153fe4,_0x3bf3c1){return _0x153fe4||_0x3bf3c1;}};if(!this[_0x2c8e74(0x159)])throw new IdGeneratorError('IDGEN_DISABLED',_0x23cc40['PqlAW']);this['_validateResource'](_0x4cbac1['resource']);const _0x3e0cf6=_0x4cbac1['mode']||_0x23cc40[_0x2c8e74(0x169)],_0x3272cd=redisClient['getClient']();if(_0x3e0cf6===_0x2c8e74(0x1ff)){const _0x4bd2c3=(_0x4cbac1['format']||_0x2c8e74(0x186))['toLowerCase']();if(!ALLOWED_FORMATS[_0x2c8e74(0x172)](_0x4bd2c3))throw new IdGeneratorError(_0x23cc40[_0x2c8e74(0x15d)],_0x2c8e74(0x164)+_0x4cbac1[_0x2c8e74(0x14e)]);const {formatKey:_0x44b119}=this['_buildFormatKey'](_0x4bd2c3,_0x4cbac1['prefix']||''),_0x37b00b=this[_0x2c8e74(0x229)](_0x4cbac1[_0x2c8e74(0x18b)],_0x44b119),_0x39358c=this[_0x2c8e74(0x17c)](_0x4cbac1[_0x2c8e74(0x18b)],_0x44b119),[_0x39c1db,_0x164308]=await Promise[_0x2c8e74(0x22f)]([_0x3272cd[_0x2c8e74(0x1e6)](_0x37b00b),_0x3272cd['zcard'](_0x39358c)]);return{'resource':_0x4cbac1[_0x2c8e74(0x18b)],'mode':_0x23cc40[_0x2c8e74(0x169)],'formatKey':_0x44b119,'currentCounter':_0x23cc40['eMTPe'](parseInt,_0x39c1db,0xa)||0x0,'reusePoolSize':_0x23cc40['YaHBN'](_0x164308,0x0)};}if(_0x3e0cf6===_0x2c8e74(0x14d)){const _0x3efa33=this[_0x2c8e74(0x234)](_0x4cbac1['resource']),_0xb47b4a=await _0x3272cd['scard'](_0x3efa33);return{'resource':_0x4cbac1[_0x2c8e74(0x18b)],'mode':_0x2c8e74(0x14d),'issuedCount':_0xb47b4a||0x0};}throw new IdGeneratorError('IDGEN_INVALID_MODE',_0x2c8e74(0x16a)+_0x3e0cf6);}async['getInfo'](_0x11a836){const _0xde66c=a0_0x28685f,_0x2ac40e={'dBsYH':function(_0x28e1a3,_0x5fb787){return _0x28e1a3===_0x5fb787;},'eNfsw':function(_0x58a924,_0x52df5f){return _0x58a924>_0x52df5f;}},_0x244717=await this['peek'](_0x11a836);if(_0x2ac40e['dBsYH'](_0x244717['mode'],_0xde66c(0x1ff))){const _0x290ed6=redisClient['getClient'](),_0x1cb03c=this[_0xde66c(0x1a3)](_0x11a836['resource'],_0x244717[_0xde66c(0x13a)]),_0x54d62d=this['_buildReuseKey'](_0x11a836[_0xde66c(0x18b)],_0x244717['formatKey']),[_0x59ca77,_0x1f4a8c]=await Promise['all']([_0x290ed6[_0xde66c(0x1eb)](_0x1cb03c),_0x290ed6['zrange'](_0x54d62d,0x0,-0x1)]);return{..._0x244717,'reusePoolValues':_0x1f4a8c[_0xde66c(0x20a)](_0x5b130b=>parseInt(_0x5b130b,0xa)),'meta':_0x59ca77&&_0x2ac40e['eNfsw'](Object[_0xde66c(0x154)](_0x59ca77)['length'],0x0)?_0x59ca77:null};}return _0x244717;}async['reset'](_0x3e720c){const _0xba49c=a0_0x28685f,_0x4cd8d4={'cMteB':'IDGEN_DISABLED','yaDka':_0xba49c(0x132),'btGcP':_0xba49c(0x1c4),'TvfHq':'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)','sZeaD':'number','ulFAG':function(_0x484f9c,_0x113d93){return _0x484f9c===_0x113d93;},'qFAog':_0xba49c(0x186),'BCVDu':'IDGEN_INVALID_FORMAT','kwKzV':'seq','gUmug':'reuse','ORApE':'meta','oQKLn':_0xba49c(0x13b),'iUFyL':'random','qvLoo':_0xba49c(0x184)};if(!this[_0xba49c(0x159)])throw new IdGeneratorError(_0x4cd8d4['cMteB'],_0x4cd8d4[_0xba49c(0x19b)]);if(!this[_0xba49c(0x158)])throw new IdGeneratorError(_0x4cd8d4['btGcP'],_0x4cd8d4[_0xba49c(0x147)]);this[_0xba49c(0x135)](_0x3e720c[_0xba49c(0x18b)]);const _0x43b9db=_0x3e720c[_0xba49c(0x19f)]||_0x4cd8d4[_0xba49c(0x1dd)],_0x22ee84=redisClient[_0xba49c(0x18c)]();if(_0x4cd8d4['ulFAG'](_0x43b9db,_0xba49c(0x1ff))){const _0x2b8582=(_0x3e720c['format']||_0x4cd8d4['qFAog'])['toLowerCase']();if(!ALLOWED_FORMATS[_0xba49c(0x172)](_0x2b8582))throw new IdGeneratorError(_0x4cd8d4[_0xba49c(0x19d)],_0xba49c(0x164)+_0x3e720c[_0xba49c(0x14e)]);const {formatKey:_0xb3a303}=this[_0xba49c(0x1f2)](_0x2b8582,_0x3e720c['prefix']||''),_0x23ee9e=this[_0xba49c(0x229)](_0x3e720c['resource'],_0xb3a303),_0x29c735=this['_buildReuseKey'](_0x3e720c['resource'],_0xb3a303),_0x4ec778=this['_buildMetaKey'](_0x3e720c['resource'],_0xb3a303);return await _0x22ee84['del'](_0x23ee9e,_0x29c735,_0x4ec778),logger[_0xba49c(0x180)]({'event':_0xba49c(0x13b),'resource':_0x3e720c[_0xba49c(0x18b)],'mode':_0x4cd8d4[_0xba49c(0x1dd)],'formatKey':_0xb3a303},'ID\x20Generator\x20reset:\x20'+_0x3e720c['resource']+':'+_0xb3a303),{'reset':!![],'resource':_0x3e720c['resource'],'mode':_0xba49c(0x1ff),'formatKey':_0xb3a303,'deletedKeys':[_0x4cd8d4['kwKzV'],_0x4cd8d4[_0xba49c(0x1f7)],_0x4cd8d4['ORApE']]};}if(_0x43b9db==='random'){const _0x5374d1=this['_buildIssuedKey'](_0x3e720c['resource']);return await _0x22ee84[_0xba49c(0x1d4)](_0x5374d1),logger[_0xba49c(0x180)]({'event':_0x4cd8d4[_0xba49c(0x178)],'resource':_0x3e720c[_0xba49c(0x18b)],'mode':'random'},_0xba49c(0x194)+_0x3e720c[_0xba49c(0x18b)]),{'reset':!![],'resource':_0x3e720c[_0xba49c(0x18b)],'mode':_0x4cd8d4[_0xba49c(0x215)],'deletedKeys':[_0x4cd8d4['qvLoo']]};}throw new IdGeneratorError(_0xba49c(0x202),_0xba49c(0x16a)+_0x43b9db);}}const instance=new IdGenerator();instance[a0_0x28685f(0x213)]=IdGeneratorError,module[a0_0x28685f(0x1dc)]=instance,module[a0_0x28685f(0x1dc)][a0_0x28685f(0x213)]=IdGeneratorError;
@@ -1 +1 @@
1
- 'use strict';const a0_0x3089b3=a0_0x3ce4;(function(_0x56ccef,_0x564b18){const _0xc09072=a0_0x3ce4,_0x4284e3=_0x56ccef();while(!![]){try{const _0x1cd128=-parseInt(_0xc09072(0x152))/0x1+-parseInt(_0xc09072(0x176))/0x2*(-parseInt(_0xc09072(0x16c))/0x3)+parseInt(_0xc09072(0x173))/0x4+parseInt(_0xc09072(0x174))/0x5+-parseInt(_0xc09072(0x179))/0x6*(parseInt(_0xc09072(0x16f))/0x7)+parseInt(_0xc09072(0x17c))/0x8+parseInt(_0xc09072(0x17f))/0x9*(-parseInt(_0xc09072(0x162))/0xa);if(_0x1cd128===_0x564b18)break;else _0x4284e3['push'](_0x4284e3['shift']());}catch(_0x1465a5){_0x4284e3['push'](_0x4284e3['shift']());}}}(a0_0x160b,0x18835));const redisClient=require(a0_0x3089b3(0x15a)),{logger}=require('./logger'),crypto=require('crypto');class IdempotencyManager{constructor(){const _0x2aaca7=a0_0x3089b3;this[_0x2aaca7(0x15f)]=null,this[_0x2aaca7(0x17a)]=null,this[_0x2aaca7(0x15e)]=![];}[a0_0x3089b3(0x182)](){const _0xdc8877=a0_0x3089b3,_0x572f0f={'RiINA':function(_0xddc7d9,_0x14cc70,_0x1ceb1d){return _0xddc7d9(_0x14cc70,_0x1ceb1d);}};this[_0xdc8877(0x15f)]=process[_0xdc8877(0x178)][_0xdc8877(0x172)]===_0xdc8877(0x16d),this[_0xdc8877(0x17a)]=_0x572f0f[_0xdc8877(0x163)](parseInt,process[_0xdc8877(0x178)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger[_0xdc8877(0x17b)]({'event':_0xdc8877(0x169),'enabled':this['_enabled'],'ttl':this['_ttl']},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20TTL:\x20'+this[_0xdc8877(0x17a)]+'s');}['_ensureInitialized'](){const _0x3272b0=a0_0x3089b3;!this['_initialized']&&this[_0x3272b0(0x182)]();}get[a0_0x3089b3(0x181)](){const _0x4d38d1=a0_0x3089b3;return this['_ensureInitialized'](),this[_0x4d38d1(0x15f)];}get['ttl'](){const _0x4a1da3=a0_0x3089b3;return this[_0x4a1da3(0x170)](),this[_0x4a1da3(0x17a)];}[a0_0x3089b3(0x17d)](){return this['enabled'];}[a0_0x3089b3(0x171)](_0x4d5c8c,_0x39a071){const _0x71337f=a0_0x3089b3,_0x25fc8d={'glwXN':_0x71337f(0x158),'dJAdH':'unknown'},_0x8ce80d=_0x39a071[_0x71337f(0x156)][_0x71337f(0x177)]('/')['filter'](Boolean),_0x475bc2=_0x8ce80d[0x0]||_0x25fc8d[_0x71337f(0x167)],_0x54f1aa=_0x8ce80d[0x1]||_0x25fc8d[_0x71337f(0x180)],_0x595db6=_0x8ce80d[0x2]||_0x71337f(0x157);return'rf:idem:'+_0x475bc2+':'+_0x54f1aa+':'+_0x595db6+':'+_0x4d5c8c;}async['store'](_0xdae735,_0x25e50a){const _0x4deb90=a0_0x3089b3,_0x1146af={'nLzwH':_0x4deb90(0x16e),'FJQWM':_0x4deb90(0x15d),'RHAur':_0x4deb90(0x155)};if(!this['enabled'])return![];try{const _0x13304d=redisClient[_0x4deb90(0x15b)]();return await _0x13304d[_0x4deb90(0x175)](_0xdae735,this['ttl'],JSON['stringify'](_0x25e50a)),logger[_0x4deb90(0x16b)]({'event':_0x1146af['nLzwH'],'key':_0xdae735,'ttl':this['ttl'],'statusCode':_0x25e50a[_0x4deb90(0x161)]},_0x1146af[_0x4deb90(0x164)]),!![];}catch(_0x9fcd2f){return logger[_0x4deb90(0x168)]({'event':_0x1146af[_0x4deb90(0x17e)],'key':_0xdae735,'error':_0x9fcd2f[_0x4deb90(0x159)]},_0x4deb90(0x160)+_0x9fcd2f['message']),![];}}async[a0_0x3089b3(0x165)](_0x56b31d){const _0x1d5230=a0_0x3089b3,_0xd31c28={'bMpDd':'Idempotency\x20cache\x20HIT','sqjHv':'idempotency_miss','djASx':'Idempotency\x20cache\x20MISS'};if(!this['enabled'])return null;try{const _0x4e948c=redisClient[_0x1d5230(0x15b)](),_0x133ba1=await _0x4e948c['get'](_0x56b31d);if(_0x133ba1)return logger['info']({'event':'idempotency_hit','key':_0x56b31d},_0xd31c28[_0x1d5230(0x184)]),JSON['parse'](_0x133ba1);return logger['debug']({'event':_0xd31c28[_0x1d5230(0x166)],'key':_0x56b31d},_0xd31c28[_0x1d5230(0x15c)]),null;}catch(_0x547c7b){return logger['error']({'event':_0x1d5230(0x153),'key':_0x56b31d,'error':_0x547c7b[_0x1d5230(0x159)]},'Idempotency\x20retrieve\x20error:\x20'+_0x547c7b[_0x1d5230(0x159)]),null;}}[a0_0x3089b3(0x16a)](_0x172416='req'){const _0x585a80=a0_0x3089b3;return _0x172416+'_'+crypto[_0x585a80(0x154)]();}[a0_0x3089b3(0x183)](_0xc3fb1c,_0xfce0c8,_0x4d23b4){return _0xc3fb1c+':'+_0xfce0c8+':'+_0x4d23b4;}}module['exports']=new IdempotencyManager();function a0_0x3ce4(_0x3f0450,_0x4065bd){_0x3f0450=_0x3f0450-0x152;const _0x160be1=a0_0x160b();let _0x3ce422=_0x160be1[_0x3f0450];if(a0_0x3ce4['IzRmEl']===undefined){var _0x38e301=function(_0x56161e){const _0x7b9ad1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4279f0='',_0x1f89e1='';for(let _0x3f65a4=0x0,_0x5dd656,_0x1eaf84,_0x23c1dd=0x0;_0x1eaf84=_0x56161e['charAt'](_0x23c1dd++);~_0x1eaf84&&(_0x5dd656=_0x3f65a4%0x4?_0x5dd656*0x40+_0x1eaf84:_0x1eaf84,_0x3f65a4++%0x4)?_0x4279f0+=String['fromCharCode'](0xff&_0x5dd656>>(-0x2*_0x3f65a4&0x6)):0x0){_0x1eaf84=_0x7b9ad1['indexOf'](_0x1eaf84);}for(let _0x1851c5=0x0,_0x22bf96=_0x4279f0['length'];_0x1851c5<_0x22bf96;_0x1851c5++){_0x1f89e1+='%'+('00'+_0x4279f0['charCodeAt'](_0x1851c5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f89e1);};a0_0x3ce4['Jipxal']=_0x38e301,a0_0x3ce4['XVPTQK']={},a0_0x3ce4['IzRmEl']=!![];}const _0x2843bb=_0x160be1[0x0],_0xe58fcf=_0x3f0450+_0x2843bb,_0x4df6a4=a0_0x3ce4['XVPTQK'][_0xe58fcf];return!_0x4df6a4?(_0x3ce422=a0_0x3ce4['Jipxal'](_0x3ce422),a0_0x3ce4['XVPTQK'][_0xe58fcf]=_0x3ce422):_0x3ce422=_0x4df6a4,_0x3ce422;}function a0_0x160b(){const _0x4d1f37=['Cgf0Aa','Dw5RBM93BG','zgvMyxvSDa','BwvZC2fNzq','lI9YzwrPCY1JBgLLBNq','z2v0q2XPzw50','zgPbu3G','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','x2LUAxrPywXPEMvK','x2vUywjSzwq','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','C3rHDhvZq29Kzq','mtGXmffkDLfRra','uMLjtKe','rKPrv00','CMv0CMLLDMu','C3fQshy','z2X3we4','zxjYB3i','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','z2vUzxjHDgvlzxK','zgvIDwC','nZGZvKzVwgfW','Dhj1zq','AwrLBxbVDgvUy3LFC3rVCMu','mJqXoti3s0r0Eg1o','x2vUC3vYzuLUAxrPywXPEMvK','yNvPBgrlzxK','surftvbpvevoq1LFru5bqKXfra','mtu3nJq0yMzNB2XR','odGYnJm1y1LeyMjp','C2v0zxG','otqYr2DYDM5W','C3bSAxq','zw52','mtjvuevkwK8','x3r0Ba','Aw5MBW','mtuYndG0me5HuwnrvW','AxnfBMfIBgvK','uKHbDxi','mtqZmZDkDND2CvG','zePbzeG','zw5HyMXLza','x2LUAxrdB25MAwC','yNvPBgrezxrLCM1PBMLZDgLJs2v5','yK1Wrgq','nZe2mtrJvg9mzeW','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','CMfUzg9Tvvvjra','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i'];a0_0x160b=function(){return _0x4d1f37;};return a0_0x160b();}
1
+ 'use strict';const a0_0x4e3da0=a0_0x4811;function a0_0x13d5(){const _0x43d469=['mZCXnLnIz0TLra','BwvZC2fNzq','CMfUzg9Tvvvjra','mJG1vu16BvHd','x3r0Ba','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','z2vUzxjHDgvlzxK','AwrLBxbVDgvUy3LFC3rVCMu','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','zMLSDgvY','CMy6AwrLBtO','lcbuveW6ia','ogfotwPPvG','mta5mtrZt2Dbuhu','ntyYmtiXD21oBKre','C3rYAw5NAwz5','ntC3nJe4C2DbBu95','mtb1ue15qKq','x2LUAxrPywXPEMvK','mJe5odKYmeviCeTotW','zw5HyMXLza','z2v0','z2v0q2XPzw50','mZKWDNv1C3vj','tgjqqwG','mteWmJq0mMDYuM1XBW','CMv0CMLLDMu','yNvPBgrlzxK','ntyXotmZou1ytKrPBG','C3rVCMu','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','DhrS','zw52','x2vUywjSzwq','lI9SB2DNzxi','CMvX','swrLBxbVDgvUy3KGy2fJAguGseLu','Dw5RBM93BG','CgfYC2u','Aw5MBW','zxHWB3j0CW','AwrLBxbVDgvUy3LFAgL0','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','C2v0zxG','s2jVAhK','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia'];a0_0x13d5=function(){return _0x43d469;};return a0_0x13d5();}(function(_0x599fbf,_0x4d85de){const _0x595253=a0_0x4811,_0x49d16a=_0x599fbf();while(!![]){try{const _0x853a62=parseInt(_0x595253(0x13d))/0x1+parseInt(_0x595253(0x140))/0x2+-parseInt(_0x595253(0x130))/0x3*(parseInt(_0x595253(0x12d))/0x4)+-parseInt(_0x595253(0x144))/0x5*(parseInt(_0x595253(0x13a))/0x6)+-parseInt(_0x595253(0x13b))/0x7*(parseInt(_0x595253(0x139))/0x8)+-parseInt(_0x595253(0x11b))/0x9+parseInt(_0x595253(0x13e))/0xa*(-parseInt(_0x595253(0x146))/0xb);if(_0x853a62===_0x4d85de)break;else _0x49d16a['push'](_0x49d16a['shift']());}catch(_0x4a50c3){_0x49d16a['push'](_0x49d16a['shift']());}}}(a0_0x13d5,0x9cbfd));function a0_0x4811(_0x5257e3,_0x97d22b){_0x5257e3=_0x5257e3-0x11a;const _0x13d53d=a0_0x13d5();let _0x481140=_0x13d53d[_0x5257e3];if(a0_0x4811['wPkFda']===undefined){var _0x367b6b=function(_0x596e54){const _0x3cf487='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc998a1='',_0x1da8b2='';for(let _0x525303=0x0,_0x226df1,_0x4e0d7d,_0xf54c0c=0x0;_0x4e0d7d=_0x596e54['charAt'](_0xf54c0c++);~_0x4e0d7d&&(_0x226df1=_0x525303%0x4?_0x226df1*0x40+_0x4e0d7d:_0x4e0d7d,_0x525303++%0x4)?_0xc998a1+=String['fromCharCode'](0xff&_0x226df1>>(-0x2*_0x525303&0x6)):0x0){_0x4e0d7d=_0x3cf487['indexOf'](_0x4e0d7d);}for(let _0x16cb99=0x0,_0x57a9c5=_0xc998a1['length'];_0x16cb99<_0x57a9c5;_0x16cb99++){_0x1da8b2+='%'+('00'+_0xc998a1['charCodeAt'](_0x16cb99)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1da8b2);};a0_0x4811['YdVYKA']=_0x367b6b,a0_0x4811['wCnPQy']={},a0_0x4811['wPkFda']=!![];}const _0x4d8aa7=_0x13d53d[0x0],_0x2e931b=_0x5257e3+_0x4d8aa7,_0x38ecd1=a0_0x4811['wCnPQy'][_0x2e931b];return!_0x38ecd1?(_0x481140=a0_0x4811['YdVYKA'](_0x481140),a0_0x4811['wCnPQy'][_0x2e931b]=_0x481140):_0x481140=_0x38ecd1,_0x481140;}const redisClient=require('./redis-client'),{logger}=require(a0_0x4e3da0(0x121)),crypto=require('crypto');class IdempotencyManager{constructor(){const _0x4c6b61=a0_0x4e3da0;this['_enabled']=null,this[_0x4c6b61(0x131)]=null,this['_initialized']=![];}['_initConfig'](){const _0x2806ff=a0_0x4e3da0,_0x12aee2={'eiLEW':function(_0x4bb4d0,_0x59f12c){return _0x4bb4d0===_0x59f12c;}};this['_enabled']=_0x12aee2['eiLEW'](process[_0x2806ff(0x11f)]['IDEMPOTENCY_ENABLED'],'true'),this['_ttl']=parseInt(process['env']['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger[_0x2806ff(0x126)]({'event':'idempotency_config_init','enabled':this['_enabled'],'ttl':this['_ttl']},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x2806ff(0x120)]+_0x2806ff(0x138)+this['_ttl']+'s');}['_ensureInitialized'](){const _0x4759aa=a0_0x4e3da0;!this[_0x4759aa(0x13f)]&&this['_initConfig']();}get[a0_0x4e3da0(0x141)](){return this['_ensureInitialized'](),this['_enabled'];}get['ttl'](){const _0x3956a7=a0_0x4e3da0;return this['_ensureInitialized'](),this[_0x3956a7(0x131)];}['isEnabled'](){return this['enabled'];}[a0_0x4e3da0(0x11a)](_0x658460,_0x4dec4c){const _0x1beacf=a0_0x4e3da0,_0xf5371d={'oluzo':'default','UVjCQ':_0x1beacf(0x124)},_0x38365a=_0x4dec4c['path']['split']('/')[_0x1beacf(0x136)](Boolean),_0x30c8db=_0x38365a[0x0]||_0xf5371d['oluzo'],_0x5ee5c9=_0x38365a[0x1]||_0xf5371d['UVjCQ'],_0x3b933c=_0x38365a[0x2]||'unknown';return _0x1beacf(0x137)+_0x30c8db+':'+_0x5ee5c9+':'+_0x3b933c+':'+_0x658460;}async[a0_0x4e3da0(0x11c)](_0x236fb5,_0x487e4e){const _0x356302=a0_0x4e3da0,_0x3ddfe5={'RlsRa':_0x356302(0x134),'HUufL':_0x356302(0x132)};if(!this[_0x356302(0x141)])return![];try{const _0xba7f8f=redisClient[_0x356302(0x143)]();return await _0xba7f8f[_0x356302(0x12a)](_0x236fb5,this[_0x356302(0x11e)],JSON[_0x356302(0x13c)](_0x487e4e)),logger['debug']({'event':_0x3ddfe5['RlsRa'],'key':_0x236fb5,'ttl':this['ttl'],'statusCode':_0x487e4e['statusCode']},_0x3ddfe5['HUufL']),!![];}catch(_0xae753e){return logger['error']({'event':_0x356302(0x129),'key':_0x236fb5,'error':_0xae753e[_0x356302(0x12e)]},_0x356302(0x12c)+_0xae753e['message']),![];}}async[a0_0x4e3da0(0x147)](_0x3ae6c3){const _0x128657=a0_0x4e3da0,_0x30a36d={'zamyr':_0x128657(0x128),'LbPAh':_0x128657(0x123),'Kbohy':'idempotency_miss','ykUlw':_0x128657(0x135)};if(!this[_0x128657(0x141)])return null;try{const _0x2fd06a=redisClient['getClient'](),_0x51bef9=await _0x2fd06a[_0x128657(0x142)](_0x3ae6c3);if(_0x51bef9)return logger[_0x128657(0x126)]({'event':_0x30a36d['zamyr'],'key':_0x3ae6c3},_0x30a36d[_0x128657(0x145)]),JSON[_0x128657(0x125)](_0x51bef9);return logger['debug']({'event':_0x30a36d[_0x128657(0x12b)],'key':_0x3ae6c3},_0x128657(0x11d)),null;}catch(_0x15e27d){return logger['error']({'event':_0x30a36d['ykUlw'],'key':_0x3ae6c3,'error':_0x15e27d[_0x128657(0x12e)]},'Idempotency\x20retrieve\x20error:\x20'+_0x15e27d[_0x128657(0x12e)]),null;}}[a0_0x4e3da0(0x133)](_0x3df033=a0_0x4e3da0(0x122)){const _0x22b159=a0_0x4e3da0;return _0x3df033+'_'+crypto[_0x22b159(0x12f)]();}['buildDeterministicKey'](_0x2e3471,_0x498679,_0x43189c){return _0x2e3471+':'+_0x498679+':'+_0x43189c;}}module[a0_0x4e3da0(0x127)]=new IdempotencyManager();
@@ -1 +1 @@
1
- const a0_0x24e522=a0_0x148e;(function(_0x5707b1,_0x2b26a5){const _0x1f5eae=a0_0x148e,_0x54ec1c=_0x5707b1();while(!![]){try{const _0x25d476=parseInt(_0x1f5eae(0x1a7))/0x1*(-parseInt(_0x1f5eae(0x1b7))/0x2)+parseInt(_0x1f5eae(0x1ae))/0x3+-parseInt(_0x1f5eae(0x1a3))/0x4*(parseInt(_0x1f5eae(0x1ad))/0x5)+-parseInt(_0x1f5eae(0x1a5))/0x6+parseInt(_0x1f5eae(0x1b4))/0x7*(-parseInt(_0x1f5eae(0x1b3))/0x8)+parseInt(_0x1f5eae(0x1bb))/0x9*(parseInt(_0x1f5eae(0x199))/0xa)+parseInt(_0x1f5eae(0x19f))/0xb;if(_0x25d476===_0x2b26a5)break;else _0x54ec1c['push'](_0x54ec1c['shift']());}catch(_0x111560){_0x54ec1c['push'](_0x54ec1c['shift']());}}}(a0_0x5cb4,0xea045));const {logger}=require(a0_0x24e522(0x1a2));class ImportValidator{['validateRow'](_0x374067,_0xe59b8b=[],_0x3d6149={}){const _0x5abcdc=a0_0x24e522,_0x3c5620={'rqYry':function(_0x3bebf9,_0xe21faf){return _0x3bebf9===_0xe21faf;},'BQqlU':function(_0x2f13b7,_0x4a6417){return _0x2f13b7===_0x4a6417;},'fbgyn':'required'},_0x322cc1=[];return _0xe59b8b[_0x5abcdc(0x1ac)](_0x25f307=>{const _0x38be79=_0x5abcdc,_0x467247=_0x374067[_0x25f307];(_0x3c5620['rqYry'](_0x467247,null)||_0x3c5620['rqYry'](_0x467247,undefined)||_0x3c5620['BQqlU'](_0x467247,''))&&_0x322cc1[_0x38be79(0x19e)]({'field':_0x25f307,'type':_0x3c5620['fbgyn'],'message':_0x38be79(0x1a6)});}),Object[_0x5abcdc(0x1bf)](_0x3d6149)['forEach'](_0x23f613=>{const _0x479165=_0x5abcdc,_0x2be98b=_0x374067[_0x23f613],_0x260c72=_0x3d6149[_0x23f613];if(_0x2be98b===null||_0x3c5620[_0x479165(0x1b9)](_0x2be98b,undefined)||_0x3c5620[_0x479165(0x1b0)](_0x2be98b,''))return;const _0x3d5604=this[_0x479165(0x1a4)](_0x23f613,_0x2be98b,_0x260c72);_0x3d5604&&_0x322cc1['push'](_0x3d5604);}),_0x322cc1;}[a0_0x24e522(0x1a4)](_0x238592,_0x32b766,_0x2c2dde){const _0x309aac=a0_0x24e522,_0x241e99={'keJrC':_0x309aac(0x1a0),'NgtHw':'phone'};switch(_0x2c2dde){case _0x241e99[_0x309aac(0x1ab)]:return this[_0x309aac(0x1af)](_0x238592,_0x32b766);case _0x241e99['NgtHw']:return this['validatePhone'](_0x238592,_0x32b766);case _0x309aac(0x1ba):return this[_0x309aac(0x1bc)](_0x238592,_0x32b766);case'number':return this[_0x309aac(0x1b6)](_0x238592,_0x32b766);default:return null;}}['validateEmail'](_0x494309,_0xd1fc37){const _0x2a3a94=a0_0x24e522,_0x3e87f4={'wuYZy':function(_0x3c28f8,_0x9c118d){return _0x3c28f8(_0x9c118d);},'RYWdQ':'format','DiLjZ':'Invalid\x20email\x20format'},_0x3cdbdf=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x3cdbdf['test'](_0x3e87f4[_0x2a3a94(0x1b8)](String,_0xd1fc37)))return{'field':_0x494309,'type':_0x3e87f4['RYWdQ'],'message':_0x3e87f4[_0x2a3a94(0x1a1)]};return null;}[a0_0x24e522(0x19b)](_0x161d01,_0x426233){const _0x367902=a0_0x24e522,_0x32628f={'acgla':_0x367902(0x1a8)},_0x511093=String(_0x426233)[_0x367902(0x1b1)](/\s+/g,''),_0x242d2e=/^[\d\+\-\(\)]+$/;if(!_0x242d2e[_0x367902(0x1a9)](_0x511093)||_0x511093['length']<0x8)return{'field':_0x161d01,'type':_0x32628f['acgla'],'message':'Invalid\x20phone\x20format'};return null;}[a0_0x24e522(0x1bc)](_0x222a9c,_0x4848dc){const _0x39b7cd=a0_0x24e522,_0x175478={'RHOYe':_0x39b7cd(0x19c)};try{return new URL(String(_0x4848dc)),null;}catch(_0x349471){return{'field':_0x222a9c,'type':_0x39b7cd(0x1a8),'message':_0x175478['RHOYe']};}}[a0_0x24e522(0x1b6)](_0x44995e,_0x2daade){const _0x11a16d=a0_0x24e522;if(isNaN(_0x2daade))return{'field':_0x44995e,'type':'format','message':_0x11a16d(0x19a)};return null;}[a0_0x24e522(0x1bd)](_0x1ac09f,_0x1b5920){const _0x33e697=a0_0x24e522,_0x4b42dd=new Map(),_0x1ab0ce=[];return _0x1ac09f[_0x33e697(0x1ac)]((_0x528c06,_0x5dc987)=>{const _0x2bb61d=_0x33e697,_0x2e3ec4=_0x1b5920['map'](_0x8c3e39=>_0x528c06[_0x8c3e39])[_0x2bb61d(0x1c0)]('|');_0x4b42dd[_0x2bb61d(0x1b2)](_0x2e3ec4)?_0x1ab0ce['push']({'rowIndex':_0x5dc987,'duplicateOf':_0x4b42dd['get'](_0x2e3ec4),'key':_0x2e3ec4}):_0x4b42dd['set'](_0x2e3ec4,_0x5dc987);}),_0x1ab0ce;}[a0_0x24e522(0x1aa)](_0x59be2c,_0x2da575,_0x22b404){const _0x85c256=a0_0x24e522,_0x3a665a={'ZgeAA':function(_0x2bdad1,_0x24c037){return _0x2bdad1>_0x24c037;}},_0x138e4e=[];return _0x59be2c['forEach']((_0x521f3f,_0x56e324)=>{const _0x49fcf7=a0_0x148e,_0x52c801=this['validateRow'](_0x521f3f,_0x2da575,_0x22b404);_0x3a665a[_0x49fcf7(0x1b5)](_0x52c801['length'],0x0)&&_0x138e4e[_0x49fcf7(0x19e)]({'rowIndex':_0x56e324,'rowData':_0x521f3f,'errors':_0x52c801});}),logger['info']({'event':_0x85c256(0x19d),'totalRows':_0x59be2c['length'],'errorCount':_0x138e4e['length']},_0x85c256(0x1be)),_0x138e4e;}}function a0_0x5cb4(){const _0x6562cf=['zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','A2v5CW','AM9PBG','mJaWr0HNDMDO','sw52ywXPzcbUDw1IzxiGzM9YBwf0','DMfSAwrHDgvqAg9Uzq','sw52ywXPzcbvuKWGzM9YBwf0','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','ChvZAa','ndu3nJe2ntbIvuLWwxe','zw1HAwW','rgLmALO','lI9SB2DNzxi','nti3mtKYrLnZzfHv','DMfSAwrHDgvgAwvSzezVCM1HDa','mZCXndK1nfDsvxvuzG','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','mta0ow5UtgvstW','zM9YBwf0','DgvZDa','yMf0y2HwywXPzgf0zvjVD3m','A2vkCKm','zM9YrwfJAa','nZb0tvLOvei','mtiZmJy3m2vnufnpBG','DMfSAwrHDgvfBwfPBa','qLfXBfu','CMvWBgfJzq','AgfZ','mZqXmtm2BKjHC013','mJaZtw1xA1vL','wMDLque','DMfSAwrHDgvoDw1Izxi','mJu4mMfZC3HTEa','D3vzwNK','CNfzCNK','DxjS','nJq5mJe1zvbQsxfh','DMfSAwrHDgvvCMW'];a0_0x5cb4=function(){return _0x6562cf;};return a0_0x5cb4();}function a0_0x148e(_0x368a7b,_0x104475){_0x368a7b=_0x368a7b-0x199;const _0x5cb47c=a0_0x5cb4();let _0x148e96=_0x5cb47c[_0x368a7b];if(a0_0x148e['LVRJOQ']===undefined){var _0x332aba=function(_0x42e8d6){const _0x284474='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x28088f='',_0x13bba5='';for(let _0x49f17f=0x0,_0x476d3c,_0xef914d,_0x2ebf2a=0x0;_0xef914d=_0x42e8d6['charAt'](_0x2ebf2a++);~_0xef914d&&(_0x476d3c=_0x49f17f%0x4?_0x476d3c*0x40+_0xef914d:_0xef914d,_0x49f17f++%0x4)?_0x28088f+=String['fromCharCode'](0xff&_0x476d3c>>(-0x2*_0x49f17f&0x6)):0x0){_0xef914d=_0x284474['indexOf'](_0xef914d);}for(let _0x209d56=0x0,_0x14580f=_0x28088f['length'];_0x209d56<_0x14580f;_0x209d56++){_0x13bba5+='%'+('00'+_0x28088f['charCodeAt'](_0x209d56)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13bba5);};a0_0x148e['kLoAkh']=_0x332aba,a0_0x148e['IIvooi']={},a0_0x148e['LVRJOQ']=!![];}const _0x4276a4=_0x5cb47c[0x0],_0x202e8c=_0x368a7b+_0x4276a4,_0x1d64cd=a0_0x148e['IIvooi'][_0x202e8c];return!_0x1d64cd?(_0x148e96=a0_0x148e['kLoAkh'](_0x148e96),a0_0x148e['IIvooi'][_0x202e8c]=_0x148e96):_0x148e96=_0x1d64cd,_0x148e96;}module['exports']=new ImportValidator();
1
+ const a0_0x41a62f=a0_0x3eb0;function a0_0xe1ca(){const _0x713b5=['lI9SB2DNzxi','ndG3odq4mM95zfzmCa','DMfSAwrHDgvqAg9Uzq','m0vRC3rYsW','A2v5CW','DMfSAwrHDgvgAwvSzezVCM1HDa','mZq1nJHsuwfPvwi','u2rJyLO','ugDNtNO','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','ndaXodyXD2TtvM5Y','DMfSAwrHDgvoDw1Izxi','z2v0','ody5nZy2m1zZzefwuq','Aw5MBW','Cw1WEha','CMvXDwLYzwq','DgvZDa','sw52ywXPzcbUDw1IzxiGzM9YBwf0','mKPcqNrbwG','CMvWBgfJzq','AgfZ','AfHnr2m','sw52ywXPzcbWAg9UzsbMB3jTyxq','BNvTyMvY','C1fwwLe','ChvZAa','nZK5nJqWmff4CfjcEa','vwP6ru8','C2v0','ndK4nZKYmhPxtezfqG','mZmYnJy4mfPmswTprq','DMfSAwrHDgvfBwfPBa','zM9YBwf0','zM9YrwfJAa','Ahflzvq','sw52ywXPzcbLBwfPBcbMB3jTyxq','BgvUz3rO'];a0_0xe1ca=function(){return _0x713b5;};return a0_0xe1ca();}(function(_0x616f27,_0x325a67){const _0x4040b2=a0_0x3eb0,_0x27a1f0=_0x616f27();while(!![]){try{const _0x569e58=-parseInt(_0x4040b2(0x1b4))/0x1*(parseInt(_0x4040b2(0x1bd))/0x2)+-parseInt(_0x4040b2(0x1ad))/0x3*(-parseInt(_0x4040b2(0x1b0))/0x4)+-parseInt(_0x4040b2(0x1c9))/0x5+parseInt(_0x4040b2(0x1c8))/0x6+parseInt(_0x4040b2(0x1ab))/0x7+parseInt(_0x4040b2(0x1c5))/0x8+-parseInt(_0x4040b2(0x1b7))/0x9;if(_0x569e58===_0x325a67)break;else _0x27a1f0['push'](_0x27a1f0['shift']());}catch(_0x15fed3){_0x27a1f0['push'](_0x27a1f0['shift']());}}}(a0_0xe1ca,0x7ac32));function a0_0x3eb0(_0x8f8c83,_0x3e658a){_0x8f8c83=_0x8f8c83-0x1a7;const _0xe1ca2a=a0_0xe1ca();let _0x3eb03a=_0xe1ca2a[_0x8f8c83];if(a0_0x3eb0['xGTQLc']===undefined){var _0x47d8d7=function(_0x2fa6e4){const _0x202a5f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x13f786='',_0x644844='';for(let _0x49cf05=0x0,_0x39fe02,_0x4e8c4d,_0x107328=0x0;_0x4e8c4d=_0x2fa6e4['charAt'](_0x107328++);~_0x4e8c4d&&(_0x39fe02=_0x49cf05%0x4?_0x39fe02*0x40+_0x4e8c4d:_0x4e8c4d,_0x49cf05++%0x4)?_0x13f786+=String['fromCharCode'](0xff&_0x39fe02>>(-0x2*_0x49cf05&0x6)):0x0){_0x4e8c4d=_0x202a5f['indexOf'](_0x4e8c4d);}for(let _0x3572c3=0x0,_0x5253ff=_0x13f786['length'];_0x3572c3<_0x5253ff;_0x3572c3++){_0x644844+='%'+('00'+_0x13f786['charCodeAt'](_0x3572c3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x644844);};a0_0x3eb0['txqrMJ']=_0x47d8d7,a0_0x3eb0['HOAVUi']={},a0_0x3eb0['xGTQLc']=!![];}const _0x3794e1=_0xe1ca2a[0x0],_0x3e7815=_0x8f8c83+_0x3794e1,_0x1f0718=a0_0x3eb0['HOAVUi'][_0x3e7815];return!_0x1f0718?(_0x3eb03a=a0_0x3eb0['txqrMJ'](_0x3eb03a),a0_0x3eb0['HOAVUi'][_0x3e7815]=_0x3eb03a):_0x3eb03a=_0x1f0718,_0x3eb03a;}const {logger}=require(a0_0x41a62f(0x1aa));class ImportValidator{['validateRow'](_0x4fc990,_0x24e6ff=[],_0x3b7f9a={}){const _0x22856d=a0_0x41a62f,_0xde25bf={'XUihP':function(_0x17bd5e,_0x4865a3){return _0x17bd5e===_0x4865a3;},'hXMGc':_0x22856d(0x1ba),'qmpxp':function(_0xcb8975,_0x2072d1){return _0xcb8975===_0x2072d1;},'yZcpr':function(_0x2b154a,_0x203808){return _0x2b154a===_0x203808;}},_0x4b4ad3=[];return _0x24e6ff[_0x22856d(0x1cc)](_0x8e095e=>{const _0x2554cd=_0x22856d,_0x2d6e6c=_0x4fc990[_0x8e095e];(_0xde25bf['XUihP'](_0x2d6e6c,null)||_0x2d6e6c===undefined||_0x2d6e6c==='')&&_0x4b4ad3[_0x2554cd(0x1c4)]({'field':_0x8e095e,'type':_0xde25bf[_0x2554cd(0x1c0)],'message':_0x2554cd(0x1b3)});}),Object[_0x22856d(0x1ae)](_0x3b7f9a)[_0x22856d(0x1cc)](_0x29a261=>{const _0x3a1700=_0x22856d,_0x455fc0=_0x4fc990[_0x29a261],_0x668f62=_0x3b7f9a[_0x29a261];if(_0xde25bf[_0x3a1700(0x1b9)](_0x455fc0,null)||_0x455fc0===undefined||_0xde25bf['yZcpr'](_0x455fc0,''))return;const _0x5d03bd=this[_0x3a1700(0x1af)](_0x29a261,_0x455fc0,_0x668f62);_0x5d03bd&&_0x4b4ad3[_0x3a1700(0x1c4)](_0x5d03bd);}),_0x4b4ad3;}['validateFieldFormat'](_0x3811b1,_0x5f1585,_0x46266d){const _0x4774de=a0_0x41a62f,_0x4026bb={'ZjbpF':'url','UjzEO':_0x4774de(0x1c2)};switch(_0x46266d){case'email':return this[_0x4774de(0x1ca)](_0x3811b1,_0x5f1585);case'phone':return this['validatePhone'](_0x3811b1,_0x5f1585);case _0x4026bb['ZjbpF']:return this['validateUrl'](_0x3811b1,_0x5f1585);case _0x4026bb[_0x4774de(0x1c6)]:return this[_0x4774de(0x1b5)](_0x3811b1,_0x5f1585);default:return null;}}[a0_0x41a62f(0x1ca)](_0xe53a03,_0x805c13){const _0x39c62d=a0_0x41a62f,_0x55b352={'btbzs':function(_0x19a283,_0x1b9276){return _0x19a283(_0x1b9276);},'sQVZQ':_0x39c62d(0x1cb)},_0x31eef5=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x31eef5[_0x39c62d(0x1bb)](_0x55b352['btbzs'](String,_0x805c13)))return{'field':_0xe53a03,'type':_0x55b352[_0x39c62d(0x1c3)],'message':_0x39c62d(0x1a8)};return null;}[a0_0x41a62f(0x1ac)](_0x5ec587,_0x5b81dc){const _0x12ee3e=a0_0x41a62f,_0x35c8fc={'GlRqs':function(_0x43ea23,_0x3a11ca){return _0x43ea23(_0x3a11ca);},'NprAA':function(_0x5c688c,_0xd192ec){return _0x5c688c<_0xd192ec;},'jswRe':_0x12ee3e(0x1c1)},_0x4bc6f3=_0x35c8fc['GlRqs'](String,_0x5b81dc)[_0x12ee3e(0x1be)](/\s+/g,''),_0x48423d=/^[\d\+\-\(\)]+$/;if(!_0x48423d['test'](_0x4bc6f3)||_0x35c8fc['NprAA'](_0x4bc6f3['length'],0x8))return{'field':_0x5ec587,'type':'format','message':_0x35c8fc['jswRe']};return null;}['validateUrl'](_0x4a1172,_0xaddb76){const _0x2cac2d=a0_0x41a62f,_0x1cae6d={'hqKeT':_0x2cac2d(0x1cb)};try{return new URL(String(_0xaddb76)),null;}catch(_0x26dc39){return{'field':_0x4a1172,'type':_0x1cae6d[_0x2cac2d(0x1a7)],'message':'Invalid\x20URL\x20format'};}}[a0_0x41a62f(0x1b5)](_0x229704,_0x4def2f){const _0x3678d2=a0_0x41a62f,_0x5e9b6b={'PggNz':_0x3678d2(0x1bc)};if(isNaN(_0x4def2f))return{'field':_0x229704,'type':'format','message':_0x5e9b6b[_0x3678d2(0x1b2)]};return null;}['detectDuplicatesInFile'](_0x354e80,_0x5db367){const _0x579c9a=new Map(),_0x9750c=[];return _0x354e80['forEach']((_0x8290e6,_0x49b4cc)=>{const _0x4fae03=a0_0x3eb0,_0x23e3ad=_0x5db367['map'](_0x326e5e=>_0x8290e6[_0x326e5e])['join']('|');_0x579c9a[_0x4fae03(0x1bf)](_0x23e3ad)?_0x9750c['push']({'rowIndex':_0x49b4cc,'duplicateOf':_0x579c9a[_0x4fae03(0x1b6)](_0x23e3ad),'key':_0x23e3ad}):_0x579c9a[_0x4fae03(0x1c7)](_0x23e3ad,_0x49b4cc);}),_0x9750c;}['batchValidateRows'](_0x40ca8f,_0x1e749c,_0x3d32b7){const _0x459e85=a0_0x41a62f,_0x4d3a0a={'SdcbZ':function(_0x28aad2,_0x27b01c){return _0x28aad2>_0x27b01c;},'iWpSG':'batch_validation_complete'},_0x59a832=[];return _0x40ca8f[_0x459e85(0x1cc)]((_0x5db209,_0x2a071e)=>{const _0xbdb792=_0x459e85,_0x48d6a1=this['validateRow'](_0x5db209,_0x1e749c,_0x3d32b7);_0x4d3a0a[_0xbdb792(0x1b1)](_0x48d6a1[_0xbdb792(0x1a9)],0x0)&&_0x59a832['push']({'rowIndex':_0x2a071e,'rowData':_0x5db209,'errors':_0x48d6a1});}),logger[_0x459e85(0x1b8)]({'event':_0x4d3a0a['iWpSG'],'totalRows':_0x40ca8f['length'],'errorCount':_0x59a832[_0x459e85(0x1a9)]},'Batch\x20validation\x20completed'),_0x59a832;}}module['exports']=new ImportValidator();