@restforgejs/platform 5.1.20 → 5.2.0

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 (215) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/catalog/dashboard.js +1 -1
  5. package/generators/cli/catalog/dbschema.js +3 -3
  6. package/generators/cli/catalog/field-validation.js +1 -1
  7. package/generators/cli/catalog/query-declarative.js +1 -1
  8. package/generators/cli/config/clear-default.js +1 -1
  9. package/generators/cli/config/get-default.js +1 -1
  10. package/generators/cli/config/list.js +1 -1
  11. package/generators/cli/config/schema.js +1 -1
  12. package/generators/cli/config/set-default.js +2 -2
  13. package/generators/cli/config/template.js +1 -1
  14. package/generators/cli/dashboard/create.js +7 -7
  15. package/generators/cli/data/pull.js +12 -12
  16. package/generators/cli/data/push.js +9 -9
  17. package/generators/cli/endpoint/create.js +11 -11
  18. package/generators/cli/endpoint/list.js +3 -3
  19. package/generators/cli/fast-track.js +7 -7
  20. package/generators/cli/init.js +2 -2
  21. package/generators/cli/kafka/consumer-create.js +5 -5
  22. package/generators/cli/key/generate.js +3 -3
  23. package/generators/cli/key/list.js +2 -2
  24. package/generators/cli/key/revoke.js +3 -3
  25. package/generators/cli/payload/diff.js +3 -3
  26. package/generators/cli/payload/generate.js +5 -5
  27. package/generators/cli/payload/sync.js +5 -5
  28. package/generators/cli/payload/validate.js +3 -3
  29. package/generators/cli/processor/create.js +7 -7
  30. package/generators/cli/processor/list.js +3 -3
  31. package/generators/cli/project/delete.js +2 -2
  32. package/generators/cli/project/list.js +1 -1
  33. package/generators/cli/query/validate.js +3 -3
  34. package/generators/cli/schema/apply.js +13 -13
  35. package/generators/cli/schema/describe.js +6 -6
  36. package/generators/cli/schema/diff.js +10 -10
  37. package/generators/cli/schema/generate-ddl.js +11 -11
  38. package/generators/cli/schema/init.js +95 -95
  39. package/generators/cli/schema/introspect.js +8 -8
  40. package/generators/cli/schema/list.js +6 -6
  41. package/generators/cli/schema/migrate.js +91 -13
  42. package/generators/cli/schema/models.js +6 -6
  43. package/generators/cli/schema/template.js +223 -222
  44. package/generators/cli/schema/validate.js +6 -6
  45. package/generators/cli/test/generate.js +6 -6
  46. package/generators/lib/dbschema-kit/apply-executor.js +20 -0
  47. package/generators/lib/dbschema-kit/introspect-mapper.js +20 -0
  48. package/generators/lib/generators/processor-validation-generator.js +4 -1
  49. package/generators/lib/migrate/field-type-resolver.js +23 -0
  50. package/generators/lib/payload/payload-runner.js +17 -3
  51. package/generators/lib/templates/dashboard-catalog.js +1 -1
  52. package/generators/lib/templates/db-connection-env.js +1 -1
  53. package/generators/lib/templates/dbschema-catalog.js +1 -1
  54. package/generators/lib/templates/field-validation-catalog.js +1 -1
  55. package/generators/lib/templates/mysql-template.js +1 -1
  56. package/generators/lib/templates/oracle-template.js +1 -1
  57. package/generators/lib/templates/postgres-template.js +1 -1
  58. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  59. package/generators/lib/templates/sqlite-template.js +1 -1
  60. package/integrity-manifest.json +18 -18
  61. package/package.json +1 -1
  62. package/scripts/verify-integrity.js +1 -1
  63. package/server.js +1 -1
  64. package/src/components/handlers/adjust_handler.js +1 -1
  65. package/src/components/handlers/audit_handler.js +1 -1
  66. package/src/components/handlers/delete_handler.js +1 -1
  67. package/src/components/handlers/export_handler.js +1 -1
  68. package/src/components/handlers/import_handler.js +1 -1
  69. package/src/components/handlers/insert_handler.js +1 -1
  70. package/src/components/handlers/update_handler.js +1 -1
  71. package/src/components/handlers/upload_handler.js +1 -1
  72. package/src/components/handlers/workflow_handler.js +1 -1
  73. package/src/components/integrations/webhook.js +1 -1
  74. package/src/consumers/baseConsumer.js +1 -1
  75. package/src/consumers/declarativeMapper.js +1 -1
  76. package/src/consumers/handlers/apiHandler.js +1 -1
  77. package/src/consumers/handlers/consoleHandler.js +1 -1
  78. package/src/consumers/handlers/databaseHandler.js +1 -1
  79. package/src/consumers/handlers/index.js +1 -1
  80. package/src/consumers/handlers/kafkaHandler.js +1 -1
  81. package/src/consumers/index.js +1 -1
  82. package/src/consumers/messageTransformer.js +1 -1
  83. package/src/consumers/validator.js +1 -1
  84. package/src/core/db/dialect/base-dialect.js +1 -1
  85. package/src/core/db/dialect/index.js +1 -1
  86. package/src/core/db/dialect/mysql-dialect.js +1 -1
  87. package/src/core/db/dialect/oracle-dialect.js +1 -1
  88. package/src/core/db/dialect/postgres-dialect.js +1 -1
  89. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  90. package/src/core/db/flatten-helper.js +1 -1
  91. package/src/core/db/query-builder-error.js +1 -1
  92. package/src/core/db/query-builder.js +1 -1
  93. package/src/core/db/relation-helper.js +1 -1
  94. package/src/core/handlers/delete_handler.js +1 -1
  95. package/src/core/handlers/insert_handler.js +1 -1
  96. package/src/core/handlers/update_handler.js +1 -1
  97. package/src/core/models/base-model.js +1 -1
  98. package/src/core/utils/cache-manager.js +1 -1
  99. package/src/core/utils/component-engine.js +1 -1
  100. package/src/core/utils/context-builder.js +1 -1
  101. package/src/core/utils/datetime-formatter.js +1 -1
  102. package/src/core/utils/datetime-parser.js +1 -1
  103. package/src/core/utils/db.js +1 -1
  104. package/src/core/utils/logger.js +1 -1
  105. package/src/core/utils/payload-loader.js +1 -1
  106. package/src/core/utils/security-checks.js +1 -1
  107. package/src/middleware/body-options.js +1 -1
  108. package/src/middleware/cors.js +1 -1
  109. package/src/middleware/idempotency.js +1 -1
  110. package/src/middleware/rate-limiter.js +1 -1
  111. package/src/middleware/request-logger.js +1 -1
  112. package/src/middleware/security-headers.js +1 -1
  113. package/src/models/base-model-mysql.js +1 -1
  114. package/src/models/base-model-oracle.js +1 -1
  115. package/src/models/base-model-sqlite.js +1 -1
  116. package/src/models/base-model.js +1 -1
  117. package/src/pro/caching/redis-client.js +1 -1
  118. package/src/pro/caching/redis-helper.js +1 -1
  119. package/src/pro/consumers/baseConsumer.js +1 -1
  120. package/src/pro/consumers/declarativeMapper.js +1 -1
  121. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  122. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  123. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  124. package/src/pro/consumers/handlers/index.js +1 -1
  125. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  126. package/src/pro/consumers/index.js +1 -1
  127. package/src/pro/consumers/messageTransformer.js +1 -1
  128. package/src/pro/consumers/validator.js +1 -1
  129. package/src/pro/database/base-model-mysql.js +1 -1
  130. package/src/pro/database/base-model-oracle.js +1 -1
  131. package/src/pro/database/base-model-sqlite.js +1 -1
  132. package/src/pro/database/db-mysql.js +1 -1
  133. package/src/pro/database/db-oracle.js +1 -1
  134. package/src/pro/database/db-sqlite.js +1 -1
  135. package/src/pro/excel/excel-generator.js +1 -1
  136. package/src/pro/excel/excel-parser.js +1 -1
  137. package/src/pro/excel/export-service.js +1 -1
  138. package/src/pro/excel/export_handler.js +1 -1
  139. package/src/pro/excel/import-service.js +1 -1
  140. package/src/pro/excel/import-validator.js +1 -1
  141. package/src/pro/excel/import_handler.js +1 -1
  142. package/src/pro/excel/upsert-builder.js +1 -1
  143. package/src/pro/idgen/idgen-routes.js +1 -1
  144. package/src/pro/integrations/lookup-resolver.js +1 -1
  145. package/src/pro/integrations/upload-handler-v2.js +1 -1
  146. package/src/pro/integrations/upload-handler.js +1 -1
  147. package/src/pro/integrations/webhook.js +1 -1
  148. package/src/pro/locking/lock-routes.js +1 -1
  149. package/src/pro/locking/resource-lock-manager.js +1 -1
  150. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  151. package/src/pro/messaging/kafkaService.js +1 -1
  152. package/src/pro/messaging/messagehubService.js +1 -1
  153. package/src/pro/messaging/rabbitmqService.js +1 -1
  154. package/src/pro/scheduler/job-manager.js +1 -1
  155. package/src/pro/scheduler/job-routes.js +1 -1
  156. package/src/pro/scheduler/job-validator.js +1 -1
  157. package/src/pro/storage/base-storage-provider.js +1 -1
  158. package/src/pro/storage/file-metadata-helper.js +1 -1
  159. package/src/pro/storage/index.js +1 -1
  160. package/src/pro/storage/local-storage-provider.js +1 -1
  161. package/src/pro/storage/s3-storage-provider.js +1 -1
  162. package/src/pro/storage/upload-cleanup-job.js +1 -1
  163. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  164. package/src/pro/storage/upload-pending-tracker.js +1 -1
  165. package/src/pro/websocket/broadcast-helper.js +1 -1
  166. package/src/pro/websocket/index.js +1 -1
  167. package/src/pro/websocket/livesync-server.js +1 -1
  168. package/src/pro/websocket/ws-broadcaster.js +1 -1
  169. package/src/services/export-service.js +1 -1
  170. package/src/services/import-service.js +1 -1
  171. package/src/services/kafkaConsumerService.js +1 -1
  172. package/src/services/kafkaService.js +1 -1
  173. package/src/services/messagehubService.js +1 -1
  174. package/src/services/rabbitmqService.js +1 -1
  175. package/src/utils/cache-invalidation-registry.js +1 -1
  176. package/src/utils/cache-manager.js +1 -1
  177. package/src/utils/component-engine.js +1 -1
  178. package/src/utils/config-extractor.js +1 -1
  179. package/src/utils/consumerLogger.js +1 -1
  180. package/src/utils/context-builder.js +1 -1
  181. package/src/utils/dashboard-helpers.js +1 -1
  182. package/src/utils/dateHelper.js +1 -1
  183. package/src/utils/datetime-formatter.js +1 -1
  184. package/src/utils/datetime-parser.js +1 -1
  185. package/src/utils/db-bootstrap.js +1 -1
  186. package/src/utils/db-mysql.js +1 -1
  187. package/src/utils/db-oracle.js +1 -1
  188. package/src/utils/db-sqlite.js +1 -1
  189. package/src/utils/db.js +1 -1
  190. package/src/utils/demo-generator.js +1 -1
  191. package/src/utils/excel-generator.js +1 -1
  192. package/src/utils/excel-parser.js +1 -1
  193. package/src/utils/file-watcher.js +1 -1
  194. package/src/utils/id-generator.js +1 -1
  195. package/src/utils/idempotency-manager.js +1 -1
  196. package/src/utils/import-validator.js +1 -1
  197. package/src/utils/license-client.js +1 -1
  198. package/src/utils/lock-manager.js +1 -1
  199. package/src/utils/logger.js +1 -1
  200. package/src/utils/lookup-resolver.js +1 -1
  201. package/src/utils/payload-loader.js +1 -1
  202. package/src/utils/processor-response.js +1 -1
  203. package/src/utils/rabbitmq.js +1 -1
  204. package/src/utils/redis-client.js +1 -1
  205. package/src/utils/redis-helper.js +1 -1
  206. package/src/utils/request-scope.js +1 -1
  207. package/src/utils/security-checks.js +1 -1
  208. package/src/utils/service-resolver.js +1 -1
  209. package/src/utils/shutdown-coordinator.js +1 -1
  210. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  211. package/src/utils/sql-table-extractor.js +1 -1
  212. package/src/utils/trusted-keys.js +1 -1
  213. package/src/utils/upload-handler.js +1 -1
  214. package/src/utils/upsert-builder.js +1 -1
  215. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x22054c=a0_0xd390;function a0_0x4f43(){const _0x393b49=['D2f0y2HLCNm','ndvpEhHQBwS','icbBv0fuq0HDifDHCM5PBMC6ifDHDgnOzxiGzxjYB3iGB24G','y3DK','mJe2nZmWsKrrD2jj','mte0ufrPBffj','Bg9N','ogDuAwTbDG','B25dAgfUz2u','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','C3bSAxq','lYaOCMvJDxjZAxzLkq','mteXnJCZmJrtyvLzwK4','mZaXmZG4mfzKC2vdzG','CMvSyxrPDMu','mJjJA01WvNa','C3rVCa','mZC2nJi1Cu1cu1zL','mhW0Fdf8mNW1Fdm','zxjYB3i','zgvIB3vUy2vnCW','yNPuAgq','zgLYzwn0B3jPzxm','D1rqCvO','zxH0zw5ZAw9UCW','ntGZnJuYnerTqu9VwG','icbBv0fuq0HDifDHCM5PBMC6ierPCMvJDg9YEsbUB3qGzM91BMqSihnRAxbWAw5NoIa','x2rLyM91BMnL','zxHWB3j0CW','Dg9mB3DLCKnHC2u','D0HSDNO','lMPZ','BwvZC2fNzq','BgPxtKG','otC1nZq4mgHczhbQrq','mtq4mtDPuuvOqLu','zxHPC3rZu3LUyW','icbBv0fuq0HDifDHDgnOAw5NoIa','Aw5JBhvKzxm','oti4s2ntterM','s3rIAwq','zgvIB3vUy2vuAw1LCG'];a0_0x4f43=function(){return _0x393b49;};return a0_0x4f43();}(function(_0x471949,_0xc18fbf){const _0xf673b6=a0_0xd390,_0x5d3f5d=_0x471949();while(!![]){try{const _0x277e15=-parseInt(_0xf673b6(0x7a))/0x1*(-parseInt(_0xf673b6(0x70))/0x2)+-parseInt(_0xf673b6(0x8c))/0x3*(-parseInt(_0xf673b6(0x90))/0x4)+-parseInt(_0xf673b6(0x6d))/0x5*(parseInt(_0xf673b6(0x6e))/0x6)+-parseInt(_0xf673b6(0x75))/0x7+parseInt(_0xf673b6(0x8b))/0x8+parseInt(_0xf673b6(0x94))/0x9*(-parseInt(_0xf673b6(0x76))/0xa)+-parseInt(_0xf673b6(0x78))/0xb*(-parseInt(_0xf673b6(0x82))/0xc);if(_0x277e15===_0xc18fbf)break;else _0x5d3f5d['push'](_0x5d3f5d['shift']());}catch(_0x5ef611){_0x5d3f5d['push'](_0x5d3f5d['shift']());}}}(a0_0x4f43,0xe059d));function a0_0xd390(_0x59076e,_0x5c7ab7){_0x59076e=_0x59076e-0x6d;const _0x4f43c8=a0_0x4f43();let _0xd390d3=_0x4f43c8[_0x59076e];if(a0_0xd390['TKFtwb']===undefined){var _0x22a28f=function(_0x1cf3ec){const _0xda31a1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9d4fcb='',_0x3b1903='';for(let _0x4d3c9f=0x0,_0x351f20,_0x2d2533,_0x5812f6=0x0;_0x2d2533=_0x1cf3ec['charAt'](_0x5812f6++);~_0x2d2533&&(_0x351f20=_0x4d3c9f%0x4?_0x351f20*0x40+_0x2d2533:_0x2d2533,_0x4d3c9f++%0x4)?_0x9d4fcb+=String['fromCharCode'](0xff&_0x351f20>>(-0x2*_0x4d3c9f&0x6)):0x0){_0x2d2533=_0xda31a1['indexOf'](_0x2d2533);}for(let _0x158303=0x0,_0x2195e6=_0x9d4fcb['length'];_0x158303<_0x2195e6;_0x158303++){_0x3b1903+='%'+('00'+_0x9d4fcb['charCodeAt'](_0x158303)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b1903);};a0_0xd390['eRoUub']=_0x22a28f,a0_0xd390['dGrxyL']={},a0_0xd390['TKFtwb']=!![];}const _0x9bc5=_0x4f43c8[0x0],_0x2d50f2=_0x59076e+_0x9bc5,_0x61aeba=a0_0xd390['dGrxyL'][_0x2d50f2];return!_0x61aeba?(_0xd390d3=a0_0xd390['eRoUub'](_0xd390d3),a0_0xd390['dGrxyL'][_0x2d50f2]=_0xd390d3):_0xd390d3=_0x61aeba,_0xd390d3;}const fs=require('fs'),path=require('path');class FileWatcher{constructor(_0x40e97e={}){const _0x1637a8=a0_0xd390,_0x18a2c2={'UDKov':_0x1637a8(0x7b),'wTPqZ':_0x1637a8(0x88),'wHlvz':'.json'},_0x5c7c32=_0x18a2c2['UDKov'][_0x1637a8(0x73)]('|');let _0x29c9a1=0x0;while(!![]){switch(_0x5c7c32[_0x29c9a1++]){case'0':this['directories']=_0x40e97e[_0x1637a8(0x7f)]||[];continue;case'1':this[_0x1637a8(0x7d)]=_0x40e97e['debounceMs']||0x1f4;continue;case'2':this['onChange']=_0x40e97e[_0x1637a8(0x71)]||(()=>{});continue;case'3':this[_0x1637a8(0x92)]=null;continue;case'4':this[_0x1637a8(0x81)]=_0x40e97e[_0x1637a8(0x81)]||[_0x18a2c2[_0x1637a8(0x80)],_0x18a2c2[_0x1637a8(0x87)]];continue;case'5':this['watchers']=[];continue;}break;}}['start'](){const _0x1a011d=a0_0xd390,_0x210add={'ljWNH':_0x1a011d(0x7c)};for(const _0x160b5f of this['directories']){if(!fs[_0x1a011d(0x8d)](_0x160b5f)){console[_0x1a011d(0x6f)](_0x1a011d(0x83)+(path['relative'](process[_0x1a011d(0x96)](),_0x160b5f)||_0x160b5f));continue;}try{const _0x507c1a=fs['watch'](_0x160b5f,{'recursive':!![]},(_0x48a391,_0x3465cb)=>{const _0xb54dab=_0x1a011d;if(!_0x3465cb)return;const _0x25c1b6=path['extname'](_0x3465cb)[_0xb54dab(0x86)]();if(!this['extensions'][_0xb54dab(0x8f)](_0x25c1b6))return;this[_0xb54dab(0x84)](_0x3465cb);});_0x507c1a['on'](_0x210add[_0x1a011d(0x8a)],_0x166306=>{const _0x1a4cd3=_0x1a011d;console['log'](_0x1a4cd3(0x95)+path[_0x1a4cd3(0x77)](process[_0x1a4cd3(0x96)](),_0x160b5f)+':\x20'+_0x166306[_0x1a4cd3(0x89)]);}),this['watchers']['push'](_0x507c1a);const _0x4f07a3=path[_0x1a011d(0x77)](process[_0x1a011d(0x96)](),_0x160b5f)||_0x160b5f;console['log'](_0x1a011d(0x8e)+_0x4f07a3+_0x1a011d(0x74));}catch(_0x4b7b06){console[_0x1a011d(0x6f)](_0x1a011d(0x72)+path[_0x1a011d(0x77)](process[_0x1a011d(0x96)](),_0x160b5f)+':\x20'+_0x4b7b06[_0x1a011d(0x89)]);}}}[a0_0x22054c(0x79)](){const _0x395096=a0_0x22054c;for(const _0x390b7d of this[_0x395096(0x93)]){try{_0x390b7d['close']();}catch(_0x5db091){}}this[_0x395096(0x93)]=[],this[_0x395096(0x92)]&&(clearTimeout(this[_0x395096(0x92)]),this['debounceTimer']=null);}[a0_0x22054c(0x84)](_0x1a8182){const _0x463867=a0_0x22054c,_0x5df2d9={'bzThd':function(_0x302543,_0x2ad33b){return _0x302543(_0x2ad33b);},'Ktbid':function(_0x2c3a78,_0x4ed104,_0x52bb45){return _0x2c3a78(_0x4ed104,_0x52bb45);}};this['debounceTimer']&&_0x5df2d9[_0x463867(0x7e)](clearTimeout,this[_0x463867(0x92)]),this['debounceTimer']=_0x5df2d9[_0x463867(0x91)](setTimeout,()=>{this['debounceTimer']=null,this['onChange'](_0x1a8182);},this['debounceMs']);}}module[a0_0x22054c(0x85)]=FileWatcher;
1
+ 'use strict';const a0_0x171e42=a0_0x5387;function a0_0x49e8(){const _0x5aaa18=['Bg9N','zgLYzwn0B3jPzxm','CMvSyxrPDMu','mJC3mdG5EKvMB3Lu','lMPZ','C3rVCa','Cgf0Aa','D2f0y2HLCNm','y3DK','icbBv0fuq0HDifDHCM5PBMC6ierPCMvJDg9YEsbUB3qGzM91BMqSihnRAxbWAw5NoIa','odrHz3LKA1K','zgvIB3vUy2vuAw1LCG','Aw5JBhvKzxm','y2XVC2u','mZmWmdKYsxHlzxPR','D2f0y2G','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','BwvZC2fNzq','nZq0mZq0rfnutxb2','zxH0BMfTzq','rMnqEvi','zxHPC3rZu3LUyW','ndaYnZGZDKrUExL3','zgvIB3vUy2vnCW','mtqYodaYohberuHyCG','mtG0otm0nvnUChvcsW','mhWYFdv8m3W0Fde','x2rLyM91BMnL','ntmXodGWt0z3wvj3'];a0_0x49e8=function(){return _0x5aaa18;};return a0_0x49e8();}(function(_0x9bc9c8,_0x246e59){const _0x3da00c=a0_0x5387,_0x43be4b=_0x9bc9c8();while(!![]){try{const _0x330d73=parseInt(_0x3da00c(0x11a))/0x1+-parseInt(_0x3da00c(0x116))/0x2+-parseInt(_0x3da00c(0x12d))/0x3+parseInt(_0x3da00c(0x12f))/0x4+-parseInt(_0x3da00c(0x130))/0x5+-parseInt(_0x3da00c(0x121))/0x6*(-parseInt(_0x3da00c(0x125))/0x7)+-parseInt(_0x3da00c(0x129))/0x8;if(_0x330d73===_0x246e59)break;else _0x43be4b['push'](_0x43be4b['shift']());}catch(_0x2e07ea){_0x43be4b['push'](_0x43be4b['shift']());}}}(a0_0x49e8,0x6943f));const fs=require('fs'),path=require(a0_0x171e42(0x11d));function a0_0x5387(_0x42033f,_0x34904d){_0x42033f=_0x42033f-0x115;const _0x49e847=a0_0x49e8();let _0x5387f7=_0x49e847[_0x42033f];if(a0_0x5387['dudQbV']===undefined){var _0x2269dc=function(_0x477daa){const _0xcc43d0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x16770e='',_0x144663='';for(let _0x13ea03=0x0,_0x5a0584,_0x262dee,_0x50cc83=0x0;_0x262dee=_0x477daa['charAt'](_0x50cc83++);~_0x262dee&&(_0x5a0584=_0x13ea03%0x4?_0x5a0584*0x40+_0x262dee:_0x262dee,_0x13ea03++%0x4)?_0x16770e+=String['fromCharCode'](0xff&_0x5a0584>>(-0x2*_0x13ea03&0x6)):0x0){_0x262dee=_0xcc43d0['indexOf'](_0x262dee);}for(let _0x3be25d=0x0,_0x3b868d=_0x16770e['length'];_0x3be25d<_0x3b868d;_0x3be25d++){_0x144663+='%'+('00'+_0x16770e['charCodeAt'](_0x3be25d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x144663);};a0_0x5387['DhrWKv']=_0x2269dc,a0_0x5387['hkWklW']={},a0_0x5387['dudQbV']=!![];}const _0x40d32e=_0x49e847[0x0],_0x4054ff=_0x42033f+_0x40d32e,_0x56064b=a0_0x5387['hkWklW'][_0x4054ff];return!_0x56064b?(_0x5387f7=a0_0x5387['DhrWKv'](_0x5387f7),a0_0x5387['hkWklW'][_0x4054ff]=_0x5387f7):_0x5387f7=_0x56064b,_0x5387f7;}class FileWatcher{constructor(_0x2b3df4={}){const _0xc57b36=a0_0x171e42,_0x192baf={'lQnEU':_0xc57b36(0x131),'tImtl':_0xc57b36(0x11b)},_0x435820=_0x192baf['lQnEU']['split']('|');let _0x1656f8=0x0;while(!![]){switch(_0x435820[_0x1656f8++]){case'0':this[_0xc57b36(0x118)]=_0x2b3df4['directories']||[];continue;case'1':this[_0xc57b36(0x122)]=null;continue;case'2':this['extensions']=_0x2b3df4['extensions']||[_0x192baf['tImtl'],'.json'];continue;case'3':this['onChange']=_0x2b3df4['onChange']||(()=>{});continue;case'4':this['watchers']=[];continue;case'5':this[_0xc57b36(0x12e)]=_0x2b3df4[_0xc57b36(0x12e)]||0x1f4;continue;}break;}}['start'](){const _0x3bc46d=a0_0x171e42;for(const _0x1fe948 of this[_0x3bc46d(0x118)]){if(!fs[_0x3bc46d(0x12c)](_0x1fe948)){console['log'](_0x3bc46d(0x120)+(path['relative'](process[_0x3bc46d(0x11f)](),_0x1fe948)||_0x1fe948));continue;}try{const _0x241e30=fs[_0x3bc46d(0x126)](_0x1fe948,{'recursive':!![]},(_0x429e1f,_0x2b5a1c)=>{const _0x39066a=_0x3bc46d;if(!_0x2b5a1c)return;const _0x190c59=path[_0x39066a(0x12a)](_0x2b5a1c)['toLowerCase']();if(!this['extensions'][_0x39066a(0x123)](_0x190c59))return;this[_0x39066a(0x115)](_0x2b5a1c);});_0x241e30['on']('error',_0x4f720a=>{const _0x2f763d=_0x3bc46d;console['log']('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x2f763d(0x119)](process['cwd'](),_0x1fe948)+':\x20'+_0x4f720a[_0x2f763d(0x128)]);}),this[_0x3bc46d(0x11e)]['push'](_0x241e30);const _0x3e5206=path['relative'](process[_0x3bc46d(0x11f)](),_0x1fe948)||_0x1fe948;console['log']('\x20\x20[WATCH]\x20Watching:\x20'+_0x3e5206+'/\x20(recursive)');}catch(_0x28e898){console[_0x3bc46d(0x117)](_0x3bc46d(0x127)+path[_0x3bc46d(0x119)](process[_0x3bc46d(0x11f)](),_0x1fe948)+':\x20'+_0x28e898['message']);}}}[a0_0x171e42(0x11c)](){const _0x26bcdc=a0_0x171e42;for(const _0x366dec of this[_0x26bcdc(0x11e)]){try{_0x366dec[_0x26bcdc(0x124)]();}catch(_0x33447e){}}this['watchers']=[],this[_0x26bcdc(0x122)]&&(clearTimeout(this['debounceTimer']),this['debounceTimer']=null);}[a0_0x171e42(0x115)](_0x56de7a){const _0x2ce0c6=a0_0x171e42,_0xa78848={'FcPyR':function(_0x10bdf4,_0x535f39){return _0x10bdf4(_0x535f39);}};this['debounceTimer']&&_0xa78848[_0x2ce0c6(0x12b)](clearTimeout,this['debounceTimer']),this['debounceTimer']=setTimeout(()=>{const _0x5e985d=_0x2ce0c6;this[_0x5e985d(0x122)]=null,this['onChange'](_0x56de7a);},this[_0x2ce0c6(0x12e)]);}}module['exports']=FileWatcher;
@@ -1 +1 @@
1
- 'use strict';function a0_0x2dae(_0x33e530,_0x5a8370){_0x33e530=_0x33e530-0x101;const _0x5b293e=a0_0x5b29();let _0x2dae94=_0x5b293e[_0x33e530];if(a0_0x2dae['XFXZyF']===undefined){var _0x21e548=function(_0x3cebe0){const _0x2e9c14='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x582db6='',_0x18a492='';for(let _0xdc0133=0x0,_0x1f930f,_0x33cb3c,_0x2ba175=0x0;_0x33cb3c=_0x3cebe0['charAt'](_0x2ba175++);~_0x33cb3c&&(_0x1f930f=_0xdc0133%0x4?_0x1f930f*0x40+_0x33cb3c:_0x33cb3c,_0xdc0133++%0x4)?_0x582db6+=String['fromCharCode'](0xff&_0x1f930f>>(-0x2*_0xdc0133&0x6)):0x0){_0x33cb3c=_0x2e9c14['indexOf'](_0x33cb3c);}for(let _0x3c1009=0x0,_0x1fe966=_0x582db6['length'];_0x3c1009<_0x1fe966;_0x3c1009++){_0x18a492+='%'+('00'+_0x582db6['charCodeAt'](_0x3c1009)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18a492);};a0_0x2dae['tYVllb']=_0x21e548,a0_0x2dae['DWMCXR']={},a0_0x2dae['XFXZyF']=!![];}const _0x394715=_0x5b293e[0x0],_0x2edbc7=_0x33e530+_0x394715,_0x595c62=a0_0x2dae['DWMCXR'][_0x2edbc7];return!_0x595c62?(_0x2dae94=a0_0x2dae['tYVllb'](_0x2dae94),a0_0x2dae['DWMCXR'][_0x2edbc7]=_0x2dae94):_0x2dae94=_0x595c62,_0x2dae94;}function a0_0x5b29(){const _0x5a1c3d=['CMvZB3vYy2u','surhru5Fru5bqKXfra','DKDAugS','rgfyu3m','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','lcaR','uLLXyuC','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','vw5RBM93BIbTB2rLoIa','AwrNzw4','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','C3rVCMvK','x3jLC2vYDMvnyxHuveW','x2j1AwXKuMv1C2vlzxK','zMzoCeq','BgXTvui','ou9huxnVwa','tuzOA1C','swrhzw5LCMf0B3jfCNjVCG','BMfTzq','D2fcAgy','surhru5Fq09vtLrfuL9uveXFrefjtfK','qM52tue','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','C2vX','BgzcwxG','CffkDg0','ww1nrMC','ExL5Eq','uKfSwuS','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','tLftEvK','BNvTyMvY','Aw5MBW','DhrS','AgDLDgfSBa','CMy6AwrNzw46','zgvMyxvSDenVzgvqyxr0zxjU','Aw93suu','mti5mJeXogPhy1fhyW','C3jLBq','x2j1AwXKuMvZzxj2yxrPB25lzxK','surhru5Fsu5wquXjrf9quKvgsvG','y29Kzq','mZe5otK3meP4vxfJAW','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','ohrQAvrPAq','otK5os05otK5','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','x3zHBgLKyxrLvfrm','mtmWmdq5mJzmBLL1sMe','x3zHBgLKyxrLuMvZB3vYy2u','surhru5Fsu5wquXjrf9srvnpvvjdrq','x2TLEvbYzwzPEa','surhru5Fsu5wquXjrf9nt0rf','Dg9mB3DLCKnHC2u','CgLU','C3bSAxq','CMvZzxj2zv9Jyw5JzwW','swrLBxbVDgvUy3KGy2fJAguGseLu','u0rQzgi','CNn2x2LKEdO','CMvSzwfZzwrbDa','CMvZzxj2zu51BwjLCG','Dg9ju09tDhjPBMC','x3zHBgLKyxrLuMvZzxj2zvruta','Cfn2EfK','C3rYAw5NAwz5','vhL0CMC','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','CMvZzxj2zu1HEfruta','y29UzMLYBvjLC2vYDMf0Aw9U','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','BM93','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','surhru5Fsu5wquXjrf9qqvrurvjo','x2nVDw50zxjuveXnyxa','zuXftwy','CNn2s2v5','AerWwKS','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','A2v5uhjLzML4','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','surhru5Frevgqvvmvf9nqvHFuKvuuLK','u2rOEgy','zhbcsuC','CMnRyK0','qKPQANu','D2LUBMvYuMvZDwX0','vgLoEve','oxW4FdeWFdeXFdj8nxWWFdD8mxW2Fdr8mW','Aw9eCKG','qvfWt0W','vun5DM0','tg1fvue','z2v0','CMjUELK','AwrNzw5FAwrLBv9OAxq','ndjTDg1vsu8','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','CMfUzg9T','t2H6Due','y1LUq2e','x2vUC3vYzuLUAxrPywXPEMvK','CgfKu3rHCNq','AxnszxvZzwq','D2fYBG','ntDNuKTeDKu','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','mZaYotGZtwzWz3D2','x3bHzdi','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','zxHWAxjLC0f0','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','Bwf0y2G','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','AwrLBvruta','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','Bw9Kzq','x3n0B3jLswrLBunHy2HL','AhnLDa','yM9VBgvHBG','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','Cg5LqNi','tfzSCfC','ExL5Ew1Tzgq','zgvMyxvSDe1HEfjLDhj5','surhru5FreLtqujmruq','ENjHBMDL','nJq5otG1nLrtzM94EG','DhrStxm','x3jLC2vYDMvezwzHDwX0vfrm','rhn5s04','zw50CMLLCW','CNn2oG','ywn0AxzLoG','y3j5ChrV','x3bHCNnLtNvTyMvY','x2j1AwXKqwn0AxzLs2v5','sMLju1C','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','lcbNB3qG','q3znsw8','rwLqDfG','zgf0zvbYzwzPEa','Chr0Ba','wLbmC0u','C3rYAw5N','zw52','surhru5FuKvtrvrFtK9ux0fmte9xruq','EfPSA2O','wxvMzfe','AxnjBNrLz2vY','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','x2LKzw1uveW','vMHZuLi','whbvA2q','EwT4A2O','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','Dg12quC','BgvUz3rO','ywXSB3DszxnLDa','r0nUrxi','zM9YBwf0','CMfUzg9Tvvvjra','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','zgvMyxvSDfbPBKrPz2L0CW','x2rLzMf1BhrqAw5eAwDPDhm','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','x2zVCM1HDe51BwjLCG','z2v0q2XPzw50','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','y3jLyxrLzef0','ExL5Ew1T','rwHzD1m','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','tgr0DuK','x3n0B3jLswrLBunHy2HLtLG','x3vUzg9syw5KB21szxnLCNzHDgLVBG','zgvS','CMvSzwfZzu51BwjLCG','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','x2DLDenVDw50zxjuveW','EgPmwfi','BMXyr2q','CNn2swr4s2v5','rxHoqNe','uLfRBeO','x3jLDhjPzxzLswrLBunHy2HL','wNz2r2K','D1nZsw0','x2rLzMf1BhrdB2rLugf0DgvYBG','Dg9Rzw4','AwrLBxbVDgvUy3LlzxK','tNDxsvO','AMvgr3y','icH0B2TLBJ0','x2j1AwXKsxnZDwvKs2v5','tff1vue','x2j1AwXKrM9YBwf0s2v5','tujps3y','x2LUAxrdB25MAwC','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','z0H1vvK','CMvZzxq','zgvMyxvSDfnLCMLHBfbHDhrLCM4','z2v0rNvSBfLLyxi','Bwv0ytO','zw5ZDxjLvw5PCxvL','CgfYC2u','lwrPz2L0ignHCgfJAxr5icG','DvvlrgO','CMv1C2u6','zgLNAxrZ','ChvZAa','wxzkvMG','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','z2v0uMvZzxj2yxrPB24','C2vWyxjHDg9Y','y29UC3vTzq','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','surhru5Fsu5wquXjrf9gt1jnqvq','BNvTrgLNAxrZ','zw5HyMXLza','CgfKzgvKicHNB3q6ia','Ag5ABLu','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','BxntBfu','q291BNrLCIbVDMvYzMXVDZOG','CMvWzwf0','wMf5uM4','wwvPy3i','q091whK','EgPjBxm','BwvZC2fNzq','x2vUywjSzwq','C2v0zxG','suqGr2vUzxjHDg9Yig51BwjLCJOG','x3rLEhq','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','nNWXmhW1FdeYFdb8nhWZFdj8mtf8oxW4FdD8mq','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','zvnqvMO','quz6s0W','DMfSDwu','surhru5Fsu5wquXjrf9ovu1crvi','AgfZ','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','x2fSBg93uMvZzxq','x2rLzMf1BhrtzxjPywXqyxr0zxjU','CMv1C2u','y291BNrLCKLUDa','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','mtu3odC2tNf6v3zL','yNvPBgrezxrLCM1PBMLZDgLJs2v5','AhrIvKe','mtmYnJiWmejQz1zRuW','zxzHBa','cMXVy2fSihvUCgSGpsb1BNbHy2SGB3iGDgfIBguUDw5WywnRcGOTlsbtDgvWide6igXHENKGCMvHCcbLEhbPCMvKihjLC2vYDMf0Aw9UCYaOy2fWifjfu0vsvKvFuKvbuf9cqvrdscKkBg9JywWGCMvHCgvKid0GmaPSB2nHBcbUB3DnCYa9iefsr1zBn10kBg9JywWGCNn2uhjLzML4id0GqvjhvLS4xqPSB2nHBcbLEhbPCMvKid0GCMvKAxmUy2fSBcGNwLjbtKDfqLLtq09srsCSieTfwvnBm10SicCTAw5MjYWGjYGNic4Uig5VD01ZlcaNteLnsvqNlcaWlca2ncKkzM9YigKGpsaXlcaJzxHWAxjLzcbKBWOGigXVy2fSigv4CfrVA2vUid0GzxHWAxjLzfTPxqOGigXVy2fSigv4CfjZDKTLEsa9ihjZDLbYzwzPEcaUlIbLEhbuB2TLBGOGigXVy2fSigv4CenVDw50zxiGpsbYzwrPCY5JywXSkcDir0vujYWGzxHWuNn2s2v5lcaNy291BNrLCICPcIaGAwyGzxHWq291BNrLCIb0AgvUcIaGicbYzwrPCY5JywXSkcDAqurejYWGs0vzu1SYxsWGzxHWq291BNrLCIWGzxHWq291BNrLCIKkicbLBMqkicbYzwrPCY5JywXSkcDeruWNlcbLEhbsC3zlzxKPcIaGCMvKAxmUy2fSBcGNwLjftsCSieTfwvnBm10Sigv4CfrVA2vUkqOGihjLyxbLzca9ihjLyxbLzcaRidekzw5KcGOTlsbtDgvWidi6igfSBg9JyxrLignVDw50zxiGkfPqt1bnsu4GCMv1C2uGyxrHDsbjtKnsihnLCsKkBg9JywWGy291BNrLCKLUDaPSB2nHBcbPC1jLDxnLzca9idakAwyGqvjhvLSXxsa9psaNmsCGDgHLBGOGigXVy2fSihiGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCIa+idaGDgHLBGOGicaGy291BNrLCKLUDca9ihrVBNvTyMvYkhjBmv0PcIaGicbPC1jLDxnLzca9idekicbLBMqkzw5KcMLMig5VDcbJB3vUDgvYsw50ihrOzw4kicbJB3vUDgvYsw50id0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcIaGBg9JywWGy3r0Bca9ihrVBNvTyMvYkefsr1zBmL0PcIaGAwyGy3r0Bca+idaGyw5KignVDw50zxjjBNqGpt0Gmsb0AgvUcIaGicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcbJDhrSkqOGigvUzaPLBMqkcI0Tifn0zxaGmZOGD3jPDguGCMvZzxj2yxrPB24GAgfZAcaRigLUzgv4icSGvfrmcMXVy2fSihjZDKTLEsa9iefsr1zBnf0kBg9JywWGCNn2vhrStxmGpsb0B251BwjLCIHbuKDwwZvDkqPSB2nHBcbLEhbPCMvZqxrnCYa9ihrVBNvTyMvYkefsr1zBnL0PcMXVy2fSig5HCMDZid0Gi0fsr1ykBg9JywWGzMLLBgrZid0GE30kzM9YigKGpsa5lcbUyxjNCYbKBWOGigzPzwXKC1SJzMLLBgrZicSGmv0GpsbbuKDww2LDcMvUzaPYzwrPCY5JywXSkcDiu0vujYWGCNn2s2v5lcaNy291BNrLCICSignVDw50zxjjBNqSicDPC1jLDxnLzcCSigLZuMv1C2vKlcb1BNbRkgzPzwXKCYKPcNjLzgLZlMnHBgWOj1bfwfbjuKuNlcbYC3zlzxKSihjZDLr0Be1ZkqPYzwrPCY5JywXSkcDAqurejYWGs0vzu1SZxsWGzxHWAxjLC0f0txmSiefsr1zBm10PcNjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sig1HDgGUzMXVB3iOCNn2vhrStxmGlYaXmdaWksaRidyWkqOkCMv0DxjUihSGy291BNrLCKLUDcWGAxnszxvZzwqSihjLyxbLzcb9cG','Cgf0DgvYBG','x2rLzMf1BhrnyxHszxrYEq','z2HpwgW','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','A1PMwgC','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','C2vXoG','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','ihnLy29UzhmGkgDVDdOG','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','ueftq3i','DgvZDa','EKjzswi','x2LUAxrPywXPEMvK','icHNB3q6ia','surhru5Fsu5wquXjrf9uveW','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','x2j1AwXKswrLBuTLEq','Dhj1zq','x3vWzgf0zu1LDge','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','AxnfBMfIBgvK','zM9YBwf0s2v5','uw1Iwvu','ywXS','surhru5Fsu5wquXjrf9ut0TftG','ChjLzML4','vMTNrwi','Dgv4Da','DxviBfe'];a0_0x5b29=function(){return _0x5a1c3d;};return a0_0x5b29();}const a0_0x44aa3e=a0_0x2dae;(function(_0x11a4fd,_0x47e39d){const _0x4d9db9=a0_0x2dae,_0x31acb0=_0x11a4fd();while(!![]){try{const _0x437b90=-parseInt(_0x4d9db9(0x212))/0x1*(-parseInt(_0x4d9db9(0x1d1))/0x2)+parseInt(_0x4d9db9(0x210))/0x3*(-parseInt(_0x4d9db9(0x17d))/0x4)+-parseInt(_0x4d9db9(0x180))/0x5+parseInt(_0x4d9db9(0x1ca))/0x6*(parseInt(_0x4d9db9(0x207))/0x7)+parseInt(_0x4d9db9(0x228))/0x8+-parseInt(_0x4d9db9(0x1b3))/0x9*(parseInt(_0x4d9db9(0x1cf))/0xa)+-parseInt(_0x4d9db9(0x1d5))/0xb;if(_0x437b90===_0x47e39d)break;else _0x31acb0['push'](_0x31acb0['shift']());}catch(_0x125449){_0x31acb0['push'](_0x31acb0['shift']());}}}(a0_0x5b29,0xc318e));const crypto=require(a0_0x44aa3e(0x103)),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require(a0_0x44aa3e(0x1ac)),ALLOWED_FORMATS=new Set([a0_0x44aa3e(0x1a0),'yyyy',a0_0x44aa3e(0x12b),'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_0x44aa3e(0x216),CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER='0123456789ABCDEF',CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER=a0_0x44aa3e(0x1ad),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=a0_0x44aa3e(0x182),LUA_CONFIRM_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';class IdGeneratorError extends Error{constructor(_0x4aec5f,_0x33fa97,_0x511b0e=null){const _0x324429=a0_0x44aa3e,_0xa0b01a={'DaXSs':function(_0x4ec8a9,_0x5a9aec){return _0x4ec8a9||_0x5a9aec;}};super(_0xa0b01a[_0x324429(0x1a5)](_0x33fa97,_0x4aec5f)),this[_0x324429(0x1b6)]='IdGeneratorError',this[_0x324429(0x1ce)]=_0x4aec5f,this['details']=_0x511b0e;}}class IdGenerator{constructor(){const _0x50e132=a0_0x44aa3e,_0x555154={'hDpZK':_0x50e132(0x1ff)},_0x5b893a=_0x555154[_0x50e132(0x1f4)]['split']('|');let _0x57f5dc=0x0;while(!![]){switch(_0x5b893a[_0x57f5dc++]){case'0':this[_0x50e132(0x124)]=null;continue;case'1':this['_defaultCodePattern']=null;continue;case'2':this[_0x50e132(0x178)]=null;continue;case'3':this[_0x50e132(0x1af)]=null;continue;case'4':this['_reserveDefaultTTL']=null;continue;case'5':this[_0x50e132(0x184)]=null;continue;case'6':this['_counterTTLMap']=null;continue;case'7':this[_0x50e132(0x179)]=null;continue;case'8':this['_enabled']=null;continue;case'9':this[_0x50e132(0x191)]=![];continue;case'10':this[_0x50e132(0x1d8)]=null;continue;case'11':this[_0x50e132(0x115)]=null;continue;}break;}}[a0_0x44aa3e(0x147)](){const _0x1deef3=a0_0x44aa3e,_0x1d61f7={'UCHyB':_0x1deef3(0x16e),'JiISW':'idgen_config_init','iYfHj':_0x1deef3(0x1d2),'cjsPQ':'XXXX-XXXX-XXXX-XXXX','RAlYK':function(_0x4dbb0c,_0x29f5a5,_0x1f616d){return _0x4dbb0c(_0x29f5a5,_0x1f616d);},'AFzKL':function(_0x550856,_0x4c8ab0){return _0x550856===_0x4c8ab0;},'vzSHz':_0x1deef3(0x196),'rckbM':function(_0x5e69c7,_0xa7dec){return _0x5e69c7===_0xa7dec;}},_0x371ed8=_0x1d61f7['UCHyB'][_0x1deef3(0x1dc)]('|');let _0x68d12f=0x0;while(!![]){switch(_0x371ed8[_0x68d12f++]){case'0':this[_0x1deef3(0x184)]=parseInt(process['env'][_0x1deef3(0x1f8)],0xa)||0xa;continue;case'1':logger['info']({'event':_0x1d61f7[_0x1deef3(0x106)],'enabled':this['_enabled'],'idemTTL':this[_0x1deef3(0x115)],'allowReset':this[_0x1deef3(0x178)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},_0x1deef3(0x171)+this['_enabled']);continue;case'2':this[_0x1deef3(0x13d)]=process['env'][_0x1deef3(0x133)]||_0x1d61f7['iYfHj'];continue;case'3':this[_0x1deef3(0x179)]=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x1d61f7['cjsPQ'];continue;case'4':this[_0x1deef3(0x124)]=parseInt(process[_0x1deef3(0x10f)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6;continue;case'5':this['_idemTTL']=_0x1d61f7[_0x1deef3(0x1c0)](parseInt,process['env']['IDGEN_IDEM_TTL'],0xa)||0x258;continue;case'6':this[_0x1deef3(0x1d8)]=_0x1deef3(0x1c7);continue;case'7':this[_0x1deef3(0x191)]=!![];continue;case'8':this[_0x1deef3(0x1af)]=_0x1d61f7['RAlYK'](parseInt,process[_0x1deef3(0x10f)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL;continue;case'9':this['_reserveDefaultTTL']=parseInt(process['env'][_0x1deef3(0x21c)],0xa)||DEFAULT_RESERVE_TTL;continue;case'10':this[_0x1deef3(0x169)]=_0x1d61f7[_0x1deef3(0x173)](process[_0x1deef3(0x10f)][_0x1deef3(0x1a3)],_0x1d61f7['vzSHz']);continue;case'11':this['_counterTTLMap']={'yyyymm':parseInt(process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x1deef3(0x10f)][_0x1deef3(0x1b8)],0xa)||0x2a300};continue;case'12':this['_allowReset']=_0x1d61f7[_0x1deef3(0x1fb)](process['env']['IDGEN_ALLOW_RESET'],_0x1d61f7['vzSHz']);continue;}break;}}[a0_0x44aa3e(0x20c)](){const _0x4b509c=a0_0x44aa3e;if(!this['_initialized'])this[_0x4b509c(0x147)]();}get[a0_0x44aa3e(0x15d)](){const _0x4f71c2=a0_0x44aa3e;return this[_0x4f71c2(0x20c)](),this[_0x4f71c2(0x169)];}get[a0_0x44aa3e(0x1f6)](){const _0x281b7b=a0_0x44aa3e;return this['_ensureInitialized'](),this[_0x281b7b(0x1d8)];}get[a0_0x44aa3e(0x21b)](){const _0x174530=a0_0x44aa3e;return this['_ensureInitialized'](),this[_0x174530(0x115)];}get[a0_0x44aa3e(0x11c)](){return this['_ensureInitialized'](),this['_allowReset'];}get[a0_0x44aa3e(0x225)](){const _0x204b8e=a0_0x44aa3e;return this['_ensureInitialized'](),this[_0x204b8e(0x184)];}get[a0_0x44aa3e(0x123)](){const _0x5c509b=a0_0x44aa3e;return this[_0x5c509b(0x20c)](),this[_0x5c509b(0x124)];}get[a0_0x44aa3e(0x14b)](){const _0x1993fa=a0_0x44aa3e;return this['_ensureInitialized'](),this[_0x1993fa(0x179)];}get[a0_0x44aa3e(0x1c8)](){const _0x2caf60=a0_0x44aa3e;return this[_0x2caf60(0x20c)](),this['_defaultCodePattern'];}get['reserveDefaultTTL'](){const _0x118cbd=a0_0x44aa3e;return this[_0x118cbd(0x20c)](),this[_0x118cbd(0x22a)];}get['reserveMaxTTL'](){const _0xf49563=a0_0x44aa3e;return this[_0xf49563(0x20c)](),this[_0xf49563(0x1af)];}[a0_0x44aa3e(0x199)](){return this['enabled'];}['_validateResource'](_0x4bb62d){const _0x51eec0=a0_0x44aa3e,_0x2b887b={'JqGuv':'string'};if(typeof _0x4bb62d!==_0x2b887b['JqGuv']||!RESOURCE_REGEX[_0x51eec0(0x18f)](_0x4bb62d))throw new IdGeneratorError(_0x51eec0(0x1d7),'Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON[_0x51eec0(0x1e6)](_0x4bb62d)+')');}[a0_0x44aa3e(0x148)](_0x3993fb){const _0x3f0591=a0_0x44aa3e,_0x3daf0f={'HZOjK':_0x3f0591(0x15b),'jeFGv':function(_0x385ce1,_0x90d47e){return _0x385ce1>_0x90d47e;},'HwZbW':_0x3f0591(0x214),'YmMFg':function(_0x2e0e2d,_0x5a9193){return _0x2e0e2d==_0x5a9193;},'hUSgO':_0x3f0591(0x1cd),'ykxkj':function(_0x4dfab3,_0x5a71c3){return _0x4dfab3>_0x5a71c3;},'pSvxY':'IDGEN_INVALID_SEPARATOR','MEjOB':_0x3f0591(0x220),'LmEUA':'IDGEN_INVALID_RESOURCE','qAFEo':function(_0x4f68a1,_0x5c1fe2){return _0x4f68a1===_0x5c1fe2;}},{resource:_0x3ca082,format:_0x5b5159,prefix:_0x336ce0,separator:_0x5d0cfd,numDigits:_0x2e83dc,reuseDelete:_0x38a716}=_0x3993fb;this[_0x3f0591(0x1d6)](_0x3ca082);const _0x4dabbc=typeof _0x5b5159==='string'?_0x5b5159[_0x3f0591(0x1da)]():'';if(!ALLOWED_FORMATS[_0x3f0591(0x176)](_0x4dabbc))throw new IdGeneratorError(_0x3daf0f['HZOjK'],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x5b5159+')');if(!Number[_0x3f0591(0x113)](_0x2e83dc)||_0x2e83dc<MIN_NUM_DIGITS||_0x3daf0f[_0x3f0591(0x141)](_0x2e83dc,MAX_NUM_DIGITS))throw new IdGeneratorError(_0x3daf0f['HwZbW'],_0x3f0591(0x121)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x3f0591(0x192)+_0x2e83dc+')');const _0x5b68fd=_0x3daf0f[_0x3f0591(0x1be)](_0x336ce0,null)?'':_0x336ce0;if(typeof _0x5b68fd!==_0x3f0591(0x10e)||!PREFIX_REGEX['test'](_0x5b68fd))throw new IdGeneratorError(_0x3daf0f['hUSgO'],_0x3f0591(0x1d3)+PREFIX_REGEX+_0x3f0591(0x192)+JSON['stringify'](_0x336ce0)+')');const _0x3062ff=_0x3daf0f['YmMFg'](_0x5d0cfd,null)?'':_0x5d0cfd;if(typeof _0x3062ff!==_0x3f0591(0x10e)||_0x3daf0f[_0x3f0591(0x118)](_0x3062ff[_0x3f0591(0x11b)],0x3)||SEPARATOR_FORBIDDEN[_0x3f0591(0x18f)](_0x3062ff))throw new IdGeneratorError(_0x3daf0f[_0x3f0591(0x1e5)],'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON[_0x3f0591(0x1e6)](_0x5d0cfd)+')');if(_0x38a716!=null&&typeof _0x38a716!==_0x3daf0f['MEjOB'])throw new IdGeneratorError(_0x3daf0f[_0x3f0591(0x203)],'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x38a716+')');return{'resource':_0x3ca082,'format':_0x4dabbc,'prefix':_0x5b68fd,'separator':_0x3062ff,'numDigits':_0x2e83dc,'reuseDelete':_0x3daf0f['qAFEo'](_0x38a716,!![])};}['_validatePattern'](_0x4bdd78){const _0x5b0c60=a0_0x44aa3e,_0x106771={'xZlkj':function(_0x579b39,_0x134b7b){return _0x579b39!==_0x134b7b;},'yhXgk':_0x5b0c60(0x10e),'VhsRR':function(_0x18b8f0,_0x52f7e4){return _0x18b8f0>_0x52f7e4;},'DtIxb':_0x5b0c60(0x1f0)};if(_0x106771[_0x5b0c60(0x111)](typeof _0x4bdd78,_0x106771['yhXgk'])||_0x4bdd78['length']===0x0||_0x106771[_0x5b0c60(0x116)](_0x4bdd78['length'],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0x5b0c60(0x1f0),'Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x4bdd78&&_0x4bdd78[_0x5b0c60(0x11b)])+')');let _0x3cf790=![];for(const _0x5b6ede of _0x4bdd78){if(PLACEHOLDER_MAP[_0x5b6ede]){_0x3cf790=!![];break;}}if(!_0x3cf790)throw new IdGeneratorError(_0x106771['DtIxb'],_0x5b0c60(0x16d));}[a0_0x44aa3e(0x1d4)](_0x43b1e1){const _0xf0a4f3=a0_0x44aa3e,_0x1c1c24={'VLCdJ':_0xf0a4f3(0x193)};if(_0x43b1e1==null)return undefined;if(!Number[_0xf0a4f3(0x113)](_0x43b1e1)||_0x43b1e1<0x1||_0x43b1e1>MAX_TTL)throw new IdGeneratorError(_0x1c1c24['VLCdJ'],'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+'\x20seconds\x20(got:\x20'+_0x43b1e1+')');return _0x43b1e1;}['_validateMaxRetry'](_0xc913ce){const _0x367c90=a0_0x44aa3e,_0x51d479={'tmvAG':function(_0x54561a,_0x24d525){return _0x54561a==_0x24d525;}};if(_0x51d479[_0x367c90(0x11a)](_0xc913ce,null))return this[_0x367c90(0x225)];if(!Number[_0x367c90(0x113)](_0xc913ce)||_0xc913ce<0x1||_0xc913ce>MAX_RETRY_LIMIT)throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY','Invalid\x20maxRetry:\x20must\x20be\x20integer\x201-'+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0xc913ce+')');return _0xc913ce;}['_validateIdempotencyKey'](_0x278b09){const _0x5195d2=a0_0x44aa3e,_0x15a05d={'COuXy':function(_0x4678e2,_0x384f27){return _0x4678e2==_0x384f27;},'WmiOa':function(_0x30d07b,_0x564ba4){return _0x30d07b!==_0x564ba4;},'TIOur':function(_0x5c1448,_0x4ca831){return _0x5c1448===_0x4ca831;},'OhzuA':function(_0xf7eacb,_0x1b5117){return _0xf7eacb>_0x1b5117;}};if(_0x15a05d[_0x5195d2(0x166)](_0x278b09,null))return undefined;if(_0x15a05d['WmiOa'](typeof _0x278b09,'string')||_0x15a05d['TIOur'](_0x278b09['length'],0x0)||_0x15a05d[_0x5195d2(0x20a)](_0x278b09[_0x5195d2(0x11b)],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x5195d2(0x1d7),'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x278b09;}[a0_0x44aa3e(0x1e4)](_0x47dc4f){const _0x183966=a0_0x44aa3e;if(_0x47dc4f==null)return this['reserveDefaultTTL'];if(!Number['isInteger'](_0x47dc4f)||_0x47dc4f<MIN_RESERVE_TTL||_0x47dc4f>this[_0x183966(0x1ea)])throw new IdGeneratorError('IDGEN_INVALID_RESERVE_TTL','Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this[_0x183966(0x1ea)]+_0x183966(0x18b)+_0x47dc4f+')');return _0x47dc4f;}[a0_0x44aa3e(0x17c)](_0x1abc0a){const _0x2bde49=a0_0x44aa3e,_0x3dfaac={'qsKBF':function(_0x4d3601,_0x1b82b1){return _0x4d3601!==_0x1b82b1;},'ffNpD':_0x2bde49(0x10e),'NQSyY':_0x2bde49(0x19d)};if(_0x3dfaac['qsKBF'](typeof _0x1abc0a,_0x3dfaac[_0x2bde49(0x1b1)])||!RESERVATION_TOKEN_REGEX['test'](_0x1abc0a))throw new IdGeneratorError(_0x3dfaac[_0x2bde49(0x1c2)],'Invalid\x20reservation\x20token:\x20must\x20be\x20a\x20valid\x20UUID\x20format\x20(got:\x20'+JSON[_0x2bde49(0x1e6)](_0x1abc0a)+')');return _0x1abc0a;}[a0_0x44aa3e(0x213)](_0x324494){const _0x3e6ec0=a0_0x44aa3e,_0x1b812d={'eSPVj':function(_0x328e84,_0x3dc2dd){return _0x328e84(_0x3dc2dd);}};return _0x1b812d[_0x3e6ec0(0x172)](String,_0x324494)[_0x3e6ec0(0x20d)](0x2,'0');}['_buildFormatKey'](_0x436ebc,_0x22aa0f,_0x4782fd=new Date()){const _0x37f716=a0_0x44aa3e,_0x57c8e6={'Yeicr':_0x37f716(0x1bf),'LQuUA':_0x37f716(0x12b),'LGwwr':_0x37f716(0x224)},_0x19e73b=_0x4782fd[_0x37f716(0x14c)](),_0x179418=this['_pad2'](_0x4782fd['getMonth']()+0x1),_0xe1b8b=this[_0x37f716(0x213)](_0x4782fd['getDate']()),_0x5c9dfb=_0x22aa0f||'_';let _0x3037d2,_0x262874='';switch(_0x436ebc){case _0x37f716(0x1a0):_0x3037d2=_0x5c9dfb+_0x37f716(0x16c);break;case _0x57c8e6[_0x37f716(0x165)]:_0x262874=''+_0x19e73b,_0x3037d2=_0x5c9dfb+'_yyyy_'+_0x262874;break;case _0x57c8e6[_0x37f716(0x144)]:_0x262874=''+_0x19e73b+_0x179418,_0x3037d2=_0x5c9dfb+'_yyyymm_'+_0x262874;break;case _0x57c8e6['LGwwr']:_0x262874=''+_0x19e73b+_0x179418+_0xe1b8b,_0x3037d2=_0x5c9dfb+'_yyyymmdd_'+_0x262874;break;default:throw new IdGeneratorError(_0x37f716(0x15b),'Unknown\x20format:\x20'+_0x436ebc);}return{'formatKey':_0x3037d2,'datePrefix':_0x262874};}['_buildSeqKey'](_0x3fbe90,_0x44e271){const _0x452ca2=a0_0x44aa3e;return this[_0x452ca2(0x1f6)]+_0x452ca2(0x189)+_0x3fbe90+':'+_0x44e271;}['_buildReuseKey'](_0x34bfc7,_0x55122f){const _0x931c71=a0_0x44aa3e;return this[_0x931c71(0x1f6)]+_0x931c71(0x152)+_0x34bfc7+':'+_0x55122f;}['_buildMetaKey'](_0x25349d,_0x1816ea){const _0x3364fd=a0_0x44aa3e;return this['keyPrefix']+_0x3364fd(0x14d)+_0x25349d+':'+_0x1816ea;}['_buildIssuedKey'](_0x2668c0){return this['keyPrefix']+'issued:'+_0x2668c0;}[a0_0x44aa3e(0x105)](_0x29bdfa,_0x37046f){const _0x39d331=a0_0x44aa3e;return this['keyPrefix']+_0x39d331(0x102)+_0x29bdfa+':'+_0x37046f;}['_buildReservationKey'](_0x196c48){const _0x1c7f9f=a0_0x44aa3e;return this[_0x1c7f9f(0x1f6)]+_0x1c7f9f(0x101)+_0x196c48;}[a0_0x44aa3e(0x221)](_0x72680,_0x2c212c){const _0x59b5e5=a0_0x44aa3e;return this[_0x59b5e5(0x1f6)]+_0x59b5e5(0x1e0)+_0x72680+':'+_0x2c212c;}['_buildReservationKeyPrefix'](){const _0x42dc02=a0_0x44aa3e;return this['keyPrefix']+_0x42dc02(0x101);}[a0_0x44aa3e(0x195)](_0x2037db,_0x395c22,_0x16f50f,_0x254b11){const _0x5d8ee0=a0_0x44aa3e,_0x231d4b={'AQpOL':_0x5d8ee0(0x1ab)};if(_0x16f50f)return idempotencyManager['buildDeterministicKey'](_0x231d4b[_0x5d8ee0(0x201)],_0x2037db,_0x395c22+':'+_0x16f50f+':'+_0x254b11);return idempotencyManager['buildDeterministicKey'](_0x231d4b[_0x5d8ee0(0x201)],_0x2037db,_0x395c22+':'+_0x254b11);}['_getCounterTTL'](_0x590109){const _0x848b89=a0_0x44aa3e;return this[_0x848b89(0x1f1)][_0x590109]||0x0;}['_formatNumber']({format:_0x5eb61c,prefix:_0x1e51ec,datePrefix:_0x495be0,separator:_0x3bb061,numDigits:_0x23c2c6,counterInt:_0xd749ae}){const _0x704acd=a0_0x44aa3e,_0x228aae={'TWGwQ':'IDGEN_COUNTER_OVERFLOW','dpBIG':function(_0x33f135,_0x20a2b5){return _0x33f135(_0x20a2b5);}},_0x311b57=Math['pow'](0xa,_0x23c2c6)-0x1;if(_0xd749ae>_0x311b57)throw new IdGeneratorError(_0x228aae['TWGwQ'],_0x704acd(0x162)+_0xd749ae+'\x20exceeds\x20'+_0x23c2c6+_0x704acd(0x150)+_0x311b57+').\x20Increase\x20numDigits.',{'counterInt':_0xd749ae,'numDigits':_0x23c2c6,'max':_0x311b57});const _0x474694=_0x228aae[_0x704acd(0x1fa)](String,_0xd749ae)[_0x704acd(0x20d)](_0x23c2c6,'0');if(_0x5eb61c===_0x704acd(0x1a0))return _0x1e51ec?''+_0x1e51ec+_0x3bb061+_0x474694:_0x474694;return _0x1e51ec?''+_0x1e51ec+_0x3bb061+_0x495be0+_0x3bb061+_0x474694:''+_0x495be0+_0x3bb061+_0x474694;}[a0_0x44aa3e(0x104)]({format:_0x55b69a,prefix:_0x20174e,separator:_0x45c510,numDigits:_0x22c2d0,number:_0x3159dd}){const _0x1831e2=a0_0x44aa3e,_0x34ba62={'ZvvGi':function(_0x3294ef,_0xc7d542){return _0x3294ef!==_0xc7d542;},'msSlU':_0x1831e2(0x175),'VSvXz':function(_0x487018,_0x3fa078){return _0x487018===_0x3fa078;},'Sdhxf':function(_0x1c2893,_0x2ba9b9){return _0x1c2893===_0x2ba9b9;},'MFhkW':_0x1831e2(0x1a0),'VNfxi':function(_0x4c602e,_0x110aba){return _0x4c602e!==_0x110aba;},'ZayRn':_0x1831e2(0x12b),'QmbYU':function(_0x8d5d2c,_0x59a6de){return _0x8d5d2c||_0x59a6de;}};if(_0x34ba62[_0x1831e2(0x13b)](typeof _0x3159dd,'string')||_0x3159dd[_0x1831e2(0x11b)]===0x0)throw new IdGeneratorError(_0x34ba62['msSlU'],_0x1831e2(0x107));const _0x11e434=_0x45c510||'',_0x4acca0=_0x34ba62['VSvXz'](_0x11e434,'')?[_0x3159dd]:_0x3159dd['split'](_0x11e434);let _0x3aebf5='',_0x229a5b;if(_0x34ba62[_0x1831e2(0x1f9)](_0x55b69a,_0x34ba62[_0x1831e2(0x1b4)])){if(_0x20174e){if(_0x34ba62[_0x1831e2(0x13b)](_0x4acca0['length'],0x2)||_0x34ba62['VNfxi'](_0x4acca0[0x0],_0x20174e))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x1831e2(0x208)+_0x11e434+_0x1831e2(0x15e)+_0x3159dd+')');_0x229a5b=_0x4acca0[0x1];}else{if(_0x34ba62['ZvvGi'](_0x4acca0[_0x1831e2(0x11b)],0x1))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x3159dd+')');_0x229a5b=_0x4acca0[0x0];}}else{const _0x396513=_0x20174e?0x3:0x2;if(_0x34ba62['VNfxi'](_0x4acca0[_0x1831e2(0x11b)],_0x396513))throw new IdGeneratorError(_0x34ba62['msSlU'],_0x1831e2(0x160)+_0x3159dd+',\x20expected\x20'+_0x396513+'\x20parts)');let _0x31d6f5=0x0;if(_0x20174e){if(_0x4acca0[_0x31d6f5]!==_0x20174e)throw new IdGeneratorError(_0x34ba62[_0x1831e2(0x161)],'Number\x20prefix\x20mismatch:\x20expected\x20'+_0x20174e+_0x1831e2(0x108)+_0x4acca0[_0x31d6f5]);_0x31d6f5++;}_0x3aebf5=_0x4acca0[_0x31d6f5++];const _0x14116e=_0x55b69a==='yyyy'?/^\d{4}$/:_0x55b69a===_0x34ba62[_0x1831e2(0x164)]?/^\d{6}$/:/^\d{8}$/;if(!_0x14116e['test'](_0x3aebf5))throw new IdGeneratorError(_0x34ba62[_0x1831e2(0x161)],'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x55b69a+':\x20'+_0x3aebf5);_0x229a5b=_0x4acca0[_0x31d6f5];}if(!new RegExp('^\x5cd{'+_0x22c2d0+'}$')['test'](_0x229a5b))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x1831e2(0x128)+_0x22c2d0+'\x20digits\x20(got:\x20'+_0x229a5b+')');const _0xc041a6=parseInt(_0x229a5b,0xa),_0x4d8a3e=_0x34ba62[_0x1831e2(0x19b)](_0x20174e,'_');let _0x4859f9;return _0x55b69a===_0x34ba62['MFhkW']?_0x4859f9=_0x4d8a3e+'_text':_0x4859f9=_0x4d8a3e+'_'+_0x55b69a+'_'+_0x3aebf5,{'formatKey':_0x4859f9,'counterInt':_0xc041a6,'datePrefix':_0x3aebf5};}['_generateFromPattern'](_0xbe4dab){const _0x35cdda=a0_0x44aa3e;let _0x3c8569='';for(const _0x1289d7 of _0xbe4dab){const _0x547f73=PLACEHOLDER_MAP[_0x1289d7];if(_0x547f73){const _0x1a1a47=crypto['randomInt'](0x0,_0x547f73[_0x35cdda(0x11b)]);_0x3c8569+=_0x547f73[_0x1a1a47];}else _0x3c8569+=_0x1289d7;}return _0x3c8569;}async['_retrieveIdemCache'](_0x5bb002){const _0xa2da22=a0_0x44aa3e,_0x8c1be5={'uNMNW':_0xa2da22(0x206),'EiPtX':'Idempotency\x20retrieve\x20error'};if(!_0x5bb002)return null;try{const _0x10cda8=redisClient[_0xa2da22(0x127)](),_0x58c997=await _0x10cda8['get'](_0x5bb002);if(_0x58c997)return logger['info']({'event':_0x8c1be5['uNMNW'],'key':_0x5bb002},_0xa2da22(0x1de)),JSON['parse'](_0x58c997);return null;}catch(_0x2c4b6a){return logger[_0xa2da22(0x20f)]({'event':'idgen_idem_retrieve_error','error':_0x2c4b6a['message']},_0x8c1be5[_0xa2da22(0x10a)]),null;}}async[a0_0x44aa3e(0x21e)](_0x590d17,_0x29f635){const _0x1cb8cd=a0_0x44aa3e,_0x56ce91={'YufdQ':_0x1cb8cd(0x1a6),'SQaTS':_0x1cb8cd(0x1c1)};if(!_0x590d17)return;try{const _0x33b935=redisClient['getClient']();await _0x33b935[_0x1cb8cd(0x16a)](_0x590d17,this['idemTTL'],JSON['stringify'](_0x29f635));}catch(_0x26a72a){logger[_0x1cb8cd(0x20f)]({'event':_0x56ce91[_0x1cb8cd(0x112)],'error':_0x26a72a[_0x1cb8cd(0x168)]},_0x56ce91['SQaTS']);}}async[a0_0x44aa3e(0x12f)](_0x5bccc9,_0x1e9989){const _0xdf12a6=a0_0x44aa3e,_0x901c1d={'eLEMf':function(_0x108677,_0x48f999){return _0x108677===_0x48f999;}};if(!_0x5bccc9)return{'stored':!![],'winnerResult':null};try{const _0x411557=redisClient['getClient'](),_0x5defa8=JSON['stringify'](_0x1e9989),_0x3f4495=await _0x411557['set'](_0x5bccc9,_0x5defa8,'EX',this['idemTTL'],'NX');if(_0x901c1d[_0xdf12a6(0x1f2)](_0x3f4495,'OK'))return{'stored':!![],'winnerResult':null};const _0x2043eb=await _0x411557[_0xdf12a6(0x204)](_0x5bccc9);if(_0x2043eb)return{'stored':![],'winnerResult':JSON[_0xdf12a6(0x14f)](_0x2043eb)};return logger['warn']({'event':_0xdf12a6(0x12d),'key':_0x5bccc9},_0xdf12a6(0x16f)),{'stored':!![],'winnerResult':null};}catch(_0x1489e9){return logger[_0xdf12a6(0x20f)]({'event':'idgen_idem_storenx_error','error':_0x1489e9[_0xdf12a6(0x168)]},'Idempotency\x20SET\x20NX\x20error'),{'stored':!![],'winnerResult':null};}}async[a0_0x44aa3e(0x130)](_0x40a95b,_0xadaf6f,_0xce8f74){const _0x41d7df=a0_0x44aa3e,_0x39a88c={'UCyvm':_0x41d7df(0x198),'TiNyQ':'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)'};try{const _0x297020=redisClient[_0x41d7df(0x127)]();if(_0xce8f74){const _0x1e9b84=this[_0x41d7df(0x105)](_0x40a95b,_0xadaf6f);await _0x297020[_0x41d7df(0x131)](_0x1e9b84);}else{const _0xfa345d=this[_0x41d7df(0x143)](_0x40a95b);await _0x297020[_0x41d7df(0x1cb)](_0xfa345d,_0xadaf6f);}}catch(_0x2f1899){logger['warn']({'event':_0x39a88c[_0x41d7df(0x202)],'error':_0x2f1899['message']},_0x39a88c[_0x41d7df(0x1fe)]);}}async['_updateMeta'](_0x19bf5e,_0x508b35,_0x6384f0,_0x45bcf9=0x0){const _0x2035e0=a0_0x44aa3e;try{const _0x16fcd0=redisClient[_0x2035e0(0x127)](),_0x342f6d=this['_buildMetaKey'](_0x19bf5e,_0x508b35),_0x192d14=[];for(const [_0x300b32,_0x2da3d1]of Object[_0x2035e0(0x22c)](_0x6384f0)){_0x192d14[_0x2035e0(0x154)](_0x300b32,String(_0x2da3d1));}if(_0x192d14['length']>0x0){await _0x16fcd0[_0x2035e0(0x21f)](_0x342f6d,..._0x192d14);if(_0x45bcf9>0x0)await _0x16fcd0['expire'](_0x342f6d,_0x45bcf9);}}catch(_0x100eec){logger[_0x2035e0(0x20f)]({'event':_0x2035e0(0x186),'error':_0x100eec[_0x2035e0(0x168)]},'Meta\x20update\x20error');}}async['number'](_0x13d4e7){const _0x12bc26=a0_0x44aa3e,_0x3b5920={'rbnzY':_0x12bc26(0x226),'hnZnU':function(_0x3fabac,_0x14813a){return _0x3fabac(_0x14813a);},'LCPkU':function(_0x4fae3c,_0x501650){return _0x4fae3c(_0x501650);},'jbkUH':'idgen_number_idem_loser'};if(!this['enabled'])throw new IdGeneratorError(_0x3b5920[_0x12bc26(0x205)],_0x12bc26(0x211));const _0x338d1e=this['_validateNumberParams'](_0x13d4e7),_0x2dabb4=this[_0x12bc26(0x21a)](_0x13d4e7[_0x12bc26(0x13f)]),{resource:_0x1af60a,format:_0x13631b,prefix:_0x5e0a79,separator:_0x2ff11d,numDigits:_0x1f3125,reuseDelete:_0x44056b}=_0x338d1e,{formatKey:_0x53326c,datePrefix:_0xe8ab05}=this[_0x12bc26(0x145)](_0x13631b,_0x5e0a79),_0x284ba0=this['_buildSeqKey'](_0x1af60a,_0x53326c),_0x49b079=this[_0x12bc26(0x1b0)](_0x1af60a,_0x53326c),_0x12ed31=this[_0x12bc26(0x134)](_0x13631b);let _0x4c7a7c=null;if(_0x2dabb4){_0x4c7a7c=this[_0x12bc26(0x195)](_0x12bc26(0x1c3),_0x1af60a,_0x53326c,_0x2dabb4);const _0x477454=await this['_retrieveIdemCache'](_0x4c7a7c);if(_0x477454)return _0x477454;}const _0x3eb8d1=redisClient[_0x12bc26(0x127)](),_0x38af6f=await _0x3eb8d1['eval'](LUA_GENERATE_NUMBER,0x2,_0x284ba0,_0x49b079,_0x44056b?'1':'0',_0x3b5920[_0x12bc26(0x15f)](String,_0x12ed31)),_0x1c7332=_0x38af6f[0x0],_0x4d262b=_0x38af6f[0x1]===0x1,_0x497669=this[_0x12bc26(0x126)]({'format':_0x13631b,'prefix':_0x5e0a79,'datePrefix':_0xe8ab05,'separator':_0x2ff11d,'numDigits':_0x1f3125,'counterInt':_0x1c7332}),_0x26bf35={'value':_0x497669,'counter':_0x1c7332,'resource':_0x1af60a,'formatKey':_0x53326c,'isReused':_0x4d262b,'generatedAt':new Date()[_0x12bc26(0x1e3)]()},_0x4b5fbe=await this[_0x12bc26(0x12f)](_0x4c7a7c,_0x26bf35);if(!_0x4b5fbe[_0x12bc26(0x1ae)]){try{await _0x3eb8d1[_0x12bc26(0x181)](LUA_RELEASE_NUMBER,0x1,_0x49b079,String(_0x1c7332),_0x3b5920['LCPkU'](String,_0x12ed31));}catch(_0x5eb3d3){logger[_0x12bc26(0x20f)]({'event':_0x12bc26(0x1f7),'error':_0x5eb3d3[_0x12bc26(0x168)],'resource':_0x1af60a,'formatKey':_0x53326c,'counterInt':_0x1c7332},_0x12bc26(0x170));}return logger[_0x12bc26(0x1c4)]({'event':_0x3b5920['jbkUH'],'resource':_0x1af60a,'formatKey':_0x53326c,'counter':_0x1c7332},_0x12bc26(0x129)),_0x4b5fbe[_0x12bc26(0x1fd)];}return this['_updateMeta'](_0x1af60a,_0x53326c,{'lastValue':_0x497669,'lastCounter':_0x1c7332,'lastIsReused':_0x4d262b,'lastGeneratedAt':_0x26bf35['generatedAt']},_0x12ed31),logger['info']({'event':'idgen_number_generated','resource':_0x1af60a,'formatKey':_0x53326c,'counter':_0x1c7332,'isReused':_0x4d262b},_0x12bc26(0x16b)+_0x497669),_0x26bf35;}async[a0_0x44aa3e(0x132)](_0x4ebf4e){const _0x4c0c93=a0_0x44aa3e,_0x289817={'LdtuI':function(_0x8e1f09,_0x1f3410){return _0x8e1f09!==_0x1f3410;},'olzLD':'string','GHBYK':_0x4c0c93(0x175),'axdgK':function(_0x3913b0,_0x492da5){return _0x3913b0(_0x492da5);},'ExNBq':function(_0x10a6fc,_0x512c43){return _0x10a6fc(_0x512c43);},'CvMIo':_0x4c0c93(0x1e9)};if(!this[_0x4c0c93(0x15d)])throw new IdGeneratorError(_0x4c0c93(0x226),_0x4c0c93(0x114));let _0x4ea310,_0x4cfc49,_0x4e7cb6,_0x34f592;const _0xa337e=this[_0x4c0c93(0x21a)](_0x4ebf4e['idempotencyKey']);if(_0x4ebf4e[_0x4c0c93(0x17b)]!==undefined&&_0x289817[_0x4c0c93(0x12e)](_0x4ebf4e[_0x4c0c93(0x17b)],null)){this['_validateResource'](_0x4ebf4e['resource']),_0x4ea310=_0x4ebf4e['resource'];if(_0x289817[_0x4c0c93(0x12e)](typeof _0x4ebf4e['formatKey'],_0x289817['olzLD'])||_0x4ebf4e[_0x4c0c93(0x19a)][_0x4c0c93(0x11b)]===0x0)throw new IdGeneratorError(_0x289817['GHBYK'],_0x4c0c93(0x120));_0x4cfc49=_0x4ebf4e['formatKey'];if(!Number[_0x4c0c93(0x113)](_0x4ebf4e[_0x4c0c93(0x17b)])||_0x4ebf4e[_0x4c0c93(0x17b)]<0x1)throw new IdGeneratorError(_0x4c0c93(0x175),_0x4c0c93(0x218)+_0x4ebf4e[_0x4c0c93(0x17b)]+')');_0x4e7cb6=_0x4ebf4e[_0x4c0c93(0x17b)];const _0x44ff6e=_0x4cfc49[_0x4c0c93(0x217)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x34f592=_0x44ff6e?_0x44ff6e[0x1]:'text';}else{const _0x5b3cfa=this['_validateNumberParams'](_0x4ebf4e),_0x568463=this['_parseNumber']({'format':_0x5b3cfa['format'],'prefix':_0x5b3cfa['prefix'],'separator':_0x5b3cfa[_0x4c0c93(0x158)],'numDigits':_0x5b3cfa['numDigits'],'number':_0x4ebf4e[_0x4c0c93(0x1c3)]});_0x4ea310=_0x5b3cfa['resource'],_0x4cfc49=_0x568463['formatKey'],_0x4e7cb6=_0x568463[_0x4c0c93(0x17b)],_0x34f592=_0x5b3cfa['format'];}const _0x569907=this[_0x4c0c93(0x1b0)](_0x4ea310,_0x4cfc49),_0x5035f0=this['_getCounterTTL'](_0x34f592);let _0x2f68de=null;if(_0xa337e){_0x2f68de=this['_buildIdemKey']('release',_0x4ea310,_0x4cfc49,_0xa337e);const _0x313a7f=await this['_retrieveIdemCache'](_0x2f68de);if(_0x313a7f)return _0x313a7f;}const _0x447f33=redisClient[_0x4c0c93(0x127)]();await _0x447f33[_0x4c0c93(0x181)](LUA_RELEASE_NUMBER,0x1,_0x569907,_0x289817['axdgK'](String,_0x4e7cb6),_0x289817[_0x4c0c93(0x138)](String,_0x5035f0));const _0x28a139={'released':!![],'resource':_0x4ea310,'formatKey':_0x4cfc49,'counter':_0x4e7cb6,'releasedAt':new Date()['toISOString']()};return await this[_0x4c0c93(0x21e)](_0x2f68de,_0x28a139),this['_updateMeta'](_0x4ea310,_0x4cfc49,{'lastReleasedCounter':_0x4e7cb6,'lastReleasedAt':_0x28a139[_0x4c0c93(0x1e1)]},_0x5035f0),logger['info']({'event':_0x289817[_0x4c0c93(0x109)],'resource':_0x4ea310,'formatKey':_0x4cfc49,'counter':_0x4e7cb6},_0x4c0c93(0x122)+_0x4e7cb6),_0x28a139;}async[a0_0x44aa3e(0x1e2)](_0x36f5a8){const _0x40e4fb=a0_0x44aa3e,_0x4b525f={'npAna':function(_0x3ffa9d,_0x2c0f22){return _0x3ffa9d+_0x2c0f22;},'Yeqrd':function(_0x102da2,_0x40c8cb){return _0x102da2*_0x40c8cb;},'GCnEr':'format','Tytrg':'separator','DsyKN':'numDigits','NgJOe':'datePrefix','SDjdb':_0x40e4fb(0x12a),'NbdvL':_0x40e4fb(0x215),'VkgEb':_0x40e4fb(0x229),'TIqCB':function(_0x211ff6,_0x57a1a8){return _0x211ff6(_0x57a1a8);},'LVlpW':function(_0x2e72f9,_0x86a8e4){return _0x2e72f9(_0x86a8e4);},'EhYwS':function(_0x96acd7,_0x46c29c){return _0x96acd7(_0x46c29c);},'gZhLT':_0x40e4fb(0x188),'YvJVh':_0x40e4fb(0x1d0),'ydknX':_0x40e4fb(0x18c)};if(!this[_0x40e4fb(0x15d)])throw new IdGeneratorError(_0x40e4fb(0x226),'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x2accb6=this[_0x40e4fb(0x148)](_0x36f5a8),_0x3a2e58=this[_0x40e4fb(0x1e4)](_0x36f5a8['ttl']),_0x252d43=this[_0x40e4fb(0x21a)](_0x36f5a8[_0x40e4fb(0x13f)]),{resource:_0x3ce822,format:_0x46117d,prefix:_0x28cb6d,separator:_0x3172ce,numDigits:_0x53cf72,reuseDelete:_0x1ac5cb}=_0x2accb6,{formatKey:_0x259932,datePrefix:_0x18a767}=this['_buildFormatKey'](_0x46117d,_0x28cb6d),_0x44aa0d=this['_buildSeqKey'](_0x3ce822,_0x259932),_0x3c19a8=this[_0x40e4fb(0x1b0)](_0x3ce822,_0x259932),_0x23e6d3=this['_buildReservationIndexKey'](_0x3ce822,_0x259932),_0xf68035=this['_getCounterTTL'](_0x46117d);let _0x36d2b3=null;if(_0x252d43){_0x36d2b3=this[_0x40e4fb(0x195)]('reserve',_0x3ce822,_0x259932,_0x252d43);const _0x6ba3b0=await this[_0x40e4fb(0x13a)](_0x36d2b3);if(_0x6ba3b0)return _0x6ba3b0;}const _0x35ba7e=crypto[_0x40e4fb(0x11f)](),_0x49040b=this[_0x40e4fb(0x1cc)](_0x35ba7e),_0x3a09c7=this[_0x40e4fb(0x1ec)](),_0x2a939d=Date[_0x40e4fb(0x1ed)](),_0x48fd11=_0x4b525f['npAna'](_0x2a939d,_0x3a2e58*0x3e8),_0x2af104=_0x4b525f['Yeqrd'](_0x3a2e58,0x3e8),_0x4cac05=new Date(_0x2a939d)['toISOString'](),_0x2c9c41=new Date(_0x48fd11)['toISOString'](),_0x557b6e=['resource',_0x3ce822,_0x40e4fb(0x19a),_0x259932,_0x4b525f[_0x40e4fb(0x11d)],_0x46117d,_0x40e4fb(0x19e),_0x28cb6d,_0x4b525f[_0x40e4fb(0x1e7)],_0x3172ce,_0x4b525f[_0x40e4fb(0x22b)],String(_0x53cf72),_0x4b525f['NgJOe'],_0x18a767||'',_0x4b525f[_0x40e4fb(0x1df)],_0x4cac05,_0x4b525f['NbdvL'],_0x2c9c41,_0x4b525f[_0x40e4fb(0x19f)],_0x4b525f['TIqCB'](String,_0x2af104)];_0x252d43&&_0x557b6e[_0x40e4fb(0x154)]('idemKey',_0x252d43);const _0x1a5117=redisClient[_0x40e4fb(0x127)](),_0x5d0527=await _0x1a5117['eval'](LUA_RESERVE_NUMBER,0x3,_0x44aa0d,_0x3c19a8,_0x23e6d3,_0x1ac5cb?'1':'0',String(_0xf68035),_0x35ba7e,_0x49040b,String(_0x2af104),String(_0x48fd11),_0x4b525f[_0x40e4fb(0x223)](String,_0x2a939d),_0x3a09c7,..._0x557b6e),_0x405818=_0x5d0527[0x0],_0x221edb=_0x5d0527[0x1]===0x1,_0x202120=_0x5d0527[0x2]||0x0;let _0x493553;try{_0x493553=this['_formatNumber']({'format':_0x46117d,'prefix':_0x28cb6d,'datePrefix':_0x18a767,'separator':_0x3172ce,'numDigits':_0x53cf72,'counterInt':_0x405818});}catch(_0x22433f){try{await _0x1a5117['eval'](LUA_CANCEL_RESERVATION,0x3,_0x49040b,_0x23e6d3,_0x3c19a8,_0x35ba7e,_0x4b525f[_0x40e4fb(0x12c)](String,_0xf68035));}catch(_0xb2bf27){logger[_0x40e4fb(0x20f)]({'event':_0x40e4fb(0x119),'error':_0xb2bf27['message'],'resource':_0x3ce822,'formatKey':_0x259932,'counterInt':_0x405818,'token':_0x35ba7e},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x22433f;}try{await _0x1a5117['hset'](_0x49040b,_0x40e4fb(0x174),_0x493553);}catch(_0x10c25c){logger['warn']({'event':'idgen_reserve_value_persist_error','error':_0x10c25c['message'],'resource':_0x3ce822,'formatKey':_0x259932,'counterInt':_0x405818,'token':_0x35ba7e},_0x40e4fb(0x156));}const _0x387029={'token':_0x35ba7e,'value':_0x493553,'counter':_0x405818,'resource':_0x3ce822,'formatKey':_0x259932,'isReused':_0x221edb,'createdAt':_0x4cac05,'expiresAt':_0x2c9c41,'reapedCount':_0x202120},_0x5a5265=await this['_storeIdemCacheNX'](_0x36d2b3,_0x387029);if(!_0x5a5265['stored']){try{await _0x1a5117[_0x40e4fb(0x181)](LUA_CANCEL_RESERVATION,0x3,_0x49040b,_0x23e6d3,_0x3c19a8,_0x35ba7e,String(_0xf68035));}catch(_0x521b7a){logger[_0x40e4fb(0x20f)]({'event':_0x4b525f['gZhLT'],'error':_0x521b7a['message'],'resource':_0x3ce822,'formatKey':_0x259932,'counterInt':_0x405818,'token':_0x35ba7e},_0x40e4fb(0x125));}return logger[_0x40e4fb(0x1c4)]({'event':_0x4b525f[_0x40e4fb(0x155)],'resource':_0x3ce822,'formatKey':_0x259932,'counter':_0x405818,'token':_0x35ba7e},_0x40e4fb(0x1ee)),_0x5a5265['winnerResult'];}return this['_updateMeta'](_0x3ce822,_0x259932,{'lastReservedCounter':_0x405818,'lastReservedAt':_0x4cac05,'lastReapedCount':_0x202120},_0xf68035),logger['info']({'event':_0x4b525f['ydknX'],'resource':_0x3ce822,'formatKey':_0x259932,'counter':_0x405818,'isReused':_0x221edb,'token':_0x35ba7e,'ttl':_0x3a2e58,'reapedCount':_0x202120},_0x40e4fb(0x194)+_0x493553+_0x40e4fb(0x142)+_0x35ba7e+')'),_0x387029;}async[a0_0x44aa3e(0x1eb)](_0x58300b){const _0x9ff93d=a0_0x44aa3e,_0xfdc44b={'ioDrH':_0x9ff93d(0x114),'xjIms':'idgen','vHXpW':function(_0x364e4f,_0x3dc0bb,_0xb262c0){return _0x364e4f(_0x3dc0bb,_0xb262c0);}};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0xfdc44b[_0x9ff93d(0x200)]);const _0x397e15=this['_validateReservationToken'](_0x58300b&&_0x58300b['token']),_0x6eafd2=this[_0x9ff93d(0x21a)](_0x58300b&&_0x58300b['idempotencyKey']);let _0x49595d=null;if(_0x6eafd2){_0x49595d=idempotencyManager['buildDeterministicKey'](_0xfdc44b[_0x9ff93d(0x167)],'reserve_confirm',_0x397e15+':'+_0x6eafd2);const _0x4ee8ba=await this[_0x9ff93d(0x13a)](_0x49595d);if(_0x4ee8ba)return _0x4ee8ba;}const _0x419823=await this['_getReservationContext'](_0x397e15),_0x30bb2c=redisClient['getClient'](),_0x2bd8b3=await _0x30bb2c['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x419823[_0x9ff93d(0x1f3)],_0x419823['rsvIdxKey'],_0x397e15);if(!_0x2bd8b3||_0x2bd8b3[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x397e15,{'token':_0x397e15});const _0x1eb264=_0xfdc44b['vHXpW'](parseInt,_0x2bd8b3[0x1],0xa),_0x3fc890=_0x2bd8b3[0x2],_0xf171e0=_0x2bd8b3[0x3],_0x5ec848=new Date()[_0x9ff93d(0x1e3)](),_0x44a3d8={'confirmed':!![],'token':_0x397e15,'value':_0x3fc890,'counter':_0x1eb264,'resource':_0x419823[_0x9ff93d(0x1a2)],'formatKey':_0xf171e0,'confirmedAt':_0x5ec848};await this[_0x9ff93d(0x21e)](_0x49595d,_0x44a3d8);const _0x2c53bb=_0xf171e0[_0x9ff93d(0x217)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x5dee70=_0x2c53bb?_0x2c53bb[0x1]:'text',_0x2ac0df=this[_0x9ff93d(0x134)](_0x5dee70);return this['_updateMeta'](_0x419823['resource'],_0xf171e0,{'lastConfirmedCounter':_0x1eb264,'lastConfirmedAt':_0x5ec848},_0x2ac0df),logger[_0x9ff93d(0x1c4)]({'event':_0x9ff93d(0x18d),'resource':_0x419823['resource'],'formatKey':_0xf171e0,'counter':_0x1eb264,'token':_0x397e15},_0x9ff93d(0x1ba)+_0x3fc890+'\x20(token='+_0x397e15+')'),_0x44a3d8;}async['cancelReservation'](_0x3fd4ed){const _0x3ab76a=a0_0x44aa3e,_0x289636={'CqyrF':'IDGEN_DISABLED','uuHlQ':'idgen','ghOXl':_0x3ab76a(0x1dd),'IAJtD':function(_0x416fa5,_0x52fafa){return _0x416fa5(_0x52fafa);}};if(!this[_0x3ab76a(0x15d)])throw new IdGeneratorError(_0x289636['CqyrF'],_0x3ab76a(0x114));const _0x51dc13=this[_0x3ab76a(0x17c)](_0x3fd4ed&&_0x3fd4ed['token']),_0x19cb1b=this[_0x3ab76a(0x21a)](_0x3fd4ed&&_0x3fd4ed['idempotencyKey']);let _0x5f4a3f=null;if(_0x19cb1b){_0x5f4a3f=idempotencyManager['buildDeterministicKey'](_0x289636[_0x3ab76a(0x1a1)],_0x289636[_0x3ab76a(0x185)],_0x51dc13+':'+_0x19cb1b);const _0x303655=await this['_retrieveIdemCache'](_0x5f4a3f);if(_0x303655)return _0x303655;}const _0x447498=await this['_getReservationContext'](_0x51dc13),_0x49f686=this['_buildReuseKey'](_0x447498['resource'],_0x447498['formatKey']),_0x3ca7b8=_0x447498[_0x3ab76a(0x19a)][_0x3ab76a(0x217)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x54add5=_0x3ca7b8?_0x3ca7b8[0x1]:_0x3ab76a(0x1a0),_0x3965d6=this['_getCounterTTL'](_0x54add5),_0x25db9b=redisClient['getClient'](),_0x19df0f=await _0x25db9b[_0x3ab76a(0x181)](LUA_CANCEL_RESERVATION,0x3,_0x447498['rsvKey'],_0x447498[_0x3ab76a(0x137)],_0x49f686,_0x51dc13,_0x289636['IAJtD'](String,_0x3965d6));if(!_0x19df0f||_0x19df0f[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x51dc13,{'token':_0x51dc13});const _0x43c19f=parseInt(_0x19df0f[0x1],0xa),_0x5e9b15=_0x19df0f[0x2],_0x537ebf=_0x19df0f[0x3],_0x3536a1=new Date()[_0x3ab76a(0x1e3)](),_0x353947={'cancelled':!![],'token':_0x51dc13,'value':_0x5e9b15,'counter':_0x43c19f,'resource':_0x447498[_0x3ab76a(0x1a2)],'formatKey':_0x537ebf,'releasedToReuse':!![],'cancelledAt':_0x3536a1};return await this[_0x3ab76a(0x21e)](_0x5f4a3f,_0x353947),this[_0x3ab76a(0x197)](_0x447498[_0x3ab76a(0x1a2)],_0x537ebf,{'lastCancelledCounter':_0x43c19f,'lastCancelledAt':_0x3536a1},_0x3965d6),logger['info']({'event':'idgen_reservation_cancelled','resource':_0x447498['resource'],'formatKey':_0x537ebf,'counter':_0x43c19f,'token':_0x51dc13},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x5e9b15+'\x20(token='+_0x51dc13+')'),_0x353947;}async['extendReservation'](_0x6767c8){const _0x42aa8e=a0_0x44aa3e,_0x355529={'RQklJ':_0x42aa8e(0x226),'uUKDj':'idgen','wSsIm':function(_0x33ab4e,_0x17c987){return _0x33ab4e+_0x17c987;},'llmUB':function(_0x23a768,_0x256eba){return _0x23a768*_0x256eba;},'gHuUY':function(_0x193831,_0x5dafad){return _0x193831(_0x5dafad);},'kZfXg':function(_0x2e6335,_0x1ffa16){return _0x2e6335!==_0x1ffa16;},'SGqSA':function(_0x3afe32,_0x134325,_0x324dfb){return _0x3afe32(_0x134325,_0x324dfb);}};if(!this['enabled'])throw new IdGeneratorError(_0x355529[_0x42aa8e(0x139)],'ID\x20Generator\x20is\x20disabled');const _0xd44b2a=this[_0x42aa8e(0x17c)](_0x6767c8&&_0x6767c8['token']),_0x51f130=this['_validateReserveTTL'](_0x6767c8&&_0x6767c8['ttl']),_0x51e0e1=this['_validateIdempotencyKey'](_0x6767c8&&_0x6767c8['idempotencyKey']);let _0x2bf523=null;if(_0x51e0e1){_0x2bf523=idempotencyManager[_0x42aa8e(0x17e)](_0x355529[_0x42aa8e(0x151)],'reserve_extend',_0xd44b2a+':'+_0x51e0e1);const _0x5b08b4=await this['_retrieveIdemCache'](_0x2bf523);if(_0x5b08b4)return _0x5b08b4;}const _0x24a2ba=await this['_getReservationContext'](_0xd44b2a),_0x2b8c25=Date[_0x42aa8e(0x1ed)](),_0x1e555c=_0x355529[_0x42aa8e(0x13c)](_0x2b8c25,_0x51f130*0x3e8),_0x1614ea=_0x355529[_0x42aa8e(0x1b2)](_0x51f130,0x3e8),_0x432529=new Date(_0x1e555c)['toISOString'](),_0x3f8f7f=redisClient[_0x42aa8e(0x127)](),_0x2833e2=await _0x3f8f7f[_0x42aa8e(0x181)](LUA_EXTEND_RESERVATION,0x2,_0x24a2ba[_0x42aa8e(0x1f3)],_0x24a2ba['rsvIdxKey'],_0xd44b2a,_0x355529[_0x42aa8e(0x149)](String,_0x1614ea),_0x355529['gHuUY'](String,_0x1e555c),_0x432529);if(!_0x2833e2||_0x355529[_0x42aa8e(0x187)](_0x2833e2[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x42aa8e(0x15a)+_0xd44b2a,{'token':_0xd44b2a});const _0x31b6b6=_0x2833e2[0x1],_0x521211=_0x355529['SGqSA'](parseInt,_0x2833e2[0x2],0xa),_0xe5804c=_0x2833e2[0x3],_0x38d0bc=_0x2833e2[0x4],_0x390a25=new Date(_0x2b8c25)['toISOString'](),_0x245f8f={'extended':!![],'token':_0xd44b2a,'previousExpiresAt':_0x31b6b6,'expiresAt':_0x432529,'ttlMs':_0x1614ea,'resource':_0x24a2ba['resource'],'formatKey':_0x38d0bc,'counter':_0x521211,'value':_0xe5804c,'extendedAt':_0x390a25};await this[_0x42aa8e(0x21e)](_0x2bf523,_0x245f8f);const _0x50c96f=_0x38d0bc[_0x42aa8e(0x217)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x1c9071=_0x50c96f?_0x50c96f[0x1]:'text',_0x26c31a=this[_0x42aa8e(0x134)](_0x1c9071);return this['_updateMeta'](_0x24a2ba['resource'],_0x38d0bc,{'lastExtendedCounter':_0x521211,'lastExtendedAt':_0x390a25},_0x26c31a),logger[_0x42aa8e(0x1c4)]({'event':'idgen_reservation_extended','resource':_0x24a2ba[_0x42aa8e(0x1a2)],'formatKey':_0x38d0bc,'counter':_0x521211,'token':_0xd44b2a,'ttl':_0x51f130},'ID\x20Generator\x20reservation\x20extended:\x20'+_0xe5804c+'\x20(token='+_0xd44b2a+_0x42aa8e(0x1a7)+_0x51f130+'s)'),_0x245f8f;}async[a0_0x44aa3e(0x157)](_0x5afca2){const _0x428762=a0_0x44aa3e,_0x37eec7={'DKhpp':function(_0x421f05,_0x32f77d,_0x70a2fb){return _0x421f05(_0x32f77d,_0x70a2fb);},'htbVA':function(_0x501111,_0x8fbfac,_0x3ced5b){return _0x501111(_0x8fbfac,_0x3ced5b);},'TLxVz':function(_0x219490,_0xfd845a){return _0x219490===_0xfd845a;},'GJyfl':function(_0x169085,_0x3e6dd3){return _0x169085>=_0x3e6dd3;}};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x4fa13b=this['_validateReservationToken'](_0x5afca2&&_0x5afca2[_0x428762(0x13e)]),_0x2be859=this['_buildReservationKey'](_0x4fa13b),_0x388e38=redisClient[_0x428762(0x127)](),_0x43822f=_0x388e38['pipeline']();_0x43822f['hgetall'](_0x2be859),_0x43822f[_0x428762(0x10c)](_0x2be859);const _0x5c80e3=await _0x43822f['exec'](),_0x4fda8e=_0x5c80e3&&_0x5c80e3[0x0]&&_0x5c80e3[0x0][0x1],_0x354706=_0x5c80e3&&_0x5c80e3[0x1]&&_0x5c80e3[0x1][0x1];if(!_0x4fda8e||Object['keys'](_0x4fda8e)[_0x428762(0x11b)]===0x0)throw new IdGeneratorError(_0x428762(0x1ef),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x4fa13b,{'token':_0x4fa13b});return{'token':_0x4fa13b,'resource':_0x4fda8e['resource']||null,'formatKey':_0x4fda8e[_0x428762(0x19a)]||null,'format':_0x4fda8e[_0x428762(0x11e)]||null,'prefix':_0x4fda8e[_0x428762(0x19e)]||'','separator':_0x4fda8e['separator']||'','numDigits':_0x4fda8e[_0x428762(0x15c)]?_0x37eec7['DKhpp'](parseInt,_0x4fda8e['numDigits'],0xa):null,'datePrefix':_0x4fda8e[_0x428762(0x10b)]||'','counter':_0x4fda8e['counter']?_0x37eec7[_0x428762(0x17f)](parseInt,_0x4fda8e['counter'],0xa):null,'value':_0x4fda8e[_0x428762(0x174)]||null,'isReused':_0x37eec7['TLxVz'](_0x4fda8e[_0x428762(0x20e)],'1')||_0x4fda8e['isReused']===0x1,'createdAt':_0x4fda8e['createdAt']||null,'expiresAt':_0x4fda8e[_0x428762(0x215)]||null,'ttlRemainingMs':typeof _0x354706===_0x428762(0x1c3)&&_0x37eec7['GJyfl'](_0x354706,0x0)?_0x354706:null};}async[a0_0x44aa3e(0x1e8)](_0x302a3d){const _0x4eb970=a0_0x44aa3e,_0x3bb511={'nfDjw':'resource','pneBr':'formatKey','nlXGd':function(_0xa112fc,_0xe27906){return _0xa112fc||_0xe27906;}},_0x3882f3=this['_buildReservationKey'](_0x302a3d),_0xf647ed=redisClient[_0x4eb970(0x127)](),_0x3c70b8=await _0xf647ed['hmget'](_0x3882f3,_0x3bb511['nfDjw'],_0x3bb511[_0x4eb970(0x222)]),_0x258cd2=_0x3c70b8&&_0x3c70b8[0x0],_0x32cc5d=_0x3c70b8&&_0x3c70b8[0x1];if(_0x3bb511[_0x4eb970(0x136)](!_0x258cd2,!_0x32cc5d))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x4eb970(0x15a)+_0x302a3d,{'token':_0x302a3d});return{'resource':_0x258cd2,'formatKey':_0x32cc5d,'rsvKey':_0x3882f3,'rsvIdxKey':this[_0x4eb970(0x221)](_0x258cd2,_0x32cc5d)};}async['random'](_0x449419){const _0x34593d=a0_0x44aa3e,_0x23778a={'vGZPk':_0x34593d(0x114),'XeZDx':_0x34593d(0x209),'pADLR':function(_0x33e622,_0x3584b6){return _0x33e622===_0x3584b6;},'gBSCZ':function(_0x495248,_0x5e4002){return _0x495248===_0x5e4002;},'RznOS':function(_0x33e875,_0x582cc0){return _0x33e875===_0x582cc0;},'zYNlk':_0x34593d(0x219),'PASCr':function(_0x242d51,_0x25f9d6){return _0x242d51&&_0x25f9d6;},'ZYRKL':function(_0x3a013a,_0x5990e6){return _0x3a013a+_0x5990e6;},'VVaWh':function(_0x586b1a,_0x3bcfa8){return _0x586b1a||_0x3bcfa8;}};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x23778a[_0x34593d(0x1a4)]);this['_validateResource'](_0x449419[_0x34593d(0x1a2)]),this['_validatePattern'](_0x449419['pattern']);const _0x5e8969=this['_validateTTL'](_0x449419[_0x34593d(0x1c5)]),_0x12c164=this['_validateMaxRetry'](_0x449419['maxRetry']),_0x6fa2cd=this[_0x34593d(0x21a)](_0x449419['idempotencyKey']),_0x32a454=_0x449419[_0x34593d(0x14e)]===!![],{resource:_0x586e97,pattern:_0x22170c}=_0x449419;let _0x3f6556=null;if(_0x6fa2cd){_0x3f6556=this['_buildIdemKey'](_0x23778a['XeZDx'],_0x586e97,null,_0x6fa2cd);const _0x19fa92=await this[_0x34593d(0x13a)](_0x3f6556);if(_0x19fa92)return _0x19fa92;}const _0x59a1a8=redisClient[_0x34593d(0x127)]();let _0x36ba91=null,_0x3277be=0x0;if(!_0x32a454)_0x36ba91=this['_generateFromPattern'](_0x22170c),_0x3277be=0x1;else{for(let _0x51d0c1=0x0;_0x51d0c1<_0x12c164;_0x51d0c1++){_0x3277be++;const _0x530d20=this['_generateFromPattern'](_0x22170c);if(_0x5e8969){const _0x1fd51a=this[_0x34593d(0x105)](_0x586e97,_0x530d20),_0xefb407=await _0x59a1a8['set'](_0x1fd51a,'1','EX',_0x5e8969,'NX');if(_0x23778a['pADLR'](_0xefb407,'OK')){_0x36ba91=_0x530d20;break;}}else{const _0x41a42e=this['_buildIssuedKey'](_0x586e97),_0x29c756=await _0x59a1a8['sadd'](_0x41a42e,_0x530d20);if(_0x23778a['gBSCZ'](_0x29c756,0x1)){_0x36ba91=_0x530d20;break;}}}if(_0x23778a['RznOS'](_0x36ba91,null))throw new IdGeneratorError(_0x23778a['zYNlk'],_0x34593d(0x18a)+_0x12c164+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x586e97,'pattern':_0x22170c,'maxRetry':_0x12c164});}const _0x416035={'value':_0x36ba91,'resource':_0x586e97,'pattern':_0x22170c,'attemptCount':_0x3277be,'generatedAt':new Date()['toISOString']()};_0x23778a[_0x34593d(0x18e)](_0x5e8969,_0x32a454)&&(_0x416035['expiresAt']=new Date(_0x23778a['ZYRKL'](Date[_0x34593d(0x1ed)](),_0x5e8969*0x3e8))['toISOString']());const _0x4e588b=await this['_storeIdemCacheNX'](_0x3f6556,_0x416035);if(!_0x4e588b[_0x34593d(0x1ae)])return _0x32a454&&await this[_0x34593d(0x130)](_0x586e97,_0x36ba91,_0x5e8969),logger[_0x34593d(0x1c4)]({'event':'idgen_random_idem_loser','resource':_0x586e97,'pattern':_0x22170c,'value':_0x36ba91},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x4e588b['winnerResult'];return logger[_0x34593d(0x1c4)]({'event':_0x34593d(0x177),'resource':_0x586e97,'pattern':_0x22170c,'attemptCount':_0x3277be,'ensureUnique':_0x32a454,'ttl':_0x23778a['VVaWh'](_0x5e8969,0x0)},'ID\x20Generator\x20random:\x20'+_0x36ba91),_0x416035;}async[a0_0x44aa3e(0x1db)](_0x1b9fca){const _0x264f6f=a0_0x44aa3e,_0x5653de={'JZbVG':function(_0x101675,_0x53c8bb){return _0x101675==_0x53c8bb;},'lfBYx':function(_0x2a383b,_0x431513){return _0x2a383b>_0x431513;},'iowIE':'IDGEN_INVALID_DIGITS','NwWIZ':function(_0x3d067e,_0x20edc3){return _0x3d067e===_0x20edc3;}},_0x1b7921=_0x5653de['JZbVG'](_0x1b9fca[_0x264f6f(0x153)],null)?this[_0x264f6f(0x123)]:_0x1b9fca[_0x264f6f(0x153)];if(!Number['isInteger'](_0x1b7921)||_0x1b7921<MIN_PIN_DIGITS||_0x5653de[_0x264f6f(0x1bc)](_0x1b7921,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x5653de[_0x264f6f(0x1c9)],'Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x1b7921+')');const _0xfe87fd='9'[_0x264f6f(0x163)](_0x1b7921);return this['random']({'resource':_0x1b9fca[_0x264f6f(0x1a2)],'pattern':_0xfe87fd,'ensureUnique':_0x5653de[_0x264f6f(0x140)](_0x1b9fca['ensureUnique'],!![]),'ttl':_0x1b9fca[_0x264f6f(0x1c5)],'maxRetry':_0x1b9fca['maxRetry'],'idempotencyKey':_0x1b9fca['idempotencyKey']});}async['serial'](_0x1de6a7){const _0x408c0c=a0_0x44aa3e,_0x4e7de5=_0x1de6a7[_0x408c0c(0x183)]||this[_0x408c0c(0x14b)];return this['random']({'resource':_0x1de6a7['resource'],'pattern':_0x4e7de5,'ensureUnique':_0x1de6a7[_0x408c0c(0x14e)]!==![],'ttl':_0x1de6a7[_0x408c0c(0x1c5)],'maxRetry':_0x1de6a7['maxRetry'],'idempotencyKey':_0x1de6a7[_0x408c0c(0x13f)]});}async[a0_0x44aa3e(0x1ce)](_0x283611){const _0x1b30f1=a0_0x44aa3e,_0xe5ced5=_0x283611[_0x1b30f1(0x183)]||this[_0x1b30f1(0x1c8)];return this['random']({'resource':_0x283611['resource'],'pattern':_0xe5ced5,'ensureUnique':_0x283611[_0x1b30f1(0x14e)]!==![],'ttl':_0x283611[_0x1b30f1(0x1c5)],'maxRetry':_0x283611['maxRetry'],'idempotencyKey':_0x283611['idempotencyKey']});}async[a0_0x44aa3e(0x159)](_0x3b4611){const _0x354daf=a0_0x44aa3e,_0x21e669={'BJjju':'IDGEN_DISABLED','pkEJR':function(_0xb442b0,_0x1d8127){return _0xb442b0!==_0x1d8127;},'XpUkd':function(_0x48bd7f,_0x4a7cb6){return _0x48bd7f+_0x4a7cb6;}};if(!this[_0x354daf(0x15d)])throw new IdGeneratorError(_0x21e669[_0x354daf(0x1fc)],_0x354daf(0x114));this[_0x354daf(0x1d6)](_0x3b4611[_0x354daf(0x1a2)]);if(_0x21e669['pkEJR'](typeof _0x3b4611['value'],_0x354daf(0x10e))||_0x3b4611['value']['length']===0x0)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','value\x20is\x20required');const {resource:_0x303316,value:_0x5b63a5}=_0x3b4611,_0x56d3f7=redisClient[_0x354daf(0x127)](),_0x2a448d=this[_0x354daf(0x105)](_0x303316,_0x5b63a5),_0x18b946=this['_buildIssuedKey'](_0x303316),[_0x335f75,_0xc1af76]=await Promise['all']([_0x56d3f7[_0x354daf(0x131)](_0x2a448d),_0x56d3f7['srem'](_0x18b946,_0x5b63a5)]),_0x379f37=_0x21e669[_0x354daf(0x117)](_0x335f75,_0xc1af76)>0x0;return logger['info']({'event':'idgen_consumed','resource':_0x303316,'value':_0x5b63a5,'consumed':_0x379f37},_0x354daf(0x1a9)+_0x5b63a5),{'consumed':_0x379f37,'resource':_0x303316,'value':_0x5b63a5,'consumedAt':new Date()[_0x354daf(0x1e3)]()};}async['peek'](_0x5b7ad6){const _0x23ba44=a0_0x44aa3e,_0x550a61={'MBOKv':'ID\x20Generator\x20is\x20disabled','waBhf':function(_0x473396,_0x170eac){return _0x473396===_0x170eac;},'zBYIb':'number','BZwkT':function(_0x188d55,_0x2a093f){return _0x188d55||_0x2a093f;}};if(!this['enabled'])throw new IdGeneratorError(_0x23ba44(0x226),_0x550a61[_0x23ba44(0x146)]);this[_0x23ba44(0x1d6)](_0x5b7ad6['resource']);const _0x1feb0f=_0x5b7ad6[_0x23ba44(0x21d)]||_0x23ba44(0x1c3),_0x66c633=redisClient[_0x23ba44(0x127)]();if(_0x550a61[_0x23ba44(0x1b7)](_0x1feb0f,_0x550a61[_0x23ba44(0x190)])){const _0xc68a09=(_0x5b7ad6['format']||'text')[_0x23ba44(0x1da)]();if(!ALLOWED_FORMATS['has'](_0xc68a09))throw new IdGeneratorError(_0x23ba44(0x15b),'Invalid\x20format:\x20'+_0x5b7ad6[_0x23ba44(0x11e)]);const {formatKey:_0x5df384}=this['_buildFormatKey'](_0xc68a09,_0x5b7ad6['prefix']||''),_0x11f222=this['_buildSeqKey'](_0x5b7ad6['resource'],_0x5df384),_0x5c1cf8=this[_0x23ba44(0x1b0)](_0x5b7ad6[_0x23ba44(0x1a2)],_0x5df384),[_0x53f448,_0x2c1aa0]=await Promise[_0x23ba44(0x19c)]([_0x66c633[_0x23ba44(0x204)](_0x11f222),_0x66c633['zcard'](_0x5c1cf8)]);return{'resource':_0x5b7ad6['resource'],'mode':'number','formatKey':_0x5df384,'currentCounter':parseInt(_0x53f448,0xa)||0x0,'reusePoolSize':_0x2c1aa0||0x0};}if(_0x1feb0f===_0x23ba44(0x209)){const _0x25f134=this[_0x23ba44(0x143)](_0x5b7ad6[_0x23ba44(0x1a2)]),_0x4dc476=await _0x66c633['scard'](_0x25f134);return{'resource':_0x5b7ad6['resource'],'mode':'random','issuedCount':_0x550a61['BZwkT'](_0x4dc476,0x0)};}throw new IdGeneratorError(_0x23ba44(0x1d9),_0x23ba44(0x1aa)+_0x1feb0f);}async['getInfo'](_0x1171f3){const _0x44743b=a0_0x44aa3e,_0x25f0ff=await this['peek'](_0x1171f3);if(_0x25f0ff[_0x44743b(0x21d)]===_0x44743b(0x1c3)){const _0x2a09bf=redisClient[_0x44743b(0x127)](),_0x5677ce=this['_buildMetaKey'](_0x1171f3['resource'],_0x25f0ff['formatKey']),_0x290bf0=this['_buildReuseKey'](_0x1171f3[_0x44743b(0x1a2)],_0x25f0ff[_0x44743b(0x19a)]),[_0x20dd8b,_0x567976]=await Promise[_0x44743b(0x19c)]([_0x2a09bf[_0x44743b(0x1c6)](_0x5677ce),_0x2a09bf[_0x44743b(0x227)](_0x290bf0,0x0,-0x1)]);return{..._0x25f0ff,'reusePoolValues':_0x567976['map'](_0x14cf99=>parseInt(_0x14cf99,0xa)),'meta':_0x20dd8b&&Object['keys'](_0x20dd8b)[_0x44743b(0x11b)]>0x0?_0x20dd8b:null};}return _0x25f0ff;}async[a0_0x44aa3e(0x14a)](_0x2fe3a0){const _0x1ab616=a0_0x44aa3e,_0x212b8d={'xjLXR':_0x1ab616(0x110),'ZPLsE':'number','BnvMA':'idgen_reset','cYnCa':_0x1ab616(0x1bb),'pQJtm':_0x1ab616(0x17a),'tIPJF':'meta','RYqaG':'random'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');if(!this['allowReset'])throw new IdGeneratorError(_0x212b8d[_0x1ab616(0x135)],'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this[_0x1ab616(0x1d6)](_0x2fe3a0['resource']);const _0x3afd3e=_0x2fe3a0[_0x1ab616(0x21d)]||_0x212b8d[_0x1ab616(0x10d)],_0x1d9fc3=redisClient['getClient']();if(_0x3afd3e==='number'){const _0x1ebc24=(_0x2fe3a0['format']||_0x1ab616(0x1a0))['toLowerCase']();if(!ALLOWED_FORMATS[_0x1ab616(0x176)](_0x1ebc24))throw new IdGeneratorError(_0x1ab616(0x15b),'Invalid\x20format:\x20'+_0x2fe3a0[_0x1ab616(0x11e)]);const {formatKey:_0x32b0f1}=this[_0x1ab616(0x145)](_0x1ebc24,_0x2fe3a0[_0x1ab616(0x19e)]||''),_0x31003c=this['_buildSeqKey'](_0x2fe3a0['resource'],_0x32b0f1),_0x22eb6c=this[_0x1ab616(0x1b0)](_0x2fe3a0[_0x1ab616(0x1a2)],_0x32b0f1),_0x185398=this['_buildMetaKey'](_0x2fe3a0[_0x1ab616(0x1a2)],_0x32b0f1);return await _0x1d9fc3[_0x1ab616(0x131)](_0x31003c,_0x22eb6c,_0x185398),logger[_0x1ab616(0x20f)]({'event':_0x212b8d[_0x1ab616(0x1b9)],'resource':_0x2fe3a0['resource'],'mode':_0x212b8d['ZPLsE'],'formatKey':_0x32b0f1},'ID\x20Generator\x20reset:\x20'+_0x2fe3a0[_0x1ab616(0x1a2)]+':'+_0x32b0f1),{'reset':!![],'resource':_0x2fe3a0['resource'],'mode':_0x212b8d[_0x1ab616(0x10d)],'formatKey':_0x32b0f1,'deletedKeys':[_0x212b8d[_0x1ab616(0x20b)],_0x212b8d[_0x1ab616(0x1bd)],_0x212b8d['tIPJF']]};}if(_0x3afd3e==='random'){const _0xfc417c=this['_buildIssuedKey'](_0x2fe3a0['resource']);return await _0x1d9fc3['del'](_0xfc417c),logger[_0x1ab616(0x20f)]({'event':_0x212b8d['BnvMA'],'resource':_0x2fe3a0['resource'],'mode':_0x212b8d[_0x1ab616(0x1a8)]},_0x1ab616(0x1f5)+_0x2fe3a0[_0x1ab616(0x1a2)]),{'reset':!![],'resource':_0x2fe3a0['resource'],'mode':_0x212b8d['RYqaG'],'deletedKeys':['issued']};}throw new IdGeneratorError(_0x1ab616(0x1d9),'Unknown\x20mode:\x20'+_0x3afd3e);}}const instance=new IdGenerator();instance[a0_0x44aa3e(0x1b5)]=IdGeneratorError,module['exports']=instance,module['exports'][a0_0x44aa3e(0x1b5)]=IdGeneratorError;
1
+ 'use strict';const a0_0x3a03fd=a0_0x316f;function a0_0x292b(){const _0x40fca6=['AwrNzw5FBNvTyMvYx3jLBgvHC2vK','ufL3Bhq','ALDjteG','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','ihnLy29UzhmGkgDVDdOG','BwDhz3O','zgvS','BM93','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','wfHywc1ywfHylvHywfGTwfHywa','surhru5Fsu5wquXjrf9srvnpvvjdrq','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','BgvUz3rO','uLjIAuq','Bw9Kzq','x3jLC2vYDMvezwzHDwX0vfrm','surhru5FreLtqujmruq','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','CMvZB3vYy2u','A2v5CW','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','C2nHCMq','x3zHBgLKyxrLtwf4uMv0CNK','mte3nZG0ogzAtwD5Ea','ywn0AxzLoG','vevzzwC','AwrNzw4','xLXKEW','C3rYAw5N','zM9YBwf0s2v5','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','CMvZzxj2zurLzMf1BhruveW','BKD4vhq','rfnju1m','mJKWmJi1n25pyujQAG','C2v0zxG','x2nVDw50zxjuveXnyxa','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','v2HSwxO','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','C2fKza','AgDLDgfSBa','y2fUy2vSuMvZzxj2yxrPB24','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','A2v5uhjLzML4','weDtDeq','AM9PBG','DgjxANO','D25sEeO','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','r1vLquy','ChjLzML4','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','tMTMqwC','mtC2ndiYnvrYB1fuqW','DgvZDa','sxP4wxe','B0nQsxa','surhru5Fru5bqKXfra','zM9YBwf0','u3flvgi','ywXS','zgvMyxvSDenVzgvqyxr0zxjU','EMnHCMq','x2j1AwXKrM9YBwf0s2v5','x3rLEhq','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','mtf8mxW3FdL8nxW2FdH8mhWYFdr8m3WXma','z2v0','sKvqugC','surhru5Fsu5wquXjrf9quKvgsvG','surhru5Fsu5wquXjrf9gt1jnqvq','D2fYBG','s3PwCK0','Dg9mB3DLCKnHC2u','BwfW','C3rYAw5NAwz5','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','CMy6AwrNzw46','ofPKt0Txwa','ruDVt1i','CNn2s2v5','otK5os05otK5','CgvLAW','CNn2oG','x2j1AwXKuMvZzxj2yxrPB25lzxK','x2LKzw1uveW','igv4y2vLzhmG','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','x2fSBg93uMvZzxq','C3jLBq','zw5ZDxjLvw5PCxvL','x3n0B3jLswrLBunHy2HLtLG','DMTTBge','mtC4ndGXmZHMDKDQDMO','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','txnSr2m','mdeYmZq1nJC4oufcq0rfrG','tg53zfy','CgfYC2u','Bw9zsum','zLzOtMK','x3bHCNnLtNvTyMvY','AwrLBvruta','Bwf0y2G','AxnfBMfIBgvK','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','x3zHBgLKyxrLuMvZB3vYy2u','zxHWAxjLC0f0','zgv0ywLSCW','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','zg1xAuG','x2DLDenVDw50zxjuveW','zM5Ksxq','x3jLC2vYDMvnyxHuveW','sfvdq1a','x2j1AwXKqwn0AxzLs2v5','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','y2XWC00','vw5RBM93BIbMB3jTyxq6ia','sgzpCKO','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','C2vX','EwvKBwK','tvviEvy','ntiWnJK5mKjdzw5quq','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','Dgv4Da','swrhzw5LCMf0B3jfCNjVCG','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','C0XOrKK','x2LUAxrdB25MAwC','x2j1AwXKu2vXs2v5','Aw5MBW','x2vUywjSzwq','D0P3rLq','zgTftLe','x2vUC3vYzuLUAxrPywXPEMvK','lcbNB3qG','zgvMyxvSDfnLCMLHBfbHDhrLCM4','lcbLEhbLy3rLzca','EuDpuLy','x2rLzMf1BhrqAw5eAwDPDhm','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','AwfeAvG','BwvZC2fNzq','y29Kzq','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','C2z4Bum','s3HhshK','CMvZzxj2zq','x2j1AwXKsxnZDwvKs2v5','nZi3mta4ohvQuwHjwG','zgvMyxvSDfbPBKrPz2L0CW','DhrS','x2j1AwXKswrLBuTLEq','twv0ysb1CgrHDguGzxjYB3i','x3zHBgLKyxrLvfrm','vfjzBNy','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','x3zHBgLKyxrLuMvZzxj2zvruta','DenRtLi','u01NuvK','AxnZDwvK','zLrAAfC','surhru5Fsu5wquXjrf9trvbbuKfut1i','ExL5Ew1T','B2zivNO','CMvZzxj2zv9Jyw5JzwW','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','D3fzvfC','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','x3vWzgf0zu1LDge','Dg9ju09tDhjPBMC','AxnszxvZzwq','z2v0q2XPzw50','x2DLBMvYyxrLrNjVBvbHDhrLCM4','x2rLzMf1BhrdB2rLugf0DgvYBG','BNnRC3O','CMvZzxj2zu1HEfruta','Dvrdv0O','C2v0','yNvPBgrezxrLCM1PBMLZDgLJs2v5','x3n0B3jLswrLBunHy2HL','surhru5Fq09vtLrfuL9pvKvsrKXpvW','z2v0sw5MBW','AxnjBNrLz2vY','ihbHCNrZkq','z0nqre4','x3bHzdi','y29UC3vTzq','vLHis2i','BwnzCM8','CgfKu3rHCNq','y291BNrLCG','x2LUAxrPywXPEMvK','C2vWyxjHDg9Y','surhru5Fsu5wquXjrf9ovu1crvi','zxHWB3j0CW','y291BNrLCKLUDa','CMv1C2u6','x3vUzg9syw5KB21szxnLCNzHDgLVBG','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','EvbiEuG','AgfZ','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','Bwf4uMv0CNK','BhPZz2O','icHNB3q6ia','wvnAB1u','x2rLzMf1BhrnyxHszxrYEq','vfjIq0G','mLDNsevHAa','mtjnBefbrLK','AwrNzw5Fy29UC3vTzwq','CgfKzgvKicHNB3q6ia','zxjYtxO','D2LUBMvYuMvZDwX0','wgjmqNy','zhDfvw4','zw50CMLLCW','x2zVCM1HDe51BwjLCG','Dg9Rzw4','Cgf0DgvYBG','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','sKfeA0m','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','y3jLyxrLzef0','mtbfuLDpq2e','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','tM9Qsw0','tuXMrxq','AgzWC1K','t1nLu0O','Dhj1zq','Chr0Ba','CLDpCLa','ignOyxjZ','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','x3jLDhjPzxzLswrLBunHy2HL','ChvZAa','CMfUzg9Tvvvjra','zgLNAxrZ','mZe3odGZBfrlEKPr','CMvZzxq','Bwv0yq','Cfz2Efm','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','BNvTyMvY','x3zHBgLKyxrLugf0DgvYBG','wMv0sfK','vwzXAgW','x2TLEvbYzwzPEa','Dwn2uMq','vxfICLm','AhnLDa','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','BLvitgy','surhru5Frevgqvvmvf9nqvHFuKvuuLK','zxzHBa','qNncvgi','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','yM9VBgvHBG','CMfUzg9T','x2j1AwXKtwv0yuTLEq','rfrMC3y','zw52','CMvSzwfZzq','zxHWAxjL','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','zgf0zvbYzwzPEa','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','ChfnBKW','sNjhr1y','AwrNzw5FCMvZzxq','Ee9sC24','x2j1AwXKuMv1C2vlzxK','BNvTrgLNAxrZ','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','surhru5Fsu5wquXjrf9nt0rf','q291BNrLCIbVDMvYzMXVDZOG','zMj1B1y','surhru5Fsu5wquXjrf9uveW','icH0B2TLBJ0','ugj6vuW','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','D3jAB28','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','AwrLBxbVDgvUy3LlzxK','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','zw5HyMXLza','zNr2CgS','DwTbCM4','CNn2swr4s2v5'];a0_0x292b=function(){return _0x40fca6;};return a0_0x292b();}function a0_0x316f(_0x570de4,_0x53dc0e){_0x570de4=_0x570de4-0xa6;const _0x292b28=a0_0x292b();let _0x316fa2=_0x292b28[_0x570de4];if(a0_0x316f['yPZgIn']===undefined){var _0x478082=function(_0x3aaf75){const _0x2f358d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x496487='',_0x55f8cb='';for(let _0x1e15df=0x0,_0x3056e9,_0x398cc5,_0x25d325=0x0;_0x398cc5=_0x3aaf75['charAt'](_0x25d325++);~_0x398cc5&&(_0x3056e9=_0x1e15df%0x4?_0x3056e9*0x40+_0x398cc5:_0x398cc5,_0x1e15df++%0x4)?_0x496487+=String['fromCharCode'](0xff&_0x3056e9>>(-0x2*_0x1e15df&0x6)):0x0){_0x398cc5=_0x2f358d['indexOf'](_0x398cc5);}for(let _0x261bb4=0x0,_0x57d959=_0x496487['length'];_0x261bb4<_0x57d959;_0x261bb4++){_0x55f8cb+='%'+('00'+_0x496487['charCodeAt'](_0x261bb4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55f8cb);};a0_0x316f['fWkAIP']=_0x478082,a0_0x316f['gpWWhz']={},a0_0x316f['yPZgIn']=!![];}const _0x66cb6f=_0x292b28[0x0],_0x9425d3=_0x570de4+_0x66cb6f,_0x4eeca5=a0_0x316f['gpWWhz'][_0x9425d3];return!_0x4eeca5?(_0x316fa2=a0_0x316f['fWkAIP'](_0x316fa2),a0_0x316f['gpWWhz'][_0x9425d3]=_0x316fa2):_0x316fa2=_0x4eeca5,_0x316fa2;}(function(_0x841dd5,_0x5cbbdd){const _0x1d512d=a0_0x316f,_0x5dd776=_0x841dd5();while(!![]){try{const _0x13d3a9=-parseInt(_0x1d512d(0x136))/0x1+-parseInt(_0x1d512d(0xc8))/0x2*(parseInt(_0x1d512d(0xe7))/0x3)+-parseInt(_0x1d512d(0xc9))/0x4*(-parseInt(_0x1d512d(0x155))/0x5)+-parseInt(_0x1d512d(0x1ba))/0x6+parseInt(_0x1d512d(0x19e))/0x7+-parseInt(_0x1d512d(0x16e))/0x8*(parseInt(_0x1d512d(0x141))/0x9)+-parseInt(_0x1d512d(0xd8))/0xa*(-parseInt(_0x1d512d(0x17e))/0xb);if(_0x13d3a9===_0x5cbbdd)break;else _0x5dd776['push'](_0x5dd776['shift']());}catch(_0x496334){_0x5dd776['push'](_0x5dd776['shift']());}}}(a0_0x292b,0x94263));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x3a03fd(0x1c8),'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=a0_0x3a03fd(0x10a),CHARSET_LOWER=a0_0x3a03fd(0x146),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_0x3a03fd(0x181),CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER=a0_0x3a03fd(0x113),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION=a0_0x3a03fd(0x195),LUA_CANCEL_RESERVATION=a0_0x3a03fd(0x1c1),LUA_EXTEND_RESERVATION=a0_0x3a03fd(0xbe);class IdGeneratorError extends Error{constructor(_0xc06673,_0x16bb16,_0x281954=null){const _0x34703b=a0_0x3a03fd,_0x4382ae={'PYwlt':function(_0x1dcb67,_0x6d347f){return _0x1dcb67||_0x6d347f;},'nMEFB':_0x34703b(0x1a1)};super(_0x4382ae[_0x34703b(0x120)](_0x16bb16,_0xc06673)),this['name']=_0x4382ae['nMEFB'],this[_0x34703b(0x1b4)]=_0xc06673,this[_0x34703b(0x18d)]=_0x281954;}}class IdGenerator{constructor(){const _0x5328de=a0_0x3a03fd,_0x163d5c=_0x5328de(0x162)['split']('|');let _0x30704b=0x0;while(!![]){switch(_0x163d5c[_0x30704b++]){case'0':this['_defaultSerialPattern']=null;continue;case'1':this[_0x5328de(0x1a8)]=null;continue;case'2':this[_0x5328de(0x1d5)]=null;continue;case'3':this['_reserveDefaultTTL']=null;continue;case'4':this[_0x5328de(0x143)]=null;continue;case'5':this[_0x5328de(0x179)]=null;continue;case'6':this['_defaultMaxRetry']=null;continue;case'7':this[_0x5328de(0xf0)]=null;continue;case'8':this['_defaultPinDigits']=null;continue;case'9':this[_0x5328de(0x175)]=null;continue;case'10':this[_0x5328de(0x192)]=null;continue;case'11':this['_initialized']=![];continue;}break;}}[a0_0x3a03fd(0x1a5)](){const _0x567fdd=a0_0x3a03fd,_0x24ccfa={'gUDyA':_0x567fdd(0x16d),'jWILH':function(_0x3e033f,_0x51a376){return _0x3e033f===_0x51a376;},'ofHVz':function(_0x45d092,_0x1907cb,_0x3cdd91){return _0x45d092(_0x1907cb,_0x3cdd91);},'GVoNe':_0x567fdd(0xde),'sjrfx':_0x567fdd(0x128),'wHGSd':function(_0x5d6e1a,_0x2954a7,_0x5b17c3){return _0x5d6e1a(_0x2954a7,_0x5b17c3);},'emDOq':function(_0x5e6b8c,_0x5a6a86,_0x1d208e){return _0x5e6b8c(_0x5a6a86,_0x1d208e);},'DkCfi':function(_0x527f43,_0x567034,_0x2425d0){return _0x527f43(_0x567034,_0x2425d0);},'AGQIU':'idgen_config_init'};this[_0x567fdd(0xf0)]=_0x24ccfa['gUDyA'],this[_0x567fdd(0x1a8)]=_0x24ccfa[_0x567fdd(0x121)](process['env'][_0x567fdd(0x159)],'true'),this[_0x567fdd(0x175)]=_0x24ccfa['ofHVz'](parseInt,process['env']['IDGEN_IDEM_TTL'],0xa)||0x258,this['_allowReset']=_0x24ccfa['jWILH'](process[_0x567fdd(0xfe)]['IDGEN_ALLOW_RESET'],_0x24ccfa['GVoNe']),this['_defaultMaxRetry']=parseInt(process['env'][_0x567fdd(0xf6)],0xa)||0xa,this['_defaultPinDigits']=parseInt(process[_0x567fdd(0xfe)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this['_defaultSerialPattern']=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x24ccfa['sjrfx'],this[_0x567fdd(0x1d5)]=process['env']['IDGEN_DEFAULT_CODE_PATTERN']||_0x567fdd(0x171),this['_counterTTLMap']={'yyyymm':_0x24ccfa[_0x567fdd(0x1c9)](parseInt,process[_0x567fdd(0xfe)][_0x567fdd(0x199)],0xa)||0x2a3000,'yyyymmdd':_0x24ccfa['wHGSd'](parseInt,process[_0x567fdd(0xfe)]['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this[_0x567fdd(0x12e)]=_0x24ccfa['emDOq'](parseInt,process['env'][_0x567fdd(0x1b5)],0xa)||DEFAULT_RESERVE_TTL,this['_reserveMaxTTL']=_0x24ccfa['DkCfi'](parseInt,process[_0x567fdd(0xfe)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this[_0x567fdd(0xb7)]=!![],logger['info']({'event':_0x24ccfa['AGQIU'],'enabled':this['_enabled'],'idemTTL':this[_0x567fdd(0x175)],'allowReset':this['_allowReset'],'defaultMaxRetry':this[_0x567fdd(0xc6)],'defaultPinDigits':this[_0x567fdd(0x1b0)],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},_0x567fdd(0x1b1)+this[_0x567fdd(0x1a8)]);}[a0_0x3a03fd(0x1ab)](){const _0x24b954=a0_0x3a03fd;if(!this[_0x24b954(0xb7)])this[_0x24b954(0x1a5)]();}get[a0_0x3a03fd(0x11b)](){const _0x16c147=a0_0x3a03fd;return this['_ensureInitialized'](),this[_0x16c147(0x1a8)];}get['keyPrefix'](){return this['_ensureInitialized'](),this['_keyPrefix'];}get['idemTTL'](){const _0x3b9ec4=a0_0x3a03fd;return this[_0x3b9ec4(0x1ab)](),this[_0x3b9ec4(0x175)];}get['allowReset'](){const _0x573645=a0_0x3a03fd;return this[_0x573645(0x1ab)](),this['_allowReset'];}get['defaultMaxRetry'](){const _0x1fc5f5=a0_0x3a03fd;return this[_0x1fc5f5(0x1ab)](),this[_0x1fc5f5(0xc6)];}get['defaultPinDigits'](){const _0x55920e=a0_0x3a03fd;return this['_ensureInitialized'](),this[_0x55920e(0x1b0)];}get['defaultSerialPattern'](){const _0x5c9f85=a0_0x3a03fd;return this[_0x5c9f85(0x1ab)](),this['_defaultSerialPattern'];}get[a0_0x3a03fd(0x15d)](){const _0x2bb207=a0_0x3a03fd;return this[_0x2bb207(0x1ab)](),this['_defaultCodePattern'];}get[a0_0x3a03fd(0x13e)](){return this['_ensureInitialized'](),this['_reserveDefaultTTL'];}get[a0_0x3a03fd(0xa7)](){const _0x12fb6a=a0_0x3a03fd;return this['_ensureInitialized'](),this[_0x12fb6a(0x192)];}[a0_0x3a03fd(0x189)](){const _0x196591=a0_0x3a03fd;return this[_0x196591(0x11b)];}[a0_0x3a03fd(0x18b)](_0x3cda06){const _0x3f93fb=a0_0x3a03fd,_0x5967d3={'xTOkk':_0x3f93fb(0x13b),'DSISS':_0x3f93fb(0x129)};if(typeof _0x3cda06!==_0x5967d3['xTOkk']||!RESOURCE_REGEX[_0x3f93fb(0x156)](_0x3cda06))throw new IdGeneratorError(_0x5967d3[_0x3f93fb(0x140)],_0x3f93fb(0x16c)+RESOURCE_REGEX+_0x3f93fb(0xc4)+JSON[_0x3f93fb(0x16b)](_0x3cda06)+')');}['_validateNumberParams'](_0x49a1a3){const _0x5ca5f6=a0_0x3a03fd,_0x43522c={'oBSyu':function(_0x202c96,_0x5005f9){return _0x202c96===_0x5005f9;},'EGoOR':_0x5ca5f6(0x166),'TRYnv':function(_0x4f3785,_0x3461d3){return _0x4f3785==_0x3461d3;},'VtYmh':'string','SqKTb':_0x5ca5f6(0x165),'lzsgj':function(_0x1dfc27,_0x46cf2e){return _0x1dfc27==_0x46cf2e;},'bYWBt':function(_0x35bc55,_0x33e6fd){return _0x35bc55!==_0x33e6fd;},'MHjOW':_0x5ca5f6(0xfa)},{resource:_0x5bb5bd,format:_0x539a53,prefix:_0x2f614b,separator:_0x3c9f13,numDigits:_0x44c402,reuseDelete:_0x42a436}=_0x49a1a3;this['_validateResource'](_0x5bb5bd);const _0x334467=_0x43522c['oBSyu'](typeof _0x539a53,_0x5ca5f6(0x13b))?_0x539a53['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x334467))throw new IdGeneratorError(_0x43522c[_0x5ca5f6(0x16f)],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x5ca5f6(0x14d)](',\x20')+'\x20(got:\x20'+_0x539a53+')');if(!Number['isInteger'](_0x44c402)||_0x44c402<MIN_NUM_DIGITS||_0x44c402>MAX_NUM_DIGITS)throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS',_0x5ca5f6(0x12a)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x5ca5f6(0xc4)+_0x44c402+')');const _0x5aa207=_0x43522c[_0x5ca5f6(0x1c0)](_0x2f614b,null)?'':_0x2f614b;if(typeof _0x5aa207!==_0x43522c['VtYmh']||!PREFIX_REGEX[_0x5ca5f6(0x156)](_0x5aa207))throw new IdGeneratorError(_0x43522c[_0x5ca5f6(0x15b)],'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+'\x20(got:\x20'+JSON[_0x5ca5f6(0x16b)](_0x2f614b)+')');const _0x4acf99=_0x43522c[_0x5ca5f6(0xc3)](_0x3c9f13,null)?'':_0x3c9f13;if(_0x43522c['bYWBt'](typeof _0x4acf99,_0x5ca5f6(0x13b))||_0x4acf99[_0x5ca5f6(0x12b)]>0x3||SEPARATOR_FORBIDDEN['test'](_0x4acf99))throw new IdGeneratorError(_0x5ca5f6(0x1c7),_0x5ca5f6(0x114)+JSON[_0x5ca5f6(0x16b)](_0x3c9f13)+')');if(_0x42a436!=null&&typeof _0x42a436!==_0x43522c['MHjOW'])throw new IdGeneratorError(_0x5ca5f6(0x129),_0x5ca5f6(0x177)+typeof _0x42a436+')');return{'resource':_0x5bb5bd,'format':_0x334467,'prefix':_0x5aa207,'separator':_0x4acf99,'numDigits':_0x44c402,'reuseDelete':_0x42a436===!![]};}[a0_0x3a03fd(0xed)](_0x3be72d){const _0x50b876=a0_0x3a03fd,_0x511565={'fAEBp':function(_0x438db1,_0x43b472){return _0x438db1>_0x43b472;},'wrZoo':'IDGEN_INVALID_PATTERN'};if(typeof _0x3be72d!=='string'||_0x3be72d['length']===0x0||_0x511565['fAEBp'](_0x3be72d[_0x50b876(0x12b)],MAX_PATTERN_LENGTH))throw new IdGeneratorError('IDGEN_INVALID_PATTERN','Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x3be72d&&_0x3be72d[_0x50b876(0x12b)])+')');let _0x441d36=![];for(const _0xb7d06 of _0x3be72d){if(PLACEHOLDER_MAP[_0xb7d06]){_0x441d36=!![];break;}}if(!_0x441d36)throw new IdGeneratorError(_0x511565[_0x50b876(0x115)],'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}['_validateTTL'](_0x141b4c){const _0x2d40b4=a0_0x3a03fd,_0xc8f215={'fTZhW':function(_0x1704b1,_0x373906){return _0x1704b1==_0x373906;},'BYVdx':function(_0x28b06b,_0x1a9fd5){return _0x28b06b>_0x1a9fd5;}};if(_0xc8f215[_0x2d40b4(0x1c6)](_0x141b4c,null))return undefined;if(!Number[_0x2d40b4(0xae)](_0x141b4c)||_0x141b4c<0x1||_0xc8f215['BYVdx'](_0x141b4c,MAX_TTL))throw new IdGeneratorError(_0x2d40b4(0x10e),'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+'\x20seconds\x20(got:\x20'+_0x141b4c+')');return _0x141b4c;}['_validateMaxRetry'](_0x539bca){const _0x1e48cd=a0_0x3a03fd,_0x27876f={'JrGGV':function(_0x5734c4,_0x47d3bd){return _0x5734c4==_0x47d3bd;},'oUqBk':function(_0x255dd3,_0x13400a){return _0x255dd3<_0x13400a;}};if(_0x27876f[_0x1e48cd(0x105)](_0x539bca,null))return this['defaultMaxRetry'];if(!Number[_0x1e48cd(0xae)](_0x539bca)||_0x27876f['oUqBk'](_0x539bca,0x1)||_0x539bca>MAX_RETRY_LIMIT)throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY',_0x1e48cd(0xeb)+MAX_RETRY_LIMIT+_0x1e48cd(0xc4)+_0x539bca+')');return _0x539bca;}[a0_0x3a03fd(0x130)](_0x219d7b){const _0x19fd7c=a0_0x3a03fd,_0x2f2943={'XbLBv':_0x19fd7c(0x13b),'mFhgu':'IDGEN_INVALID_RESOURCE'};if(_0x219d7b==null)return undefined;if(typeof _0x219d7b!==_0x2f2943[_0x19fd7c(0xce)]||_0x219d7b[_0x19fd7c(0x12b)]===0x0||_0x219d7b[_0x19fd7c(0x12b)]>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x2f2943['mFhgu'],_0x19fd7c(0x1cd)+MAX_IDEMPOTENCY_KEY_LENGTH+_0x19fd7c(0xe1));return _0x219d7b;}[a0_0x3a03fd(0x1c2)](_0x506fc0){const _0x8e02a4=a0_0x3a03fd,_0x1aabf7={'WpjKV':function(_0x78db03,_0x1466b6){return _0x78db03<_0x1466b6;},'pqMnL':function(_0x40076c,_0x5b9faf){return _0x40076c>_0x5b9faf;}};if(_0x506fc0==null)return this[_0x8e02a4(0x13e)];if(!Number[_0x8e02a4(0xae)](_0x506fc0)||_0x1aabf7['WpjKV'](_0x506fc0,MIN_RESERVE_TTL)||_0x1aabf7[_0x8e02a4(0x104)](_0x506fc0,this['reserveMaxTTL']))throw new IdGeneratorError(_0x8e02a4(0x19a),'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x8e02a4(0x123)+_0x506fc0+')');return _0x506fc0;}[a0_0x3a03fd(0x18a)](_0x361e88){const _0x47e3c8=a0_0x3a03fd,_0x1ca74f={'RqWKm':function(_0x3fcbda,_0x27b033){return _0x3fcbda!==_0x27b033;},'WhlYz':'IDGEN_INVALID_TOKEN'};if(_0x1ca74f['RqWKm'](typeof _0x361e88,_0x47e3c8(0x13b))||!RESERVATION_TOKEN_REGEX['test'](_0x361e88))throw new IdGeneratorError(_0x1ca74f[_0x47e3c8(0x145)],_0x47e3c8(0xd6)+JSON['stringify'](_0x361e88)+')');return _0x361e88;}[a0_0x3a03fd(0xb1)](_0x31cc9d){const _0x17990d=a0_0x3a03fd,_0x37b916={'caKTA':function(_0x170b82,_0x33d6b8){return _0x170b82(_0x33d6b8);}};return _0x37b916['caKTA'](String,_0x31cc9d)[_0x17990d(0xb5)](0x2,'0');}['_buildFormatKey'](_0x423a0f,_0x4a5b54,_0x2dde66=new Date()){const _0x17cc22=a0_0x3a03fd,_0x463861={'LiPzm':function(_0x5630fe,_0x58f732){return _0x5630fe+_0x58f732;},'TRbCH':_0x17cc22(0x1a0),'XHMZd':'yyyymmdd'},_0x1476bd=_0x2dde66['getFullYear'](),_0x434581=this[_0x17cc22(0xb1)](_0x463861['LiPzm'](_0x2dde66['getMonth'](),0x1)),_0x2de365=this['_pad2'](_0x2dde66['getDate']()),_0x362eaa=_0x4a5b54||'_';let _0x1987f4,_0x480aff='';switch(_0x423a0f){case _0x463861[_0x17cc22(0xc7)]:_0x1987f4=_0x362eaa+_0x17cc22(0x160);break;case'yyyy':_0x480aff=''+_0x1476bd,_0x1987f4=_0x362eaa+'_yyyy_'+_0x480aff;break;case _0x17cc22(0x1c8):_0x480aff=''+_0x1476bd+_0x434581,_0x1987f4=_0x362eaa+'_yyyymm_'+_0x480aff;break;case _0x463861['XHMZd']:_0x480aff=''+_0x1476bd+_0x434581+_0x2de365,_0x1987f4=_0x362eaa+'_yyyymmdd_'+_0x480aff;break;default:throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x17cc22(0x197)+_0x423a0f);}return{'formatKey':_0x1987f4,'datePrefix':_0x480aff};}['_buildSeqKey'](_0x4e2bae,_0xc72c0e){const _0x3701d6=a0_0x3a03fd;return this[_0x3701d6(0x14b)]+'seq:'+_0x4e2bae+':'+_0xc72c0e;}[a0_0x3a03fd(0x108)](_0x53230e,_0x186443){const _0x7bf89d=a0_0x3a03fd;return this['keyPrefix']+_0x7bf89d(0xbc)+_0x53230e+':'+_0x186443;}[a0_0x3a03fd(0xfc)](_0x516afa,_0x41aeb5){return this['keyPrefix']+'meta:'+_0x516afa+':'+_0x41aeb5;}['_buildIssuedKey'](_0x359cbe){return this['keyPrefix']+'issued:'+_0x359cbe;}[a0_0x3a03fd(0x194)](_0x41c5ec,_0x8f9c0a){const _0x45b71c=a0_0x3a03fd;return this[_0x45b71c(0x14b)]+_0x45b71c(0x137)+_0x41c5ec+':'+_0x8f9c0a;}['_buildReservationKey'](_0x5c0fce){const _0x6550eb=a0_0x3a03fd;return this[_0x6550eb(0x14b)]+_0x6550eb(0x173)+_0x5c0fce;}['_buildReservationIndexKey'](_0x556dd8,_0x35a421){const _0xfb25d7=a0_0x3a03fd;return this[_0xfb25d7(0x14b)]+'rsv_idx:'+_0x556dd8+':'+_0x35a421;}['_buildReservationKeyPrefix'](){const _0x4f52f8=a0_0x3a03fd;return this[_0x4f52f8(0x14b)]+'rsv:';}['_buildIdemKey'](_0x2cf61d,_0x7471b7,_0x1979a3,_0x3ef14d){const _0x30d1c2=a0_0x3a03fd;if(_0x1979a3)return idempotencyManager[_0x30d1c2(0xaa)](_0x30d1c2(0x139),_0x2cf61d,_0x7471b7+':'+_0x1979a3+':'+_0x3ef14d);return idempotencyManager['buildDeterministicKey'](_0x30d1c2(0x139),_0x2cf61d,_0x7471b7+':'+_0x3ef14d);}['_getCounterTTL'](_0x33adf3){const _0x1b1257=a0_0x3a03fd;return this[_0x1b1257(0x143)][_0x33adf3]||0x0;}[a0_0x3a03fd(0xd1)]({format:_0x185fed,prefix:_0x332aba,datePrefix:_0x16eff1,separator:_0x5e7a12,numDigits:_0xec88c4,counterInt:_0x286f3a}){const _0x461546=a0_0x3a03fd,_0x64db42={'GUeAF':_0x461546(0xac),'moYIC':function(_0x1cb20e,_0x42511a){return _0x1cb20e===_0x42511a;},'BsBTb':_0x461546(0x1a0)},_0x1c76d3=Math['pow'](0xa,_0xec88c4)-0x1;if(_0x286f3a>_0x1c76d3)throw new IdGeneratorError(_0x64db42[_0x461546(0x151)],_0x461546(0x10c)+_0x286f3a+_0x461546(0x176)+_0xec88c4+'-digit\x20capacity\x20('+_0x1c76d3+_0x461546(0xf9),{'counterInt':_0x286f3a,'numDigits':_0xec88c4,'max':_0x1c76d3});const _0x5804a9=String(_0x286f3a)['padStart'](_0xec88c4,'0');if(_0x64db42[_0x461546(0x184)](_0x185fed,_0x64db42[_0x461546(0xf8)]))return _0x332aba?''+_0x332aba+_0x5e7a12+_0x5804a9:_0x5804a9;return _0x332aba?''+_0x332aba+_0x5e7a12+_0x16eff1+_0x5e7a12+_0x5804a9:''+_0x16eff1+_0x5e7a12+_0x5804a9;}[a0_0x3a03fd(0x186)]({format:_0x39dbb9,prefix:_0x33647f,separator:_0x2ebdaa,numDigits:_0x114d2a,number:_0x1e3043}){const _0x193a5f=a0_0x3a03fd,_0x28de10={'iaDiX':'string','kTotV':function(_0x5b8e97,_0x20a446){return _0x5b8e97===_0x20a446;},'VyWZg':function(_0x5807c,_0x4c5dd2){return _0x5807c!==_0x4c5dd2;},'NkfAg':function(_0x5abdbb,_0x458106){return _0x5abdbb!==_0x458106;},'gCPDN':function(_0x56d49e,_0x4625b3){return _0x56d49e===_0x4625b3;},'TnRJI':'yyyy','tbWjz':'yyyymm','rWOrP':function(_0x86a38c,_0x47ee78,_0x44ccf9){return _0x86a38c(_0x47ee78,_0x44ccf9);},'SMgQY':function(_0xed0e90,_0x2d53aa){return _0xed0e90||_0x2d53aa;},'ukArn':function(_0x534291,_0x206f13){return _0x534291===_0x206f13;},'hWRaE':_0x193a5f(0x1a0)};if(typeof _0x1e3043!==_0x28de10[_0x193a5f(0x1b2)]||_0x1e3043[_0x193a5f(0x12b)]===0x0)throw new IdGeneratorError(_0x193a5f(0xb9),'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x53f750=_0x2ebdaa||'',_0x34cf21=_0x53f750===''?[_0x1e3043]:_0x1e3043['split'](_0x53f750);let _0x5f1e5c='',_0x2bcf18;if(_0x28de10['kTotV'](_0x39dbb9,'text')){if(_0x33647f){if(_0x34cf21['length']!==0x2||_0x28de10['VyWZg'](_0x34cf21[0x0],_0x33647f))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0x53f750+_0x193a5f(0xcb)+_0x1e3043+')');_0x2bcf18=_0x34cf21[0x1];}else{if(_0x28de10['VyWZg'](_0x34cf21[_0x193a5f(0x12b)],0x1))throw new IdGeneratorError(_0x193a5f(0xb9),'Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x1e3043+')');_0x2bcf18=_0x34cf21[0x0];}}else{const _0x198e96=_0x33647f?0x3:0x2;if(_0x28de10[_0x193a5f(0x154)](_0x34cf21[_0x193a5f(0x12b)],_0x198e96))throw new IdGeneratorError(_0x193a5f(0xb9),'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x1e3043+_0x193a5f(0x1ae)+_0x198e96+_0x193a5f(0xaf));let _0x33fd1f=0x0;if(_0x33647f){if(_0x34cf21[_0x33fd1f]!==_0x33647f)throw new IdGeneratorError(_0x193a5f(0xb9),'Number\x20prefix\x20mismatch:\x20expected\x20'+_0x33647f+_0x193a5f(0x1ac)+_0x34cf21[_0x33fd1f]);_0x33fd1f++;}_0x5f1e5c=_0x34cf21[_0x33fd1f++];const _0x344d92=_0x28de10[_0x193a5f(0xb0)](_0x39dbb9,_0x28de10['TnRJI'])?/^\d{4}$/:_0x28de10['kTotV'](_0x39dbb9,_0x28de10[_0x193a5f(0x14e)])?/^\d{6}$/:/^\d{8}$/;if(!_0x344d92['test'](_0x5f1e5c))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x39dbb9+':\x20'+_0x5f1e5c);_0x2bcf18=_0x34cf21[_0x33fd1f];}if(!new RegExp(_0x193a5f(0x13a)+_0x114d2a+'}$')[_0x193a5f(0x156)](_0x2bcf18))throw new IdGeneratorError(_0x193a5f(0xb9),_0x193a5f(0x1cc)+_0x114d2a+'\x20digits\x20(got:\x20'+_0x2bcf18+')');const _0x31202e=_0x28de10[_0x193a5f(0xe0)](parseInt,_0x2bcf18,0xa),_0x3e15a9=_0x28de10[_0x193a5f(0x1c4)](_0x33647f,'_');let _0x506c36;return _0x28de10[_0x193a5f(0x11d)](_0x39dbb9,_0x28de10['hWRaE'])?_0x506c36=_0x3e15a9+_0x193a5f(0x160):_0x506c36=_0x3e15a9+'_'+_0x39dbb9+'_'+_0x5f1e5c,{'formatKey':_0x506c36,'counterInt':_0x31202e,'datePrefix':_0x5f1e5c};}[a0_0x3a03fd(0x1d4)](_0x3f3b21){let _0x192283='';for(const _0x239e4f of _0x3f3b21){const _0x40cdef=PLACEHOLDER_MAP[_0x239e4f];if(_0x40cdef){const _0x190870=crypto['randomInt'](0x0,_0x40cdef['length']);_0x192283+=_0x40cdef[_0x190870];}else _0x192283+=_0x239e4f;}return _0x192283;}async['_retrieveIdemCache'](_0x2ef721){const _0xdfb147=a0_0x3a03fd,_0x1b2cfa={'XGStD':'idgen_idem_hit','sfxmC':_0xdfb147(0x11a)};if(!_0x2ef721)return null;try{const _0x24e088=redisClient[_0xdfb147(0x1d3)](),_0x5e74a9=await _0x24e088[_0xdfb147(0x163)](_0x2ef721);if(_0x5e74a9)return logger[_0xdfb147(0x1a7)]({'event':_0x1b2cfa[_0xdfb147(0x14c)],'key':_0x2ef721},'Idempotency\x20cache\x20HIT'),JSON[_0xdfb147(0x183)](_0x5e74a9);return null;}catch(_0x5284d0){return logger[_0xdfb147(0x167)]({'event':_0x1b2cfa[_0xdfb147(0x1b6)],'error':_0x5284d0['message']},_0xdfb147(0x116)),null;}}async['_storeIdemCache'](_0x599e6f,_0x5b6919){const _0x1ca9fe=a0_0x3a03fd,_0x152724={'DTfsv':_0x1ca9fe(0x161),'vkmla':'Idempotency\x20store\x20error'};if(!_0x599e6f)return;try{const _0x2309cc=redisClient['getClient']();await _0x2309cc[_0x1ca9fe(0x142)](_0x599e6f,this[_0x1ca9fe(0x187)],JSON[_0x1ca9fe(0x16b)](_0x5b6919));}catch(_0xf77765){logger['warn']({'event':_0x152724[_0x1ca9fe(0xfd)],'error':_0xf77765[_0x1ca9fe(0x1b3)]},_0x152724[_0x1ca9fe(0x17d)]);}}async[a0_0x3a03fd(0x17c)](_0x5a7036,_0x777d22){const _0x176c7c=a0_0x3a03fd,_0x3b3b85={'IizJd':function(_0x5959dd,_0x42e390){return _0x5959dd===_0x42e390;},'PDnMN':'idgen_idem_storenx_error','GFoUT':_0x176c7c(0x118)};if(!_0x5a7036)return{'stored':!![],'winnerResult':null};try{const _0x5af6e3=redisClient['getClient'](),_0x679057=JSON['stringify'](_0x777d22),_0x3b6bbf=await _0x5af6e3[_0x176c7c(0xa9)](_0x5a7036,_0x679057,'EX',this['idemTTL'],'NX');if(_0x3b3b85['IizJd'](_0x3b6bbf,'OK'))return{'stored':!![],'winnerResult':null};const _0x3c822c=await _0x5af6e3['get'](_0x5a7036);if(_0x3c822c)return{'stored':![],'winnerResult':JSON[_0x176c7c(0x183)](_0x3c822c)};return logger['warn']({'event':'idgen_idem_nx_race_lost_but_empty','key':_0x5a7036},'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result'),{'stored':!![],'winnerResult':null};}catch(_0xba5e48){return logger['warn']({'event':_0x3b3b85['PDnMN'],'error':_0xba5e48[_0x176c7c(0x1b3)]},_0x3b3b85['GFoUT']),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x10f8b3,_0x299c07,_0x2d0583){const _0x293949=a0_0x3a03fd,_0x5e1b5c={'NojIm':_0x293949(0x103),'hJXWp':_0x293949(0x1a2)};try{const _0x57c475=redisClient[_0x293949(0x1d3)]();if(_0x2d0583){const _0x39748d=this[_0x293949(0x194)](_0x10f8b3,_0x299c07);await _0x57c475[_0x293949(0x125)](_0x39748d);}else{const _0x324529=this[_0x293949(0x1b9)](_0x10f8b3);await _0x57c475[_0x293949(0x17a)](_0x324529,_0x299c07);}}catch(_0x45bc02){logger[_0x293949(0x167)]({'event':_0x5e1b5c[_0x293949(0xda)],'error':_0x45bc02[_0x293949(0x1b3)]},_0x5e1b5c['hJXWp']);}}async[a0_0x3a03fd(0x1d0)](_0x57eb5d,_0x42aff1,_0xd8c960,_0x48d7a2=0x0){const _0x4852cb=a0_0x3a03fd,_0x5d5225={'BSuMU':function(_0x3ac6c1,_0x4976ec){return _0x3ac6c1(_0x4976ec);}};try{const _0x5ba9af=redisClient['getClient'](),_0x53ebcc=this[_0x4852cb(0xfc)](_0x57eb5d,_0x42aff1),_0x502cef=[];for(const [_0x10f11f,_0x545bad]of Object[_0x4852cb(0xd0)](_0xd8c960)){_0x502cef[_0x4852cb(0xe4)](_0x10f11f,_0x5d5225['BSuMU'](String,_0x545bad));}if(_0x502cef['length']>0x0){await _0x5ba9af[_0x4852cb(0xf3)](_0x53ebcc,..._0x502cef);if(_0x48d7a2>0x0)await _0x5ba9af[_0x4852cb(0x100)](_0x53ebcc,_0x48d7a2);}}catch(_0x4d077c){logger[_0x4852cb(0x167)]({'event':'idgen_meta_update_error','error':_0x4d077c['message']},_0x4852cb(0x1be));}}async['number'](_0x548c0c){const _0x3daab6=a0_0x3a03fd,_0x25a9c4={'YXhUw':'IDGEN_DISABLED','UqbrS':function(_0x170178,_0x49d4b5){return _0x170178(_0x49d4b5);},'RKkLr':function(_0x1e10d8,_0x3aa581){return _0x1e10d8===_0x3aa581;},'errMz':_0x3daab6(0xf4),'okVxv':_0x3daab6(0xd9)};if(!this[_0x3daab6(0x11b)])throw new IdGeneratorError(_0x25a9c4['YXhUw'],_0x3daab6(0x111));const _0x3ffb06=this[_0x3daab6(0x1cf)](_0x548c0c),_0x483b00=this['_validateIdempotencyKey'](_0x548c0c['idempotencyKey']),{resource:_0x2aa63b,format:_0x53a1b3,prefix:_0x52addb,separator:_0x2d0266,numDigits:_0x4051b0,reuseDelete:_0x1d2f5c}=_0x3ffb06,{formatKey:_0x4e0daf,datePrefix:_0xb3f1f1}=this['_buildFormatKey'](_0x53a1b3,_0x52addb),_0x25ff54=this['_buildSeqKey'](_0x2aa63b,_0x4e0daf),_0x2dde99=this[_0x3daab6(0x108)](_0x2aa63b,_0x4e0daf),_0x54a166=this['_getCounterTTL'](_0x53a1b3);let _0x25dad8=null;if(_0x483b00){_0x25dad8=this['_buildIdemKey']('number',_0x2aa63b,_0x4e0daf,_0x483b00);const _0x250492=await this[_0x3daab6(0xe3)](_0x25dad8);if(_0x250492)return _0x250492;}const _0x3f7d4c=redisClient['getClient'](),_0x20aedb=await _0x3f7d4c[_0x3daab6(0xf7)](LUA_GENERATE_NUMBER,0x2,_0x25ff54,_0x2dde99,_0x1d2f5c?'1':'0',_0x25a9c4['UqbrS'](String,_0x54a166)),_0x30bbe6=_0x20aedb[0x0],_0x31e4bf=_0x25a9c4['RKkLr'](_0x20aedb[0x1],0x1),_0x384866=this[_0x3daab6(0xd1)]({'format':_0x53a1b3,'prefix':_0x52addb,'datePrefix':_0xb3f1f1,'separator':_0x2d0266,'numDigits':_0x4051b0,'counterInt':_0x30bbe6}),_0x56d378={'value':_0x384866,'counter':_0x30bbe6,'resource':_0x2aa63b,'formatKey':_0x4e0daf,'isReused':_0x31e4bf,'generatedAt':new Date()[_0x3daab6(0x1d1)]()},_0x1be264=await this[_0x3daab6(0x17c)](_0x25dad8,_0x56d378);if(!_0x1be264['stored']){try{await _0x3f7d4c['eval'](LUA_RELEASE_NUMBER,0x1,_0x2dde99,_0x25a9c4['UqbrS'](String,_0x30bbe6),_0x25a9c4[_0x3daab6(0xf2)](String,_0x54a166));}catch(_0x28b6eb){logger[_0x3daab6(0x167)]({'event':_0x25a9c4[_0x3daab6(0xcc)],'error':_0x28b6eb[_0x3daab6(0x1b3)],'resource':_0x2aa63b,'formatKey':_0x4e0daf,'counterInt':_0x30bbe6},_0x3daab6(0x19f));}return logger[_0x3daab6(0x1a7)]({'event':_0x25a9c4['okVxv'],'resource':_0x2aa63b,'formatKey':_0x4e0daf,'counter':_0x30bbe6},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1be264[_0x3daab6(0xcd)];}return this[_0x3daab6(0x1d0)](_0x2aa63b,_0x4e0daf,{'lastValue':_0x384866,'lastCounter':_0x30bbe6,'lastIsReused':_0x31e4bf,'lastGeneratedAt':_0x56d378['generatedAt']},_0x54a166),logger['info']({'event':'idgen_number_generated','resource':_0x2aa63b,'formatKey':_0x4e0daf,'counter':_0x30bbe6,'isReused':_0x31e4bf},'ID\x20Generator\x20number:\x20'+_0x384866),_0x56d378;}async['releaseNumber'](_0x264ffe){const _0x3ff329=a0_0x3a03fd,_0x507a5c={'TEYeg':'IDGEN_DISABLED','xmXvh':_0x3ff329(0x117),'PPkXa':function(_0x3a4b3a,_0x4624d0){return _0x3a4b3a!==_0x4624d0;},'clpsM':_0x3ff329(0x13b),'fVhNi':function(_0x255abf,_0x45d280){return _0x255abf===_0x45d280;},'GJjXW':_0x3ff329(0xb9),'Wgppn':_0x3ff329(0x1cb),'PbzUL':_0x3ff329(0xff),'wqYTW':function(_0x49263f,_0x2c84b9){return _0x49263f(_0x2c84b9);}};if(!this[_0x3ff329(0x11b)])throw new IdGeneratorError(_0x507a5c[_0x3ff329(0x138)],_0x507a5c['xmXvh']);let _0x116953,_0x1ab402,_0x389466,_0x5d637f;const _0x2cc92f=this['_validateIdempotencyKey'](_0x264ffe[_0x3ff329(0x119)]);if(_0x507a5c['PPkXa'](_0x264ffe[_0x3ff329(0xbb)],undefined)&&_0x264ffe['counterInt']!==null){this[_0x3ff329(0x18b)](_0x264ffe['resource']),_0x116953=_0x264ffe['resource'];if(typeof _0x264ffe['formatKey']!==_0x507a5c[_0x3ff329(0x196)]||_0x507a5c[_0x3ff329(0x185)](_0x264ffe['formatKey'][_0x3ff329(0x12b)],0x0))throw new IdGeneratorError(_0x507a5c['GJjXW'],_0x507a5c['Wgppn']);_0x1ab402=_0x264ffe['formatKey'];if(!Number[_0x3ff329(0xae)](_0x264ffe[_0x3ff329(0xbb)])||_0x264ffe[_0x3ff329(0xbb)]<0x1)throw new IdGeneratorError(_0x3ff329(0xb9),_0x3ff329(0x1a3)+_0x264ffe[_0x3ff329(0xbb)]+')');_0x389466=_0x264ffe['counterInt'];const _0x161865=_0x1ab402['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x5d637f=_0x161865?_0x161865[0x1]:_0x3ff329(0x1a0);}else{const _0xea5f3e=this['_validateNumberParams'](_0x264ffe),_0x488952=this[_0x3ff329(0x186)]({'format':_0xea5f3e[_0x3ff329(0x15a)],'prefix':_0xea5f3e['prefix'],'separator':_0xea5f3e[_0x3ff329(0xb8)],'numDigits':_0xea5f3e[_0x3ff329(0x109)],'number':_0x264ffe[_0x3ff329(0xec)]});_0x116953=_0xea5f3e['resource'],_0x1ab402=_0x488952['formatKey'],_0x389466=_0x488952[_0x3ff329(0xbb)],_0x5d637f=_0xea5f3e[_0x3ff329(0x15a)];}const _0x1cf710=this[_0x3ff329(0x108)](_0x116953,_0x1ab402),_0x4dac34=this['_getCounterTTL'](_0x5d637f);let _0x341c18=null;if(_0x2cc92f){_0x341c18=this[_0x3ff329(0x1bd)](_0x507a5c[_0x3ff329(0x110)],_0x116953,_0x1ab402,_0x2cc92f);const _0x4a7227=await this['_retrieveIdemCache'](_0x341c18);if(_0x4a7227)return _0x4a7227;}const _0x371453=redisClient['getClient']();await _0x371453[_0x3ff329(0xf7)](LUA_RELEASE_NUMBER,0x1,_0x1cf710,_0x507a5c[_0x3ff329(0x1ce)](String,_0x389466),_0x507a5c[_0x3ff329(0x1ce)](String,_0x4dac34));const _0x15e357={'released':!![],'resource':_0x116953,'formatKey':_0x1ab402,'counter':_0x389466,'releasedAt':new Date()['toISOString']()};return await this[_0x3ff329(0xab)](_0x341c18,_0x15e357),this[_0x3ff329(0x1d0)](_0x116953,_0x1ab402,{'lastReleasedCounter':_0x389466,'lastReleasedAt':_0x15e357['releasedAt']},_0x4dac34),logger[_0x3ff329(0x1a7)]({'event':_0x3ff329(0x11f),'resource':_0x116953,'formatKey':_0x1ab402,'counter':_0x389466},'ID\x20Generator\x20number\x20released:\x20'+_0x389466),_0x15e357;}async['reserveNumber'](_0x46fefe){const _0xe2faa3=a0_0x3a03fd,_0x318403={'mcYro':_0xe2faa3(0x111),'LjtzA':_0xe2faa3(0x152),'NASnt':_0xe2faa3(0x109),'yGORV':function(_0x195074,_0x380567){return _0x195074(_0x380567);},'hfpsY':_0xe2faa3(0xd7),'JupHJ':'idemKey','SIahD':function(_0x102293,_0x35628b){return _0x102293(_0x35628b);},'PKrVp':function(_0x453b93,_0x491147){return _0x453b93===_0x491147;},'dwEUn':'idgen_reserve_overflow_compensation_error','sLhFI':'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow','KCkcW':'value','UTYzQ':_0xe2faa3(0x18e),'xORsn':_0xe2faa3(0x150)};if(!this[_0xe2faa3(0x11b)])throw new IdGeneratorError('IDGEN_DISABLED',_0x318403[_0xe2faa3(0xb4)]);const _0x3583f0=this['_validateNumberParams'](_0x46fefe),_0x3d8017=this[_0xe2faa3(0x1c2)](_0x46fefe[_0xe2faa3(0x1bc)]),_0x8073f4=this[_0xe2faa3(0x130)](_0x46fefe['idempotencyKey']),{resource:_0x3e1046,format:_0x24cd53,prefix:_0x3938a4,separator:_0x1ce518,numDigits:_0x1cffc6,reuseDelete:_0x5f1d03}=_0x3583f0,{formatKey:_0x47d341,datePrefix:_0x14b72}=this['_buildFormatKey'](_0x24cd53,_0x3938a4),_0x40c983=this[_0xe2faa3(0x1a6)](_0x3e1046,_0x47d341),_0xa8b0a9=this[_0xe2faa3(0x108)](_0x3e1046,_0x47d341),_0x54207c=this['_buildReservationIndexKey'](_0x3e1046,_0x47d341),_0x38f67f=this['_getCounterTTL'](_0x24cd53);let _0x4536a5=null;if(_0x8073f4){_0x4536a5=this['_buildIdemKey'](_0xe2faa3(0x1b8),_0x3e1046,_0x47d341,_0x8073f4);const _0xc18dfb=await this['_retrieveIdemCache'](_0x4536a5);if(_0xc18dfb)return _0xc18dfb;}const _0x11fd07=crypto[_0xe2faa3(0xe5)](),_0x5622b8=this[_0xe2faa3(0x174)](_0x11fd07),_0xdd0942=this[_0xe2faa3(0x127)](),_0x50439e=Date[_0xe2faa3(0x126)](),_0x385da0=_0x50439e+_0x3d8017*0x3e8,_0x561011=_0x3d8017*0x3e8,_0x517e87=new Date(_0x50439e)['toISOString'](),_0x403cc9=new Date(_0x385da0)[_0xe2faa3(0x1d1)](),_0x51736b=[_0xe2faa3(0x131),_0x3e1046,_0xe2faa3(0x13c),_0x47d341,'format',_0x24cd53,_0x318403['LjtzA'],_0x3938a4,'separator',_0x1ce518,_0x318403['NASnt'],_0x318403['yGORV'](String,_0x1cffc6),_0xe2faa3(0x102),_0x14b72||'',_0x318403[_0xe2faa3(0xdc)],_0x517e87,_0xe2faa3(0x18c),_0x403cc9,'ttlMs',_0x318403[_0xe2faa3(0x1af)](String,_0x561011)];_0x8073f4&&_0x51736b['push'](_0x318403['JupHJ'],_0x8073f4);const _0x14df1e=redisClient['getClient'](),_0x335dec=await _0x14df1e[_0xe2faa3(0xf7)](LUA_RESERVE_NUMBER,0x3,_0x40c983,_0xa8b0a9,_0x54207c,_0x5f1d03?'1':'0',_0x318403[_0xe2faa3(0x1af)](String,_0x38f67f),_0x11fd07,_0x5622b8,_0x318403['yGORV'](String,_0x561011),_0x318403['SIahD'](String,_0x385da0),_0x318403[_0xe2faa3(0x1af)](String,_0x50439e),_0xdd0942,..._0x51736b),_0x4f4856=_0x335dec[0x0],_0x133f63=_0x318403['PKrVp'](_0x335dec[0x1],0x1),_0x1aa3b2=_0x335dec[0x2]||0x0;let _0x23369e;try{_0x23369e=this['_formatNumber']({'format':_0x24cd53,'prefix':_0x3938a4,'datePrefix':_0x14b72,'separator':_0x1ce518,'numDigits':_0x1cffc6,'counterInt':_0x4f4856});}catch(_0x2f833e){try{await _0x14df1e['eval'](LUA_CANCEL_RESERVATION,0x3,_0x5622b8,_0x54207c,_0xa8b0a9,_0x11fd07,String(_0x38f67f));}catch(_0xfd1e3){logger['warn']({'event':_0x318403[_0xe2faa3(0xcf)],'error':_0xfd1e3['message'],'resource':_0x3e1046,'formatKey':_0x47d341,'counterInt':_0x4f4856,'token':_0x11fd07},_0x318403[_0xe2faa3(0x1a4)]);}throw _0x2f833e;}try{await _0x14df1e['hset'](_0x5622b8,_0x318403['KCkcW'],_0x23369e);}catch(_0x2a075d){logger['warn']({'event':'idgen_reserve_value_persist_error','error':_0x2a075d[_0xe2faa3(0x1b3)],'resource':_0x3e1046,'formatKey':_0x47d341,'counterInt':_0x4f4856,'token':_0x11fd07},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x56ade4={'token':_0x11fd07,'value':_0x23369e,'counter':_0x4f4856,'resource':_0x3e1046,'formatKey':_0x47d341,'isReused':_0x133f63,'createdAt':_0x517e87,'expiresAt':_0x403cc9,'reapedCount':_0x1aa3b2},_0x3dd19c=await this[_0xe2faa3(0x17c)](_0x4536a5,_0x56ade4);if(!_0x3dd19c['stored']){try{await _0x14df1e[_0xe2faa3(0xf7)](LUA_CANCEL_RESERVATION,0x3,_0x5622b8,_0x54207c,_0xa8b0a9,_0x11fd07,String(_0x38f67f));}catch(_0x5c20bb){logger[_0xe2faa3(0x167)]({'event':_0x318403['UTYzQ'],'error':_0x5c20bb[_0xe2faa3(0x1b3)],'resource':_0x3e1046,'formatKey':_0x47d341,'counterInt':_0x4f4856,'token':_0x11fd07},_0xe2faa3(0x101));}return logger['info']({'event':_0x318403[_0xe2faa3(0x107)],'resource':_0x3e1046,'formatKey':_0x47d341,'counter':_0x4f4856,'token':_0x11fd07},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x3dd19c[_0xe2faa3(0xcd)];}return this['_updateMeta'](_0x3e1046,_0x47d341,{'lastReservedCounter':_0x4f4856,'lastReservedAt':_0x517e87,'lastReapedCount':_0x1aa3b2},_0x38f67f),logger['info']({'event':_0xe2faa3(0x133),'resource':_0x3e1046,'formatKey':_0x47d341,'counter':_0x4f4856,'isReused':_0x133f63,'token':_0x11fd07,'ttl':_0x3d8017,'reapedCount':_0x1aa3b2},'ID\x20Generator\x20number\x20reserved:\x20'+_0x23369e+_0xe2faa3(0x10f)+_0x11fd07+')'),_0x56ade4;}async['confirmReservation'](_0x4ed7d5){const _0x1ef5c4=a0_0x3a03fd,_0x5b6514={'cKlLz':_0x1ef5c4(0x117),'HUCCP':function(_0x3f8b41,_0x242cf4){return _0x3f8b41!==_0x242cf4;},'qFZox':function(_0x513408,_0x292368,_0x54f8b3){return _0x513408(_0x292368,_0x54f8b3);}};if(!this[_0x1ef5c4(0x11b)])throw new IdGeneratorError(_0x1ef5c4(0x12f),_0x5b6514['cKlLz']);const _0x4eb5e5=this[_0x1ef5c4(0x18a)](_0x4ed7d5&&_0x4ed7d5['token']),_0x3afe94=this[_0x1ef5c4(0x130)](_0x4ed7d5&&_0x4ed7d5[_0x1ef5c4(0x119)]);let _0xb95ce2=null;if(_0x3afe94){_0xb95ce2=idempotencyManager[_0x1ef5c4(0xaa)](_0x1ef5c4(0x139),'reserve_confirm',_0x4eb5e5+':'+_0x3afe94);const _0x5cd920=await this['_retrieveIdemCache'](_0xb95ce2);if(_0x5cd920)return _0x5cd920;}const _0x140923=await this[_0x1ef5c4(0xe2)](_0x4eb5e5),_0x3a77ed=redisClient['getClient'](),_0x201b6f=await _0x3a77ed['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x140923['rsvKey'],_0x140923[_0x1ef5c4(0x11e)],_0x4eb5e5);if(!_0x201b6f||_0x5b6514[_0x1ef5c4(0x193)](_0x201b6f[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x4eb5e5,{'token':_0x4eb5e5});const _0x23ffee=_0x5b6514['qFZox'](parseInt,_0x201b6f[0x1],0xa),_0x3c0e93=_0x201b6f[0x2],_0x55d27e=_0x201b6f[0x3],_0x108722=new Date()[_0x1ef5c4(0x1d1)](),_0x43f42d={'confirmed':!![],'token':_0x4eb5e5,'value':_0x3c0e93,'counter':_0x23ffee,'resource':_0x140923['resource'],'formatKey':_0x55d27e,'confirmedAt':_0x108722};await this[_0x1ef5c4(0xab)](_0xb95ce2,_0x43f42d);const _0x2491f1=_0x55d27e['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x3efdbe=_0x2491f1?_0x2491f1[0x1]:_0x1ef5c4(0x1a0),_0x12c3bb=this[_0x1ef5c4(0x190)](_0x3efdbe);return this[_0x1ef5c4(0x1d0)](_0x140923['resource'],_0x55d27e,{'lastConfirmedCounter':_0x23ffee,'lastConfirmedAt':_0x108722},_0x12c3bb),logger['info']({'event':'idgen_reservation_confirmed','resource':_0x140923['resource'],'formatKey':_0x55d27e,'counter':_0x23ffee,'token':_0x4eb5e5},_0x1ef5c4(0x153)+_0x3c0e93+'\x20(token='+_0x4eb5e5+')'),_0x43f42d;}async[a0_0x3a03fd(0x149)](_0x382b18){const _0x33fd9b=a0_0x3a03fd,_0x155507={'EurgS':_0x33fd9b(0x12f),'yMpFT':_0x33fd9b(0x117),'OSeSJ':_0x33fd9b(0x139),'IzxYq':_0x33fd9b(0x1ca),'YSZoU':'text','IhAzH':function(_0x344c33,_0x95fcd3){return _0x344c33!==_0x95fcd3;}};if(!this['enabled'])throw new IdGeneratorError(_0x155507['EurgS'],_0x155507['yMpFT']);const _0x12beca=this['_validateReservationToken'](_0x382b18&&_0x382b18['token']),_0x793fcd=this['_validateIdempotencyKey'](_0x382b18&&_0x382b18[_0x33fd9b(0x119)]);let _0x3a98d=null;if(_0x793fcd){_0x3a98d=idempotencyManager['buildDeterministicKey'](_0x155507[_0x33fd9b(0xdd)],_0x155507[_0x33fd9b(0x157)],_0x12beca+':'+_0x793fcd);const _0xe05fb8=await this[_0x33fd9b(0xe3)](_0x3a98d);if(_0xe05fb8)return _0xe05fb8;}const _0xfa6a32=await this['_getReservationContext'](_0x12beca),_0x3aea3e=this['_buildReuseKey'](_0xfa6a32['resource'],_0xfa6a32['formatKey']),_0x48475e=_0xfa6a32[_0x33fd9b(0x13c)][_0x33fd9b(0x188)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x4a06ee=_0x48475e?_0x48475e[0x1]:_0x155507[_0x33fd9b(0xc5)],_0x1f805b=this[_0x33fd9b(0x190)](_0x4a06ee),_0x23dfb4=redisClient['getClient'](),_0x4d17db=await _0x23dfb4[_0x33fd9b(0xf7)](LUA_CANCEL_RESERVATION,0x3,_0xfa6a32[_0x33fd9b(0x170)],_0xfa6a32[_0x33fd9b(0x11e)],_0x3aea3e,_0x12beca,String(_0x1f805b));if(!_0x4d17db||_0x155507['IhAzH'](_0x4d17db[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x12beca,{'token':_0x12beca});const _0x26c12e=parseInt(_0x4d17db[0x1],0xa),_0x46282d=_0x4d17db[0x2],_0x59c29f=_0x4d17db[0x3],_0x1790a1=new Date()['toISOString'](),_0x505247={'cancelled':!![],'token':_0x12beca,'value':_0x46282d,'counter':_0x26c12e,'resource':_0xfa6a32[_0x33fd9b(0x131)],'formatKey':_0x59c29f,'releasedToReuse':!![],'cancelledAt':_0x1790a1};return await this['_storeIdemCache'](_0x3a98d,_0x505247),this['_updateMeta'](_0xfa6a32['resource'],_0x59c29f,{'lastCancelledCounter':_0x26c12e,'lastCancelledAt':_0x1790a1},_0x1f805b),logger[_0x33fd9b(0x1a7)]({'event':'idgen_reservation_cancelled','resource':_0xfa6a32[_0x33fd9b(0x131)],'formatKey':_0x59c29f,'counter':_0x26c12e,'token':_0x12beca},_0x33fd9b(0x14a)+_0x46282d+_0x33fd9b(0x10f)+_0x12beca+')'),_0x505247;}async['extendReservation'](_0x34fb6f){const _0x1dcb54=a0_0x3a03fd,_0x28909c={'RRbiD':_0x1dcb54(0x12f),'nGxTt':'ID\x20Generator\x20is\x20disabled','JADkC':'reserve_extend','ucvRd':function(_0x1273d2,_0x4d2955){return _0x1273d2*_0x4d2955;},'pVvxS':function(_0x43d704,_0x394ea7){return _0x43d704(_0x394ea7);},'yXXti':function(_0x4bf871,_0xacbefa){return _0x4bf871!==_0xacbefa;},'Ufqhl':_0x1dcb54(0x178),'ftvpk':function(_0x274bdc,_0x240d0f,_0x12a435){return _0x274bdc(_0x240d0f,_0x12a435);}};if(!this[_0x1dcb54(0x11b)])throw new IdGeneratorError(_0x28909c[_0x1dcb54(0x12c)],_0x28909c[_0x1dcb54(0x13f)]);const _0x4a435f=this['_validateReservationToken'](_0x34fb6f&&_0x34fb6f[_0x1dcb54(0xd2)]),_0x13b21d=this[_0x1dcb54(0x1c2)](_0x34fb6f&&_0x34fb6f[_0x1dcb54(0x1bc)]),_0x38e37f=this['_validateIdempotencyKey'](_0x34fb6f&&_0x34fb6f[_0x1dcb54(0x119)]);let _0x49ebb2=null;if(_0x38e37f){_0x49ebb2=idempotencyManager[_0x1dcb54(0xaa)](_0x1dcb54(0x139),_0x28909c[_0x1dcb54(0xd5)],_0x4a435f+':'+_0x38e37f);const _0x4b0fc6=await this['_retrieveIdemCache'](_0x49ebb2);if(_0x4b0fc6)return _0x4b0fc6;}const _0x29f4d0=await this[_0x1dcb54(0xe2)](_0x4a435f),_0x1294bf=Date['now'](),_0x28c925=_0x1294bf+_0x13b21d*0x3e8,_0x37983b=_0x28909c[_0x1dcb54(0xf1)](_0x13b21d,0x3e8),_0x2650af=new Date(_0x28c925)['toISOString'](),_0x5499e1=redisClient[_0x1dcb54(0x1d3)](),_0x3bb25f=await _0x5499e1[_0x1dcb54(0xf7)](LUA_EXTEND_RESERVATION,0x2,_0x29f4d0[_0x1dcb54(0x170)],_0x29f4d0['rsvIdxKey'],_0x4a435f,String(_0x37983b),_0x28909c[_0x1dcb54(0xea)](String,_0x28c925),_0x2650af);if(!_0x3bb25f||_0x28909c['yXXti'](_0x3bb25f[0x0],0x1))throw new IdGeneratorError(_0x28909c[_0x1dcb54(0xef)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x4a435f,{'token':_0x4a435f});const _0x398fd9=_0x3bb25f[0x1],_0x2e4355=_0x28909c[_0x1dcb54(0x11c)](parseInt,_0x3bb25f[0x2],0xa),_0x66e00a=_0x3bb25f[0x3],_0xf0586=_0x3bb25f[0x4],_0x1e8852=new Date(_0x1294bf)['toISOString'](),_0x4856a2={'extended':!![],'token':_0x4a435f,'previousExpiresAt':_0x398fd9,'expiresAt':_0x2650af,'ttlMs':_0x37983b,'resource':_0x29f4d0['resource'],'formatKey':_0xf0586,'counter':_0x2e4355,'value':_0x66e00a,'extendedAt':_0x1e8852};await this[_0x1dcb54(0xab)](_0x49ebb2,_0x4856a2);const _0x49f23c=_0xf0586[_0x1dcb54(0x188)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2535d2=_0x49f23c?_0x49f23c[0x1]:_0x1dcb54(0x1a0),_0x901b9f=this['_getCounterTTL'](_0x2535d2);return this['_updateMeta'](_0x29f4d0[_0x1dcb54(0x131)],_0xf0586,{'lastExtendedCounter':_0x2e4355,'lastExtendedAt':_0x1e8852},_0x901b9f),logger['info']({'event':_0x1dcb54(0xd4),'resource':_0x29f4d0['resource'],'formatKey':_0xf0586,'counter':_0x2e4355,'token':_0x4a435f,'ttl':_0x13b21d},_0x1dcb54(0x144)+_0x66e00a+'\x20(token='+_0x4a435f+',\x20+'+_0x13b21d+'s)'),_0x4856a2;}async['getReservation'](_0x2472b0){const _0xc36d2e=a0_0x3a03fd,_0x292ce7={'yWuYL':_0xc36d2e(0x117),'MslGc':function(_0x14e25d,_0x3f5fc8,_0x3ad12f){return _0x14e25d(_0x3f5fc8,_0x3ad12f);},'OcbXY':function(_0x5cbc43,_0x5a55b1){return _0x5cbc43===_0x5a55b1;},'mWpKt':function(_0x5274fe,_0x1b37c7){return _0x5274fe>=_0x1b37c7;}};if(!this[_0xc36d2e(0x11b)])throw new IdGeneratorError(_0xc36d2e(0x12f),_0x292ce7['yWuYL']);const _0x20aeb0=this[_0xc36d2e(0x18a)](_0x2472b0&&_0x2472b0[_0xc36d2e(0xd2)]),_0x210430=this['_buildReservationKey'](_0x20aeb0),_0x52da35=redisClient['getClient'](),_0xc950e2=_0x52da35['pipeline']();_0xc950e2[_0xc36d2e(0x148)](_0x210430),_0xc950e2[_0xc36d2e(0xdf)](_0x210430);const _0x5aeb5d=await _0xc950e2['exec'](),_0x154d83=_0x5aeb5d&&_0x5aeb5d[0x0]&&_0x5aeb5d[0x0][0x1],_0x38655f=_0x5aeb5d&&_0x5aeb5d[0x1]&&_0x5aeb5d[0x1][0x1];if(!_0x154d83||Object[_0xc36d2e(0x132)](_0x154d83)[_0xc36d2e(0x12b)]===0x0)throw new IdGeneratorError(_0xc36d2e(0x178),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x20aeb0,{'token':_0x20aeb0});return{'token':_0x20aeb0,'resource':_0x154d83[_0xc36d2e(0x131)]||null,'formatKey':_0x154d83[_0xc36d2e(0x13c)]||null,'format':_0x154d83[_0xc36d2e(0x15a)]||null,'prefix':_0x154d83['prefix']||'','separator':_0x154d83['separator']||'','numDigits':_0x154d83['numDigits']?_0x292ce7['MslGc'](parseInt,_0x154d83[_0xc36d2e(0x109)],0xa):null,'datePrefix':_0x154d83[_0xc36d2e(0x102)]||'','counter':_0x154d83[_0xc36d2e(0xb6)]?_0x292ce7[_0xc36d2e(0x180)](parseInt,_0x154d83['counter'],0xa):null,'value':_0x154d83['value']||null,'isReused':_0x292ce7['OcbXY'](_0x154d83[_0xc36d2e(0x1d2)],'1')||_0x292ce7['OcbXY'](_0x154d83[_0xc36d2e(0x1d2)],0x1),'createdAt':_0x154d83[_0xc36d2e(0xd7)]||null,'expiresAt':_0x154d83['expiresAt']||null,'ttlRemainingMs':typeof _0x38655f===_0xc36d2e(0xec)&&_0x292ce7['mWpKt'](_0x38655f,0x0)?_0x38655f:null};}async['_getReservationContext'](_0x280b0f){const _0x515aca=a0_0x3a03fd,_0x39af58=this['_buildReservationKey'](_0x280b0f),_0x31b670=redisClient[_0x515aca(0x1d3)](),_0x4e6ff7=await _0x31b670['hmget'](_0x39af58,'resource',_0x515aca(0x13c)),_0x5d6044=_0x4e6ff7&&_0x4e6ff7[0x0],_0x13db49=_0x4e6ff7&&_0x4e6ff7[0x1];if(!_0x5d6044||!_0x13db49)throw new IdGeneratorError(_0x515aca(0x178),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x280b0f,{'token':_0x280b0f});return{'resource':_0x5d6044,'formatKey':_0x13db49,'rsvKey':_0x39af58,'rsvIdxKey':this['_buildReservationIndexKey'](_0x5d6044,_0x13db49)};}async[a0_0x3a03fd(0xfb)](_0x356a49){const _0x54d567=a0_0x3a03fd,_0x225e77={'KzVrM':'IDGEN_DISABLED','VXHKb':function(_0x5699ff,_0x5676b9){return _0x5699ff===_0x5676b9;},'nRGkC':function(_0xb50424,_0x529823){return _0xb50424===_0x529823;},'tCkNR':function(_0xd2ca1a,_0x261b43){return _0xd2ca1a&&_0x261b43;},'ZetHY':_0x54d567(0x17f),'fbuoV':_0x54d567(0x13d)};if(!this[_0x54d567(0x11b)])throw new IdGeneratorError(_0x225e77[_0x54d567(0x168)],_0x54d567(0x117));this[_0x54d567(0x18b)](_0x356a49['resource']),this['_validatePattern'](_0x356a49['pattern']);const _0x44a4b2=this[_0x54d567(0x1bf)](_0x356a49['ttl']),_0x1c7258=this[_0x54d567(0x135)](_0x356a49[_0x54d567(0xc2)]),_0x528cda=this[_0x54d567(0x130)](_0x356a49['idempotencyKey']),_0x52424e=_0x225e77['VXHKb'](_0x356a49[_0x54d567(0x17b)],!![]),{resource:_0x101bcf,pattern:_0x4bcff6}=_0x356a49;let _0x1b0fd2=null;if(_0x528cda){_0x1b0fd2=this['_buildIdemKey'](_0x54d567(0xfb),_0x101bcf,null,_0x528cda);const _0x50517e=await this['_retrieveIdemCache'](_0x1b0fd2);if(_0x50517e)return _0x50517e;}const _0x43946f=redisClient['getClient']();let _0x39c2ee=null,_0x264de0=0x0;if(!_0x52424e)_0x39c2ee=this['_generateFromPattern'](_0x4bcff6),_0x264de0=0x1;else{for(let _0x4b0076=0x0;_0x4b0076<_0x1c7258;_0x4b0076++){_0x264de0++;const _0x2f2bc0=this[_0x54d567(0x1d4)](_0x4bcff6);if(_0x44a4b2){const _0x10ac45=this[_0x54d567(0x194)](_0x101bcf,_0x2f2bc0),_0x8dfffc=await _0x43946f['set'](_0x10ac45,'1','EX',_0x44a4b2,'NX');if(_0x225e77[_0x54d567(0xb3)](_0x8dfffc,'OK')){_0x39c2ee=_0x2f2bc0;break;}}else{const _0x4fdfb=this['_buildIssuedKey'](_0x101bcf),_0x3b3a64=await _0x43946f[_0x54d567(0x147)](_0x4fdfb,_0x2f2bc0);if(_0x225e77[_0x54d567(0xb3)](_0x3b3a64,0x1)){_0x39c2ee=_0x2f2bc0;break;}}}if(_0x225e77['nRGkC'](_0x39c2ee,null))throw new IdGeneratorError(_0x54d567(0xc1),'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x1c7258+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x101bcf,'pattern':_0x4bcff6,'maxRetry':_0x1c7258});}const _0x180e9f={'value':_0x39c2ee,'resource':_0x101bcf,'pattern':_0x4bcff6,'attemptCount':_0x264de0,'generatedAt':new Date()['toISOString']()};_0x225e77[_0x54d567(0x1c3)](_0x44a4b2,_0x52424e)&&(_0x180e9f['expiresAt']=new Date(Date[_0x54d567(0x126)]()+_0x44a4b2*0x3e8)['toISOString']());const _0x40a254=await this['_storeIdemCacheNX'](_0x1b0fd2,_0x180e9f);if(!_0x40a254['stored'])return _0x52424e&&await this[_0x54d567(0xbd)](_0x101bcf,_0x39c2ee,_0x44a4b2),logger['info']({'event':_0x225e77[_0x54d567(0xee)],'resource':_0x101bcf,'pattern':_0x4bcff6,'value':_0x39c2ee},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x40a254['winnerResult'];return logger[_0x54d567(0x1a7)]({'event':_0x225e77[_0x54d567(0x10d)],'resource':_0x101bcf,'pattern':_0x4bcff6,'attemptCount':_0x264de0,'ensureUnique':_0x52424e,'ttl':_0x44a4b2||0x0},'ID\x20Generator\x20random:\x20'+_0x39c2ee),_0x180e9f;}async['pin'](_0x1baa4e){const _0x302f33=a0_0x3a03fd,_0x5ede8e={'LQKBz':function(_0x335f76,_0xa642b8){return _0x335f76==_0xa642b8;},'LmuBQ':function(_0x563dd3,_0x242ac9){return _0x563dd3<_0x242ac9;},'yPHyH':function(_0xaf043,_0xce7dd3){return _0xaf043>_0xce7dd3;},'qBCex':'IDGEN_INVALID_DIGITS','LnwdV':function(_0x526255,_0x4edbea){return _0x526255===_0x4edbea;}},_0x2be967=_0x5ede8e['LQKBz'](_0x1baa4e[_0x302f33(0xe6)],null)?this[_0x302f33(0x1bb)]:_0x1baa4e['digits'];if(!Number[_0x302f33(0xae)](_0x2be967)||_0x5ede8e['LmuBQ'](_0x2be967,MIN_PIN_DIGITS)||_0x5ede8e[_0x302f33(0xbf)](_0x2be967,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x5ede8e['qBCex'],_0x302f33(0x122)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x302f33(0xc4)+_0x2be967+')');const _0x48890d='9'['repeat'](_0x2be967);return this['random']({'resource':_0x1baa4e['resource'],'pattern':_0x48890d,'ensureUnique':_0x5ede8e[_0x302f33(0x182)](_0x1baa4e['ensureUnique'],!![]),'ttl':_0x1baa4e[_0x302f33(0x1bc)],'maxRetry':_0x1baa4e['maxRetry'],'idempotencyKey':_0x1baa4e['idempotencyKey']});}async['serial'](_0x2d6459){const _0x40558d=a0_0x3a03fd,_0x25fb4d=_0x2d6459[_0x40558d(0xd3)]||this[_0x40558d(0x1ad)];return this[_0x40558d(0xfb)]({'resource':_0x2d6459[_0x40558d(0x131)],'pattern':_0x25fb4d,'ensureUnique':_0x2d6459[_0x40558d(0x17b)]!==![],'ttl':_0x2d6459[_0x40558d(0x1bc)],'maxRetry':_0x2d6459['maxRetry'],'idempotencyKey':_0x2d6459[_0x40558d(0x119)]});}async[a0_0x3a03fd(0x1b4)](_0x3e2e4e){const _0x2dbad0=a0_0x3a03fd,_0x3be798={'wnRxJ':function(_0x1b1856,_0x5d3f09){return _0x1b1856!==_0x5d3f09;}},_0x3fc9a6=_0x3e2e4e['pattern']||this[_0x2dbad0(0x15d)];return this['random']({'resource':_0x3e2e4e[_0x2dbad0(0x131)],'pattern':_0x3fc9a6,'ensureUnique':_0x3be798[_0x2dbad0(0x14f)](_0x3e2e4e['ensureUnique'],![]),'ttl':_0x3e2e4e[_0x2dbad0(0x1bc)],'maxRetry':_0x3e2e4e[_0x2dbad0(0xc2)],'idempotencyKey':_0x3e2e4e['idempotencyKey']});}async[a0_0x3a03fd(0xb2)](_0xb90ae4){const _0x1a841d=a0_0x3a03fd,_0x1b90dd={'oCjIp':'IDGEN_DISABLED','SInRe':function(_0x48ec06,_0x200980){return _0x48ec06!==_0x200980;},'mFYxG':'string','ibhhC':function(_0x15aea6,_0x3c62a6){return _0x15aea6===_0x3c62a6;},'AYxhp':'IDGEN_INVALID_NUMBER','KxGHy':'value\x20is\x20required','HDuRY':function(_0x3a3185,_0x5f57bb){return _0x3a3185>_0x5f57bb;},'namEh':function(_0x58b731,_0x57830b){return _0x58b731+_0x57830b;},'OnnoE':_0x1a841d(0xca)};if(!this['enabled'])throw new IdGeneratorError(_0x1b90dd[_0x1a841d(0x158)],'ID\x20Generator\x20is\x20disabled');this[_0x1a841d(0x18b)](_0xb90ae4['resource']);if(_0x1b90dd['SInRe'](typeof _0xb90ae4['value'],_0x1b90dd['mFYxG'])||_0x1b90dd['ibhhC'](_0xb90ae4['value'][_0x1a841d(0x12b)],0x0))throw new IdGeneratorError(_0x1b90dd['AYxhp'],_0x1b90dd[_0x1a841d(0x1b7)]);const {resource:_0x126253,value:_0x470038}=_0xb90ae4,_0x36c059=redisClient['getClient'](),_0x3fa46e=this[_0x1a841d(0x194)](_0x126253,_0x470038),_0x332660=this[_0x1a841d(0x1b9)](_0x126253),[_0x21c837,_0x413352]=await Promise['all']([_0x36c059[_0x1a841d(0x125)](_0x3fa46e),_0x36c059[_0x1a841d(0x17a)](_0x332660,_0x470038)]),_0x5320ac=_0x1b90dd['HDuRY'](_0x1b90dd['namEh'](_0x21c837,_0x413352),0x0);return logger[_0x1a841d(0x1a7)]({'event':_0x1b90dd['OnnoE'],'resource':_0x126253,'value':_0x470038,'consumed':_0x5320ac},'ID\x20Generator\x20consumed:\x20'+_0x470038),{'consumed':_0x5320ac,'resource':_0x126253,'value':_0x470038,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x19f54f){const _0x11d095=a0_0x3a03fd,_0x45d4c5={'HfOrJ':'IDGEN_DISABLED','hpQjq':'ID\x20Generator\x20is\x20disabled','dkENQ':_0x11d095(0xec),'MUHyV':function(_0x520164,_0x59ec04){return _0x520164===_0x59ec04;},'WYTom':'text','nsksz':'IDGEN_INVALID_FORMAT','ilxpy':function(_0x529201,_0x50cc11,_0x58b3f0){return _0x529201(_0x50cc11,_0x58b3f0);},'fndIt':function(_0x4d3137,_0x295cd3){return _0x4d3137||_0x295cd3;},'ImmRk':_0x11d095(0xfb),'mgGgz':_0x11d095(0x10b)};if(!this['enabled'])throw new IdGeneratorError(_0x45d4c5[_0x11d095(0x198)],_0x45d4c5['hpQjq']);this[_0x11d095(0x18b)](_0x19f54f['resource']);const _0x27f992=_0x19f54f['mode']||_0x45d4c5[_0x11d095(0x1aa)],_0x3d8a4a=redisClient['getClient']();if(_0x45d4c5[_0x11d095(0x19d)](_0x27f992,_0x11d095(0xec))){const _0x342488=(_0x19f54f['format']||_0x45d4c5['WYTom'])['toLowerCase']();if(!ALLOWED_FORMATS[_0x11d095(0xc0)](_0x342488))throw new IdGeneratorError(_0x45d4c5[_0x11d095(0xa6)],'Invalid\x20format:\x20'+_0x19f54f['format']);const {formatKey:_0x78ae0a}=this[_0x11d095(0x15f)](_0x342488,_0x19f54f['prefix']||''),_0x28a6b3=this[_0x11d095(0x1a6)](_0x19f54f['resource'],_0x78ae0a),_0x2be33f=this[_0x11d095(0x108)](_0x19f54f['resource'],_0x78ae0a),[_0x9f01c,_0x53e19d]=await Promise['all']([_0x3d8a4a['get'](_0x28a6b3),_0x3d8a4a[_0x11d095(0x15e)](_0x2be33f)]);return{'resource':_0x19f54f['resource'],'mode':_0x45d4c5['dkENQ'],'formatKey':_0x78ae0a,'currentCounter':_0x45d4c5['ilxpy'](parseInt,_0x9f01c,0xa)||0x0,'reusePoolSize':_0x45d4c5[_0x11d095(0x191)](_0x53e19d,0x0)};}if(_0x45d4c5[_0x11d095(0x19d)](_0x27f992,_0x45d4c5['ImmRk'])){const _0x191d14=this[_0x11d095(0x1b9)](_0x19f54f[_0x11d095(0x131)]),_0x51c016=await _0x3d8a4a[_0x11d095(0x134)](_0x191d14);return{'resource':_0x19f54f[_0x11d095(0x131)],'mode':_0x11d095(0xfb),'issuedCount':_0x45d4c5[_0x11d095(0x191)](_0x51c016,0x0)};}throw new IdGeneratorError(_0x45d4c5[_0x11d095(0x124)],'Unknown\x20mode:\x20'+_0x27f992);}async[a0_0x3a03fd(0xad)](_0x14f23e){const _0x366328=a0_0x3a03fd,_0x3bcbab={'MLfEt':function(_0x2d0b28,_0x2d6b37){return _0x2d0b28===_0x2d6b37;},'OjGSf':'number'},_0x3f80c3=await this[_0x366328(0x172)](_0x14f23e);if(_0x3bcbab[_0x366328(0xdb)](_0x3f80c3[_0x366328(0x12d)],_0x3bcbab['OjGSf'])){const _0xe1668f=redisClient[_0x366328(0x1d3)](),_0xf6ec86=this[_0x366328(0xfc)](_0x14f23e[_0x366328(0x131)],_0x3f80c3[_0x366328(0x13c)]),_0xae947f=this['_buildReuseKey'](_0x14f23e['resource'],_0x3f80c3['formatKey']),[_0x37175,_0x35450c]=await Promise[_0x366328(0x15c)]([_0xe1668f['hgetall'](_0xf6ec86),_0xe1668f['zrange'](_0xae947f,0x0,-0x1)]);return{..._0x3f80c3,'reusePoolValues':_0x35450c[_0x366328(0x16a)](_0x926037=>parseInt(_0x926037,0xa)),'meta':_0x37175&&Object[_0x366328(0x132)](_0x37175)[_0x366328(0x12b)]>0x0?_0x37175:null};}return _0x3f80c3;}async[a0_0x3a03fd(0xe8)](_0x5009ed){const _0x1d63b0=a0_0x3a03fd,_0x468cc4={'yIXPh':_0x1d63b0(0x12f),'nUHLf':'IDGEN_RESET_NOT_ALLOWED','wJwFT':'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)','dmWiH':_0x1d63b0(0xec),'uTCWJ':'IDGEN_INVALID_FORMAT','yedmi':_0x1d63b0(0x106),'ZiTCp':_0x1d63b0(0x19b),'JEPPg':_0x1d63b0(0x1c5),'vrpJU':_0x1d63b0(0x10b)};if(!this['enabled'])throw new IdGeneratorError(_0x468cc4['yIXPh'],'ID\x20Generator\x20is\x20disabled');if(!this['allowReset'])throw new IdGeneratorError(_0x468cc4[_0x1d63b0(0xf5)],_0x468cc4[_0x1d63b0(0x1a9)]);this['_validateResource'](_0x5009ed[_0x1d63b0(0x131)]);const _0x2eb855=_0x5009ed['mode']||_0x468cc4[_0x1d63b0(0x18f)],_0x2bbb5b=redisClient['getClient']();if(_0x2eb855===_0x468cc4[_0x1d63b0(0x18f)]){const _0x518aa5=(_0x5009ed[_0x1d63b0(0x15a)]||'text')[_0x1d63b0(0x169)]();if(!ALLOWED_FORMATS['has'](_0x518aa5))throw new IdGeneratorError(_0x468cc4[_0x1d63b0(0xa8)],'Invalid\x20format:\x20'+_0x5009ed[_0x1d63b0(0x15a)]);const {formatKey:_0x5bd8e5}=this['_buildFormatKey'](_0x518aa5,_0x5009ed[_0x1d63b0(0x152)]||''),_0x42cf5b=this['_buildSeqKey'](_0x5009ed[_0x1d63b0(0x131)],_0x5bd8e5),_0x355790=this['_buildReuseKey'](_0x5009ed['resource'],_0x5bd8e5),_0x15922a=this[_0x1d63b0(0xfc)](_0x5009ed[_0x1d63b0(0x131)],_0x5bd8e5);return await _0x2bbb5b[_0x1d63b0(0x125)](_0x42cf5b,_0x355790,_0x15922a),logger[_0x1d63b0(0x167)]({'event':_0x468cc4[_0x1d63b0(0x19c)],'resource':_0x5009ed[_0x1d63b0(0x131)],'mode':'number','formatKey':_0x5bd8e5},'ID\x20Generator\x20reset:\x20'+_0x5009ed[_0x1d63b0(0x131)]+':'+_0x5bd8e5),{'reset':!![],'resource':_0x5009ed['resource'],'mode':_0x468cc4['dmWiH'],'formatKey':_0x5bd8e5,'deletedKeys':[_0x468cc4['ZiTCp'],'reuse',_0x1d63b0(0xe9)]};}if(_0x2eb855===_0x1d63b0(0xfb)){const _0x3e864d=this[_0x1d63b0(0x1b9)](_0x5009ed['resource']);return await _0x2bbb5b[_0x1d63b0(0x125)](_0x3e864d),logger[_0x1d63b0(0x167)]({'event':_0x468cc4[_0x1d63b0(0x19c)],'resource':_0x5009ed[_0x1d63b0(0x131)],'mode':_0x1d63b0(0xfb)},_0x1d63b0(0x112)+_0x5009ed[_0x1d63b0(0x131)]),{'reset':!![],'resource':_0x5009ed[_0x1d63b0(0x131)],'mode':'random','deletedKeys':[_0x468cc4[_0x1d63b0(0x164)]]};}throw new IdGeneratorError(_0x468cc4['vrpJU'],'Unknown\x20mode:\x20'+_0x2eb855);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module[a0_0x3a03fd(0xba)]=instance,module['exports'][a0_0x3a03fd(0x1a1)]=IdGeneratorError;
@@ -1 +1 @@
1
- 'use strict';function a0_0x23c7(_0x166c4b,_0x4daa6a){_0x166c4b=_0x166c4b-0x1c8;const _0x5a5eef=a0_0x5a5e();let _0x23c79a=_0x5a5eef[_0x166c4b];if(a0_0x23c7['aJpSmx']===undefined){var _0x204947=function(_0x4f2aed){const _0x284a36='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ea7b2='',_0x104417='';for(let _0x546ffd=0x0,_0x29b7cd,_0x4d8c50,_0x476bed=0x0;_0x4d8c50=_0x4f2aed['charAt'](_0x476bed++);~_0x4d8c50&&(_0x29b7cd=_0x546ffd%0x4?_0x29b7cd*0x40+_0x4d8c50:_0x4d8c50,_0x546ffd++%0x4)?_0x4ea7b2+=String['fromCharCode'](0xff&_0x29b7cd>>(-0x2*_0x546ffd&0x6)):0x0){_0x4d8c50=_0x284a36['indexOf'](_0x4d8c50);}for(let _0x1f94ff=0x0,_0x38ce37=_0x4ea7b2['length'];_0x1f94ff<_0x38ce37;_0x1f94ff++){_0x104417+='%'+('00'+_0x4ea7b2['charCodeAt'](_0x1f94ff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x104417);};a0_0x23c7['tQcUGG']=_0x204947,a0_0x23c7['ktapPH']={},a0_0x23c7['aJpSmx']=!![];}const _0x4c060d=_0x5a5eef[0x0],_0x4d6860=_0x166c4b+_0x4c060d,_0x21c2dd=a0_0x23c7['ktapPH'][_0x4d6860];return!_0x21c2dd?(_0x23c79a=a0_0x23c7['tQcUGG'](_0x23c79a),a0_0x23c7['ktapPH'][_0x4d6860]=_0x23c79a):_0x23c79a=_0x21c2dd,_0x23c79a;}const a0_0x136e8c=a0_0x23c7;(function(_0xe51fa2,_0x400080){const _0x5cabf3=a0_0x23c7,_0x405e4e=_0xe51fa2();while(!![]){try{const _0x1c4f53=parseInt(_0x5cabf3(0x1e4))/0x1+-parseInt(_0x5cabf3(0x1e7))/0x2*(-parseInt(_0x5cabf3(0x1ee))/0x3)+-parseInt(_0x5cabf3(0x1d3))/0x4+parseInt(_0x5cabf3(0x1d6))/0x5+parseInt(_0x5cabf3(0x1ef))/0x6+-parseInt(_0x5cabf3(0x1de))/0x7+-parseInt(_0x5cabf3(0x1d7))/0x8;if(_0x1c4f53===_0x400080)break;else _0x405e4e['push'](_0x405e4e['shift']());}catch(_0x4d30c9){_0x405e4e['push'](_0x405e4e['shift']());}}}(a0_0x5a5e,0xd3bfc));function a0_0x5a5e(){const _0x73b9eb=['swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','swrLBxbVDgvUy3KGy2fJAguGseLu','DhrS','mZGZnJK4BKr4rfDH','z2v0q2XPzw50','yNvPBgrlzxK','nhzlENrAyG','zw5HyMXLza','lI9SB2DNzxi','zw52','A2foAxi','x2LUAxrdB25MAwC','lcbuveW6ia','mte2nZqYC2D1Dufj','mJC3odCWmLn3AvziEq','CMy6AwrLBtO','zMLSDgvY','zxjYB3i','C3bSAxq','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','AwrLBxbVDgvUy3LFC3rVCMu','su9fwNy','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','AwrLBxbVDgvUy3LFAgL0','surftvbpvevoq1LFru5bqKXfra','lI9YzwrPCY1JBgLLBNq','Cgf0Aa','rLvTDgu','AxnfBMfIBgvK','x2LUAxrPywXPEMvK','Dw5RBM93BG','mZuXnZK5nKj4tNr6wa','AwrLBxbVDgvUy3LFBwLZCW','wKvRtLq','odi5mtK3mfjrBwrMyW','mtCXnJy5nMnNvunytq','C3rHDhvZq29Kzq','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','zgvIDwC','Aw5MBW','x3r0Ba','BwvZC2fNzq','ndm1mtm4ouDQC1Hnwa','wNv0uxq','y3j5ChrV'];a0_0x5a5e=function(){return _0x73b9eb;};return a0_0x5a5e();}const redisClient=require(a0_0x136e8c(0x1cd)),{logger}=require(a0_0x136e8c(0x1e9)),crypto=require(a0_0x136e8c(0x1e0));class IdempotencyManager{constructor(){const _0x5b1118=a0_0x136e8c;this['_enabled']=null,this[_0x5b1118(0x1dc)]=null,this['_initialized']=![];}[a0_0x136e8c(0x1ec)](){const _0x5beccc=a0_0x136e8c;this['_enabled']=process['env'][_0x5beccc(0x1cc)]==='true',this[_0x5beccc(0x1dc)]=parseInt(process[_0x5beccc(0x1ea)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger[_0x5beccc(0x1db)]({'event':'idempotency_config_init','enabled':this['_enabled'],'ttl':this[_0x5beccc(0x1dc)]},_0x5beccc(0x1f4)+this['_enabled']+_0x5beccc(0x1ed)+this['_ttl']+'s');}['_ensureInitialized'](){const _0xf3d61a=a0_0x136e8c;!this[_0xf3d61a(0x1d1)]&&this['_initConfig']();}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x136e8c(0x1e3)](){return this['_ensureInitialized'](),this['_ttl'];}[a0_0x136e8c(0x1d0)](){const _0x36dc76=a0_0x136e8c;return this[_0x36dc76(0x1e8)];}[a0_0x136e8c(0x1e6)](_0x50d675,_0x3851b3){const _0x22a619=a0_0x136e8c,_0x3725a0={'ZEkNT':'default','IOEZv':_0x22a619(0x1d2)},_0x23ce3a=_0x3851b3[_0x22a619(0x1ce)][_0x22a619(0x1f3)]('/')[_0x22a619(0x1f1)](Boolean),_0x307953=_0x23ce3a[0x0]||_0x3725a0[_0x22a619(0x1d5)],_0x85820b=_0x23ce3a[0x1]||_0x3725a0[_0x22a619(0x1c9)],_0x30cafa=_0x23ce3a[0x2]||_0x22a619(0x1d2);return _0x22a619(0x1f0)+_0x307953+':'+_0x85820b+':'+_0x30cafa+':'+_0x50d675;}async['store'](_0x217d01,_0x2020ae){const _0x97e313=a0_0x136e8c,_0x36d0f9={'FUmte':_0x97e313(0x1c8),'ARVYb':'idempotency_store_error'};if(!this[_0x97e313(0x1e8)])return![];try{const _0x30da35=redisClient[_0x97e313(0x1e5)]();return await _0x30da35['setex'](_0x217d01,this['ttl'],JSON['stringify'](_0x2020ae)),logger[_0x97e313(0x1da)]({'event':_0x36d0f9[_0x97e313(0x1cf)],'key':_0x217d01,'ttl':this['ttl'],'statusCode':_0x2020ae[_0x97e313(0x1d8)]},_0x97e313(0x1e1)),!![];}catch(_0x12929e){return logger[_0x97e313(0x1f2)]({'event':_0x36d0f9['ARVYb'],'key':_0x217d01,'error':_0x12929e['message']},_0x97e313(0x1ca)+_0x12929e[_0x97e313(0x1dd)]),![];}}async['retrieve'](_0x40b92e){const _0xf45ae=a0_0x136e8c,_0x388c0a={'zCcMs':_0xf45ae(0x1e2),'kaNir':_0xf45ae(0x1d4),'wmvte':_0xf45ae(0x1d9),'ZutQt':'idempotency_retrieve_error'};if(!this[_0xf45ae(0x1e8)])return null;try{const _0x4d7f9e=redisClient['getClient'](),_0x490a8d=await _0x4d7f9e['get'](_0x40b92e);if(_0x490a8d)return logger['info']({'event':_0xf45ae(0x1cb),'key':_0x40b92e},_0x388c0a['zCcMs']),JSON['parse'](_0x490a8d);return logger[_0xf45ae(0x1da)]({'event':_0x388c0a[_0xf45ae(0x1eb)],'key':_0x40b92e},_0x388c0a['wmvte']),null;}catch(_0x495975){return logger[_0xf45ae(0x1f2)]({'event':_0x388c0a[_0xf45ae(0x1df)],'key':_0x40b92e,'error':_0x495975[_0xf45ae(0x1dd)]},'Idempotency\x20retrieve\x20error:\x20'+_0x495975['message']),null;}}['generateKey'](_0x3af227='req'){return _0x3af227+'_'+crypto['randomUUID']();}['buildDeterministicKey'](_0x259176,_0x93c8c9,_0x36a1b9){return _0x259176+':'+_0x93c8c9+':'+_0x36a1b9;}}module['exports']=new IdempotencyManager();
1
+ 'use strict';function a0_0x61b7(_0x43c568,_0xd72e8c){_0x43c568=_0x43c568-0x14e;const _0x5444dc=a0_0x5444();let _0x61b714=_0x5444dc[_0x43c568];if(a0_0x61b7['wwEkQH']===undefined){var _0x34b6c5=function(_0x24343a){const _0x4f2ed3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f122b='',_0x47d7a8='';for(let _0x38312f=0x0,_0x360097,_0xfc88a5,_0x10eb72=0x0;_0xfc88a5=_0x24343a['charAt'](_0x10eb72++);~_0xfc88a5&&(_0x360097=_0x38312f%0x4?_0x360097*0x40+_0xfc88a5:_0xfc88a5,_0x38312f++%0x4)?_0x2f122b+=String['fromCharCode'](0xff&_0x360097>>(-0x2*_0x38312f&0x6)):0x0){_0xfc88a5=_0x4f2ed3['indexOf'](_0xfc88a5);}for(let _0x962c38=0x0,_0x3cce77=_0x2f122b['length'];_0x962c38<_0x3cce77;_0x962c38++){_0x47d7a8+='%'+('00'+_0x2f122b['charCodeAt'](_0x962c38)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47d7a8);};a0_0x61b7['hurbor']=_0x34b6c5,a0_0x61b7['smgrEq']={},a0_0x61b7['wwEkQH']=!![];}const _0x2a32ed=_0x5444dc[0x0],_0x5b8462=_0x43c568+_0x2a32ed,_0x39011f=a0_0x61b7['smgrEq'][_0x5b8462];return!_0x39011f?(_0x61b714=a0_0x61b7['hurbor'](_0x61b714),a0_0x61b7['smgrEq'][_0x5b8462]=_0x61b714):_0x61b714=_0x39011f,_0x61b714;}const a0_0x4b7fa3=a0_0x61b7;(function(_0x17d8cb,_0x5be315){const _0x2caf62=a0_0x61b7,_0x1f7e5a=_0x17d8cb();while(!![]){try{const _0x597c08=-parseInt(_0x2caf62(0x14f))/0x1*(-parseInt(_0x2caf62(0x177))/0x2)+parseInt(_0x2caf62(0x16c))/0x3*(parseInt(_0x2caf62(0x16d))/0x4)+parseInt(_0x2caf62(0x155))/0x5+parseInt(_0x2caf62(0x15a))/0x6+-parseInt(_0x2caf62(0x175))/0x7*(-parseInt(_0x2caf62(0x163))/0x8)+-parseInt(_0x2caf62(0x157))/0x9*(parseInt(_0x2caf62(0x153))/0xa)+parseInt(_0x2caf62(0x16b))/0xb*(-parseInt(_0x2caf62(0x173))/0xc);if(_0x597c08===_0x5be315)break;else _0x1f7e5a['push'](_0x1f7e5a['shift']());}catch(_0x3f410a){_0x1f7e5a['push'](_0x1f7e5a['shift']());}}}(a0_0x5444,0x9247d));const redisClient=require(a0_0x4b7fa3(0x15e)),{logger}=require(a0_0x4b7fa3(0x154)),crypto=require('crypto');function a0_0x5444(){const _0x479332=['C2v0zxG','mtb5r0jmv2S','yNvPBgrezxrLCM1PBMLZDgLJs2v5','mtiWnJeZy3HuAeTx','Dw5RBM93BG','z2v0q2XPzw50','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','mJe3mfbxD0TkCW','lI9SB2DNzxi','ndqYndaYmhnitLHoyG','zxjYB3i','mtqWnJDkCffZqwq','DhrS','x2vUC3vYzuLUAxrPywXPEMvK','mJm2ntu3ofbXENr2CW','CMvX','AwrLBxbVDgvUy3LFAgL0','zgvIDwC','lI9YzwrPCY1JBgLLBNq','x2LUAxrdB25MAwC','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','CgfYC2u','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','ofvOwK9Ssq','x2vUywjSzwq','zw5HyMXLza','C3bSAxq','Aw5MBW','zw52','BwvZC2fNzq','lcbuveW6ia','odeZoty4mvjfCg9rAW','mtC4ognJtuzqua','mJC3nMXvC1v1CG','C3rYAw5NAwz5','x3r0Ba','zgvMyxvSDa','BKXcBKC','CLrvwMG','mZzuBKnRueq','C3rVCMu','nJaZnZq1mu9muujYuq'];a0_0x5444=function(){return _0x479332;};return a0_0x5444();}class IdempotencyManager{constructor(){const _0x896cda=a0_0x4b7fa3;this['_enabled']=null,this[_0x896cda(0x16f)]=null,this['_initialized']=![];}[a0_0x4b7fa3(0x15f)](){const _0x5c5561=a0_0x4b7fa3,_0x374f06={'TdIor':function(_0x5a89c2,_0x178f8c){return _0x5a89c2===_0x178f8c;},'NvwyP':_0x5c5561(0x160)};this[_0x5c5561(0x164)]=_0x374f06['TdIor'](process[_0x5c5561(0x168)]['IDEMPOTENCY_ENABLED'],'true'),this['_ttl']=parseInt(process[_0x5c5561(0x168)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger['info']({'event':_0x374f06['NvwyP'],'enabled':this['_enabled'],'ttl':this[_0x5c5561(0x16f)]},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x5c5561(0x16a)+this[_0x5c5561(0x16f)]+'s');}[a0_0x4b7fa3(0x159)](){!this['_initialized']&&this['_initConfig']();}get[a0_0x4b7fa3(0x165)](){const _0x255893=a0_0x4b7fa3;return this['_ensureInitialized'](),this[_0x255893(0x164)];}get[a0_0x4b7fa3(0x158)](){const _0x48a74c=a0_0x4b7fa3;return this['_ensureInitialized'](),this[_0x48a74c(0x16f)];}['isEnabled'](){return this['enabled'];}['buildKey'](_0x593c0d,_0x106281){const _0x50b7c4=a0_0x4b7fa3,_0x3a36c2={'EALQV':_0x50b7c4(0x170),'Hqrcb':_0x50b7c4(0x150)},_0x3c471d=_0x106281['path'][_0x50b7c4(0x166)]('/')['filter'](Boolean),_0x36ca37=_0x3c471d[0x0]||_0x3a36c2['EALQV'],_0xde9d7f=_0x3c471d[0x1]||'unknown',_0x3f5439=_0x3c471d[0x2]||_0x3a36c2['Hqrcb'];return'rf:idem:'+_0x36ca37+':'+_0xde9d7f+':'+_0x3f5439+':'+_0x593c0d;}async[a0_0x4b7fa3(0x174)](_0x1affee,_0x1eeb15){const _0x1556fe=a0_0x4b7fa3,_0x4ce1f9={'qNJCT':'idempotency_store','nLBnG':'Idempotency\x20response\x20stored'};if(!this['enabled'])return![];try{const _0x1890e1=redisClient[_0x1556fe(0x151)]();return await _0x1890e1[_0x1556fe(0x176)](_0x1affee,this['ttl'],JSON[_0x1556fe(0x16e)](_0x1eeb15)),logger['debug']({'event':_0x4ce1f9['qNJCT'],'key':_0x1affee,'ttl':this[_0x1556fe(0x158)],'statusCode':_0x1eeb15['statusCode']},_0x4ce1f9[_0x1556fe(0x171)]),!![];}catch(_0x4eba19){return logger[_0x1556fe(0x156)]({'event':'idempotency_store_error','key':_0x1affee,'error':_0x4eba19[_0x1556fe(0x169)]},_0x1556fe(0x162)+_0x4eba19['message']),![];}}async['retrieve'](_0x20d25b){const _0xffe8a0=a0_0x4b7fa3,_0x278cd7={'rTUZh':'Idempotency\x20cache\x20HIT','xcBly':'idempotency_miss','OhFAz':'Idempotency\x20cache\x20MISS'};if(!this[_0xffe8a0(0x165)])return null;try{const _0x2a2492=redisClient[_0xffe8a0(0x151)](),_0x4deb68=await _0x2a2492['get'](_0x20d25b);if(_0x4deb68)return logger[_0xffe8a0(0x167)]({'event':_0xffe8a0(0x15c),'key':_0x20d25b},_0x278cd7[_0xffe8a0(0x172)]),JSON[_0xffe8a0(0x161)](_0x4deb68);return logger[_0xffe8a0(0x15d)]({'event':_0x278cd7['xcBly'],'key':_0x20d25b},_0x278cd7['OhFAz']),null;}catch(_0x2fcfdf){return logger[_0xffe8a0(0x156)]({'event':_0xffe8a0(0x152),'key':_0x20d25b,'error':_0x2fcfdf[_0xffe8a0(0x169)]},'Idempotency\x20retrieve\x20error:\x20'+_0x2fcfdf['message']),null;}}['generateKey'](_0x4acb44=a0_0x4b7fa3(0x15b)){return _0x4acb44+'_'+crypto['randomUUID']();}[a0_0x4b7fa3(0x14e)](_0x41cf6e,_0x6c61d8,_0x28f282){return _0x41cf6e+':'+_0x6c61d8+':'+_0x28f282;}}module['exports']=new IdempotencyManager();
@@ -1 +1 @@
1
- const a0_0x5941e0=a0_0x5327;function a0_0x5327(_0x31e47f,_0x21155e){_0x31e47f=_0x31e47f-0x1d5;const _0x329bb1=a0_0x329b();let _0x53279a=_0x329bb1[_0x31e47f];if(a0_0x5327['ICLhbV']===undefined){var _0xbe5af=function(_0x196ef5){const _0x39c8e7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x31f39d='',_0x1ac904='';for(let _0x372816=0x0,_0x19b9f6,_0x5b197a,_0x4a253c=0x0;_0x5b197a=_0x196ef5['charAt'](_0x4a253c++);~_0x5b197a&&(_0x19b9f6=_0x372816%0x4?_0x19b9f6*0x40+_0x5b197a:_0x5b197a,_0x372816++%0x4)?_0x31f39d+=String['fromCharCode'](0xff&_0x19b9f6>>(-0x2*_0x372816&0x6)):0x0){_0x5b197a=_0x39c8e7['indexOf'](_0x5b197a);}for(let _0x544b9f=0x0,_0x5ad7df=_0x31f39d['length'];_0x544b9f<_0x5ad7df;_0x544b9f++){_0x1ac904+='%'+('00'+_0x31f39d['charCodeAt'](_0x544b9f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ac904);};a0_0x5327['rqwpoo']=_0xbe5af,a0_0x5327['KHKDYM']={},a0_0x5327['ICLhbV']=!![];}const _0x295533=_0x329bb1[0x0],_0x33c5b4=_0x31e47f+_0x295533,_0x26c761=a0_0x5327['KHKDYM'][_0x33c5b4];return!_0x26c761?(_0x53279a=a0_0x5327['rqwpoo'](_0x53279a),a0_0x5327['KHKDYM'][_0x33c5b4]=_0x53279a):_0x53279a=_0x26c761,_0x53279a;}(function(_0x533f19,_0x437d97){const _0xf31c10=a0_0x5327,_0x405d4c=_0x533f19();while(!![]){try{const _0x3aa4ee=-parseInt(_0xf31c10(0x1e6))/0x1*(parseInt(_0xf31c10(0x1d5))/0x2)+-parseInt(_0xf31c10(0x1e4))/0x3+parseInt(_0xf31c10(0x1e9))/0x4*(parseInt(_0xf31c10(0x1d6))/0x5)+-parseInt(_0xf31c10(0x1f3))/0x6*(parseInt(_0xf31c10(0x1e3))/0x7)+-parseInt(_0xf31c10(0x1f9))/0x8*(-parseInt(_0xf31c10(0x1e0))/0x9)+parseInt(_0xf31c10(0x1f6))/0xa*(-parseInt(_0xf31c10(0x1da))/0xb)+parseInt(_0xf31c10(0x1eb))/0xc;if(_0x3aa4ee===_0x437d97)break;else _0x405d4c['push'](_0x405d4c['shift']());}catch(_0x51a119){_0x405d4c['push'](_0x405d4c['shift']());}}}(a0_0x329b,0xee377));function a0_0x329b(){const _0x7672b7=['AM9PBG','AfLhyNe','nJm1mtK4mfLJzwTSuW','Agnhvfe','ChvZAa','ohz2sfLiyG','CgHVBMu','BgvUz3rO','mLrgrwfSBa','odbptMjNv2i','DMfSAwrHDgvsB3C','rwnLDwS','DMfSAwrHDgvoDw1Izxi','mtfPD3fKC2u','sw52ywXPzcbUDw1IzxiGzM9YBwf0','DNnzv2i','BwfW','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','sw52ywXPzcbLBwfPBcbMB3jTyxq','mte2ntm1odDvt2n6ruG','sw52ywXPzcbWAg9UzsbMB3jTyxq','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','odaXnZeWBM1gwg1p','mJi2mdC0owTKAujAvW','A2v5CW','mte5nZa2n29dCLLMqq','sw52ywXPzcbvuKWGzM9YBwf0','CMvWBgfJzq','mZK3odmYsLbwywzv','zM9YBwf0','mJe4ndG1ndrZy1zIALq','zw1HAwW','CMvXDwLYzwq','zM9YrwfJAa','C2v0','DxjS','yKnJB1i','Aw5MBW','nJbyt0PcEeG'];a0_0x329b=function(){return _0x7672b7;};return a0_0x329b();}const {logger}=require('./logger');class ImportValidator{[a0_0x5941e0(0x1d7)](_0x59c99e,_0x5557dd=[],_0x56e9ca={}){const _0x3b6df1=a0_0x5941e0,_0x4255cc={'Eceuk':function(_0x430b6d,_0x6004cb){return _0x430b6d===_0x6004cb;},'vsYWb':_0x3b6df1(0x1ed)},_0x6ab2cb=[];return _0x5557dd['forEach'](_0x594ff9=>{const _0x156afa=_0x3b6df1,_0x3f19f6=_0x59c99e[_0x594ff9];(_0x4255cc['Eceuk'](_0x3f19f6,null)||_0x3f19f6===undefined||_0x4255cc[_0x156afa(0x1d8)](_0x3f19f6,''))&&_0x6ab2cb[_0x156afa(0x1f8)]({'field':_0x594ff9,'type':_0x4255cc[_0x156afa(0x1dc)],'message':_0x156afa(0x1de)});}),Object[_0x3b6df1(0x1e5)](_0x56e9ca)[_0x3b6df1(0x1ee)](_0x5b5e4d=>{const _0x215b97=_0x3b6df1,_0x4bc815=_0x59c99e[_0x5b5e4d],_0x5c3f07=_0x56e9ca[_0x5b5e4d];if(_0x4bc815===null||_0x4255cc[_0x215b97(0x1d8)](_0x4bc815,undefined)||_0x4255cc['Eceuk'](_0x4bc815,''))return;const _0x276f37=this['validateFieldFormat'](_0x5b5e4d,_0x4bc815,_0x5c3f07);_0x276f37&&_0x6ab2cb[_0x215b97(0x1f8)](_0x276f37);}),_0x6ab2cb;}['validateFieldFormat'](_0x428338,_0x3d4648,_0x4b7d8b){const _0x105997=a0_0x5941e0,_0xdb94e7={'hGZBM':'number'};switch(_0x4b7d8b){case _0x105997(0x1ec):return this['validateEmail'](_0x428338,_0x3d4648);case _0x105997(0x1fa):return this['validatePhone'](_0x428338,_0x3d4648);case _0x105997(0x1f0):return this['validateUrl'](_0x428338,_0x3d4648);case _0xdb94e7['hGZBM']:return this[_0x105997(0x1d9)](_0x428338,_0x3d4648);default:return null;}}['validateEmail'](_0x146b87,_0x2d026f){const _0x53ceab=a0_0x5941e0,_0x24dff9={'nMbUg':_0x53ceab(0x1df)},_0xef131b=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0xef131b['test'](String(_0x2d026f)))return{'field':_0x146b87,'type':'format','message':_0x24dff9['nMbUg']};return null;}['validatePhone'](_0xd61167,_0x3fc9c4){const _0x16a9b9=a0_0x5941e0,_0xc571a1={'iHzWy':_0x16a9b9(0x1ea)},_0x7412c9=String(_0x3fc9c4)[_0x16a9b9(0x1e8)](/\s+/g,''),_0x49d959=/^[\d\+\-\(\)]+$/;if(!_0x49d959['test'](_0x7412c9)||_0x7412c9['length']<0x8)return{'field':_0xd61167,'type':_0xc571a1['iHzWy'],'message':_0x16a9b9(0x1e1)};return null;}['validateUrl'](_0x25d371,_0x1c2d86){const _0x542a4b=a0_0x5941e0,_0x2195b2={'hcGTQ':function(_0x1c5f69,_0xc84ba3){return _0x1c5f69(_0xc84ba3);},'bCcoR':_0x542a4b(0x1e7)};try{return new URL(_0x2195b2[_0x542a4b(0x1f7)](String,_0x1c2d86)),null;}catch(_0x15cdbe){return{'field':_0x25d371,'type':_0x542a4b(0x1ea),'message':_0x2195b2[_0x542a4b(0x1f1)]};}}[a0_0x5941e0(0x1d9)](_0x488b26,_0x434080){const _0x1baf30=a0_0x5941e0,_0x16fbed={'OIeMP':_0x1baf30(0x1ea),'fuXeP':_0x1baf30(0x1db)};if(isNaN(_0x434080))return{'field':_0x488b26,'type':_0x16fbed['OIeMP'],'message':_0x16fbed['fuXeP']};return null;}['detectDuplicatesInFile'](_0x4d94f7,_0x382c5e){const _0x48fcff=a0_0x5941e0,_0xf937b7=new Map(),_0x4e0e08=[];return _0x4d94f7[_0x48fcff(0x1ee)]((_0x5ea9da,_0x215461)=>{const _0x361611=_0x48fcff,_0x1df159=_0x382c5e[_0x361611(0x1dd)](_0x42ff9b=>_0x5ea9da[_0x42ff9b])[_0x361611(0x1f4)]('|');_0xf937b7['has'](_0x1df159)?_0x4e0e08['push']({'rowIndex':_0x215461,'duplicateOf':_0xf937b7['get'](_0x1df159),'key':_0x1df159}):_0xf937b7[_0x361611(0x1ef)](_0x1df159,_0x215461);}),_0x4e0e08;}['batchValidateRows'](_0x293b5a,_0x52c72f,_0x5df7b9){const _0x15a3bc=a0_0x5941e0,_0x4aeae4={'hYGbq':_0x15a3bc(0x1e2)},_0x453df1=[];return _0x293b5a[_0x15a3bc(0x1ee)]((_0x4ae6c4,_0x49cd30)=>{const _0x5a3c9e=_0x15a3bc,_0x33d99c=this['validateRow'](_0x4ae6c4,_0x52c72f,_0x5df7b9);_0x33d99c['length']>0x0&&_0x453df1[_0x5a3c9e(0x1f8)]({'rowIndex':_0x49cd30,'rowData':_0x4ae6c4,'errors':_0x33d99c});}),logger[_0x15a3bc(0x1f2)]({'event':_0x4aeae4[_0x15a3bc(0x1f5)],'totalRows':_0x293b5a[_0x15a3bc(0x1fb)],'errorCount':_0x453df1[_0x15a3bc(0x1fb)]},'Batch\x20validation\x20completed'),_0x453df1;}}module['exports']=new ImportValidator();
1
+ const a0_0xe6ce8=a0_0x29ec;function a0_0x112c(){const _0x46cfec=['DMfSAwrHDgvvCMW','ntyWmtjXsvfpqNC','DMfSAwrHDgvoDw1Izxi','lI9SB2DNzxi','mNzQyMfXyW','Eg5ptMe','uwzPCu0','DMfSAwrHDgvfBwfPBa','ChvZAa','mZe1otC4mg92r1Hxuq','C2v0','mZK1tMfVt0Le','nJC3otyYnLD1thnuqq','yMf0y2HwywXPzgf0zvjVD3m','sw52ywXPzcbvuKWGzM9YBwf0','nJCYndjhtLvoCfO','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','DxjS','mte0nteZm3nduxfOEa','zM9YBwf0','zM9YrwfJAa','nZK4ntj1DLrQD2m','ndeXodC0ngz4teDwsW','DMfSAwrHDgvsB3C','z2v0','wNbbuMG','DMfSAwrHDgvgAwvSzezVCM1HDa','zw1HAwW','DMfSAwrHDgvqAg9Uzq','BgvUz3rO','Cfj0A2q','D1H3ALe','A0LhC00','DgvZDa','swvkwLi','z2X0qK8','CgHVBMu'];a0_0x112c=function(){return _0x46cfec;};return a0_0x112c();}function a0_0x29ec(_0x56542c,_0x484606){_0x56542c=_0x56542c-0xad;const _0x112cd8=a0_0x112c();let _0x29ec29=_0x112cd8[_0x56542c];if(a0_0x29ec['eFbtzT']===undefined){var _0x4e5b44=function(_0x148246){const _0x466ab6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2da604='',_0x378436='';for(let _0x130e52=0x0,_0x4cf663,_0x2e701a,_0xc8cc48=0x0;_0x2e701a=_0x148246['charAt'](_0xc8cc48++);~_0x2e701a&&(_0x4cf663=_0x130e52%0x4?_0x4cf663*0x40+_0x2e701a:_0x2e701a,_0x130e52++%0x4)?_0x2da604+=String['fromCharCode'](0xff&_0x4cf663>>(-0x2*_0x130e52&0x6)):0x0){_0x2e701a=_0x466ab6['indexOf'](_0x2e701a);}for(let _0x130439=0x0,_0x4f2c4c=_0x2da604['length'];_0x130439<_0x4f2c4c;_0x130439++){_0x378436+='%'+('00'+_0x2da604['charCodeAt'](_0x130439)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x378436);};a0_0x29ec['xPtILH']=_0x4e5b44,a0_0x29ec['cgsbQD']={},a0_0x29ec['eFbtzT']=!![];}const _0x10caf9=_0x112cd8[0x0],_0x3c12b4=_0x56542c+_0x10caf9,_0x1f0945=a0_0x29ec['cgsbQD'][_0x3c12b4];return!_0x1f0945?(_0x29ec29=a0_0x29ec['xPtILH'](_0x29ec29),a0_0x29ec['cgsbQD'][_0x3c12b4]=_0x29ec29):_0x29ec29=_0x1f0945,_0x29ec29;}(function(_0x148aa0,_0xfb46b8){const _0xbc44a6=a0_0x29ec,_0x233a94=_0x148aa0();while(!![]){try{const _0x1791fe=parseInt(_0xbc44a6(0xc3))/0x1*(parseInt(_0xbc44a6(0xb2))/0x2)+parseInt(_0xbc44a6(0xb7))/0x3+parseInt(_0xbc44a6(0xaf))/0x4*(-parseInt(_0xbc44a6(0xb9))/0x5)+-parseInt(_0xbc44a6(0xbd))/0x6+parseInt(_0xbc44a6(0xba))/0x7+-parseInt(_0xbc44a6(0xc4))/0x8+parseInt(_0xbc44a6(0xc0))/0x9;if(_0x1791fe===_0xfb46b8)break;else _0x233a94['push'](_0x233a94['shift']());}catch(_0x32dab1){_0x233a94['push'](_0x233a94['shift']());}}}(a0_0x112c,0x91a64));const {logger}=require(a0_0xe6ce8(0xb1));class ImportValidator{[a0_0xe6ce8(0xc5)](_0x2fed12,_0x54e388=[],_0xafd7b6={}){const _0x32fad6=a0_0xe6ce8,_0x3dd597={'IeJZR':function(_0x26aaa2,_0x37909e){return _0x26aaa2===_0x37909e;},'QfiqM':'required'},_0x3b8a80=[];return _0x54e388['forEach'](_0x4083af=>{const _0x40f67a=a0_0x29ec,_0x174f71=_0x2fed12[_0x4083af];(_0x3dd597[_0x40f67a(0xd0)](_0x174f71,null)||_0x3dd597[_0x40f67a(0xd0)](_0x174f71,undefined)||_0x174f71==='')&&_0x3b8a80[_0x40f67a(0xb6)]({'field':_0x4083af,'type':_0x3dd597[_0x40f67a(0xb4)],'message':'Required\x20field\x20is\x20empty'});}),Object['keys'](_0xafd7b6)[_0x32fad6(0xc2)](_0x2048f5=>{const _0x385550=_0x32fad6,_0x4251c9=_0x2fed12[_0x2048f5],_0x54dd57=_0xafd7b6[_0x2048f5];if(_0x4251c9===null||_0x3dd597[_0x385550(0xd0)](_0x4251c9,undefined)||_0x4251c9==='')return;const _0x13dbbe=this[_0x385550(0xc8)](_0x2048f5,_0x4251c9,_0x54dd57);_0x13dbbe&&_0x3b8a80[_0x385550(0xb6)](_0x13dbbe);}),_0x3b8a80;}['validateFieldFormat'](_0x173018,_0x531a39,_0x815162){const _0x2847a3=a0_0xe6ce8,_0x607910={'xnONa':_0x2847a3(0xad)};switch(_0x815162){case _0x2847a3(0xc9):return this[_0x2847a3(0xb5)](_0x173018,_0x531a39);case _0x607910[_0x2847a3(0xb3)]:return this['validatePhone'](_0x173018,_0x531a39);case _0x2847a3(0xbf):return this['validateUrl'](_0x173018,_0x531a39);case'number':return this[_0x2847a3(0xb0)](_0x173018,_0x531a39);default:return null;}}[a0_0xe6ce8(0xb5)](_0x3fd8d3,_0x21ab82){const _0x5dc58e=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x5dc58e['test'](String(_0x21ab82)))return{'field':_0x3fd8d3,'type':'format','message':'Invalid\x20email\x20format'};return null;}[a0_0xe6ce8(0xca)](_0x4d1116,_0x535722){const _0x202ebb=a0_0xe6ce8,_0x5ed794={'IqsbP':function(_0x2e5a7c,_0x209bc2){return _0x2e5a7c(_0x209bc2);},'bqBnI':function(_0xff7fa2,_0x3d83a5){return _0xff7fa2<_0x3d83a5;}},_0x433945=_0x5ed794['IqsbP'](String,_0x535722)['replace'](/\s+/g,''),_0x1d4209=/^[\d\+\-\(\)]+$/;if(!_0x1d4209[_0x202ebb(0xcf)](_0x433945)||_0x5ed794['bqBnI'](_0x433945['length'],0x8))return{'field':_0x4d1116,'type':_0x202ebb(0xc1),'message':'Invalid\x20phone\x20format'};return null;}[a0_0xe6ce8(0xae)](_0x40528f,_0x1c1bf7){const _0x327ec2=a0_0xe6ce8,_0x5c74b3={'fctcK':function(_0x30ffdf,_0x337eba){return _0x30ffdf(_0x337eba);},'wXwjQ':'format','gltBO':_0x327ec2(0xbc)};try{return new URL(_0x5c74b3['fctcK'](String,_0x1c1bf7)),null;}catch(_0xb044a0){return{'field':_0x40528f,'type':_0x5c74b3[_0x327ec2(0xcd)],'message':_0x5c74b3[_0x327ec2(0xd1)]};}}[a0_0xe6ce8(0xb0)](_0x4691e4,_0x5988ac){const _0x4f8e2a=a0_0xe6ce8,_0x44741b={'voWaV':function(_0x2c948a,_0x59aab2){return _0x2c948a(_0x59aab2);},'TnZnU':_0x4f8e2a(0xc1)};if(_0x44741b['voWaV'](isNaN,_0x5988ac))return{'field':_0x4691e4,'type':_0x44741b['TnZnU'],'message':'Invalid\x20number\x20format'};return null;}[a0_0xe6ce8(0xbe)](_0x19fd93,_0xfc3197){const _0x36cf51=a0_0xe6ce8,_0x37859=new Map(),_0x20514c=[];return _0x19fd93[_0x36cf51(0xc2)]((_0x455a43,_0x118b1e)=>{const _0x3882c0=_0x36cf51,_0x2ec728=_0xfc3197['map'](_0xad7968=>_0x455a43[_0xad7968])['join']('|');_0x37859['has'](_0x2ec728)?_0x20514c['push']({'rowIndex':_0x118b1e,'duplicateOf':_0x37859[_0x3882c0(0xc6)](_0x2ec728),'key':_0x2ec728}):_0x37859[_0x3882c0(0xb8)](_0x2ec728,_0x118b1e);}),_0x20514c;}[a0_0xe6ce8(0xbb)](_0x396dc9,_0x2ca499,_0x2a16d3){const _0x571365=a0_0xe6ce8,_0x2b057f={'kIGsM':function(_0x4f680f,_0x226a11){return _0x4f680f>_0x226a11;},'ZpARh':'batch_validation_complete','pRtkd':'Batch\x20validation\x20completed'},_0x2d17a2=[];return _0x396dc9[_0x571365(0xc2)]((_0x3db75a,_0x47890e)=>{const _0x32a4c4=_0x571365,_0x65d327=this['validateRow'](_0x3db75a,_0x2ca499,_0x2a16d3);_0x2b057f[_0x32a4c4(0xce)](_0x65d327[_0x32a4c4(0xcb)],0x0)&&_0x2d17a2[_0x32a4c4(0xb6)]({'rowIndex':_0x47890e,'rowData':_0x3db75a,'errors':_0x65d327});}),logger['info']({'event':_0x2b057f[_0x571365(0xc7)],'totalRows':_0x396dc9[_0x571365(0xcb)],'errorCount':_0x2d17a2[_0x571365(0xcb)]},_0x2b057f[_0x571365(0xcc)]),_0x2d17a2;}}module['exports']=new ImportValidator();