@restforgejs/platform 5.0.8 → 5.0.9

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 (168) 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/lib/dbschema-kit/connection.js +17 -2
  5. package/generators/lib/templates/dashboard-catalog.js +1 -1
  6. package/generators/lib/templates/db-connection-env.js +1 -1
  7. package/generators/lib/templates/dbschema-catalog.js +1 -1
  8. package/generators/lib/templates/field-validation-catalog.js +1 -1
  9. package/generators/lib/templates/mysql-template.js +1 -1
  10. package/generators/lib/templates/oracle-template.js +1 -1
  11. package/generators/lib/templates/postgres-template.js +1 -1
  12. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  13. package/generators/lib/templates/sqlite-template.js +1 -1
  14. package/generators/lib/utils/database-introspector.js +4 -1
  15. package/integrity-manifest.json +18 -18
  16. package/package.json +1 -1
  17. package/scripts/verify-integrity.js +1 -1
  18. package/server.js +1 -1
  19. package/src/components/handlers/adjust_handler.js +1 -1
  20. package/src/components/handlers/audit_handler.js +1 -1
  21. package/src/components/handlers/delete_handler.js +1 -1
  22. package/src/components/handlers/export_handler.js +1 -1
  23. package/src/components/handlers/import_handler.js +1 -1
  24. package/src/components/handlers/insert_handler.js +1 -1
  25. package/src/components/handlers/update_handler.js +1 -1
  26. package/src/components/handlers/upload_handler.js +1 -1
  27. package/src/components/handlers/workflow_handler.js +1 -1
  28. package/src/components/integrations/webhook.js +1 -1
  29. package/src/consumers/baseConsumer.js +1 -1
  30. package/src/consumers/declarativeMapper.js +1 -1
  31. package/src/consumers/handlers/apiHandler.js +1 -1
  32. package/src/consumers/handlers/consoleHandler.js +1 -1
  33. package/src/consumers/handlers/databaseHandler.js +1 -1
  34. package/src/consumers/handlers/index.js +1 -1
  35. package/src/consumers/handlers/kafkaHandler.js +1 -1
  36. package/src/consumers/index.js +1 -1
  37. package/src/consumers/messageTransformer.js +1 -1
  38. package/src/consumers/validator.js +1 -1
  39. package/src/core/db/dialect/base-dialect.js +1 -1
  40. package/src/core/db/dialect/index.js +1 -1
  41. package/src/core/db/dialect/mysql-dialect.js +1 -1
  42. package/src/core/db/dialect/oracle-dialect.js +1 -1
  43. package/src/core/db/dialect/postgres-dialect.js +1 -1
  44. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  45. package/src/core/db/flatten-helper.js +1 -1
  46. package/src/core/db/query-builder-error.js +1 -1
  47. package/src/core/db/query-builder.js +1 -1
  48. package/src/core/db/relation-helper.js +1 -1
  49. package/src/core/handlers/delete_handler.js +1 -1
  50. package/src/core/handlers/insert_handler.js +1 -1
  51. package/src/core/handlers/update_handler.js +1 -1
  52. package/src/core/models/base-model.js +1 -1
  53. package/src/core/utils/cache-manager.js +1 -1
  54. package/src/core/utils/component-engine.js +1 -1
  55. package/src/core/utils/context-builder.js +1 -1
  56. package/src/core/utils/datetime-formatter.js +1 -1
  57. package/src/core/utils/datetime-parser.js +1 -1
  58. package/src/core/utils/db.js +1 -1
  59. package/src/core/utils/logger.js +1 -1
  60. package/src/core/utils/payload-loader.js +1 -1
  61. package/src/core/utils/security-checks.js +1 -1
  62. package/src/middleware/body-options.js +1 -1
  63. package/src/middleware/cors.js +1 -1
  64. package/src/middleware/idempotency.js +1 -1
  65. package/src/middleware/rate-limiter.js +1 -1
  66. package/src/middleware/request-logger.js +1 -1
  67. package/src/middleware/security-headers.js +1 -1
  68. package/src/models/base-model-mysql.js +1 -1
  69. package/src/models/base-model-oracle.js +1 -1
  70. package/src/models/base-model-sqlite.js +1 -1
  71. package/src/models/base-model.js +1 -1
  72. package/src/pro/caching/redis-client.js +1 -1
  73. package/src/pro/caching/redis-helper.js +1 -1
  74. package/src/pro/consumers/baseConsumer.js +1 -1
  75. package/src/pro/consumers/declarativeMapper.js +1 -1
  76. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  77. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  78. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  79. package/src/pro/consumers/handlers/index.js +1 -1
  80. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  81. package/src/pro/consumers/index.js +1 -1
  82. package/src/pro/consumers/messageTransformer.js +1 -1
  83. package/src/pro/consumers/validator.js +1 -1
  84. package/src/pro/database/base-model-mysql.js +1 -1
  85. package/src/pro/database/base-model-oracle.js +1 -1
  86. package/src/pro/database/base-model-sqlite.js +1 -1
  87. package/src/pro/database/db-mysql.js +1 -1
  88. package/src/pro/database/db-oracle.js +1 -1
  89. package/src/pro/database/db-sqlite.js +1 -1
  90. package/src/pro/excel/excel-generator.js +1 -1
  91. package/src/pro/excel/excel-parser.js +1 -1
  92. package/src/pro/excel/export-service.js +1 -1
  93. package/src/pro/excel/export_handler.js +1 -1
  94. package/src/pro/excel/import-service.js +1 -1
  95. package/src/pro/excel/import-validator.js +1 -1
  96. package/src/pro/excel/import_handler.js +1 -1
  97. package/src/pro/excel/upsert-builder.js +1 -1
  98. package/src/pro/idgen/idgen-routes.js +1 -1
  99. package/src/pro/integrations/lookup-resolver.js +1 -1
  100. package/src/pro/integrations/upload-handler-v2.js +1 -1
  101. package/src/pro/integrations/upload-handler.js +1 -1
  102. package/src/pro/integrations/webhook.js +1 -1
  103. package/src/pro/locking/lock-routes.js +1 -1
  104. package/src/pro/locking/resource-lock-manager.js +1 -1
  105. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  106. package/src/pro/messaging/kafkaService.js +1 -1
  107. package/src/pro/messaging/messagehubService.js +1 -1
  108. package/src/pro/messaging/rabbitmqService.js +1 -1
  109. package/src/pro/scheduler/job-manager.js +1 -1
  110. package/src/pro/scheduler/job-routes.js +1 -1
  111. package/src/pro/scheduler/job-validator.js +1 -1
  112. package/src/pro/storage/base-storage-provider.js +1 -1
  113. package/src/pro/storage/file-metadata-helper.js +1 -1
  114. package/src/pro/storage/index.js +1 -1
  115. package/src/pro/storage/local-storage-provider.js +1 -1
  116. package/src/pro/storage/s3-storage-provider.js +1 -1
  117. package/src/pro/storage/upload-cleanup-job.js +1 -1
  118. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  119. package/src/pro/storage/upload-pending-tracker.js +1 -1
  120. package/src/pro/websocket/broadcast-helper.js +1 -1
  121. package/src/pro/websocket/index.js +1 -1
  122. package/src/pro/websocket/livesync-server.js +1 -1
  123. package/src/pro/websocket/ws-broadcaster.js +1 -1
  124. package/src/services/export-service.js +1 -1
  125. package/src/services/import-service.js +1 -1
  126. package/src/services/kafkaConsumerService.js +1 -1
  127. package/src/services/kafkaService.js +1 -1
  128. package/src/services/messagehubService.js +1 -1
  129. package/src/services/rabbitmqService.js +1 -1
  130. package/src/utils/cache-invalidation-registry.js +1 -1
  131. package/src/utils/cache-manager.js +1 -1
  132. package/src/utils/component-engine.js +1 -1
  133. package/src/utils/config-extractor.js +1 -1
  134. package/src/utils/consumerLogger.js +1 -1
  135. package/src/utils/context-builder.js +1 -1
  136. package/src/utils/dashboard-helpers.js +1 -1
  137. package/src/utils/dateHelper.js +1 -1
  138. package/src/utils/datetime-formatter.js +1 -1
  139. package/src/utils/datetime-parser.js +1 -1
  140. package/src/utils/db-bootstrap.js +1 -1
  141. package/src/utils/db-mysql.js +1 -1
  142. package/src/utils/db-oracle.js +1 -1
  143. package/src/utils/db-sqlite.js +1 -1
  144. package/src/utils/db.js +1 -1
  145. package/src/utils/demo-generator.js +1 -1
  146. package/src/utils/excel-generator.js +1 -1
  147. package/src/utils/excel-parser.js +1 -1
  148. package/src/utils/file-watcher.js +1 -1
  149. package/src/utils/id-generator.js +1 -1
  150. package/src/utils/idempotency-manager.js +1 -1
  151. package/src/utils/import-validator.js +1 -1
  152. package/src/utils/license-client.js +1 -1
  153. package/src/utils/lock-manager.js +1 -1
  154. package/src/utils/logger.js +1 -1
  155. package/src/utils/lookup-resolver.js +1 -1
  156. package/src/utils/payload-loader.js +1 -1
  157. package/src/utils/processor-response.js +1 -1
  158. package/src/utils/rabbitmq.js +1 -1
  159. package/src/utils/redis-client.js +1 -1
  160. package/src/utils/redis-helper.js +1 -1
  161. package/src/utils/request-scope.js +1 -1
  162. package/src/utils/security-checks.js +1 -1
  163. package/src/utils/service-resolver.js +1 -1
  164. package/src/utils/shutdown-coordinator.js +1 -1
  165. package/src/utils/trusted-keys.js +1 -1
  166. package/src/utils/upload-handler.js +1 -1
  167. package/src/utils/upsert-builder.js +1 -1
  168. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
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
+ const a0_0x1cb7d7=a0_0x730f;function a0_0x730f(_0x39eb5a,_0x42c14f){_0x39eb5a=_0x39eb5a-0x65;const _0xec10d1=a0_0xec10();let _0x730f69=_0xec10d1[_0x39eb5a];if(a0_0x730f['SXdKJe']===undefined){var _0x5dcbb1=function(_0x4e0fc4){const _0x53300='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7c4252='',_0x4e8621='';for(let _0x17474b=0x0,_0x228fbd,_0x3405da,_0x384900=0x0;_0x3405da=_0x4e0fc4['charAt'](_0x384900++);~_0x3405da&&(_0x228fbd=_0x17474b%0x4?_0x228fbd*0x40+_0x3405da:_0x3405da,_0x17474b++%0x4)?_0x7c4252+=String['fromCharCode'](0xff&_0x228fbd>>(-0x2*_0x17474b&0x6)):0x0){_0x3405da=_0x53300['indexOf'](_0x3405da);}for(let _0x105116=0x0,_0x1fce67=_0x7c4252['length'];_0x105116<_0x1fce67;_0x105116++){_0x4e8621+='%'+('00'+_0x7c4252['charCodeAt'](_0x105116)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e8621);};a0_0x730f['qyaZAO']=_0x5dcbb1,a0_0x730f['jZDrWp']={},a0_0x730f['SXdKJe']=!![];}const _0x14c62d=_0xec10d1[0x0],_0x400bd8=_0x39eb5a+_0x14c62d,_0x3409c1=a0_0x730f['jZDrWp'][_0x400bd8];return!_0x3409c1?(_0x730f69=a0_0x730f['qyaZAO'](_0x730f69),a0_0x730f['jZDrWp'][_0x400bd8]=_0x730f69):_0x730f69=_0x3409c1,_0x730f69;}(function(_0x3616e9,_0x569212){const _0x4f4961=a0_0x730f,_0x3e7230=_0x3616e9();while(!![]){try{const _0x12fb7f=parseInt(_0x4f4961(0x83))/0x1*(-parseInt(_0x4f4961(0xc0))/0x2)+parseInt(_0x4f4961(0x66))/0x3+parseInt(_0x4f4961(0x79))/0x4+-parseInt(_0x4f4961(0x85))/0x5*(parseInt(_0x4f4961(0x6a))/0x6)+-parseInt(_0x4f4961(0x9b))/0x7+parseInt(_0x4f4961(0x78))/0x8+parseInt(_0x4f4961(0xc1))/0x9*(parseInt(_0x4f4961(0x9e))/0xa);if(_0x12fb7f===_0x569212)break;else _0x3e7230['push'](_0x3e7230['shift']());}catch(_0x4f0316){_0x3e7230['push'](_0x3e7230['shift']());}}}(a0_0xec10,0xd50f4));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x249d15=a0_0x730f,_0x4c7f7a=_0x249d15(0x8a)[_0x249d15(0xb3)]('|');let _0x552900=0x0;while(!![]){switch(_0x4c7f7a[_0x552900++]){case'0':this['_initialized']=![];continue;case'1':this['_retryCount']=null;continue;case'2':this['_prefix']=null;continue;case'3':this['_retryDelay']=null;continue;case'4':this['_strategy']=null;continue;case'5':this['_defaultTTL']=null;continue;case'6':this[_0x249d15(0x87)]=null;continue;case'7':this['_workerId']=null;continue;}break;}}['_initConfig'](){const _0x1cf662=a0_0x730f,_0x2f15e8={'wZlFj':_0x1cf662(0x90),'HpCjP':function(_0x21ab75,_0x3053ea){return _0x21ab75===_0x3053ea;},'gnpZQ':'rf:lock:','UJcRm':_0x1cf662(0xbc)},_0x2f037d=_0x2f15e8['wZlFj'][_0x1cf662(0xb3)]('|');let _0x9683a9=0x0;while(!![]){switch(_0x2f037d[_0x9683a9++]){case'0':this['_enabled']=_0x2f15e8['HpCjP'](process[_0x1cf662(0xa3)][_0x1cf662(0xb5)],_0x1cf662(0xab));continue;case'1':this[_0x1cf662(0xbd)]=!![];continue;case'2':this['_workerId']='worker-'+process[_0x1cf662(0xa8)];continue;case'3':this[_0x1cf662(0xa2)]=_0x2f15e8['gnpZQ'];continue;case'4':this['_retryCount']=parseInt(process[_0x1cf662(0xa3)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'5':logger['info']({'event':'lock_config_init','enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x1cf662(0x93)],'retryCount':this[_0x1cf662(0x84)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x1cf662(0x96)+this[_0x1cf662(0x87)]+_0x1cf662(0xaa)+this['_strategy']);continue;case'6':this['_retryDelay']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;case'7':this['_strategy']=process[_0x1cf662(0xa3)]['LOCK_DISTRIBUTED_STRATEGY']||_0x2f15e8['UJcRm'];continue;case'8':this['_defaultTTL']=parseInt(process['env'][_0x1cf662(0x75)],0xa)||0xa;continue;}break;}}['_ensureInitialized'](){const _0x59d4ef=a0_0x730f;!this[_0x59d4ef(0xbd)]&&this['_initConfig']();}get['prefix'](){const _0x312e2d=a0_0x730f;return this[_0x312e2d(0xaf)](),this[_0x312e2d(0xa2)];}get['enabled'](){const _0x3026b9=a0_0x730f;return this[_0x3026b9(0xaf)](),this[_0x3026b9(0x87)];}get[a0_0x1cb7d7(0xb6)](){const _0x28133c=a0_0x1cb7d7;return this[_0x28133c(0xaf)](),this['_defaultTTL'];}get['retryCount'](){const _0x56f6fd=a0_0x1cb7d7;return this['_ensureInitialized'](),this[_0x56f6fd(0x84)];}get[a0_0x1cb7d7(0x74)](){const _0x1965a4=a0_0x1cb7d7;return this[_0x1965a4(0xaf)](),this['_retryDelay'];}get['strategy'](){const _0x7a8271=a0_0x1cb7d7;return this[_0x7a8271(0xaf)](),this['_strategy'];}get[a0_0x1cb7d7(0xa1)](){const _0x403089=a0_0x1cb7d7;return this[_0x403089(0xaf)](),this[_0x403089(0x71)];}[a0_0x1cb7d7(0x9c)](_0x5b8376){const _0x101b7a=a0_0x1cb7d7,{module:_0xccc1de,endpoint:_0x508fdf,lockType:_0x530932,recordId:_0x3dcd93}=_0x5b8376;if(_0x3dcd93)return''+this[_0x101b7a(0x77)]+_0xccc1de+':'+_0x508fdf+':'+_0x3dcd93+':'+_0x530932;return''+this['prefix']+_0xccc1de+':'+_0x508fdf+':'+_0x530932;}['generateLockValue'](){const _0x4d63f3=a0_0x1cb7d7,_0x5563b8={'EpqdO':function(_0x5bbd4c){return _0x5bbd4c();}};return this['workerId']+':'+_0x5563b8[_0x4d63f3(0x69)](uuidv4)+':'+Date[_0x4d63f3(0x81)]();}async['acquireReadLock'](_0x308fcb){const _0x481cc6=a0_0x1cb7d7,_0x4bfece={'EwiOs':'READ\x20lock\x20acquired','zTWof':_0x481cc6(0x70),'KEcpB':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','yDznS':function(_0x231e7e,_0xee963f){return _0x231e7e*_0xee963f;},'waEmt':_0x481cc6(0x7c),'rVjvR':'READ\x20lock\x20acquire\x20timeout','ZAigZ':_0x481cc6(0xb7)};if(!this[_0x481cc6(0xb4)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5a5ac0=this[_0x481cc6(0x9c)]({..._0x308fcb,'lockType':_0x481cc6(0x6e)}),_0x31ee54=this[_0x481cc6(0x9c)]({..._0x308fcb,'lockType':'read'}),_0x163bd4=this[_0x481cc6(0x6b)]();try{const _0x3c0c47=redisClient[_0x481cc6(0xac)]();for(let _0x18712a=0x0;_0x18712a<this[_0x481cc6(0x91)];_0x18712a++){const _0x582c2f=await _0x3c0c47[_0x481cc6(0x97)](_0x5a5ac0);if(!_0x582c2f){await _0x3c0c47['incr'](_0x31ee54),await _0x3c0c47['expire'](_0x31ee54,this[_0x481cc6(0xb6)]);const _0x12ed1f=_0x31ee54+':'+_0x163bd4;return await _0x3c0c47[_0x481cc6(0x89)](_0x12ed1f,this[_0x481cc6(0xb6)],_0x163bd4),logger['debug']({'event':'read_lock_acquired','key':_0x31ee54,'value':_0x163bd4},_0x4bfece[_0x481cc6(0x7f)]),{'success':!![],'lockValue':_0x163bd4,'lockKey':_0x12ed1f};}logger[_0x481cc6(0x8b)]({'event':_0x4bfece[_0x481cc6(0x92)],'writeKey':_0x5a5ac0,'attempt':_0x18712a},_0x4bfece['KEcpB']),await this[_0x481cc6(0x7d)](_0x4bfece[_0x481cc6(0xad)](this[_0x481cc6(0x74)],Math['pow'](0x2,_0x18712a)));}return logger['warn']({'event':_0x4bfece[_0x481cc6(0x98)],'key':_0x31ee54},_0x4bfece['rVjvR']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x5bfad9){return logger[_0x481cc6(0x7e)]({'event':_0x4bfece[_0x481cc6(0xae)],'error':_0x5bfad9[_0x481cc6(0x8c)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x7033c0){const _0x7e6219=a0_0x1cb7d7,_0x41572f={'LBTGo':function(_0x309129,_0x2ad6b5){return _0x309129===_0x2ad6b5;},'tOUbo':_0x7e6219(0x76),'HhWEE':_0x7e6219(0x9a),'ZajMY':function(_0x1c9973,_0x18af34){return _0x1c9973<_0x18af34;},'SiKNX':function(_0x5566e4,_0x55e1bc){return _0x5566e4(_0x55e1bc);},'BHwxP':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','blTyI':_0x7e6219(0x8f),'TKemI':'write_lock_timeout','UIyFE':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x57d4d7=this['buildLockKey']({..._0x7033c0,'lockType':'write'}),_0x18d582=this[_0x7e6219(0x9c)]({..._0x7033c0,'lockType':_0x7e6219(0x82)}),_0x387aff=this['generateLockValue']();try{const _0x61a400=redisClient['getClient']();if(_0x41572f[_0x7e6219(0x6d)](this[_0x7e6219(0x86)],'reject')){const _0x443842=await _0x61a400[_0x7e6219(0x80)](_0x57d4d7,_0x387aff,'EX',this['defaultTTL'],'NX');if(_0x443842==='OK')return logger['debug']({'event':_0x41572f['tOUbo'],'key':_0x57d4d7,'value':_0x387aff,'strategy':'reject'},_0x41572f[_0x7e6219(0x94)]),{'success':!![],'lockValue':_0x387aff,'lockKey':_0x57d4d7};return logger[_0x7e6219(0x8b)]({'event':_0x7e6219(0xa6),'key':_0x57d4d7},_0x7e6219(0xba)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x552798=0x0;_0x41572f['ZajMY'](_0x552798,this[_0x7e6219(0x91)]);_0x552798++){const [_0x2e7269,_0x310409]=await Promise['all']([_0x61a400[_0x7e6219(0x97)](_0x18d582),_0x61a400[_0x7e6219(0x97)](_0x57d4d7)]);if(!_0x310409&&(!_0x2e7269||_0x41572f['SiKNX'](parseInt,_0x2e7269)===0x0)){const _0x5dbaf8=await _0x61a400[_0x7e6219(0x80)](_0x57d4d7,_0x387aff,'EX',this['defaultTTL'],'NX');if(_0x41572f['LBTGo'](_0x5dbaf8,'OK'))return logger['debug']({'event':_0x41572f[_0x7e6219(0xbb)],'key':_0x57d4d7,'value':_0x387aff,'strategy':'retry'},_0x41572f[_0x7e6219(0xb8)]),{'success':!![],'lockValue':_0x387aff,'lockKey':_0x57d4d7};}logger['debug']({'event':_0x41572f[_0x7e6219(0xa5)],'writeKey':_0x57d4d7,'readCount':_0x2e7269,'attempt':_0x552798},_0x7e6219(0xa7)),await this[_0x7e6219(0x7d)](this[_0x7e6219(0x74)]*Math['pow'](0x2,_0x552798));}return logger[_0x7e6219(0x6f)]({'event':_0x41572f['TKemI'],'key':_0x57d4d7},_0x7e6219(0xbf)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2746fa){return logger['error']({'event':_0x41572f[_0x7e6219(0x65)],'error':_0x2746fa[_0x7e6219(0x8c)]},_0x7e6219(0x88)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x5b1337,_0x5ac27a){const _0xbab14=a0_0x1cb7d7,_0x196894={'TAyCR':function(_0x2ed9b8,_0x597696){return _0x2ed9b8>_0x597696;},'rrmmp':function(_0x5fe029,_0x2f86b2){return _0x5fe029===_0x2f86b2;},'kFhIf':_0xbab14(0xb9),'fKRLu':_0xbab14(0xa9),'dbFrw':'Lock\x20release\x20error'};if(!this[_0xbab14(0xb4)]||!_0x5b1337)return!![];try{const _0x4ec254=redisClient[_0xbab14(0xac)]();if(_0x5b1337[_0xbab14(0x9f)](':read:')){await _0x4ec254[_0xbab14(0x68)](_0x5b1337);const _0x3174f4=_0x5b1337['substring'](0x0,_0x5b1337['lastIndexOf'](':')),_0xe0cc6b=await _0x4ec254[_0xbab14(0x97)](_0x3174f4);return _0xe0cc6b&&_0x196894[_0xbab14(0xb2)](parseInt(_0xe0cc6b),0x0)&&await _0x4ec254['decr'](_0x3174f4),logger[_0xbab14(0x8b)]({'event':'read_lock_released','key':_0x5b1337},_0xbab14(0x95)),!![];}const _0x39928a=_0xbab14(0x73),_0x2ff2ba=await _0x4ec254['eval'](_0x39928a,0x1,_0x5b1337,_0x5ac27a);if(_0x196894['rrmmp'](_0x2ff2ba,0x1))return logger[_0xbab14(0x8b)]({'event':_0xbab14(0x9d),'key':_0x5b1337},_0x196894[_0xbab14(0xbe)]),!![];return logger[_0xbab14(0x6f)]({'event':'lock_release_not_owner','key':_0x5b1337},_0x196894[_0xbab14(0x7b)]),![];}catch(_0xeb41df){return logger['error']({'event':_0xbab14(0x67),'key':_0x5b1337,'error':_0xeb41df[_0xbab14(0x8c)]},_0x196894[_0xbab14(0x7a)]),![];}}async[a0_0x1cb7d7(0x99)](_0x6f48d7,_0x4dee75,_0x43e59a=null){const _0x50583f=a0_0x1cb7d7,_0x5ccf78={'XkHgA':_0x50583f(0x6c),'iRlAM':_0x50583f(0xb0),'xdTXi':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x6f48d7)return!![];try{const _0x485eea=redisClient['getClient'](),_0x2fee32='\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',_0x150cd4=await _0x485eea[_0x50583f(0xa0)](_0x2fee32,0x1,_0x6f48d7,_0x4dee75,_0x43e59a||this['defaultTTL']);if(_0x150cd4===0x1)return logger['debug']({'event':_0x5ccf78['XkHgA'],'key':_0x6f48d7,'ttl':_0x43e59a||this['defaultTTL']},_0x5ccf78[_0x50583f(0x8d)]),!![];return![];}catch(_0x4bc3a3){return logger[_0x50583f(0x7e)]({'event':'lock_extend_error','key':_0x6f48d7,'error':_0x4bc3a3['message']},_0x5ccf78[_0x50583f(0x72)]),![];}}['isEnabled'](){return this['enabled'];}['sleep'](_0x2cd321){return new Promise(_0x4a3943=>setTimeout(_0x4a3943,_0x2cd321));}async['getLockInfo'](_0x3f2937){const _0x271c04=a0_0x1cb7d7,_0x115dbd={'OrlvZ':'read'};if(!this[_0x271c04(0xb4)])return{'enabled':![]};try{const _0x76f946=redisClient[_0x271c04(0xac)](),_0xc3fd86=this['buildLockKey']({..._0x3f2937,'lockType':'write'}),_0x294d12=this[_0x271c04(0x9c)]({..._0x3f2937,'lockType':_0x115dbd[_0x271c04(0x8e)]}),[_0x8dc43a,_0x2a4dbc]=await Promise[_0x271c04(0xb1)]([_0x76f946['get'](_0xc3fd86),_0x76f946['get'](_0x294d12)]);return{'enabled':!![],'writeLock':_0x8dc43a||null,'readCount':parseInt(_0x2a4dbc)||0x0,'writeKey':_0xc3fd86,'readKey':_0x294d12};}catch(_0x2eeec2){return{'enabled':!![],'error':_0x2eeec2['message']};}}}module[a0_0x1cb7d7(0xa4)]=new LockManager();function a0_0xec10(){const _0xa50f88=['mZCWn1rouuLdva','x3jLDhj5q291BNq','mtG0nJq5me5WBvLRyW','C3rYyxrLz3K','x2vUywjSzwq','v1jjveuGBg9JAYbLCNjVCG','C2v0zxG','mNW2Fdv8mxWZFdr8n3WW','zgvIDwC','BwvZC2fNzq','AvjSqu0','t3jSDLO','D3jPDgvFBg9JA193ywL0Aw5N','m3WWFdH8nhW2FdD8mNWXFdu','CMv0CNLdB3vUDa','ELrxB2y','x2rLzMf1BhruveW','sgHxruu','uKvbrcbSB2nRihjLBgvHC2vK','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','z2v0','D2ffBxq','zxH0zw5Ktg9JAW','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','mta4mJy4ntHwuxjUt08','yNvPBgrmB2nRs2v5','D3jPDgvFBg9JA19YzwXLyxnLza','mZe5nZCYmhvJCNLzqG','Aw5JBhvKzxm','zxzHBa','D29YA2vYswq','x3bYzwzPEa','zw52','zxHWB3j0CW','yMXuEuK','D3jPDgvFBg9JA19YzwPLy3rLza','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','CgLK','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','lcbZDhjHDgvNEtOG','Dhj1zq','z2v0q2XPzw50','Eur6BLm','wKfPz1O','x2vUC3vYzuLUAxrPywXPEMvK','tg9JAYbuveWGzxH0zw5Kzwq','ywXS','vef5q1i','C3bSAxq','zw5HyMXLza','te9ds19esvnuuKLcvvrfrf9ftKfcteve','zgvMyxvSDfruta','CMvHzf9SB2nRx2vYCM9Y','qKH3Efa','v1jjveuGBg9JAYbYzwXLyxnLza','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','De9vyM8','CMv0CNK','x2LUAxrPywXPEMvK','A0zOswy','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','mtaYrwT2uxzL','ndvRyKvNzfC','vuL5rKu','odKXndHbAhD4t2m','Bg9JA19YzwXLyxnLx2vYCM9Y','zgvS','rxbXze8','mtHju2Xpvxe','z2vUzxjHDgvmB2nRvMfSDwu','Bg9JA19LEhrLBMrLza','tejur28','D3jPDgu','D2fYBG','CMvHzf9SB2nRx3DHAxrPBMC','x3DVCMTLCKLK','EgruwgK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMv0CNLezwXHEq','te9ds19esvnuuKLcvvrfrf9uveW','D3jPDgvFBg9JA19Hy3f1AxjLza','ChjLzML4','oty4mZC0nfrdre5myq','mZuWote3mLvKwe55tW','zgjgCNC','zKTsthu','CMvHzf9SB2nRx3rPBwvVDxq','C2XLzxa','zxjYB3i','rxDPt3m','C2v0','BM93','CMvHza'];a0_0xec10=function(){return _0xa50f88;};return a0_0xec10();}
@@ -1 +1 @@
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
+ const a0_0x3d5fbd=a0_0xfd83;(function(_0x18104b,_0xf0a785){const _0x1ef72f=a0_0xfd83,_0x1ba5dd=_0x18104b();while(!![]){try{const _0xb6d152=parseInt(_0x1ef72f(0x233))/0x1+-parseInt(_0x1ef72f(0x1cb))/0x2+parseInt(_0x1ef72f(0x1f2))/0x3+-parseInt(_0x1ef72f(0x267))/0x4+-parseInt(_0x1ef72f(0x1cf))/0x5+-parseInt(_0x1ef72f(0x238))/0x6*(-parseInt(_0x1ef72f(0x1f4))/0x7)+-parseInt(_0x1ef72f(0x25a))/0x8*(-parseInt(_0x1ef72f(0x251))/0x9);if(_0xb6d152===_0xf0a785)break;else _0x1ba5dd['push'](_0x1ba5dd['shift']());}catch(_0x472244){_0x1ba5dd['push'](_0x1ba5dd['shift']());}}}(a0_0x2507,0x6be33));const pino=require(a0_0x3d5fbd(0x231)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x3d5fbd(0x205),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x2507(){const _0x1f291b=['DxnLCI1Hz2vUDa','ChjVAMvJDa','Ec1Yzxf1zxn0lwLK','icbizwfSDgG6ia','zKv0DLa','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','vhrhDva','lI9SB2DZlW','Ahj0Aw1L','uhjVy2vZCYbxyxjUAw5NoIa','CMvMCMvZAf90B2TLBG','ChjVAMvJDf9SB2fKzwq','Dg9mB3DLCKnHC2u','C3rHy2S','rxjYB3i','D2fYBG','zgvIDwC','CgLU','B3jPz2LUywXvCMW','zgjFCxvLCNK','Bwf4','uwDjzMy','te9hx0rjuG','ChDK','C3rYAw5NAwz5','CgLUBW','vunzBgK','mte5mZC0wfvIC1n1','rff0tMG','BwfW','v0jODNy','CgfKrw5K','nZm4ndyYvxLeC2vh','Dg9Rzw4','teLSr0m','zxjYB3iUBg9N','Bg9N','vfjbtLnbq1rjt05Fq09ntuLu','icdIHPiG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2HPBgq','DMDJELO','sfjcCMy','C3rYAw5N','DuznDwO','zxHPDa','yKr2z08','AxntBg93','qvbqx1zfuLnjt04','iokvKqRILzeGifbYB2PLy3qGicaGidOG','A2v5CW','yxbPs2v5','iokvKqRILzeGifbVCNqGicaGicaGidOG','BwTKAxjtEw5J','y3jLyxrLv3jPDgvtDhjLyw0','rgvMyxvSDa','D3rtBhm','ouLny0TKvq','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','u2vYDMvYihn0yxj0Aw5NoIa','CMvWzwf0','E21Zz30','AM9PBG','rKfyuNm','BwvTB3j5vxnHz2u','Aw5MBW','mJm2odq3mLfVqvnXyG','Bw9KDwXL','CxzMCe0','C2vJCMv0','CMvTB3rLqwrKCMvZCW','ChjPDMf0zwTLEq','CgfZC3DK','zw5KCg9PBNrFCMvNAxn0zxjLza','yMfZzvvYBa','zw52AxjVBM1LBNq','vhjHBNnHy3rPB24G','DhjPBq','Dxb0Aw1L','mtaXodmYne1Uue9Xta','ywnJzxnZx3rVA2vU','C29Tzq','C3rHDhvZq29Kzq','DxnLCG','C3rHCNrZv2L0Aa','AgvHBhrOq2HLy2S','zeLlueq','yxPsBMq','DxjS','u0vmrunu','u1rbuLqGvfjbtLnbq1rjt04','revmrvrf','qMPxEw4','w09lxsbqCM9Qzwn0igXVywrLzdOG','CgfZC3DVCMq','w1jfrefdveveoNrVA2vUxq','sLDux1nfq1jfva','Dw5Oyw5KBgvKuMvQzwn0Aw9U','y3jLzgvUDgLHBhm','ChjPDMf0zv9RzxK','y29Kzq','zxHWB3j0CW','CgLUBY1WCMv0DhK','tI9b','tufYyxG','iokvKqRILzeGiefqssblzxKGicaGidOG','qunusvzf','nZe3mZa2thv3qNrL','zMXVB3i','rKfuquW6ia','BwvZC2fNzq','mZe1mtG5me1TC2reDG','C2vYDMvYx3n0yxj0Aw5N','Bwv0Ag9K','BMfTzq','Cg9YDa','Cgf0Aa','y29UBMvJDgLVBG','zhvYyxrPB25nCW','zMf0ywXFzxjYB3i','zxjYB3i','Ag9ZDa','zgjFDhjHBNnHy3rPB24','BwXXD1G','zxjY','yxbPx2TLEq','y1L6tNu','AgvHzgvYCW','yxzequW','z1fQAxa','BgvUz3rO','yxbPx3nLy3jLDa','Dg9vChbLCKnHC2u','C3fSx3f1zxj5','y0XIAfq','wLz4yuW','CM93C0fMzMvJDgvK','vu5ltK9xtG','BxmP','ChjVy2vZC193yxjUAw5N','zunMr3G','Cg9ZDgDYzxnXBa','ugHlvNu','yxbPA2v5','vKfjBuW','zgf0ywjHC2u','mtiYnty0mvnXvNjrEG','z3LzsMK','ndLnAgfpvxq','t0PevLm','rwvpAMq','ANnVBG','tK9uiefdveLwrq','zxHPC3rZu3LUyW','CMvWBgfJzq','C2vYDMLJzuLUzM8','tM9Kzs5QCW','iokvKqRILzeGienVBMzPzYaGicaGidOG','reiGuxvLCNK','zMf0ywW','C0Dzs3G','Aw5JBhvKzxm','C3rKvgLTzuz1BMn0Aw9UCW','wxPTBxO','Dw5JyxvNAhrfEgnLChrPB24','CMvZDgzVCMDL','Bwf0y2G','sfruuca','EwTSywm','D3jPDgu','Dg9ju09tDhjPBMC','C3bSAxq','DhLWzq','uxfjExy','shbfuuC','CfvIrfK','DgvZDa','y3jLzgvUDgLHBa','ms4WlJu','Dg9gAxHLza','C3rHDhvZ','rhL5r2q','zw52','rejFueftu1DpuKq'];a0_0x2507=function(){return _0x1f291b;};return a0_0x2507();}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':a0_0x3d5fbd(0x255),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x3d5fbd(0x216)]['LOG_LEVEL']||a0_0x3d5fbd(0x259);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x3d5fbd(0x1c6),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3d5fbd(0x205),'version':process[a0_0x3d5fbd(0x216)][a0_0x3d5fbd(0x248)]||a0_0x3d5fbd(0x212),'env':process[a0_0x3d5fbd(0x216)]['NODE_ENV']||'development'},'timestamp':pino[a0_0x3d5fbd(0x202)]['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x3d5fbd(0x252),a0_0x3d5fbd(0x276),'token','apiKey',a0_0x3d5fbd(0x217),a0_0x3d5fbd(0x278)],'censor':'[REDACTED]'},'serializers':{'req':_0x414e6e=>({'id':_0x414e6e['id'],'method':_0x414e6e['method'],'url':_0x414e6e[a0_0x3d5fbd(0x270)],'path':_0x414e6e[a0_0x3d5fbd(0x1d4)],'remoteAddress':_0x414e6e['ip']||_0x414e6e['connection']?.['remoteAddress']}),'res':_0x228ae8=>({'statusCode':_0x228ae8['statusCode'],'headers':_0x228ae8['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0x3d5fbd(0x1dc)]}});function initFileLogging(){const _0x476f60=a0_0x3d5fbd,_0x41dffb={'HRBrf':function(_0x205cb9,_0xba4cd9){return _0x205cb9===_0xba4cd9;},'SGctT':'default','eCfGx':function(_0x573dae,_0x5d21c5){return _0x573dae===_0x5d21c5;},'OSsxm':function(_0x515702,_0xc9a277){return _0x515702(_0xc9a277);},'aLkFS':'app.log','XCjRX':function(_0x52344c,_0x454aca,_0x2ef5ee){return _0x52344c(_0x454aca,_0x2ef5ee);}};if(fileLoggingInitialized)return;logToFile=_0x41dffb[_0x476f60(0x242)](process[_0x476f60(0x216)]['LOG_TO_FILE'],'true');const _0x35a3f3=process[_0x476f60(0x216)][_0x476f60(0x23f)]||_0x41dffb['SGctT'];logDir=process['env'][_0x476f60(0x22e)]||_0x476f60(0x21f)+_0x35a3f3,serviceName=process[_0x476f60(0x216)]['SERVICE_NAME']||_0x476f60(0x205),sqlLogEnabled=_0x41dffb[_0x476f60(0x1ec)](process[_0x476f60(0x216)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||'debug',sqlLogParams=process['env']['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=_0x41dffb['OSsxm'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x55260d=path['resolve'](process['cwd'](),logDir);try{!fs[_0x476f60(0x1f9)](_0x55260d)&&fs[_0x476f60(0x24d)](_0x55260d,{'recursive':!![]});}catch(_0x1b5346){console[_0x476f60(0x1d8)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x55260d+':',_0x1b5346[_0x476f60(0x1ce)]),fileLoggingInitialized=!![];return;}const _0x21fedd=path[_0x476f60(0x256)](_0x55260d,_0x41dffb['aLkFS']),_0x26af89=path['join'](_0x55260d,_0x476f60(0x23b));try{appLogStream=fs[_0x476f60(0x24e)](_0x21fedd,{'flags':'a'}),errorLogStream=fs[_0x476f60(0x24e)](_0x26af89,{'flags':'a'}),fileLoggingInitialized=!![];const _0x39ba4d={'event':'file_logging_enabled','logDir':_0x55260d,'files':['app.log',_0x476f60(0x23b)]},_0x13ad06='File\x20logging\x20enabled:\x20'+_0x55260d;logger[_0x476f60(0x259)](_0x39ba4d,_0x13ad06),_0x41dffb['XCjRX'](writeToFileLog,{..._0x39ba4d,'level':_0x476f60(0x259),'msg':_0x13ad06,'time':new Date()['toISOString']()},_0x476f60(0x259));}catch(_0xbdc72a){console['error'](_0x476f60(0x21d),_0xbdc72a[_0x476f60(0x1ce)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x5ed4cf,_0x3e12d6){const _0x23ea92=a0_0x3d5fbd,_0x2d7e83={'Yzmmz':function(_0xe5f8d8,_0x3ce2ef){return _0xe5f8d8||_0x3ce2ef;}};if(_0x2d7e83[_0x23ea92(0x203)](!logToFile,!appLogStream))return;const _0xcd2e2d={'service':serviceName,..._0x5ed4cf},_0x260a41=JSON[_0x23ea92(0x230)](_0xcd2e2d)+'\x0a';appLogStream[_0x23ea92(0x209)](_0x260a41),(_0x3e12d6===_0x23ea92(0x1d8)||_0x3e12d6===_0x23ea92(0x1ff))&&(errorLogStream&&errorLogStream[_0x23ea92(0x209)](_0x260a41));}const createRequestLogger=(_0x7e0630={})=>{const _0x1e8b71=a0_0x3d5fbd;return logger[_0x1e8b71(0x240)](_0x7e0630);},logServerStart=_0x4a5a0b=>{const _0x5e7e75=a0_0x3d5fbd,_0x2b911f={'FAXRs':function(_0x2b9e21,_0x1d5b94){return _0x2b9e21-_0x1d5b94;},'bZqGe':function(_0x14efdb,_0x2ee4b5){return _0x14efdb/_0x2ee4b5;},'dIKPD':function(_0x375341,_0x3798c5){return _0x375341-_0x3798c5;},'RPPPV':_0x5e7e75(0x1c7),'fltYi':_0x5e7e75(0x24f),'MArax':_0x5e7e75(0x1ca),'BjWyn':_0x5e7e75(0x1f8),'kfYYm':_0x5e7e75(0x1d0),'ktaKH':'info'},_0x5c0c95='RESTFORGE\x20RUNTIME\x20SERVER',_0x59ba0d=Math[_0x5e7e75(0x22c)](0x0,_0x2b911f[_0x5e7e75(0x257)](0x37,_0x5c0c95['length'])),_0x276d22=Math[_0x5e7e75(0x1cc)](_0x2b911f['bZqGe'](_0x59ba0d,0x2)),_0x5143b1=_0x2b911f[_0x5e7e75(0x26e)](_0x59ba0d,_0x276d22),_0x1fb9be='║'+'\x20'[_0x5e7e75(0x254)](_0x276d22)+_0x5c0c95+'\x20'[_0x5e7e75(0x254)](_0x5143b1)+'║',_0x49224a='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x1fb9be+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x4a5a0b[_0x5e7e75(0x263)]||_0x5e7e75(0x1fc))[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x249)+(_0x4a5a0b['project']||_0x2b911f['RPPPV'])[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x24c)+String(_0x4a5a0b[_0x5e7e75(0x1d3)]||0xbb8)[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x1fd)+(_0x4a5a0b['configFile']||_0x2b911f['fltYi'])[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x1c9)+(_0x4a5a0b[_0x5e7e75(0x24b)]?_0x2b911f[_0x5e7e75(0x1c8)]:_0x2b911f[_0x5e7e75(0x274)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x5e7e75(0x23c)](_0x49224a);const _0x540439={'event':_0x2b911f['kfYYm'],'project':_0x4a5a0b[_0x5e7e75(0x219)],'port':_0x4a5a0b[_0x5e7e75(0x1d3)],'config':_0x4a5a0b['configFile'],'apiKeyEnabled':!!_0x4a5a0b[_0x5e7e75(0x24b)]};logger['info'](_0x540439),writeToFileLog({..._0x540439,'level':'info','msg':_0x5e7e75(0x253)+_0x4a5a0b[_0x5e7e75(0x219)]+'\x20on\x20port\x20'+_0x4a5a0b[_0x5e7e75(0x1d3)],'time':new Date()['toISOString']()},_0x2b911f['ktaKH']);},logServerReady=_0x25ba5e=>{const _0x4b9a89=a0_0x3d5fbd,_0x3f945e={'DyyGd':function(_0x2f51fb,_0x529d59,_0x36276e){return _0x2f51fb(_0x529d59,_0x36276e);},'nqKMg':'info'},_0x487102={'event':'server_ready','port':_0x25ba5e[_0x4b9a89(0x1d3)],'module':_0x25ba5e[_0x4b9a89(0x25b)],'healthCheck':_0x25ba5e[_0x4b9a89(0x26d)],'serviceInfo':_0x25ba5e[_0x4b9a89(0x1fb)],'baseUrl':_0x25ba5e[_0x4b9a89(0x262)]},_0x236801='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x25ba5e[_0x4b9a89(0x1d3)];logger[_0x4b9a89(0x259)](_0x487102,_0x236801),_0x3f945e[_0x4b9a89(0x215)](writeToFileLog,{..._0x487102,'level':_0x4b9a89(0x259),'msg':_0x236801,'time':new Date()[_0x4b9a89(0x20a)]()},_0x3f945e['nqKMg']),_0x25ba5e['healthCheck']&&logger['info'](_0x4b9a89(0x21b)+_0x25ba5e[_0x4b9a89(0x26d)]),_0x25ba5e['serviceInfo']&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x25ba5e['serviceInfo']),_0x25ba5e[_0x4b9a89(0x262)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x25ba5e['baseUrl']);},logProjectLoaded=(_0x1edea5,_0x187e98)=>{const _0x5caf44=a0_0x3d5fbd,_0x1a62c5={'event':_0x5caf44(0x223),'project':_0x1edea5,'path':_0x187e98},_0x488df5=_0x5caf44(0x275)+_0x1edea5;logger['info'](_0x1a62c5,_0x488df5),writeToFileLog({..._0x1a62c5,'level':'info','msg':_0x488df5,'time':new Date()[_0x5caf44(0x20a)]()},'info');},logEndpointRegistered=(_0x53f547,_0x196737)=>{const _0x4c258d=a0_0x3d5fbd,_0x597b38={'QgIff':function(_0x133226,_0x3584e2,_0x118987){return _0x133226(_0x3584e2,_0x118987);},'blDnQ':'debug'},_0x301149={'event':_0x4c258d(0x261),'endpoint':_0x53f547,'route':_0x196737},_0x138242=_0x4c258d(0x23e)+_0x53f547+':\x20'+_0x196737;logger[_0x4c258d(0x228)](_0x301149,_0x138242),_0x597b38[_0x4c258d(0x22d)](writeToFileLog,{..._0x301149,'level':_0x597b38['blDnQ'],'msg':_0x138242,'time':new Date()[_0x4c258d(0x20a)]()},_0x4c258d(0x228));},logDatabaseConfig=_0x5c657a=>{const _0x3a1446=a0_0x3d5fbd,_0x3e4443={'myFJf':'database_config','HpEQG':'debug'},_0xd36590={'event':_0x3e4443['myFJf'],'host':_0x5c657a['host'],'port':_0x5c657a['port'],'database':_0x5c657a['database'],'type':_0x5c657a[_0x3a1446(0x20c)],'user':_0x5c657a[_0x3a1446(0x26b)]},_0x6af57d='Database:\x20'+_0x5c657a['type']+'://'+_0x5c657a[_0x3a1446(0x1d9)]+':'+_0x5c657a['port']+'/'+_0x5c657a[_0x3a1446(0x1f1)];logger['debug'](_0xd36590,_0x6af57d),writeToFileLog({..._0xd36590,'level':'debug','msg':_0x6af57d,'time':new Date()[_0x3a1446(0x20a)]()},_0x3e4443[_0x3a1446(0x20e)]);},logRequest=(_0x127455,_0x5eb303,_0x146dea)=>{const _0x4b1606=a0_0x3d5fbd,_0x597c5={'VAImL':function(_0x175709,_0x2d3198){return _0x175709>=_0x2d3198;}},_0x3984cd={'event':'http_request','method':_0x127455[_0x4b1606(0x1d1)],'path':_0x127455[_0x4b1606(0x1d4)],'statusCode':_0x5eb303[_0x4b1606(0x26a)],'durationMs':_0x146dea,'ip':_0x127455['ip']},_0x55d316=_0x127455['method']+'\x20'+_0x127455['path']+'\x20-\x20'+_0x5eb303[_0x4b1606(0x26a)]+'\x20('+_0x146dea+_0x4b1606(0x1ea);let _0x5ac40c='info';if(_0x5eb303['statusCode']>=0x1f4)_0x5ac40c='error',logger[_0x4b1606(0x1d8)](_0x3984cd,_0x55d316);else _0x597c5[_0x4b1606(0x1f0)](_0x5eb303[_0x4b1606(0x26a)],0x190)?(_0x5ac40c='warn',logger['warn'](_0x3984cd,_0x55d316)):logger['info'](_0x3984cd,_0x55d316);writeToFileLog({..._0x3984cd,'level':_0x5ac40c,'msg':_0x55d316,'time':new Date()['toISOString']()},_0x5ac40c);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x3d5fbd(0x260),a0_0x3d5fbd(0x22f),'token',a0_0x3d5fbd(0x268),'refresh_token','secret',a0_0x3d5fbd(0x1e3),a0_0x3d5fbd(0x1ef),a0_0x3d5fbd(0x1dd),a0_0x3d5fbd(0x211),a0_0x3d5fbd(0x27a),a0_0x3d5fbd(0x229),'otp',a0_0x3d5fbd(0x27b),a0_0x3d5fbd(0x25f)],redactSensitiveParams=(_0x17a950,_0x31b8ce)=>{const _0x111d62=a0_0x3d5fbd,_0x33e827={'ZVxaL':function(_0x2e5fa1,_0x249676){return _0x2e5fa1>_0x249676;}};if(!_0x17a950||_0x17a950[_0x111d62(0x1e2)]===0x0)return _0x17a950;const _0x1f393b=_0x31b8ce[_0x111d62(0x224)](),_0x1292cb=_0x1f393b['match'](/\(([^)]+)\)\s*values/i);let _0x50a850=[];_0x1292cb&&(_0x50a850=_0x1292cb[0x1][_0x111d62(0x20b)](',')[_0x111d62(0x235)](_0x29e9c1=>_0x29e9c1[_0x111d62(0x265)]()['toLowerCase']()));const _0x125411=_0x1f393b[_0x111d62(0x206)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x125411){const _0x1c1277=_0x125411[0x1],_0x3a64d1=_0x1c1277['match'](/(\w+)\s*=/g);_0x3a64d1&&(_0x50a850=_0x3a64d1[_0x111d62(0x235)](_0x344ab6=>_0x344ab6[_0x111d62(0x1fa)](/\s*=/,'')['trim']()[_0x111d62(0x224)]()));}return _0x17a950['map']((_0xc8e685,_0x242ace)=>{const _0x1d5e75=_0x111d62;if(_0x50a850[_0x242ace]){const _0x4862a1=_0x50a850[_0x242ace],_0x3fe324=SENSITIVE_PARAM_PATTERNS['some'](_0xe43267=>_0x4862a1[_0x1d5e75(0x201)](_0xe43267));if(_0x3fe324)return'[REDACTED]';}if(typeof _0xc8e685===_0x1d5e75(0x243)&&_0x33e827[_0x1d5e75(0x1e7)](_0xc8e685['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0xc8e685)&&_0xc8e685[_0x1d5e75(0x201)]('.'))return _0x1d5e75(0x277);if(/^[a-fA-F0-9]{32,}$/[_0x1d5e75(0x210)](_0xc8e685))return'[REDACTED:hash]';}return _0xc8e685;});},parseQueryMetadata=_0x1731bf=>{const _0x43d65e=a0_0x3d5fbd,_0x16c4ff={'fEtvP':'INSERT','EeOjd':'UPDATE','OJDVS':_0x43d65e(0x273),'wrTMK':'BEGIN','QqIyv':_0x43d65e(0x272),'svtPZ':'TRANSACTION_BEGIN','WrmoY':'COMMIT','NapIX':'ROLLBACK','HfOVy':'TRANSACTION_ROLLBACK','PhKVu':'CREATE','yklac':'ALTER','FphLy':'DDL_ALTER','eIPAH':'DDL_DROP'},_0x46eb78=_0x1731bf['trim'](),_0x3e1e2c=_0x46eb78['toUpperCase']();let _0x255038=_0x43d65e(0x1e9),_0x50b69f=null;if(_0x3e1e2c[_0x43d65e(0x26c)](_0x43d65e(0x271))){_0x255038=_0x43d65e(0x271);const _0x34e244=_0x46eb78['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x34e244?_0x34e244[0x1]:null;}else{if(_0x3e1e2c[_0x43d65e(0x26c)]('INSERT')){_0x255038=_0x16c4ff[_0x43d65e(0x21c)];const _0x976bcd=_0x46eb78['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x976bcd?_0x976bcd[0x1]:null;}else{if(_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x1f6)])){_0x255038=_0x16c4ff['EeOjd'];const _0x45c264=_0x46eb78[_0x43d65e(0x206)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x45c264?_0x45c264[0x1]:null;}else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff[_0x43d65e(0x1f5)])){_0x255038=_0x43d65e(0x273);const _0x141e1e=_0x46eb78[_0x43d65e(0x206)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x141e1e?_0x141e1e[0x1]:null;}else{if(_0x3e1e2c['startsWith'](_0x16c4ff['wrTMK'])||_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x20d)]))_0x255038=_0x16c4ff['svtPZ'];else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff['WrmoY']))_0x255038=_0x43d65e(0x23d);else{if(_0x3e1e2c['startsWith'](_0x16c4ff['NapIX']))_0x255038=_0x16c4ff['HfOVy'];else{if(_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x1ee)]))_0x255038='DDL_CREATE';else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff[_0x43d65e(0x208)]))_0x255038=_0x16c4ff['FphLy'];else _0x3e1e2c['startsWith']('DROP')&&(_0x255038=_0x16c4ff['eIPAH']);}}}}}}}}return{'type':_0x255038,'table':_0x50b69f};},startQueryTimer=()=>{const _0x5c5980=a0_0x3d5fbd,_0x596bff={'ciHpt':function(_0x3f6433,_0x51b111){return _0x3f6433*_0x51b111;},'JKnNt':function(_0x3cb352,_0x52396f){return _0x3cb352/_0x52396f;}},_0x1079fa=process[_0x5c5980(0x220)]();return()=>{const _0xa87c9b=_0x5c5980,[_0x20d390,_0x483881]=process['hrtime'](_0x1079fa);return parseFloat((_0x596bff['ciHpt'](_0x20d390,0x3e8)+_0x596bff['JKnNt'](_0x483881,0xf4240))[_0xa87c9b(0x213)](0x2));};},logQuery=(_0x2bda20,_0x29c5e9=[],_0x11dc12={})=>{const _0x5a4554=a0_0x3d5fbd,_0x375659={'BzlJm':_0x5a4554(0x22b),'sGYKx':_0x5a4554(0x1fe),'vgczZ':function(_0x507d35,_0x364b68){return _0x507d35(_0x364b68);},'TtGuP':_0x5a4554(0x1e5),'WBhvv':function(_0x157a38,_0x1751f6){return _0x157a38>_0x1751f6;},'dXROk':function(_0x4bc5ff,_0x22252e){return _0x4bc5ff!==_0x22252e;},'wlkgJ':function(_0x5a7fe6,_0x4df087){return _0x5a7fe6>_0x4df087;},'LIlGC':function(_0xe8973a,_0x1e681d){return _0xe8973a>_0x1e681d;},'qvfpM':_0x5a4554(0x227),'uFEiK':'info','SFHxp':function(_0x5b7120,_0x487e4a,_0x1ecddc){return _0x5b7120(_0x487e4a,_0x1ecddc);}};if(!sqlLogEnabled){logger['debug']({'event':_0x375659['BzlJm'],'query':_0x2bda20['substring'](0x0,0xc8),'paramCount':_0x29c5e9['length']},_0x375659[_0x5a4554(0x200)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5a4554(0x1ed)}=_0x11dc12,{type:_0x3f7af5,table:_0x139b33}=_0x375659[_0x5a4554(0x241)](parseQueryMetadata,_0x2bda20),_0x52834b={'event':_0x375659[_0x5a4554(0x21e)],'queryType':_0x3f7af5,'table':_0x139b33,'query':_0x2bda20,'paramCount':_0x29c5e9['length'],'dbType':dbType};sqlLogParams&&_0x375659[_0x5a4554(0x236)](_0x29c5e9['length'],0x0)&&(_0x52834b['params']=redactSensitiveParams(_0x29c5e9,_0x2bda20));_0x375659['dXROk'](duration,null)&&(_0x52834b[_0x5a4554(0x1d6)]=duration,_0x52834b[_0x5a4554(0x247)]=_0x375659['wlkgJ'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x52834b[_0x5a4554(0x1e8)]=rowsAffected);const _0x3c6271=_0x139b33||'unknown';let _0x3826fe='['+_0x3f7af5+']\x20'+_0x3c6271;duration!==null&&(_0x3826fe+='\x20('+duration+'ms)');const _0xf334e1=duration!==null&&_0x375659[_0x5a4554(0x23a)](duration,sqlLogSlowThreshold);let _0x55e000='debug';if(_0xf334e1)_0x3826fe+='\x20[SLOW]',_0x55e000=_0x375659[_0x5a4554(0x25c)],logger[_0x5a4554(0x227)](_0x52834b,_0x3826fe);else sqlLogLevel===_0x375659['uFEiK']?(_0x55e000=_0x5a4554(0x259),logger['info'](_0x52834b,_0x3826fe)):logger[_0x5a4554(0x228)](_0x52834b,_0x3826fe);_0x375659['SFHxp'](writeToFileLog,{..._0x52834b,'level':_0x55e000,'msg':_0x3826fe,'time':new Date()[_0x5a4554(0x20a)]()},_0x55e000);},logTransaction=(_0x1ba8c1,_0x4f85a1)=>{const _0x4fc209=a0_0x3d5fbd,_0x1e5acd={'event':_0x4fc209(0x1da),'status':_0x1ba8c1,'queryCount':_0x4f85a1},_0x441243=_0x4fc209(0x264)+_0x1ba8c1;logger[_0x4fc209(0x228)](_0x1e5acd,_0x441243),writeToFileLog({..._0x1e5acd,'level':_0x4fc209(0x228),'msg':_0x441243,'time':new Date()[_0x4fc209(0x20a)]()},_0x4fc209(0x228));},redactObject=_0x191bd7=>{const _0x4a9632=a0_0x3d5fbd,_0x388f5d={'azRnd':function(_0x16329d,_0x11a796){return _0x16329d!==_0x11a796;},'UvumQ':_0x4a9632(0x260),'kqXQh':_0x4a9632(0x239),'YqopO':_0x4a9632(0x25d),'psksD':'authorization','cLbhT':'creditcard','uFMuj':'credit_card','mSEzP':'ssn','DQtNh':_0x4a9632(0x229),'pUbDY':_0x4a9632(0x25f),'NeFBG':'[REDACTED]','zGlsf':function(_0x5bfcc1,_0x4f276a){return _0x5bfcc1===_0x4f276a;},'oPZOk':function(_0x1fe2f7,_0x4922e5){return _0x1fe2f7!==_0x4922e5;}};if(!_0x191bd7||_0x388f5d[_0x4a9632(0x26f)](typeof _0x191bd7,'object'))return _0x191bd7;const _0x1d2fe7=[_0x4a9632(0x276),_0x388f5d['UvumQ'],_0x4a9632(0x22f),_0x388f5d['kqXQh'],_0x388f5d['YqopO'],'apikey',_0x4a9632(0x1dd),_0x388f5d['psksD'],_0x388f5d[_0x4a9632(0x1e6)],_0x388f5d[_0x4a9632(0x244)],'cvv',_0x388f5d['mSEzP'],_0x388f5d[_0x4a9632(0x234)],'private_key',_0x388f5d[_0x4a9632(0x20f)],_0x4a9632(0x222),'access_token'],_0x2f99f1=Array['isArray'](_0x191bd7)?[..._0x191bd7]:{..._0x191bd7};for(const _0x7dd48 of Object[_0x4a9632(0x24a)](_0x2f99f1)){const _0x211abb=_0x7dd48[_0x4a9632(0x224)]();if(_0x1d2fe7[_0x4a9632(0x269)](_0x547258=>_0x211abb['includes'](_0x547258)))_0x2f99f1[_0x7dd48]=_0x388f5d['NeFBG'];else _0x388f5d['zGlsf'](typeof _0x2f99f1[_0x7dd48],'object')&&_0x388f5d['oPZOk'](_0x2f99f1[_0x7dd48],null)&&(_0x2f99f1[_0x7dd48]=redactObject(_0x2f99f1[_0x7dd48]));}return _0x2f99f1;},logError=(_0x3ed443,_0x1a0391={},_0x5df7c0=null)=>{const _0x46b5b0=a0_0x3d5fbd,_0x1e0d47={'QiMjh':function(_0x725904,_0x48dcbf,_0xeb71e4){return _0x725904(_0x48dcbf,_0xeb71e4);},'MBYdG':'error'},_0x57c3c3={'event':'error','errorName':_0x3ed443[_0x46b5b0(0x1d2)]||_0x46b5b0(0x226),'errorMessage':_0x3ed443[_0x46b5b0(0x1ce)],'errorCode':_0x3ed443[_0x46b5b0(0x27c)]||null,'stack':_0x3ed443[_0x46b5b0(0x225)],..._0x1a0391},_0x114085=_0x5df7c0||'Error:\x20'+_0x3ed443['message'];logger['error'](_0x57c3c3,_0x114085),_0x1e0d47['QiMjh'](writeToFileLog,{..._0x57c3c3,'level':_0x1e0d47['MBYdG'],'msg':_0x114085,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x26f51d,_0x100371={},_0x51bf7e=null)=>{const _0x4497d6=a0_0x3d5fbd,_0x5e57da={'YVmyM':_0x4497d6(0x1d7),'avDAL':'CRITICAL','BXkPR':_0x4497d6(0x1d8)},_0x4fd1b5={'event':_0x5e57da['YVmyM'],'errorName':_0x26f51d[_0x4497d6(0x1d2)]||_0x4497d6(0x226),'errorMessage':_0x26f51d['message'],'errorCode':_0x26f51d['code']||null,'stack':_0x26f51d['stack'],'severity':_0x5e57da[_0x4497d6(0x1e0)],..._0x100371},_0x437677=_0x51bf7e||_0x4497d6(0x1cd)+_0x26f51d[_0x4497d6(0x1ce)];logger['fatal'](_0x4fd1b5,_0x437677),writeToFileLog({..._0x4fd1b5,'level':'fatal','msg':_0x437677,'time':new Date()[_0x4497d6(0x20a)]()},_0x5e57da['BXkPR']);},logHttpError=(_0x553f30,_0x4c690c,_0x1e413d={})=>{const _0x59c40d=a0_0x3d5fbd,_0x3f97db={'UCYli':_0x59c40d(0x218),'OZPXE':'x-request-id','iruxK':function(_0x6f28b8,_0xe53b9){return _0x6f28b8>=_0xe53b9;},'izepv':'error'},_0x341556={'event':'http_error','errorName':_0x553f30['name']||'Error','errorMessage':_0x553f30['message'],'errorCode':_0x553f30[_0x59c40d(0x27c)]||_0x553f30['statusCode']||0x1f4,'stack':_0x553f30['stack'],'method':_0x4c690c?.[_0x59c40d(0x1d1)],'url':_0x4c690c?.[_0x59c40d(0x270)]||_0x4c690c?.[_0x59c40d(0x22a)],'path':_0x4c690c?.['path'],'ip':_0x4c690c?.['ip']||_0x4c690c?.[_0x59c40d(0x1d5)]?.[_0x59c40d(0x25e)],'userAgent':_0x4c690c?.['get']?.(_0x3f97db[_0x59c40d(0x232)]),'requestId':_0x4c690c?.['id']||_0x4c690c?.[_0x59c40d(0x1df)]?.[_0x3f97db['OZPXE']],'body':_0x4c690c?.['body']?redactObject(_0x4c690c['body']):undefined,'query':_0x4c690c?.['query'],..._0x1e413d},_0x44a4fa=_0x553f30[_0x59c40d(0x26a)]||_0x553f30[_0x59c40d(0x214)]||0x1f4,_0x36e2bd=_0x59c40d(0x207)+_0x44a4fa+':\x20'+_0x553f30['message'];_0x44a4fa>=0x1f4?logger[_0x59c40d(0x1d8)](_0x341556,_0x36e2bd):logger[_0x59c40d(0x227)](_0x341556,_0x36e2bd),writeToFileLog({..._0x341556,'level':_0x3f97db['iruxK'](_0x44a4fa,0x1f4)?_0x3f97db['izepv']:'warn','msg':_0x36e2bd,'time':new Date()['toISOString']()},_0x44a4fa>=0x1f4?_0x3f97db['izepv']:'warn');},logUncaughtError=(_0xa38b23,_0x2c820c)=>{const _0x2ca8e5=a0_0x3d5fbd,_0x3daf47={'iVATj':function(_0x326de4,_0x378951){return _0x326de4(_0x378951);},'TILLu':'CRITICAL','gTiCQ':'fatal'},_0x4fd997={'event':_0xa38b23,'errorName':_0x2c820c?.['name']||_0x2ca8e5(0x226),'errorMessage':_0x2c820c?.[_0x2ca8e5(0x1ce)]||_0x3daf47['iVATj'](String,_0x2c820c),'errorCode':_0x2c820c?.[_0x2ca8e5(0x27c)]||null,'stack':_0x2c820c?.['stack'],'severity':_0x3daf47['TILLu'],'processId':process['pid'],'memoryUsage':process[_0x2ca8e5(0x258)](),'uptime':process[_0x2ca8e5(0x266)]()},_0x2159a0='['+_0xa38b23[_0x2ca8e5(0x1e4)]()+']\x20'+(_0x2c820c?.[_0x2ca8e5(0x1ce)]||_0x2c820c);logger[_0x2ca8e5(0x1ff)](_0x4fd997,_0x2159a0),writeToFileLog({..._0x4fd997,'level':_0x3daf47['gTiCQ'],'msg':_0x2159a0,'time':new Date()[_0x2ca8e5(0x20a)]()},_0x2ca8e5(0x1d8));},setupGlobalErrorHandlers=()=>{const _0x314001=a0_0x3d5fbd,_0x4012ef={'YAbDu':function(_0x26f192,_0x449093){return _0x26f192 instanceof _0x449093;},'gQjip':_0x314001(0x279),'hlqjf':_0x314001(0x204),'iWdlh':'warning','cYzNu':'global_error_handlers_setup','mlqwX':function(_0x550330,_0x349e78,_0x520559){return _0x550330(_0x349e78,_0x520559);}};process['on'](_0x4012ef['hlqjf'],_0x3c791c=>{const _0x22a9d0=_0x314001;logUncaughtError(_0x22a9d0(0x204),_0x3c791c),setTimeout(()=>{const _0x551d85=_0x22a9d0;process[_0x551d85(0x245)](0x1);},0x3e8);}),process['on'](_0x4012ef[_0x314001(0x1e1)],(_0x597066,_0x1ed9cc)=>{const _0x390c40=_0x314001,_0x2889fa=_0x4012ef['YAbDu'](_0x597066,Error)?_0x597066:new Error(String(_0x597066));logUncaughtError(_0x4012ef[_0x390c40(0x1e1)],_0x2889fa);}),process['on'](_0x4012ef['iWdlh'],_0x2c6c2d=>{const _0x3c7e9b=_0x314001;logger[_0x3c7e9b(0x227)]({'event':_0x3c7e9b(0x1eb),'name':_0x2c6c2d[_0x3c7e9b(0x1d2)],'message':_0x2c6c2d[_0x3c7e9b(0x1ce)],'stack':_0x2c6c2d[_0x3c7e9b(0x225)]},_0x3c7e9b(0x221)+_0x2c6c2d['message']);});const _0x55ef46={'event':_0x4012ef[_0x314001(0x1de)]},_0xbb8ad2='Global\x20error\x20handlers\x20initialized';logger['info'](_0x55ef46,_0xbb8ad2),_0x4012ef[_0x314001(0x1db)](writeToFileLog,{..._0x55ef46,'level':_0x314001(0x259),'msg':_0xbb8ad2,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x3bab9b=a0_0x3d5fbd,_0x2e2f4d={'bDvgO':function(_0x9f788e,_0x35a3e3,_0x4bce6e){return _0x9f788e(_0x35a3e3,_0x4bce6e);},'gyYJi':function(_0x5ee7c1,_0x5042ca){return _0x5ee7c1>=_0x5042ca;},'wtSls':'Internal\x20server\x20error','vlwNs':_0x3bab9b(0x21a)};return(_0x6c0f4f,_0x381479,_0x24f7f9,_0x7dec5d)=>{const _0x3bc63c=_0x3bab9b;_0x2e2f4d[_0x3bc63c(0x246)](logHttpError,_0x6c0f4f,_0x381479);const _0x1075ca=_0x6c0f4f[_0x3bc63c(0x26a)]||_0x6c0f4f[_0x3bc63c(0x214)]||0x1f4;_0x24f7f9['status'](_0x1075ca)[_0x3bc63c(0x1f7)]({'success':![],'error':_0x2e2f4d[_0x3bc63c(0x1f3)](_0x1075ca,0x1f4)?_0x2e2f4d[_0x3bc63c(0x250)]:_0x6c0f4f['message'],'requestId':_0x381479['id']||_0x381479[_0x3bc63c(0x1df)]?.[_0x2e2f4d['vlwNs']]||null});};};function a0_0xfd83(_0x155321,_0x1fa88b){_0x155321=_0x155321-0x1c5;const _0x250774=a0_0x2507();let _0xfd8329=_0x250774[_0x155321];if(a0_0xfd83['kGvXNq']===undefined){var _0x43bea8=function(_0x43bd3){const _0x2c70c9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ca100='',_0x52288b='';for(let _0x114bd2=0x0,_0x22ae94,_0x4813b1,_0x319d7d=0x0;_0x4813b1=_0x43bd3['charAt'](_0x319d7d++);~_0x4813b1&&(_0x22ae94=_0x114bd2%0x4?_0x22ae94*0x40+_0x4813b1:_0x4813b1,_0x114bd2++%0x4)?_0x5ca100+=String['fromCharCode'](0xff&_0x22ae94>>(-0x2*_0x114bd2&0x6)):0x0){_0x4813b1=_0x2c70c9['indexOf'](_0x4813b1);}for(let _0x868210=0x0,_0x301ff7=_0x5ca100['length'];_0x868210<_0x301ff7;_0x868210++){_0x52288b+='%'+('00'+_0x5ca100['charCodeAt'](_0x868210)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52288b);};a0_0xfd83['JaXmrX']=_0x43bea8,a0_0xfd83['YaOwPg']={},a0_0xfd83['kGvXNq']=!![];}const _0x1b3729=_0x250774[0x0],_0x1ce2bd=_0x155321+_0x1b3729,_0x879258=a0_0xfd83['YaOwPg'][_0x1ce2bd];return!_0x879258?(_0xfd8329=a0_0xfd83['JaXmrX'](_0xfd8329),a0_0xfd83['YaOwPg'][_0x1ce2bd]=_0xfd8329):_0xfd8329=_0x879258,_0xfd8329;}module[a0_0x3d5fbd(0x1c5)]={'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_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
+ const a0_0x393e84=a0_0x18df;function a0_0x18df(_0x23b4f8,_0x3b8452){_0x23b4f8=_0x23b4f8-0xfb;const _0x7616f=a0_0x7616();let _0x18df47=_0x7616f[_0x23b4f8];if(a0_0x18df['WcwdEx']===undefined){var _0x14d7e8=function(_0x251d05){const _0x146efa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x909283='',_0x45369f='';for(let _0xf4e506=0x0,_0x53c0cd,_0x4ba89b,_0x2c8801=0x0;_0x4ba89b=_0x251d05['charAt'](_0x2c8801++);~_0x4ba89b&&(_0x53c0cd=_0xf4e506%0x4?_0x53c0cd*0x40+_0x4ba89b:_0x4ba89b,_0xf4e506++%0x4)?_0x909283+=String['fromCharCode'](0xff&_0x53c0cd>>(-0x2*_0xf4e506&0x6)):0x0){_0x4ba89b=_0x146efa['indexOf'](_0x4ba89b);}for(let _0x2876e3=0x0,_0x286569=_0x909283['length'];_0x2876e3<_0x286569;_0x2876e3++){_0x45369f+='%'+('00'+_0x909283['charCodeAt'](_0x2876e3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45369f);};a0_0x18df['QjOttL']=_0x14d7e8,a0_0x18df['XocNCb']={},a0_0x18df['WcwdEx']=!![];}const _0x49d8a4=_0x7616f[0x0],_0x597bec=_0x23b4f8+_0x49d8a4,_0x589256=a0_0x18df['XocNCb'][_0x597bec];return!_0x589256?(_0x18df47=a0_0x18df['QjOttL'](_0x18df47),a0_0x18df['XocNCb'][_0x597bec]=_0x18df47):_0x18df47=_0x589256,_0x18df47;}function a0_0x7616(){const _0x1dbd73=['wKXUvxe','ywrK','BgvUz3rO','zg9LqKi','BxLZCwW','y2XLyxi','lI9KyI1VCMfJBgu','DhjPBq','zgvIDwC','AgfZ','A2v5CW','mJf5CLjnBNG','Cg9ZDgDYzxnXBa','otLhtvjAuxq','mtyXnta4Bxnyz0Tc','mtmYnZi1vK1wzMfY','Bg9VA3vWq2fJAgu','ChvZAa','AM1Ht0i','rffYEvC','mZy5nda4nNPqEe5zAa','mJH3twziswO','u0vmrunuia','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','Bg9HzeXVB2T1CfrHyMXL','DMfSAwrHDgvmB29RDxbwywX1zxm','iezst00G','Dg9mB3DLCKnHC2u','v0DHwe4','Dg9vChbLCKnHC2u','zw52','CMvZB2X2zuXVB2T1CfzHBhvL','B3jHy2XL','C2v0','tg9VA3vWignHy2HLignSzwfYzwq','z2v0','zxHWB3j0CW','nteXnJuZy0nNwu9z','nK9VD0fUvG','C2XPy2u','zw50CMLLCW','mJiWnZq0ofPVAMD2CG','zxHLy3v0zvf1zxj5','z2v0rgLZDgLUy3rwywX1zxm','mteYmZyWzffqDNbl','mZK1mdz4y3HZrgi'];a0_0x7616=function(){return _0x1dbd73;};return a0_0x7616();}(function(_0x4499fe,_0xdb9bf1){const _0x179806=a0_0x18df,_0x229410=_0x4499fe();while(!![]){try{const _0x4345ae=-parseInt(_0x179806(0x110))/0x1*(-parseInt(_0x179806(0x109))/0x2)+parseInt(_0x179806(0x108))/0x3+parseInt(_0x179806(0x126))/0x4*(-parseInt(_0x179806(0x120))/0x5)+parseInt(_0x179806(0x11f))/0x6*(-parseInt(_0x179806(0x11c))/0x7)+-parseInt(_0x179806(0x10c))/0x8+parseInt(_0x179806(0x125))/0x9+parseInt(_0x179806(0x10f))/0xa*(parseInt(_0x179806(0x11e))/0xb);if(_0x4345ae===_0xdb9bf1)break;else _0x229410['push'](_0x229410['shift']());}catch(_0x14ee3f){_0x229410['push'](_0x229410['shift']());}}}(a0_0x7616,0x3f063));const dbType=(process[a0_0x393e84(0x101)]['DB_TYPE']||a0_0x393e84(0x11d))['toLowerCase']();let executeQuery;if(dbType===a0_0x393e84(0x103)){const oracleDb=require(a0_0x393e84(0x117));executeQuery=(_0x3159b9,_0x243d12)=>oracleDb['executeQuery'](_0x3159b9,_0x243d12);}else{if(dbType===a0_0x393e84(0x115)){const mysqlDb=require('./db-mysql');executeQuery=(_0x3bd9f2,_0x59885b)=>mysqlDb[a0_0x393e84(0x10d)](_0x3bd9f2,_0x59885b);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x5834d8=a0_0x393e84;this[_0x5834d8(0x121)][_0x5834d8(0x116)](),logger[_0x5834d8(0x119)]({'event':_0x5834d8(0x128)},_0x5834d8(0x105));}async[a0_0x393e84(0xfb)](_0x5c8a46,_0x297f01,_0x3e2169){const _0x574077=a0_0x393e84,_0x320101={'ZZHET':function(_0x41cca4,_0x3ce08b){return _0x41cca4!==_0x3ce08b;},'DQryW':function(_0x1c8ca4,_0x49d2d7){return _0x1c8ca4(_0x49d2d7);}},_0x421e0f=_0x5c8a46+':'+_0x297f01+':'+_0x3e2169;if(this[_0x574077(0x121)]['has'](_0x421e0f))return this[_0x574077(0x121)][_0x574077(0x106)](_0x421e0f);try{const _0xb49a29=_0x574077(0x127)+_0x3e2169+',\x20'+_0x297f01+_0x574077(0xfd)+_0x5c8a46,_0x430cf2=await _0x320101[_0x574077(0x124)](executeQuery,_0xb49a29),_0x255dfb=new Map();return _0x430cf2['forEach'](_0x5d4bc5=>{const _0x253089=_0x574077,_0x3d3315=_0x5d4bc5[_0x297f01]!==undefined?_0x5d4bc5[_0x297f01]:_0x5d4bc5[_0x297f01[_0x253089(0x100)]()],_0x4b182f=_0x5d4bc5[_0x3e2169]!==undefined?_0x5d4bc5[_0x3e2169]:_0x5d4bc5[_0x3e2169['toUpperCase']()];_0x320101['ZZHET'](_0x3d3315,null)&&_0x3d3315!==undefined&&(_0x255dfb[_0x253089(0x104)](_0x320101['DQryW'](String,_0x3d3315)[_0x253089(0xfe)]()['trim'](),_0x4b182f),_0x255dfb[_0x253089(0x104)](String(_0x3d3315)[_0x253089(0x118)](),_0x4b182f));}),this['lookupCache'][_0x574077(0x104)](_0x421e0f,_0x255dfb),logger['info']({'event':'lookup_table_loaded','table':_0x5c8a46,'column':_0x297f01,'count':_0x430cf2[_0x574077(0x113)]},'Lookup\x20table\x20loaded:\x20'+_0x5c8a46),_0x255dfb;}catch(_0x312db5){logger['error']({'event':'lookup_table_load_error','table':_0x5c8a46,'error':_0x312db5['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x5c8a46);throw _0x312db5;}}[a0_0x393e84(0x102)](_0x441a01,_0x2b7923){const _0x1861c4=a0_0x393e84,_0x2089ae={'Qtgve':function(_0x13c39c,_0x5b85df){return _0x13c39c===_0x5b85df;}};if(_0x441a01===null||_0x441a01===undefined||_0x2089ae['Qtgve'](_0x441a01,''))return null;const _0xb02d6=String(_0x441a01)['trim']();if(_0x2b7923[_0x1861c4(0x11a)](_0xb02d6))return _0x2b7923['get'](_0xb02d6);const _0x366917=_0xb02d6['toLowerCase']();if(_0x2b7923['has'](_0x366917))return _0x2b7923[_0x1861c4(0x106)](_0x366917);return null;}async['processLookupFields'](_0x39bb1b,_0x58868a){const _0x3a657a=a0_0x393e84,_0xba181b={'ZLnUq':function(_0xd5a828,_0x1fdb26){return _0xd5a828===_0x1fdb26;},'jmaOB':function(_0x1c6889,_0x5ab34a){return _0x1c6889!==_0x5ab34a;},'zHAjI':'Lookup\x20fields\x20processed'};if(!_0x58868a||Object['keys'](_0x58868a)['length']===0x0)return{'processedRows':_0x39bb1b,'errors':[]};const _0xfa604c=[],_0x5427df=new Map();for(const [_0x30d7b4,_0xbe24e7]of Object['entries'](_0x58868a)){const {lookupTable:_0x1d50ae,lookupColumn:_0x3a3ad2,lookupIdColumn:_0x38bab8}=_0xbe24e7,_0xa27bbd=_0x1d50ae+':'+_0x3a3ad2+':'+_0x38bab8;if(!_0x5427df[_0x3a657a(0x11a)](_0xa27bbd)){const _0x598bb4=await this['loadLookupTable'](_0x1d50ae,_0x3a3ad2,_0x38bab8);_0x5427df[_0x3a657a(0x104)](_0xa27bbd,_0x598bb4);}}const _0x5e6f76=_0x39bb1b['map']((_0x5b3ca6,_0x3241d9)=>{const _0x3a3825=_0x3a657a,_0x266826={..._0x5b3ca6};for(const [_0x22d6d6,_0x17656c]of Object[_0x3a3825(0x10b)](_0x58868a)){const {lookupTable:_0x198bb7,lookupColumn:_0x14db4b,lookupIdColumn:_0x4ea3d8,targetField:_0x1df2f8,required:_0xf0e7f8}=_0x17656c,_0x581da9=_0x198bb7+':'+_0x14db4b+':'+_0x4ea3d8,_0x2f8ce4=_0x5427df[_0x3a3825(0x106)](_0x581da9),_0x5f11da=_0x5b3ca6[_0x22d6d6];if((_0x5f11da===null||_0x5f11da===undefined||_0xba181b[_0x3a3825(0x111)](_0x5f11da,''))&&!_0xf0e7f8){_0x266826[_0x1df2f8]=null;continue;}const _0x2b5ded=this['resolveLookupValue'](_0x5f11da,_0x2f8ce4);_0xba181b[_0x3a3825(0x123)](_0x2b5ded,null)?_0x266826[_0x1df2f8]=_0x2b5ded:(_0xf0e7f8&&_0xfa604c[_0x3a3825(0x122)]({'rowIndex':_0x3241d9,'field':_0x22d6d6,'value':_0x5f11da,'targetField':_0x1df2f8,'lookupTable':_0x198bb7,'message':'Value\x20\x22'+_0x5f11da+'\x22\x20not\x20found\x20in\x20'+_0x198bb7}),_0x266826[_0x1df2f8]=null);}return _0x266826;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x39bb1b[_0x3a657a(0x113)],'errorCount':_0xfa604c[_0x3a657a(0x113)],'lookupFieldCount':Object['keys'](_0x58868a)['length']},_0xba181b['zHAjI']),{'processedRows':_0x5e6f76,'errors':_0xfa604c};}[a0_0x393e84(0x10e)](_0x2fbc2c,_0x34ae8a){const _0xd0df20={'WGaXN':function(_0x1097cd,_0x2c657a){return _0x1097cd!==_0x2c657a;}},_0x46a7d0=new Set();return _0x2fbc2c['forEach'](_0x22964d=>{const _0x21e3f8=a0_0x18df,_0x44cdf4=_0x22964d[_0x34ae8a];_0xd0df20['WGaXN'](_0x44cdf4,null)&&_0xd0df20['WGaXN'](_0x44cdf4,undefined)&&_0xd0df20[_0x21e3f8(0xff)](_0x44cdf4,'')&&_0x46a7d0[_0x21e3f8(0x112)](String(_0x44cdf4)[_0x21e3f8(0x118)]());}),Array['from'](_0x46a7d0);}async[a0_0x393e84(0xfc)](_0x12e508,_0x1b47f9){const _0x13e5a8=a0_0x393e84,_0x3a4f13={'doeBB':function(_0x51eec7,_0x106751){return _0x51eec7===_0x106751;}};if(!_0x1b47f9||Object[_0x13e5a8(0x11b)](_0x1b47f9)[_0x13e5a8(0x113)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x54093b=[],_0x4f4b85={};for(const [_0x54a2fd,_0x1c9a94]of Object['entries'](_0x1b47f9)){const {lookupTable:_0x4d28db,lookupColumn:_0x51e00f,lookupIdColumn:_0x40507a,required:_0x2e3fa1}=_0x1c9a94,_0x50793c=this['getDistinctValues'](_0x12e508,_0x54a2fd),_0x41157d=await this['loadLookupTable'](_0x4d28db,_0x51e00f,_0x40507a),_0x3d2a5c=[],_0x116be3=[];_0x50793c['forEach'](_0x34e7b3=>{const _0x314957=_0x13e5a8,_0x1acbdb=this[_0x314957(0x102)](_0x34e7b3,_0x41157d);_0x1acbdb!==null?_0x116be3[_0x314957(0x122)](_0x34e7b3):_0x3d2a5c[_0x314957(0x122)](_0x34e7b3);});if(_0x3d2a5c['length']>0x0&&_0x2e3fa1){_0x54093b[_0x13e5a8(0x122)]({'field':_0x54a2fd,'lookupTable':_0x4d28db,'invalidValues':_0x3d2a5c,'message':_0x3d2a5c[_0x13e5a8(0x113)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x4d28db});const _0x19b82a=[];_0x41157d['forEach']((_0x281f3e,_0xd8d901)=>{const _0x2f4618=_0x13e5a8;if(_0x3a4f13[_0x2f4618(0x114)](_0xd8d901,_0xd8d901['toLowerCase']()))return;_0x19b82a[_0x2f4618(0x122)](_0xd8d901);}),_0x4f4b85[_0x54a2fd]={'invalidValues':_0x3d2a5c,'availableValues':_0x19b82a[_0x13e5a8(0x10a)](0x0,0x32)};}}return{'valid':_0x54093b['length']===0x0,'errors':_0x54093b,'suggestions':_0x4f4b85};}}module[a0_0x393e84(0x107)]=new LookupResolver();
@@ -1 +1 @@
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
+ const a0_0x5d7744=a0_0x24a9;(function(_0x337153,_0xa9e645){const _0x451b78=a0_0x24a9,_0x3c0c51=_0x337153();while(!![]){try{const _0x5eacd6=-parseInt(_0x451b78(0x17f))/0x1+-parseInt(_0x451b78(0x18a))/0x2+-parseInt(_0x451b78(0x16b))/0x3+-parseInt(_0x451b78(0x174))/0x4+-parseInt(_0x451b78(0x167))/0x5*(parseInt(_0x451b78(0x178))/0x6)+-parseInt(_0x451b78(0x18e))/0x7+-parseInt(_0x451b78(0x172))/0x8*(-parseInt(_0x451b78(0x175))/0x9);if(_0x5eacd6===_0xa9e645)break;else _0x3c0c51['push'](_0x3c0c51['shift']());}catch(_0x7d1ef2){_0x3c0c51['push'](_0x3c0c51['shift']());}}}(a0_0x7775,0x3f8ce));const fs=require('fs')['promises'],path=require(a0_0x5d7744(0x185)),{logger}=require(a0_0x5d7744(0x189));class PayloadLoader{constructor(){const _0x3b2c43=a0_0x5d7744;this[_0x3b2c43(0x181)]=path[_0x3b2c43(0x184)](__dirname,'../../payload'),this[_0x3b2c43(0x16d)]=new Map();}async[a0_0x5d7744(0x183)](_0x490033,_0x64a773){const _0x27e7a6=a0_0x5d7744,_0x341697={'YSItL':'utf8','QrBfH':_0x27e7a6(0x169)},_0x19365d=_0x490033+':'+_0x64a773;if(this['cache'][_0x27e7a6(0x173)](_0x19365d))return this['cache']['get'](_0x19365d);const _0x5c10f6=path['join'](this[_0x27e7a6(0x181)],_0x490033+'_'+_0x64a773+'.json');try{const _0xc92eae=await fs['readFile'](_0x5c10f6,_0x341697['YSItL']),_0x7e30d7=JSON['parse'](_0xc92eae);return this[_0x27e7a6(0x16d)]['set'](_0x19365d,_0x7e30d7),logger['debug']({'event':_0x27e7a6(0x18d),'project':_0x490033,'resource':_0x64a773},'Payload\x20loaded\x20successfully'),_0x7e30d7;}catch(_0x25ed95){logger[_0x27e7a6(0x17e)]({'event':_0x341697[_0x27e7a6(0x18b)],'project':_0x490033,'resource':_0x64a773,'error':_0x25ed95['message']},_0x27e7a6(0x179));throw new Error(_0x27e7a6(0x17c)+_0x490033+'_'+_0x64a773);}}async[a0_0x5d7744(0x18c)](_0x2fbfa8){const _0x40c719=a0_0x5d7744,_0x343415={'khVWo':_0x40c719(0x17d)},_0x395c84=_0x40c719(0x180)+_0x2fbfa8;if(this['cache'][_0x40c719(0x173)](_0x395c84))return this[_0x40c719(0x16d)]['get'](_0x395c84);const _0x5ce545=path[_0x40c719(0x184)](this[_0x40c719(0x181)],_0x2fbfa8+_0x40c719(0x170));try{const _0x373cea=await fs['readFile'](_0x5ce545,'utf8'),_0x52d981=JSON[_0x40c719(0x171)](_0x373cea);return this['cache'][_0x40c719(0x168)](_0x395c84,_0x52d981),logger['debug']({'event':_0x40c719(0x18d),'payloadName':_0x2fbfa8},_0x343415[_0x40c719(0x16f)]),_0x52d981;}catch(_0x679a65){logger[_0x40c719(0x17e)]({'event':_0x40c719(0x169),'payloadName':_0x2fbfa8,'error':_0x679a65['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x40c719(0x17c)+_0x2fbfa8);}}['isActionEnabled'](_0x414d35,_0x4e90a3){const _0x221fe5=a0_0x5d7744,_0x38d529={'MAUhm':function(_0x5b10bd,_0x3adfab){return _0x5b10bd===_0x3adfab;}};return _0x414d35['action']&&_0x38d529[_0x221fe5(0x188)](_0x414d35['action'][_0x4e90a3],!![]);}[a0_0x5d7744(0x186)](_0x2ed5e0){const _0xe7c6ab=a0_0x5d7744;return{'columns':_0x2ed5e0[_0xe7c6ab(0x16e)]||[],'filename':_0x2ed5e0['tableName'][_0xe7c6ab(0x176)]('.','-')+'-export','datatablesQuery':_0x2ed5e0[_0xe7c6ab(0x16c)]||null,'columnFormats':_0x2ed5e0[_0xe7c6ab(0x187)]||null,'fieldLabels':_0x2ed5e0['fieldLabels']||null};}[a0_0x5d7744(0x17b)](){const _0x6a2f11=a0_0x5d7744,_0x5afa8b={'exDHN':_0x6a2f11(0x17a)};this['cache']['clear'](),logger['info']({'event':_0x5afa8b[_0x6a2f11(0x16a)]},_0x6a2f11(0x177));}}function a0_0x24a9(_0x1a9c23,_0xb53871){_0x1a9c23=_0x1a9c23-0x167;const _0x7775fb=a0_0x7775();let _0x24a957=_0x7775fb[_0x1a9c23];if(a0_0x24a9['yZACgY']===undefined){var _0x4aa39f=function(_0x2e2559){const _0x26e461='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3219a9='',_0x43ceb6='';for(let _0x14d2fd=0x0,_0x1ebfaf,_0x5d8efe,_0x19f763=0x0;_0x5d8efe=_0x2e2559['charAt'](_0x19f763++);~_0x5d8efe&&(_0x1ebfaf=_0x14d2fd%0x4?_0x1ebfaf*0x40+_0x5d8efe:_0x5d8efe,_0x14d2fd++%0x4)?_0x3219a9+=String['fromCharCode'](0xff&_0x1ebfaf>>(-0x2*_0x14d2fd&0x6)):0x0){_0x5d8efe=_0x26e461['indexOf'](_0x5d8efe);}for(let _0x2af2f7=0x0,_0x4f2035=_0x3219a9['length'];_0x2af2f7<_0x4f2035;_0x2af2f7++){_0x43ceb6+='%'+('00'+_0x3219a9['charCodeAt'](_0x2af2f7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43ceb6);};a0_0x24a9['IIAoGN']=_0x4aa39f,a0_0x24a9['QgECbh']={},a0_0x24a9['yZACgY']=!![];}const _0x1139e4=_0x7775fb[0x0],_0xa6cfff=_0x1a9c23+_0x1139e4,_0x109137=a0_0x24a9['QgECbh'][_0xa6cfff];return!_0x109137?(_0x24a957=a0_0x24a9['IIAoGN'](_0x24a957),a0_0x24a9['QgECbh'][_0xa6cfff]=_0x24a957):_0x24a957=_0x109137,_0x24a957;}module[a0_0x5d7744(0x182)]=new PayloadLoader();function a0_0x7775(){const _0x3016da=['tufvAg0','lI9SB2DNzxi','mtK1nJGWBKjft3Hw','uxjczKG','Bg9HzfbHEwXVywrcEu5HBwu','Cgf5Bg9Hzf9SB2fKzwq','mtqYmJC2nhfSwhjmsG','nwTgs1LMzG','C2v0','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','zxHese4','mti5mZeYnM9LBwrkva','zgf0yxrHyMXLC1f1zxj5','y2fJAgu','zMLLBgroyw1L','A2Hwv28','lMPZB24','CgfYC2u','mJK2EgnLuMHR','AgfZ','mtaZmdyYnhznzhHVuq','ndq5odaYBLPZz0zS','CMvWBgfJzq','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mtu1otyYmMPKCenzBG','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','y2XLyxjdywnOzq','ugf5Bg9HzcbUB3qGzM91BMq6ia','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','zxjYB3i','mZm5mtu3u2vvAxne','Cgf5Bg9HzdO','Cgf5Bg9HzerPCG','zxHWB3j0CW','Bg9HzfbHEwXVywq','AM9PBG','Cgf0Aa','z2v0rxHWB3j0q29UzMLN','y29SDw1UrM9YBwf0CW'];a0_0x7775=function(){return _0x3016da;};return a0_0x7775();}
@@ -1 +1 @@
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
+ 'use strict';(function(_0x7c4045,_0x24e812){var _0x4afb79=a0_0x4b9d,_0x1a4d5c=_0x7c4045();while(!![]){try{var _0x4a3f93=-parseInt(_0x4afb79(0x88))/0x1+parseInt(_0x4afb79(0x83))/0x2*(parseInt(_0x4afb79(0x8a))/0x3)+parseInt(_0x4afb79(0x82))/0x4*(parseInt(_0x4afb79(0x84))/0x5)+-parseInt(_0x4afb79(0x89))/0x6*(-parseInt(_0x4afb79(0x86))/0x7)+parseInt(_0x4afb79(0x80))/0x8+-parseInt(_0x4afb79(0x85))/0x9+-parseInt(_0x4afb79(0x81))/0xa*(-parseInt(_0x4afb79(0x8b))/0xb);if(_0x4a3f93===_0x24e812)break;else _0x1a4d5c['push'](_0x1a4d5c['shift']());}catch(_0x1ea403){_0x1a4d5c['push'](_0x1a4d5c['shift']());}}}(a0_0xdb34,0x3872e));function a0_0x4b9d(_0x3ec2f3,_0x1d9778){_0x3ec2f3=_0x3ec2f3-0x80;var _0xdb3456=a0_0xdb34();var _0x4b9dbe=_0xdb3456[_0x3ec2f3];if(a0_0x4b9d['BdDBsj']===undefined){var _0x313145=function(_0x41ca39){var _0x3331f5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xff786f='',_0x39f958='';for(var _0x52f249=0x0,_0x592149,_0x512f0b,_0x23a8dc=0x0;_0x512f0b=_0x41ca39['charAt'](_0x23a8dc++);~_0x512f0b&&(_0x592149=_0x52f249%0x4?_0x592149*0x40+_0x512f0b:_0x512f0b,_0x52f249++%0x4)?_0xff786f+=String['fromCharCode'](0xff&_0x592149>>(-0x2*_0x52f249&0x6)):0x0){_0x512f0b=_0x3331f5['indexOf'](_0x512f0b);}for(var _0x304297=0x0,_0x3d63b4=_0xff786f['length'];_0x304297<_0x3d63b4;_0x304297++){_0x39f958+='%'+('00'+_0xff786f['charCodeAt'](_0x304297)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39f958);};a0_0x4b9d['kTQIxC']=_0x313145,a0_0x4b9d['YEJorR']={},a0_0x4b9d['BdDBsj']=!![];}var _0x2e24b=_0xdb3456[0x0],_0x58a022=_0x3ec2f3+_0x2e24b,_0x1d88aa=a0_0x4b9d['YEJorR'][_0x58a022];return!_0x1d88aa?(_0x4b9dbe=a0_0x4b9d['kTQIxC'](_0x4b9dbe),a0_0x4b9d['YEJorR'][_0x58a022]=_0x4b9dbe):_0x4b9dbe=_0x1d88aa,_0x4b9dbe;}function createResponse(_0x19f2b7,_0x297dc2,_0x314b7b=null){var _0x15edee=a0_0x4b9d;return{'success':!![],'statusCode':_0x19f2b7,'message':_0x297dc2,'data':_0x314b7b,'timestamp':new Date()[_0x15edee(0x87)]()};}function createError(_0x66232c,_0x7eab1e,_0x362fd9=null){var _0x4da401=a0_0x4b9d;return{'success':![],'statusCode':_0x66232c,'message':_0x7eab1e,'data':_0x362fd9,'timestamp':new Date()[_0x4da401(0x87)]()};}function createValidationError(_0x57ebad,_0x163c00){var _0x397169=a0_0x4b9d;return{'success':![],'statusCode':0x190,'message':_0x57ebad,'data':{'errors':_0x163c00},'timestamp':new Date()[_0x397169(0x87)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};function a0_0xdb34(){var _0x390aa9=['mtaYmdK4nhfjDKvTBG','mZa4mZmWANzSDNf2','mtmXmJC2A1Lvr1zp','mty1nJe0BMH4zuXN','mtvVBeHzBvy','mtmXodu0nujHt3rqvG','n2LUs3bIzG','Dg9ju09tDhjPBMC','nZy5nZrpugDfAgK','nJG5odm4EK9pq0jx','m0rJwxLkvq','mtf4ufzAzNm'];a0_0xdb34=function(){return _0x390aa9;};return a0_0xdb34();}
@@ -1 +1 @@
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
+ const a0_0x4afae5=a0_0xb6d0;(function(_0x1f95ca,_0x4207d8){const _0x1d9bca=a0_0xb6d0,_0x1e60f4=_0x1f95ca();while(!![]){try{const _0x53e8ee=parseInt(_0x1d9bca(0x80))/0x1*(-parseInt(_0x1d9bca(0x74))/0x2)+parseInt(_0x1d9bca(0x79))/0x3*(parseInt(_0x1d9bca(0x87))/0x4)+-parseInt(_0x1d9bca(0xa2))/0x5+parseInt(_0x1d9bca(0x76))/0x6+parseInt(_0x1d9bca(0x9a))/0x7*(parseInt(_0x1d9bca(0x72))/0x8)+-parseInt(_0x1d9bca(0x99))/0x9*(parseInt(_0x1d9bca(0x9d))/0xa)+parseInt(_0x1d9bca(0x8a))/0xb;if(_0x53e8ee===_0x4207d8)break;else _0x1e60f4['push'](_0x1e60f4['shift']());}catch(_0x37f11a){_0x1e60f4['push'](_0x1e60f4['shift']());}}}(a0_0xcaa0,0xa3023),require('dotenv')['config']());const amqp=require(a0_0x4afae5(0x88)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x4afae5(0x7b)],EXCHANGE=process[a0_0x4afae5(0x95)][a0_0x4afae5(0x9f)],ROUTING_KEY=process['env'][a0_0x4afae5(0x89)],QUEUE=process[a0_0x4afae5(0x95)]['RABBITMQ_QUEUE'];function a0_0xcaa0(){const _0x3f816b=['yuDqtgC','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','mZy1nenJqLjyEa','otK4oxzzv0X0wG','y29UBMvJDa','zxHPDa','mty0odbuy2flq20','uxvLDwuG','uKfcqKLutvfFrvHdsefor0u','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','zxjYB3i','nJu5nZe1vfjpEuHw','CxvLDwu','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','zxHWB3j0CW','mJG3mLnOuwDksW','xsbfuLjpuJOGuxvLDwuG','nMzSse5xzG','y2XVC2u','nZq5ndyWruL0ChHi','Aw5JBhvKzxm','Aw5LCxvPDMfSzw50igfYzW','mtGYndKZq0f0q3Lw','z3LHCMu','uKfcqKLutvfFvvjm','CMv0CNKTzxHJAgfUz2u','xsbszxrYEsbXDwv1zsa','yMLUzff1zxvL','tLnfrfO','mJiXnJu3AMD3qKni','zM91BMq','Bg9N','xsbfEgnOyw5Nzsa','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','mtjWwMPOy2m','yw1XCgXPyG','uKfcqKLutvfFuK9vveLor19lrvK','mtq0ntm4nZLus09XsuS','y3jLyxrLq2HHBM5LBa','ignYzwf0zwq','ihDPDgGGreXy','zgLYzwn0','uwzxtwy','BwvZC2fNzq','yxnZzxj0uxvLDwu','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','zLLoCeW','y09zCK0','zw52','B1LprLq'];a0_0xcaa0=function(){return _0x3f816b;};return a0_0xcaa0();}async function createConnection(){const _0x1f7265=a0_0x4afae5,_0x492c20={'NSEDZ':function(_0x39e329,_0xf2e8e2){return _0x39e329(_0xf2e8e2);},'vrZyQ':function(_0x146119,_0x4e86ce){return _0x146119(_0x4e86ce);}};try{const _0x51f6c7=await amqp[_0x1f7265(0x9b)](RABBITMQ_URL);return console[_0x1f7265(0x82)]('['+_0x492c20[_0x1f7265(0x7f)](formatDate,new Date())+_0x1f7265(0x84)),_0x51f6c7;}catch(_0x5bcf52){console[_0x1f7265(0xa1)]('['+_0x492c20['vrZyQ'](formatDate,new Date())+_0x1f7265(0x92)+_0x5bcf52[_0x1f7265(0x90)]);throw _0x5bcf52;}}function a0_0xb6d0(_0x2111ad,_0x53d8d6){_0x2111ad=_0x2111ad-0x71;const _0xcaa0dc=a0_0xcaa0();let _0xb6d06a=_0xcaa0dc[_0x2111ad];if(a0_0xb6d0['XQJJlF']===undefined){var _0x508ff5=function(_0x33ec33){const _0x36f083='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f7e4e='',_0xdae313='';for(let _0x2a1e9f=0x0,_0x273678,_0x208361,_0x45064b=0x0;_0x208361=_0x33ec33['charAt'](_0x45064b++);~_0x208361&&(_0x273678=_0x2a1e9f%0x4?_0x273678*0x40+_0x208361:_0x208361,_0x2a1e9f++%0x4)?_0x3f7e4e+=String['fromCharCode'](0xff&_0x273678>>(-0x2*_0x2a1e9f&0x6)):0x0){_0x208361=_0x36f083['indexOf'](_0x208361);}for(let _0x26274a=0x0,_0x212dc7=_0x3f7e4e['length'];_0x26274a<_0x212dc7;_0x26274a++){_0xdae313+='%'+('00'+_0x3f7e4e['charCodeAt'](_0x26274a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xdae313);};a0_0xb6d0['boPCgC']=_0x508ff5,a0_0xb6d0['zTiuuY']={},a0_0xb6d0['XQJJlF']=!![];}const _0x8a66a3=_0xcaa0dc[0x0],_0x3c3a72=_0x2111ad+_0x8a66a3,_0xea601f=a0_0xb6d0['zTiuuY'][_0x3c3a72];return!_0xea601f?(_0xb6d06a=a0_0xb6d0['boPCgC'](_0xb6d06a),a0_0xb6d0['zTiuuY'][_0x3c3a72]=_0xb6d06a):_0xb6d06a=_0xea601f,_0xb6d06a;}async function createChannel(_0x2262ff){const _0x1e1f3a=a0_0x4afae5,_0xcc126e={'bAOzC':function(_0x5c3894,_0x45fb58){return _0x5c3894(_0x45fb58);}};try{const _0x57bfbd=await _0x2262ff[_0x1e1f3a(0x8b)]();return console[_0x1e1f3a(0x82)]('['+_0xcc126e['bAOzC'](formatDate,new Date())+_0x1e1f3a(0x98)),_0x57bfbd;}catch(_0x4a1b3d){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x4a1b3d[_0x1e1f3a(0x90)]);throw _0x4a1b3d;}}async function setupInfrastructure(_0x2529d4){const _0x2ec3ec=a0_0x4afae5,_0x2c8564={'UPjID':_0x2ec3ec(0x8e),'fYNpL':function(_0x592b62,_0x2eb6b1){return _0x592b62(_0x2eb6b1);},'mmYyl':function(_0x430306,_0x2daaac){return _0x430306(_0x2daaac);},'gyare':function(_0x26bedb,_0x3c2b40){return _0x26bedb(_0x3c2b40);},'QfWMf':_0x2ec3ec(0x7c),'CqQhq':function(_0x32d815,_0x9a2f21){return _0x32d815(_0x9a2f21);},'oYOFT':function(_0x4e2dbb,_0x375328){return _0x4e2dbb(_0x375328);},'aGPLg':function(_0x227cf7,_0x548d5b){return _0x227cf7===_0x548d5b;},'lFSoU':_0x2ec3ec(0x81),'golDn':_0x2ec3ec(0x78)};try{await _0x2529d4['assertExchange'](_0x2ec3ec(0x7c),_0x2c8564['UPjID'],{'durable':!![],'autoDelete':![]}),console[_0x2ec3ec(0x82)]('['+_0x2c8564[_0x2ec3ec(0x93)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x51398e){console['error']('['+_0x2c8564['mmYyl'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x51398e['message']);throw _0x51398e;}try{await _0x2529d4['assertExchange'](EXCHANGE,_0x2ec3ec(0x8e),{'durable':!![],'autoDelete':![]}),console[_0x2ec3ec(0x82)]('['+formatDate(new Date())+_0x2ec3ec(0x83)+EXCHANGE+'\x20created/ready');}catch(_0x20e346){console['error']('['+_0x2c8564[_0x2ec3ec(0x7a)](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x20e346['message']);throw _0x20e346;}const _0x3ccc1a=ROUTING_KEY+'_retry';try{const _0x39f919={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x2529d4['assertQueue'](_0x3ccc1a,_0x39f919),console[_0x2ec3ec(0x82)]('['+_0x2c8564['mmYyl'](formatDate,new Date())+_0x2ec3ec(0x7d)+_0x3ccc1a+'\x20created/ready'),await _0x2529d4['bindQueue'](_0x3ccc1a,_0x2c8564[_0x2ec3ec(0x8f)],ROUTING_KEY),console[_0x2ec3ec(0x82)]('['+_0x2c8564['CqQhq'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x2ec3ec(0x8c));}catch(_0x37eee3){console[_0x2ec3ec(0xa1)]('['+_0x2c8564[_0x2ec3ec(0x96)](formatDate,new Date())+_0x2ec3ec(0xa0),_0x37eee3[_0x2ec3ec(0x90)]);throw _0x37eee3;}try{const _0x4e16f6={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x4f1de6=await _0x2529d4[_0x2ec3ec(0x91)](QUEUE,_0x4e16f6);console[_0x2ec3ec(0x82)]('['+_0x2c8564['gyare'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x2c8564[_0x2ec3ec(0x97)](_0x4f1de6[_0x2ec3ec(0xa3)],QUEUE)?'created/ready':_0x2c8564['lFSoU'])+_0x2ec3ec(0x8d)),await _0x2529d4[_0x2ec3ec(0x7e)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x2ec3ec(0x82)]('['+_0x2c8564['gyare'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x2ef7ad){if(_0x2ef7ad[_0x2ec3ec(0x90)][_0x2ec3ec(0x77)]('inequivalent\x20arg')&&_0x2ef7ad[_0x2ec3ec(0x90)]['includes']('x-dead-letter-routing-key'))console[_0x2ec3ec(0xa1)]('\x0a['+_0x2c8564['mmYyl'](formatDate,new Date())+_0x2ec3ec(0x73)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x2ec3ec(0x9e)+QUEUE+_0x2ec3ec(0xa4)),console[_0x2ec3ec(0xa1)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x2ec3ec(0x9c)](0x1);else{console[_0x2ec3ec(0xa1)]('['+formatDate(new Date())+_0x2ec3ec(0x85)+QUEUE+':',_0x2ef7ad['message']);throw _0x2ef7ad;}}}catch(_0x3b5382){if(!_0x3b5382[_0x2ec3ec(0x90)]['includes'](_0x2c8564['golDn'])){console[_0x2ec3ec(0xa1)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x3b5382[_0x2ec3ec(0x90)]);throw _0x3b5382;}process['exit'](0x1);}}async function closeConnection(_0x50800f){const _0x57a29c=a0_0x4afae5,_0x5f132c={'cOYrM':function(_0x1ce346,_0x5099c2){return _0x1ce346(_0x5099c2);}};if(_0x50800f)try{await _0x50800f[_0x57a29c(0x75)](),console['log']('['+_0x5f132c['cOYrM'](formatDate,new Date())+_0x57a29c(0x86));}catch(_0x165669){console['error']('['+_0x5f132c[_0x57a29c(0x94)](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x165669[_0x57a29c(0x90)]);}}module[a0_0x4afae5(0x71)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
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
+ const a0_0x194580=a0_0x5879;function a0_0x3372(){const _0x5ca146=['rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','z2v0q2XPzw50','mta1mdyWCxvIs2Hp','CMvKAxnFzxjYB3i','mta4nZi2ow5hyMLysG','CgLUzW','otLRwgHyyKO','nti0ndm3nufXthrvDq','y29UBMvJDa','nhDfB3jAvq','zxHWB3j0CW','mZu4otu2mhPQq1zwrG','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','zw52','ue9orW','mZu3odK4mgvuEwvYqG','zxjYB3i','AxndB25Uzwn0zwq','t2DYAu8','Aw9YzwrPCW','uKvesvnFse9tva','CMvKAxnFy29UBMvJDgvK','nZi1mZqYsKfhA09n','D2fYBG','ng1pAxnxua','mZG3mtm0m09St0rksq','lI9SB2DNzxi','BwvZC2fNzq','y2XPzw50','qw94Efa','zgLZy29UBMvJDa'];a0_0x3372=function(){return _0x5ca146;};return a0_0x3372();}(function(_0xffd52a,_0x3863b9){const _0x57365d=a0_0x5879,_0x318fc7=_0xffd52a();while(!![]){try{const _0x3288ff=parseInt(_0x57365d(0x8c))/0x1*(-parseInt(_0x57365d(0x9a))/0x2)+parseInt(_0x57365d(0x87))/0x3*(parseInt(_0x57365d(0x9c))/0x4)+-parseInt(_0x57365d(0x8a))/0x5+parseInt(_0x57365d(0x85))/0x6+-parseInt(_0x57365d(0x9d))/0x7+-parseInt(_0x57365d(0x8e))/0x8+parseInt(_0x57365d(0x89))/0x9*(parseInt(_0x57365d(0x93))/0xa);if(_0x3288ff===_0x3863b9)break;else _0x318fc7['push'](_0x318fc7['shift']());}catch(_0x32d1d4){_0x318fc7['push'](_0x318fc7['shift']());}}}(a0_0x3372,0xc7194));const Redis=require(a0_0x194580(0x97)),{logger}=require(a0_0x194580(0x9e));function a0_0x5879(_0x59942f,_0x5ca26b){_0x59942f=_0x59942f-0x80;const _0x3372d2=a0_0x3372();let _0x58795f=_0x3372d2[_0x59942f];if(a0_0x5879['TZIdjK']===undefined){var _0x2a72f2=function(_0xdc7116){const _0x2868ac='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3448e9='',_0x5d86a1='';for(let _0x22475a=0x0,_0x42dd09,_0x1fe82d,_0x40aaea=0x0;_0x1fe82d=_0xdc7116['charAt'](_0x40aaea++);~_0x1fe82d&&(_0x42dd09=_0x22475a%0x4?_0x42dd09*0x40+_0x1fe82d:_0x1fe82d,_0x22475a++%0x4)?_0x3448e9+=String['fromCharCode'](0xff&_0x42dd09>>(-0x2*_0x22475a&0x6)):0x0){_0x1fe82d=_0x2868ac['indexOf'](_0x1fe82d);}for(let _0x167689=0x0,_0x3d5513=_0x3448e9['length'];_0x167689<_0x3d5513;_0x167689++){_0x5d86a1+='%'+('00'+_0x3448e9['charCodeAt'](_0x167689)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d86a1);};a0_0x5879['BVlfOr']=_0x2a72f2,a0_0x5879['nWRLXU']={},a0_0x5879['TZIdjK']=!![];}const _0x560b90=_0x3372d2[0x0],_0x46fa2a=_0x59942f+_0x560b90,_0x41df2e=a0_0x5879['nWRLXU'][_0x46fa2a];return!_0x41df2e?(_0x58795f=a0_0x5879['BVlfOr'](_0x58795f),a0_0x5879['nWRLXU'][_0x46fa2a]=_0x58795f):_0x58795f=_0x41df2e,_0x58795f;}class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x40c260=a0_0x194580,_0x3c08fb={'AZCku':_0x40c260(0x99),'EogiE':_0x40c260(0x86),'AoxxP':'localhost','iuDBG':function(_0x5ebc67,_0x451eb7,_0xc4a18){return _0x5ebc67(_0x451eb7,_0xc4a18);},'AeyDB':_0x40c260(0x94),'weUsb':'close','OgriO':'redis_init_error','pGzIe':_0x40c260(0x83)};if(this['client'])return this[_0x40c260(0x80)];try{return this['client']=new Redis({'host':process[_0x40c260(0x91)][_0x40c260(0x98)]||_0x3c08fb[_0x40c260(0x81)],'port':_0x3c08fb['iuDBG'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x40c260(0x91)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x48d2bb){const _0x1caa78=Math['min'](_0x48d2bb*0x32,0x7d0);return _0x1caa78;}}),this[_0x40c260(0x80)]['on'](_0x40c260(0x8b),()=>{const _0x1b6b75=_0x40c260;this['isConnected']=!![],logger['info']({'event':_0x3c08fb['AZCku']},_0x1b6b75(0x90));}),this[_0x40c260(0x80)]['on'](_0x3c08fb['AeyDB'],_0x285b96=>{const _0x151cfa=_0x40c260;this[_0x151cfa(0x95)]=![],logger[_0x151cfa(0x94)]({'event':_0x3c08fb['EogiE'],'error':_0x285b96[_0x151cfa(0x9f)]},_0x151cfa(0x8f)+_0x285b96[_0x151cfa(0x9f)]);}),this['client']['on'](_0x3c08fb['weUsb'],()=>{const _0x47255d=_0x40c260;this['isConnected']=![],logger[_0x47255d(0x9b)]({'event':'redis_disconnected'},'Redis\x20connection\x20closed');}),this[_0x40c260(0x80)];}catch(_0x76255){logger['error']({'event':_0x3c08fb[_0x40c260(0x96)],'error':_0x76255['message']},_0x3c08fb['pGzIe']);throw _0x76255;}}[a0_0x194580(0x84)](){const _0x491d21=a0_0x194580;return!this[_0x491d21(0x80)]&&this[_0x491d21(0x8b)](),this[_0x491d21(0x80)];}async[a0_0x194580(0x88)](_0x2ad0b0=0x1388){const _0xee6542=a0_0x194580;try{const _0x30811f=this[_0xee6542(0x84)](),_0x2bef11=await Promise['race']([_0x30811f['ping'](),new Promise((_0x4b803f,_0x3ef936)=>setTimeout(()=>_0x3ef936(new Error('Redis\x20PING\x20timeout')),_0x2ad0b0))]);return _0x2bef11===_0xee6542(0x92);}catch(_0x298dcb){return![];}}async['disconnect'](){this['client']&&(await this['client']['quit'](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x468cab=a0_0x194580;this['client']&&(this[_0x468cab(0x80)][_0x468cab(0x82)](),this[_0x468cab(0x80)]=null,this['isConnected']=![]);}}module[a0_0x194580(0x8d)]=new RedisClient();
@@ -1 +1 @@
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();}
1
+ const a0_0x13ddff=a0_0x45ed;function a0_0xe4df(){const _0x393028=['z2v0qwXSsM9ICW','DeLJyue','C3rYAw5NAwz5','zxDmAeC','uffmDxy','mJGYndm4AKndzgDt','odiYotm0ohLms1j1zG','odi0nJzduMLyzw0','zgvSzxrLsM9I','mJa4nJeXnuzPseTIvG','oe5gBuT3tW','zgvS','z2v0','mNvdD1nUtG','ChvZAa','zgvMyxvSDa','BwvZC2fNzq','n1DxB1zfva','z2v0q2XPzw50','nfbJBerZwq','oMv4Cg9YDdO','x3bYzwzPEa','CMvKAxnFz2v0ywXSx2vYCM9Y','lI9YzwrPCY1JBgLLBNq','ndq5odC1ohbAyvnIvG','CMvKAxnFzgvSzxrLx2vYCM9Y','CgfYC2u','mtGZnJKZmgLzwxbwDG','mtqXmZC2ngz1z1nwvq','EKX1D0m','mtb4qvr0yKC'];a0_0xe4df=function(){return _0x393028;};return a0_0xe4df();}(function(_0x464c42,_0xaa9051){const _0x1c1f03=a0_0x45ed,_0x458051=_0x464c42();while(!![]){try{const _0x2c2395=parseInt(_0x1c1f03(0x152))/0x1+-parseInt(_0x1c1f03(0x139))/0x2*(parseInt(_0x1c1f03(0x150))/0x3)+parseInt(_0x1c1f03(0x13f))/0x4*(parseInt(_0x1c1f03(0x154))/0x5)+-parseInt(_0x1c1f03(0x147))/0x6*(parseInt(_0x1c1f03(0x13d))/0x7)+-parseInt(_0x1c1f03(0x136))/0x8*(parseInt(_0x1c1f03(0x144))/0x9)+-parseInt(_0x1c1f03(0x14a))/0xa*(-parseInt(_0x1c1f03(0x148))/0xb)+parseInt(_0x1c1f03(0x151))/0xc;if(_0x2c2395===_0xaa9051)break;else _0x458051['push'](_0x458051['shift']());}catch(_0x2fe89f){_0x458051['push'](_0x458051['shift']());}}}(a0_0xe4df,0x65085));const redisClient=require(a0_0x13ddff(0x143)),{logger}=require('./logger');function a0_0x45ed(_0x3fcbb0,_0x494a52){_0x3fcbb0=_0x3fcbb0-0x136;const _0xe4dfbe=a0_0xe4df();let _0x45edd3=_0xe4dfbe[_0x3fcbb0];if(a0_0x45ed['pjEJlZ']===undefined){var _0x4d3c4e=function(_0x5eeae2){const _0x237e91='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b9ced='',_0x5486a8='';for(let _0x4bb6ed=0x0,_0x168ded,_0x1c7766,_0x4d9d13=0x0;_0x1c7766=_0x5eeae2['charAt'](_0x4d9d13++);~_0x1c7766&&(_0x168ded=_0x4bb6ed%0x4?_0x168ded*0x40+_0x1c7766:_0x1c7766,_0x4bb6ed++%0x4)?_0x4b9ced+=String['fromCharCode'](0xff&_0x168ded>>(-0x2*_0x4bb6ed&0x6)):0x0){_0x1c7766=_0x237e91['indexOf'](_0x1c7766);}for(let _0x476468=0x0,_0x362088=_0x4b9ced['length'];_0x476468<_0x362088;_0x476468++){_0x5486a8+='%'+('00'+_0x4b9ced['charCodeAt'](_0x476468)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5486a8);};a0_0x45ed['aZHwib']=_0x4d3c4e,a0_0x45ed['caAoNx']={},a0_0x45ed['pjEJlZ']=!![];}const _0x2c14c8=_0xe4dfbe[0x0],_0x1f6a7d=_0x3fcbb0+_0x2c14c8,_0x2eedd2=a0_0x45ed['caAoNx'][_0x1f6a7d];return!_0x2eedd2?(_0x45edd3=a0_0x45ed['aZHwib'](_0x45edd3),a0_0x45ed['caAoNx'][_0x1f6a7d]=_0x45edd3):_0x45edd3=_0x2eedd2,_0x45edd3;}class RedisHelper{constructor(){this['_prefix']=null,this['ttl']=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x3a449d=a0_0x13ddff,_0x5725c3={'SYwSU':_0x3a449d(0x13b)};if(!this['_prefix']){const _0x139c79=process['env']['RESTFORGE_PROJECT_NAME']||_0x5725c3['SYwSU'];this[_0x3a449d(0x141)]='restforge:'+_0x139c79+_0x3a449d(0x140);}return this['_prefix'];}async['setJob'](_0x4367bd,_0x4a81ce){const _0x498792=a0_0x13ddff;try{const _0x4a19b0=redisClient[_0x498792(0x13e)](),_0x2828ca=''+this['prefix']+_0x4367bd;return await _0x4a19b0['setex'](_0x2828ca,this['ttl'],JSON[_0x498792(0x14d)](_0x4a81ce)),!![];}catch(_0x593040){return logger['error']({'event':'redis_set_error','jobId':_0x4367bd,'error':_0x593040[_0x498792(0x13c)]},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async['getJob'](_0x5afe10){const _0x424c78=a0_0x13ddff,_0x729862={'zLuwC':'redis_get_error','ewLhG':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x383707=redisClient['getClient'](),_0x17aeac=''+this['prefix']+_0x5afe10,_0x1384c8=await _0x383707[_0x424c78(0x138)](_0x17aeac);return _0x1384c8?JSON[_0x424c78(0x146)](_0x1384c8):null;}catch(_0x2d8804){return logger['error']({'event':_0x729862[_0x424c78(0x149)],'jobId':_0x5afe10,'error':_0x2d8804['message']},_0x729862[_0x424c78(0x14e)]),null;}}async['updateJob'](_0x26d810,_0x26a1ee){const _0x1a91ba=await this['getJob'](_0x26d810);if(!_0x1a91ba)return![];const _0x356987={..._0x1a91ba,..._0x26a1ee};return await this['setJob'](_0x26d810,_0x356987);}async[a0_0x13ddff(0x153)](_0x5ca947){const _0x23af89=a0_0x13ddff,_0x394dc3={'wGdAV':_0x23af89(0x145),'PQLuv':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x6eda8f=redisClient['getClient'](),_0x413414=''+this['prefix']+_0x5ca947;return await _0x6eda8f[_0x23af89(0x137)](_0x413414),!![];}catch(_0x4f1bbb){return logger['error']({'event':_0x394dc3['wGdAV'],'jobId':_0x5ca947,'error':_0x4f1bbb['message']},_0x394dc3[_0x23af89(0x14f)]),![];}}async[a0_0x13ddff(0x14b)](){const _0x427d09=a0_0x13ddff,_0x586218={'tIcaA':_0x427d09(0x142)};try{const _0x86d02b=redisClient['getClient'](),_0x32c739=await _0x86d02b['keys'](this['prefix']+'*'),_0x1007d8=[];for(const _0x51411e of _0x32c739){const _0x4d3bc3=await _0x86d02b['get'](_0x51411e);_0x4d3bc3&&_0x1007d8[_0x427d09(0x13a)](JSON[_0x427d09(0x146)](_0x4d3bc3));}return _0x1007d8;}catch(_0x44cb65){return logger['error']({'event':_0x586218[_0x427d09(0x14c)],'error':_0x44cb65[_0x427d09(0x13c)]},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}module['exports']=new RedisHelper();