@restforgejs/platform 5.0.3 → 5.0.8

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 (181) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/dashboard/create.js +1 -1
  5. package/generators/cli/endpoint/create.js +1 -1
  6. package/generators/cli/processor/create.js +1 -1
  7. package/generators/lib/dbschema-kit/apply-executor.js +15 -1
  8. package/generators/lib/dbschema-kit/dialect/mysql.js +2 -0
  9. package/generators/lib/dbschema-kit/dialect/oracle.js +2 -0
  10. package/generators/lib/dbschema-kit/dialect/postgres.js +3 -0
  11. package/generators/lib/dbschema-kit/dialect/sqlite.js +2 -0
  12. package/generators/lib/dbschema-kit/emitters/alter-table.js +7 -0
  13. package/generators/lib/dbschema-kit/emitters/create-table.js +31 -3
  14. package/generators/lib/dbschema-kit/statement-modifier.js +12 -2
  15. package/generators/lib/payload/payload-runner.js +44 -2
  16. package/generators/lib/payload/schema-diff.js +31 -1
  17. package/generators/lib/templates/dashboard-catalog.js +1 -1
  18. package/generators/lib/templates/db-connection-env.js +1 -1
  19. package/generators/lib/templates/dbschema-catalog.js +1 -1
  20. package/generators/lib/templates/field-validation-catalog.js +1 -1
  21. package/generators/lib/templates/mysql-template.js +1 -1
  22. package/generators/lib/templates/oracle-template.js +1 -1
  23. package/generators/lib/templates/postgres-template.js +1 -1
  24. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  25. package/generators/lib/templates/sqlite-template.js +1 -1
  26. package/generators/lib/utils/database-introspector.js +417 -6
  27. package/generators/lib/validators/argument-validator.js +2 -2
  28. package/integrity-manifest.json +18 -18
  29. package/package.json +4 -2
  30. package/scripts/verify-integrity.js +1 -1
  31. package/server.js +1 -1
  32. package/src/components/handlers/adjust_handler.js +1 -1
  33. package/src/components/handlers/audit_handler.js +1 -1
  34. package/src/components/handlers/delete_handler.js +1 -1
  35. package/src/components/handlers/export_handler.js +1 -1
  36. package/src/components/handlers/import_handler.js +1 -1
  37. package/src/components/handlers/insert_handler.js +1 -1
  38. package/src/components/handlers/update_handler.js +1 -1
  39. package/src/components/handlers/upload_handler.js +1 -1
  40. package/src/components/handlers/workflow_handler.js +1 -1
  41. package/src/components/integrations/webhook.js +1 -1
  42. package/src/consumers/baseConsumer.js +1 -1
  43. package/src/consumers/declarativeMapper.js +1 -1
  44. package/src/consumers/handlers/apiHandler.js +1 -1
  45. package/src/consumers/handlers/consoleHandler.js +1 -1
  46. package/src/consumers/handlers/databaseHandler.js +1 -1
  47. package/src/consumers/handlers/index.js +1 -1
  48. package/src/consumers/handlers/kafkaHandler.js +1 -1
  49. package/src/consumers/index.js +1 -1
  50. package/src/consumers/messageTransformer.js +1 -1
  51. package/src/consumers/validator.js +1 -1
  52. package/src/core/db/dialect/base-dialect.js +1 -1
  53. package/src/core/db/dialect/index.js +1 -1
  54. package/src/core/db/dialect/mysql-dialect.js +1 -1
  55. package/src/core/db/dialect/oracle-dialect.js +1 -1
  56. package/src/core/db/dialect/postgres-dialect.js +1 -1
  57. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  58. package/src/core/db/flatten-helper.js +1 -1
  59. package/src/core/db/query-builder-error.js +1 -1
  60. package/src/core/db/query-builder.js +1 -1
  61. package/src/core/db/relation-helper.js +1 -1
  62. package/src/core/handlers/delete_handler.js +1 -1
  63. package/src/core/handlers/insert_handler.js +1 -1
  64. package/src/core/handlers/update_handler.js +1 -1
  65. package/src/core/models/base-model.js +1 -1
  66. package/src/core/utils/cache-manager.js +1 -1
  67. package/src/core/utils/component-engine.js +1 -1
  68. package/src/core/utils/context-builder.js +1 -1
  69. package/src/core/utils/datetime-formatter.js +1 -1
  70. package/src/core/utils/datetime-parser.js +1 -1
  71. package/src/core/utils/db.js +1 -1
  72. package/src/core/utils/logger.js +1 -1
  73. package/src/core/utils/payload-loader.js +1 -1
  74. package/src/core/utils/security-checks.js +1 -1
  75. package/src/middleware/body-options.js +1 -1
  76. package/src/middleware/cors.js +1 -1
  77. package/src/middleware/idempotency.js +1 -1
  78. package/src/middleware/rate-limiter.js +1 -1
  79. package/src/middleware/request-logger.js +1 -1
  80. package/src/middleware/security-headers.js +1 -1
  81. package/src/models/base-model-mysql.js +1 -1
  82. package/src/models/base-model-oracle.js +1 -1
  83. package/src/models/base-model-sqlite.js +1 -1
  84. package/src/models/base-model.js +1 -1
  85. package/src/pro/caching/redis-client.js +1 -1
  86. package/src/pro/caching/redis-helper.js +1 -1
  87. package/src/pro/consumers/baseConsumer.js +1 -1
  88. package/src/pro/consumers/declarativeMapper.js +1 -1
  89. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  90. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  91. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  92. package/src/pro/consumers/handlers/index.js +1 -1
  93. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  94. package/src/pro/consumers/index.js +1 -1
  95. package/src/pro/consumers/messageTransformer.js +1 -1
  96. package/src/pro/consumers/validator.js +1 -1
  97. package/src/pro/database/base-model-mysql.js +1 -1
  98. package/src/pro/database/base-model-oracle.js +1 -1
  99. package/src/pro/database/base-model-sqlite.js +1 -1
  100. package/src/pro/database/db-mysql.js +1 -1
  101. package/src/pro/database/db-oracle.js +1 -1
  102. package/src/pro/database/db-sqlite.js +1 -1
  103. package/src/pro/excel/excel-generator.js +1 -1
  104. package/src/pro/excel/excel-parser.js +1 -1
  105. package/src/pro/excel/export-service.js +1 -1
  106. package/src/pro/excel/export_handler.js +1 -1
  107. package/src/pro/excel/import-service.js +1 -1
  108. package/src/pro/excel/import-validator.js +1 -1
  109. package/src/pro/excel/import_handler.js +1 -1
  110. package/src/pro/excel/upsert-builder.js +1 -1
  111. package/src/pro/idgen/idgen-routes.js +1 -1
  112. package/src/pro/integrations/lookup-resolver.js +1 -1
  113. package/src/pro/integrations/upload-handler-v2.js +1 -1
  114. package/src/pro/integrations/upload-handler.js +1 -1
  115. package/src/pro/integrations/webhook.js +1 -1
  116. package/src/pro/locking/lock-routes.js +1 -1
  117. package/src/pro/locking/resource-lock-manager.js +1 -1
  118. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  119. package/src/pro/messaging/kafkaService.js +1 -1
  120. package/src/pro/messaging/messagehubService.js +1 -1
  121. package/src/pro/messaging/rabbitmqService.js +1 -1
  122. package/src/pro/scheduler/job-manager.js +1 -1
  123. package/src/pro/scheduler/job-routes.js +1 -1
  124. package/src/pro/scheduler/job-validator.js +1 -1
  125. package/src/pro/storage/base-storage-provider.js +1 -1
  126. package/src/pro/storage/file-metadata-helper.js +1 -1
  127. package/src/pro/storage/index.js +1 -1
  128. package/src/pro/storage/local-storage-provider.js +1 -1
  129. package/src/pro/storage/s3-storage-provider.js +1 -1
  130. package/src/pro/storage/upload-cleanup-job.js +1 -1
  131. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  132. package/src/pro/storage/upload-pending-tracker.js +1 -1
  133. package/src/pro/websocket/broadcast-helper.js +1 -1
  134. package/src/pro/websocket/index.js +1 -1
  135. package/src/pro/websocket/livesync-server.js +1 -1
  136. package/src/pro/websocket/ws-broadcaster.js +1 -1
  137. package/src/services/export-service.js +1 -1
  138. package/src/services/import-service.js +1 -1
  139. package/src/services/kafkaConsumerService.js +1 -1
  140. package/src/services/kafkaService.js +1 -1
  141. package/src/services/messagehubService.js +1 -1
  142. package/src/services/rabbitmqService.js +1 -1
  143. package/src/utils/cache-invalidation-registry.js +1 -1
  144. package/src/utils/cache-manager.js +1 -1
  145. package/src/utils/component-engine.js +1 -1
  146. package/src/utils/config-extractor.js +1 -1
  147. package/src/utils/consumerLogger.js +1 -1
  148. package/src/utils/context-builder.js +1 -1
  149. package/src/utils/dashboard-helpers.js +1 -1
  150. package/src/utils/dateHelper.js +1 -1
  151. package/src/utils/datetime-formatter.js +1 -1
  152. package/src/utils/datetime-parser.js +1 -1
  153. package/src/utils/db-bootstrap.js +1 -1
  154. package/src/utils/db-mysql.js +1 -1
  155. package/src/utils/db-oracle.js +1 -1
  156. package/src/utils/db-sqlite.js +1 -1
  157. package/src/utils/db.js +1 -1
  158. package/src/utils/demo-generator.js +1 -1
  159. package/src/utils/excel-generator.js +1 -1
  160. package/src/utils/excel-parser.js +1 -1
  161. package/src/utils/file-watcher.js +1 -1
  162. package/src/utils/id-generator.js +1 -1
  163. package/src/utils/idempotency-manager.js +1 -1
  164. package/src/utils/import-validator.js +1 -1
  165. package/src/utils/license-client.js +1 -1
  166. package/src/utils/lock-manager.js +1 -1
  167. package/src/utils/logger.js +1 -1
  168. package/src/utils/lookup-resolver.js +1 -1
  169. package/src/utils/payload-loader.js +1 -1
  170. package/src/utils/processor-response.js +1 -1
  171. package/src/utils/rabbitmq.js +1 -1
  172. package/src/utils/redis-client.js +1 -1
  173. package/src/utils/redis-helper.js +1 -1
  174. package/src/utils/request-scope.js +1 -1
  175. package/src/utils/security-checks.js +1 -1
  176. package/src/utils/service-resolver.js +1 -1
  177. package/src/utils/shutdown-coordinator.js +1 -1
  178. package/src/utils/trusted-keys.js +1 -1
  179. package/src/utils/upload-handler.js +1 -1
  180. package/src/utils/upsert-builder.js +1 -1
  181. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x33dda7=a0_0x1fe1;(function(_0x41e424,_0x40ae2d){const _0x10d295=a0_0x1fe1,_0x57d5d0=_0x41e424();while(!![]){try{const _0x505745=parseInt(_0x10d295(0x134))/0x1*(parseInt(_0x10d295(0x127))/0x2)+parseInt(_0x10d295(0x14e))/0x3*(-parseInt(_0x10d295(0x15f))/0x4)+-parseInt(_0x10d295(0x153))/0x5*(-parseInt(_0x10d295(0x16a))/0x6)+parseInt(_0x10d295(0x15d))/0x7+parseInt(_0x10d295(0x122))/0x8*(-parseInt(_0x10d295(0x168))/0x9)+-parseInt(_0x10d295(0x116))/0xa+-parseInt(_0x10d295(0x163))/0xb;if(_0x505745===_0x40ae2d)break;else _0x57d5d0['push'](_0x57d5d0['shift']());}catch(_0x19b352){_0x57d5d0['push'](_0x57d5d0['shift']());}}}(a0_0x5127,0x2f5c5));const redisClient=require(a0_0x33dda7(0x148)),{logger}=require(a0_0x33dda7(0x160)),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0xd79f29=a0_0x33dda7;this['_prefix']=null,this['_enabled']=null,this[_0xd79f29(0x117)]=null,this[_0xd79f29(0x166)]=null,this[_0xd79f29(0x14c)]=null,this['_strategy']=null,this[_0xd79f29(0x13e)]=null,this[_0xd79f29(0x123)]=![];}[a0_0x33dda7(0x15a)](){const _0x285a4a=a0_0x33dda7,_0x16ad21={'MOzbc':_0x285a4a(0x13b),'JFaHY':'true','OtFCg':function(_0xd5209a,_0x332750,_0x16df5d){return _0xd5209a(_0x332750,_0x16df5d);},'fLgit':_0x285a4a(0x16b)};this['_prefix']=_0x16ad21['MOzbc'],this['_enabled']=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x16ad21['JFaHY'],this[_0x285a4a(0x117)]=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this['_retryCount']=parseInt(process['env'][_0x285a4a(0x12b)],0xa)||0x3,this['_retryDelay']=_0x16ad21['OtFCg'](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x285a4a(0x141)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x285a4a(0x12d),this[_0x285a4a(0x13e)]=_0x285a4a(0x144)+process['pid'],this['_initialized']=!![],logger[_0x285a4a(0x15b)]({'event':_0x16ad21['fLgit'],'enabled':this[_0x285a4a(0x157)],'strategy':this['_strategy'],'ttl':this[_0x285a4a(0x117)],'retryCount':this[_0x285a4a(0x166)],'retryDelay':this[_0x285a4a(0x14c)],'workerId':this[_0x285a4a(0x13e)]},_0x285a4a(0x155)+this['_enabled']+_0x285a4a(0x14a)+this[_0x285a4a(0x141)]);}[a0_0x33dda7(0x14f)](){const _0x2a4da4=a0_0x33dda7;!this['_initialized']&&this[_0x2a4da4(0x15a)]();}get['prefix'](){const _0x3fa677=a0_0x33dda7;return this['_ensureInitialized'](),this[_0x3fa677(0x120)];}get['enabled'](){const _0x232a6b=a0_0x33dda7;return this[_0x232a6b(0x14f)](),this[_0x232a6b(0x157)];}get[a0_0x33dda7(0x11c)](){const _0x165cbc=a0_0x33dda7;return this[_0x165cbc(0x14f)](),this['_defaultTTL'];}get[a0_0x33dda7(0x140)](){const _0x374ad0=a0_0x33dda7;return this[_0x374ad0(0x14f)](),this['_retryCount'];}get['retryDelay'](){const _0x5167c7=a0_0x33dda7;return this[_0x5167c7(0x14f)](),this['_retryDelay'];}get['strategy'](){const _0x28a276=a0_0x33dda7;return this['_ensureInitialized'](),this[_0x28a276(0x141)];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x2170d4){const _0x34046b=a0_0x33dda7,{module:_0x12a1be,endpoint:_0x49187b,lockType:_0x5b6360,recordId:_0x612ab}=_0x2170d4;if(_0x612ab)return''+this['prefix']+_0x12a1be+':'+_0x49187b+':'+_0x612ab+':'+_0x5b6360;return''+this[_0x34046b(0x12e)]+_0x12a1be+':'+_0x49187b+':'+_0x5b6360;}['generateLockValue'](){const _0x66b239=a0_0x33dda7;return this[_0x66b239(0x124)]+':'+uuidv4()+':'+Date['now']();}async[a0_0x33dda7(0x152)](_0x22f3b3){const _0x35936d=a0_0x33dda7,_0x3e2446={'KXmVP':_0x35936d(0x12a),'lPVsK':function(_0x1fb3fb,_0x1d11fe){return _0x1fb3fb<_0x1d11fe;},'uASee':_0x35936d(0x132),'iWPga':'read_lock_waiting','aRJam':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','KDVCR':_0x35936d(0x115),'fXnZx':_0x35936d(0x150)};if(!this[_0x35936d(0x138)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x200cb2=this['buildLockKey']({..._0x22f3b3,'lockType':_0x3e2446[_0x35936d(0x154)]}),_0x6fcf70=this[_0x35936d(0x121)]({..._0x22f3b3,'lockType':'read'}),_0x1ee7d1=this[_0x35936d(0x159)]();try{const _0x49d096=redisClient['getClient']();for(let _0x4bc8a8=0x0;_0x3e2446[_0x35936d(0x143)](_0x4bc8a8,this['retryCount']);_0x4bc8a8++){const _0x3f1d2c=await _0x49d096['get'](_0x200cb2);if(!_0x3f1d2c){await _0x49d096['incr'](_0x6fcf70),await _0x49d096['expire'](_0x6fcf70,this[_0x35936d(0x11c)]);const _0x4d359c=_0x6fcf70+':'+_0x1ee7d1;return await _0x49d096[_0x35936d(0x13a)](_0x4d359c,this['defaultTTL'],_0x1ee7d1),logger[_0x35936d(0x15e)]({'event':_0x35936d(0x11b),'key':_0x6fcf70,'value':_0x1ee7d1},_0x3e2446['uASee']),{'success':!![],'lockValue':_0x1ee7d1,'lockKey':_0x4d359c};}logger['debug']({'event':_0x3e2446['iWPga'],'writeKey':_0x200cb2,'attempt':_0x4bc8a8},_0x3e2446[_0x35936d(0x145)]),await this[_0x35936d(0x11e)](this['retryDelay']*Math[_0x35936d(0x133)](0x2,_0x4bc8a8));}return logger['warn']({'event':_0x3e2446[_0x35936d(0x135)],'key':_0x6fcf70},_0x3e2446[_0x35936d(0x14d)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x40f037){return logger['error']({'event':'read_lock_error','error':_0x40f037['message']},_0x35936d(0x137)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x33dda7(0x11a)](_0x878322){const _0x17c5e9=a0_0x33dda7,_0x1bb7a9={'RxbZx':function(_0x25a8ae,_0x65aea3){return _0x25a8ae===_0x65aea3;},'acfYW':function(_0x1b7f3d,_0x2f6b8d){return _0x1b7f3d===_0x2f6b8d;},'GjKEq':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','dEEVo':function(_0x43b720,_0x247f77){return _0x43b720(_0x247f77);},'fVVtf':function(_0x30f57e,_0x169d97){return _0x30f57e===_0x169d97;},'gvXiX':_0x17c5e9(0x136)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x18c770=this['buildLockKey']({..._0x878322,'lockType':'write'}),_0x2009d4=this[_0x17c5e9(0x121)]({..._0x878322,'lockType':_0x17c5e9(0x167)}),_0x3f1c3a=this['generateLockValue']();try{const _0x554842=redisClient['getClient']();if(_0x1bb7a9[_0x17c5e9(0x12f)](this['strategy'],_0x17c5e9(0x118))){const _0x918e49=await _0x554842[_0x17c5e9(0x14b)](_0x18c770,_0x3f1c3a,'EX',this['defaultTTL'],'NX');if(_0x1bb7a9['acfYW'](_0x918e49,'OK'))return logger[_0x17c5e9(0x15e)]({'event':_0x17c5e9(0x15c),'key':_0x18c770,'value':_0x3f1c3a,'strategy':'reject'},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0x3f1c3a,'lockKey':_0x18c770};return logger['debug']({'event':_0x17c5e9(0x12c),'key':_0x18c770},_0x1bb7a9['GjKEq']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x429605=0x0;_0x429605<this['retryCount'];_0x429605++){const [_0x497d93,_0x552a09]=await Promise['all']([_0x554842[_0x17c5e9(0x149)](_0x2009d4),_0x554842['get'](_0x18c770)]);if(!_0x552a09&&(!_0x497d93||_0x1bb7a9[_0x17c5e9(0x142)](_0x1bb7a9['dEEVo'](parseInt,_0x497d93),0x0))){const _0x617c5=await _0x554842['set'](_0x18c770,_0x3f1c3a,'EX',this[_0x17c5e9(0x11c)],'NX');if(_0x1bb7a9[_0x17c5e9(0x130)](_0x617c5,'OK'))return logger['debug']({'event':_0x17c5e9(0x15c),'key':_0x18c770,'value':_0x3f1c3a,'strategy':'retry'},'WRITE\x20lock\x20acquired\x20(retry\x20mode)'),{'success':!![],'lockValue':_0x3f1c3a,'lockKey':_0x18c770};}logger[_0x17c5e9(0x15e)]({'event':_0x17c5e9(0x169),'writeKey':_0x18c770,'readCount':_0x497d93,'attempt':_0x429605},'Waiting\x20for\x20locks\x20to\x20release'),await this['sleep'](this[_0x17c5e9(0x158)]*Math['pow'](0x2,_0x429605));}return logger[_0x17c5e9(0x147)]({'event':'write_lock_timeout','key':_0x18c770},_0x17c5e9(0x162)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x198cab){return logger['error']({'event':_0x1bb7a9[_0x17c5e9(0x11d)],'error':_0x198cab[_0x17c5e9(0x125)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x33dda7(0x151)](_0x476788,_0x354af7){const _0x36f677=a0_0x33dda7,_0x2928e6={'afPuD':_0x36f677(0x165),'XLoMn':_0x36f677(0x13c),'prwzY':'write_lock_released','vqIih':_0x36f677(0x114),'gYufi':'Cannot\x20release\x20lock\x20-\x20not\x20owner','IhZXU':'Lock\x20release\x20error'};if(!this['enabled']||!_0x476788)return!![];try{const _0x3c134c=redisClient['getClient']();if(_0x476788['includes'](_0x2928e6['afPuD'])){await _0x3c134c['del'](_0x476788);const _0x980f5a=_0x476788[_0x36f677(0x156)](0x0,_0x476788['lastIndexOf'](':')),_0x2674e3=await _0x3c134c['get'](_0x980f5a);return _0x2674e3&&parseInt(_0x2674e3)>0x0&&await _0x3c134c[_0x36f677(0x13d)](_0x980f5a),logger[_0x36f677(0x15e)]({'event':_0x2928e6[_0x36f677(0x11f)],'key':_0x476788},_0x36f677(0x131)),!![];}const _0x29070b='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x2548e9=await _0x3c134c[_0x36f677(0x13f)](_0x29070b,0x1,_0x476788,_0x354af7);if(_0x2548e9===0x1)return logger['debug']({'event':_0x2928e6['prwzY'],'key':_0x476788},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':_0x2928e6['vqIih'],'key':_0x476788},_0x2928e6[_0x36f677(0x126)]),![];}catch(_0x501f50){return logger[_0x36f677(0x139)]({'event':'lock_release_error','key':_0x476788,'error':_0x501f50['message']},_0x2928e6['IhZXU']),![];}}async['extendLock'](_0x309b59,_0x1a52d6,_0x10c437=null){const _0x35860a=a0_0x33dda7,_0x44976d={'tqIlM':function(_0x5921ba,_0x50233f){return _0x5921ba===_0x50233f;},'pxrml':_0x35860a(0x161),'RoJyO':'Lock\x20TTL\x20extended','nqQkD':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x309b59)return!![];try{const _0x1ff237=redisClient[_0x35860a(0x119)](),_0x53d7e9='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x4f4fdc=await _0x1ff237['eval'](_0x53d7e9,0x1,_0x309b59,_0x1a52d6,_0x10c437||this['defaultTTL']);if(_0x44976d['tqIlM'](_0x4f4fdc,0x1))return logger[_0x35860a(0x15e)]({'event':_0x44976d[_0x35860a(0x164)],'key':_0x309b59,'ttl':_0x10c437||this['defaultTTL']},_0x44976d['RoJyO']),!![];return![];}catch(_0x23caa3){return logger[_0x35860a(0x139)]({'event':'lock_extend_error','key':_0x309b59,'error':_0x23caa3[_0x35860a(0x125)]},_0x44976d['nqQkD']),![];}}[a0_0x33dda7(0x129)](){return this['enabled'];}['sleep'](_0x17e445){return new Promise(_0x4d175b=>setTimeout(_0x4d175b,_0x17e445));}async[a0_0x33dda7(0x128)](_0x7fe435){const _0x598ed6=a0_0x33dda7,_0x25b089={'lxxbK':function(_0x4ec4a7,_0x231175){return _0x4ec4a7(_0x231175);}};if(!this['enabled'])return{'enabled':![]};try{const _0x56067b=redisClient['getClient'](),_0x3dce00=this['buildLockKey']({..._0x7fe435,'lockType':'write'}),_0x3f0004=this['buildLockKey']({..._0x7fe435,'lockType':_0x598ed6(0x167)}),[_0x12dc8a,_0x49465c]=await Promise[_0x598ed6(0x146)]([_0x56067b[_0x598ed6(0x149)](_0x3dce00),_0x56067b[_0x598ed6(0x149)](_0x3f0004)]);return{'enabled':!![],'writeLock':_0x12dc8a||null,'readCount':_0x25b089['lxxbK'](parseInt,_0x49465c)||0x0,'writeKey':_0x3dce00,'readKey':_0x3f0004};}catch(_0x53ff9b){return{'enabled':!![],'error':_0x53ff9b[_0x598ed6(0x125)]};}}}function a0_0x5127(){const _0x3058cc=['D29YA2vYswq','BwvZC2fNzq','z1L1zMK','offpwMD6qq','z2v0tg9JA0LUzM8','AxnfBMfIBgvK','D3jPDgu','te9ds19esvnuuKLcvvrfrf9srvrswq','D3jPDgvFBg9JA19YzwPLy3rLza','CMv0CNK','ChjLzML4','uNHIwNG','zLzwDgy','uKvbrcbSB2nRihjLBgvHC2vK','uKvbrcbSB2nRigfJCxvPCMvK','Cg93','nJKXntDJC1fHCNi','s0rwq1i','D3jPDgvFBg9JA19LCNjVCG','uKvbrcbSB2nRigvYCM9Y','zw5HyMXLza','zxjYB3i','C2v0zxG','CMy6Bg9JAZO','CMvHzf9SB2nRx3jLBgvHC2vK','zgvJCG','x3DVCMTLCKLK','zxzHBa','CMv0CNLdB3vUDa','x3n0CMf0zwD5','ywnMwvC','BfbwC0S','D29YA2vYlq','yvjkyw0','ywXS','D2fYBG','lI9YzwrPCY1JBgLLBNq','z2v0','lcbZDhjHDgvNEtOG','C2v0','x3jLDhj5rgvSyxK','zLHUwNG','mZaZmZLgz2rHqMW','x2vUC3vYzuLUAxrPywXPEMvK','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','CMvSzwfZzuXVy2S','ywnXDwLYzvjLywrmB2nR','odm1nda1D2vLBNf0','s1HTvLa','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','C3vIC3rYAw5N','x2vUywjSzwq','CMv0CNLezwXHEq','z2vUzxjHDgvmB2nRvMfSDwu','x2LUAxrdB25MAwC','Aw5MBW','D3jPDgvFBg9JA19Hy3f1AxjLza','mtGXmdKZnxvsBfjowq','zgvIDwC','nhv4yLLUEq','lI9SB2DNzxi','Bg9JA19LEhrLBMrLza','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','nJGXntyWzLjstMzU','ChHYBwW','oNjLywq6','x3jLDhj5q291BNq','CMvHza','mtaZnwfHrhHZrq','D3jPDgvFBg9JA193ywL0Aw5N','nKfSBerxwq','Bg9JA19JB25MAwDFAw5PDa','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','CMvHzf9SB2nRx3rPBwvVDxq','mJK4ndy3mgHjv3LMCG','x2rLzMf1BhruveW','CMvQzwn0','z2v0q2XPzw50','ywnXDwLYzvDYAxrLtg9JAW','CMvHzf9SB2nRx2fJCxvPCMvK','zgvMyxvSDfruta','z3zyAvG','C2XLzxa','weXVtw4','x3bYzwzPEa','yNvPBgrmB2nRs2v5','otu5mLH5vhHira','x2LUAxrPywXPEMvK'];a0_0x5127=function(){return _0x3058cc;};return a0_0x5127();}function a0_0x1fe1(_0x44a975,_0x40994d){_0x44a975=_0x44a975-0x114;const _0x512764=a0_0x5127();let _0x1fe1f1=_0x512764[_0x44a975];if(a0_0x1fe1['ZoccLZ']===undefined){var _0x3cace4=function(_0x5dfffd){const _0x385bdf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59232c='',_0x34d470='';for(let _0x3b70c8=0x0,_0x54405,_0x2c6f08,_0x377a76=0x0;_0x2c6f08=_0x5dfffd['charAt'](_0x377a76++);~_0x2c6f08&&(_0x54405=_0x3b70c8%0x4?_0x54405*0x40+_0x2c6f08:_0x2c6f08,_0x3b70c8++%0x4)?_0x59232c+=String['fromCharCode'](0xff&_0x54405>>(-0x2*_0x3b70c8&0x6)):0x0){_0x2c6f08=_0x385bdf['indexOf'](_0x2c6f08);}for(let _0x18c720=0x0,_0x24d3fe=_0x59232c['length'];_0x18c720<_0x24d3fe;_0x18c720++){_0x34d470+='%'+('00'+_0x59232c['charCodeAt'](_0x18c720)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x34d470);};a0_0x1fe1['dvOnCw']=_0x3cace4,a0_0x1fe1['LWBezu']={},a0_0x1fe1['ZoccLZ']=!![];}const _0x67ed8a=_0x512764[0x0],_0x11fafd=_0x44a975+_0x67ed8a,_0x44cf5f=a0_0x1fe1['LWBezu'][_0x11fafd];return!_0x44cf5f?(_0x1fe1f1=a0_0x1fe1['dvOnCw'](_0x1fe1f1),a0_0x1fe1['LWBezu'][_0x11fafd]=_0x1fe1f1):_0x1fe1f1=_0x44cf5f,_0x1fe1f1;}module['exports']=new LockManager();
1
+ function a0_0xe44b(){const _0x3056c0=['CMvQzwn0','te9ds19esvnuuKLcvvrfrf9srvrswq','mtu0mtyWwuviwxjd','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','zw52','tg9JAYbYzwXLyxnLigvYCM9Y','D3jPDgvFBg9JA193ywL0Aw5N','x3DVCMTLCKLK','v1jjveuGBg9JAYbYzwXLyxnLza','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','vgLnEw8','odu0nePjAfDszW','CMvSzwfZzuXVy2S','tg9JAYbLEhrLBMqGzxjYB3i','te9ds19esvnuuKLcvvrfrf9uveW','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','x3n0CMf0zwD5','x2rLzMf1BhruveW','Dhj1zq','ne5Rq2ztuW','AxnfBMfIBgvK','x3jLDhj5rgvSyxK','wgD4ywu','mZG5nJa1nw90z2THBa','zxzHBa','q25Rqvy','D3jPDgu','D2fYBG','z2v0','D3jPDgvFBg9JA19Hy3f1AxjLza','CMv0CNLezwXHEq','Bez0y2i','C2v0zxG','CMv0CNK','tg9JAYbuveWGzxH0zw5Kzwq','Bg9JA19YzwXLyxnLx2vYCM9Y','CMy6Bg9JAZO','C0DTwu4','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','uKvbrcbSB2nRigfJCxvPCMvK','DevqC3O','rxrwvwy','zgvIDwC','yNvPBgrmB2nRs2v5','zxHWAxjL','rNrwqM4','C2XLzxa','mZi2nJK1wuXiD1jy','C3rYyxrLz3K','z2v0q2XPzw50','mZaYmevpzwHlAW','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','ywXS','C3brzey','zNbNCMm','zgvMyxvSDfruta','D29YA2vYswq','ywnXDwLYzvjLywrmB2nR','mta4mdG3mdzoDK9guhq','ndGXmdnJy3L2tK0','x2vUC3vYzuLUAxrPywXPEMvK','D3jPDgvFBg9JA19LCNjVCG','werPzvO','mZu4nZaXovnxswHZqq','CMvHza','C2rcu2O','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','vwLtD2S','x3bYzwzPEa','zxjYB3i','BwvZC2fNzq','CMv0CNLdB3vUDa','z2vUzxjHDgvmB2nRvMfSDwu','nZzdu1zpDhK','x2LUAxrPywXPEMvK','uMLvBvm','zw5HyMXLza','s3Ltqvu','uKvbrcbSB2nRigvYCM9Y','tfnWrMq','x3jLDhj5q291BNq','x2vUywjSzwq','D3jPDgvFBg9JA19YzwXLyxnLza','lcbZDhjHDgvNEtOG','rgfTtLG','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','nJe4mwj6sKjOzq','ChjLzML4','ywnXDwLYzvDYAxrLtg9JAW','CMvHzf9SB2nRx3jLBgvHC2vK','uKvbrcbSB2nRihjLBgvHC2vK'];a0_0xe44b=function(){return _0x3056c0;};return a0_0xe44b();}const a0_0x5b31f6=a0_0x2341;(function(_0x1870ee,_0x328079){const _0x22ef86=a0_0x2341,_0x45ebb4=_0x1870ee();while(!![]){try{const _0x559088=parseInt(_0x22ef86(0xfc))/0x1*(-parseInt(_0x22ef86(0xe0))/0x2)+parseInt(_0x22ef86(0x10c))/0x3+parseInt(_0x22ef86(0x116))/0x4*(-parseInt(_0x22ef86(0x12a))/0x5)+parseInt(_0x22ef86(0x107))/0x6+-parseInt(_0x22ef86(0x123))/0x7*(-parseInt(_0x22ef86(0x133))/0x8)+-parseInt(_0x22ef86(0xe4))/0x9+parseInt(_0x22ef86(0xff))/0xa*(-parseInt(_0x22ef86(0x108))/0xb);if(_0x559088===_0x328079)break;else _0x45ebb4['push'](_0x45ebb4['shift']());}catch(_0x4ae348){_0x45ebb4['push'](_0x45ebb4['shift']());}}}(a0_0xe44b,0xe74e5));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x131d36=a0_0x2341;this[_0x131d36(0x111)]=null,this[_0x131d36(0x11e)]=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x131d36(0xe2)]=null,this['_strategy']=null,this[_0x131d36(0x12f)]=null,this['_initialized']=![];}['_initConfig'](){const _0x271504=a0_0x2341,_0x468762={'spQdF':_0x271504(0xf1),'IYMtH':function(_0x5d3ff7,_0x4e87ed){return _0x5d3ff7===_0x4e87ed;},'EtVUf':function(_0x190e15,_0x2cccb0,_0x19857b){return _0x190e15(_0x2cccb0,_0x19857b);}};this[_0x271504(0x111)]=_0x468762[_0x271504(0x102)],this['_enabled']=_0x468762['IYMtH'](process[_0x271504(0x12c)]['LOCK_DISTRIBUTED_ENABLED'],_0x271504(0xdf)),this[_0x271504(0xde)]=_0x468762['EtVUf'](parseInt,process[_0x271504(0x12c)][_0x271504(0xdb)],0xa)||0xa,this[_0x271504(0x11d)]=_0x468762['EtVUf'](parseInt,process['env'][_0x271504(0x129)],0xa)||0x3,this[_0x271504(0xe2)]=_0x468762[_0x271504(0xf6)](parseInt,process['env'][_0x271504(0x100)],0xa)||0x64,this['_strategy']=process['env'][_0x271504(0xf3)]||_0x271504(0xee),this[_0x271504(0x12f)]='worker-'+process['pid'],this['_initialized']=!![],logger['info']({'event':'lock_config_init','enabled':this[_0x271504(0x11e)],'strategy':this[_0x271504(0xdd)],'ttl':this[_0x271504(0xde)],'retryCount':this['_retryCount'],'retryDelay':this['_retryDelay'],'workerId':this[_0x271504(0x12f)]},_0x271504(0x131)+this['_enabled']+_0x271504(0x120)+this[_0x271504(0xdd)]);}['_ensureInitialized'](){const _0x41f137=a0_0x2341;!this[_0x41f137(0x117)]&&this['_initConfig']();}get[a0_0x5b31f6(0x124)](){return this['_ensureInitialized'](),this['_prefix'];}get['enabled'](){const _0x50b8cd=a0_0x5b31f6;return this[_0x50b8cd(0x109)](),this[_0x50b8cd(0x11e)];}get['defaultTTL'](){const _0x436c5b=a0_0x5b31f6;return this[_0x436c5b(0x109)](),this['_defaultTTL'];}get[a0_0x5b31f6(0x114)](){const _0x5793d1=a0_0x5b31f6;return this[_0x5793d1(0x109)](),this['_retryCount'];}get['retryDelay'](){return this['_ensureInitialized'](),this['_retryDelay'];}get['strategy'](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x5b31f6(0x105)](){const _0x16ac4a=a0_0x5b31f6;return this[_0x16ac4a(0x109)](),this[_0x16ac4a(0x12f)];}['buildLockKey'](_0x221f36){const _0x13fcc0=a0_0x5b31f6,{module:_0x15d80f,endpoint:_0x412f27,lockType:_0x37e4db,recordId:_0x14b982}=_0x221f36;if(_0x14b982)return''+this[_0x13fcc0(0x124)]+_0x15d80f+':'+_0x412f27+':'+_0x14b982+':'+_0x37e4db;return''+this['prefix']+_0x15d80f+':'+_0x412f27+':'+_0x37e4db;}['generateLockValue'](){const _0x599e6c=a0_0x5b31f6,_0x8325a0={'TiMyo':function(_0x3aa16d){return _0x3aa16d();}};return this['workerId']+':'+_0x8325a0[_0x599e6c(0x132)](uuidv4)+':'+Date['now']();}async[a0_0x5b31f6(0x106)](_0x3232c1){const _0x204cbf=a0_0x5b31f6,_0x26f984={'qisOP':_0x204cbf(0xe7),'HKHyj':'read','sGmYN':function(_0x325b25,_0x3726b2){return _0x325b25<_0x3726b2;},'fpgrc':'read_lock_acquired','Uvscq':'read_lock_waiting','Xgxae':'read_lock_timeout','LSpFd':'read_lock_error','lFtcb':_0x204cbf(0x11b)};if(!this[_0x204cbf(0x119)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x20dcdc=this[_0x204cbf(0xf8)]({..._0x3232c1,'lockType':_0x26f984['qisOP']}),_0x1b5848=this[_0x204cbf(0xf8)]({..._0x3232c1,'lockType':_0x26f984['HKHyj']}),_0x1883a4=this[_0x204cbf(0x115)]();try{const _0x468f18=redisClient['getClient']();for(let _0x39f827=0x0;_0x26f984[_0x204cbf(0xf2)](_0x39f827,this['retryCount']);_0x39f827++){const _0x5a50d8=await _0x468f18[_0x204cbf(0xe9)](_0x20dcdc);if(!_0x5a50d8){await _0x468f18['incr'](_0x1b5848),await _0x468f18[_0x204cbf(0xf9)](_0x1b5848,this['defaultTTL']);const _0x46fa49=_0x1b5848+':'+_0x1883a4;return await _0x468f18[_0x204cbf(0xed)](_0x46fa49,this[_0x204cbf(0x104)],_0x1883a4),logger[_0x204cbf(0xf7)]({'event':_0x26f984[_0x204cbf(0x103)],'key':_0x1b5848,'value':_0x1883a4},_0x204cbf(0xf4)),{'success':!![],'lockValue':_0x1883a4,'lockKey':_0x46fa49};}logger[_0x204cbf(0xf7)]({'event':_0x26f984['Uvscq'],'writeKey':_0x20dcdc,'attempt':_0x39f827},_0x204cbf(0x12b)),await this[_0x204cbf(0xfb)](this['retryDelay']*Math['pow'](0x2,_0x39f827));}return logger['warn']({'event':_0x26f984[_0x204cbf(0xe3)],'key':_0x1b5848},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x386aea){return logger[_0x204cbf(0x112)]({'event':_0x26f984[_0x204cbf(0x11c)],'error':_0x386aea[_0x204cbf(0x113)]},_0x26f984[_0x204cbf(0xec)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x5b31f6(0x125)](_0x34760f){const _0x381d9c=a0_0x5b31f6,_0x33892d={'BymQw':'write_lock_acquired','FtVBn':_0x381d9c(0xdc),'DamNX':function(_0x22f4b9,_0x20c792){return _0x22f4b9<_0x20c792;},'DxJsD':function(_0x520f85,_0x20f6e2){return _0x520f85===_0x20f6e2;},'HDEDk':function(_0x56f535,_0x51a849){return _0x56f535(_0x51a849);},'NYNNu':function(_0x1203c7,_0xa4a7ab){return _0x1203c7===_0xa4a7ab;},'RiUmS':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','LtSfT':_0x381d9c(0x12e),'lqfVv':'WRITE\x20lock\x20acquire\x20timeout','XDieZ':'WRITE\x20lock\x20error'};if(!this[_0x381d9c(0x119)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5d5453=this[_0x381d9c(0xf8)]({..._0x34760f,'lockType':'write'}),_0x866fc9=this[_0x381d9c(0xf8)]({..._0x34760f,'lockType':_0x381d9c(0x10d)}),_0xf140cd=this[_0x381d9c(0x115)]();try{const _0x18a392=redisClient['getClient']();if(this[_0x381d9c(0xfd)]===_0x381d9c(0x128)){const _0x68dc34=await _0x18a392['set'](_0x5d5453,_0xf140cd,'EX',this[_0x381d9c(0x104)],'NX');if(_0x68dc34==='OK')return logger[_0x381d9c(0xf7)]({'event':_0x33892d['BymQw'],'key':_0x5d5453,'value':_0xf140cd,'strategy':_0x381d9c(0x128)},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0xf140cd,'lockKey':_0x5d5453};return logger['debug']({'event':'write_lock_rejected','key':_0x5d5453},_0x33892d[_0x381d9c(0xfa)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x31d167=0x0;_0x33892d[_0x381d9c(0x121)](_0x31d167,this['retryCount']);_0x31d167++){const [_0x3925ea,_0x20ac61]=await Promise[_0x381d9c(0x101)]([_0x18a392[_0x381d9c(0xe9)](_0x866fc9),_0x18a392[_0x381d9c(0xe9)](_0x5d5453)]);if(!_0x20ac61&&(!_0x3925ea||_0x33892d['DxJsD'](_0x33892d['HDEDk'](parseInt,_0x3925ea),0x0))){const _0x395f45=await _0x18a392['set'](_0x5d5453,_0xf140cd,'EX',this['defaultTTL'],'NX');if(_0x33892d['NYNNu'](_0x395f45,'OK'))return logger[_0x381d9c(0xf7)]({'event':_0x381d9c(0xea),'key':_0x5d5453,'value':_0xf140cd,'strategy':'retry'},_0x33892d[_0x381d9c(0x118)]),{'success':!![],'lockValue':_0xf140cd,'lockKey':_0x5d5453};}logger['debug']({'event':_0x33892d['LtSfT'],'writeKey':_0x5d5453,'readCount':_0x3925ea,'attempt':_0x31d167},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x381d9c(0xfb)](this[_0x381d9c(0xeb)]*Math['pow'](0x2,_0x31d167));}return logger[_0x381d9c(0xe8)]({'event':'write_lock_timeout','key':_0x5d5453},_0x33892d['lqfVv']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3767eb){return logger['error']({'event':_0x381d9c(0x10a),'error':_0x3767eb[_0x381d9c(0x113)]},_0x33892d[_0x381d9c(0x10b)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x5b31f6(0x134)](_0x18eee7,_0x212bbc){const _0x414f96=a0_0x5b31f6,_0x2802a8={'sdBSj':':read:','YWiGE':function(_0x45ce88,_0x3b23f7){return _0x45ce88>_0x3b23f7;},'pevWP':function(_0x29b019,_0x564d54){return _0x29b019(_0x564d54);},'CnkAV':_0x414f96(0x127),'gXccz':_0x414f96(0x11f),'KySAU':_0x414f96(0x130)};if(!this[_0x414f96(0x119)]||!_0x18eee7)return!![];try{const _0x53c5a4=redisClient['getClient']();if(_0x18eee7['includes'](_0x2802a8[_0x414f96(0x10e)])){await _0x53c5a4['del'](_0x18eee7);const _0x3ce40d=_0x18eee7['substring'](0x0,_0x18eee7['lastIndexOf'](':')),_0x4783fa=await _0x53c5a4[_0x414f96(0xe9)](_0x3ce40d);return _0x4783fa&&_0x2802a8['YWiGE'](_0x2802a8['pevWP'](parseInt,_0x4783fa),0x0)&&await _0x53c5a4['decr'](_0x3ce40d),logger[_0x414f96(0xf7)]({'event':_0x414f96(0x126),'key':_0x18eee7},_0x2802a8[_0x414f96(0xe6)]),!![];}const _0x3f124a=_0x414f96(0x10f),_0xe03713=await _0x53c5a4[_0x414f96(0xe5)](_0x3f124a,0x1,_0x18eee7,_0x212bbc);if(_0xe03713===0x1)return logger[_0x414f96(0xf7)]({'event':_0x2802a8['gXccz'],'key':_0x18eee7},_0x2802a8[_0x414f96(0x11a)]),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x18eee7},_0x414f96(0x122)),![];}catch(_0x46df32){return logger[_0x414f96(0x112)]({'event':_0x414f96(0xf0),'key':_0x18eee7,'error':_0x46df32['message']},_0x414f96(0x12d)),![];}}async['extendLock'](_0x2c8bef,_0x1ec7db,_0x54569e=null){const _0x5c2b5b=a0_0x5b31f6,_0x53bfb4={'tEPsz':function(_0x387c20,_0x3d8fc4){return _0x387c20===_0x3d8fc4;},'cTjgH':_0x5c2b5b(0xef),'seSuW':_0x5c2b5b(0xda)};if(!this[_0x5c2b5b(0x119)]||!_0x2c8bef)return!![];try{const _0x43e79b=redisClient[_0x5c2b5b(0xfe)](),_0x2119fa='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x8e04cb=await _0x43e79b['eval'](_0x2119fa,0x1,_0x2c8bef,_0x1ec7db,_0x54569e||this['defaultTTL']);if(_0x53bfb4[_0x5c2b5b(0xf5)](_0x8e04cb,0x1))return logger['debug']({'event':'lock_extended','key':_0x2c8bef,'ttl':_0x54569e||this['defaultTTL']},_0x53bfb4['cTjgH']),!![];return![];}catch(_0x3f798f){return logger['error']({'event':'lock_extend_error','key':_0x2c8bef,'error':_0x3f798f[_0x5c2b5b(0x113)]},_0x53bfb4['seSuW']),![];}}[a0_0x5b31f6(0xe1)](){return this['enabled'];}['sleep'](_0xe294db){return new Promise(_0x6f2180=>setTimeout(_0x6f2180,_0xe294db));}async['getLockInfo'](_0x309e4d){const _0x38cf04=a0_0x5b31f6,_0x2fb31f={'OIsZU':'read','yyYjT':function(_0x50e1a5,_0x1872ab){return _0x50e1a5||_0x1872ab;},'UiSwk':function(_0x4f6848,_0x53ce54){return _0x4f6848(_0x53ce54);}};if(!this[_0x38cf04(0x119)])return{'enabled':![]};try{const _0x3a8ba0=redisClient['getClient'](),_0x4d693f=this[_0x38cf04(0xf8)]({..._0x309e4d,'lockType':_0x38cf04(0xe7)}),_0x427508=this['buildLockKey']({..._0x309e4d,'lockType':_0x2fb31f['OIsZU']}),[_0x5847cc,_0x12cb49]=await Promise['all']([_0x3a8ba0['get'](_0x4d693f),_0x3a8ba0['get'](_0x427508)]);return{'enabled':!![],'writeLock':_0x2fb31f['yyYjT'](_0x5847cc,null),'readCount':_0x2fb31f[_0x38cf04(0x110)](parseInt,_0x12cb49)||0x0,'writeKey':_0x4d693f,'readKey':_0x427508};}catch(_0x4aaed6){return{'enabled':!![],'error':_0x4aaed6[_0x38cf04(0x113)]};}}}function a0_0x2341(_0x272823,_0x1d792c){_0x272823=_0x272823-0xda;const _0xe44b9f=a0_0xe44b();let _0x234165=_0xe44b9f[_0x272823];if(a0_0x2341['nXsOZP']===undefined){var _0x51a4c0=function(_0x1a6fce){const _0x2069af='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x333176='',_0x5875e1='';for(let _0x246dbb=0x0,_0x177aff,_0xd7d1e9,_0x10e9b0=0x0;_0xd7d1e9=_0x1a6fce['charAt'](_0x10e9b0++);~_0xd7d1e9&&(_0x177aff=_0x246dbb%0x4?_0x177aff*0x40+_0xd7d1e9:_0xd7d1e9,_0x246dbb++%0x4)?_0x333176+=String['fromCharCode'](0xff&_0x177aff>>(-0x2*_0x246dbb&0x6)):0x0){_0xd7d1e9=_0x2069af['indexOf'](_0xd7d1e9);}for(let _0x28daab=0x0,_0x53707f=_0x333176['length'];_0x28daab<_0x53707f;_0x28daab++){_0x5875e1+='%'+('00'+_0x333176['charCodeAt'](_0x28daab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5875e1);};a0_0x2341['MboTHC']=_0x51a4c0,a0_0x2341['DfvnoW']={},a0_0x2341['nXsOZP']=!![];}const _0xe4b395=_0xe44b9f[0x0],_0xee45f7=_0x272823+_0xe4b395,_0x23e82e=a0_0x2341['DfvnoW'][_0xee45f7];return!_0x23e82e?(_0x234165=a0_0x2341['MboTHC'](_0x234165),a0_0x2341['DfvnoW'][_0xee45f7]=_0x234165):_0x234165=_0x23e82e,_0x234165;}module['exports']=new LockManager();
@@ -1 +1 @@
1
- const a0_0x257325=a0_0x209b;(function(_0x24fa6c,_0x140019){const _0x110522=a0_0x209b,_0x2fcbc9=_0x24fa6c();while(!![]){try{const _0x58f195=parseInt(_0x110522(0x1bd))/0x1*(-parseInt(_0x110522(0x127))/0x2)+parseInt(_0x110522(0x12e))/0x3+-parseInt(_0x110522(0x197))/0x4+-parseInt(_0x110522(0x16b))/0x5*(parseInt(_0x110522(0x13b))/0x6)+-parseInt(_0x110522(0x1ad))/0x7+parseInt(_0x110522(0x1ab))/0x8+parseInt(_0x110522(0x1b4))/0x9;if(_0x58f195===_0x140019)break;else _0x2fcbc9['push'](_0x2fcbc9['shift']());}catch(_0x34f4c1){_0x2fcbc9['push'](_0x2fcbc9['shift']());}}}(a0_0x1e14,0xf1d66));const pino=require(a0_0x257325(0x11e)),fs=require('fs'),path=require(a0_0x257325(0x1cf));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x257325(0x1b5),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x209b(_0x6c6a11,_0x4ba28e){_0x6c6a11=_0x6c6a11-0x11e;const _0x1e1488=a0_0x1e14();let _0x209b59=_0x1e1488[_0x6c6a11];if(a0_0x209b['nAffaz']===undefined){var _0x2d3da1=function(_0x38f02b){const _0x3f050a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x111720='',_0x29fb9b='';for(let _0x4451ad=0x0,_0x1892bb,_0x65ec5b,_0x43709e=0x0;_0x65ec5b=_0x38f02b['charAt'](_0x43709e++);~_0x65ec5b&&(_0x1892bb=_0x4451ad%0x4?_0x1892bb*0x40+_0x65ec5b:_0x65ec5b,_0x4451ad++%0x4)?_0x111720+=String['fromCharCode'](0xff&_0x1892bb>>(-0x2*_0x4451ad&0x6)):0x0){_0x65ec5b=_0x3f050a['indexOf'](_0x65ec5b);}for(let _0x35994a=0x0,_0x672fd3=_0x111720['length'];_0x35994a<_0x672fd3;_0x35994a++){_0x29fb9b+='%'+('00'+_0x111720['charCodeAt'](_0x35994a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29fb9b);};a0_0x209b['apTZIa']=_0x2d3da1,a0_0x209b['bfHLCD']={},a0_0x209b['nAffaz']=!![];}const _0x42f4d6=_0x1e1488[0x0],_0x4da024=_0x6c6a11+_0x42f4d6,_0x3f29cc=a0_0x209b['bfHLCD'][_0x4da024];return!_0x3f29cc?(_0x209b59=a0_0x209b['apTZIa'](_0x209b59),a0_0x209b['bfHLCD'][_0x4da024]=_0x209b59):_0x209b59=_0x3f29cc,_0x209b59;}const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x257325(0x15c),'hideObject':!![]},isDevelopment=process['env'][a0_0x257325(0x164)]!=='production',logLevel=process[a0_0x257325(0x18f)][a0_0x257325(0x1c7)]||'info';function a0_0x1e14(){const _0x5b0bac=['BxmP','Cg9YDa','yxbPA2v5','mtu2mZLIDfPsCwW','uLHpuhq','rgf0ywjHC2u6ia','ic0G','Dg9Rzw4','Dw5JyxvNAhrfEgnLChrPB24','tM9Kzs5QCW','y29UBMvJDgLVBG','D2fYBG','Ew9AB0u','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','y2HPBgq','rermx0rst1a','nJznBxLREwq','BwvZC2fNzq','C3rHDhvZq29Kzq','tvjHs1i','ENLcs04','Dhj1zq','B2H2DMO','C2vYDMvYx3n0yxj0Aw5N','zfzXBxi','BwfW','yLbYuKm','wezTwKq','CgLK','zxHPDa','zfb2Axu','B0Dbt1G','DxjS','zxHWB3j0CW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','uhHzvLm','vfjbtLnbq1rjt05Fq09ntuLu','zgv2zwXVCg1LBNq','DhjPBq','rKfuquW6ia','w09lxsbqCM9Qzwn0igXVywrLzdOG','vMLwvMu','DhLWzq','C2vftuG','Ahr0Cf9LCNjVCG','qu9kDhq','w1jfrefdvevexq','Ahr0Cf9Yzxf1zxn0','q1jjveLdquW','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','zw52AxjVBM1LBNq','B2jQzwn0','yxbPs2v5','y3z2','revuDuC','zgjFCxvLCNK','ve9uu2G','tK9erv9ftLy','BwvTB3j5vxnHz2u','DgvZDa','Ec1Yzxf1zxn0lwLK','Dg9ju09tDhjPBMC','AxPuCeu','Ag9ZDa','ntyWnZuWEevSqKvf','revmrvrf','w1jfrefdveveoMHHC2HD','CgLU','yxDADeC','uefNEei','z2v0','Bwf4','y3jLzgL0x2nHCMq','CMvWzwf0','BhjTwfq','qNDQwem','uhjVy2vZCYbxyxjUAw5NoIa','sMrnAhq','CgfYyw1Z','sfruuca','y29UzMLNrMLSzq','zhvYyxrPB25nCW','zgf0ywjHC2u','Bwf0y2G','AgvHBhrOq2HLy2S','tuTKAwq','CxvLCNK','ChDK','iokvKqRILzeGiefqssblzxKGicaGidOG','C29Tzq','AM9PBG','Aw5MBW','q05oqM0','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','vhjHBNnHy3rPB24G','vvbeqvrf','CMvZDgzVCMDL','CeHdD2q','C2vYDMLJzuLUzM8','C3rHDhvZ','zw52','C3fSx3f1zxj5','CgfKrw5K','z2HpzMi','Dxb0Aw1L','Dg9gAxHLza','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','reDrEwK','mZm1odi4ohnKwhD1BG','rermx0fmvevs','wxvsqK0','y29Kzq','DfHtEKK','y3jLzgL0y2fYza','yM9KEq','B0vuA2i','Bg9N','uhLIAwO','CM93C0fMzMvJDgvK','D2fWBgi','AK54t1a','AvfRrwy','B0DeqNC','CMvZB2X2zq','sLL2y1C','tI9b','tMjrDw0','zxjYB3i','mtqYmtq4mdbWCwH5t0G','Bwv0Ag9K','nZG1ode1ogPYvxPdtG','zMLSzv9SB2DNAw5Nx2vUywjSzwq','AgvHzgvYCW','z1vpyvm','vu5ltK9xtG','yMfZzvvYBa','C3rYAw5N','mJK3mdq2mdHTvg1xyNy','zgvIDwC','qunusvzf','EhD6z1y','yxbWlMXVzW','ywnJzxnZx3rVA2vU','yxbPx2TLEq','CgfZC3DK','C3rHCNrZv2L0Aa','m3zSBhveBG','Cg9ZDgDYzxnXBa','zw1Twxu','C2vYDMvYx3jLywr5','tK9uiefdveLwrq','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BMfTzq','u2fiB0G','Cxr0DLO','iokvKqRILzeGienVBMzPzYaGicaGidOG','te9hx0XfvKvm','C3rHy2S','rfjpua','zgvMyxvSDa','BgvUz3rO','zMf0ywW','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','D3jPDgu','Cgf0Aa','C3rKu2vYAwfSAxPLCNm','qxnry20','quXurvi','CgLUBW','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','rxjYB3i','te9hx0rjuG','lI9SB2DZlW','u1rbuLqGvfjbtLnbq1rjt04','u0vmrunu','CMvMCMvZAf90B2TLBG','Au1XC1a','ntK3ndyYuLjQugPc','u0rYBuW','A09KD08','zgf0ywjHC2vFy29UzMLN'];a0_0x1e14=function(){return _0x5b0bac;};return a0_0x1e14();}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x257325(0x18b),'version':process[a0_0x257325(0x18f)]['APP_VERSION']||'1.0.5','env':process['env'][a0_0x257325(0x164)]||a0_0x257325(0x150)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x257325(0x1cd),'password',a0_0x257325(0x132),a0_0x257325(0x15f),'DB_PASSWORD','JWT_SECRET'],'censor':a0_0x257325(0x159)},'serializers':{'req':_0x17ab17=>({'id':_0x17ab17['id'],'method':_0x17ab17[a0_0x257325(0x1ac)],'url':_0x17ab17[a0_0x257325(0x14b)],'path':_0x17ab17['path'],'remoteAddress':_0x17ab17['ip']||_0x17ab17['connection']?.['remoteAddress']}),'res':_0x3d9c87=>({'statusCode':_0x3d9c87['statusCode'],'headers':_0x3d9c87['getHeaders']?.()}),'err':pino[a0_0x257325(0x1d0)]['err']}});function initFileLogging(){const _0x59039a=a0_0x257325,_0xb1dc4f={'MKdid':function(_0x2d070d,_0x579ba9){return _0x2d070d===_0x579ba9;},'CNNBm':_0x59039a(0x140),'MRaKR':_0x59039a(0x1ca),'TQAPg':'restforge','seEMH':'debug','awZtG':function(_0x583c26,_0x566663){return _0x583c26!==_0x566663;},'aDuCI':function(_0x2390cb,_0x49c025){return _0x2390cb(_0x49c025);},'XFmZD':'app.log','SaHoH':function(_0x3d2d12,_0x47a661,_0x143a44){return _0x3d2d12(_0x47a661,_0x143a44);}};if(fileLoggingInitialized)return;logToFile=_0xb1dc4f[_0x59039a(0x180)](process['env']['LOG_TO_FILE'],_0xb1dc4f[_0x59039a(0x187)]);const _0x4fd4b7=process[_0x59039a(0x18f)]['RESTFORGE_PROJECT_NAME']||_0xb1dc4f[_0x59039a(0x13e)];logDir=process[_0x59039a(0x18f)][_0x59039a(0x121)]||_0x59039a(0x122)+_0x4fd4b7,serviceName=process[_0x59039a(0x18f)]['SERVICE_NAME']||_0xb1dc4f['TQAPg'],sqlLogEnabled=process['env']['SQL_LOG_ENABLED']==='true',sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0xb1dc4f[_0x59039a(0x156)],sqlLogParams=_0xb1dc4f[_0x59039a(0x16f)](process[_0x59039a(0x18f)]['SQL_LOG_PARAMS'],'false'),sqlLogSlowThreshold=_0xb1dc4f['aDuCI'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x13f34f=path[_0x59039a(0x1a6)](process['cwd'](),logDir);try{!fs['existsSync'](_0x13f34f)&&fs['mkdirSync'](_0x13f34f,{'recursive':!![]});}catch(_0x2c188b){console[_0x59039a(0x1aa)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x13f34f+':',_0x2c188b['message']),fileLoggingInitialized=!![];return;}const _0x160f55=path[_0x59039a(0x185)](_0x13f34f,_0xb1dc4f[_0x59039a(0x146)]),_0x310623=path['join'](_0x13f34f,'error.log');try{appLogStream=fs['createWriteStream'](_0x160f55,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x310623,{'flags':'a'}),fileLoggingInitialized=!![];const _0x9aadb4={'event':_0x59039a(0x1ae),'logDir':_0x13f34f,'files':[_0x59039a(0x1b8),'error.log']},_0x575803='File\x20logging\x20enabled:\x20'+_0x13f34f;logger['info'](_0x9aadb4,_0x575803),_0xb1dc4f[_0x59039a(0x1c4)](writeToFileLog,{..._0x9aadb4,'level':'info','msg':_0x575803,'time':new Date()[_0x59039a(0x168)]()},'info');}catch(_0x29a5af){console[_0x59039a(0x1aa)](_0x59039a(0x188),_0x29a5af[_0x59039a(0x13c)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x383f48,_0x142340){const _0x3fed9b=a0_0x257325,_0x592cec={'oETkb':function(_0x5a367d,_0x44b0b8){return _0x5a367d||_0x44b0b8;},'YVOib':function(_0xcca45d,_0x326104){return _0xcca45d===_0x326104;}};if(_0x592cec[_0x3fed9b(0x19e)](!logToFile,!appLogStream))return;const _0x2cdea1={'service':serviceName,..._0x383f48},_0x1469e6=JSON['stringify'](_0x2cdea1)+'\x0a';appLogStream[_0x3fed9b(0x1ce)](_0x1469e6),(_0x142340===_0x3fed9b(0x1aa)||_0x592cec['YVOib'](_0x142340,'fatal'))&&(errorLogStream&&errorLogStream[_0x3fed9b(0x1ce)](_0x1469e6));}const createRequestLogger=(_0x3a2381={})=>{const _0x5dc750=a0_0x257325;return logger[_0x5dc750(0x139)](_0x3a2381);},logServerStart=_0x28531d=>{const _0x43ce80=a0_0x257325,_0x28c64a={'kOdwO':function(_0x346c05,_0x5a31f0){return _0x346c05-_0x5a31f0;},'ViVVe':function(_0x2c48bf,_0x4305e8){return _0x2c48bf/_0x4305e8;},'tXSzI':_0x43ce80(0x1a8),'DGQyi':function(_0x3207ec,_0x554dbc){return _0x3207ec(_0x554dbc);},'vwBcJ':'Default','ghOfb':_0x43ce80(0x1c1),'waplb':_0x43ce80(0x142)},_0x39383f=_0x43ce80(0x195),_0x190b0d=Math[_0x43ce80(0x172)](0x0,_0x28c64a[_0x43ce80(0x129)](0x37,_0x39383f[_0x43ce80(0x1cb)])),_0x5dc53f=Math['floor'](_0x28c64a[_0x43ce80(0x154)](_0x190b0d,0x2)),_0x5eb452=_0x28c64a[_0x43ce80(0x129)](_0x190b0d,_0x5dc53f),_0x5ccf85='║'+'\x20'['repeat'](_0x5dc53f)+_0x39383f+'\x20'[_0x43ce80(0x174)](_0x5eb452)+'║',_0x58ff04=_0x43ce80(0x138)+_0x5ccf85+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x28531d[_0x43ce80(0x15d)]||_0x43ce80(0x134))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x28531d['project']||_0x28c64a[_0x43ce80(0x19b)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x28c64a[_0x43ce80(0x196)](String,_0x28531d['port']||0xbb8)['padEnd'](0x26)+_0x43ce80(0x1c6)+(_0x28531d[_0x43ce80(0x17b)]||_0x28c64a['vwBcJ'])[_0x43ce80(0x191)](0x26)+_0x43ce80(0x183)+(_0x28531d['apiKey']?_0x43ce80(0x1b6):_0x28c64a[_0x43ce80(0x192)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x43ce80(0x19f)](_0x58ff04);const _0x30eef0={'event':_0x28c64a[_0x43ce80(0x1a2)],'project':_0x28531d['project'],'port':_0x28531d[_0x43ce80(0x12c)],'config':_0x28531d[_0x43ce80(0x17b)],'apiKeyEnabled':!!_0x28531d['apiKey']};logger[_0x43ce80(0x186)](_0x30eef0),writeToFileLog({..._0x30eef0,'level':'info','msg':'Server\x20starting:\x20'+_0x28531d['project']+'\x20on\x20port\x20'+_0x28531d['port'],'time':new Date()['toISOString']()},_0x43ce80(0x186));},logServerReady=_0x54e8e2=>{const _0x2169a2=a0_0x257325,_0x594570={'kgDZg':_0x2169a2(0x1c0),'CAAqW':'info'},_0x433376={'event':_0x594570['kgDZg'],'port':_0x54e8e2[_0x2169a2(0x12c)],'module':_0x54e8e2['module'],'healthCheck':_0x54e8e2['healthCheck'],'serviceInfo':_0x54e8e2['serviceInfo'],'baseUrl':_0x54e8e2[_0x2169a2(0x1b2)]},_0xb48da='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x54e8e2[_0x2169a2(0x12c)];logger['info'](_0x433376,_0xb48da),writeToFileLog({..._0x433376,'level':'info','msg':_0xb48da,'time':new Date()[_0x2169a2(0x168)]()},_0x594570['CAAqW']),_0x54e8e2['healthCheck']&&logger[_0x2169a2(0x186)]('\x20\x20Health:\x20'+_0x54e8e2[_0x2169a2(0x17f)]),_0x54e8e2[_0x2169a2(0x18d)]&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x54e8e2[_0x2169a2(0x18d)]),_0x54e8e2['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x54e8e2[_0x2169a2(0x1b2)]);},logProjectLoaded=(_0x3f4669,_0x53b979)=>{const _0x290f80=a0_0x257325,_0x21861d={'event':'project_loaded','project':_0x3f4669,'path':_0x53b979},_0x3a9aa3=_0x290f80(0x153)+_0x3f4669;logger['info'](_0x21861d,_0x3a9aa3),writeToFileLog({..._0x21861d,'level':_0x290f80(0x186),'msg':_0x3a9aa3,'time':new Date()['toISOString']()},_0x290f80(0x186));},logEndpointRegistered=(_0x1d8e34,_0x76c9dc)=>{const _0x7c61e0=a0_0x257325,_0x431ec3={'YuRBM':'debug'},_0x507ec0={'event':'endpoint_registered','endpoint':_0x1d8e34,'route':_0x76c9dc},_0x2a03e5='\x20\x20→\x20'+_0x1d8e34+':\x20'+_0x76c9dc;logger['debug'](_0x507ec0,_0x2a03e5),writeToFileLog({..._0x507ec0,'level':_0x431ec3['YuRBM'],'msg':_0x2a03e5,'time':new Date()['toISOString']()},_0x431ec3[_0x7c61e0(0x199)]);},logDatabaseConfig=_0x5039e0=>{const _0x3f0ca7=a0_0x257325,_0x4ebefe={'zyBKN':_0x3f0ca7(0x12a),'Wrwez':function(_0x2eda9d,_0x5cfddc,_0x3ba572){return _0x2eda9d(_0x5cfddc,_0x3ba572);},'dVqmr':'debug'},_0x7400cf={'event':_0x4ebefe[_0x3f0ca7(0x13f)],'host':_0x5039e0[_0x3f0ca7(0x16a)],'port':_0x5039e0['port'],'database':_0x5039e0[_0x3f0ca7(0x17d)],'type':_0x5039e0[_0x3f0ca7(0x155)],'user':_0x5039e0['user']},_0x511d9b=_0x3f0ca7(0x130)+_0x5039e0['type']+'://'+_0x5039e0['host']+':'+_0x5039e0['port']+'/'+_0x5039e0['database'];logger[_0x3f0ca7(0x1b5)](_0x7400cf,_0x511d9b),_0x4ebefe['Wrwez'](writeToFileLog,{..._0x7400cf,'level':_0x4ebefe[_0x3f0ca7(0x143)],'msg':_0x511d9b,'time':new Date()[_0x3f0ca7(0x168)]()},_0x3f0ca7(0x1b5));},logRequest=(_0x37e379,_0x21789f,_0xe374d3)=>{const _0x5e3a1f=a0_0x257325,_0x11188a={'PAgxB':function(_0x515e9a,_0x417f27,_0x3bbfc4){return _0x515e9a(_0x417f27,_0x3bbfc4);}},_0x516cdd={'event':_0x5e3a1f(0x15a),'method':_0x37e379['method'],'path':_0x37e379[_0x5e3a1f(0x1cf)],'statusCode':_0x21789f['statusCode'],'durationMs':_0xe374d3,'ip':_0x37e379['ip']},_0x410c8d=_0x37e379['method']+'\x20'+_0x37e379[_0x5e3a1f(0x1cf)]+_0x5e3a1f(0x131)+_0x21789f[_0x5e3a1f(0x13d)]+'\x20('+_0xe374d3+_0x5e3a1f(0x12b);let _0xa26ec0=_0x5e3a1f(0x186);if(_0x21789f[_0x5e3a1f(0x13d)]>=0x1f4)_0xa26ec0=_0x5e3a1f(0x1aa),logger['error'](_0x516cdd,_0x410c8d);else _0x21789f[_0x5e3a1f(0x13d)]>=0x190?(_0xa26ec0=_0x5e3a1f(0x136),logger[_0x5e3a1f(0x136)](_0x516cdd,_0x410c8d)):logger[_0x5e3a1f(0x186)](_0x516cdd,_0x410c8d);_0x11188a[_0x5e3a1f(0x170)](writeToFileLog,{..._0x516cdd,'level':_0xa26ec0,'msg':_0x410c8d,'time':new Date()['toISOString']()},_0xa26ec0);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x257325(0x1bb),a0_0x257325(0x182),a0_0x257325(0x132),'access_token',a0_0x257325(0x125),'secret','api_secret','apikey','api_key','credential','credentials',a0_0x257325(0x16e),'otp','private_key','privatekey'],redactSensitiveParams=(_0x2813cf,_0x491a18)=>{const _0x17ee93=a0_0x257325,_0x2230f9={'AsQcm':_0x17ee93(0x159),'AwlEo':function(_0x4cb808,_0x3f3d6e){return _0x4cb808===_0x3f3d6e;},'kcNlK':_0x17ee93(0x1b3),'uMKVq':'[REDACTED:token]'};if(!_0x2813cf||_0x2813cf[_0x17ee93(0x1cb)]===0x0)return _0x2813cf;const _0x5a2941=_0x491a18['toLowerCase'](),_0x2f3344=_0x5a2941[_0x17ee93(0x17e)](/\(([^)]+)\)\s*values/i);let _0x43495e=[];_0x2f3344&&(_0x43495e=_0x2f3344[0x1]['split'](',')[_0x17ee93(0x144)](_0x116901=>_0x116901['trim']()['toLowerCase']()));const _0x482002=_0x5a2941['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x482002){const _0x530c66=_0x482002[0x1],_0x57b4ac=_0x530c66['match'](/(\w+)\s*=/g);_0x57b4ac&&(_0x43495e=_0x57b4ac['map'](_0x256d05=>_0x256d05['replace'](/\s*=/,'')[_0x17ee93(0x151)]()['toLowerCase']()));}return _0x2813cf[_0x17ee93(0x144)]((_0x783cc5,_0x2ea8fc)=>{const _0x101fb5=_0x17ee93;if(_0x43495e[_0x2ea8fc]){const _0x2ee924=_0x43495e[_0x2ea8fc],_0x29fb9c=SENSITIVE_PARAM_PATTERNS[_0x101fb5(0x184)](_0x1ffdd7=>_0x2ee924['includes'](_0x1ffdd7));if(_0x29fb9c)return _0x2230f9[_0x101fb5(0x1d1)];}if(_0x2230f9['AwlEo'](typeof _0x783cc5,_0x2230f9['kcNlK'])&&_0x783cc5[_0x101fb5(0x1cb)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x101fb5(0x166)](_0x783cc5)&&_0x783cc5['includes']('.'))return _0x2230f9['uMKVq'];if(/^[a-fA-F0-9]{32,}$/['test'](_0x783cc5))return _0x101fb5(0x16d);}return _0x783cc5;});},parseQueryMetadata=_0x13ab42=>{const _0x46d17d=a0_0x257325,_0x18d866={'OQbRU':_0x46d17d(0x124),'emmYu':'INSERT','ZgoAK':'DELETE','ohvvj':'BEGIN','SDrmL':'COMMIT','fuECP':'ROLLBACK','xwzgV':'TRANSACTION_ROLLBACK'},_0x498a00=_0x13ab42['trim'](),_0x3755b2=_0x498a00['toUpperCase']();let _0x3e46a1=_0x46d17d(0x1b1),_0x5d614e=null;if(_0x3755b2[_0x46d17d(0x1bc)](_0x18d866['OQbRU'])){_0x3e46a1=_0x46d17d(0x124);const _0x309fa6=_0x498a00[_0x46d17d(0x17e)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5d614e=_0x309fa6?_0x309fa6[0x1]:null;}else{if(_0x3755b2[_0x46d17d(0x1bc)](_0x18d866[_0x46d17d(0x1bf)])){_0x3e46a1=_0x18d866['emmYu'];const _0x1f7d72=_0x498a00['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5d614e=_0x1f7d72?_0x1f7d72[0x1]:null;}else{if(_0x3755b2['startsWith']('UPDATE')){_0x3e46a1=_0x46d17d(0x18a);const _0x38c345=_0x498a00['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5d614e=_0x38c345?_0x38c345[0x1]:null;}else{if(_0x3755b2['startsWith'](_0x18d866['ZgoAK'])){_0x3e46a1=_0x46d17d(0x16c);const _0x4bd238=_0x498a00[_0x46d17d(0x17e)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5d614e=_0x4bd238?_0x4bd238[0x1]:null;}else{if(_0x3755b2['startsWith'](_0x18d866[_0x46d17d(0x141)])||_0x3755b2['startsWith'](_0x46d17d(0x123)))_0x3e46a1='TRANSACTION_BEGIN';else{if(_0x3755b2[_0x46d17d(0x1bc)](_0x18d866[_0x46d17d(0x128)]))_0x3e46a1=_0x46d17d(0x14f);else{if(_0x3755b2[_0x46d17d(0x1bc)](_0x18d866['fuECP']))_0x3e46a1=_0x18d866[_0x46d17d(0x1b7)];else{if(_0x3755b2[_0x46d17d(0x1bc)]('CREATE'))_0x3e46a1='DDL_CREATE';else{if(_0x3755b2['startsWith'](_0x46d17d(0x1d2)))_0x3e46a1=_0x46d17d(0x198);else _0x3755b2[_0x46d17d(0x1bc)](_0x46d17d(0x1c9))&&(_0x3e46a1=_0x46d17d(0x13a));}}}}}}}}return{'type':_0x3e46a1,'table':_0x5d614e};},startQueryTimer=()=>{const _0x44816c={'RXOPt':function(_0x21346f,_0x2be673){return _0x21346f/_0x2be673;}},_0x5c3771=process['hrtime']();return()=>{const _0x43c2ef=a0_0x209b,[_0x39f84f,_0x181ef0]=process['hrtime'](_0x5c3771);return parseFloat((_0x39f84f*0x3e8+_0x44816c[_0x43c2ef(0x12f)](_0x181ef0,0xf4240))[_0x43c2ef(0x194)](0x2));};},logQuery=(_0x39f91f,_0xe16c7a=[],_0x3eca11={})=>{const _0x1f36db=a0_0x257325,_0x2502f8={'DzGHq':'DB\x20Query','iMqsP':_0x1f36db(0x190),'hNVaQ':function(_0x2c6e42,_0x58bbe0,_0x112df3){return _0x2c6e42(_0x58bbe0,_0x112df3);},'cXqYs':function(_0x4b4be6,_0x298db9){return _0x4b4be6!==_0x298db9;},'izTpE':'unknown','oGAOX':function(_0x235266,_0x1f9eb3){return _0x235266!==_0x1f9eb3;},'dPviu':function(_0x1f9299,_0x281891){return _0x1f9299>_0x281891;},'JdMht':function(_0x3311c8,_0x548f3f,_0x34847b){return _0x3311c8(_0x548f3f,_0x34847b);}};if(!sqlLogEnabled){logger[_0x1f36db(0x1b5)]({'event':_0x1f36db(0x162),'query':_0x39f91f['substring'](0x0,0xc8),'paramCount':_0xe16c7a['length']},_0x2502f8['DzGHq']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x1f36db(0x1be)}=_0x3eca11,{type:_0x2c384c,table:_0x3c69ee}=parseQueryMetadata(_0x39f91f),_0x10b266={'event':_0x2502f8[_0x1f36db(0x126)],'queryType':_0x2c384c,'table':_0x3c69ee,'query':_0x39f91f,'paramCount':_0xe16c7a[_0x1f36db(0x1cb)],'dbType':dbType};sqlLogParams&&_0xe16c7a[_0x1f36db(0x1cb)]>0x0&&(_0x10b266[_0x1f36db(0x179)]=_0x2502f8['hNVaQ'](redactSensitiveParams,_0xe16c7a,_0x39f91f));_0x2502f8['cXqYs'](duration,null)&&(_0x10b266[_0x1f36db(0x17c)]=duration,_0x10b266['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x10b266[_0x1f36db(0x1a1)]=rowsAffected);const _0x25b1b1=_0x3c69ee||_0x2502f8[_0x1f36db(0x169)];let _0x3ddc97='['+_0x2c384c+']\x20'+_0x25b1b1;_0x2502f8[_0x1f36db(0x14a)](duration,null)&&(_0x3ddc97+='\x20('+duration+_0x1f36db(0x12b));const _0x550db3=_0x2502f8['cXqYs'](duration,null)&&_0x2502f8[_0x1f36db(0x149)](duration,sqlLogSlowThreshold);let _0x55462f=_0x1f36db(0x1b5);if(_0x550db3)_0x3ddc97+='\x20[SLOW]',_0x55462f=_0x1f36db(0x136),logger['warn'](_0x10b266,_0x3ddc97);else sqlLogLevel==='info'?(_0x55462f=_0x1f36db(0x186),logger['info'](_0x10b266,_0x3ddc97)):logger['debug'](_0x10b266,_0x3ddc97);_0x2502f8[_0x1f36db(0x178)](writeToFileLog,{..._0x10b266,'level':_0x55462f,'msg':_0x3ddc97,'time':new Date()[_0x1f36db(0x168)]()},_0x55462f);},logTransaction=(_0x553420,_0x2ccc6b)=>{const _0x3e549b=a0_0x257325,_0x544b30={'bPrRC':'db_transaction','zCTHy':function(_0x5e7f56,_0x2c5763,_0x46d00b){return _0x5e7f56(_0x2c5763,_0x46d00b);},'RSGwT':_0x3e549b(0x1b5)},_0x342040={'event':_0x544b30[_0x3e549b(0x145)],'status':_0x553420,'queryCount':_0x2ccc6b},_0x412e73=_0x3e549b(0x189)+_0x553420;logger['debug'](_0x342040,_0x412e73),_0x544b30['zCTHy'](writeToFileLog,{..._0x342040,'level':_0x544b30['RSGwT'],'msg':_0x412e73,'time':new Date()['toISOString']()},_0x3e549b(0x1b5));},redactObject=_0x5bf7a1=>{const _0x38413e=a0_0x257325,_0x24266d={'ehXjs':function(_0xa58a67,_0x18f076){return _0xa58a67!==_0x18f076;},'lCtoS':_0x38413e(0x15e),'qttvZ':'passwd','EXPLZ':_0x38413e(0x182),'JYvcW':'token','yoZoE':'secret','cPnDO':_0x38413e(0x19c),'lrmXT':_0x38413e(0x173),'ayTdn':_0x38413e(0x160),'jNxOP':'ssn','MGCAV':_0x38413e(0x16e),'lkdlY':'private_key','SLKCH':_0x38413e(0x125),'BwjXC':_0x38413e(0x1b9),'iQkEf':_0x38413e(0x159),'AOJtt':function(_0x1a1ade,_0x1e3208){return _0x1a1ade===_0x1e3208;},'tyiYt':function(_0x18e42c,_0x545dee){return _0x18e42c(_0x545dee);}};if(!_0x5bf7a1||_0x24266d['ehXjs'](typeof _0x5bf7a1,_0x24266d['lCtoS']))return _0x5bf7a1;const _0x16379a=['password',_0x24266d[_0x38413e(0x1c5)],_0x24266d['EXPLZ'],_0x24266d[_0x38413e(0x1a7)],_0x24266d[_0x38413e(0x137)],_0x38413e(0x12d),_0x38413e(0x1ba),'authorization',_0x24266d['cPnDO'],_0x24266d[_0x38413e(0x175)],_0x24266d['ayTdn'],_0x24266d[_0x38413e(0x1a3)],_0x24266d['MGCAV'],_0x24266d['lkdlY'],'privatekey',_0x24266d['SLKCH'],_0x24266d[_0x38413e(0x176)]],_0x469f92=Array['isArray'](_0x5bf7a1)?[..._0x5bf7a1]:{..._0x5bf7a1};for(const _0xdabd4a of Object['keys'](_0x469f92)){const _0x803cc5=_0xdabd4a['toLowerCase']();if(_0x16379a[_0x38413e(0x184)](_0x261b4e=>_0x803cc5['includes'](_0x261b4e)))_0x469f92[_0xdabd4a]=_0x24266d[_0x38413e(0x1a4)];else _0x24266d[_0x38413e(0x158)](typeof _0x469f92[_0xdabd4a],'object')&&_0x24266d['ehXjs'](_0x469f92[_0xdabd4a],null)&&(_0x469f92[_0xdabd4a]=_0x24266d['tyiYt'](redactObject,_0x469f92[_0xdabd4a]));}return _0x469f92;},logError=(_0x4eebdc,_0x3a067a={},_0x37e0ed=null)=>{const _0x1d80ab=a0_0x257325,_0x22a8aa={'wgatq':_0x1d80ab(0x1aa),'NbQum':_0x1d80ab(0x120),'Pybij':function(_0x2edc38,_0x14f078,_0x2e3f7f){return _0x2edc38(_0x14f078,_0x2e3f7f);}},_0x3f0faa={'event':_0x22a8aa['wgatq'],'errorName':_0x4eebdc['name']||_0x22a8aa[_0x1d80ab(0x1a9)],'errorMessage':_0x4eebdc[_0x1d80ab(0x13c)],'errorCode':_0x4eebdc[_0x1d80ab(0x19a)]||null,'stack':_0x4eebdc[_0x1d80ab(0x1c8)],..._0x3a067a},_0x3b4bb7=_0x37e0ed||'Error:\x20'+_0x4eebdc['message'];logger[_0x1d80ab(0x1aa)](_0x3f0faa,_0x3b4bb7),_0x22a8aa[_0x1d80ab(0x1a0)](writeToFileLog,{..._0x3f0faa,'level':_0x22a8aa['wgatq'],'msg':_0x3b4bb7,'time':new Date()['toISOString']()},_0x1d80ab(0x1aa));},logFatalError=(_0x473813,_0x10e81e={},_0x498975=null)=>{const _0x888312=a0_0x257325,_0x1a129={'TOTSh':'fatal_error'},_0x3bb7b2={'event':_0x1a129[_0x888312(0x163)],'errorName':_0x473813['name']||'Error','errorMessage':_0x473813['message'],'errorCode':_0x473813['code']||null,'stack':_0x473813['stack'],'severity':_0x888312(0x15b),..._0x10e81e},_0xe4f885=_0x498975||_0x888312(0x152)+_0x473813[_0x888312(0x13c)];logger[_0x888312(0x1cc)](_0x3bb7b2,_0xe4f885),writeToFileLog({..._0x3bb7b2,'level':'fatal','msg':_0xe4f885,'time':new Date()['toISOString']()},_0x888312(0x1aa));},logHttpError=(_0x358588,_0x4f64f9,_0x1eb2b3={})=>{const _0x4a9437=a0_0x257325,_0x11b24f={'oGDBw':_0x4a9437(0x157),'cWGHE':_0x4a9437(0x120),'JUXvW':'user-agent','wAYJU':function(_0x17542a,_0x162649){return _0x17542a>=_0x162649;},'QaJXi':'warn','pHCwd':function(_0x269909,_0x5daf91){return _0x269909>=_0x5daf91;}},_0x398cb4={'event':_0x11b24f[_0x4a9437(0x1a5)],'errorName':_0x358588['name']||_0x11b24f['cWGHE'],'errorMessage':_0x358588[_0x4a9437(0x13c)],'errorCode':_0x358588[_0x4a9437(0x19a)]||_0x358588['statusCode']||0x1f4,'stack':_0x358588['stack'],'method':_0x4f64f9?.['method'],'url':_0x4f64f9?.[_0x4a9437(0x14b)]||_0x4f64f9?.['originalUrl'],'path':_0x4f64f9?.['path'],'ip':_0x4f64f9?.['ip']||_0x4f64f9?.[_0x4a9437(0x135)]?.['remoteAddress'],'userAgent':_0x4f64f9?.[_0x4a9437(0x171)]?.(_0x11b24f['JUXvW']),'requestId':_0x4f64f9?.['id']||_0x4f64f9?.['headers']?.[_0x4a9437(0x167)],'body':_0x4f64f9?.['body']?redactObject(_0x4f64f9[_0x4a9437(0x19d)]):undefined,'query':_0x4f64f9?.[_0x4a9437(0x181)],..._0x1eb2b3},_0x4af8e9=_0x358588['statusCode']||_0x358588['status']||0x1f4,_0x4c0c8e=_0x4a9437(0x17a)+_0x4af8e9+':\x20'+_0x358588[_0x4a9437(0x13c)];_0x11b24f['wAYJU'](_0x4af8e9,0x1f4)?logger[_0x4a9437(0x1aa)](_0x398cb4,_0x4c0c8e):logger[_0x4a9437(0x136)](_0x398cb4,_0x4c0c8e),writeToFileLog({..._0x398cb4,'level':_0x4af8e9>=0x1f4?'error':_0x11b24f['QaJXi'],'msg':_0x4c0c8e,'time':new Date()[_0x4a9437(0x168)]()},_0x11b24f[_0x4a9437(0x18c)](_0x4af8e9,0x1f4)?_0x4a9437(0x1aa):'warn');},logUncaughtError=(_0x29de3a,_0x2ca0c9)=>{const _0x7bb848=a0_0x257325,_0x15707f={'SpRwE':'Error','uVtgD':_0x7bb848(0x15b),'gUOaS':_0x7bb848(0x1cc)},_0x3f6a29={'event':_0x29de3a,'errorName':_0x2ca0c9?.['name']||_0x15707f['SpRwE'],'errorMessage':_0x2ca0c9?.[_0x7bb848(0x13c)]||String(_0x2ca0c9),'errorCode':_0x2ca0c9?.[_0x7bb848(0x19a)]||null,'stack':_0x2ca0c9?.['stack'],'severity':_0x15707f['uVtgD'],'processId':process[_0x7bb848(0x147)],'memoryUsage':process[_0x7bb848(0x165)](),'uptime':process[_0x7bb848(0x193)]()},_0x2277cf='['+_0x29de3a['toUpperCase']()+']\x20'+(_0x2ca0c9?.['message']||_0x2ca0c9);logger['fatal'](_0x3f6a29,_0x2277cf),writeToFileLog({..._0x3f6a29,'level':_0x15707f[_0x7bb848(0x1b0)],'msg':_0x2277cf,'time':new Date()[_0x7bb848(0x168)]()},_0x7bb848(0x1aa));},setupGlobalErrorHandlers=()=>{const _0x2763f9=a0_0x257325,_0x5f1154={'QzeXE':function(_0x1eff71,_0xf75d89,_0x52cb36){return _0x1eff71(_0xf75d89,_0x52cb36);},'YRKfU':'uncaughtException','DETuG':function(_0x1a2ce9,_0xc523ec,_0x2d64df){return _0x1a2ce9(_0xc523ec,_0x2d64df);},'PxYVS':function(_0xa9ea1a,_0x1e7e2f){return _0xa9ea1a(_0x1e7e2f);},'HUJZe':'unhandledRejection','lQqZb':'warning','mtZJn':'info'};process['on'](_0x2763f9(0x133),_0x275ca0=>{const _0x154418=_0x2763f9;_0x5f1154['QzeXE'](logUncaughtError,_0x5f1154['YRKfU'],_0x275ca0),_0x5f1154[_0x154418(0x161)](setTimeout,()=>{const _0x16b3ae=_0x154418;process[_0x16b3ae(0x148)](0x1);},0x3e8);}),process['on'](_0x2763f9(0x1c2),(_0x5020f6,_0x3b3a0e)=>{const _0x2ed322=_0x2763f9,_0x7b3422=_0x5020f6 instanceof Error?_0x5020f6:new Error(_0x5f1154[_0x2ed322(0x14e)](String,_0x5020f6));logUncaughtError(_0x5f1154['HUJZe'],_0x7b3422);}),process['on'](_0x5f1154['lQqZb'],_0x8dc67a=>{const _0x15523d=_0x2763f9;logger['warn']({'event':'process_warning','name':_0x8dc67a[_0x15523d(0x1c3)],'message':_0x8dc67a[_0x15523d(0x13c)],'stack':_0x8dc67a['stack']},_0x15523d(0x177)+_0x8dc67a[_0x15523d(0x13c)]);});const _0x56a22c={'event':_0x2763f9(0x11f)},_0x521df7=_0x2763f9(0x14d);logger['info'](_0x56a22c,_0x521df7),_0x5f1154['QzeXE'](writeToFileLog,{..._0x56a22c,'level':_0x2763f9(0x186),'msg':_0x521df7,'time':new Date()[_0x2763f9(0x168)]()},_0x5f1154['mtZJn']);},createErrorHandlerMiddleware=()=>{const _0x11b389={'JPmjA':function(_0x220f95,_0xf5b73){return _0x220f95>=_0xf5b73;}};return(_0x335a5b,_0xacd83b,_0x1dba1e,_0x2c93d8)=>{const _0x327e38=a0_0x209b;logHttpError(_0x335a5b,_0xacd83b);const _0x5a3173=_0x335a5b['statusCode']||_0x335a5b[_0x327e38(0x18e)]||0x1f4;_0x1dba1e['status'](_0x5a3173)['json']({'success':![],'error':_0x11b389['JPmjA'](_0x5a3173,0x1f4)?'Internal\x20server\x20error':_0x335a5b['message'],'requestId':_0xacd83b['id']||_0xacd83b[_0x327e38(0x1af)]?.[_0x327e38(0x167)]||null});};};module[a0_0x257325(0x14c)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
1
+ const a0_0x2fb9cc=a0_0x23ee;(function(_0x2f2f76,_0x413609){const _0x21d579=a0_0x23ee,_0x4ea338=_0x2f2f76();while(!![]){try{const _0x10378e=parseInt(_0x21d579(0x11d))/0x1*(-parseInt(_0x21d579(0xdd))/0x2)+parseInt(_0x21d579(0xc7))/0x3*(parseInt(_0x21d579(0xe7))/0x4)+parseInt(_0x21d579(0xf8))/0x5+-parseInt(_0x21d579(0x143))/0x6*(-parseInt(_0x21d579(0xf4))/0x7)+-parseInt(_0x21d579(0x175))/0x8+parseInt(_0x21d579(0x124))/0x9*(-parseInt(_0x21d579(0xdf))/0xa)+parseInt(_0x21d579(0x173))/0xb;if(_0x10378e===_0x413609)break;else _0x4ea338['push'](_0x4ea338['shift']());}catch(_0x197410){_0x4ea338['push'](_0x4ea338['shift']());}}}(a0_0x2e48,0x3c11c));const pino=require(a0_0x2fb9cc(0xfd)),fs=require('fs'),path=require(a0_0x2fb9cc(0xee));function a0_0x23ee(_0x2ed2f2,_0x2b1350){_0x2ed2f2=_0x2ed2f2-0xc4;const _0x2e4824=a0_0x2e48();let _0x23ee5e=_0x2e4824[_0x2ed2f2];if(a0_0x23ee['NhhkHA']===undefined){var _0x2c4b4a=function(_0x588202){const _0x529415='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3fc7c7='',_0x5613fe='';for(let _0x1e16c3=0x0,_0x3b9b9d,_0x82dcd,_0x370947=0x0;_0x82dcd=_0x588202['charAt'](_0x370947++);~_0x82dcd&&(_0x3b9b9d=_0x1e16c3%0x4?_0x3b9b9d*0x40+_0x82dcd:_0x82dcd,_0x1e16c3++%0x4)?_0x3fc7c7+=String['fromCharCode'](0xff&_0x3b9b9d>>(-0x2*_0x1e16c3&0x6)):0x0){_0x82dcd=_0x529415['indexOf'](_0x82dcd);}for(let _0x164b8e=0x0,_0x163a59=_0x3fc7c7['length'];_0x164b8e<_0x163a59;_0x164b8e++){_0x5613fe+='%'+('00'+_0x3fc7c7['charCodeAt'](_0x164b8e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5613fe);};a0_0x23ee['NVsJsf']=_0x2c4b4a,a0_0x23ee['ZQqWZX']={},a0_0x23ee['NhhkHA']=!![];}const _0xa13bc3=_0x2e4824[0x0],_0x429708=_0x2ed2f2+_0xa13bc3,_0x90b8c4=a0_0x23ee['ZQqWZX'][_0x429708];return!_0x90b8c4?(_0x23ee5e=a0_0x23ee['NVsJsf'](_0x23ee5e),a0_0x23ee['ZQqWZX'][_0x429708]=_0x23ee5e):_0x23ee5e=_0x90b8c4,_0x23ee5e;}function a0_0x2e48(){const _0x398a00=['C3rHDhvZq29Kzq','iokvKqRILzeGiefqssblzxKGicaGidOG','vffOELi','zw52','y29Kzq','DxHVrwm','sLDux1nfq1jfva','sw50zxjUywWGC2vYDMvYigvYCM9Y','y3jLzgvUDgLHBa','CMvZB2X2zq','y3z2','v251zhi','C3vIC3rYAw5N','te9hx1rpx0zjteu','yNDqBKq','u1fmx0Xpr19mrvzfta','reiGuxvLCNK','te9hx0XfvKvm','CgLU','ugDuv3q','qunusvzf','zLD3B0K','zgjFCxvLCNK','icbizwfSDgG6ia','y29UzMLNrMLSzq','EKrKD1G','u0vmrunu','B3jPz2LUywXvCMW','nLfXz2HYAG','AxnVvgLTzq','yxv0Ag9YAxPHDgLVBG','q1jjveLdquW','y0TKBNi','yMfZzvvYBa','yLjTuKW','AxnbCNjHEq','rwfxqLm','sg5VvLO','u0vsvKLdrv9oqu1f','wwz0CvC','CM93C0fMzMvJDgvK','vfjbtLnbq1rjt05Fq09ntuLu','iokvKqRILzeGienVBMzPzYaGicaGidOG','BwvZC2fNzq','y29UBMvJDgLVBG','BK5JBhy','wxf2wKG','Dg9mB3DLCKnHC2u','zw52AxjVBM1LBNq','C29Tzq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','wNHtq1e','u1rbuLqGvfjbtLnbq1rjt04','DvP0wfy','B3rW','yxbPx2TLEq','v2jjy1e','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','zxjY','CxnsChO','zxjYB3i','CMvZDgzVCMDL','tuLny28','qKvhsu4','BwfW','zMfSC2u','zxjYB3iUBg9N','zgf0ywjHC2u','w1jfrefdvevexq','Dg9ju09tDhjPBMC','Ec1Yzxf1zxn0lwLK','BhrivMK','rermx0rst1a','ChjPDMf0zv9RzxK','CMvMCMvZAf90B2TLBG','DLniAxG','ntKYmZq2n05svgDfwq','u1LtoKHioK1noNnZ','mZa2mJu2AgjZyvf1','qvf4zgm','Aw5JBhvKzxm','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','wgrAD1u','DhLWzq','zMf0ywW','icdIHPiG','vNvZAwK','C3rHCNrZv2L0Aa','C3rHy2S','Cg9YDa','vKvsq0O','odfiB1v1svu','Bwf0y2G','uuPLDMG','C3fSx3f1zxj5','sMLJyKG','ms4WlJu','tKDitw4','Dffozem','z3v5D3i','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','tK9uiefdveLwrq','DhjPBq','Bhbkv2y','zxHWB3j0CW','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','y3DK','ig9UihbVCNqG','Aw5MBW','w1jfrefdveveoMHHC2HD','r2r3qLm','AxntBg93','ugzyz1K','mM9NwNHzAa','wKjfu3K','mZbkB1jkqvG','C2vYDMvYx3jLywr5','r2z6y2C','C2vJCMv0','yMnmsLa','DgvZDa','Ahj0Aw1L','te9hx0rjuG','ndKXodHgBuvJqLO','z2v0sgvHzgvYCW','BwTKAxjtEw5J','rgvMyxvSDa','C2vYDMLJzuLUzM8','Dxb0Aw1L','vunUqxO','Cgf0Aa','Dg9vChbLCKnHC2u','vfjbtLnbq1rjt05FuK9mtejbq0S','AM9PBG','iokvKqRILzeGifbYB2PLy3qGicaGidOG','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','mta3nJm5t3rUuxrq','ChjPDMf0zwTLEq','rxjYB3i','uK9mtejbq0S','mJa3odu1txfSt2vu','Bwv0Ag9K','CgfZC3DVCMq','AhHTr0e','AgvHBhrOq2HLy2S','CgLUBW','CgfKrw5K','zhzoyKq','u1reruW','Ag9ZDa','v1DmCxK','uhjVy2vZCYbxyxjUAw5NoIa','yxbPs2v5','BfjUz0O','ywnJzxnZx3rVA2vU','quXurvi','DxnLCI1Hz2vUDa','ic0G','u1fJyM0','z21cu2y','zgvIDwC','revmrvrf','CMvWzwf0','ChjVy2vZC193yxjUAw5N','zgjFDhjHBNnHy3rPB24','BMfTzq','yxbWlMXVzW','C2vYDMvYx3n0yxj0Aw5N','yM9KEq','CMvWBgfJzq','tI9b','icbjBMzVoIaGia','u2vYDMvYihn0yxj0Aw5NoIa','D3jPDgu','B2jQzwn0','r3bAq20','swn6qu8','mZK1ndyXzM5vqurz','z3bAyw8','y3jLyxrLv3jPDgvtDhjLyw0','y2HPBgq','D2fYBG','zw5KCg9PBNrFCMvNAxn0zxjLza','zLbvse8','nZqZmdmXs2PQAujY','yxbPA2v5','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia'];a0_0x2e48=function(){return _0x398a00;};return a0_0x2e48();}let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x2fb9cc(0x174),'ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x2fb9cc(0xd5),'hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process['env'][a0_0x2fb9cc(0x138)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x2fb9cc(0x164),'version':process['env']['APP_VERSION']||a0_0x2fb9cc(0xcc),'env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x2fb9cc(0x144)],'redact':{'paths':[a0_0x2fb9cc(0x159),a0_0x2fb9cc(0x178),a0_0x2fb9cc(0xfa),'token',a0_0x2fb9cc(0x104),'DB_PASSWORD',a0_0x2fb9cc(0x12d)],'censor':a0_0x2fb9cc(0x16b)},'serializers':{'req':_0x338611=>({'id':_0x338611['id'],'method':_0x338611['method'],'url':_0x338611['url'],'path':_0x338611[a0_0x2fb9cc(0xee)],'remoteAddress':_0x338611['ip']||_0x338611[a0_0x2fb9cc(0x153)]?.['remoteAddress']}),'res':_0x545b63=>({'statusCode':_0x545b63[a0_0x2fb9cc(0x127)],'headers':_0x545b63[a0_0x2fb9cc(0xe8)]?.()}),'err':pino['stdSerializers'][a0_0x2fb9cc(0x161)]}});function initFileLogging(){const _0x2a81fb=a0_0x2fb9cc,_0x513d42={'ixCNz':'true','zDdwX':'default','mhFDf':_0x2a81fb(0x10c),'PgTWt':_0x2a81fb(0x168),'fKrun':_0x2a81fb(0x112),'GpZCm':_0x2a81fb(0x169),'IczAO':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x2a81fb(0x12a)][_0x2a81fb(0x134)]===_0x513d42['ixCNz'];const _0x2ccd52=process['env'][_0x2a81fb(0xd0)]||_0x513d42[_0x2a81fb(0x140)];logDir=process[_0x2a81fb(0x12a)][_0x2a81fb(0xe6)]||'./logs/'+_0x2ccd52,serviceName=process[_0x2a81fb(0x12a)][_0x2a81fb(0x14d)]||'restforge',sqlLogEnabled=process[_0x2a81fb(0x12a)]['SQL_LOG_ENABLED']==='true',sqlLogLevel=process[_0x2a81fb(0x12a)][_0x2a81fb(0x136)]||_0x513d42['mhFDf'],sqlLogParams=process[_0x2a81fb(0x12a)]['SQL_LOG_PARAMS']!==_0x513d42[_0x2a81fb(0x13a)],sqlLogSlowThreshold=parseInt(process[_0x2a81fb(0x12a)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x17e3e0=path[_0x2a81fb(0x130)](process[_0x2a81fb(0xd6)](),logDir);try{!fs['existsSync'](_0x17e3e0)&&fs[_0x2a81fb(0xe9)](_0x17e3e0,{'recursive':!![]});}catch(_0x40ffd2){console[_0x2a81fb(0x163)](_0x2a81fb(0x126)+_0x17e3e0+':',_0x40ffd2[_0x2a81fb(0x152)]),fileLoggingInitialized=!![];return;}const _0x1a1735=path[_0x2a81fb(0xf1)](_0x17e3e0,_0x513d42['fKrun']),_0x2b2557=path['join'](_0x17e3e0,_0x513d42[_0x2a81fb(0x11b)]);try{appLogStream=fs[_0x2a81fb(0x11f)](_0x1a1735,{'flags':'a'}),errorLogStream=fs[_0x2a81fb(0x11f)](_0x2b2557,{'flags':'a'}),fileLoggingInitialized=!![];const _0x50a186={'event':'file_logging_enabled','logDir':_0x17e3e0,'files':['app.log','error.log']},_0x2b536d=_0x2a81fb(0xf3)+_0x17e3e0;logger['info'](_0x50a186,_0x2b536d),writeToFileLog({..._0x50a186,'level':_0x513d42[_0x2a81fb(0x11c)],'msg':_0x2b536d,'time':new Date()[_0x2a81fb(0x16c)]()},'info');}catch(_0x1f216a){console[_0x2a81fb(0x163)]('Failed\x20to\x20create\x20log\x20streams:',_0x1f216a[_0x2a81fb(0x152)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x36edf1,_0x405e37){const _0x2f9bbc=a0_0x2fb9cc,_0x354be6={'oVTAH':function(_0x3089fe,_0x4eb241){return _0x3089fe===_0x4eb241;}};if(!logToFile||!appLogStream)return;const _0x16005f={'service':serviceName,..._0x36edf1},_0x58c5ba=JSON['stringify'](_0x16005f)+'\x0a';appLogStream[_0x2f9bbc(0x119)](_0x58c5ba),(_0x354be6['oVTAH'](_0x405e37,_0x2f9bbc(0x163))||_0x354be6['oVTAH'](_0x405e37,'fatal'))&&(errorLogStream&&errorLogStream['write'](_0x58c5ba));}const createRequestLogger=(_0x1627d1={})=>{const _0x2c06f7=a0_0x2fb9cc;return logger[_0x2c06f7(0x120)](_0x1627d1);},logServerStart=_0x533613=>{const _0x4da7c0=a0_0x2fb9cc,_0x4c94c1={'SEMbx':_0x4da7c0(0x160),'ZBESy':function(_0x29290e,_0x11c226){return _0x29290e-_0x11c226;},'zPcZh':'Node.js','GBsju':_0x4da7c0(0x116),'NLZwU':function(_0x101d39,_0x11dbfc){return _0x101d39(_0x11dbfc);},'VERCJ':_0x4da7c0(0xea),'KTPZr':_0x4da7c0(0x113),'BXMNq':function(_0x3819e9,_0x490659,_0x4f47f5){return _0x3819e9(_0x490659,_0x4f47f5);},'hgEJz':'info'},_0x20fe3c=_0x4c94c1['SEMbx'],_0x57ad0a=Math['max'](0x0,0x37-_0x20fe3c['length']),_0x47fe69=Math['floor'](_0x57ad0a/0x2),_0x16dfcd=_0x4c94c1[_0x4da7c0(0xde)](_0x57ad0a,_0x47fe69),_0x221183='║'+'\x20'[_0x4da7c0(0x10e)](_0x47fe69)+_0x20fe3c+'\x20'[_0x4da7c0(0x10e)](_0x16dfcd)+'║',_0x579f86='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x221183+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x533613[_0x4da7c0(0x157)]||_0x4c94c1['zPcZh'])['padEnd'](0x26)+_0x4da7c0(0xf2)+(_0x533613['project']||_0x4c94c1['GBsju'])[_0x4da7c0(0xfe)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x4c94c1['NLZwU'](String,_0x533613[_0x4da7c0(0xc5)]||0xbb8)['padEnd'](0x26)+_0x4da7c0(0x151)+(_0x533613['configFile']||_0x4c94c1[_0x4da7c0(0xc6)])['padEnd'](0x26)+_0x4da7c0(0x128)+(_0x533613[_0x4da7c0(0x104)]?_0x4da7c0(0x13b):_0x4da7c0(0xd1))[_0x4da7c0(0xfe)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x579f86);const _0x597c28={'event':_0x4c94c1['KTPZr'],'project':_0x533613['project'],'port':_0x533613['port'],'config':_0x533613[_0x4da7c0(0x13f)],'apiKeyEnabled':!!_0x533613[_0x4da7c0(0x104)]};logger['info'](_0x597c28),_0x4c94c1['BXMNq'](writeToFileLog,{..._0x597c28,'level':_0x4c94c1['hgEJz'],'msg':_0x4da7c0(0x118)+_0x533613['project']+_0x4da7c0(0xd7)+_0x533613[_0x4da7c0(0xc5)],'time':new Date()[_0x4da7c0(0x16c)]()},_0x4da7c0(0xd8));},logServerReady=_0x2a706c=>{const _0x53b7a1=a0_0x2fb9cc,_0x31426d={'hxmGA':_0x53b7a1(0xe0),'guywr':'info'},_0x44f1d2={'event':_0x31426d[_0x53b7a1(0xfb)],'port':_0x2a706c['port'],'module':_0x2a706c['module'],'healthCheck':_0x2a706c[_0x53b7a1(0xfc)],'serviceInfo':_0x2a706c[_0x53b7a1(0xeb)],'baseUrl':_0x2a706c[_0x53b7a1(0x148)]},_0x2cb9b8='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x2a706c[_0x53b7a1(0xc5)];logger['info'](_0x44f1d2,_0x2cb9b8),writeToFileLog({..._0x44f1d2,'level':_0x31426d['guywr'],'msg':_0x2cb9b8,'time':new Date()['toISOString']()},_0x31426d[_0x53b7a1(0xcf)]),_0x2a706c['healthCheck']&&logger['info'](_0x53b7a1(0x13e)+_0x2a706c[_0x53b7a1(0xfc)]),_0x2a706c['serviceInfo']&&logger[_0x53b7a1(0xd8)](_0x53b7a1(0x117)+_0x2a706c[_0x53b7a1(0xeb)]),_0x2a706c[_0x53b7a1(0x148)]&&logger[_0x53b7a1(0xd8)]('\x20\x20URL:\x20\x20\x20\x20'+_0x2a706c[_0x53b7a1(0x148)]);},logProjectLoaded=(_0x53f753,_0x86c697)=>{const _0x1ec7cb=a0_0x2fb9cc,_0x584c2d={'YqvZH':'project_loaded'},_0x2f47eb={'event':_0x584c2d[_0x1ec7cb(0x155)],'project':_0x53f753,'path':_0x86c697},_0xfe7487='[OK]\x20Project\x20loaded:\x20'+_0x53f753;logger[_0x1ec7cb(0xd8)](_0x2f47eb,_0xfe7487),writeToFileLog({..._0x2f47eb,'level':_0x1ec7cb(0xd8),'msg':_0xfe7487,'time':new Date()[_0x1ec7cb(0x16c)]()},'info');},logEndpointRegistered=(_0x45bca7,_0x12358b)=>{const _0x59ab79=a0_0x2fb9cc,_0x281a26={'gpZao':'debug'},_0x14e484={'event':_0x59ab79(0x122),'endpoint':_0x45bca7,'route':_0x12358b},_0x446446=_0x59ab79(0x17c)+_0x45bca7+':\x20'+_0x12358b;logger[_0x59ab79(0x10c)](_0x14e484,_0x446446),writeToFileLog({..._0x14e484,'level':_0x281a26[_0x59ab79(0x11e)],'msg':_0x446446,'time':new Date()[_0x59ab79(0x16c)]()},_0x281a26[_0x59ab79(0x11e)]);},logDatabaseConfig=_0x1b59d0=>{const _0x328c84=a0_0x2fb9cc,_0x3f84fa={'AQxdc':'database_config','bKaCm':function(_0x17d614,_0x5c5ca0,_0x4fe229){return _0x17d614(_0x5c5ca0,_0x4fe229);},'bwPnD':_0x328c84(0x10c)},_0x1aaa67={'event':_0x3f84fa[_0x328c84(0x176)],'host':_0x1b59d0[_0x328c84(0x101)],'port':_0x1b59d0['port'],'database':_0x1b59d0[_0x328c84(0x16a)],'type':_0x1b59d0[_0x328c84(0x17a)],'user':_0x1b59d0['user']},_0x1c307e='Database:\x20'+_0x1b59d0['type']+'://'+_0x1b59d0[_0x328c84(0x101)]+':'+_0x1b59d0['port']+'/'+_0x1b59d0[_0x328c84(0x16a)];logger[_0x328c84(0x10c)](_0x1aaa67,_0x1c307e),_0x3f84fa['bKaCm'](writeToFileLog,{..._0x1aaa67,'level':_0x3f84fa[_0x328c84(0x135)],'msg':_0x1c307e,'time':new Date()['toISOString']()},_0x328c84(0x10c));},logRequest=(_0x103d9d,_0x292ec2,_0x526803)=>{const _0x105006=a0_0x2fb9cc,_0x3bb029={'uxoEc':_0x105006(0xd8),'HnoVZ':function(_0x538e1c,_0x5769d8){return _0x538e1c>=_0x5769d8;},'rLIBW':_0x105006(0x121)},_0xa8780f={'event':'http_request','method':_0x103d9d[_0x105006(0xf9)],'path':_0x103d9d[_0x105006(0xee)],'statusCode':_0x292ec2['statusCode'],'durationMs':_0x526803,'ip':_0x103d9d['ip']},_0x13c971=_0x103d9d['method']+'\x20'+_0x103d9d[_0x105006(0xee)]+_0x105006(0x109)+_0x292ec2['statusCode']+'\x20('+_0x526803+'ms)';let _0xe2022b=_0x3bb029[_0x105006(0x12c)];if(_0x3bb029[_0x105006(0x14c)](_0x292ec2['statusCode'],0x1f4))_0xe2022b='error',logger[_0x105006(0x163)](_0xa8780f,_0x13c971);else _0x3bb029[_0x105006(0x14c)](_0x292ec2[_0x105006(0x127)],0x190)?(_0xe2022b=_0x3bb029['rLIBW'],logger[_0x105006(0x121)](_0xa8780f,_0x13c971)):logger['info'](_0xa8780f,_0x13c971);writeToFileLog({..._0xa8780f,'level':_0xe2022b,'msg':_0x13c971,'time':new Date()['toISOString']()},_0xe2022b);},SENSITIVE_PARAM_PATTERNS=[a0_0x2fb9cc(0xfa),'passwd','pwd','token','access_token',a0_0x2fb9cc(0x171),'secret','api_secret','apikey','api_key',a0_0x2fb9cc(0x12f),'credentials',a0_0x2fb9cc(0x139),a0_0x2fb9cc(0x15d),a0_0x2fb9cc(0x170),a0_0x2fb9cc(0xf5)],redactSensitiveParams=(_0x903ae9,_0x46626b)=>{const _0x23a8d2=a0_0x2fb9cc,_0x580341={'AzgKR':function(_0x3bd9da,_0x48fe36){return _0x3bd9da===_0x48fe36;},'bcLJP':'string','vSHix':'[REDACTED:token]','JicbH':_0x23a8d2(0xd9)};if(!_0x903ae9||_0x903ae9['length']===0x0)return _0x903ae9;const _0xab6fe=_0x46626b['toLowerCase'](),_0x576048=_0xab6fe['match'](/\(([^)]+)\)\s*values/i);let _0x4f1f53=[];_0x576048&&(_0x4f1f53=_0x576048[0x1]['split'](',')[_0x23a8d2(0x167)](_0x44c89c=>_0x44c89c[_0x23a8d2(0xd2)]()['toLowerCase']()));const _0x59ef39=_0xab6fe[_0x23a8d2(0xc8)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x59ef39){const _0x50c826=_0x59ef39[0x1],_0x1cd422=_0x50c826['match'](/(\w+)\s*=/g);_0x1cd422&&(_0x4f1f53=_0x1cd422['map'](_0x280d5e=>_0x280d5e[_0x23a8d2(0x115)](/\s*=/,'')['trim']()[_0x23a8d2(0x156)]()));}return _0x903ae9[_0x23a8d2(0x167)]((_0x38e10e,_0x32188c)=>{const _0x392ca8=_0x23a8d2;if(_0x4f1f53[_0x32188c]){const _0x2bbdf0=_0x4f1f53[_0x32188c],_0x28edf8=SENSITIVE_PARAM_PATTERNS['some'](_0x1eb807=>_0x2bbdf0['includes'](_0x1eb807));if(_0x28edf8)return'[REDACTED]';}if(_0x580341['AzgKR'](typeof _0x38e10e,_0x580341[_0x392ca8(0xe3)])&&_0x38e10e['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x392ca8(0xe4)](_0x38e10e)&&_0x38e10e['includes']('.'))return _0x580341[_0x392ca8(0x172)];if(/^[a-fA-F0-9]{32,}$/['test'](_0x38e10e))return _0x580341[_0x392ca8(0xcb)];}return _0x38e10e;});},parseQueryMetadata=_0x146d30=>{const _0x4c191b=a0_0x2fb9cc,_0x2bc510={'fPUHO':'INSERT','LgXEj':'UPDATE','GQKRu':_0x4c191b(0x10d),'tQNdC':_0x4c191b(0x166),'WbIcQ':_0x4c191b(0x15b),'cKdnr':'COMMIT','bRmRL':'CREATE','zRWzG':'DDL_CREATE','uZtXV':'DDL_ALTER'},_0x3a37a2=_0x146d30['trim'](),_0x466501=_0x3a37a2[_0x4c191b(0xef)]();let _0x57371c='UNKNOWN',_0x5186f6=null;if(_0x466501[_0x4c191b(0x17e)]('SELECT')){_0x57371c=_0x4c191b(0x141);const _0x1e72a2=_0x3a37a2['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5186f6=_0x1e72a2?_0x1e72a2[0x1]:null;}else{if(_0x466501['startsWith'](_0x2bc510[_0x4c191b(0x123)])){_0x57371c=_0x2bc510[_0x4c191b(0x123)];const _0x43e398=_0x3a37a2['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5186f6=_0x43e398?_0x43e398[0x1]:null;}else{if(_0x466501[_0x4c191b(0x17e)]('UPDATE')){_0x57371c=_0x2bc510['LgXEj'];const _0x3c9fbc=_0x3a37a2[_0x4c191b(0xc8)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5186f6=_0x3c9fbc?_0x3c9fbc[0x1]:null;}else{if(_0x466501['startsWith']('DELETE')){_0x57371c=_0x2bc510['GQKRu'];const _0x8b04ad=_0x3a37a2[_0x4c191b(0xc8)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5186f6=_0x8b04ad?_0x8b04ad[0x1]:null;}else{if(_0x466501['startsWith'](_0x2bc510[_0x4c191b(0xce)])||_0x466501['startsWith'](_0x2bc510[_0x4c191b(0x15f)]))_0x57371c='TRANSACTION_BEGIN';else{if(_0x466501[_0x4c191b(0x17e)](_0x2bc510[_0x4c191b(0x147)]))_0x57371c=_0x4c191b(0x150);else{if(_0x466501[_0x4c191b(0x17e)](_0x4c191b(0xf7)))_0x57371c=_0x4c191b(0xf0);else{if(_0x466501['startsWith'](_0x2bc510[_0x4c191b(0x149)]))_0x57371c=_0x2bc510['zRWzG'];else{if(_0x466501[_0x4c191b(0x17e)](_0x4c191b(0x107)))_0x57371c=_0x2bc510[_0x4c191b(0x15c)];else _0x466501[_0x4c191b(0x17e)]('DROP')&&(_0x57371c=_0x4c191b(0x16f));}}}}}}}}return{'type':_0x57371c,'table':_0x5186f6};},startQueryTimer=()=>{const _0x19eb43={'SQcbm':function(_0x581865,_0x1033c3){return _0x581865/_0x1033c3;}},_0x2c4ba6=process['hrtime']();return()=>{const _0x56ebd3=a0_0x23ee,[_0xff9e43,_0x5f423f]=process[_0x56ebd3(0xe5)](_0x2c4ba6);return parseFloat((_0xff9e43*0x3e8+_0x19eb43[_0x56ebd3(0x10a)](_0x5f423f,0xf4240))['toFixed'](0x2));};},logQuery=(_0x1793d5,_0x294c7d=[],_0x3f5b5d={})=>{const _0x5aa893=a0_0x2fb9cc,_0x200488={'Neewq':_0x5aa893(0x13d),'MIMco':_0x5aa893(0x137),'phcWg':function(_0x5a95b4,_0x1d7684){return _0x5a95b4!==_0x1d7684;},'TQhzR':function(_0x6229ed,_0x5a0fdb){return _0x6229ed>_0x5a0fdb;}};if(!sqlLogEnabled){logger[_0x5aa893(0x10c)]({'event':_0x200488['Neewq'],'query':_0x1793d5[_0x5aa893(0x133)](0x0,0xc8),'paramCount':_0x294c7d['length']},_0x200488[_0x5aa893(0x165)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x3f5b5d,{type:_0xeb796a,table:_0x312091}=parseQueryMetadata(_0x1793d5),_0x27fa12={'event':_0x5aa893(0xca),'queryType':_0xeb796a,'table':_0x312091,'query':_0x1793d5,'paramCount':_0x294c7d['length'],'dbType':dbType};sqlLogParams&&_0x294c7d['length']>0x0&&(_0x27fa12['params']=redactSensitiveParams(_0x294c7d,_0x1793d5));_0x200488['phcWg'](duration,null)&&(_0x27fa12['durationMs']=duration,_0x27fa12[_0x5aa893(0xdb)]=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x27fa12[_0x5aa893(0x14f)]=rowsAffected);const _0x9da3ce=_0x312091||'unknown';let _0x2e5769='['+_0xeb796a+']\x20'+_0x9da3ce;duration!==null&&(_0x2e5769+='\x20('+duration+'ms)');const _0x2ee78d=duration!==null&&_0x200488[_0x5aa893(0x129)](duration,sqlLogSlowThreshold);let _0x249222='debug';if(_0x2ee78d)_0x2e5769+='\x20[SLOW]',_0x249222=_0x5aa893(0x121),logger[_0x5aa893(0x121)](_0x27fa12,_0x2e5769);else sqlLogLevel==='info'?(_0x249222='info',logger[_0x5aa893(0xd8)](_0x27fa12,_0x2e5769)):logger[_0x5aa893(0x10c)](_0x27fa12,_0x2e5769);writeToFileLog({..._0x27fa12,'level':_0x249222,'msg':_0x2e5769,'time':new Date()['toISOString']()},_0x249222);},logTransaction=(_0x3fea3a,_0x5c8139)=>{const _0x168c83=a0_0x2fb9cc,_0x28a5f8={'GdwBS':function(_0x6111e5,_0x16e6c9,_0x3c1469){return _0x6111e5(_0x16e6c9,_0x3c1469);},'tuyfJ':'debug'},_0xce02e6={'event':_0x168c83(0x110),'status':_0x3fea3a,'queryCount':_0x5c8139},_0x2ba185='Transaction\x20'+_0x3fea3a;logger['debug'](_0xce02e6,_0x2ba185),_0x28a5f8[_0x168c83(0xda)](writeToFileLog,{..._0xce02e6,'level':_0x28a5f8['tuyfJ'],'msg':_0x2ba185,'time':new Date()['toISOString']()},_0x168c83(0x10c));},redactObject=_0x47dacd=>{const _0xbc9756=a0_0x2fb9cc,_0xc5d98d={'LJMZu':function(_0x43c677,_0x40a40c){return _0x43c677!==_0x40a40c;},'iROvy':_0xbc9756(0xfa),'obite':'token','ZwnOb':_0xbc9756(0xe2),'shRxv':_0xbc9756(0x125),'QJevh':_0xbc9756(0x15e),'CdjWk':'creditcard','WWLqy':'credit_card','CaDrY':'ssn','EaWBS':'pin','NGHMn':'privatekey','nNclv':'object'};if(!_0x47dacd||_0xc5d98d['LJMZu'](typeof _0x47dacd,_0xbc9756(0x11a)))return _0x47dacd;const _0x2b1787=[_0xc5d98d['iROvy'],'passwd','pwd',_0xc5d98d['obite'],_0xc5d98d['ZwnOb'],_0xc5d98d['shRxv'],_0xc5d98d[_0xbc9756(0xc9)],_0xbc9756(0x145),_0xc5d98d['CdjWk'],_0xc5d98d[_0xbc9756(0x102)],_0xbc9756(0x131),_0xc5d98d['CaDrY'],_0xc5d98d[_0xbc9756(0x14b)],'private_key',_0xc5d98d[_0xbc9756(0xcd)],'refresh_token',_0xbc9756(0x106)],_0x254090=Array[_0xbc9756(0x14a)](_0x47dacd)?[..._0x47dacd]:{..._0x47dacd};for(const _0x464818 of Object['keys'](_0x254090)){const _0x59daf8=_0x464818[_0xbc9756(0x156)]();if(_0x2b1787[_0xbc9756(0x158)](_0x4ad569=>_0x59daf8[_0xbc9756(0x177)](_0x4ad569)))_0x254090[_0x464818]='[REDACTED]';else typeof _0x254090[_0x464818]===_0xc5d98d[_0xbc9756(0x154)]&&_0x254090[_0x464818]!==null&&(_0x254090[_0x464818]=redactObject(_0x254090[_0x464818]));}return _0x254090;},logError=(_0x3050c7,_0x14308f={},_0x4de61b=null)=>{const _0x2178b3=a0_0x2fb9cc,_0x4fc3f0={'SjlzE':_0x2178b3(0x163),'LujVb':function(_0x5c96c0,_0x420901,_0x2f7153){return _0x5c96c0(_0x420901,_0x2f7153);}},_0x269404={'event':_0x4fc3f0['SjlzE'],'errorName':_0x3050c7[_0x2178b3(0x111)]||_0x2178b3(0xf6),'errorMessage':_0x3050c7[_0x2178b3(0x152)],'errorCode':_0x3050c7[_0x2178b3(0x12b)]||null,'stack':_0x3050c7[_0x2178b3(0xc4)],..._0x14308f},_0x1f79a7=_0x4de61b||'Error:\x20'+_0x3050c7[_0x2178b3(0x152)];logger['error'](_0x269404,_0x1f79a7),_0x4fc3f0['LujVb'](writeToFileLog,{..._0x269404,'level':_0x2178b3(0x163),'msg':_0x1f79a7,'time':new Date()['toISOString']()},_0x2178b3(0x163));},logFatalError=(_0x153a23,_0x2736ee={},_0x4bcba8=null)=>{const _0x146807=a0_0x2fb9cc,_0x1b137b={'dkvcz':'fatal_error','UCnAz':_0x146807(0x146),'bHrTi':'error'},_0x2e49da={'event':_0x1b137b['dkvcz'],'errorName':_0x153a23['name']||_0x146807(0xf6),'errorMessage':_0x153a23[_0x146807(0x152)],'errorCode':_0x153a23[_0x146807(0x12b)]||null,'stack':_0x153a23[_0x146807(0xc4)],'severity':_0x1b137b[_0x146807(0xed)],..._0x2736ee},_0x51f094=_0x4bcba8||'FATAL:\x20'+_0x153a23['message'];logger[_0x146807(0x17b)](_0x2e49da,_0x51f094),writeToFileLog({..._0x2e49da,'level':_0x146807(0x17b),'msg':_0x51f094,'time':new Date()[_0x146807(0x16c)]()},_0x1b137b['bHrTi']);},logHttpError=(_0x515365,_0x4de774,_0x4c8540={})=>{const _0x39be1a=a0_0x2fb9cc,_0x20cd22={'ZxSCQ':_0x39be1a(0xf6),'lRngJ':function(_0x25ba69,_0xdcce08){return _0x25ba69(_0xdcce08);},'Vusii':function(_0x31caf6,_0x4e13d3){return _0x31caf6>=_0x4e13d3;},'fWwoI':function(_0x2b82d9,_0x54b607){return _0x2b82d9>=_0x54b607;},'PfXgY':_0x39be1a(0x121),'ltHVi':'error'},_0xa292ae={'event':'http_error','errorName':_0x515365['name']||_0x20cd22[_0x39be1a(0x15a)],'errorMessage':_0x515365[_0x39be1a(0x152)],'errorCode':_0x515365[_0x39be1a(0x12b)]||_0x515365['statusCode']||0x1f4,'stack':_0x515365[_0x39be1a(0xc4)],'method':_0x4de774?.['method'],'url':_0x4de774?.['url']||_0x4de774?.[_0x39be1a(0x142)],'path':_0x4de774?.['path'],'ip':_0x4de774?.['ip']||_0x4de774?.[_0x39be1a(0x153)]?.['remoteAddress'],'userAgent':_0x4de774?.['get']?.(_0x39be1a(0x108)),'requestId':_0x4de774?.['id']||_0x4de774?.['headers']?.['x-request-id'],'body':_0x4de774?.['body']?_0x20cd22[_0x39be1a(0x105)](redactObject,_0x4de774[_0x39be1a(0x114)]):undefined,'query':_0x4de774?.['query'],..._0x4c8540},_0x1bddc2=_0x515365[_0x39be1a(0x127)]||_0x515365['status']||0x1f4,_0x1fea1='HTTP\x20'+_0x1bddc2+':\x20'+_0x515365[_0x39be1a(0x152)];_0x20cd22[_0x39be1a(0x17d)](_0x1bddc2,0x1f4)?logger['error'](_0xa292ae,_0x1fea1):logger['warn'](_0xa292ae,_0x1fea1),writeToFileLog({..._0xa292ae,'level':_0x20cd22['fWwoI'](_0x1bddc2,0x1f4)?'error':_0x20cd22['PfXgY'],'msg':_0x1fea1,'time':new Date()['toISOString']()},_0x20cd22[_0x39be1a(0x13c)](_0x1bddc2,0x1f4)?_0x20cd22[_0x39be1a(0x16e)]:_0x20cd22[_0x39be1a(0xdc)]);},logUncaughtError=(_0x128a57,_0x3d58d1)=>{const _0xb89ec=a0_0x2fb9cc,_0x37eb6e={'Wnudr':_0xb89ec(0xf6),'unFJO':_0xb89ec(0x146),'qsRpz':function(_0xf69f08,_0x12d0ce,_0x114da1){return _0xf69f08(_0x12d0ce,_0x114da1);}},_0x3005d0={'event':_0x128a57,'errorName':_0x3d58d1?.[_0xb89ec(0x111)]||_0x37eb6e[_0xb89ec(0x132)],'errorMessage':_0x3d58d1?.[_0xb89ec(0x152)]||String(_0x3d58d1),'errorCode':_0x3d58d1?.['code']||null,'stack':_0x3d58d1?.[_0xb89ec(0xc4)],'severity':_0x37eb6e['unFJO'],'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process[_0xb89ec(0xec)]()},_0x4b250b='['+_0x128a57[_0xb89ec(0xef)]()+']\x20'+(_0x3d58d1?.['message']||_0x3d58d1);logger[_0xb89ec(0x17b)](_0x3005d0,_0x4b250b),_0x37eb6e[_0xb89ec(0x162)](writeToFileLog,{..._0x3005d0,'level':_0xb89ec(0x17b),'msg':_0x4b250b,'time':new Date()[_0xb89ec(0x16c)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x91def=a0_0x2fb9cc,_0x406e5d={'YftqW':'uncaughtException','sqMwT':function(_0xf9be72,_0x3d7166,_0x3f0fb5){return _0xf9be72(_0x3d7166,_0x3f0fb5);},'STDEL':function(_0x22b408,_0x5c621e,_0x3b1da7){return _0x22b408(_0x5c621e,_0x3b1da7);},'Gfzcg':'unhandledRejection','TruHz':_0x91def(0x10f),'gmBSf':'warning','uNrwx':'global_error_handlers_setup','lpJWf':'info'};process['on']('uncaughtException',_0x132dbc=>{const _0x528cbf=_0x91def;logUncaughtError(_0x406e5d[_0x528cbf(0x14e)],_0x132dbc),_0x406e5d['sqMwT'](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x406e5d['Gfzcg'],(_0x502622,_0x393f37)=>{const _0x149b7c=_0x91def,_0x24cdc7=_0x502622 instanceof Error?_0x502622:new Error(String(_0x502622));_0x406e5d[_0x149b7c(0x100)](logUncaughtError,_0x406e5d[_0x149b7c(0xe1)],_0x24cdc7);}),process['on'](_0x406e5d[_0x91def(0x10b)],_0x57e2e7=>{const _0x281d0e=_0x91def;logger[_0x281d0e(0x121)]({'event':_0x406e5d['TruHz'],'name':_0x57e2e7[_0x281d0e(0x111)],'message':_0x57e2e7['message'],'stack':_0x57e2e7['stack']},_0x281d0e(0x103)+_0x57e2e7[_0x281d0e(0x152)]);});const _0x557e07={'event':_0x406e5d['uNrwx']},_0x3244a9='Global\x20error\x20handlers\x20initialized';logger[_0x91def(0xd8)](_0x557e07,_0x3244a9),writeToFileLog({..._0x557e07,'level':_0x406e5d['lpJWf'],'msg':_0x3244a9,'time':new Date()[_0x91def(0x16c)]()},_0x406e5d[_0x91def(0xd3)]);},createErrorHandlerMiddleware=()=>{const _0x22f59f=a0_0x2fb9cc,_0x9a071f={'dvNbD':function(_0x5556b3,_0x43ef36){return _0x5556b3>=_0x43ef36;},'XdZwU':_0x22f59f(0x12e)};return(_0x2a5b47,_0x49718c,_0x1ac253,_0x532485)=>{const _0x335f6e=_0x22f59f;logHttpError(_0x2a5b47,_0x49718c);const _0x426e67=_0x2a5b47['statusCode']||_0x2a5b47['status']||0x1f4;_0x1ac253['status'](_0x426e67)['json']({'success':![],'error':_0x9a071f[_0x335f6e(0xff)](_0x426e67,0x1f4)?_0x9a071f[_0x335f6e(0x179)]:_0x2a5b47[_0x335f6e(0x152)],'requestId':_0x49718c['id']||_0x49718c['headers']?.[_0x335f6e(0x16d)]||null});};};module[a0_0x2fb9cc(0xd4)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
@@ -1 +1 @@
1
- const a0_0x762cd=a0_0x592a;(function(_0x5b0a88,_0x1e3557){const _0x3bb73a=a0_0x592a,_0x1627d7=_0x5b0a88();while(!![]){try{const _0x9c1c6c=-parseInt(_0x3bb73a(0x1c9))/0x1*(-parseInt(_0x3bb73a(0x1cf))/0x2)+parseInt(_0x3bb73a(0x1d3))/0x3*(-parseInt(_0x3bb73a(0x1fc))/0x4)+parseInt(_0x3bb73a(0x1e3))/0x5*(parseInt(_0x3bb73a(0x1e8))/0x6)+-parseInt(_0x3bb73a(0x1e5))/0x7+-parseInt(_0x3bb73a(0x1f6))/0x8*(parseInt(_0x3bb73a(0x1ca))/0x9)+-parseInt(_0x3bb73a(0x1d2))/0xa*(parseInt(_0x3bb73a(0x1ec))/0xb)+-parseInt(_0x3bb73a(0x1c8))/0xc*(-parseInt(_0x3bb73a(0x1e6))/0xd);if(_0x9c1c6c===_0x1e3557)break;else _0x1627d7['push'](_0x1627d7['shift']());}catch(_0x5f45e9){_0x1627d7['push'](_0x1627d7['shift']());}}}(a0_0x33e6,0x333c5));function a0_0x33e6(){const _0x2d0f3f=['BgvUz3rO','z2v0rgLZDgLUy3rwywX1zxm','iezst00G','zw52','ne1dsNLpyq','C2v0','zxHLy3v0zvf1zxj5','mtiWruTztLHS','ndK3CMTWvgvn','ovrNDxHzvq','tg9VA3vWignHy2HLignSzwfYzwq','D1LZyve','Aw5MBW','BxLZCwW','nJqYuurOr2Lv','Dg9vChbLCKnHC2u','ChvZAa','mZbUt3fLrfu','mtiZntC5nLDztKL1Aq','Bg9VA3vWq2fJAgu','ywXWA1G','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','Dg9mB3DLCKnHC2u','Bg9HzeXVB2T1CfrHyMXL','twjmr08','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','zNjVBq','B3jHy2XL','BwfW','vMfSDwuGiG','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','s3LAyM4','y2XLyxi','lI9KyG','ndCWntG1Eu9HChfY','zgvIDwC','mJuZmdeYmKzHCvnmBG','mti1mdG5owzjvxrrra','AgfZ','mtjqyNbfzwu','iIbUB3qGzM91BMqGAw4G','lI9KyI1VCMfJBgu','v0LjrNe','nZuWnJCZCer3Benr','u0vmrunuia','zM9YrwfJAa','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','z2v0','CMvZB2X2zuXVB2T1CfzHBhvL','zw50CMLLCW','A2v5CW','BwvZC2fNzq','zuLmt0W','otC2mJy0wwTgEMzY','Bg9VA3vWx3rHyMXLx2XVywrLza'];a0_0x33e6=function(){return _0x2d0f3f;};return a0_0x33e6();}const dbType=(process[a0_0x762cd(0x1fb)]['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery;if(dbType===a0_0x762cd(0x1dc)){const oracleDb=require(a0_0x762cd(0x1ea));executeQuery=(_0x455c2a,_0x512729)=>oracleDb['executeQuery'](_0x455c2a,_0x512729);}else{if(dbType===a0_0x762cd(0x1ce)){const mysqlDb=require('./db-mysql');executeQuery=(_0x264c4b,_0x394961)=>mysqlDb[a0_0x762cd(0x1c7)](_0x264c4b,_0x394961);}else executeQuery=require(a0_0x762cd(0x1e2))['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){const _0x4f3da8=a0_0x762cd;this[_0x4f3da8(0x1d4)]=new Map();}['clearCache'](){const _0x5d0682=a0_0x762cd,_0x51afa8={'alpkX':'lookup_cache_cleared'};this['lookupCache'][_0x5d0682(0x1e1)](),logger[_0x5d0682(0x1e4)]({'event':_0x51afa8[_0x5d0682(0x1d5)]},_0x5d0682(0x1cb));}async['loadLookupTable'](_0x115850,_0x55fbe5,_0x271abc){const _0x48b882=a0_0x762cd,_0x511716={'KyZbn':function(_0x951cec,_0xcfe476){return _0x951cec!==_0xcfe476;},'MbLGO':function(_0xda5e41,_0x451260){return _0xda5e41(_0x451260);},'sXfMu':function(_0x547c9a,_0x297261){return _0x547c9a(_0x297261);},'XRecK':_0x48b882(0x1da)},_0x4064d4=_0x115850+':'+_0x55fbe5+':'+_0x271abc;if(this[_0x48b882(0x1d4)][_0x48b882(0x1e7)](_0x4064d4))return this['lookupCache']['get'](_0x4064d4);try{const _0x1c3ae6=_0x48b882(0x1ed)+_0x271abc+',\x20'+_0x55fbe5+_0x48b882(0x1fa)+_0x115850,_0x399f5c=await _0x511716['sXfMu'](executeQuery,_0x1c3ae6),_0x3c5a43=new Map();return _0x399f5c[_0x48b882(0x1ee)](_0x21c86d=>{const _0x40af2b=_0x48b882,_0x4fcdf9=_0x21c86d[_0x55fbe5]!==undefined?_0x21c86d[_0x55fbe5]:_0x21c86d[_0x55fbe5[_0x40af2b(0x1d0)]()],_0xce24d7=_0x511716[_0x40af2b(0x1e0)](_0x21c86d[_0x271abc],undefined)?_0x21c86d[_0x271abc]:_0x21c86d[_0x271abc['toUpperCase']()];_0x511716['KyZbn'](_0x4fcdf9,null)&&_0x4fcdf9!==undefined&&(_0x3c5a43['set'](String(_0x4fcdf9)[_0x40af2b(0x1d7)]()['trim'](),_0xce24d7),_0x3c5a43['set'](_0x511716[_0x40af2b(0x1d9)](String,_0x4fcdf9)['trim'](),_0xce24d7));}),this['lookupCache'][_0x48b882(0x1c6)](_0x4064d4,_0x3c5a43),logger['info']({'event':_0x48b882(0x1f7),'table':_0x115850,'column':_0x55fbe5,'count':_0x399f5c[_0x48b882(0x1f8)]},'Lookup\x20table\x20loaded:\x20'+_0x115850),_0x3c5a43;}catch(_0x11ebb3){logger['error']({'event':_0x511716['XRecK'],'table':_0x115850,'error':_0x11ebb3[_0x48b882(0x1f4)]},_0x48b882(0x1ef)+_0x115850);throw _0x11ebb3;}}[a0_0x762cd(0x1f1)](_0x3ee2b5,_0x27fd8b){const _0x2b67d0=a0_0x762cd,_0x1b8043={'ZFCcK':function(_0x240feb,_0x5d0b3a){return _0x240feb===_0x5d0b3a;}};if(_0x1b8043['ZFCcK'](_0x3ee2b5,null)||_0x3ee2b5===undefined||_0x3ee2b5==='')return null;const _0x342c56=String(_0x3ee2b5)['trim']();if(_0x27fd8b['has'](_0x342c56))return _0x27fd8b[_0x2b67d0(0x1f0)](_0x342c56);const _0x1ad337=_0x342c56[_0x2b67d0(0x1d7)]();if(_0x27fd8b[_0x2b67d0(0x1e7)](_0x1ad337))return _0x27fd8b[_0x2b67d0(0x1f0)](_0x1ad337);return null;}async['processLookupFields'](_0x2db56e,_0x1dc24f){const _0x1afd42=a0_0x762cd,_0x136d80={'WIIFq':function(_0x483b29,_0x2bb258){return _0x483b29===_0x2bb258;},'xYuBJ':function(_0x122984,_0x1900ed){return _0x122984===_0x1900ed;},'wYsaQ':_0x1afd42(0x1d6)};if(!_0x1dc24f||Object[_0x1afd42(0x1f3)](_0x1dc24f)[_0x1afd42(0x1f8)]===0x0)return{'processedRows':_0x2db56e,'errors':[]};const _0x4c8278=[],_0x49b72b=new Map();for(const [_0x56746f,_0x19db1a]of Object[_0x1afd42(0x1f2)](_0x1dc24f)){const {lookupTable:_0x2d4814,lookupColumn:_0x3219dd,lookupIdColumn:_0x2856d9}=_0x19db1a,_0x52c2db=_0x2d4814+':'+_0x3219dd+':'+_0x2856d9;if(!_0x49b72b[_0x1afd42(0x1e7)](_0x52c2db)){const _0x2f3f18=await this['loadLookupTable'](_0x2d4814,_0x3219dd,_0x2856d9);_0x49b72b['set'](_0x52c2db,_0x2f3f18);}}const _0x1f85a0=_0x2db56e[_0x1afd42(0x1dd)]((_0x1c5e65,_0x1ccfd5)=>{const _0x2d46e6=_0x1afd42,_0x46e433={..._0x1c5e65};for(const [_0x78206b,_0x3b9e89]of Object[_0x2d46e6(0x1f2)](_0x1dc24f)){const {lookupTable:_0x467d4c,lookupColumn:_0x26a5f4,lookupIdColumn:_0x4c59cb,targetField:_0x3a62b7,required:_0x307e3a}=_0x3b9e89,_0x2a0ad6=_0x467d4c+':'+_0x26a5f4+':'+_0x4c59cb,_0x47aea8=_0x49b72b['get'](_0x2a0ad6),_0x18e837=_0x1c5e65[_0x78206b];if((_0x136d80[_0x2d46e6(0x1eb)](_0x18e837,null)||_0x18e837===undefined||_0x136d80['xYuBJ'](_0x18e837,''))&&!_0x307e3a){_0x46e433[_0x3a62b7]=null;continue;}const _0x13a787=this[_0x2d46e6(0x1f1)](_0x18e837,_0x47aea8);_0x13a787!==null?_0x46e433[_0x3a62b7]=_0x13a787:(_0x307e3a&&_0x4c8278['push']({'rowIndex':_0x1ccfd5,'field':_0x78206b,'value':_0x18e837,'targetField':_0x3a62b7,'lookupTable':_0x467d4c,'message':_0x2d46e6(0x1de)+_0x18e837+_0x2d46e6(0x1e9)+_0x467d4c}),_0x46e433[_0x3a62b7]=null);}return _0x46e433;});return logger[_0x1afd42(0x1cd)]({'event':_0x136d80[_0x1afd42(0x1cc)],'totalRows':_0x2db56e['length'],'errorCount':_0x4c8278['length'],'lookupFieldCount':Object[_0x1afd42(0x1f3)](_0x1dc24f)['length']},_0x1afd42(0x1df)),{'processedRows':_0x1f85a0,'errors':_0x4c8278};}[a0_0x762cd(0x1f9)](_0x5624d1,_0x4ea7c9){const _0x59acff=a0_0x762cd,_0x59642c={'njJyR':function(_0x12ff90,_0x425894){return _0x12ff90!==_0x425894;}},_0x11f60c=new Set();return _0x5624d1[_0x59acff(0x1ee)](_0x58b340=>{const _0x2b7651=_0x58b340[_0x4ea7c9];_0x2b7651!==null&&_0x59642c['njJyR'](_0x2b7651,undefined)&&_0x59642c['njJyR'](_0x2b7651,'')&&_0x11f60c['add'](String(_0x2b7651)['trim']());}),Array[_0x59acff(0x1db)](_0x11f60c);}async['validateLookupValues'](_0x480147,_0x3001f9){const _0x148375=a0_0x762cd,_0x25aaf2={'cJyjM':function(_0x3e957a,_0x23cca3){return _0x3e957a!==_0x23cca3;},'CCmCe':function(_0x17e304,_0x10b3f7){return _0x17e304===_0x10b3f7;},'eILOL':function(_0x4a4be8,_0x207abf){return _0x4a4be8>_0x207abf;}};if(!_0x3001f9||_0x25aaf2['CCmCe'](Object[_0x148375(0x1f3)](_0x3001f9)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x2a133a=[],_0x1a626d={};for(const [_0x53691d,_0x363e3f]of Object['entries'](_0x3001f9)){const {lookupTable:_0x2483b1,lookupColumn:_0x515233,lookupIdColumn:_0x3169bf,required:_0x91d5f4}=_0x363e3f,_0x2b0502=this['getDistinctValues'](_0x480147,_0x53691d),_0x1ac2bc=await this[_0x148375(0x1d8)](_0x2483b1,_0x515233,_0x3169bf),_0x139158=[],_0x2e6ba2=[];_0x2b0502[_0x148375(0x1ee)](_0xe1b8bf=>{const _0x41400c=this['resolveLookupValue'](_0xe1b8bf,_0x1ac2bc);_0x25aaf2['cJyjM'](_0x41400c,null)?_0x2e6ba2['push'](_0xe1b8bf):_0x139158['push'](_0xe1b8bf);});if(_0x25aaf2[_0x148375(0x1f5)](_0x139158['length'],0x0)&&_0x91d5f4){_0x2a133a['push']({'field':_0x53691d,'lookupTable':_0x2483b1,'invalidValues':_0x139158,'message':_0x139158[_0x148375(0x1f8)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x2483b1});const _0x40e19a=[];_0x1ac2bc['forEach']((_0x257b81,_0x56b26f)=>{const _0x1559a3=_0x148375;if(_0x56b26f===_0x56b26f[_0x1559a3(0x1d7)]())return;_0x40e19a[_0x1559a3(0x1d1)](_0x56b26f);}),_0x1a626d[_0x53691d]={'invalidValues':_0x139158,'availableValues':_0x40e19a['slice'](0x0,0x32)};}}return{'valid':_0x2a133a[_0x148375(0x1f8)]===0x0,'errors':_0x2a133a,'suggestions':_0x1a626d};}}function a0_0x592a(_0x3a6662,_0x3c5787){_0x3a6662=_0x3a6662-0x1c6;const _0x33e62d=a0_0x33e6();let _0x592ac9=_0x33e62d[_0x3a6662];if(a0_0x592a['VWDfnL']===undefined){var _0x5d3b26=function(_0x36abc9){const _0x536505='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fbdca='',_0x16a8c5='';for(let _0x55cb43=0x0,_0x4dbbfd,_0x48d3e1,_0x44c745=0x0;_0x48d3e1=_0x36abc9['charAt'](_0x44c745++);~_0x48d3e1&&(_0x4dbbfd=_0x55cb43%0x4?_0x4dbbfd*0x40+_0x48d3e1:_0x48d3e1,_0x55cb43++%0x4)?_0x1fbdca+=String['fromCharCode'](0xff&_0x4dbbfd>>(-0x2*_0x55cb43&0x6)):0x0){_0x48d3e1=_0x536505['indexOf'](_0x48d3e1);}for(let _0xf34ba8=0x0,_0x258eb1=_0x1fbdca['length'];_0xf34ba8<_0x258eb1;_0xf34ba8++){_0x16a8c5+='%'+('00'+_0x1fbdca['charCodeAt'](_0xf34ba8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16a8c5);};a0_0x592a['WSrRjp']=_0x5d3b26,a0_0x592a['xBIfdZ']={},a0_0x592a['VWDfnL']=!![];}const _0x5a2481=_0x33e62d[0x0],_0x4a8a9c=_0x3a6662+_0x5a2481,_0x4ff63f=a0_0x592a['xBIfdZ'][_0x4a8a9c];return!_0x4ff63f?(_0x592ac9=a0_0x592a['WSrRjp'](_0x592ac9),a0_0x592a['xBIfdZ'][_0x4a8a9c]=_0x592ac9):_0x592ac9=_0x4ff63f,_0x592ac9;}module['exports']=new LookupResolver();
1
+ const a0_0x4feb94=a0_0x5102;function a0_0x5102(_0x14ec89,_0xa0b340){_0x14ec89=_0x14ec89-0x190;const _0x316f87=a0_0x316f();let _0x510267=_0x316f87[_0x14ec89];if(a0_0x5102['PnHgZY']===undefined){var _0x1dc066=function(_0x5a76cd){const _0x423b85='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5283f2='',_0x5ce559='';for(let _0x2d566c=0x0,_0x457e12,_0x5aa734,_0x3d2833=0x0;_0x5aa734=_0x5a76cd['charAt'](_0x3d2833++);~_0x5aa734&&(_0x457e12=_0x2d566c%0x4?_0x457e12*0x40+_0x5aa734:_0x5aa734,_0x2d566c++%0x4)?_0x5283f2+=String['fromCharCode'](0xff&_0x457e12>>(-0x2*_0x2d566c&0x6)):0x0){_0x5aa734=_0x423b85['indexOf'](_0x5aa734);}for(let _0x594c3c=0x0,_0x1ddc61=_0x5283f2['length'];_0x594c3c<_0x1ddc61;_0x594c3c++){_0x5ce559+='%'+('00'+_0x5283f2['charCodeAt'](_0x594c3c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ce559);};a0_0x5102['bfktQx']=_0x1dc066,a0_0x5102['YdgoAJ']={},a0_0x5102['PnHgZY']=!![];}const _0x592ee3=_0x316f87[0x0],_0x1f6d64=_0x14ec89+_0x592ee3,_0x160ee5=a0_0x5102['YdgoAJ'][_0x1f6d64];return!_0x160ee5?(_0x510267=a0_0x5102['bfktQx'](_0x510267),a0_0x5102['YdgoAJ'][_0x1f6d64]=_0x510267):_0x510267=_0x160ee5,_0x510267;}(function(_0x47f9bb,_0x4bf619){const _0x50f4f6=a0_0x5102,_0x454f0b=_0x47f9bb();while(!![]){try{const _0x4409fd=parseInt(_0x50f4f6(0x1a2))/0x1+-parseInt(_0x50f4f6(0x1af))/0x2+parseInt(_0x50f4f6(0x1ba))/0x3*(-parseInt(_0x50f4f6(0x1b5))/0x4)+-parseInt(_0x50f4f6(0x1ac))/0x5*(parseInt(_0x50f4f6(0x192))/0x6)+-parseInt(_0x50f4f6(0x1b8))/0x7*(parseInt(_0x50f4f6(0x1bc))/0x8)+-parseInt(_0x50f4f6(0x1a6))/0x9+parseInt(_0x50f4f6(0x190))/0xa;if(_0x4409fd===_0x4bf619)break;else _0x454f0b['push'](_0x454f0b['shift']());}catch(_0x11ece3){_0x454f0b['push'](_0x454f0b['shift']());}}}(a0_0x316f,0xdf189));const dbType=(process['env'][a0_0x4feb94(0x199)]||a0_0x4feb94(0x1a0))['toLowerCase']();let executeQuery;function a0_0x316f(){const _0x54d871=['z1LiyMq','nZq3mdy0EffjAfbr','DhjPBq','BxLZCwW','Dg9mB3DLCKnHC2u','mta2nJm0nZbAuKP0z04','z2v0','Bg9VA3vWq2fJAgu','B3jHy2XL','ChvZAa','EvPwuxC','nJeYoduXnvDPy1nsEa','Evbzwxu','lI9SB2DNzxi','mJuYmZq3nfrpChDbsG','Avjdv1O','Ce1WzKO','C2XPy2u','zxHLy3v0zvf1zxj5','Bg9VA3vWx3rHyMXLx2XVywrLza','nty5mtiZnNPAC25QqG','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','tg9VA3vWignHy2HLignSzwfYzwq','ndy5nJnnugTUA3i','BwvZC2fNzq','m3vRBvPjCa','y2XLyxi','mZm2BK1hy05K','zM9YrwfJAa','ntu0mZu5ndbLzKDyALq','z2v0rgLZDgLUy3rwywX1zxm','nMnivwPvBq','BgvUz3rO','A2v5CW','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','u0vmrunuia','CMvZB2X2zuXVB2T1CfzHBhvL','AgfZ','rejFvfLqrq','rxzkBNC','r25As1y','s3P2ueu','rvLmzgO','ywrK','lI9KyG','Cg9ZDgDYzxnXBa'];a0_0x316f=function(){return _0x54d871;};return a0_0x316f();}if(dbType===a0_0x4feb94(0x1a9)){const oracleDb=require('./db-oracle');executeQuery=(_0x4de536,_0x2f95ef)=>oracleDb[a0_0x4feb94(0x1b3)](_0x4de536,_0x2f95ef);}else{if(dbType===a0_0x4feb94(0x1a4)){const mysqlDb=require('./db-mysql');executeQuery=(_0x5d8fb1,_0x2ba8d3)=>mysqlDb['executeQuery'](_0x5d8fb1,_0x2ba8d3);}else executeQuery=require(a0_0x4feb94(0x19f))['executeQuery'];}const {logger}=require(a0_0x4feb94(0x1ae));class LookupResolver{constructor(){const _0x52ef54=a0_0x4feb94;this[_0x52ef54(0x1a8)]=new Map();}['clearCache'](){const _0x7cb553=a0_0x4feb94;this[_0x7cb553(0x1a8)][_0x7cb553(0x1bb)](),logger['debug']({'event':_0x7cb553(0x195)},_0x7cb553(0x1b7));}async['loadLookupTable'](_0x18ad7a,_0x51d270,_0x4c1535){const _0xd67b55=a0_0x4feb94,_0x3ea717={'gYHbd':function(_0x450e24,_0x12f4e6){return _0x450e24!==_0x12f4e6;},'lHqXw':function(_0x189309,_0x55d754){return _0x189309!==_0x55d754;},'GnZKV':function(_0x38bd56,_0x15511d){return _0x38bd56(_0x15511d);}},_0x11c92f=_0x18ad7a+':'+_0x51d270+':'+_0x4c1535;if(this['lookupCache'][_0xd67b55(0x198)](_0x11c92f))return this[_0xd67b55(0x1a8)]['get'](_0x11c92f);try{const _0x794950=_0xd67b55(0x196)+_0x4c1535+',\x20'+_0x51d270+'\x20FROM\x20'+_0x18ad7a,_0x448732=await executeQuery(_0x794950),_0x2c15ec=new Map();return _0x448732[_0xd67b55(0x1bd)](_0x598394=>{const _0x18c07f=_0xd67b55,_0x4fe363=_0x3ea717['gYHbd'](_0x598394[_0x51d270],undefined)?_0x598394[_0x51d270]:_0x598394[_0x51d270['toUpperCase']()],_0xd915e=_0x598394[_0x4c1535]!==undefined?_0x598394[_0x4c1535]:_0x598394[_0x4c1535['toUpperCase']()];_0x3ea717[_0x18c07f(0x1a1)](_0x4fe363,null)&&_0x3ea717['lHqXw'](_0x4fe363,undefined)&&(_0x2c15ec['set'](String(_0x4fe363)[_0x18c07f(0x1a5)]()[_0x18c07f(0x1a3)](),_0xd915e),_0x2c15ec['set'](_0x3ea717[_0x18c07f(0x19b)](String,_0x4fe363)['trim'](),_0xd915e));}),this[_0xd67b55(0x1a8)]['set'](_0x11c92f,_0x2c15ec),logger['info']({'event':_0xd67b55(0x1b4),'table':_0x18ad7a,'column':_0x51d270,'count':_0x448732['length']},'Lookup\x20table\x20loaded:\x20'+_0x18ad7a),_0x2c15ec;}catch(_0x768619){logger['error']({'event':'lookup_table_load_error','table':_0x18ad7a,'error':_0x768619[_0xd67b55(0x1b9)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x18ad7a);throw _0x768619;}}[a0_0x4feb94(0x197)](_0x172af8,_0x523199){const _0x1c8893=a0_0x4feb94,_0x5f5a77={'iRCWZ':function(_0x188234,_0x30a3df){return _0x188234===_0x30a3df;},'EYLdj':function(_0xedfda3,_0x5f167c){return _0xedfda3(_0x5f167c);}};if(_0x5f5a77['iRCWZ'](_0x172af8,null)||_0x5f5a77['iRCWZ'](_0x172af8,undefined)||_0x5f5a77[_0x1c8893(0x1b0)](_0x172af8,''))return null;const _0x59a931=_0x5f5a77[_0x1c8893(0x19d)](String,_0x172af8)[_0x1c8893(0x1a3)]();if(_0x523199[_0x1c8893(0x198)](_0x59a931))return _0x523199[_0x1c8893(0x1a7)](_0x59a931);const _0x46fa2d=_0x59a931['toLowerCase']();if(_0x523199['has'](_0x46fa2d))return _0x523199['get'](_0x46fa2d);return null;}async['processLookupFields'](_0x40f7c1,_0x73df33){const _0x374337=a0_0x4feb94,_0x4d01b1={'yZVQw':function(_0x48bd8c,_0x1ca2c){return _0x48bd8c===_0x1ca2c;},'kWqvQ':function(_0xb5b6f4,_0x247ff2){return _0xb5b6f4!==_0x247ff2;},'KzvPE':function(_0xcecf9b,_0x58f81f){return _0xcecf9b===_0x58f81f;},'EvJnw':'Lookup\x20fields\x20processed'};if(!_0x73df33||_0x4d01b1[_0x374337(0x19c)](Object[_0x374337(0x194)](_0x73df33)['length'],0x0))return{'processedRows':_0x40f7c1,'errors':[]};const _0x5636b7=[],_0xa7ef41=new Map();for(const [_0x3b326e,_0x31ef38]of Object['entries'](_0x73df33)){const {lookupTable:_0x531ad8,lookupColumn:_0x347867,lookupIdColumn:_0xfb767b}=_0x31ef38,_0x38df6d=_0x531ad8+':'+_0x347867+':'+_0xfb767b;if(!_0xa7ef41['has'](_0x38df6d)){const _0x1e9b5b=await this['loadLookupTable'](_0x531ad8,_0x347867,_0xfb767b);_0xa7ef41['set'](_0x38df6d,_0x1e9b5b);}}const _0x2bbd88=_0x40f7c1['map']((_0x240138,_0x2b1948)=>{const _0x2cfdc6=_0x374337,_0x6d2880={..._0x240138};for(const [_0xb66b47,_0x362948]of Object['entries'](_0x73df33)){const {lookupTable:_0x4508b7,lookupColumn:_0x4ccf9a,lookupIdColumn:_0x1afbcb,targetField:_0x594b20,required:_0x3ce1ec}=_0x362948,_0x526c3d=_0x4508b7+':'+_0x4ccf9a+':'+_0x1afbcb,_0x5ac014=_0xa7ef41[_0x2cfdc6(0x1a7)](_0x526c3d),_0x1b1db2=_0x240138[_0xb66b47];if((_0x1b1db2===null||_0x4d01b1['yZVQw'](_0x1b1db2,undefined)||_0x4d01b1[_0x2cfdc6(0x1ab)](_0x1b1db2,''))&&!_0x3ce1ec){_0x6d2880[_0x594b20]=null;continue;}const _0x18bedd=this[_0x2cfdc6(0x197)](_0x1b1db2,_0x5ac014);_0x4d01b1['kWqvQ'](_0x18bedd,null)?_0x6d2880[_0x594b20]=_0x18bedd:(_0x3ce1ec&&_0x5636b7[_0x2cfdc6(0x1aa)]({'rowIndex':_0x2b1948,'field':_0xb66b47,'value':_0x1b1db2,'targetField':_0x594b20,'lookupTable':_0x4508b7,'message':'Value\x20\x22'+_0x1b1db2+'\x22\x20not\x20found\x20in\x20'+_0x4508b7}),_0x6d2880[_0x594b20]=null);}return _0x6d2880;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x40f7c1['length'],'errorCount':_0x5636b7[_0x374337(0x193)],'lookupFieldCount':Object[_0x374337(0x194)](_0x73df33)[_0x374337(0x193)]},_0x4d01b1[_0x374337(0x19a)]),{'processedRows':_0x2bbd88,'errors':_0x5636b7};}['getDistinctValues'](_0x5b71f0,_0x41a133){const _0x2529ae=a0_0x4feb94,_0x532b81={'pMpfJ':function(_0x48483b,_0x27e794){return _0x48483b!==_0x27e794;},'HjzTS':function(_0x4476f2,_0x32e4fb){return _0x4476f2!==_0x32e4fb;}},_0x8961cf=new Set();return _0x5b71f0[_0x2529ae(0x1bd)](_0x5bb0fa=>{const _0x49aa4d=_0x2529ae,_0x931a2e=_0x5bb0fa[_0x41a133];_0x532b81[_0x49aa4d(0x1b1)](_0x931a2e,null)&&_0x532b81['HjzTS'](_0x931a2e,undefined)&&_0x931a2e!==''&&_0x8961cf[_0x49aa4d(0x19e)](String(_0x931a2e)['trim']());}),Array['from'](_0x8961cf);}async['validateLookupValues'](_0x182329,_0x495de7){const _0x2fa894=a0_0x4feb94,_0x49b54d={'AHaVR':function(_0x16f566,_0x2436bc){return _0x16f566!==_0x2436bc;},'ARuDG':function(_0x3af36a,_0x33ed88){return _0x3af36a===_0x33ed88;},'yPYYu':function(_0x1ccfd7,_0x2015bd){return _0x1ccfd7===_0x2015bd;}};if(!_0x495de7||_0x49b54d['ARuDG'](Object['keys'](_0x495de7)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x57562a=[],_0x2111cb={};for(const [_0x256153,_0x4c3150]of Object['entries'](_0x495de7)){const {lookupTable:_0x56a61c,lookupColumn:_0x433053,lookupIdColumn:_0x589b27,required:_0x5776d8}=_0x4c3150,_0x310f13=this[_0x2fa894(0x191)](_0x182329,_0x256153),_0x427129=await this['loadLookupTable'](_0x56a61c,_0x433053,_0x589b27),_0x3f0fa2=[],_0xe2d851=[];_0x310f13['forEach'](_0x580dcc=>{const _0x970c45=_0x2fa894,_0x189b49=this[_0x970c45(0x197)](_0x580dcc,_0x427129);_0x49b54d['AHaVR'](_0x189b49,null)?_0xe2d851[_0x970c45(0x1aa)](_0x580dcc):_0x3f0fa2[_0x970c45(0x1aa)](_0x580dcc);});if(_0x3f0fa2['length']>0x0&&_0x5776d8){_0x57562a[_0x2fa894(0x1aa)]({'field':_0x256153,'lookupTable':_0x56a61c,'invalidValues':_0x3f0fa2,'message':_0x3f0fa2['length']+_0x2fa894(0x1b6)+_0x56a61c});const _0x131f3a=[];_0x427129[_0x2fa894(0x1bd)]((_0x3e333d,_0x2e90ed)=>{if(_0x2e90ed===_0x2e90ed['toLowerCase']())return;_0x131f3a['push'](_0x2e90ed);}),_0x2111cb[_0x256153]={'invalidValues':_0x3f0fa2,'availableValues':_0x131f3a[_0x2fa894(0x1b2)](0x0,0x32)};}}return{'valid':_0x49b54d[_0x2fa894(0x1ad)](_0x57562a['length'],0x0),'errors':_0x57562a,'suggestions':_0x2111cb};}}module['exports']=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0x132cf1=a0_0x4cfc;(function(_0x134852,_0x44edd8){const _0x48e9a6=a0_0x4cfc,_0x127427=_0x134852();while(!![]){try{const _0xe22e3e=-parseInt(_0x48e9a6(0x1f4))/0x1*(parseInt(_0x48e9a6(0x1ee))/0x2)+parseInt(_0x48e9a6(0x1ed))/0x3*(-parseInt(_0x48e9a6(0x1d4))/0x4)+-parseInt(_0x48e9a6(0x1d9))/0x5+parseInt(_0x48e9a6(0x1ef))/0x6*(parseInt(_0x48e9a6(0x1df))/0x7)+parseInt(_0x48e9a6(0x1ff))/0x8*(-parseInt(_0x48e9a6(0x1e7))/0x9)+parseInt(_0x48e9a6(0x1f8))/0xa+parseInt(_0x48e9a6(0x1e2))/0xb*(parseInt(_0x48e9a6(0x203))/0xc);if(_0xe22e3e===_0x44edd8)break;else _0x127427['push'](_0x127427['shift']());}catch(_0x2d097f){_0x127427['push'](_0x127427['shift']());}}}(a0_0x28b9,0xca524));const fs=require('fs')['promises'],path=require('path'),{logger}=require(a0_0x132cf1(0x1e0));function a0_0x28b9(){const _0x1c58fa=['y2XLyxi','mZq2nZq1u2rqzefn','lI9SB2DNzxi','ugf5Bg9HzcbUB3qGzM91BMq6ia','mtfOqwDeufe','y2fJAgu','ywn0Aw9U','BwvZC2fNzq','BLflwxm','oxjbzu5Xyq','lwv4Cg9YDa','DgfIBgvoyw1L','Bg9HzfbHEwXVywq','Cgf5Bg9HzdO','lI4VlI4VCgf5Bg9Hza','mZi2muznAufmua','mKXXB05rtW','mtiWqxDMz2rM','whzUCgW','wejhvxC','y29SDw1UrM9YBwf0CW','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mti0nZGXmxfdr09Rva','zgvIDwC','C2v0','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','mJyZmJe3mfziqvjPwq','y2XLyxjdywnOzq','AgfZ','CgfYC2u','CMvHzezPBgu','DxrMoa','Axnby3rPB25fBMfIBgvK','oti4mJa4ogXJy3jhrq','z2f6C2y','zxjYB3i','zMLLBgroyw1L','ntqWmJmZmdrysuvjEfC','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mZm1nK5QveD2uW','z2v0rxHWB3j0q29UzMLN','AM9PBG','Cgf5Bg9HzerPCG','z2v0','odaZntqZmgnIrgD5BW','wgrREfe','zxHWB3j0CW','lMPZB24','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5'];a0_0x28b9=function(){return _0x1c58fa;};return a0_0x28b9();}function a0_0x4cfc(_0x20caa3,_0x1dbc52){_0x20caa3=_0x20caa3-0x1d4;const _0x28b9c6=a0_0x28b9();let _0x4cfce9=_0x28b9c6[_0x20caa3];if(a0_0x4cfc['oXSQyi']===undefined){var _0x2da1ce=function(_0x4044f4){const _0xc4d162='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x447b29='',_0x43a36d='';for(let _0x170110=0x0,_0x16767d,_0x45fdd8,_0x11d141=0x0;_0x45fdd8=_0x4044f4['charAt'](_0x11d141++);~_0x45fdd8&&(_0x16767d=_0x170110%0x4?_0x16767d*0x40+_0x45fdd8:_0x45fdd8,_0x170110++%0x4)?_0x447b29+=String['fromCharCode'](0xff&_0x16767d>>(-0x2*_0x170110&0x6)):0x0){_0x45fdd8=_0xc4d162['indexOf'](_0x45fdd8);}for(let _0x14b2c6=0x0,_0x57ed05=_0x447b29['length'];_0x14b2c6<_0x57ed05;_0x14b2c6++){_0x43a36d+='%'+('00'+_0x447b29['charCodeAt'](_0x14b2c6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43a36d);};a0_0x4cfc['qVEvCo']=_0x2da1ce,a0_0x4cfc['DQBPJJ']={},a0_0x4cfc['oXSQyi']=!![];}const _0x5a5f49=_0x28b9c6[0x0],_0x5efdbd=_0x20caa3+_0x5a5f49,_0x2f7872=a0_0x4cfc['DQBPJJ'][_0x5efdbd];return!_0x2f7872?(_0x4cfce9=a0_0x4cfc['qVEvCo'](_0x4cfce9),a0_0x4cfc['DQBPJJ'][_0x5efdbd]=_0x4cfce9):_0x4cfce9=_0x2f7872,_0x4cfce9;}class PayloadLoader{constructor(){const _0x2d17ae=a0_0x132cf1;this['payloadDir']=path[_0x2d17ae(0x1d6)](__dirname,_0x2d17ae(0x1ec)),this[_0x2d17ae(0x1e3)]=new Map();}async[a0_0x132cf1(0x1ea)](_0x342a96,_0x450a62){const _0x5497e9=a0_0x132cf1,_0x532bb8={'ocMDq':_0x5497e9(0x1fd),'Xvnpl':_0x5497e9(0x1dd),'gazsf':_0x5497e9(0x1f3)},_0x3e567a=_0x342a96+':'+_0x450a62;if(this['cache'][_0x5497e9(0x1fa)](_0x3e567a))return this[_0x5497e9(0x1e3)]['get'](_0x3e567a);const _0x3009e7=path[_0x5497e9(0x1d6)](this[_0x5497e9(0x1d7)],_0x342a96+'_'+_0x450a62+'.json');try{const _0x4ab1a1=await fs[_0x5497e9(0x1fc)](_0x3009e7,_0x532bb8['ocMDq']),_0x352845=JSON[_0x5497e9(0x1fb)](_0x4ab1a1);return this['cache'][_0x5497e9(0x1f6)](_0x3e567a,_0x352845),logger['debug']({'event':'payload_loaded','project':_0x342a96,'resource':_0x450a62},_0x532bb8[_0x5497e9(0x1f0)]),_0x352845;}catch(_0x4fe476){logger['error']({'event':_0x5497e9(0x204),'project':_0x342a96,'resource':_0x450a62,'error':_0x4fe476[_0x5497e9(0x1e5)]},_0x532bb8[_0x5497e9(0x200)]);throw new Error(_0x5497e9(0x1e1)+_0x342a96+'_'+_0x450a62);}}async['loadPayloadByName'](_0x1d1459){const _0x2d082c=a0_0x132cf1,_0x32f6e5={'XdkxQ':_0x2d082c(0x1fd),'XBGUw':'payload_loaded','nQKYs':'Payload\x20loaded\x20successfully\x20by\x20name'},_0x5b90fe=_0x2d082c(0x1eb)+_0x1d1459;if(this['cache'][_0x2d082c(0x1fa)](_0x5b90fe))return this[_0x2d082c(0x1e3)][_0x2d082c(0x1d8)](_0x5b90fe);const _0x40a3e5=path['join'](this[_0x2d082c(0x1d7)],_0x1d1459+_0x2d082c(0x1dc));try{const _0x293d09=await fs[_0x2d082c(0x1fc)](_0x40a3e5,_0x32f6e5[_0x2d082c(0x1da)]),_0x44d956=JSON['parse'](_0x293d09);return this['cache']['set'](_0x5b90fe,_0x44d956),logger[_0x2d082c(0x1f5)]({'event':_0x32f6e5[_0x2d082c(0x1f1)],'payloadName':_0x1d1459},_0x32f6e5[_0x2d082c(0x1e6)]),_0x44d956;}catch(_0x62c819){logger[_0x2d082c(0x201)]({'event':'payload_load_error','payloadName':_0x1d1459,'error':_0x62c819[_0x2d082c(0x1e5)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x1d1459);}}[a0_0x132cf1(0x1fe)](_0x18c8ca,_0x3eef02){const _0x26bb2d=a0_0x132cf1;return _0x18c8ca['action']&&_0x18c8ca[_0x26bb2d(0x1e4)][_0x3eef02]===!![];}[a0_0x132cf1(0x1d5)](_0x330141){const _0x23bdc2=a0_0x132cf1;return{'columns':_0x330141[_0x23bdc2(0x202)]||[],'filename':_0x330141[_0x23bdc2(0x1e9)]['replace']('.','-')+_0x23bdc2(0x1e8),'datatablesQuery':_0x330141['datatablesQuery']||null,'columnFormats':_0x330141[_0x23bdc2(0x1f2)]||null,'fieldLabels':_0x330141['fieldLabels']||null};}[a0_0x132cf1(0x1f9)](){const _0x34028f=a0_0x132cf1;this[_0x34028f(0x1e3)][_0x34028f(0x1de)](),logger['info']({'event':_0x34028f(0x1f7)},'Payload\x20cache\x20cleared');}}module[a0_0x132cf1(0x1db)]=new PayloadLoader();
1
+ const a0_0x19f2de=a0_0x117e;(function(_0x49a70a,_0x16cbd0){const _0x721db4=a0_0x117e,_0x1a291f=_0x49a70a();while(!![]){try{const _0x411e17=parseInt(_0x721db4(0x17f))/0x1+-parseInt(_0x721db4(0x18a))/0x2*(-parseInt(_0x721db4(0x18e))/0x3)+-parseInt(_0x721db4(0x179))/0x4+-parseInt(_0x721db4(0x193))/0x5+-parseInt(_0x721db4(0x188))/0x6*(parseInt(_0x721db4(0x17e))/0x7)+parseInt(_0x721db4(0x191))/0x8+parseInt(_0x721db4(0x189))/0x9;if(_0x411e17===_0x16cbd0)break;else _0x1a291f['push'](_0x1a291f['shift']());}catch(_0x6fa82d){_0x1a291f['push'](_0x1a291f['shift']());}}}(a0_0xbbb5,0x31d28));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x22c38e=a0_0x117e,_0x4c81d6={'VQouj':_0x22c38e(0x196)};this['payloadDir']=path[_0x22c38e(0x18d)](__dirname,_0x4c81d6[_0x22c38e(0x198)]),this[_0x22c38e(0x17a)]=new Map();}async[a0_0x19f2de(0x197)](_0x5892eb,_0x4d7b3b){const _0x2af56a=a0_0x19f2de,_0x50c4c4={'myZGc':'payload_loaded','AJRbX':_0x2af56a(0x178)},_0x412789=_0x5892eb+':'+_0x4d7b3b;if(this[_0x2af56a(0x17a)][_0x2af56a(0x199)](_0x412789))return this[_0x2af56a(0x17a)][_0x2af56a(0x18c)](_0x412789);const _0x206750=path['join'](this['payloadDir'],_0x5892eb+'_'+_0x4d7b3b+_0x2af56a(0x177));try{const _0x542fac=await fs[_0x2af56a(0x187)](_0x206750,'utf8'),_0x51a255=JSON[_0x2af56a(0x17b)](_0x542fac);return this['cache']['set'](_0x412789,_0x51a255),logger[_0x2af56a(0x175)]({'event':_0x50c4c4['myZGc'],'project':_0x5892eb,'resource':_0x4d7b3b},'Payload\x20loaded\x20successfully'),_0x51a255;}catch(_0x2633f3){logger['error']({'event':'payload_load_error','project':_0x5892eb,'resource':_0x4d7b3b,'error':_0x2633f3['message']},_0x50c4c4['AJRbX']);throw new Error('Payload\x20not\x20found:\x20'+_0x5892eb+'_'+_0x4d7b3b);}}async[a0_0x19f2de(0x176)](_0x4cce27){const _0x5c0933=a0_0x19f2de,_0x343bbf={'hBxPg':_0x5c0933(0x18f),'PuWGO':'Payload\x20loaded\x20successfully\x20by\x20name'},_0x1ca896=_0x5c0933(0x184)+_0x4cce27;if(this['cache']['has'](_0x1ca896))return this['cache'][_0x5c0933(0x18c)](_0x1ca896);const _0x37516=path[_0x5c0933(0x18d)](this['payloadDir'],_0x4cce27+_0x5c0933(0x177));try{const _0x1d0696=await fs[_0x5c0933(0x187)](_0x37516,_0x343bbf[_0x5c0933(0x17d)]),_0x1a7b56=JSON[_0x5c0933(0x17b)](_0x1d0696);return this[_0x5c0933(0x17a)]['set'](_0x1ca896,_0x1a7b56),logger[_0x5c0933(0x175)]({'event':_0x5c0933(0x192),'payloadName':_0x4cce27},_0x343bbf['PuWGO']),_0x1a7b56;}catch(_0x38c3ce){logger[_0x5c0933(0x17c)]({'event':_0x5c0933(0x182),'payloadName':_0x4cce27,'error':_0x38c3ce[_0x5c0933(0x18b)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x5c0933(0x185)+_0x4cce27);}}[a0_0x19f2de(0x195)](_0x2ab1c0,_0x425036){const _0xba3e8b=a0_0x19f2de,_0x4107b5={'OUeIB':function(_0x166a92,_0x959f71){return _0x166a92===_0x959f71;}};return _0x2ab1c0[_0xba3e8b(0x186)]&&_0x4107b5[_0xba3e8b(0x194)](_0x2ab1c0[_0xba3e8b(0x186)][_0x425036],!![]);}[a0_0x19f2de(0x174)](_0x3e5293){const _0x59f708=a0_0x19f2de;return{'columns':_0x3e5293['fieldName']||[],'filename':_0x3e5293[_0x59f708(0x180)]['replace']('.','-')+'-export','datatablesQuery':_0x3e5293[_0x59f708(0x190)]||null,'columnFormats':_0x3e5293['columnFormats']||null,'fieldLabels':_0x3e5293['fieldLabels']||null};}['clearCache'](){const _0x3c9483=a0_0x19f2de,_0x4e2ab9={'gZBlq':'payload_cache_cleared','Qyfsl':'Payload\x20cache\x20cleared'};this[_0x3c9483(0x17a)][_0x3c9483(0x19a)](),logger[_0x3c9483(0x183)]({'event':_0x4e2ab9[_0x3c9483(0x181)]},_0x4e2ab9['Qyfsl']);}}function a0_0xbbb5(){const _0x4c5fd7=['AM9PBG','m1zYrur3DW','DxrMoa','zgf0yxrHyMXLC1f1zxj5','mteWmZyYnhLwvezuAa','Cgf5Bg9Hzf9SB2fKzwq','mtC2nZuYmgnUAxbLEa','t1vLsui','Axnby3rPB25fBMfIBgvK','lI4VlI4VCgf5Bg9Hza','Bg9HzfbHEwXVywq','vLfVDwO','AgfZ','y2XLyxi','z2v0rxHWB3j0q29UzMLN','zgvIDwC','Bg9HzfbHEwXVywrcEu5HBwu','lMPZB24','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mtmWmZi1mMfZrez5Dq','y2fJAgu','CgfYC2u','zxjYB3i','Aej4ugC','ndyXm3fWA3DIyq','mtu4oty1vfDzsM93','DgfIBgvoyw1L','z1PcBhe','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','Aw5MBW','Cgf5Bg9HzdO','ugf5Bg9HzcbUB3qGzM91BMq6ia','ywn0Aw9U','CMvHzezPBgu','mJiZmND3tNzbsW','ndi2mdy1ngnov2Lssa','nZe2ndi2yLHMEwDI','BwvZC2fNzq','z2v0'];a0_0xbbb5=function(){return _0x4c5fd7;};return a0_0xbbb5();}function a0_0x117e(_0x99bfcc,_0x4b5ba6){_0x99bfcc=_0x99bfcc-0x174;const _0xbbb5be=a0_0xbbb5();let _0x117ecb=_0xbbb5be[_0x99bfcc];if(a0_0x117e['aeUKHT']===undefined){var _0x507e5b=function(_0x132971){const _0xa926ba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2053bb='',_0x1fb7b0='';for(let _0x482c67=0x0,_0xc6d68,_0x5f3ded,_0x55c0c4=0x0;_0x5f3ded=_0x132971['charAt'](_0x55c0c4++);~_0x5f3ded&&(_0xc6d68=_0x482c67%0x4?_0xc6d68*0x40+_0x5f3ded:_0x5f3ded,_0x482c67++%0x4)?_0x2053bb+=String['fromCharCode'](0xff&_0xc6d68>>(-0x2*_0x482c67&0x6)):0x0){_0x5f3ded=_0xa926ba['indexOf'](_0x5f3ded);}for(let _0x45d763=0x0,_0x2676f4=_0x2053bb['length'];_0x45d763<_0x2676f4;_0x45d763++){_0x1fb7b0+='%'+('00'+_0x2053bb['charCodeAt'](_0x45d763)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1fb7b0);};a0_0x117e['eyuOER']=_0x507e5b,a0_0x117e['fJFSqU']={},a0_0x117e['aeUKHT']=!![];}const _0x12d549=_0xbbb5be[0x0],_0x2dc39e=_0x99bfcc+_0x12d549,_0x128554=a0_0x117e['fJFSqU'][_0x2dc39e];return!_0x128554?(_0x117ecb=a0_0x117e['eyuOER'](_0x117ecb),a0_0x117e['fJFSqU'][_0x2dc39e]=_0x117ecb):_0x117ecb=_0x128554,_0x117ecb;}module['exports']=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';(function(_0x2468e9,_0x364f17){var _0x580f22=a0_0x1095,_0x20428d=_0x2468e9();while(!![]){try{var _0x274382=-parseInt(_0x580f22(0x15e))/0x1+-parseInt(_0x580f22(0x163))/0x2+-parseInt(_0x580f22(0x164))/0x3+-parseInt(_0x580f22(0x161))/0x4*(-parseInt(_0x580f22(0x167))/0x5)+parseInt(_0x580f22(0x160))/0x6+-parseInt(_0x580f22(0x162))/0x7*(parseInt(_0x580f22(0x165))/0x8)+parseInt(_0x580f22(0x166))/0x9*(parseInt(_0x580f22(0x15f))/0xa);if(_0x274382===_0x364f17)break;else _0x20428d['push'](_0x20428d['shift']());}catch(_0x37f81a){_0x20428d['push'](_0x20428d['shift']());}}}(a0_0x4960,0x9b960));function a0_0x4960(){var _0x4b76fb=['nZeYu0LtDuLS','mJK4mtiWnZDNrxDrtMK','mJbltu1iExy','Dg9ju09tDhjPBMC','mtaZmteYnuz5vwfPra','mtbwsMXgruG','mZa4mta0oe52zer3ua','ndi0mZCYsvrmEMvy','ote0nJLJExnbzeC','mJa3mZKXmKjhu05iBG','mte0nJaYn2jzquLQBG'];a0_0x4960=function(){return _0x4b76fb;};return a0_0x4960();}function createResponse(_0x1a98b5,_0x16bdde,_0x46529c=null){var _0x5e4689=a0_0x1095;return{'success':!![],'statusCode':_0x1a98b5,'message':_0x16bdde,'data':_0x46529c,'timestamp':new Date()[_0x5e4689(0x168)]()};}function createError(_0x465b17,_0xdedb74,_0x4eb0e3=null){return{'success':![],'statusCode':_0x465b17,'message':_0xdedb74,'data':_0x4eb0e3,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x10c461,_0x688af7){return{'success':![],'statusCode':0x190,'message':_0x10c461,'data':{'errors':_0x688af7},'timestamp':new Date()['toISOString']()};}function a0_0x1095(_0x4033e7,_0x4d8b57){_0x4033e7=_0x4033e7-0x15e;var _0x4960a4=a0_0x4960();var _0x1095f6=_0x4960a4[_0x4033e7];if(a0_0x1095['tNbsyf']===undefined){var _0x2d7100=function(_0x2d549a){var _0x364c11='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x5ecf34='',_0x17e169='';for(var _0x2e16bc=0x0,_0x40ef6b,_0x44e25a,_0x25de95=0x0;_0x44e25a=_0x2d549a['charAt'](_0x25de95++);~_0x44e25a&&(_0x40ef6b=_0x2e16bc%0x4?_0x40ef6b*0x40+_0x44e25a:_0x44e25a,_0x2e16bc++%0x4)?_0x5ecf34+=String['fromCharCode'](0xff&_0x40ef6b>>(-0x2*_0x2e16bc&0x6)):0x0){_0x44e25a=_0x364c11['indexOf'](_0x44e25a);}for(var _0xfcdc5d=0x0,_0x5903d1=_0x5ecf34['length'];_0xfcdc5d<_0x5903d1;_0xfcdc5d++){_0x17e169+='%'+('00'+_0x5ecf34['charCodeAt'](_0xfcdc5d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17e169);};a0_0x1095['QiadrM']=_0x2d7100,a0_0x1095['YDtxrB']={},a0_0x1095['tNbsyf']=!![];}var _0x1e734a=_0x4960a4[0x0],_0x4fa9a6=_0x4033e7+_0x1e734a,_0x1a9f1c=a0_0x1095['YDtxrB'][_0x4fa9a6];return!_0x1a9f1c?(_0x1095f6=a0_0x1095['QiadrM'](_0x1095f6),a0_0x1095['YDtxrB'][_0x4fa9a6]=_0x1095f6):_0x1095f6=_0x1a9f1c,_0x1095f6;}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';(function(_0x249d25,_0x38be1b){var _0xd5b4fa=a0_0x550b,_0x1ac3c7=_0x249d25();while(!![]){try{var _0x1e7be7=-parseInt(_0xd5b4fa(0xfe))/0x1*(parseInt(_0xd5b4fa(0xf8))/0x2)+-parseInt(_0xd5b4fa(0xfc))/0x3*(-parseInt(_0xd5b4fa(0x100))/0x4)+parseInt(_0xd5b4fa(0xff))/0x5+parseInt(_0xd5b4fa(0xfb))/0x6+parseInt(_0xd5b4fa(0xf9))/0x7+parseInt(_0xd5b4fa(0xfd))/0x8+-parseInt(_0xd5b4fa(0xfa))/0x9;if(_0x1e7be7===_0x38be1b)break;else _0x1ac3c7['push'](_0x1ac3c7['shift']());}catch(_0x5f15ad){_0x1ac3c7['push'](_0x1ac3c7['shift']());}}}(a0_0x1b49,0x98723));function a0_0x1b49(){var _0x22802e=['mJa0mZmZmZLJDfvJzuO','nJu2mJCWnhjlwM9dDq','m05Nq3jLBG','nJiXodqXnKfjvKjuDW','mvrctvDdrG','mZm3mJK1zhfbBuf0','nda4mJC2ogHLu3zpEq','Dg9ju09tDhjPBMC','mtC5odq3me10DgDmza','ntG0mZuXnKzOvM1PzG'];a0_0x1b49=function(){return _0x22802e;};return a0_0x1b49();}function createResponse(_0x5c8f29,_0x368f95,_0x23eadd=null){return{'success':!![],'statusCode':_0x5c8f29,'message':_0x368f95,'data':_0x23eadd,'timestamp':new Date()['toISOString']()};}function createError(_0x54658f,_0x406472,_0x4317cb=null){var _0x517ff0=a0_0x550b;return{'success':![],'statusCode':_0x54658f,'message':_0x406472,'data':_0x4317cb,'timestamp':new Date()[_0x517ff0(0x101)]()};}function a0_0x550b(_0x1b8230,_0x410c71){_0x1b8230=_0x1b8230-0xf8;var _0x1b49ff=a0_0x1b49();var _0x550bd0=_0x1b49ff[_0x1b8230];if(a0_0x550b['kIVyzS']===undefined){var _0x101b36=function(_0x1f8f6b){var _0x4c8a55='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x270324='',_0x504e1e='';for(var _0x446c43=0x0,_0x460dd5,_0x3153b9,_0x26d85d=0x0;_0x3153b9=_0x1f8f6b['charAt'](_0x26d85d++);~_0x3153b9&&(_0x460dd5=_0x446c43%0x4?_0x460dd5*0x40+_0x3153b9:_0x3153b9,_0x446c43++%0x4)?_0x270324+=String['fromCharCode'](0xff&_0x460dd5>>(-0x2*_0x446c43&0x6)):0x0){_0x3153b9=_0x4c8a55['indexOf'](_0x3153b9);}for(var _0x24a8ee=0x0,_0x1491d7=_0x270324['length'];_0x24a8ee<_0x1491d7;_0x24a8ee++){_0x504e1e+='%'+('00'+_0x270324['charCodeAt'](_0x24a8ee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x504e1e);};a0_0x550b['OWEyER']=_0x101b36,a0_0x550b['sqsLUV']={},a0_0x550b['kIVyzS']=!![];}var _0x56e61e=_0x1b49ff[0x0],_0x9e62af=_0x1b8230+_0x56e61e,_0x1ade31=a0_0x550b['sqsLUV'][_0x9e62af];return!_0x1ade31?(_0x550bd0=a0_0x550b['OWEyER'](_0x550bd0),a0_0x550b['sqsLUV'][_0x9e62af]=_0x550bd0):_0x550bd0=_0x1ade31,_0x550bd0;}function createValidationError(_0x10d053,_0x2913f3){return{'success':![],'statusCode':0x190,'message':_0x10d053,'data':{'errors':_0x2913f3},'timestamp':new Date()['toISOString']()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x140442=a0_0x1bd1;(function(_0x40da5d,_0x3277e0){const _0x44e587=a0_0x1bd1,_0x3485e7=_0x40da5d();while(!![]){try{const _0x18d76e=parseInt(_0x44e587(0x178))/0x1+parseInt(_0x44e587(0x176))/0x2*(parseInt(_0x44e587(0x166))/0x3)+parseInt(_0x44e587(0x17f))/0x4*(-parseInt(_0x44e587(0x17b))/0x5)+-parseInt(_0x44e587(0x165))/0x6*(parseInt(_0x44e587(0x179))/0x7)+parseInt(_0x44e587(0x182))/0x8+parseInt(_0x44e587(0x168))/0x9*(parseInt(_0x44e587(0x16c))/0xa)+-parseInt(_0x44e587(0x188))/0xb;if(_0x18d76e===_0x3277e0)break;else _0x3485e7['push'](_0x3485e7['shift']());}catch(_0x3532f3){_0x3485e7['push'](_0x3485e7['shift']());}}}(a0_0x3504,0x3cf26),require(a0_0x140442(0x162))['config']());const amqp=require(a0_0x140442(0x184)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x140442(0x16a)],EXCHANGE=process['env'][a0_0x140442(0x18e)],ROUTING_KEY=process['env'][a0_0x140442(0x18b)],QUEUE=process['env']['RABBITMQ_QUEUE'];async function createConnection(){const _0x27669f=a0_0x140442,_0x531b33={'JhAUk':function(_0x3037be,_0x1c20c2){return _0x3037be(_0x1c20c2);},'UaLLu':function(_0x39ee66,_0x4a6d30){return _0x39ee66(_0x4a6d30);}};try{const _0x261e2b=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x531b33['JhAUk'](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x261e2b;}catch(_0x30f162){console['error']('['+_0x531b33[_0x27669f(0x164)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x30f162['message']);throw _0x30f162;}}async function createChannel(_0x1aa980){const _0x30e0a4=a0_0x140442,_0x347fe4={'RGFDs':function(_0x13dad5,_0x21c282){return _0x13dad5(_0x21c282);}};try{const _0x57d2ee=await _0x1aa980[_0x30e0a4(0x186)]();return console['log']('['+formatDate(new Date())+_0x30e0a4(0x171)),_0x57d2ee;}catch(_0x5b3686){console['error']('['+_0x347fe4['RGFDs'](formatDate,new Date())+_0x30e0a4(0x174)+_0x5b3686['message']);throw _0x5b3686;}}function a0_0x1bd1(_0x5340a9,_0x1aa508){_0x5340a9=_0x5340a9-0x162;const _0x350456=a0_0x3504();let _0x1bd10b=_0x350456[_0x5340a9];if(a0_0x1bd1['xgXMjE']===undefined){var _0x4d1baf=function(_0x4afcad){const _0x2e226c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5cfd03='',_0x52a798='';for(let _0x382d31=0x0,_0x141785,_0x487124,_0x2cb00d=0x0;_0x487124=_0x4afcad['charAt'](_0x2cb00d++);~_0x487124&&(_0x141785=_0x382d31%0x4?_0x141785*0x40+_0x487124:_0x487124,_0x382d31++%0x4)?_0x5cfd03+=String['fromCharCode'](0xff&_0x141785>>(-0x2*_0x382d31&0x6)):0x0){_0x487124=_0x2e226c['indexOf'](_0x487124);}for(let _0x353dae=0x0,_0x35ed96=_0x5cfd03['length'];_0x353dae<_0x35ed96;_0x353dae++){_0x52a798+='%'+('00'+_0x5cfd03['charCodeAt'](_0x353dae)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52a798);};a0_0x1bd1['YJaigl']=_0x4d1baf,a0_0x1bd1['AOXzAR']={},a0_0x1bd1['xgXMjE']=!![];}const _0x449108=_0x350456[0x0],_0x48ee55=_0x5340a9+_0x449108,_0x3ed65c=a0_0x1bd1['AOXzAR'][_0x48ee55];return!_0x3ed65c?(_0x1bd10b=a0_0x1bd1['YJaigl'](_0x1bd10b),a0_0x1bd1['AOXzAR'][_0x48ee55]=_0x1bd10b):_0x1bd10b=_0x3ed65c,_0x1bd10b;}async function setupInfrastructure(_0x3a007e){const _0x535571=a0_0x140442,_0x5ce578={'mzYhF':_0x535571(0x190),'fNdXL':function(_0xf2799e,_0x12e572){return _0xf2799e(_0x12e572);},'kpYtL':function(_0x6804d5,_0x25e53b){return _0x6804d5(_0x25e53b);},'cdLdJ':function(_0x1f3486,_0x3b603d){return _0x1f3486(_0x3b603d);},'zLSRy':'created/ready','irYjt':_0x535571(0x163)};try{await _0x3a007e[_0x535571(0x170)](_0x535571(0x177),_0x5ce578[_0x535571(0x175)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x5ce578['fNdXL'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x5da7cf){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x5da7cf['message']);throw _0x5da7cf;}try{await _0x3a007e[_0x535571(0x170)](EXCHANGE,_0x5ce578['mzYhF'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x5ce578[_0x535571(0x187)](formatDate,new Date())+_0x535571(0x16d)+EXCHANGE+'\x20created/ready');}catch(_0x1496a3){console[_0x535571(0x172)]('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x1496a3[_0x535571(0x191)]);throw _0x1496a3;}const _0x25829d=ROUTING_KEY+_0x535571(0x16e);try{const _0x30782c={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x3a007e[_0x535571(0x16f)](_0x25829d,_0x30782c),console[_0x535571(0x16b)]('['+_0x5ce578[_0x535571(0x187)](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x25829d+'\x20created/ready'),await _0x3a007e['bindQueue'](_0x25829d,_0x535571(0x177),ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x535571(0x18f)+ROUTING_KEY+_0x535571(0x17c));}catch(_0x42b6ea){console[_0x535571(0x172)]('['+_0x5ce578['cdLdJ'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x42b6ea['message']);throw _0x42b6ea;}try{const _0x204e61={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x535571(0x177),'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x1259f0=await _0x3a007e[_0x535571(0x16f)](QUEUE,_0x204e61);console['log']('['+formatDate(new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x1259f0[_0x535571(0x173)]===QUEUE?_0x5ce578['zLSRy']:'found')+_0x535571(0x17d)),await _0x3a007e[_0x535571(0x18d)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+_0x535571(0x183)+QUEUE+'\x20('+ROUTING_KEY+_0x535571(0x17e));}catch(_0x3a4ecd){if(_0x3a4ecd['message'][_0x535571(0x18a)](_0x535571(0x163))&&_0x3a4ecd[_0x535571(0x191)]['includes'](_0x535571(0x185)))console['error']('\x0a['+formatDate(new Date())+_0x535571(0x181)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error']('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x535571(0x172)](_0x535571(0x17a)),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+_0x535571(0x189)+QUEUE+':',_0x3a4ecd['message']);throw _0x3a4ecd;}}}catch(_0x36b512){if(!_0x36b512[_0x535571(0x191)]['includes'](_0x5ce578['irYjt'])){console['error']('['+formatDate(new Date())+_0x535571(0x169),_0x36b512[_0x535571(0x191)]);throw _0x36b512;}process['exit'](0x1);}}async function closeConnection(_0x20c829){const _0x5abe1a=a0_0x140442,_0x4e8d6c={'xFvpE':function(_0x27ce91,_0x29f91e){return _0x27ce91(_0x29f91e);},'Tekye':function(_0xbe0604,_0xfbb607){return _0xbe0604(_0xfbb607);}};if(_0x20c829)try{await _0x20c829['close'](),console['log']('['+_0x4e8d6c['xFvpE'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x16cde3){console[_0x5abe1a(0x172)]('['+_0x4e8d6c[_0x5abe1a(0x180)](formatDate,new Date())+_0x5abe1a(0x167)+_0x16cde3['message']);}}function a0_0x3504(){const _0x32414c=['BxPzAey','mLrNCxvzCq','CMv0CNKTzxHJAgfUz2u','mZeXnJKXEMTrBM1Z','n0nXzw1xDG','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','mJi4odGWAgTlEhvg','ignYzwf0zwq','ihDPDgGGreXy','ksbJCMvHDgvK','mJbtq1brEge','vgvREwu','xsbfuLjpuJOGuxvLDwuG','mJeXmdG5nMLZB0HZsq','ic0+ia','yw1XCgXPyG','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','y3jLyxrLq2HHBM5LBa','A3bzDeW','nJq1mJGYsfzTBxfk','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','Aw5JBhvKzxm','uKfcqKLutvfFuK9vveLor19lrvK','zxHWB3j0CW','yMLUzff1zxvL','uKfcqKLutvfFrvHdsefor0u','xsbszxrYEsbIAw5KAw5NigzVCIa','zgLYzwn0','BwvZC2fNzq','zg90zw52','Aw5LCxvPDMfSzw50igfYzW','vwfmthu','mZG4nJG2BKDnDhHl','nJaYmtnKDvboDui','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','ntCWmZnkwNbMDwO','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','uKfcqKLutvfFvvjm','Bg9N','mtbIwuDIB1m','xsbfEgnOyw5Nzsa','x3jLDhj5','yxnZzxj0uxvLDwu','yxnZzxj0rxHJAgfUz2u','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','zxjYB3i','CxvLDwu','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia'];a0_0x3504=function(){return _0x32414c;};return a0_0x3504();}module[a0_0x140442(0x18c)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x30a316=a0_0x1935;function a0_0x1935(_0x1d6f9c,_0x3d613c){_0x1d6f9c=_0x1d6f9c-0x136;const _0xc10a3c=a0_0xc10a();let _0x1935b0=_0xc10a3c[_0x1d6f9c];if(a0_0x1935['ZvcjtB']===undefined){var _0x1882b4=function(_0x44b1a3){const _0x17b38e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x457280='',_0x1f9576='';for(let _0x53c939=0x0,_0x52b3ca,_0x166007,_0x457ca0=0x0;_0x166007=_0x44b1a3['charAt'](_0x457ca0++);~_0x166007&&(_0x52b3ca=_0x53c939%0x4?_0x52b3ca*0x40+_0x166007:_0x166007,_0x53c939++%0x4)?_0x457280+=String['fromCharCode'](0xff&_0x52b3ca>>(-0x2*_0x53c939&0x6)):0x0){_0x166007=_0x17b38e['indexOf'](_0x166007);}for(let _0x1f2bff=0x0,_0x18062b=_0x457280['length'];_0x1f2bff<_0x18062b;_0x1f2bff++){_0x1f9576+='%'+('00'+_0x457280['charCodeAt'](_0x1f2bff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f9576);};a0_0x1935['bnpwBS']=_0x1882b4,a0_0x1935['oMIqVR']={},a0_0x1935['ZvcjtB']=!![];}const _0x4d92c7=_0xc10a3c[0x0],_0x3f3780=_0x1d6f9c+_0x4d92c7,_0x4d04d8=a0_0x1935['oMIqVR'][_0x3f3780];return!_0x4d04d8?(_0x1935b0=a0_0x1935['bnpwBS'](_0x1935b0),a0_0x1935['oMIqVR'][_0x3f3780]=_0x1935b0):_0x1935b0=_0x4d04d8,_0x1935b0;}(function(_0x509e3d,_0x174d5e){const _0x5101d3=a0_0x1935,_0x56512=_0x509e3d();while(!![]){try{const _0x237270=parseInt(_0x5101d3(0x140))/0x1+-parseInt(_0x5101d3(0x13d))/0x2*(parseInt(_0x5101d3(0x138))/0x3)+parseInt(_0x5101d3(0x15d))/0x4*(-parseInt(_0x5101d3(0x159))/0x5)+parseInt(_0x5101d3(0x141))/0x6*(parseInt(_0x5101d3(0x15f))/0x7)+-parseInt(_0x5101d3(0x155))/0x8+-parseInt(_0x5101d3(0x148))/0x9*(-parseInt(_0x5101d3(0x150))/0xa)+-parseInt(_0x5101d3(0x14a))/0xb;if(_0x237270===_0x174d5e)break;else _0x56512['push'](_0x56512['shift']());}catch(_0x340a78){_0x56512['push'](_0x56512['shift']());}}}(a0_0xc10a,0x5e691),require('dotenv')[a0_0x30a316(0x136)]());function a0_0xc10a(){const _0x553fdb=['otLNtfjyr0i','tMzHEvy','mJm4odmYD3v3qwry','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','uKfcqKLutvfFuvvfvuu','CxvLDwu','yxnZzxj0uxvLDwu','BwvZC2fNzq','mJu0nJmWyxvkEent','Bg9N','xsbszxrYEsbXDwv1zsa','ignYzwf0zwqVCMvHzhK','xsbszxrYEsbIAw5KAw5NigzVCIa','ndK3ndaWyvvKuw5K','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','uKfcqKLutvfFrvHdsefor0u','B0fTB3y','ndu2ndG1zKLeAw5r','z3nvCNu','yNnlCKS','Aw5JBhvKzxm','nhvMDxr3wq','xsbfuLjpuJOGuxvLDwuG','mJG5nZnHyND0A1K','zM91BMq','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','D2vHqvi','y29UzMLN','y29UBMvJDa','mtaXmdK5mw1OCMLoDa','yxnZzxj0rxHJAgfUz2u','AeH4y3O','zw52','yMLUzff1zxvL','mKvLteLwtq','CMv0CNKTzxHJAgfUz2u','zxHWB3j0CW','mJKXodeYAwXvq0Ti','ndC0DMDmuen6','zNnPC1i','DMfXsfK','xsbcAw5KAw5Nia','zxjYB3i','y2XVC2u','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa'];a0_0xc10a=function(){return _0x553fdb;};return a0_0xc10a();}const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0x30a316(0x13b)]['RABBITMQ_URL'],EXCHANGE=process[a0_0x30a316(0x13b)][a0_0x30a316(0x157)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0x30a316(0x13b)][a0_0x30a316(0x14c)];async function createConnection(){const _0x37c533=a0_0x30a316,_0xf2c620={'NKpVi':function(_0x855dd8,_0x4b4724){return _0x855dd8(_0x4b4724);}};try{const _0x58b399=await amqp[_0x37c533(0x137)](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x58b399;}catch(_0x274203){console[_0x37c533(0x145)]('['+_0xf2c620['NKpVi'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x274203['message']);throw _0x274203;}}async function createChannel(_0x4e68ee){const _0x5955a7=a0_0x30a316,_0x492ce8={'fsisR':function(_0x4b7f8a,_0x5a2f20){return _0x4b7f8a(_0x5a2f20);}};try{const _0x25504f=await _0x4e68ee['createChannel']();return console['log']('['+_0x492ce8[_0x5955a7(0x142)](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x25504f;}catch(_0x50982c){console[_0x5955a7(0x145)]('['+formatDate(new Date())+_0x5955a7(0x162)+_0x50982c[_0x5955a7(0x14f)]);throw _0x50982c;}}async function setupInfrastructure(_0x56620e){const _0x3e1a31=a0_0x30a316,_0x2a883c={'gsUru':'direct','NfayV':function(_0xa8f629,_0x116da6){return _0xa8f629(_0x116da6);},'hHxcz':function(_0x21b2d5,_0x1aa69a){return _0x21b2d5===_0x1aa69a;},'bsKrK':_0x3e1a31(0x160),'vaqHY':function(_0x517edf,_0x1e8170){return _0x517edf(_0x1e8170);},'oAmov':'inequivalent\x20arg','bWNAX':'x-dead-letter-routing-key'};try{await _0x56620e[_0x3e1a31(0x139)](_0x3e1a31(0x13e),_0x2a883c[_0x3e1a31(0x15a)],{'durable':!![],'autoDelete':![]}),console[_0x3e1a31(0x151)]('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x12cba9){console[_0x3e1a31(0x145)]('['+_0x2a883c[_0x3e1a31(0x149)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x12cba9[_0x3e1a31(0x14f)]);throw _0x12cba9;}try{await _0x56620e['assertExchange'](EXCHANGE,_0x2a883c['gsUru'],{'durable':!![],'autoDelete':![]}),console[_0x3e1a31(0x151)]('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x3e1a31(0x153));}catch(_0x47e0a9){console['error']('['+formatDate(new Date())+_0x3e1a31(0x147)+EXCHANGE+':',_0x47e0a9[_0x3e1a31(0x14f)]);throw _0x47e0a9;}const _0x579e27=ROUTING_KEY+'_retry';try{const _0x308931={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x56620e[_0x3e1a31(0x14e)](_0x579e27,_0x308931),console[_0x3e1a31(0x151)]('['+_0x2a883c['NfayV'](formatDate,new Date())+_0x3e1a31(0x152)+_0x579e27+_0x3e1a31(0x153)),await _0x56620e['bindQueue'](_0x579e27,_0x3e1a31(0x13e),ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x3e1a31(0x154)+ROUTING_KEY+'\x20created');}catch(_0x5910c0){console['error']('['+formatDate(new Date())+_0x3e1a31(0x161),_0x5910c0[_0x3e1a31(0x14f)]);throw _0x5910c0;}try{const _0x29394a={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x2f9363=await _0x56620e['assertQueue'](QUEUE,_0x29394a);console['log']('['+_0x2a883c['NfayV'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x2a883c[_0x3e1a31(0x13a)](_0x2f9363[_0x3e1a31(0x14d)],QUEUE)?'created/ready':_0x2a883c[_0x3e1a31(0x15b)])+'\x20with\x20DLX'),await _0x56620e[_0x3e1a31(0x13c)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x3e1a31(0x151)]('['+_0x2a883c[_0x3e1a31(0x143)](formatDate,new Date())+_0x3e1a31(0x144)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x5acc5b){if(_0x5acc5b['message'][_0x3e1a31(0x15c)](_0x2a883c[_0x3e1a31(0x158)])&&_0x5acc5b[_0x3e1a31(0x14f)]['includes'](_0x2a883c['bWNAX']))console[_0x3e1a31(0x145)]('\x0a['+formatDate(new Date())+_0x3e1a31(0x15e)+QUEUE+_0x3e1a31(0x156)),console['error']('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x5acc5b[_0x3e1a31(0x14f)]);throw _0x5acc5b;}}}catch(_0xf1a2ea){if(!_0xf1a2ea[_0x3e1a31(0x14f)]['includes'](_0x2a883c[_0x3e1a31(0x158)])){console['error']('['+_0x2a883c['vaqHY'](formatDate,new Date())+_0x3e1a31(0x14b),_0xf1a2ea['message']);throw _0xf1a2ea;}process['exit'](0x1);}}async function closeConnection(_0x317e7d){const _0x651405=a0_0x30a316,_0x188315={'weaAR':function(_0x47419a,_0x430e14){return _0x47419a(_0x430e14);}};if(_0x317e7d)try{await _0x317e7d[_0x651405(0x146)](),console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x159a46){console[_0x651405(0x145)]('['+_0x188315[_0x651405(0x163)](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x159a46['message']);}}module[a0_0x30a316(0x13f)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- const a0_0x43dd4c=a0_0x3795;function a0_0x3340(){const _0x902360=['BKPIDvm','CMvKAxnFAw5PDf9LCNjVCG','uMvKAxmGueLorYb0Aw1LB3v0','BwLU','uKvesvnFse9tva','mtmXnhjKAvLLtW','CxnVyKK','lI9SB2DNzxi','mtjeqNrdzhm','AxndB25Uzwn0zwq','DxzRugy','zxHWB3j0CW','nJu0ngnZD2jusW','mtaZmtm4ngXez2LOAq','zw52','AxjNCLe','zxjYB3i','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','y29UBMvJDa','mJaZmdu1AvPICLHz','zM9Yy2veAxnJB25Uzwn0','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mZq2nZy2u01qDKjA','zgLZy29UBMvJDa','mJyYnJy0weroEuni','y2XVC2u','CgLUzW','BwvZC2fNzq','z2v0q2XPzw50','qMPHuw0','y2XPzw50','uKvesvnFrei','nuvkDfPZEq','Aw5MBW','ndC2ndy3mgXJvvvmvW','mJGXmJKYsevpsMTg'];a0_0x3340=function(){return _0x902360;};return a0_0x3340();}(function(_0x3e858e,_0x524033){const _0x2d236e=a0_0x3795,_0x146d90=_0x3e858e();while(!![]){try{const _0x348cf5=parseInt(_0x2d236e(0x110))/0x1+parseInt(_0x2d236e(0x11b))/0x2+-parseInt(_0x2d236e(0x10b))/0x3+parseInt(_0x2d236e(0x105))/0x4*(parseInt(_0x2d236e(0x118))/0x5)+-parseInt(_0x2d236e(0x100))/0x6*(parseInt(_0x2d236e(0x10e))/0x7)+-parseInt(_0x2d236e(0x104))/0x8*(-parseInt(_0x2d236e(0xfd))/0x9)+-parseInt(_0x2d236e(0x11a))/0xa;if(_0x348cf5===_0x524033)break;else _0x146d90['push'](_0x146d90['shift']());}catch(_0x29114a){_0x146d90['push'](_0x146d90['shift']());}}}(a0_0x3340,0x2188c));const Redis=require('ioredis'),{logger}=require(a0_0x43dd4c(0xff));function a0_0x3795(_0x30928f,_0x15d88e){_0x30928f=_0x30928f-0xf9;const _0x334040=a0_0x3340();let _0x3795fd=_0x334040[_0x30928f];if(a0_0x3795['UdzhcF']===undefined){var _0x46e878=function(_0xfb79b){const _0x45295e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5cbedf='',_0x4bf98c='';for(let _0x3cc837=0x0,_0x4cf9ec,_0x3f15af,_0x5295c6=0x0;_0x3f15af=_0xfb79b['charAt'](_0x5295c6++);~_0x3f15af&&(_0x4cf9ec=_0x3cc837%0x4?_0x4cf9ec*0x40+_0x3f15af:_0x3f15af,_0x3cc837++%0x4)?_0x5cbedf+=String['fromCharCode'](0xff&_0x4cf9ec>>(-0x2*_0x3cc837&0x6)):0x0){_0x3f15af=_0x45295e['indexOf'](_0x3f15af);}for(let _0x5b4a0c=0x0,_0x4f4fc2=_0x5cbedf['length'];_0x5b4a0c<_0x4f4fc2;_0x5b4a0c++){_0x4bf98c+='%'+('00'+_0x5cbedf['charCodeAt'](_0x5b4a0c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bf98c);};a0_0x3795['XTsmfN']=_0x46e878,a0_0x3795['gYczpR']={},a0_0x3795['UdzhcF']=!![];}const _0xe926a4=_0x334040[0x0],_0x139e65=_0x30928f+_0xe926a4,_0x5ee64a=a0_0x3795['gYczpR'][_0x139e65];return!_0x5ee64a?(_0x3795fd=a0_0x3795['XTsmfN'](_0x3795fd),a0_0x3795['gYczpR'][_0x139e65]=_0x3795fd):_0x3795fd=_0x5ee64a,_0x3795fd;}class RedisClient{constructor(){const _0x259cd2=a0_0x43dd4c;this[_0x259cd2(0x116)]=null,this['isConnected']=![];}['connect'](){const _0x386478=a0_0x43dd4c,_0x99bcf3={'nJbuS':'redis_error','dxgKN':'redis_disconnected','irgrQ':_0x386478(0x109),'bUxXo':function(_0xa8160f,_0x3f9d87,_0x24593f){return _0xa8160f(_0x3f9d87,_0x24593f);},'qsobI':_0x386478(0x108),'rgCpY':_0x386478(0x111),'uvkPf':_0x386478(0xf9),'BjaQm':'Failed\x20to\x20initialize\x20Redis'};if(this['client'])return this['client'];try{return this['client']=new Redis({'host':process['env'][_0x386478(0xfc)]||'localhost','port':_0x99bcf3['bUxXo'](parseInt,process[_0x386478(0x106)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process['env'][_0x386478(0x117)],0xa)||0x0,'retryStrategy'(_0x1b8daf){const _0x425140=_0x386478,_0x34b5ef=Math[_0x425140(0xfb)](_0x1b8daf*0x32,0x7d0);return _0x34b5ef;}}),this['client']['on']('connect',()=>{const _0x41dd67=_0x386478;this['isConnected']=!![],logger[_0x41dd67(0x119)]({'event':'redis_connected'},_0x41dd67(0x10d));}),this[_0x386478(0x116)]['on'](_0x99bcf3[_0x386478(0xfe)],_0x41bfdd=>{const _0x16efd0=_0x386478;this['isConnected']=![],logger[_0x16efd0(0x108)]({'event':_0x99bcf3[_0x16efd0(0x11c)],'error':_0x41bfdd['message']},'Redis\x20connection\x20error:\x20'+_0x41bfdd['message']);}),this['client']['on'](_0x99bcf3['rgCpY'],()=>{const _0x3cf972=_0x386478;this[_0x3cf972(0x101)]=![],logger['warn']({'event':_0x99bcf3['dxgKN']},_0x99bcf3[_0x3cf972(0x107)]);}),this[_0x386478(0x116)];}catch(_0xc3a28f){logger[_0x386478(0x108)]({'event':_0x99bcf3[_0x386478(0x102)],'error':_0xc3a28f[_0x386478(0x113)]},_0x99bcf3[_0x386478(0x115)]);throw _0xc3a28f;}}['getClient'](){const _0xf34526=a0_0x43dd4c;return!this['client']&&this[_0xf34526(0x10a)](),this[_0xf34526(0x116)];}async['ping'](_0x4f1f64=0x1388){const _0x230f6a=a0_0x43dd4c,_0x33d537={'VAGUG':function(_0xf119b8,_0x4f0f5b){return _0xf119b8===_0x4f0f5b;}};try{const _0x4b0d10=this[_0x230f6a(0x114)](),_0x1b2851=await Promise['race']([_0x4b0d10[_0x230f6a(0x112)](),new Promise((_0xb75d1c,_0x43ee45)=>setTimeout(()=>_0x43ee45(new Error(_0x230f6a(0xfa))),_0x4f1f64))]);return _0x33d537['VAGUG'](_0x1b2851,'PONG');}catch(_0x458d30){return![];}}async[a0_0x43dd4c(0x10f)](){const _0x459f4e=a0_0x43dd4c;this['client']&&(await this[_0x459f4e(0x116)]['quit'](),this['client']=null,this['isConnected']=![]);}[a0_0x43dd4c(0x10c)](){const _0x194dad=a0_0x43dd4c;this['client']&&(this[_0x194dad(0x116)]['disconnect'](),this['client']=null,this[_0x194dad(0x101)]=![]);}}module[a0_0x43dd4c(0x103)]=new RedisClient();
1
+ const a0_0x25bf1c=a0_0xf73b;function a0_0x91b1(){const _0x36ef26=['mJHzq3jprwq','z0r2BMS','zgLZy29UBMvJDa','DgrftwK','rwLWA2C','zxjYB3i','y29UBMvJDa','nJu1mJiWv3Pxyw1T','zxHWB3j0CW','otK1ntuZmerxqLP1sq','Aw9YzwrPCW','mJK3mdm2ohDlvgjuAG','mtmWotqYogD6qMXSEa','y2XPzw50','z2v0q2XPzw50','D2fYBG','mZbYD3fTsMW','y2XVC2u','ue9orW','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','CMvKAxnFy29UBMvJDgvK','zM9Yy2veAxnJB25Uzwn0','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','uMvKAxmGueLorYb0Aw1LB3v0','BwLU','BwvZC2fNzq','mJKYmteWmereDvjUtW','zw52','uKvesvnFse9tva','mZeXotK0owzOBvrxsq','ndq1mJa3vhbcr0Lb','AxndB25Uzwn0zwq'];a0_0x91b1=function(){return _0x36ef26;};return a0_0x91b1();}(function(_0x3537ae,_0x49d799){const _0x107d9a=a0_0xf73b,_0x4f8023=_0x3537ae();while(!![]){try{const _0x2b5311=parseInt(_0x107d9a(0x1ed))/0x1+-parseInt(_0x107d9a(0x1fb))/0x2+-parseInt(_0x107d9a(0x1fe))/0x3+-parseInt(_0x107d9a(0x201))/0x4*(-parseInt(_0x107d9a(0x208))/0x5)+parseInt(_0x107d9a(0x1f1))/0x6*(parseInt(_0x107d9a(0x1ff))/0x7)+-parseInt(_0x107d9a(0x1ec))/0x8+parseInt(_0x107d9a(0x20a))/0x9;if(_0x2b5311===_0x49d799)break;else _0x4f8023['push'](_0x4f8023['shift']());}catch(_0x9a38ed){_0x4f8023['push'](_0x4f8023['shift']());}}}(a0_0x91b1,0xbe34a));function a0_0xf73b(_0x4c5a1d,_0x576890){_0x4c5a1d=_0x4c5a1d-0x1ec;const _0x91b119=a0_0x91b1();let _0xf73b78=_0x91b119[_0x4c5a1d];if(a0_0xf73b['EIkiOw']===undefined){var _0x3ecc95=function(_0x42372a){const _0x3b39aa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e491e='',_0x47b124='';for(let _0x23e575=0x0,_0x305b16,_0x52fee6,_0x4695d9=0x0;_0x52fee6=_0x42372a['charAt'](_0x4695d9++);~_0x52fee6&&(_0x305b16=_0x23e575%0x4?_0x305b16*0x40+_0x52fee6:_0x52fee6,_0x23e575++%0x4)?_0x3e491e+=String['fromCharCode'](0xff&_0x305b16>>(-0x2*_0x23e575&0x6)):0x0){_0x52fee6=_0x3b39aa['indexOf'](_0x52fee6);}for(let _0x1c636b=0x0,_0x440921=_0x3e491e['length'];_0x1c636b<_0x440921;_0x1c636b++){_0x47b124+='%'+('00'+_0x3e491e['charCodeAt'](_0x1c636b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47b124);};a0_0xf73b['HJAXbZ']=_0x3ecc95,a0_0xf73b['jvbhpe']={},a0_0xf73b['EIkiOw']=!![];}const _0x1a53c1=_0x91b119[0x0],_0x41d4ec=_0x4c5a1d+_0x1a53c1,_0x21603a=a0_0xf73b['jvbhpe'][_0x41d4ec];return!_0x21603a?(_0xf73b78=a0_0xf73b['HJAXbZ'](_0xf73b78),a0_0xf73b['jvbhpe'][_0x41d4ec]=_0xf73b78):_0xf73b78=_0x21603a,_0xf73b78;}const Redis=require(a0_0x25bf1c(0x20b)),{logger}=require('./logger');class RedisClient{constructor(){const _0x27eed6=a0_0x25bf1c;this['client']=null,this[_0x27eed6(0x200)]=![];}['connect'](){const _0x338721=a0_0x25bf1c,_0x269363={'tdEMi':function(_0x53aed3,_0x168274){return _0x53aed3*_0x168274;},'UlJke':_0x338721(0x1f5),'vqlni':'Redis\x20connected\x20successfully','gDvnk':'Redis\x20connection\x20closed','imOqZ':'localhost','Eipkg':function(_0x2e423d,_0x180c33,_0xc21792){return _0x2e423d(_0x180c33,_0xc21792);},'fJfOW':'connect','bnFqA':_0x338721(0x1f2)};if(this['client'])return this[_0x338721(0x1ee)];try{return this['client']=new Redis({'host':process[_0x338721(0x1fc)][_0x338721(0x1fd)]||_0x269363['imOqZ'],'port':_0x269363[_0x338721(0x205)](parseInt,process[_0x338721(0x1fc)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x338721(0x1fc)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x31d4ba){const _0x414c04=_0x338721,_0x121e75=Math[_0x414c04(0x1f9)](_0x269363[_0x414c04(0x204)](_0x31d4ba,0x32),0x7d0);return _0x121e75;}}),this[_0x338721(0x1ee)]['on'](_0x269363['fJfOW'],()=>{const _0x386b6e=_0x338721;this[_0x386b6e(0x200)]=!![],logger['info']({'event':_0x269363['UlJke']},_0x269363['vqlni']);}),this['client']['on'](_0x338721(0x206),_0x86db15=>{const _0x1719c4=_0x338721;this[_0x1719c4(0x200)]=![],logger[_0x1719c4(0x206)]({'event':'redis_error','error':_0x86db15[_0x1719c4(0x1fa)]},_0x1719c4(0x1f7)+_0x86db15['message']);}),this['client']['on'](_0x269363['bnFqA'],()=>{const _0x4e6118=_0x338721;this[_0x4e6118(0x200)]=![],logger[_0x4e6118(0x1f0)]({'event':'redis_disconnected'},_0x269363[_0x4e6118(0x202)]);}),this[_0x338721(0x1ee)];}catch(_0x34e33f){logger['error']({'event':'redis_init_error','error':_0x34e33f[_0x338721(0x1fa)]},_0x338721(0x1f4));throw _0x34e33f;}}[a0_0x25bf1c(0x1ef)](){const _0x297475=a0_0x25bf1c;return!this['client']&&this[_0x297475(0x207)](),this['client'];}async['ping'](_0x14a4cc=0x1388){const _0x33b865=a0_0x25bf1c;try{const _0x5f0357=this['getClient'](),_0x53d089=await Promise['race']([_0x5f0357['ping'](),new Promise((_0x2ce7c7,_0x17c127)=>setTimeout(()=>_0x17c127(new Error(_0x33b865(0x1f8))),_0x14a4cc))]);return _0x53d089===_0x33b865(0x1f3);}catch(_0x48456e){return![];}}async['disconnect'](){const _0x3e0584=a0_0x25bf1c;this['client']&&(await this['client']['quit'](),this[_0x3e0584(0x1ee)]=null,this[_0x3e0584(0x200)]=![]);}[a0_0x25bf1c(0x1f6)](){const _0x12aa70=a0_0x25bf1c;this[_0x12aa70(0x1ee)]&&(this[_0x12aa70(0x1ee)][_0x12aa70(0x203)](),this[_0x12aa70(0x1ee)]=null,this[_0x12aa70(0x200)]=![]);}}module[a0_0x25bf1c(0x209)]=new RedisClient();
@@ -1 +1 @@
1
- const a0_0x49df84=a0_0x56cd;(function(_0x550d61,_0x251fa8){const _0x59272b=a0_0x56cd,_0x1f14b5=_0x550d61();while(!![]){try{const _0x217f94=parseInt(_0x59272b(0x88))/0x1+parseInt(_0x59272b(0x81))/0x2+-parseInt(_0x59272b(0x97))/0x3*(-parseInt(_0x59272b(0x95))/0x4)+-parseInt(_0x59272b(0x7f))/0x5*(parseInt(_0x59272b(0x94))/0x6)+parseInt(_0x59272b(0x8f))/0x7+-parseInt(_0x59272b(0x8c))/0x8+parseInt(_0x59272b(0x82))/0x9*(-parseInt(_0x59272b(0x99))/0xa);if(_0x217f94===_0x251fa8)break;else _0x1f14b5['push'](_0x1f14b5['shift']());}catch(_0x22f9ac){_0x1f14b5['push'](_0x1f14b5['shift']());}}}(a0_0x2841,0x39aa0));function a0_0x56cd(_0x1989ef,_0x490d31){_0x1989ef=_0x1989ef-0x79;const _0x28412a=a0_0x2841();let _0x56cd40=_0x28412a[_0x1989ef];if(a0_0x56cd['GRKcZl']===undefined){var _0x13390a=function(_0x282f91){const _0xb51163='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51fb00='',_0xe830bd='';for(let _0x232357=0x0,_0x4cbc97,_0x23e70e,_0x1b77d3=0x0;_0x23e70e=_0x282f91['charAt'](_0x1b77d3++);~_0x23e70e&&(_0x4cbc97=_0x232357%0x4?_0x4cbc97*0x40+_0x23e70e:_0x23e70e,_0x232357++%0x4)?_0x51fb00+=String['fromCharCode'](0xff&_0x4cbc97>>(-0x2*_0x232357&0x6)):0x0){_0x23e70e=_0xb51163['indexOf'](_0x23e70e);}for(let _0x26373b=0x0,_0x163dae=_0x51fb00['length'];_0x26373b<_0x163dae;_0x26373b++){_0xe830bd+='%'+('00'+_0x51fb00['charCodeAt'](_0x26373b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe830bd);};a0_0x56cd['IsNOOe']=_0x13390a,a0_0x56cd['GAzSOx']={},a0_0x56cd['GRKcZl']=!![];}const _0x206973=_0x28412a[0x0],_0x7613bd=_0x1989ef+_0x206973,_0x25c8b8=a0_0x56cd['GAzSOx'][_0x7613bd];return!_0x25c8b8?(_0x56cd40=a0_0x56cd['IsNOOe'](_0x56cd40),a0_0x56cd['GAzSOx'][_0x7613bd]=_0x56cd40):_0x56cd40=_0x25c8b8,_0x56cd40;}const redisClient=require(a0_0x49df84(0x85)),{logger}=require('./logger');class RedisHelper{constructor(){const _0x5b24a8=a0_0x49df84,_0x126efe={'ckvOE':function(_0x4e30b0,_0x101b9d,_0x1c2cbf){return _0x4e30b0(_0x101b9d,_0x1c2cbf);}};this['_prefix']=null,this[_0x5b24a8(0x98)]=_0x126efe[_0x5b24a8(0x93)](parseInt,process[_0x5b24a8(0x90)][_0x5b24a8(0x79)],0xa)||0xe10;}get['prefix'](){const _0x5b8194=a0_0x49df84;if(!this[_0x5b8194(0x7e)]){const _0x5cb644=process['env'][_0x5b8194(0x80)]||'default';this['_prefix']=_0x5b8194(0x87)+_0x5cb644+_0x5b8194(0x91);}return this['_prefix'];}async['setJob'](_0x1e6324,_0x20dd51){const _0x9da53b=a0_0x49df84,_0x4dce95={'aWhZu':'redis_set_error'};try{const _0x21906d=redisClient['getClient'](),_0x475db8=''+this[_0x9da53b(0x86)]+_0x1e6324;return await _0x21906d[_0x9da53b(0x7b)](_0x475db8,this[_0x9da53b(0x98)],JSON[_0x9da53b(0x8d)](_0x20dd51)),!![];}catch(_0x5b4b2b){return logger['error']({'event':_0x4dce95['aWhZu'],'jobId':_0x1e6324,'error':_0x5b4b2b['message']},_0x9da53b(0x8b)),![];}}async['getJob'](_0x30895d){const _0x461bb4=a0_0x49df84,_0x270e57={'EOUuZ':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x2936ec=redisClient[_0x461bb4(0x89)](),_0x5ed04c=''+this[_0x461bb4(0x86)]+_0x30895d,_0x47213e=await _0x2936ec[_0x461bb4(0x7d)](_0x5ed04c);return _0x47213e?JSON['parse'](_0x47213e):null;}catch(_0xa99853){return logger['error']({'event':'redis_get_error','jobId':_0x30895d,'error':_0xa99853['message']},_0x270e57[_0x461bb4(0x84)]),null;}}async[a0_0x49df84(0x7c)](_0x432c15,_0x8d276f){const _0x5197f1=await this['getJob'](_0x432c15);if(!_0x5197f1)return![];const _0x11076d={..._0x5197f1,..._0x8d276f};return await this['setJob'](_0x432c15,_0x11076d);}async[a0_0x49df84(0x83)](_0x5a20ed){const _0x2b06ff=a0_0x49df84,_0x2b3fe9={'RzhIJ':'redis_delete_error'};try{const _0x1fa832=redisClient['getClient'](),_0x27a238=''+this['prefix']+_0x5a20ed;return await _0x1fa832['del'](_0x27a238),!![];}catch(_0x5d4ab1){return logger['error']({'event':_0x2b3fe9['RzhIJ'],'jobId':_0x5a20ed,'error':_0x5d4ab1[_0x2b06ff(0x8a)]},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async['getAllJobs'](){const _0x3d7bc9=a0_0x49df84,_0x38cf5a={'jGRzT':'redis_getall_error','yTcHE':_0x3d7bc9(0x92)};try{const _0x45687f=redisClient[_0x3d7bc9(0x89)](),_0x448753=await _0x45687f['keys'](this['prefix']+'*'),_0xdd6828=[];for(const _0x314f36 of _0x448753){const _0x13e526=await _0x45687f[_0x3d7bc9(0x7d)](_0x314f36);_0x13e526&&_0xdd6828[_0x3d7bc9(0x7a)](JSON['parse'](_0x13e526));}return _0xdd6828;}catch(_0x368074){return logger['error']({'event':_0x38cf5a[_0x3d7bc9(0x8e)],'error':_0x368074['message']},_0x38cf5a[_0x3d7bc9(0x96)]),[];}}}module['exports']=new RedisHelper();function a0_0x2841(){const _0x570cd9=['y2T2t0u','mtu2nMPgDgzsrW','mtC4ngPWDwDltG','EvrJseu','otzusu1SDfO','DhrS','mtaZnJbiz2vxAvy','rvHqt1jux0zjtevFrvHqsvjz','ChvZAa','C2v0zxG','DxbKyxrLsM9I','z2v0','x3bYzwzPEa','mJG4nuviyxj1wq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','odi3otaYEwH5zxjR','mZe3n2TxANPNrq','zgvSzxrLsM9I','ru9vDvO','lI9YzwrPCY1JBgLLBNq','ChjLzML4','CMvZDgzVCMDLoG','mZmZmdC5wK5xrLjP','z2v0q2XPzw50','BwvZC2fNzq','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','mZiZntCYmfPlCLncva','C3rYAw5NAwz5','AKDsELq','mJC2otyYmeXOEwvHuW','zw52','oMv4Cg9YDdO','rMfPBgvKihrVigDLDcbHBgWGAM9ICW'];a0_0x2841=function(){return _0x570cd9;};return a0_0x2841();}
1
+ const a0_0x2eb562=a0_0x93f2;(function(_0x1f914a,_0x3d3de9){const _0x35c7f9=a0_0x93f2,_0x120c2e=_0x1f914a();while(!![]){try{const _0x26902b=-parseInt(_0x35c7f9(0x13d))/0x1*(parseInt(_0x35c7f9(0x143))/0x2)+parseInt(_0x35c7f9(0x13e))/0x3*(-parseInt(_0x35c7f9(0x151))/0x4)+parseInt(_0x35c7f9(0x138))/0x5+-parseInt(_0x35c7f9(0x13c))/0x6+-parseInt(_0x35c7f9(0x146))/0x7*(parseInt(_0x35c7f9(0x13b))/0x8)+-parseInt(_0x35c7f9(0x152))/0x9+parseInt(_0x35c7f9(0x153))/0xa;if(_0x26902b===_0x3d3de9)break;else _0x120c2e['push'](_0x120c2e['shift']());}catch(_0x416890){_0x120c2e['push'](_0x120c2e['shift']());}}}(a0_0x227b,0x4fd15));const redisClient=require(a0_0x2eb562(0x144)),{logger}=require(a0_0x2eb562(0x130));function a0_0x93f2(_0x549e08,_0x176dc2){_0x549e08=_0x549e08-0x12f;const _0x227b11=a0_0x227b();let _0x93f27a=_0x227b11[_0x549e08];if(a0_0x93f2['znnXCF']===undefined){var _0x2e4468=function(_0x36f079){const _0x20e19b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe3f5d7='',_0x2ee215='';for(let _0x525442=0x0,_0x3cef91,_0x35a479,_0x5c7eef=0x0;_0x35a479=_0x36f079['charAt'](_0x5c7eef++);~_0x35a479&&(_0x3cef91=_0x525442%0x4?_0x3cef91*0x40+_0x35a479:_0x35a479,_0x525442++%0x4)?_0xe3f5d7+=String['fromCharCode'](0xff&_0x3cef91>>(-0x2*_0x525442&0x6)):0x0){_0x35a479=_0x20e19b['indexOf'](_0x35a479);}for(let _0x328954=0x0,_0x57c5d7=_0xe3f5d7['length'];_0x328954<_0x57c5d7;_0x328954++){_0x2ee215+='%'+('00'+_0xe3f5d7['charCodeAt'](_0x328954)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ee215);};a0_0x93f2['shIzGE']=_0x2e4468,a0_0x93f2['oyQxsa']={},a0_0x93f2['znnXCF']=!![];}const _0x534259=_0x227b11[0x0],_0x45fda4=_0x549e08+_0x534259,_0x560075=a0_0x93f2['oyQxsa'][_0x45fda4];return!_0x560075?(_0x93f27a=a0_0x93f2['shIzGE'](_0x93f27a),a0_0x93f2['oyQxsa'][_0x45fda4]=_0x93f27a):_0x93f27a=_0x560075,_0x93f27a;}class RedisHelper{constructor(){const _0x413b70=a0_0x2eb562,_0x37fd20={'HQYpJ':function(_0x2cfa14,_0x256d40,_0x4735fa){return _0x2cfa14(_0x256d40,_0x4735fa);}};this[_0x413b70(0x14d)]=null,this[_0x413b70(0x135)]=_0x37fd20[_0x413b70(0x12f)](parseInt,process[_0x413b70(0x134)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x3fb7a4=a0_0x2eb562;if(!this[_0x3fb7a4(0x14d)]){const _0xad2b8f=process[_0x3fb7a4(0x134)]['RESTFORGE_PROJECT_NAME']||_0x3fb7a4(0x141);this['_prefix']=_0x3fb7a4(0x136)+_0xad2b8f+_0x3fb7a4(0x154);}return this['_prefix'];}async[a0_0x2eb562(0x150)](_0x408cb6,_0x424e94){const _0x336ed9=a0_0x2eb562,_0x41a6c6={'fDTVN':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x2d036c=redisClient['getClient'](),_0x38c28e=''+this[_0x336ed9(0x131)]+_0x408cb6;return await _0x2d036c[_0x336ed9(0x155)](_0x38c28e,this['ttl'],JSON['stringify'](_0x424e94)),!![];}catch(_0xd6ddd1){return logger[_0x336ed9(0x14a)]({'event':_0x336ed9(0x14e),'jobId':_0x408cb6,'error':_0xd6ddd1[_0x336ed9(0x14c)]},_0x41a6c6[_0x336ed9(0x148)]),![];}}async[a0_0x2eb562(0x139)](_0x165605){const _0x437e4c=a0_0x2eb562,_0x55d343={'nfIot':_0x437e4c(0x156),'eisKl':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x41811d=redisClient['getClient'](),_0xe5f05b=''+this[_0x437e4c(0x131)]+_0x165605,_0x5aeaae=await _0x41811d['get'](_0xe5f05b);return _0x5aeaae?JSON['parse'](_0x5aeaae):null;}catch(_0x4de38a){return logger['error']({'event':_0x55d343[_0x437e4c(0x142)],'jobId':_0x165605,'error':_0x4de38a[_0x437e4c(0x14c)]},_0x55d343[_0x437e4c(0x145)]),null;}}async[a0_0x2eb562(0x13f)](_0x226b6b,_0x21d0e5){const _0x3f3a89=await this['getJob'](_0x226b6b);if(!_0x3f3a89)return![];const _0x340ab4={..._0x3f3a89,..._0x21d0e5};return await this['setJob'](_0x226b6b,_0x340ab4);}async['deleteJob'](_0x14ee6d){const _0x3000e6=a0_0x2eb562;try{const _0x4bdee9=redisClient['getClient'](),_0x2f1b45=''+this[_0x3000e6(0x131)]+_0x14ee6d;return await _0x4bdee9[_0x3000e6(0x133)](_0x2f1b45),!![];}catch(_0xa9c71e){return logger[_0x3000e6(0x14a)]({'event':_0x3000e6(0x13a),'jobId':_0x14ee6d,'error':_0xa9c71e['message']},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async[a0_0x2eb562(0x149)](){const _0x26738d=a0_0x2eb562,_0x91fd62={'MSDqa':_0x26738d(0x147)};try{const _0x45f1b9=redisClient['getClient'](),_0x2dc684=await _0x45f1b9['keys'](this[_0x26738d(0x131)]+'*'),_0x51cb5b=[];for(const _0x1f08e3 of _0x2dc684){const _0x234b0d=await _0x45f1b9[_0x26738d(0x14f)](_0x1f08e3);_0x234b0d&&_0x51cb5b[_0x26738d(0x14b)](JSON[_0x26738d(0x132)](_0x234b0d));}return _0x51cb5b;}catch(_0x470b5a){return logger['error']({'event':'redis_getall_error','error':_0x470b5a['message']},_0x91fd62[_0x26738d(0x137)]),[];}}}module[a0_0x2eb562(0x140)]=new RedisHelper();function a0_0x227b(){const _0x31bf25=['oMv4Cg9YDdO','C2v0zxG','CMvKAxnFz2v0x2vYCM9Y','sffzCeO','lI9SB2DNzxi','ChjLzML4','CgfYC2u','zgvS','zw52','DhrS','CMvZDgzVCMDLoG','tvneCwe','mtC5nZKWChDYqxzl','z2v0sM9I','CMvKAxnFzgvSzxrLx2vYCM9Y','offNwMvMDa','mJi1ndCXmfPZB1HcBa','mvvzDfn0Bq','mtC0nduZCuvHwLHe','DxbKyxrLsM9I','zxHWB3j0CW','zgvMyxvSDa','BMzjB3q','odeYmJm0ue5Zr1bk','lI9YzwrPCY1JBgLLBNq','zwLZs2W','mJqXmtq3oxLNCwn6Ea','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','zKruvK4','z2v0qwXSsM9ICW','zxjYB3i','ChvZAa','BwvZC2fNzq','x3bYzwzPEa','CMvKAxnFC2v0x2vYCM9Y','z2v0','C2v0sM9I','mJruA2r4tgW','mZmZodKZn3zVzfLPwG','mJeZnZi3mZb3BfHiDfu'];a0_0x227b=function(){return _0x31bf25;};return a0_0x227b();}