@restforgejs/platform 4.3.2 → 4.3.4

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 (176) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/dashboard/create.js +0 -1
  5. package/generators/cli/endpoint/create.js +1 -1
  6. package/generators/lib/generators/model-generator.js +1 -1
  7. package/generators/lib/payload/endpoint-schema-validator.js +11 -1
  8. package/generators/lib/payload/payload-runner.js +3 -3
  9. package/generators/lib/payload/schema-diff.js +186 -3
  10. package/generators/lib/templates/dashboard-catalog.js +1 -1
  11. package/generators/lib/templates/db-connection-env.js +1 -1
  12. package/generators/lib/templates/dbschema-catalog.js +1 -1
  13. package/generators/lib/templates/field-validation-catalog.js +1 -1
  14. package/generators/lib/templates/mysql-template.js +1 -1
  15. package/generators/lib/templates/oracle-template.js +1 -1
  16. package/generators/lib/templates/postgres-template.js +1 -1
  17. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  18. package/generators/lib/templates/sqlite-template.js +1 -1
  19. package/generators/lib/utils/conflict-checker.js +9 -57
  20. package/generators/lib/utils/database-introspector.js +84 -0
  21. package/generators/lib/utils/file-utils.js +0 -159
  22. package/generators/lib/utils/payload-processor.js +21 -112
  23. package/integrity-manifest.json +18 -18
  24. package/package.json +1 -1
  25. package/scripts/verify-integrity.js +1 -1
  26. package/server.js +1 -1
  27. package/src/components/handlers/adjust_handler.js +1 -1
  28. package/src/components/handlers/audit_handler.js +1 -1
  29. package/src/components/handlers/delete_handler.js +1 -1
  30. package/src/components/handlers/export_handler.js +1 -1
  31. package/src/components/handlers/import_handler.js +1 -1
  32. package/src/components/handlers/insert_handler.js +1 -1
  33. package/src/components/handlers/update_handler.js +1 -1
  34. package/src/components/handlers/upload_handler.js +1 -1
  35. package/src/components/handlers/workflow_handler.js +1 -1
  36. package/src/components/integrations/webhook.js +1 -1
  37. package/src/consumers/baseConsumer.js +1 -1
  38. package/src/consumers/declarativeMapper.js +1 -1
  39. package/src/consumers/handlers/apiHandler.js +1 -1
  40. package/src/consumers/handlers/consoleHandler.js +1 -1
  41. package/src/consumers/handlers/databaseHandler.js +1 -1
  42. package/src/consumers/handlers/index.js +1 -1
  43. package/src/consumers/handlers/kafkaHandler.js +1 -1
  44. package/src/consumers/index.js +1 -1
  45. package/src/consumers/messageTransformer.js +1 -1
  46. package/src/consumers/validator.js +1 -1
  47. package/src/core/db/dialect/base-dialect.js +1 -1
  48. package/src/core/db/dialect/index.js +1 -1
  49. package/src/core/db/dialect/mysql-dialect.js +1 -1
  50. package/src/core/db/dialect/oracle-dialect.js +1 -1
  51. package/src/core/db/dialect/postgres-dialect.js +1 -1
  52. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  53. package/src/core/db/flatten-helper.js +1 -1
  54. package/src/core/db/query-builder-error.js +1 -1
  55. package/src/core/db/query-builder.js +1 -1
  56. package/src/core/db/relation-helper.js +1 -1
  57. package/src/core/handlers/delete_handler.js +1 -1
  58. package/src/core/handlers/insert_handler.js +1 -1
  59. package/src/core/handlers/update_handler.js +1 -1
  60. package/src/core/models/base-model.js +1 -1
  61. package/src/core/utils/cache-manager.js +1 -1
  62. package/src/core/utils/component-engine.js +1 -1
  63. package/src/core/utils/context-builder.js +1 -1
  64. package/src/core/utils/datetime-formatter.js +1 -1
  65. package/src/core/utils/datetime-parser.js +1 -1
  66. package/src/core/utils/db.js +1 -1
  67. package/src/core/utils/logger.js +1 -1
  68. package/src/core/utils/payload-loader.js +1 -1
  69. package/src/core/utils/security-checks.js +1 -1
  70. package/src/middleware/body-options.js +1 -1
  71. package/src/middleware/cors.js +1 -1
  72. package/src/middleware/idempotency.js +1 -1
  73. package/src/middleware/rate-limiter.js +1 -1
  74. package/src/middleware/request-logger.js +1 -1
  75. package/src/middleware/security-headers.js +1 -1
  76. package/src/models/base-model-mysql.js +1 -1
  77. package/src/models/base-model-oracle.js +1 -1
  78. package/src/models/base-model-sqlite.js +1 -1
  79. package/src/models/base-model.js +1 -1
  80. package/src/pro/caching/redis-client.js +1 -1
  81. package/src/pro/caching/redis-helper.js +1 -1
  82. package/src/pro/consumers/baseConsumer.js +1 -1
  83. package/src/pro/consumers/declarativeMapper.js +1 -1
  84. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  85. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  86. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  87. package/src/pro/consumers/handlers/index.js +1 -1
  88. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  89. package/src/pro/consumers/index.js +1 -1
  90. package/src/pro/consumers/messageTransformer.js +1 -1
  91. package/src/pro/consumers/validator.js +1 -1
  92. package/src/pro/database/base-model-mysql.js +1 -1
  93. package/src/pro/database/base-model-oracle.js +1 -1
  94. package/src/pro/database/base-model-sqlite.js +1 -1
  95. package/src/pro/database/db-mysql.js +1 -1
  96. package/src/pro/database/db-oracle.js +1 -1
  97. package/src/pro/database/db-sqlite.js +1 -1
  98. package/src/pro/excel/excel-generator.js +1 -1
  99. package/src/pro/excel/excel-parser.js +1 -1
  100. package/src/pro/excel/export-service.js +1 -1
  101. package/src/pro/excel/export_handler.js +1 -1
  102. package/src/pro/excel/import-service.js +1 -1
  103. package/src/pro/excel/import-validator.js +1 -1
  104. package/src/pro/excel/import_handler.js +1 -1
  105. package/src/pro/excel/upsert-builder.js +1 -1
  106. package/src/pro/idgen/idgen-routes.js +1 -1
  107. package/src/pro/integrations/lookup-resolver.js +1 -1
  108. package/src/pro/integrations/upload-handler-v2.js +1 -1
  109. package/src/pro/integrations/upload-handler.js +1 -1
  110. package/src/pro/integrations/webhook.js +1 -1
  111. package/src/pro/locking/lock-routes.js +1 -1
  112. package/src/pro/locking/resource-lock-manager.js +1 -1
  113. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  114. package/src/pro/messaging/kafkaService.js +1 -1
  115. package/src/pro/messaging/messagehubService.js +1 -1
  116. package/src/pro/messaging/rabbitmqService.js +1 -1
  117. package/src/pro/scheduler/job-manager.js +1 -1
  118. package/src/pro/scheduler/job-routes.js +1 -1
  119. package/src/pro/scheduler/job-validator.js +1 -1
  120. package/src/pro/storage/base-storage-provider.js +1 -1
  121. package/src/pro/storage/file-metadata-helper.js +1 -1
  122. package/src/pro/storage/index.js +1 -1
  123. package/src/pro/storage/local-storage-provider.js +1 -1
  124. package/src/pro/storage/s3-storage-provider.js +1 -1
  125. package/src/pro/storage/upload-cleanup-job.js +1 -1
  126. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  127. package/src/pro/storage/upload-pending-tracker.js +1 -1
  128. package/src/pro/websocket/broadcast-helper.js +1 -1
  129. package/src/pro/websocket/index.js +1 -1
  130. package/src/pro/websocket/livesync-server.js +1 -1
  131. package/src/pro/websocket/ws-broadcaster.js +1 -1
  132. package/src/services/export-service.js +1 -1
  133. package/src/services/import-service.js +1 -1
  134. package/src/services/kafkaConsumerService.js +1 -1
  135. package/src/services/kafkaService.js +1 -1
  136. package/src/services/messagehubService.js +1 -1
  137. package/src/services/rabbitmqService.js +1 -1
  138. package/src/utils/cache-invalidation-registry.js +1 -1
  139. package/src/utils/cache-manager.js +1 -1
  140. package/src/utils/component-engine.js +1 -1
  141. package/src/utils/config-extractor.js +1 -1
  142. package/src/utils/consumerLogger.js +1 -1
  143. package/src/utils/context-builder.js +1 -1
  144. package/src/utils/dashboard-helpers.js +1 -1
  145. package/src/utils/dateHelper.js +1 -1
  146. package/src/utils/datetime-formatter.js +1 -1
  147. package/src/utils/datetime-parser.js +1 -1
  148. package/src/utils/db-bootstrap.js +1 -1
  149. package/src/utils/db-mysql.js +1 -1
  150. package/src/utils/db-oracle.js +1 -1
  151. package/src/utils/db-sqlite.js +1 -1
  152. package/src/utils/db.js +1 -1
  153. package/src/utils/demo-generator.js +1 -1
  154. package/src/utils/excel-generator.js +1 -1
  155. package/src/utils/excel-parser.js +1 -1
  156. package/src/utils/file-watcher.js +1 -1
  157. package/src/utils/id-generator.js +1 -1
  158. package/src/utils/idempotency-manager.js +1 -1
  159. package/src/utils/import-validator.js +1 -1
  160. package/src/utils/license-client.js +1 -1
  161. package/src/utils/lock-manager.js +1 -1
  162. package/src/utils/logger.js +1 -1
  163. package/src/utils/lookup-resolver.js +1 -1
  164. package/src/utils/payload-loader.js +1 -1
  165. package/src/utils/processor-response.js +1 -1
  166. package/src/utils/rabbitmq.js +1 -1
  167. package/src/utils/redis-client.js +1 -1
  168. package/src/utils/redis-helper.js +1 -1
  169. package/src/utils/request-scope.js +1 -1
  170. package/src/utils/security-checks.js +1 -1
  171. package/src/utils/service-resolver.js +1 -1
  172. package/src/utils/shutdown-coordinator.js +1 -1
  173. package/src/utils/trusted-keys.js +1 -1
  174. package/src/utils/upload-handler.js +1 -1
  175. package/src/utils/upsert-builder.js +1 -1
  176. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x261e05=a0_0x1f5e;(function(_0x4d6fd4,_0x1ac103){const _0x30c30a=a0_0x1f5e,_0x31b85e=_0x4d6fd4();while(!![]){try{const _0x1741b0=parseInt(_0x30c30a(0x17a))/0x1+-parseInt(_0x30c30a(0x154))/0x2+parseInt(_0x30c30a(0x166))/0x3+-parseInt(_0x30c30a(0x167))/0x4*(parseInt(_0x30c30a(0x139))/0x5)+parseInt(_0x30c30a(0x15b))/0x6+-parseInt(_0x30c30a(0x16f))/0x7+-parseInt(_0x30c30a(0x178))/0x8;if(_0x1741b0===_0x1ac103)break;else _0x31b85e['push'](_0x31b85e['shift']());}catch(_0x3e474f){_0x31b85e['push'](_0x31b85e['shift']());}}}(a0_0x4d06,0xa2c31));const redisClient=require('./redis-client'),{logger}=require(a0_0x261e05(0x131)),{v4:uuidv4}=require(a0_0x261e05(0x169));function a0_0x1f5e(_0x11d916,_0x4c966c){_0x11d916=_0x11d916-0x124;const _0x4d0648=a0_0x4d06();let _0x1f5e0b=_0x4d0648[_0x11d916];if(a0_0x1f5e['VBTjOe']===undefined){var _0x4ce606=function(_0x141edb){const _0x364b54='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x305f6a='',_0x5149e8='';for(let _0x2c8d38=0x0,_0x592edc,_0x1eef34,_0x30ae88=0x0;_0x1eef34=_0x141edb['charAt'](_0x30ae88++);~_0x1eef34&&(_0x592edc=_0x2c8d38%0x4?_0x592edc*0x40+_0x1eef34:_0x1eef34,_0x2c8d38++%0x4)?_0x305f6a+=String['fromCharCode'](0xff&_0x592edc>>(-0x2*_0x2c8d38&0x6)):0x0){_0x1eef34=_0x364b54['indexOf'](_0x1eef34);}for(let _0x543d3f=0x0,_0x212031=_0x305f6a['length'];_0x543d3f<_0x212031;_0x543d3f++){_0x5149e8+='%'+('00'+_0x305f6a['charCodeAt'](_0x543d3f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5149e8);};a0_0x1f5e['OiTHRp']=_0x4ce606,a0_0x1f5e['QjhCKb']={},a0_0x1f5e['VBTjOe']=!![];}const _0x5280c9=_0x4d0648[0x0],_0x536fd2=_0x11d916+_0x5280c9,_0x358a36=a0_0x1f5e['QjhCKb'][_0x536fd2];return!_0x358a36?(_0x1f5e0b=a0_0x1f5e['OiTHRp'](_0x1f5e0b),a0_0x1f5e['QjhCKb'][_0x536fd2]=_0x1f5e0b):_0x1f5e0b=_0x358a36,_0x1f5e0b;}class LockManager{constructor(){const _0x305b0e=a0_0x261e05;this[_0x305b0e(0x124)]=null,this[_0x305b0e(0x138)]=null,this['_defaultTTL']=null,this['_retryCount']=null,this['_retryDelay']=null,this['_strategy']=null,this[_0x305b0e(0x16b)]=null,this['_initialized']=![];}[a0_0x261e05(0x146)](){const _0x4d7051=a0_0x261e05,_0x2d4ec6={'NxxzC':'4|2|7|3|6|1|8|0|5','spNpL':'true','KrgLd':_0x4d7051(0x16d),'BKuFQ':'lock_config_init'},_0x249f41=_0x2d4ec6[_0x4d7051(0x15a)]['split']('|');let _0x9ff8cb=0x0;while(!![]){switch(_0x249f41[_0x9ff8cb++]){case'0':this[_0x4d7051(0x15e)]=!![];continue;case'1':this['_strategy']=process['env'][_0x4d7051(0x128)]||'retry';continue;case'2':this[_0x4d7051(0x138)]=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x2d4ec6['spNpL'];continue;case'3':this[_0x4d7051(0x16c)]=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'4':this[_0x4d7051(0x124)]=_0x2d4ec6['KrgLd'];continue;case'5':logger[_0x4d7051(0x14b)]({'event':_0x2d4ec6[_0x4d7051(0x158)],'enabled':this[_0x4d7051(0x138)],'strategy':this[_0x4d7051(0x172)],'ttl':this['_defaultTTL'],'retryCount':this[_0x4d7051(0x16c)],'retryDelay':this[_0x4d7051(0x163)],'workerId':this[_0x4d7051(0x16b)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x4d7051(0x12d)+this[_0x4d7051(0x172)]);continue;case'6':this[_0x4d7051(0x163)]=parseInt(process['env'][_0x4d7051(0x16e)],0xa)||0x64;continue;case'7':this[_0x4d7051(0x174)]=parseInt(process[_0x4d7051(0x14a)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'8':this['_workerId']='worker-'+process[_0x4d7051(0x13b)];continue;}break;}}['_ensureInitialized'](){const _0x2e1a80=a0_0x261e05;!this['_initialized']&&this[_0x2e1a80(0x146)]();}get[a0_0x261e05(0x15f)](){return this['_ensureInitialized'](),this['_prefix'];}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get['defaultTTL'](){const _0x42566c=a0_0x261e05;return this[_0x42566c(0x179)](),this[_0x42566c(0x174)];}get[a0_0x261e05(0x130)](){return this['_ensureInitialized'](),this['_retryCount'];}get[a0_0x261e05(0x14e)](){const _0xd81a28=a0_0x261e05;return this[_0xd81a28(0x179)](),this[_0xd81a28(0x163)];}get[a0_0x261e05(0x15d)](){const _0x396a20=a0_0x261e05;return this[_0x396a20(0x179)](),this['_strategy'];}get['workerId'](){const _0x182baa=a0_0x261e05;return this[_0x182baa(0x179)](),this['_workerId'];}['buildLockKey'](_0x5809bd){const _0x2b9e25=a0_0x261e05,{module:_0x4bc7c7,endpoint:_0x43c225,lockType:_0x15652b,recordId:_0x52b9d1}=_0x5809bd;if(_0x52b9d1)return''+this[_0x2b9e25(0x15f)]+_0x4bc7c7+':'+_0x43c225+':'+_0x52b9d1+':'+_0x15652b;return''+this[_0x2b9e25(0x15f)]+_0x4bc7c7+':'+_0x43c225+':'+_0x15652b;}[a0_0x261e05(0x14f)](){const _0xa441db=a0_0x261e05;return this[_0xa441db(0x161)]+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x3f8c1d){const _0x91f3b1=a0_0x261e05,_0x25186e={'euxJe':'write','ncCgO':'read','IdAwb':function(_0x225efb,_0x515f23){return _0x225efb<_0x515f23;},'XUrFX':function(_0x5cee42,_0x418c12){return _0x5cee42*_0x418c12;},'LaGTR':_0x91f3b1(0x148),'SeLzj':'READ\x20lock\x20error'};if(!this[_0x91f3b1(0x132)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x12105a=this[_0x91f3b1(0x173)]({..._0x3f8c1d,'lockType':_0x25186e['euxJe']}),_0x9105fc=this['buildLockKey']({..._0x3f8c1d,'lockType':_0x25186e['ncCgO']}),_0x53aa6a=this['generateLockValue']();try{const _0x4f5abc=redisClient['getClient']();for(let _0x42be1b=0x0;_0x25186e[_0x91f3b1(0x12c)](_0x42be1b,this['retryCount']);_0x42be1b++){const _0x47af44=await _0x4f5abc['get'](_0x12105a);if(!_0x47af44){await _0x4f5abc[_0x91f3b1(0x12e)](_0x9105fc),await _0x4f5abc[_0x91f3b1(0x170)](_0x9105fc,this[_0x91f3b1(0x127)]);const _0x13b2c7=_0x9105fc+':'+_0x53aa6a;return await _0x4f5abc['setex'](_0x13b2c7,this[_0x91f3b1(0x127)],_0x53aa6a),logger[_0x91f3b1(0x153)]({'event':_0x91f3b1(0x145),'key':_0x9105fc,'value':_0x53aa6a},_0x91f3b1(0x175)),{'success':!![],'lockValue':_0x53aa6a,'lockKey':_0x13b2c7};}logger[_0x91f3b1(0x153)]({'event':'read_lock_waiting','writeKey':_0x12105a,'attempt':_0x42be1b},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this['sleep'](_0x25186e[_0x91f3b1(0x133)](this[_0x91f3b1(0x14e)],Math[_0x91f3b1(0x13d)](0x2,_0x42be1b)));}return logger[_0x91f3b1(0x13f)]({'event':_0x91f3b1(0x160),'key':_0x9105fc},_0x25186e[_0x91f3b1(0x135)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x388078){return logger['error']({'event':'read_lock_error','error':_0x388078['message']},_0x25186e['SeLzj']),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x5a78d1){const _0x464975=a0_0x261e05,_0x55a1a0={'KxZoH':_0x464975(0x171),'icEJK':'reject','hQZeJ':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','vABHx':_0x464975(0x159),'LPMJs':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','LtLwd':function(_0x4bf10c,_0x1c01e8){return _0x4bf10c===_0x1c01e8;},'gVrei':_0x464975(0x176),'FJrbg':'write_lock_waiting','IZekD':function(_0x30401f,_0x295830){return _0x30401f*_0x295830;},'PigDL':'write_lock_error'};if(!this[_0x464975(0x132)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x36b6ad=this[_0x464975(0x173)]({..._0x5a78d1,'lockType':_0x55a1a0['KxZoH']}),_0x127704=this[_0x464975(0x173)]({..._0x5a78d1,'lockType':'read'}),_0xcf4915=this['generateLockValue']();try{const _0x22b7a5=redisClient['getClient']();if(this[_0x464975(0x15d)]===_0x464975(0x156)){const _0x4d7d0f=await _0x22b7a5['set'](_0x36b6ad,_0xcf4915,'EX',this[_0x464975(0x127)],'NX');if(_0x4d7d0f==='OK')return logger[_0x464975(0x153)]({'event':'write_lock_acquired','key':_0x36b6ad,'value':_0xcf4915,'strategy':_0x55a1a0[_0x464975(0x147)]},_0x55a1a0['hQZeJ']),{'success':!![],'lockValue':_0xcf4915,'lockKey':_0x36b6ad};return logger[_0x464975(0x153)]({'event':_0x55a1a0[_0x464975(0x12a)],'key':_0x36b6ad},_0x55a1a0[_0x464975(0x152)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x132740=0x0;_0x132740<this[_0x464975(0x130)];_0x132740++){const [_0x32140a,_0x9cd71e]=await Promise['all']([_0x22b7a5[_0x464975(0x13c)](_0x127704),_0x22b7a5[_0x464975(0x13c)](_0x36b6ad)]);if(!_0x9cd71e&&(!_0x32140a||_0x55a1a0['LtLwd'](parseInt(_0x32140a),0x0))){const _0x56486c=await _0x22b7a5[_0x464975(0x141)](_0x36b6ad,_0xcf4915,'EX',this['defaultTTL'],'NX');if(_0x56486c==='OK')return logger[_0x464975(0x153)]({'event':'write_lock_acquired','key':_0x36b6ad,'value':_0xcf4915,'strategy':_0x55a1a0['gVrei']},_0x464975(0x13a)),{'success':!![],'lockValue':_0xcf4915,'lockKey':_0x36b6ad};}logger['debug']({'event':_0x55a1a0['FJrbg'],'writeKey':_0x36b6ad,'readCount':_0x32140a,'attempt':_0x132740},_0x464975(0x16a)),await this['sleep'](_0x55a1a0['IZekD'](this[_0x464975(0x14e)],Math[_0x464975(0x13d)](0x2,_0x132740)));}return logger['warn']({'event':_0x464975(0x165),'key':_0x36b6ad},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x555124){return logger[_0x464975(0x14c)]({'event':_0x55a1a0['PigDL'],'error':_0x555124['message']},_0x464975(0x177)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x261e05(0x168)](_0x3445cc,_0x1ada98){const _0x58f0ce=a0_0x261e05,_0x404938={'RZHKs':function(_0x536d03,_0x401045){return _0x536d03>_0x401045;},'PDckL':_0x58f0ce(0x142),'jvMWg':'Cannot\x20release\x20lock\x20-\x20not\x20owner'};if(!this[_0x58f0ce(0x132)]||!_0x3445cc)return!![];try{const _0x39eb2e=redisClient[_0x58f0ce(0x136)]();if(_0x3445cc[_0x58f0ce(0x15c)](':read:')){await _0x39eb2e[_0x58f0ce(0x162)](_0x3445cc);const _0x537449=_0x3445cc['substring'](0x0,_0x3445cc['lastIndexOf'](':')),_0x4cb2a2=await _0x39eb2e[_0x58f0ce(0x13c)](_0x537449);return _0x4cb2a2&&_0x404938[_0x58f0ce(0x12f)](parseInt(_0x4cb2a2),0x0)&&await _0x39eb2e[_0x58f0ce(0x137)](_0x537449),logger['debug']({'event':_0x58f0ce(0x157),'key':_0x3445cc},'READ\x20lock\x20released'),!![];}const _0x50a65d=_0x58f0ce(0x12b),_0x16d097=await _0x39eb2e['eval'](_0x50a65d,0x1,_0x3445cc,_0x1ada98);if(_0x16d097===0x1)return logger['debug']({'event':_0x58f0ce(0x149),'key':_0x3445cc},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':_0x404938['PDckL'],'key':_0x3445cc},_0x404938['jvMWg']),![];}catch(_0x184cea){return logger[_0x58f0ce(0x14c)]({'event':'lock_release_error','key':_0x3445cc,'error':_0x184cea[_0x58f0ce(0x14d)]},_0x58f0ce(0x126)),![];}}async[a0_0x261e05(0x13e)](_0x2fdb54,_0x4f9704,_0x351b40=null){const _0x38b63d=a0_0x261e05,_0x1e8bd9={'RgPCl':function(_0xcf84a0,_0x5ceff7){return _0xcf84a0===_0x5ceff7;},'UJWbf':'lock_extended'};if(!this[_0x38b63d(0x132)]||!_0x2fdb54)return!![];try{const _0x3b3f32=redisClient['getClient'](),_0x6d42a1=_0x38b63d(0x143),_0xc949c0=await _0x3b3f32[_0x38b63d(0x140)](_0x6d42a1,0x1,_0x2fdb54,_0x4f9704,_0x351b40||this[_0x38b63d(0x127)]);if(_0x1e8bd9['RgPCl'](_0xc949c0,0x1))return logger['debug']({'event':_0x1e8bd9['UJWbf'],'key':_0x2fdb54,'ttl':_0x351b40||this[_0x38b63d(0x127)]},_0x38b63d(0x129)),!![];return![];}catch(_0x95adde){return logger[_0x38b63d(0x14c)]({'event':_0x38b63d(0x151),'key':_0x2fdb54,'error':_0x95adde[_0x38b63d(0x14d)]},'Lock\x20extend\x20error'),![];}}[a0_0x261e05(0x125)](){const _0x3875b3=a0_0x261e05;return this[_0x3875b3(0x132)];}[a0_0x261e05(0x144)](_0xd27853){return new Promise(_0x507542=>setTimeout(_0x507542,_0xd27853));}async['getLockInfo'](_0x42bba7){const _0x5c7fbb=a0_0x261e05,_0x3e5c8f={'OVqiN':'write','LyjQY':function(_0x2ba4a1,_0x3a01d3){return _0x2ba4a1||_0x3a01d3;}};if(!this['enabled'])return{'enabled':![]};try{const _0xced578=redisClient[_0x5c7fbb(0x136)](),_0x468f05=this[_0x5c7fbb(0x173)]({..._0x42bba7,'lockType':_0x3e5c8f[_0x5c7fbb(0x164)]}),_0x179941=this['buildLockKey']({..._0x42bba7,'lockType':'read'}),[_0x23e4b7,_0x3affb0]=await Promise[_0x5c7fbb(0x150)]([_0xced578[_0x5c7fbb(0x13c)](_0x468f05),_0xced578['get'](_0x179941)]);return{'enabled':!![],'writeLock':_0x3e5c8f[_0x5c7fbb(0x155)](_0x23e4b7,null),'readCount':parseInt(_0x3affb0)||0x0,'writeKey':_0x468f05,'readKey':_0x179941};}catch(_0x49c22b){return{'enabled':!![],'error':_0x49c22b['message']};}}}module[a0_0x261e05(0x134)]=new LockManager();function a0_0x4d06(){const _0xcc014b=['ywXS','Bg9JA19LEhrLBMrFzxjYB3i','tfbnsNm','zgvIDwC','ndiXmZG4v0fpBNbb','thLQuvK','CMvQzwn0','CMvHzf9SB2nRx3jLBgvHC2vK','qKT1rLe','D3jPDgvFBg9JA19YzwPLy3rLza','tNH4EKm','ndK2otC1oejZtLLvva','Aw5JBhvKzxm','C3rYyxrLz3K','x2LUAxrPywXPEMvK','ChjLzML4','CMvHzf9SB2nRx3rPBwvVDxq','D29YA2vYswq','zgvS','x3jLDhj5rgvSyxK','t1zXAu4','D3jPDgvFBg9JA190Aw1LB3v0','mtyXntGWm1P5z3PHsq','ndy0odrtuwL5Dwi','CMvSzwfZzuXVy2S','DxvPza','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','x3DVCMTLCKLK','x3jLDhj5q291BNq','CMy6Bg9JAZO','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','ndeWntiYDu54BufV','zxHWAxjL','D3jPDgu','x3n0CMf0zwD5','yNvPBgrmB2nRs2v5','x2rLzMf1BhruveW','uKvbrcbSB2nRigfJCxvPCMvK','CMv0CNK','v1jjveuGBg9JAYbLCNjVCG','mteXnZm0nJrTrejlvg8','x2vUC3vYzuLUAxrPywXPEMvK','mteXnJG3nwfLzurOvW','x3bYzwzPEa','AxnfBMfIBgvK','tg9JAYbYzwXLyxnLigvYCM9Y','zgvMyxvSDfruta','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','tg9JAYbuveWGzxH0zw5Kzwq','DKfcshG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','swrbD2i','lcbZDhjHDgvNEtOG','Aw5JCG','uLPis3m','CMv0CNLdB3vUDa','lI9SB2DNzxi','zw5HyMXLza','wfvYrLG','zxHWB3j0CW','tgfhvfi','z2v0q2XPzw50','zgvJCG','x2vUywjSzwq','nJvotKD5ruS','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','CgLK','z2v0','Cg93','zxH0zw5Ktg9JAW','D2fYBG','zxzHBa','C2v0','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','C2XLzxa','CMvHzf9SB2nRx2fJCxvPCMvK','x2LUAxrdB25MAwC','AwnfsKS','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','D3jPDgvFBg9JA19YzwXLyxnLza','zw52','Aw5MBW','zxjYB3i','BwvZC2fNzq','CMv0CNLezwXHEq','z2vUzxjHDgvmB2nRvMfSDwu'];a0_0x4d06=function(){return _0xcc014b;};return a0_0x4d06();}
1
+ function a0_0x13d6(){const _0x131543=['CMv0CNK','ufrWs2u','zxjYB3i','D3jPDgvFBg9JA19LCNjVCG','x3jLDhj5q291BNq','r2HqALa','D2fYBG','CMv0CNLdB3vUDa','nJe3mZK4uNfJwu5P','D29YA2vYlq','CMvHzf9SB2nRx3DHAxrPBMC','v1blAxa','CMvHzf9SB2nRx3jLBgvHC2vK','v3HIBvK','mJa2ndC1mgrUAeTuva','BunnrKO','D3jPDgvFBg9JA19YzwXLyxnLza','BK1xqMG','mtjRDuDVDfy','tgTfChy','tg9JAYbuveWGzxH0zw5Kzwq','te9ds19esvnuuKLcvvrfrf9srvrswq','CMv0CNLezwXHEq','zfHKsvu','zxHWB3j0CW','C3vIC3rYAw5N','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','zxzHBa','x2LUAxrdB25MAwC','v1jjveuGBg9JAYbLCNjVCG','mZnfqMv6q3m','D3jPDgu','C2XeDeK','ndi0nZG2nw9cs1L5sW','CMvHza','x3jLDhj5rgvSyxK','q1PRtxe','Bg5dweO','z2v0','EeHzExi','zgvMyxvSDfruta','uKvbrcbSB2nRigvYCM9Y','x2vUC3vYzuLUAxrPywXPEMvK','zgvS','Bg9JA19LEhrLBMrLza','wNnntui','z2v0q2XPzw50','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','mJCYodC5nuDgz2TSCq','x2LUAxrPywXPEMvK','ywXS','AeDWshC','Cg93','ywnXDwLYzvDYAxrLtg9JAW','BgfZDeLUzgv4t2y','CMy6Bg9JAZO','tLrnDMO','uKvbrcbSB2nRihjLBgvHC2vK','AxnfBMfIBgvK','DK5UwMq','x2rLzMf1BhruveW','x2vUywjSzwq','v1jjveuGBg9JAYbYzwXLyxnLza','yNvPBgrmB2nRs2v5','z2vUzxjHDgvmB2nRvMfSDwu','x3DVCMTLCKLK','ug1hz0i','tg9JAYbLEhrLBMqGzxjYB3i','ndm2mtK4z0jQzvHd','Ae9qBMq','zgvIDwC','x3bYzwzPEa','zxH0zw5Ktg9JAW','twjuruy','Dhj1zq','odmYmZi4mfzdq1zhta','z2v0tg9JA0LUzM8','BwvZC2fNzq','zw5HyMXLza','mZKZmZzhwefktLy','x3n0CMf0zwD5','CMvQzwn0','D3jPDgvFBg9JA19Hy3f1AxjLza','zwXer3u','C2XLzxa','tg9JAYbYzwXLyxnLigvYCM9Y','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','og9hr3DABq','zw52'];a0_0x13d6=function(){return _0x131543;};return a0_0x13d6();}const a0_0x558805=a0_0x31bc;function a0_0x31bc(_0x213086,_0x858827){_0x213086=_0x213086-0xd9;const _0x13d672=a0_0x13d6();let _0x31bc11=_0x13d672[_0x213086];if(a0_0x31bc['uvuGHt']===undefined){var _0x68f8b0=function(_0x2d000a){const _0x5c62ee='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x16c1ad='',_0x445d02='';for(let _0x544b02=0x0,_0xeaf48b,_0x1d953e,_0x2eb80a=0x0;_0x1d953e=_0x2d000a['charAt'](_0x2eb80a++);~_0x1d953e&&(_0xeaf48b=_0x544b02%0x4?_0xeaf48b*0x40+_0x1d953e:_0x1d953e,_0x544b02++%0x4)?_0x16c1ad+=String['fromCharCode'](0xff&_0xeaf48b>>(-0x2*_0x544b02&0x6)):0x0){_0x1d953e=_0x5c62ee['indexOf'](_0x1d953e);}for(let _0x306df9=0x0,_0x47bad5=_0x16c1ad['length'];_0x306df9<_0x47bad5;_0x306df9++){_0x445d02+='%'+('00'+_0x16c1ad['charCodeAt'](_0x306df9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x445d02);};a0_0x31bc['YLKalO']=_0x68f8b0,a0_0x31bc['WcOUwD']={},a0_0x31bc['uvuGHt']=!![];}const _0x46a239=_0x13d672[0x0],_0xdce2ed=_0x213086+_0x46a239,_0x14b4a9=a0_0x31bc['WcOUwD'][_0xdce2ed];return!_0x14b4a9?(_0x31bc11=a0_0x31bc['YLKalO'](_0x31bc11),a0_0x31bc['WcOUwD'][_0xdce2ed]=_0x31bc11):_0x31bc11=_0x14b4a9,_0x31bc11;}(function(_0x429c47,_0x17036a){const _0x45e75a=a0_0x31bc,_0x15fee4=_0x429c47();while(!![]){try{const _0x437462=parseInt(_0x45e75a(0xe1))/0x1+parseInt(_0x45e75a(0xe7))/0x2+parseInt(_0x45e75a(0xf8))/0x3*(-parseInt(_0x45e75a(0x129))/0x4)+-parseInt(_0x45e75a(0x10a))/0x5*(parseInt(_0x45e75a(0xeb))/0x6)+-parseInt(_0x45e75a(0x11e))/0x7*(parseInt(_0x45e75a(0x131))/0x8)+-parseInt(_0x45e75a(0xfb))/0x9+parseInt(_0x45e75a(0x125))/0xa;if(_0x437462===_0x17036a)break;else _0x15fee4['push'](_0x15fee4['shift']());}catch(_0x3d4d2a){_0x15fee4['push'](_0x15fee4['shift']());}}}(a0_0x13d6,0xb6a4e));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x586a5f=a0_0x31bc,_0x51e425='5|4|1|2|3|7|6|0'['split']('|');let _0x33183c=0x0;while(!![]){switch(_0x51e425[_0x33183c++]){case'0':this[_0x586a5f(0x10b)]=![];continue;case'1':this['_defaultTTL']=null;continue;case'2':this['_retryCount']=null;continue;case'3':this['_retryDelay']=null;continue;case'4':this[_0x586a5f(0x117)]=null;continue;case'5':this[_0x586a5f(0x121)]=null;continue;case'6':this[_0x586a5f(0x11b)]=null;continue;case'7':this[_0x586a5f(0x12a)]=null;continue;}break;}}[a0_0x558805(0xf6)](){const _0x3fdce0=a0_0x558805,_0x409343={'MqhYv':'lock_config_init','ZsMMB':_0x3fdce0(0x111),'slDtI':function(_0x4f58e6,_0x441c72,_0x417206){return _0x4f58e6(_0x441c72,_0x417206);}},_0x46dabf='1|6|3|7|8|4|2|5|0'['split']('|');let _0x3c16c2=0x0;while(!![]){switch(_0x46dabf[_0x3c16c2++]){case'0':logger['info']({'event':_0x409343['MqhYv'],'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x3fdce0(0x116)],'retryCount':this['_retryCount'],'retryDelay':this[_0x3fdce0(0xfd)],'workerId':this['_workerId']},_0x3fdce0(0xf4)+this['_enabled']+',\x20strategy:\x20'+this[_0x3fdce0(0x12a)]);continue;case'1':this['_prefix']=_0x409343[_0x3fdce0(0x107)];continue;case'2':this[_0x3fdce0(0x11b)]=_0x3fdce0(0xe2)+process['pid'];continue;case'3':this[_0x3fdce0(0x116)]=_0x409343[_0x3fdce0(0xfa)](parseInt,process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'4':this['_strategy']=process[_0x3fdce0(0x132)][_0x3fdce0(0xf3)]||'retry';continue;case'5':this['_initialized']=!![];continue;case'6':this['_enabled']=process[_0x3fdce0(0x132)]['LOCK_DISTRIBUTED_ENABLED']===_0x3fdce0(0x124);continue;case'7':this[_0x3fdce0(0xdd)]=parseInt(process['env'][_0x3fdce0(0xee)],0xa)||0x3;continue;case'8':this['_retryDelay']=_0x409343[_0x3fdce0(0xfa)](parseInt,process[_0x3fdce0(0x132)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;}break;}}[a0_0x558805(0x104)](){const _0x1b9ebd=a0_0x558805;!this[_0x1b9ebd(0x10b)]&&this[_0x1b9ebd(0xf6)]();}get['prefix'](){return this['_ensureInitialized'](),this['_prefix'];}get[a0_0x558805(0x128)](){const _0x1f993c=a0_0x558805;return this['_ensureInitialized'](),this[_0x1f993c(0x117)];}get[a0_0x558805(0x102)](){return this['_ensureInitialized'](),this['_defaultTTL'];}get[a0_0x558805(0xe0)](){const _0x981760=a0_0x558805;return this[_0x981760(0x104)](),this['_retryCount'];}get['retryDelay'](){return this['_ensureInitialized'](),this['_retryDelay'];}get['strategy'](){const _0x240a97=a0_0x558805;return this[_0x240a97(0x104)](),this[_0x240a97(0x12a)];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}[a0_0x558805(0x119)](_0x3b2389){const {module:_0xcb9479,endpoint:_0x1e9686,lockType:_0x311e60,recordId:_0x586e49}=_0x3b2389;if(_0x586e49)return''+this['prefix']+_0xcb9479+':'+_0x1e9686+':'+_0x586e49+':'+_0x311e60;return''+this['prefix']+_0xcb9479+':'+_0x1e9686+':'+_0x311e60;}[a0_0x558805(0x11a)](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x3f2b9e){const _0x5e2724=a0_0x558805,_0x12c7ac={'hGpHw':function(_0x2d4498,_0x31151e){return _0x2d4498<_0x31151e;},'MbTEF':'read_lock_acquired','NTMvj':_0x5e2724(0xe3),'CVXOw':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','JUORJ':function(_0x291468,_0x550ecd){return _0x291468*_0x550ecd;},'PmGgB':_0x5e2724(0x103)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x53a4cc=this['buildLockKey']({..._0x3f2b9e,'lockType':_0x5e2724(0xf9)}),_0x1554aa=this['buildLockKey']({..._0x3f2b9e,'lockType':_0x5e2724(0xfc)}),_0xf56b60=this[_0x5e2724(0x11a)]();try{const _0x278484=redisClient['getClient']();for(let _0xb6dd9a=0x0;_0x12c7ac[_0x5e2724(0x10d)](_0xb6dd9a,this['retryCount']);_0xb6dd9a++){const _0x1e555f=await _0x278484['get'](_0x53a4cc);if(!_0x1e555f){await _0x278484['incr'](_0x1554aa),await _0x278484['expire'](_0x1554aa,this['defaultTTL']);const _0x21a398=_0x1554aa+':'+_0xf56b60;return await _0x278484['setex'](_0x21a398,this[_0x5e2724(0x102)],_0xf56b60),logger['debug']({'event':_0x12c7ac[_0x5e2724(0x123)],'key':_0x1554aa,'value':_0xf56b60},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0xf56b60,'lockKey':_0x21a398};}logger[_0x5e2724(0x120)]({'event':_0x12c7ac[_0x5e2724(0x112)],'writeKey':_0x53a4cc,'attempt':_0xb6dd9a},_0x12c7ac['CVXOw']),await this[_0x5e2724(0x12e)](_0x12c7ac['JUORJ'](this['retryDelay'],Math[_0x5e2724(0x10e)](0x2,_0xb6dd9a)));}return logger[_0x5e2724(0xdf)]({'event':'read_lock_timeout','key':_0x1554aa},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x43908d){return logger[_0x5e2724(0xdb)]({'event':'read_lock_error','error':_0x43908d['message']},_0x12c7ac[_0x5e2724(0x11c)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x558805(0x10f)](_0x7c76a2){const _0x2d5fcc=a0_0x558805,_0x5e03a7={'GhPjP':'write','OLwcn':_0x2d5fcc(0xfc),'nMWBh':_0x2d5fcc(0x12b),'ajzpP':function(_0x30a24a,_0x54e8f1){return _0x30a24a===_0x54e8f1;},'WxbmY':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','xHYyr':function(_0x4bddf4,_0x3161d0){return _0x4bddf4<_0x3161d0;},'Jjdyf':_0x2d5fcc(0x12c),'CZkMq':_0x2d5fcc(0xd9),'mCMFJ':'write_lock_waiting','dXdIU':'write_lock_timeout','WPKip':_0x2d5fcc(0x130),'FXzVF':_0x2d5fcc(0xf7)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5dd711=this['buildLockKey']({..._0x7c76a2,'lockType':_0x5e03a7[_0x2d5fcc(0xde)]}),_0x426276=this[_0x2d5fcc(0x119)]({..._0x7c76a2,'lockType':_0x5e03a7['OLwcn']}),_0x415aec=this['generateLockValue']();try{const _0x437d5a=redisClient[_0x2d5fcc(0x108)]();if(this['strategy']===_0x5e03a7['nMWBh']){const _0xd441b5=await _0x437d5a['set'](_0x5dd711,_0x415aec,'EX',this[_0x2d5fcc(0x102)],'NX');if(_0x5e03a7['ajzpP'](_0xd441b5,'OK'))return logger['debug']({'event':_0x2d5fcc(0x12c),'key':_0x5dd711,'value':_0x415aec,'strategy':_0x5e03a7[_0x2d5fcc(0xea)]},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0x415aec,'lockKey':_0x5dd711};return logger['debug']({'event':'write_lock_rejected','key':_0x5dd711},_0x5e03a7[_0x2d5fcc(0xe6)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x50161a=0x0;_0x5e03a7[_0x2d5fcc(0x101)](_0x50161a,this['retryCount']);_0x50161a++){const [_0x89ea74,_0x189d0b]=await Promise[_0x2d5fcc(0x10c)]([_0x437d5a[_0x2d5fcc(0x100)](_0x426276),_0x437d5a[_0x2d5fcc(0x100)](_0x5dd711)]);if(!_0x189d0b&&(!_0x89ea74||parseInt(_0x89ea74)===0x0)){const _0x46f22f=await _0x437d5a['set'](_0x5dd711,_0x415aec,'EX',this[_0x2d5fcc(0x102)],'NX');if(_0x46f22f==='OK')return logger[_0x2d5fcc(0x120)]({'event':_0x5e03a7['Jjdyf'],'key':_0x5dd711,'value':_0x415aec,'strategy':_0x5e03a7[_0x2d5fcc(0xfe)]},_0x2d5fcc(0x109)),{'success':!![],'lockValue':_0x415aec,'lockKey':_0x5dd711};}logger[_0x2d5fcc(0x120)]({'event':_0x5e03a7[_0x2d5fcc(0xe8)],'writeKey':_0x5dd711,'readCount':_0x89ea74,'attempt':_0x50161a},'Waiting\x20for\x20locks\x20to\x20release'),await this['sleep'](this[_0x2d5fcc(0xef)]*Math['pow'](0x2,_0x50161a));}return logger['warn']({'event':_0x5e03a7[_0x2d5fcc(0xf0)],'key':_0x5dd711},_0x5e03a7[_0x2d5fcc(0xe4)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x201ef8){return logger['error']({'event':_0x2d5fcc(0xdc),'error':_0x201ef8[_0x2d5fcc(0x127)]},_0x5e03a7['FXzVF']),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x5e2882,_0x516b75){const _0x414be1=a0_0x558805,_0x1d7b72={'urKzV':function(_0x5fad8b,_0x156bde){return _0x5fad8b(_0x156bde);},'pcCSQ':_0x414be1(0xe5),'LcjzG':function(_0x6a92b,_0x1f0ea5){return _0x6a92b===_0x1f0ea5;},'OhrCT':_0x414be1(0xe9),'LkEpv':'lock_release_error','lnCXJ':_0x414be1(0x12f)};if(!this[_0x414be1(0x128)]||!_0x5e2882)return!![];try{const _0x4b1d46=redisClient[_0x414be1(0x108)]();if(_0x5e2882['includes'](':read:')){await _0x4b1d46[_0x414be1(0x105)](_0x5e2882);const _0x1b3004=_0x5e2882[_0x414be1(0xf2)](0x0,_0x5e2882[_0x414be1(0x110)](':')),_0x174ce7=await _0x4b1d46[_0x414be1(0x100)](_0x1b3004);return _0x174ce7&&_0x1d7b72['urKzV'](parseInt,_0x174ce7)>0x0&&await _0x4b1d46['decr'](_0x1b3004),logger['debug']({'event':_0x1d7b72['pcCSQ'],'key':_0x5e2882},_0x414be1(0x113)),!![];}const _0x56ff7e='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x3af3dd=await _0x4b1d46[_0x414be1(0xf5)](_0x56ff7e,0x1,_0x5e2882,_0x516b75);if(_0x1d7b72['LcjzG'](_0x3af3dd,0x1))return logger[_0x414be1(0x120)]({'event':_0x1d7b72['OhrCT'],'key':_0x5e2882},_0x414be1(0x118)),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x5e2882},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0xc133bf){return logger[_0x414be1(0xdb)]({'event':_0x1d7b72[_0x414be1(0xec)],'key':_0x5e2882,'error':_0xc133bf['message']},_0x1d7b72[_0x414be1(0xff)]),![];}}async[a0_0x558805(0x122)](_0x107f17,_0x5282b2,_0x5ef832=null){const _0x148eb6=a0_0x558805,_0x639561={'vNnZd':_0x148eb6(0xed),'elDGu':'lock_extend_error'};if(!this['enabled']||!_0x107f17)return!![];try{const _0x5a73db=redisClient['getClient'](),_0x6080e7='\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',_0x483421=await _0x5a73db[_0x148eb6(0xf5)](_0x6080e7,0x1,_0x107f17,_0x5282b2,_0x5ef832||this['defaultTTL']);if(_0x483421===0x1)return logger[_0x148eb6(0x120)]({'event':_0x148eb6(0x106),'key':_0x107f17,'ttl':_0x5ef832||this[_0x148eb6(0x102)]},_0x639561[_0x148eb6(0x115)]),!![];return![];}catch(_0x59523b){return logger[_0x148eb6(0xdb)]({'event':_0x639561[_0x148eb6(0x12d)],'key':_0x107f17,'error':_0x59523b[_0x148eb6(0x127)]},_0x148eb6(0x11d)),![];}}[a0_0x558805(0x114)](){const _0x483a58=a0_0x558805;return this[_0x483a58(0x128)];}[a0_0x558805(0x12e)](_0xa10923){return new Promise(_0x4986ed=>setTimeout(_0x4986ed,_0xa10923));}async[a0_0x558805(0x126)](_0x53e18b){const _0x1b5f2d=a0_0x558805,_0x367431={'PTpKe':'write','hOPnd':function(_0x3f64ba,_0x5995df){return _0x3f64ba||_0x5995df;}};if(!this['enabled'])return{'enabled':![]};try{const _0x10f0a4=redisClient[_0x1b5f2d(0x108)](),_0x3194ea=this[_0x1b5f2d(0x119)]({..._0x53e18b,'lockType':_0x367431[_0x1b5f2d(0xda)]}),_0x185c55=this['buildLockKey']({..._0x53e18b,'lockType':_0x1b5f2d(0xfc)}),[_0x21250f,_0x197016]=await Promise[_0x1b5f2d(0x10c)]([_0x10f0a4[_0x1b5f2d(0x100)](_0x3194ea),_0x10f0a4['get'](_0x185c55)]);return{'enabled':!![],'writeLock':_0x367431[_0x1b5f2d(0x11f)](_0x21250f,null),'readCount':parseInt(_0x197016)||0x0,'writeKey':_0x3194ea,'readKey':_0x185c55};}catch(_0x2066c2){return{'enabled':!![],'error':_0x2066c2['message']};}}}module[a0_0x558805(0xf1)]=new LockManager();
@@ -1 +1 @@
1
- const a0_0x3cf150=a0_0x1a6e;(function(_0x524335,_0x4704a1){const _0x4dd850=a0_0x1a6e,_0x43ca40=_0x524335();while(!![]){try{const _0x3df870=-parseInt(_0x4dd850(0xc6))/0x1+parseInt(_0x4dd850(0xfc))/0x2+-parseInt(_0x4dd850(0xe3))/0x3*(parseInt(_0x4dd850(0x158))/0x4)+parseInt(_0x4dd850(0x177))/0x5+-parseInt(_0x4dd850(0xd6))/0x6*(-parseInt(_0x4dd850(0x104))/0x7)+-parseInt(_0x4dd850(0x121))/0x8+parseInt(_0x4dd850(0x117))/0x9;if(_0x3df870===_0x4704a1)break;else _0x43ca40['push'](_0x43ca40['shift']());}catch(_0x3b10f9){_0x43ca40['push'](_0x43ca40['shift']());}}}(a0_0xf325,0xe5840));const pino=require(a0_0x3cf150(0x132)),fs=require('fs'),path=require(a0_0x3cf150(0xce));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x1a6e(_0x56b168,_0x46e072){_0x56b168=_0x56b168-0xc5;const _0xf32513=a0_0xf325();let _0x1a6ee6=_0xf32513[_0x56b168];if(a0_0x1a6e['wNgdwa']===undefined){var _0x71c73=function(_0x2b2702){const _0x21fefe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e9068='',_0x49c517='';for(let _0x4f41fa=0x0,_0x2e95c4,_0x42824d,_0x3c8d72=0x0;_0x42824d=_0x2b2702['charAt'](_0x3c8d72++);~_0x42824d&&(_0x2e95c4=_0x4f41fa%0x4?_0x2e95c4*0x40+_0x42824d:_0x42824d,_0x4f41fa++%0x4)?_0x4e9068+=String['fromCharCode'](0xff&_0x2e95c4>>(-0x2*_0x4f41fa&0x6)):0x0){_0x42824d=_0x21fefe['indexOf'](_0x42824d);}for(let _0x56463d=0x0,_0x454c77=_0x4e9068['length'];_0x56463d<_0x454c77;_0x56463d++){_0x49c517+='%'+('00'+_0x4e9068['charCodeAt'](_0x56463d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49c517);};a0_0x1a6e['AcYDvu']=_0x71c73,a0_0x1a6e['nLGhNH']={},a0_0x1a6e['wNgdwa']=!![];}const _0x46887c=_0xf32513[0x0],_0x28b5ed=_0x56b168+_0x46887c,_0x2bf489=a0_0x1a6e['nLGhNH'][_0x28b5ed];return!_0x2bf489?(_0x1a6ee6=a0_0x1a6e['AcYDvu'](_0x1a6ee6),a0_0x1a6e['nLGhNH'][_0x28b5ed]=_0x1a6ee6):_0x1a6ee6=_0x2bf489,_0x1a6ee6;}const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x3cf150(0x16f),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x3cf150(0x100)]!==a0_0x3cf150(0x10e),logLevel=process['env']['LOG_LEVEL']||a0_0x3cf150(0x11d);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3cf150(0x124),'version':process[a0_0x3cf150(0x139)]['APP_VERSION']||a0_0x3cf150(0x178),'env':process['env'][a0_0x3cf150(0x100)]||a0_0x3cf150(0x129)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x3cf150(0x11f),'password','token','apiKey','DB_PASSWORD',a0_0x3cf150(0x131)],'censor':a0_0x3cf150(0x175)},'serializers':{'req':_0x50d1a6=>({'id':_0x50d1a6['id'],'method':_0x50d1a6[a0_0x3cf150(0xc5)],'url':_0x50d1a6[a0_0x3cf150(0x167)],'path':_0x50d1a6[a0_0x3cf150(0xce)],'remoteAddress':_0x50d1a6['ip']||_0x50d1a6[a0_0x3cf150(0x15b)]?.['remoteAddress']}),'res':_0x423370=>({'statusCode':_0x423370['statusCode'],'headers':_0x423370['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0x3cf150(0x103)]}});function initFileLogging(){const _0x503745=a0_0x3cf150,_0x429199={'Tufxe':function(_0x1f486a,_0x2dbac5){return _0x1f486a===_0x2dbac5;},'gzNEB':'true','iELqI':'app.log','riWcw':'file_logging_enabled','rZrKe':function(_0x9277fc,_0x4b51a2,_0x37a5da){return _0x9277fc(_0x4b51a2,_0x37a5da);},'vuknD':_0x503745(0x11d)};if(fileLoggingInitialized)return;logToFile=_0x429199[_0x503745(0xf7)](process[_0x503745(0x139)][_0x503745(0xe7)],_0x429199['gzNEB']);const _0x3a7002=process['env'][_0x503745(0xea)]||_0x503745(0xf0);logDir=process[_0x503745(0x139)]['LOG_DIR']||_0x503745(0xcc)+_0x3a7002,serviceName=process['env']['SERVICE_NAME']||_0x503745(0x124),sqlLogEnabled=process[_0x503745(0x139)][_0x503745(0xee)]===_0x503745(0x13b),sqlLogLevel=process[_0x503745(0x139)][_0x503745(0x113)]||'debug',sqlLogParams=process[_0x503745(0x139)]['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x393cb5=path['resolve'](process[_0x503745(0x106)](),logDir);try{!fs[_0x503745(0x107)](_0x393cb5)&&fs[_0x503745(0x151)](_0x393cb5,{'recursive':!![]});}catch(_0x1a0d97){console[_0x503745(0x183)](_0x503745(0x185)+_0x393cb5+':',_0x1a0d97['message']),fileLoggingInitialized=!![];return;}const _0x50f564=path['join'](_0x393cb5,_0x429199[_0x503745(0x152)]),_0x39f692=path['join'](_0x393cb5,_0x503745(0xf6));try{appLogStream=fs['createWriteStream'](_0x50f564,{'flags':'a'}),errorLogStream=fs[_0x503745(0x119)](_0x39f692,{'flags':'a'}),fileLoggingInitialized=!![];const _0x146694={'event':_0x429199[_0x503745(0x174)],'logDir':_0x393cb5,'files':['app.log',_0x503745(0xf6)]},_0x3e95cf=_0x503745(0xfd)+_0x393cb5;logger[_0x503745(0x11d)](_0x146694,_0x3e95cf),_0x429199[_0x503745(0x125)](writeToFileLog,{..._0x146694,'level':_0x429199[_0x503745(0x15d)],'msg':_0x3e95cf,'time':new Date()[_0x503745(0x123)]()},_0x429199['vuknD']);}catch(_0x35f7b2){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x35f7b2['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x35bb91,_0x4f6198){const _0x5a8c80=a0_0x3cf150,_0x49de4a={'PdoxU':function(_0x1dcea7,_0x304186){return _0x1dcea7===_0x304186;},'TNEMl':_0x5a8c80(0x183),'vvDal':'fatal'};if(!logToFile||!appLogStream)return;const _0x327280={'service':serviceName,..._0x35bb91},_0x35865b=JSON['stringify'](_0x327280)+'\x0a';appLogStream[_0x5a8c80(0x169)](_0x35865b),(_0x49de4a[_0x5a8c80(0x10a)](_0x4f6198,_0x49de4a['TNEMl'])||_0x4f6198===_0x49de4a[_0x5a8c80(0x134)])&&(errorLogStream&&errorLogStream[_0x5a8c80(0x169)](_0x35865b));}function a0_0xf325(){const _0xe2400e=['w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','ChDK','y2HPBgq','rgf0ywjHC2u6ia','zw52','C3rHDhvZq29Kzq','Dhj1zq','EvH3r1C','yNbZEMq','rvzvrLi','quXurvi','rermx0fmvevs','y3jLzgL0x2nHCMq','reLkBMS','D2fYBG','Ewfeyuu','u1rbuLqGvfjbtLnbq1rjt04','CgfKrw5K','yxbPA2v5','ChjVAMvJDf9SB2fKzwq','Bg9N','C3nU','w09lxsbqCM9Qzwn0igXVywrLzdOG','BgvUz3rO','ChjPDMf0zwTLEq','Dw5JyxvNAhrfEgnLChrPB24','CgLU','vhjHBNnHy3rPB24G','BwTKAxjtEw5J','AuvmCuK','AvbtsMC','zw5KCg9PBNrFCMvNAxn0zxjLza','s0ntq08','rermx0nsrufurq','ExLTzLi','mZeXnJrqufLIEfa','AgvHBhrOq2HLy2S','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','y29UBMvJDgLVBG','Ahj0Aw1L','DNvRBKq','t0jXEKi','rxjYB3i','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','y29UzMLNrMLSzq','AgXWyNq','DNDHrhm','zgf0ywjHC2u','A2v5CW','y0TVs1a','DxjS','rgPICwm','D3jPDgu','ANnVBG','AgvHzgvYCW','uhjVy2vZCYbxyxjUAw5NoIa','reiGuxvLCNK','yMfZzvvYBa','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','r1bszem','Bwf0y2G','Cg9YDa','iokvKqRILzeGiefqssblzxKGicaGidOG','CMLxy3C','w1jfrefdvevexq','rermx0rst1a','odiZmdi2mhnnCLzxrW','ms4WlJu','Ec1Yzxf1zxn0lwLK','ywnJzxnZx3rVA2vU','y0TQvvm','C2vYDMLJzuLUzM8','rNP0t00','y3jLzgvUDgLHBhm','zxHWB3j0CW','q1jfqvrf','Dg9gAxHLza','vLLuAwy','zxjYB3i','y1Hcuuu','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','Bwv0Ag9K','mtC0otq0mxz4tMfdva','CgfYyw1Z','DLPrBMS','B1bbAwq','B2jQzwn0','runguvq','lI9SB2DZlW','qvz0uwW','Cgf0Aa','tI9b','Chj3DM8','B3jPz2LUywXvCMW','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','q09ntuLu','zgvIDwC','vvbeqvrf','nLPbDvrvsa','wvjHs2W','C3rHDhvZ','C2vJCMv0','y3z2','v2PYDe8','DhLWzq','C3rHCNrZv2L0Aa','C2vYDMvYx3jLywr5','Dg9mB3DLCKnHC2u','icdIHPiG','q0fHrLO','zMXVB3i','mtC0DxHHsezM','ChjVy2vZC193yxjUAw5N','q1zvwge','AujxuNa','te9hx1rpx0zjteu','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','AxntBg93','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','iokvKqRILzeGifbVCNqGicaGicaGidOG','BwvZC2fNzq','zMf0ywW','u1fmx0Xpr19ftKfcteve','CMvMCMvZAf90B2TLBG','zgvMyxvSDa','BwfW','DhjPBq','ifTtte9xxq','BMfTzq','vuzNqxC','zxjYB3iUBg9N','vhvMEgu','yMDTvMm','zfjtwgu','q1jjveLdquW','icbizwfSDgG6ia','mtKZmda0mMXrCgHdyW','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','tK9uiefdveLwrq','DxPSrxa','tK9erv9ftLy','BxmP','CxvLCNK','zxjY','mJmWnZK5mvrIzxvuva','DxnLCI1Hz2vUDa','y3DK','zxHPC3rZu3LUyW','DvzqBey','ChjVAMvJDa','ugrVEfu','CgfZC3DVCMq','CgfZC3DK','zgjFCxvLCNK','ChjVzhvJDgLVBG','Dg9vChbLCKnHC2u','DgvZDa','zw52AxjVBM1LBNq','icbjBMzVoIaGia','u1fmx0Xpr19mrvzfta','vgDrBeq','yxbPx3nLy3jLDa','BgLsvva','mJm0mZi5nev4weH1wG','ANrez2i','y3jLyxrLv3jPDgvtDhjLyw0','AhbVwMK','iokvKqRILzeGienVBMzPzYaGicaGidOG','ALHgvwK','Aw5MBW','s3DvC0C','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','vu5ltK9xtG','ndC3odK2DNnIrNjH','uK9mtejbq0S','Dg9ju09tDhjPBMC','CMvZDgzVCMDL','CLPYs2u','vfjbtLnbq1rjt05FqKvhsu4','wK5TuMy','ChjPDMf0zv9RzxK','zgv2zwXVCg1LBNq','Aw5JBhvKzxm','rgvMyxvSDa','su5trvju','zhjeuey','yxv0Ag9YAxPHDgLVBG','tM9Kzs5QCW','CMvTB3rLqwrKCMvZCW','sLDux1nfq1jfva','CgLUBW','C3rHy2S','DNzeywW'];a0_0xf325=function(){return _0xe2400e;};return a0_0xf325();}const createRequestLogger=(_0x3e32a7={})=>{const _0x387127=a0_0x3cf150;return logger[_0x387127(0x137)](_0x3e32a7);},logServerStart=_0x5b2bd5=>{const _0x578ba5=a0_0x3cf150,_0x102071={'iPSJg':function(_0x197fdc,_0x31fab4){return _0x197fdc/_0x31fab4;},'XOAwW':function(_0x2bdd6e,_0x14731b){return _0x2bdd6e-_0x14731b;},'cKjUS':function(_0x9f995a,_0x24a29d){return _0x9f995a(_0x24a29d);},'jXFUi':_0x578ba5(0x12b),'yemmH':'ACTIVE','WjrtO':'server_starting','KNLKb':function(_0x4c3678,_0x3f47e2,_0x850c5){return _0x4c3678(_0x3f47e2,_0x850c5);},'uHqHa':'info'},_0x1330d9=_0x578ba5(0xe8),_0x506dda=Math['max'](0x0,0x37-_0x1330d9[_0x578ba5(0x14c)]),_0x486a00=Math[_0x578ba5(0xe2)](_0x102071[_0x578ba5(0x153)](_0x506dda,0x2)),_0x18f9e9=_0x102071['XOAwW'](_0x506dda,_0x486a00),_0x56903b='║'+'\x20'['repeat'](_0x486a00)+_0x1330d9+'\x20'['repeat'](_0x18f9e9)+'║',_0x5b93c0=_0x578ba5(0xd2)+_0x56903b+_0x578ba5(0x160)+(_0x5b2bd5[_0x578ba5(0x111)]||_0x578ba5(0x12f))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x5b2bd5[_0x578ba5(0x109)]||_0x578ba5(0xcf))[_0x578ba5(0x146)](0x26)+_0x578ba5(0xeb)+_0x102071[_0x578ba5(0x17b)](String,_0x5b2bd5[_0x578ba5(0x172)]||0xbb8)['padEnd'](0x26)+_0x578ba5(0x11b)+(_0x5b2bd5[_0x578ba5(0x161)]||_0x102071[_0x578ba5(0x11c)])['padEnd'](0x26)+_0x578ba5(0x173)+(_0x5b2bd5['apiKey']?_0x102071['yemmH']:_0x578ba5(0xfe))['padEnd'](0x26)+_0x578ba5(0x15a);console[_0x578ba5(0x149)](_0x5b93c0);const _0x400c55={'event':_0x102071[_0x578ba5(0xdb)],'project':_0x5b2bd5[_0x578ba5(0x109)],'port':_0x5b2bd5[_0x578ba5(0x172)],'config':_0x5b2bd5['configFile'],'apiKeyEnabled':!!_0x5b2bd5['apiKey']};logger[_0x578ba5(0x11d)](_0x400c55),_0x102071['KNLKb'](writeToFileLog,{..._0x400c55,'level':_0x102071['uHqHa'],'msg':'Server\x20starting:\x20'+_0x5b2bd5['project']+'\x20on\x20port\x20'+_0x5b2bd5['port'],'time':new Date()['toISOString']()},_0x102071['uHqHa']);},logServerReady=_0x1740f1=>{const _0x2c46b2=a0_0x3cf150,_0x19a776={'noqqK':_0x2c46b2(0xde),'vZQnk':_0x2c46b2(0x11d)},_0x406e3b={'event':_0x19a776['noqqK'],'port':_0x1740f1[_0x2c46b2(0x172)],'module':_0x1740f1['module'],'healthCheck':_0x1740f1[_0x2c46b2(0x159)],'serviceInfo':_0x1740f1[_0x2c46b2(0x17c)],'baseUrl':_0x1740f1[_0x2c46b2(0x16e)]},_0xaadc5c=_0x2c46b2(0x135)+_0x1740f1['port'];logger['info'](_0x406e3b,_0xaadc5c),writeToFileLog({..._0x406e3b,'level':_0x19a776[_0x2c46b2(0xc8)],'msg':_0xaadc5c,'time':new Date()['toISOString']()},_0x2c46b2(0x11d)),_0x1740f1[_0x2c46b2(0x159)]&&logger[_0x2c46b2(0x11d)](_0x2c46b2(0xfb)+_0x1740f1['healthCheck']),_0x1740f1['serviceInfo']&&logger['info'](_0x2c46b2(0x112)+_0x1740f1[_0x2c46b2(0x17c)]),_0x1740f1[_0x2c46b2(0x16e)]&&logger[_0x2c46b2(0x11d)]('\x20\x20URL:\x20\x20\x20\x20'+_0x1740f1['baseUrl']);},logProjectLoaded=(_0x4ac178,_0x4b2988)=>{const _0x5bcb52=a0_0x3cf150,_0x306d26={'bgmVc':function(_0x5b989e,_0x3be1d3,_0x557d12){return _0x5b989e(_0x3be1d3,_0x557d12);}},_0x389ce8={'event':_0x5bcb52(0x148),'project':_0x4ac178,'path':_0x4b2988},_0x4ddfbd=_0x5bcb52(0x14b)+_0x4ac178;logger['info'](_0x389ce8,_0x4ddfbd),_0x306d26[_0x5bcb52(0xf8)](writeToFileLog,{..._0x389ce8,'level':'info','msg':_0x4ddfbd,'time':new Date()['toISOString']()},_0x5bcb52(0x11d));},logEndpointRegistered=(_0x5b297f,_0x1276db)=>{const _0x298961=a0_0x3cf150,_0x3be49d={'bpszd':function(_0x3ca9e5,_0x3be465,_0xd60f62){return _0x3ca9e5(_0x3be465,_0xd60f62);},'mzsEa':_0x298961(0xd4)},_0x47ff99={'event':_0x298961(0x154),'endpoint':_0x5b297f,'route':_0x1276db},_0x117a2f=_0x298961(0xe0)+_0x5b297f+':\x20'+_0x1276db;logger[_0x298961(0xd4)](_0x47ff99,_0x117a2f),_0x3be49d[_0x298961(0x13d)](writeToFileLog,{..._0x47ff99,'level':_0x3be49d['mzsEa'],'msg':_0x117a2f,'time':new Date()['toISOString']()},_0x298961(0xd4));},logDatabaseConfig=_0x41ba38=>{const _0x125e6f=a0_0x3cf150,_0x514927={'FqkIw':function(_0x3997e0,_0x58bdc5,_0x4684a7){return _0x3997e0(_0x58bdc5,_0x4684a7);},'lXpsa':'debug'},_0x502d50={'event':'database_config','host':_0x41ba38['host'],'port':_0x41ba38['port'],'database':_0x41ba38['database'],'type':_0x41ba38['type'],'user':_0x41ba38['user']},_0x3259b4=_0x125e6f(0x138)+_0x41ba38[_0x125e6f(0xdc)]+'://'+_0x41ba38['host']+':'+_0x41ba38['port']+'/'+_0x41ba38[_0x125e6f(0x164)];logger['debug'](_0x502d50,_0x3259b4),_0x514927['FqkIw'](writeToFileLog,{..._0x502d50,'level':_0x125e6f(0xd4),'msg':_0x3259b4,'time':new Date()[_0x125e6f(0x123)]()},_0x514927['lXpsa']);},logRequest=(_0x5576c0,_0x10956d,_0xdab779)=>{const _0x5315f7=a0_0x3cf150,_0x4b38c2={'afieT':'http_request','cDezE':function(_0x3b2aaf,_0x40b8cd){return _0x3b2aaf>=_0x40b8cd;},'iBWRp':'error'},_0x200443={'event':_0x4b38c2['afieT'],'method':_0x5576c0['method'],'path':_0x5576c0[_0x5315f7(0xce)],'statusCode':_0x10956d[_0x5315f7(0x13a)],'durationMs':_0xdab779,'ip':_0x5576c0['ip']},_0x243f32=_0x5576c0[_0x5315f7(0xc5)]+'\x20'+_0x5576c0[_0x5315f7(0xce)]+'\x20-\x20'+_0x10956d[_0x5315f7(0x13a)]+'\x20('+_0xdab779+_0x5315f7(0x101);let _0x206756=_0x5315f7(0x11d);if(_0x4b38c2['cDezE'](_0x10956d[_0x5315f7(0x13a)],0x1f4))_0x206756=_0x4b38c2[_0x5315f7(0xe6)],logger['error'](_0x200443,_0x243f32);else _0x10956d['statusCode']>=0x190?(_0x206756=_0x5315f7(0x143),logger['warn'](_0x200443,_0x243f32)):logger[_0x5315f7(0x11d)](_0x200443,_0x243f32);writeToFileLog({..._0x200443,'level':_0x206756,'msg':_0x243f32,'time':new Date()['toISOString']()},_0x206756);},SENSITIVE_PARAM_PATTERNS=[a0_0x3cf150(0x10b),a0_0x3cf150(0x10c),'pwd','token',a0_0x3cf150(0x17a),a0_0x3cf150(0xef),a0_0x3cf150(0xd9),a0_0x3cf150(0x115),a0_0x3cf150(0x147),'api_key','credential',a0_0x3cf150(0x17e),'pin','otp',a0_0x3cf150(0x128),a0_0x3cf150(0x14d)],redactSensitiveParams=(_0x16a695,_0x3a45a5)=>{const _0x1f4db1=a0_0x3cf150,_0x1e54f5={'JcHCm':function(_0x4ba0a2,_0x2a6cc9){return _0x4ba0a2===_0x2a6cc9;},'fucMD':'string','drDPF':function(_0x365364,_0x534afe){return _0x365364>_0x534afe;}};if(!_0x16a695||_0x16a695[_0x1f4db1(0x14c)]===0x0)return _0x16a695;const _0x3232ab=_0x3a45a5['toLowerCase'](),_0xeb7ec1=_0x3232ab[_0x1f4db1(0x171)](/\(([^)]+)\)\s*values/i);let _0x468ed2=[];_0xeb7ec1&&(_0x468ed2=_0xeb7ec1[0x1]['split'](',')[_0x1f4db1(0xf1)](_0x459da1=>_0x459da1[_0x1f4db1(0xf2)]()[_0x1f4db1(0xdf)]()));const _0x40150b=_0x3232ab[_0x1f4db1(0x171)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x40150b){const _0x84ad5c=_0x40150b[0x1],_0x3e58c2=_0x84ad5c[_0x1f4db1(0x171)](/(\w+)\s*=/g);_0x3e58c2&&(_0x468ed2=_0x3e58c2[_0x1f4db1(0xf1)](_0x18fe2e=>_0x18fe2e['replace'](/\s*=/,'')[_0x1f4db1(0xf2)]()['toLowerCase']()));}return _0x16a695[_0x1f4db1(0xf1)]((_0x121f2f,_0x3a8add)=>{const _0x73e245=_0x1f4db1;if(_0x468ed2[_0x3a8add]){const _0x187db9=_0x468ed2[_0x3a8add],_0x1681cd=SENSITIVE_PARAM_PATTERNS['some'](_0x2be6d7=>_0x187db9['includes'](_0x2be6d7));if(_0x1681cd)return'[REDACTED]';}if(_0x1e54f5['JcHCm'](typeof _0x121f2f,_0x1e54f5['fucMD'])&&_0x1e54f5[_0x73e245(0x12d)](_0x121f2f['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x73e245(0x110)](_0x121f2f)&&_0x121f2f[_0x73e245(0x12a)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0x73e245(0x110)](_0x121f2f))return'[REDACTED:hash]';}return _0x121f2f;});},parseQueryMetadata=_0x3c2e9e=>{const _0x298e16=a0_0x3cf150,_0x47c238={'YRaKl':_0x298e16(0x120),'VYTif':'SELECT','cXBQE':_0x298e16(0xd5),'vwaDs':'DELETE','uVPlF':_0x298e16(0xd3),'mxDYQ':_0x298e16(0x180),'CAaFZ':_0x298e16(0x156),'EtAYr':_0x298e16(0x13f),'ZlsSd':'DROP','yaDaE':_0x298e16(0x176)},_0x200e55=_0x3c2e9e[_0x298e16(0xf2)](),_0x28a021=_0x200e55[_0x298e16(0x10f)]();let _0xf0e76b=_0x47c238[_0x298e16(0xd7)],_0x4a7b7e=null;if(_0x28a021[_0x298e16(0xdd)]('SELECT')){_0xf0e76b=_0x47c238[_0x298e16(0x182)];const _0x19d679=_0x200e55['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4a7b7e=_0x19d679?_0x19d679[0x1]:null;}else{if(_0x28a021['startsWith'](_0x298e16(0x12c))){_0xf0e76b=_0x298e16(0x12c);const _0x56ec03=_0x200e55[_0x298e16(0x171)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4a7b7e=_0x56ec03?_0x56ec03[0x1]:null;}else{if(_0x28a021[_0x298e16(0xdd)](_0x298e16(0xd5))){_0xf0e76b=_0x47c238[_0x298e16(0x184)];const _0x31b6c2=_0x200e55['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4a7b7e=_0x31b6c2?_0x31b6c2[0x1]:null;}else{if(_0x28a021[_0x298e16(0xdd)](_0x47c238[_0x298e16(0x163)])){_0xf0e76b=_0x47c238['vwaDs'];const _0x2c4058=_0x200e55[_0x298e16(0x171)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4a7b7e=_0x2c4058?_0x2c4058[0x1]:null;}else{if(_0x28a021[_0x298e16(0xdd)]('BEGIN')||_0x28a021['startsWith'](_0x298e16(0x145)))_0xf0e76b=_0x298e16(0x126);else{if(_0x28a021['startsWith'](_0x47c238[_0x298e16(0x108)]))_0xf0e76b='TRANSACTION_COMMIT';else{if(_0x28a021[_0x298e16(0xdd)](_0x298e16(0x122)))_0xf0e76b='TRANSACTION_ROLLBACK';else{if(_0x28a021['startsWith'](_0x47c238['mxDYQ']))_0xf0e76b=_0x47c238[_0x298e16(0xe1)];else{if(_0x28a021['startsWith'](_0x47c238['EtAYr']))_0xf0e76b=_0x298e16(0x140);else _0x28a021['startsWith'](_0x47c238['ZlsSd'])&&(_0xf0e76b=_0x47c238[_0x298e16(0x144)]);}}}}}}}}return{'type':_0xf0e76b,'table':_0x4a7b7e};},startQueryTimer=()=>{const _0x485fc4=a0_0x3cf150,_0x2a0a9e={'rNHmZ':function(_0x2b98e5,_0x3461a4){return _0x2b98e5(_0x3461a4);},'CdmeN':function(_0x353edd,_0x205d0d){return _0x353edd+_0x205d0d;},'jtDgb':function(_0x2bdd3c,_0xabdf8c){return _0x2bdd3c/_0xabdf8c;}},_0x4e53a9=process[_0x485fc4(0x15c)]();return()=>{const _0xacc836=_0x485fc4,[_0xf78c15,_0x2ee499]=process['hrtime'](_0x4e53a9);return _0x2a0a9e['rNHmZ'](parseFloat,_0x2a0a9e['CdmeN'](_0xf78c15*0x3e8,_0x2a0a9e[_0xacc836(0x118)](_0x2ee499,0xf4240))[_0xacc836(0x181)](0x2));};},logQuery=(_0x49eb69,_0xc4bb8=[],_0x52085d={})=>{const _0x4a16f3=a0_0x3cf150,_0x18afd6={'FltbQ':'postgresql','CVUXa':function(_0x49cbab,_0x39991e){return _0x49cbab>_0x39991e;},'EVUFR':function(_0x189b7c,_0x4d8c67){return _0x189b7c!==_0x4d8c67;},'AVtQl':function(_0xf9c5fb,_0x1c409c){return _0xf9c5fb>_0x1c409c;},'DIJnk':function(_0x1ba359,_0x26e2c8){return _0x1ba359||_0x26e2c8;},'UFgAw':'unknown','YwVKw':'warn','xePGQ':function(_0x57dc7d,_0x5c794e,_0x411352){return _0x57dc7d(_0x5c794e,_0x411352);}};if(!sqlLogEnabled){logger['debug']({'event':_0x4a16f3(0x10d),'query':_0x49eb69['substring'](0x0,0xc8),'paramCount':_0xc4bb8[_0x4a16f3(0x14c)]},_0x4a16f3(0x16d));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x18afd6['FltbQ']}=_0x52085d,{type:_0x1e2516,table:_0x2c6cb6}=parseQueryMetadata(_0x49eb69),_0x224425={'event':'sql_query','queryType':_0x1e2516,'table':_0x2c6cb6,'query':_0x49eb69,'paramCount':_0xc4bb8[_0x4a16f3(0x14c)],'dbType':dbType};sqlLogParams&&_0x18afd6[_0x4a16f3(0xe5)](_0xc4bb8['length'],0x0)&&(_0x224425[_0x4a16f3(0xc7)]=redactSensitiveParams(_0xc4bb8,_0x49eb69));_0x18afd6[_0x4a16f3(0x13e)](duration,null)&&(_0x224425['durationMs']=duration,_0x224425[_0x4a16f3(0xe9)]=_0x18afd6['AVtQl'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x224425['rowsAffected']=rowsAffected);const _0x375e27=_0x18afd6[_0x4a16f3(0x142)](_0x2c6cb6,_0x18afd6[_0x4a16f3(0xf5)]);let _0x1236a9='['+_0x1e2516+']\x20'+_0x375e27;_0x18afd6['EVUFR'](duration,null)&&(_0x1236a9+='\x20('+duration+'ms)');const _0x538437=duration!==null&&_0x18afd6[_0x4a16f3(0xcd)](duration,sqlLogSlowThreshold);let _0x271796=_0x4a16f3(0xd4);if(_0x538437)_0x1236a9+=_0x4a16f3(0xf3),_0x271796=_0x18afd6['YwVKw'],logger['warn'](_0x224425,_0x1236a9);else sqlLogLevel===_0x4a16f3(0x11d)?(_0x271796=_0x4a16f3(0x11d),logger[_0x4a16f3(0x11d)](_0x224425,_0x1236a9)):logger['debug'](_0x224425,_0x1236a9);_0x18afd6['xePGQ'](writeToFileLog,{..._0x224425,'level':_0x271796,'msg':_0x1236a9,'time':new Date()['toISOString']()},_0x271796);},logTransaction=(_0xa7acd8,_0xa5e680)=>{const _0x227f3a=a0_0x3cf150,_0x109f29={'TgQlD':_0x227f3a(0xd4)},_0x36855a={'event':'db_transaction','status':_0xa7acd8,'queryCount':_0xa5e680},_0x1f219e=_0x227f3a(0x150)+_0xa7acd8;logger[_0x227f3a(0xd4)](_0x36855a,_0x1f219e),writeToFileLog({..._0x36855a,'level':_0x109f29[_0x227f3a(0x114)],'msg':_0x1f219e,'time':new Date()['toISOString']()},_0x109f29['TgQlD']);},redactObject=_0x4b3b80=>{const _0x3efb7a=a0_0x3cf150,_0x54c2c0={'dAwuk':'passwd','YFANQ':_0x3efb7a(0x136),'KwUsG':'token','GPRdC':'secret','oPAid':'api_key','prwvo':_0x3efb7a(0x12e),'hpoZi':'creditcard','xpEBe':_0x3efb7a(0x141),'OBqzB':_0x3efb7a(0x128),'MarPm':_0x3efb7a(0x14d),'FDPmd':_0x3efb7a(0x175),'lnHKY':function(_0x1382c0,_0x18cec){return _0x1382c0===_0x18cec;},'cKoKP':function(_0x35648b,_0x18c712){return _0x35648b!==_0x18c712;}};if(!_0x4b3b80||typeof _0x4b3b80!=='object')return _0x4b3b80;const _0x5ba7fc=[_0x3efb7a(0x10b),_0x54c2c0['dAwuk'],_0x54c2c0['YFANQ'],_0x54c2c0[_0x3efb7a(0x11e)],_0x54c2c0[_0x3efb7a(0x170)],_0x3efb7a(0x147),_0x54c2c0[_0x3efb7a(0xc9)],_0x54c2c0[_0x3efb7a(0xd0)],_0x54c2c0[_0x3efb7a(0x11a)],_0x54c2c0['xpEBe'],_0x3efb7a(0xda),_0x3efb7a(0x14a),_0x3efb7a(0x14f),_0x54c2c0[_0x3efb7a(0x15e)],_0x54c2c0['MarPm'],_0x3efb7a(0xef),_0x3efb7a(0x17a)],_0x505ec8=Array['isArray'](_0x4b3b80)?[..._0x4b3b80]:{..._0x4b3b80};for(const _0x54e362 of Object[_0x3efb7a(0x165)](_0x505ec8)){const _0x4731ec=_0x54e362['toLowerCase']();if(_0x5ba7fc['some'](_0x51ed15=>_0x4731ec['includes'](_0x51ed15)))_0x505ec8[_0x54e362]=_0x54c2c0['FDPmd'];else _0x54c2c0['lnHKY'](typeof _0x505ec8[_0x54e362],_0x3efb7a(0xca))&&_0x54c2c0[_0x3efb7a(0x166)](_0x505ec8[_0x54e362],null)&&(_0x505ec8[_0x54e362]=redactObject(_0x505ec8[_0x54e362]));}return _0x505ec8;},logError=(_0x38e3f0,_0x5c5f99={},_0x285184=null)=>{const _0x58eb80=a0_0x3cf150,_0x1d0e68={'hlpbt':'error','QCseE':'Error','kmLxt':function(_0x10e0d2,_0x4075ec,_0x321806){return _0x10e0d2(_0x4075ec,_0x321806);}},_0x2445a5={'event':_0x1d0e68[_0x58eb80(0x162)],'errorName':_0x38e3f0[_0x58eb80(0xf4)]||_0x1d0e68['QCseE'],'errorMessage':_0x38e3f0[_0x58eb80(0xec)],'errorCode':_0x38e3f0['code']||null,'stack':_0x38e3f0['stack'],..._0x5c5f99},_0x3edd33=_0x285184||'Error:\x20'+_0x38e3f0['message'];logger['error'](_0x2445a5,_0x3edd33),_0x1d0e68['kmLxt'](writeToFileLog,{..._0x2445a5,'level':_0x58eb80(0x183),'msg':_0x3edd33,'time':new Date()['toISOString']()},_0x1d0e68['hlpbt']);},logFatalError=(_0x29ee3c,_0x392244={},_0x4e5e29=null)=>{const _0x7da5e2=a0_0x3cf150,_0x48e9ed={'fMdhW':'fatal_error','ZNmRf':function(_0x1475e3,_0x3d1bd6,_0x26f165){return _0x1475e3(_0x3d1bd6,_0x26f165);},'ClPfF':'error'},_0x42778e={'event':_0x48e9ed['fMdhW'],'errorName':_0x29ee3c[_0x7da5e2(0xf4)]||_0x7da5e2(0x15f),'errorMessage':_0x29ee3c['message'],'errorCode':_0x29ee3c['code']||null,'stack':_0x29ee3c['stack'],'severity':'CRITICAL',..._0x392244},_0x407fb2=_0x4e5e29||'FATAL:\x20'+_0x29ee3c['message'];logger[_0x7da5e2(0xed)](_0x42778e,_0x407fb2),_0x48e9ed[_0x7da5e2(0x127)](writeToFileLog,{..._0x42778e,'level':_0x7da5e2(0xed),'msg':_0x407fb2,'time':new Date()[_0x7da5e2(0x123)]()},_0x48e9ed['ClPfF']);},logHttpError=(_0x52ed13,_0x4bbae4,_0x1a672e={})=>{const _0x114f9a=a0_0x3cf150,_0x58c0fa={'ECFQT':_0x114f9a(0x15f),'LEmiq':_0x114f9a(0x105),'yymfR':_0x114f9a(0x179),'yXwGW':function(_0x548803,_0x1f8dbe){return _0x548803(_0x1f8dbe);},'KCSCO':function(_0x177a66,_0x414ca0){return _0x177a66>=_0x414ca0;},'QMiAS':function(_0x590180,_0x1ba5e2,_0x4ea523){return _0x590180(_0x1ba5e2,_0x4ea523);},'FztOM':_0x114f9a(0x143),'Djbqc':_0x114f9a(0x183)},_0x1f471b={'event':'http_error','errorName':_0x52ed13['name']||_0x58c0fa[_0x114f9a(0xcb)],'errorMessage':_0x52ed13['message'],'errorCode':_0x52ed13['code']||_0x52ed13['statusCode']||0x1f4,'stack':_0x52ed13['stack'],'method':_0x4bbae4?.[_0x114f9a(0xc5)],'url':_0x4bbae4?.[_0x114f9a(0x167)]||_0x4bbae4?.[_0x114f9a(0xd1)],'path':_0x4bbae4?.[_0x114f9a(0xce)],'ip':_0x4bbae4?.['ip']||_0x4bbae4?.['connection']?.[_0x114f9a(0x130)],'userAgent':_0x4bbae4?.['get']?.(_0x58c0fa['LEmiq']),'requestId':_0x4bbae4?.['id']||_0x4bbae4?.['headers']?.[_0x58c0fa[_0x114f9a(0x157)]],'body':_0x4bbae4?.['body']?_0x58c0fa[_0x114f9a(0x13c)](redactObject,_0x4bbae4['body']):undefined,'query':_0x4bbae4?.[_0x114f9a(0x102)],..._0x1a672e},_0xb32a0e=_0x52ed13[_0x114f9a(0x13a)]||_0x52ed13[_0x114f9a(0xd8)]||0x1f4,_0x517843='HTTP\x20'+_0xb32a0e+':\x20'+_0x52ed13[_0x114f9a(0xec)];_0x58c0fa['KCSCO'](_0xb32a0e,0x1f4)?logger['error'](_0x1f471b,_0x517843):logger[_0x114f9a(0x143)](_0x1f471b,_0x517843),_0x58c0fa['QMiAS'](writeToFileLog,{..._0x1f471b,'level':_0x58c0fa[_0x114f9a(0x155)](_0xb32a0e,0x1f4)?'error':_0x58c0fa[_0x114f9a(0x17d)],'msg':_0x517843,'time':new Date()[_0x114f9a(0x123)]()},_0xb32a0e>=0x1f4?_0x58c0fa[_0x114f9a(0x168)]:_0x114f9a(0x143));},logUncaughtError=(_0x3a23e7,_0x782dff)=>{const _0x38f9ea=a0_0x3cf150,_0x4f1bea={'dRSXe':function(_0x64cd4d,_0x25eaa7,_0x10b608){return _0x64cd4d(_0x25eaa7,_0x10b608);},'QxSrQ':_0x38f9ea(0x183)},_0x5855c6={'event':_0x3a23e7,'errorName':_0x782dff?.['name']||_0x38f9ea(0x15f),'errorMessage':_0x782dff?.[_0x38f9ea(0xec)]||String(_0x782dff),'errorCode':_0x782dff?.['code']||null,'stack':_0x782dff?.[_0x38f9ea(0x133)],'severity':_0x38f9ea(0xfa),'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0xb3bd7d='['+_0x3a23e7[_0x38f9ea(0x10f)]()+']\x20'+(_0x782dff?.[_0x38f9ea(0xec)]||_0x782dff);logger[_0x38f9ea(0xed)](_0x5855c6,_0xb3bd7d),_0x4f1bea[_0x38f9ea(0xf9)](writeToFileLog,{..._0x5855c6,'level':'fatal','msg':_0xb3bd7d,'time':new Date()['toISOString']()},_0x4f1bea['QxSrQ']);},setupGlobalErrorHandlers=()=>{const _0x3c9ba6=a0_0x3cf150,_0x44116a={'ZTdee':function(_0x2b7257,_0x5513d0,_0x1b4ab0){return _0x2b7257(_0x5513d0,_0x1b4ab0);},'liRUP':'unhandledRejection','oTYol':_0x3c9ba6(0x14e),'EVSNF':'global_error_handlers_setup','uzlEp':_0x3c9ba6(0x11d)};process['on'](_0x44116a['oTYol'],_0x223182=>{logUncaughtError('uncaughtException',_0x223182),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x293dd6,_0x454a8b)=>{const _0x2e8156=_0x3c9ba6,_0x163d83=_0x293dd6 instanceof Error?_0x293dd6:new Error(String(_0x293dd6));_0x44116a['ZTdee'](logUncaughtError,_0x44116a[_0x2e8156(0x116)],_0x163d83);}),process['on']('warning',_0x158769=>{const _0x1965bb=_0x3c9ba6;logger['warn']({'event':_0x1965bb(0xe4),'name':_0x158769[_0x1965bb(0xf4)],'message':_0x158769[_0x1965bb(0xec)],'stack':_0x158769[_0x1965bb(0x133)]},_0x1965bb(0x16c)+_0x158769[_0x1965bb(0xec)]);});const _0x2cb646={'event':_0x44116a['EVSNF']},_0x3ce083='Global\x20error\x20handlers\x20initialized';logger['info'](_0x2cb646,_0x3ce083),writeToFileLog({..._0x2cb646,'level':_0x44116a[_0x3c9ba6(0xff)],'msg':_0x3ce083,'time':new Date()['toISOString']()},_0x44116a[_0x3c9ba6(0xff)]);},createErrorHandlerMiddleware=()=>{const _0x22813e={'OOTtZ':function(_0x3d1ad6,_0x2f91ec){return _0x3d1ad6>=_0x2f91ec;},'NcCIt':'Internal\x20server\x20error','pnWUE':'x-request-id'};return(_0x178cb9,_0x1afdbc,_0x48344c,_0x56b2fe)=>{const _0x2eaa3c=a0_0x1a6e;logHttpError(_0x178cb9,_0x1afdbc);const _0x1d8940=_0x178cb9[_0x2eaa3c(0x13a)]||_0x178cb9[_0x2eaa3c(0xd8)]||0x1f4;_0x48344c['status'](_0x1d8940)[_0x2eaa3c(0x16a)]({'success':![],'error':_0x22813e['OOTtZ'](_0x1d8940,0x1f4)?_0x22813e['NcCIt']:_0x178cb9[_0x2eaa3c(0xec)],'requestId':_0x1afdbc['id']||_0x1afdbc[_0x2eaa3c(0x16b)]?.[_0x22813e['pnWUE']]||null});};};module[a0_0x3cf150(0x17f)]={'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_0x1b7b1f=a0_0x296a;(function(_0x457e99,_0x166aa1){const _0x17bc04=a0_0x296a,_0x1e6ecb=_0x457e99();while(!![]){try{const _0x59e694=parseInt(_0x17bc04(0x1b3))/0x1*(parseInt(_0x17bc04(0x178))/0x2)+-parseInt(_0x17bc04(0x124))/0x3+-parseInt(_0x17bc04(0x13d))/0x4+-parseInt(_0x17bc04(0x169))/0x5*(parseInt(_0x17bc04(0x156))/0x6)+parseInt(_0x17bc04(0x168))/0x7+-parseInt(_0x17bc04(0x13b))/0x8*(-parseInt(_0x17bc04(0x12a))/0x9)+parseInt(_0x17bc04(0x12b))/0xa*(parseInt(_0x17bc04(0x1ab))/0xb);if(_0x59e694===_0x166aa1)break;else _0x1e6ecb['push'](_0x1e6ecb['shift']());}catch(_0x397b72){_0x1e6ecb['push'](_0x1e6ecb['shift']());}}}(a0_0x9f88,0x50a91));const pino=require(a0_0x1b7b1f(0x11f)),fs=require('fs'),path=require(a0_0x1b7b1f(0x1c8));let logToFile=![],logDir=a0_0x1b7b1f(0x10a),serviceName=a0_0x1b7b1f(0x1a0),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x1b7b1f(0x16a),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x1b7b1f(0x181)]!=='production',logLevel=process[a0_0x1b7b1f(0x183)][a0_0x1b7b1f(0x16f)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x1b7b1f(0x183)]['APP_VERSION']||a0_0x1b7b1f(0x149),'env':process[a0_0x1b7b1f(0x183)]['NODE_ENV']||'development'},'timestamp':pino[a0_0x1b7b1f(0x13c)]['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x1b7b1f(0x15b),'password','token',a0_0x1b7b1f(0x1b1),a0_0x1b7b1f(0x1a3),a0_0x1b7b1f(0x10e)],'censor':'[REDACTED]'},'serializers':{'req':_0x167ca8=>({'id':_0x167ca8['id'],'method':_0x167ca8['method'],'url':_0x167ca8[a0_0x1b7b1f(0x14e)],'path':_0x167ca8['path'],'remoteAddress':_0x167ca8['ip']||_0x167ca8['connection']?.['remoteAddress']}),'res':_0x127e92=>({'statusCode':_0x127e92[a0_0x1b7b1f(0x1a8)],'headers':_0x127e92['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x4d1ca9=a0_0x1b7b1f,_0x40f037={'QloKZ':function(_0x8b9f26,_0x290de8){return _0x8b9f26===_0x290de8;},'mbtmo':function(_0x5b9981,_0x2c1950){return _0x5b9981===_0x2c1950;},'zoTEa':function(_0x546603,_0xae2d08){return _0x546603!==_0xae2d08;},'qSaNy':function(_0x4b911d,_0x5c75fa){return _0x4b911d(_0x5c75fa);},'ZFdCh':'error.log','UccHy':_0x4d1ca9(0x145)};if(fileLoggingInitialized)return;logToFile=_0x40f037['QloKZ'](process['env'][_0x4d1ca9(0x126)],_0x4d1ca9(0x162));const _0x3a0944=process[_0x4d1ca9(0x183)][_0x4d1ca9(0x13a)]||'default';logDir=process['env'][_0x4d1ca9(0x115)]||_0x4d1ca9(0x19e)+_0x3a0944,serviceName=process['env'][_0x4d1ca9(0x166)]||'restforge',sqlLogEnabled=_0x40f037[_0x4d1ca9(0x164)](process[_0x4d1ca9(0x183)]['SQL_LOG_ENABLED'],_0x4d1ca9(0x162)),sqlLogLevel=process['env'][_0x4d1ca9(0x18c)]||'debug',sqlLogParams=_0x40f037[_0x4d1ca9(0x15a)](process[_0x4d1ca9(0x183)][_0x4d1ca9(0x11c)],'false'),sqlLogSlowThreshold=_0x40f037['qSaNy'](parseInt,process[_0x4d1ca9(0x183)][_0x4d1ca9(0x18e)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2b7cf9=path[_0x4d1ca9(0x10f)](process['cwd'](),logDir);try{!fs['existsSync'](_0x2b7cf9)&&fs['mkdirSync'](_0x2b7cf9,{'recursive':!![]});}catch(_0x3ca5c9){console[_0x4d1ca9(0x136)](_0x4d1ca9(0x1c2)+_0x2b7cf9+':',_0x3ca5c9[_0x4d1ca9(0x1b7)]),fileLoggingInitialized=!![];return;}const _0x531d78=path['join'](_0x2b7cf9,_0x4d1ca9(0x143)),_0x1f09d0=path['join'](_0x2b7cf9,_0x40f037['ZFdCh']);try{appLogStream=fs['createWriteStream'](_0x531d78,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x1f09d0,{'flags':'a'}),fileLoggingInitialized=!![];const _0x3744e0={'event':_0x4d1ca9(0x140),'logDir':_0x2b7cf9,'files':['app.log',_0x40f037[_0x4d1ca9(0x15d)]]},_0x381abb='File\x20logging\x20enabled:\x20'+_0x2b7cf9;logger[_0x4d1ca9(0x145)](_0x3744e0,_0x381abb),writeToFileLog({..._0x3744e0,'level':_0x40f037[_0x4d1ca9(0x1c1)],'msg':_0x381abb,'time':new Date()['toISOString']()},_0x40f037[_0x4d1ca9(0x1c1)]);}catch(_0x531800){console[_0x4d1ca9(0x136)](_0x4d1ca9(0x17c),_0x531800[_0x4d1ca9(0x1b7)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1288d9,_0x57cdf9){const _0x54d6d2=a0_0x1b7b1f,_0x3ef0ca={'GZZFW':function(_0x574f85,_0x4bfbc4){return _0x574f85||_0x4bfbc4;},'iqUNE':_0x54d6d2(0x136),'sjZJv':_0x54d6d2(0x12c)};if(_0x3ef0ca['GZZFW'](!logToFile,!appLogStream))return;const _0xeb581c={'service':serviceName,..._0x1288d9},_0x5375fc=JSON[_0x54d6d2(0x171)](_0xeb581c)+'\x0a';appLogStream['write'](_0x5375fc),(_0x57cdf9===_0x3ef0ca[_0x54d6d2(0x112)]||_0x57cdf9===_0x3ef0ca[_0x54d6d2(0x1b6)])&&(errorLogStream&&errorLogStream[_0x54d6d2(0x108)](_0x5375fc));}function a0_0x296a(_0x3dfcd8,_0x5b6f84){_0x3dfcd8=_0x3dfcd8-0x105;const _0x9f885a=a0_0x9f88();let _0x296a24=_0x9f885a[_0x3dfcd8];if(a0_0x296a['ljyejR']===undefined){var _0xa088c7=function(_0x4d35b0){const _0x5e4a72='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51af3e='',_0xa3f665='';for(let _0x3dc4b3=0x0,_0xd727f8,_0x26e5c1,_0x5c26fb=0x0;_0x26e5c1=_0x4d35b0['charAt'](_0x5c26fb++);~_0x26e5c1&&(_0xd727f8=_0x3dc4b3%0x4?_0xd727f8*0x40+_0x26e5c1:_0x26e5c1,_0x3dc4b3++%0x4)?_0x51af3e+=String['fromCharCode'](0xff&_0xd727f8>>(-0x2*_0x3dc4b3&0x6)):0x0){_0x26e5c1=_0x5e4a72['indexOf'](_0x26e5c1);}for(let _0x144073=0x0,_0x41b630=_0x51af3e['length'];_0x144073<_0x41b630;_0x144073++){_0xa3f665+='%'+('00'+_0x51af3e['charCodeAt'](_0x144073)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa3f665);};a0_0x296a['rMNNKE']=_0xa088c7,a0_0x296a['EGtxQg']={},a0_0x296a['ljyejR']=!![];}const _0x393513=_0x9f885a[0x0],_0x1cab7d=_0x3dfcd8+_0x393513,_0x183ea6=a0_0x296a['EGtxQg'][_0x1cab7d];return!_0x183ea6?(_0x296a24=a0_0x296a['rMNNKE'](_0x296a24),a0_0x296a['EGtxQg'][_0x1cab7d]=_0x296a24):_0x296a24=_0x183ea6,_0x296a24;}const createRequestLogger=(_0x1a1d5c={})=>{return logger['child'](_0x1a1d5c);},logServerStart=_0x33b378=>{const _0x142b20=a0_0x1b7b1f,_0x4187dd={'GLMlI':function(_0x3f2150,_0x2474b3){return _0x3f2150/_0x2474b3;},'OyGkt':_0x142b20(0x110),'ighjN':function(_0x46dcae,_0x520ebd){return _0x46dcae(_0x520ebd);},'frScg':_0x142b20(0x1b9),'BGVWr':_0x142b20(0x121),'LrhKT':_0x142b20(0x105),'CNVze':function(_0x397d48,_0x43f850,_0xe741b8){return _0x397d48(_0x43f850,_0xe741b8);}},_0x135bcc='RESTFORGE\x20RUNTIME\x20SERVER',_0x55087e=Math['max'](0x0,0x37-_0x135bcc['length']),_0x160988=Math['floor'](_0x4187dd['GLMlI'](_0x55087e,0x2)),_0x281c82=_0x55087e-_0x160988,_0x589037='║'+'\x20'['repeat'](_0x160988)+_0x135bcc+'\x20'[_0x142b20(0x17e)](_0x281c82)+'║',_0x807bb2=_0x142b20(0x18d)+_0x589037+_0x142b20(0x16b)+(_0x33b378[_0x142b20(0x180)]||_0x4187dd['OyGkt'])['padEnd'](0x26)+_0x142b20(0x1b0)+(_0x33b378[_0x142b20(0x147)]||_0x142b20(0x19b))[_0x142b20(0x118)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x4187dd['ighjN'](String,_0x33b378[_0x142b20(0x148)]||0xbb8)['padEnd'](0x26)+_0x142b20(0x142)+(_0x33b378['configFile']||_0x4187dd[_0x142b20(0x1a2)])[_0x142b20(0x118)](0x26)+_0x142b20(0x13e)+(_0x33b378[_0x142b20(0x1b1)]?_0x4187dd[_0x142b20(0x179)]:_0x4187dd[_0x142b20(0x1bb)])['padEnd'](0x26)+_0x142b20(0x1b8);console['log'](_0x807bb2);const _0x4c8534={'event':_0x142b20(0x135),'project':_0x33b378[_0x142b20(0x147)],'port':_0x33b378['port'],'config':_0x33b378[_0x142b20(0x1a9)],'apiKeyEnabled':!!_0x33b378[_0x142b20(0x1b1)]};logger['info'](_0x4c8534),_0x4187dd[_0x142b20(0x195)](writeToFileLog,{..._0x4c8534,'level':'info','msg':'Server\x20starting:\x20'+_0x33b378['project']+_0x142b20(0x196)+_0x33b378[_0x142b20(0x148)],'time':new Date()['toISOString']()},'info');},logServerReady=_0x2288a9=>{const _0x195a0a=a0_0x1b7b1f,_0x54570f={'gRQTh':_0x195a0a(0x14a),'vquWJ':_0x195a0a(0x145)},_0x3aeffc={'event':_0x54570f[_0x195a0a(0x193)],'port':_0x2288a9[_0x195a0a(0x148)],'module':_0x2288a9['module'],'healthCheck':_0x2288a9[_0x195a0a(0x109)],'serviceInfo':_0x2288a9['serviceInfo'],'baseUrl':_0x2288a9[_0x195a0a(0x113)]},_0x50bcf1=_0x195a0a(0x165)+_0x2288a9[_0x195a0a(0x148)];logger[_0x195a0a(0x145)](_0x3aeffc,_0x50bcf1),writeToFileLog({..._0x3aeffc,'level':_0x54570f['vquWJ'],'msg':_0x50bcf1,'time':new Date()['toISOString']()},_0x54570f[_0x195a0a(0x177)]),_0x2288a9['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x2288a9[_0x195a0a(0x109)]),_0x2288a9['serviceInfo']&&logger[_0x195a0a(0x145)]('\x20\x20Info:\x20\x20\x20'+_0x2288a9[_0x195a0a(0x120)]),_0x2288a9[_0x195a0a(0x113)]&&logger['info'](_0x195a0a(0x130)+_0x2288a9[_0x195a0a(0x113)]);},logProjectLoaded=(_0x18a8f8,_0x45ddd2)=>{const _0x197cec=a0_0x1b7b1f,_0x5d2337={'YSBbN':'project_loaded','UYujR':_0x197cec(0x145)},_0x2b823c={'event':_0x5d2337['YSBbN'],'project':_0x18a8f8,'path':_0x45ddd2},_0x38353d='[OK]\x20Project\x20loaded:\x20'+_0x18a8f8;logger[_0x197cec(0x145)](_0x2b823c,_0x38353d),writeToFileLog({..._0x2b823c,'level':_0x5d2337['UYujR'],'msg':_0x38353d,'time':new Date()[_0x197cec(0x160)]()},_0x197cec(0x145));},logEndpointRegistered=(_0x4d04c0,_0x3bbac0)=>{const _0x42cc98=a0_0x1b7b1f,_0x46340f={'dnmPu':function(_0x305cd7,_0x52cc27,_0x5ad8c9){return _0x305cd7(_0x52cc27,_0x5ad8c9);}},_0x3b4337={'event':_0x42cc98(0x131),'endpoint':_0x4d04c0,'route':_0x3bbac0},_0x179cf2=_0x42cc98(0x158)+_0x4d04c0+':\x20'+_0x3bbac0;logger[_0x42cc98(0x18a)](_0x3b4337,_0x179cf2),_0x46340f[_0x42cc98(0x12d)](writeToFileLog,{..._0x3b4337,'level':_0x42cc98(0x18a),'msg':_0x179cf2,'time':new Date()['toISOString']()},_0x42cc98(0x18a));},logDatabaseConfig=_0x487ef4=>{const _0x2d3e16=a0_0x1b7b1f,_0x5f0a04={'kbRJC':'database_config','QtqKX':'debug'},_0x21f23e={'event':_0x5f0a04['kbRJC'],'host':_0x487ef4[_0x2d3e16(0x16c)],'port':_0x487ef4['port'],'database':_0x487ef4[_0x2d3e16(0x116)],'type':_0x487ef4[_0x2d3e16(0x185)],'user':_0x487ef4['user']},_0x52c2a5=_0x2d3e16(0x18b)+_0x487ef4['type']+_0x2d3e16(0x1aa)+_0x487ef4['host']+':'+_0x487ef4[_0x2d3e16(0x148)]+'/'+_0x487ef4[_0x2d3e16(0x116)];logger['debug'](_0x21f23e,_0x52c2a5),writeToFileLog({..._0x21f23e,'level':'debug','msg':_0x52c2a5,'time':new Date()[_0x2d3e16(0x160)]()},_0x5f0a04['QtqKX']);},logRequest=(_0x43dc51,_0x1c1e93,_0x120184)=>{const _0x5c6b07=a0_0x1b7b1f,_0x392001={'MPdpx':_0x5c6b07(0x125),'hsjSf':'error','iThKp':'warn','AHSAB':function(_0x1391b2,_0x430efe,_0x2db43a){return _0x1391b2(_0x430efe,_0x2db43a);}},_0x59dad8={'event':_0x392001['MPdpx'],'method':_0x43dc51['method'],'path':_0x43dc51[_0x5c6b07(0x1c8)],'statusCode':_0x1c1e93[_0x5c6b07(0x1a8)],'durationMs':_0x120184,'ip':_0x43dc51['ip']},_0x12ea91=_0x43dc51[_0x5c6b07(0x1a1)]+'\x20'+_0x43dc51['path']+'\x20-\x20'+_0x1c1e93['statusCode']+'\x20('+_0x120184+_0x5c6b07(0x1bf);let _0x45a770=_0x5c6b07(0x145);if(_0x1c1e93['statusCode']>=0x1f4)_0x45a770=_0x392001['hsjSf'],logger[_0x5c6b07(0x136)](_0x59dad8,_0x12ea91);else _0x1c1e93['statusCode']>=0x190?(_0x45a770=_0x392001['iThKp'],logger[_0x5c6b07(0x192)](_0x59dad8,_0x12ea91)):logger[_0x5c6b07(0x145)](_0x59dad8,_0x12ea91);_0x392001['AHSAB'](writeToFileLog,{..._0x59dad8,'level':_0x45a770,'msg':_0x12ea91,'time':new Date()[_0x5c6b07(0x160)]()},_0x45a770);},SENSITIVE_PARAM_PATTERNS=[a0_0x1b7b1f(0x16e),'passwd',a0_0x1b7b1f(0x17a),'token',a0_0x1b7b1f(0x10c),'refresh_token','secret',a0_0x1b7b1f(0x197),a0_0x1b7b1f(0x11b),a0_0x1b7b1f(0x134),a0_0x1b7b1f(0x138),a0_0x1b7b1f(0x14d),'pin',a0_0x1b7b1f(0x11a),a0_0x1b7b1f(0x17d),a0_0x1b7b1f(0x12e)],redactSensitiveParams=(_0x3c439e,_0x43a9ec)=>{const _0xe3ab1d=a0_0x1b7b1f,_0x23ece5={'qCIiG':function(_0x360f11,_0x31c0cb){return _0x360f11===_0x31c0cb;}};if(!_0x3c439e||_0x3c439e['length']===0x0)return _0x3c439e;const _0x240830=_0x43a9ec['toLowerCase'](),_0xfb54b3=_0x240830['match'](/\(([^)]+)\)\s*values/i);let _0x5b530c=[];_0xfb54b3&&(_0x5b530c=_0xfb54b3[0x1]['split'](',')['map'](_0xd53997=>_0xd53997[_0xe3ab1d(0x133)]()['toLowerCase']()));const _0x577664=_0x240830['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x577664){const _0x45914c=_0x577664[0x1],_0x181a1e=_0x45914c[_0xe3ab1d(0x107)](/(\w+)\s*=/g);_0x181a1e&&(_0x5b530c=_0x181a1e[_0xe3ab1d(0x15e)](_0x5543ac=>_0x5543ac[_0xe3ab1d(0x188)](/\s*=/,'')['trim']()[_0xe3ab1d(0x163)]()));}return _0x3c439e[_0xe3ab1d(0x15e)]((_0x62de9a,_0x2c4cc3)=>{const _0x1f53e4=_0xe3ab1d;if(_0x5b530c[_0x2c4cc3]){const _0x232f2e=_0x5b530c[_0x2c4cc3],_0x2c6c11=SENSITIVE_PARAM_PATTERNS[_0x1f53e4(0x10d)](_0x50f2fc=>_0x232f2e['includes'](_0x50f2fc));if(_0x2c6c11)return _0x1f53e4(0x174);}if(_0x23ece5[_0x1f53e4(0x18f)](typeof _0x62de9a,_0x1f53e4(0x1bd))&&_0x62de9a['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x1f53e4(0x16d)](_0x62de9a)&&_0x62de9a[_0x1f53e4(0x1c3)]('.'))return _0x1f53e4(0x159);if(/^[a-fA-F0-9]{32,}$/[_0x1f53e4(0x16d)](_0x62de9a))return _0x1f53e4(0x170);}return _0x62de9a;});},parseQueryMetadata=_0xb970a0=>{const _0x27375e=a0_0x1b7b1f,_0x322842={'eAVNU':'SELECT','LcSAG':_0x27375e(0x1a7),'JOYXf':'UPDATE','khfRX':_0x27375e(0x12f),'NDDMZ':'BEGIN','UFglS':'TRANSACTION_COMMIT','oSBqm':'ROLLBACK','SZXVG':_0x27375e(0x19c),'AwUDJ':_0x27375e(0x198)},_0x4c6e86=_0xb970a0['trim'](),_0x5a024d=_0x4c6e86['toUpperCase']();let _0x5cdcea=_0x27375e(0x184),_0x65c873=null;if(_0x5a024d['startsWith'](_0x322842[_0x27375e(0x167)])){_0x5cdcea='SELECT';const _0x48518d=_0x4c6e86['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x65c873=_0x48518d?_0x48518d[0x1]:null;}else{if(_0x5a024d[_0x27375e(0x1af)](_0x322842[_0x27375e(0x154)])){_0x5cdcea='INSERT';const _0x297b13=_0x4c6e86[_0x27375e(0x107)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x65c873=_0x297b13?_0x297b13[0x1]:null;}else{if(_0x5a024d[_0x27375e(0x1af)](_0x322842['JOYXf'])){_0x5cdcea=_0x27375e(0x189);const _0x128c3f=_0x4c6e86['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x65c873=_0x128c3f?_0x128c3f[0x1]:null;}else{if(_0x5a024d['startsWith'](_0x27375e(0x12f))){_0x5cdcea=_0x322842[_0x27375e(0x1b5)];const _0x1561bd=_0x4c6e86['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x65c873=_0x1561bd?_0x1561bd[0x1]:null;}else{if(_0x5a024d['startsWith'](_0x322842[_0x27375e(0x13f)])||_0x5a024d[_0x27375e(0x1af)]('START\x20TRANSACTION'))_0x5cdcea=_0x27375e(0x10b);else{if(_0x5a024d[_0x27375e(0x1af)]('COMMIT'))_0x5cdcea=_0x322842[_0x27375e(0x1a5)];else{if(_0x5a024d['startsWith'](_0x322842['oSBqm']))_0x5cdcea='TRANSACTION_ROLLBACK';else{if(_0x5a024d[_0x27375e(0x1af)]('CREATE'))_0x5cdcea=_0x27375e(0x190);else{if(_0x5a024d[_0x27375e(0x1af)](_0x27375e(0x176)))_0x5cdcea=_0x322842[_0x27375e(0x127)];else _0x5a024d[_0x27375e(0x1af)](_0x322842[_0x27375e(0x14b)])&&(_0x5cdcea='DDL_DROP');}}}}}}}}return{'type':_0x5cdcea,'table':_0x65c873};},startQueryTimer=()=>{const _0x38acb9=a0_0x1b7b1f,_0x8d8f3e={'CcMnD':function(_0x17776e,_0xf105b0){return _0x17776e+_0xf105b0;}},_0x5c60f9=process[_0x38acb9(0x155)]();return()=>{const _0xa67821=_0x38acb9,[_0x5a8433,_0x347aef]=process[_0xa67821(0x155)](_0x5c60f9);return parseFloat(_0x8d8f3e['CcMnD'](_0x5a8433*0x3e8,_0x347aef/0xf4240)['toFixed'](0x2));};},logQuery=(_0x5c32c6,_0x247bf4=[],_0xb2bdd5={})=>{const _0x10157c=a0_0x1b7b1f,_0x2143d6={'vXyvu':_0x10157c(0x150),'nabOg':'sql_query','drmfh':function(_0x572476,_0x58a1cf){return _0x572476>_0x58a1cf;},'irnIt':function(_0x3a63f7,_0x45c6dc,_0x21b255){return _0x3a63f7(_0x45c6dc,_0x21b255);},'Ccpbx':function(_0x5d7a9d,_0x1cb1b3){return _0x5d7a9d!==_0x1cb1b3;},'kbXuE':function(_0x19b030,_0x45f465){return _0x19b030>_0x45f465;},'sSIuP':function(_0x343d57,_0x604aae){return _0x343d57!==_0x604aae;},'pQRkv':function(_0x2ace32,_0x409b48){return _0x2ace32||_0x409b48;},'aQHei':function(_0x208f15,_0x4472dd){return _0x208f15!==_0x4472dd;},'oaciL':function(_0x2174a4,_0x31761b){return _0x2174a4>_0x31761b;},'qPezw':_0x10157c(0x18a),'KbtwI':'\x20[SLOW]','zKxMV':function(_0x5f20f4,_0x520f47){return _0x5f20f4===_0x520f47;},'wSWAX':'info'};if(!sqlLogEnabled){logger['debug']({'event':_0x10157c(0x141),'query':_0x5c32c6[_0x10157c(0x139)](0x0,0xc8),'paramCount':_0x247bf4['length']},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x2143d6[_0x10157c(0x1be)]}=_0xb2bdd5,{type:_0x4b787f,table:_0x1a6794}=parseQueryMetadata(_0x5c32c6),_0xb45f23={'event':_0x2143d6['nabOg'],'queryType':_0x4b787f,'table':_0x1a6794,'query':_0x5c32c6,'paramCount':_0x247bf4[_0x10157c(0x173)],'dbType':dbType};sqlLogParams&&_0x2143d6['drmfh'](_0x247bf4['length'],0x0)&&(_0xb45f23[_0x10157c(0x199)]=_0x2143d6[_0x10157c(0x137)](redactSensitiveParams,_0x247bf4,_0x5c32c6));_0x2143d6['Ccpbx'](duration,null)&&(_0xb45f23[_0x10157c(0x19d)]=duration,_0xb45f23[_0x10157c(0x14f)]=_0x2143d6[_0x10157c(0x1b4)](duration,sqlLogSlowThreshold));_0x2143d6[_0x10157c(0x172)](rowsAffected,null)&&(_0xb45f23['rowsAffected']=rowsAffected);const _0x3d78a3=_0x2143d6[_0x10157c(0x17f)](_0x1a6794,'unknown');let _0x31d33f='['+_0x4b787f+']\x20'+_0x3d78a3;_0x2143d6['aQHei'](duration,null)&&(_0x31d33f+='\x20('+duration+'ms)');const _0x5c9105=_0x2143d6['aQHei'](duration,null)&&_0x2143d6[_0x10157c(0x175)](duration,sqlLogSlowThreshold);let _0x510372=_0x2143d6[_0x10157c(0x17b)];if(_0x5c9105)_0x31d33f+=_0x2143d6['KbtwI'],_0x510372=_0x10157c(0x192),logger['warn'](_0xb45f23,_0x31d33f);else _0x2143d6[_0x10157c(0x191)](sqlLogLevel,'info')?(_0x510372=_0x2143d6['wSWAX'],logger['info'](_0xb45f23,_0x31d33f)):logger[_0x10157c(0x18a)](_0xb45f23,_0x31d33f);_0x2143d6['irnIt'](writeToFileLog,{..._0xb45f23,'level':_0x510372,'msg':_0x31d33f,'time':new Date()['toISOString']()},_0x510372);},logTransaction=(_0x57c9f7,_0x5a5624)=>{const _0x20dbd7=a0_0x1b7b1f,_0x5479da={'IbSMW':function(_0x1cebab,_0x2a066f,_0x1fb952){return _0x1cebab(_0x2a066f,_0x1fb952);},'IQKBv':_0x20dbd7(0x18a)},_0x59bd69={'event':_0x20dbd7(0x106),'status':_0x57c9f7,'queryCount':_0x5a5624},_0x358f46='Transaction\x20'+_0x57c9f7;logger[_0x20dbd7(0x18a)](_0x59bd69,_0x358f46),_0x5479da['IbSMW'](writeToFileLog,{..._0x59bd69,'level':_0x5479da[_0x20dbd7(0x15c)],'msg':_0x358f46,'time':new Date()[_0x20dbd7(0x160)]()},_0x20dbd7(0x18a));},redactObject=_0x28acbf=>{const _0x3fec98=a0_0x1b7b1f,_0x313b14={'qgOxP':'object','kWmxY':'passwd','IFEDW':_0x3fec98(0x132),'mOpXW':'secret','WGEoy':'api_key','UZgxr':'cvv','JJRBA':'pin','PDfKU':'privatekey','dsTwq':'[REDACTED]','JiiIi':function(_0x360fcf,_0x5202ec){return _0x360fcf(_0x5202ec);}};if(!_0x28acbf||typeof _0x28acbf!==_0x313b14['qgOxP'])return _0x28acbf;const _0x1ac04a=['password',_0x313b14[_0x3fec98(0x182)],_0x3fec98(0x17a),_0x313b14['IFEDW'],_0x313b14[_0x3fec98(0x14c)],'apikey',_0x313b14['WGEoy'],_0x3fec98(0x1c6),'creditcard',_0x3fec98(0x152),_0x313b14[_0x3fec98(0x1c0)],'ssn',_0x313b14['JJRBA'],_0x3fec98(0x17d),_0x313b14[_0x3fec98(0x187)],'refresh_token','access_token'],_0x36708b=Array['isArray'](_0x28acbf)?[..._0x28acbf]:{..._0x28acbf};for(const _0x222a1f of Object[_0x3fec98(0x19a)](_0x36708b)){const _0x12e08e=_0x222a1f[_0x3fec98(0x163)]();if(_0x1ac04a['some'](_0x2d2da0=>_0x12e08e[_0x3fec98(0x1c3)](_0x2d2da0)))_0x36708b[_0x222a1f]=_0x313b14[_0x3fec98(0x15f)];else typeof _0x36708b[_0x222a1f]==='object'&&_0x36708b[_0x222a1f]!==null&&(_0x36708b[_0x222a1f]=_0x313b14[_0x3fec98(0x1b2)](redactObject,_0x36708b[_0x222a1f]));}return _0x36708b;},logError=(_0x435836,_0x2c9a79={},_0x241d67=null)=>{const _0x4f5d25=a0_0x1b7b1f,_0x443b17={'zhNiW':'error','vPbDU':_0x4f5d25(0x1c4)},_0x37ca90={'event':_0x443b17['zhNiW'],'errorName':_0x435836[_0x4f5d25(0x117)]||_0x443b17['vPbDU'],'errorMessage':_0x435836['message'],'errorCode':_0x435836[_0x4f5d25(0x129)]||null,'stack':_0x435836[_0x4f5d25(0x194)],..._0x2c9a79},_0x3784dd=_0x241d67||_0x4f5d25(0x153)+_0x435836['message'];logger['error'](_0x37ca90,_0x3784dd),writeToFileLog({..._0x37ca90,'level':'error','msg':_0x3784dd,'time':new Date()['toISOString']()},_0x4f5d25(0x136));},logFatalError=(_0x4955fd,_0x243965={},_0x1301a5=null)=>{const _0x44e48e=a0_0x1b7b1f,_0x188094={'GYhYM':_0x44e48e(0x1c4),'pJvzc':function(_0x450fca,_0x5d65c8,_0x563c04){return _0x450fca(_0x5d65c8,_0x563c04);},'ikDbP':'error'},_0x51067c={'event':_0x44e48e(0x1ba),'errorName':_0x4955fd[_0x44e48e(0x117)]||_0x188094['GYhYM'],'errorMessage':_0x4955fd['message'],'errorCode':_0x4955fd['code']||null,'stack':_0x4955fd['stack'],'severity':'CRITICAL',..._0x243965},_0x2073fc=_0x1301a5||'FATAL:\x20'+_0x4955fd['message'];logger['fatal'](_0x51067c,_0x2073fc),_0x188094['pJvzc'](writeToFileLog,{..._0x51067c,'level':'fatal','msg':_0x2073fc,'time':new Date()[_0x44e48e(0x160)]()},_0x188094[_0x44e48e(0x123)]);},logHttpError=(_0x5ec289,_0x4c933f,_0x329325={})=>{const _0x4d9ad5=a0_0x1b7b1f,_0xcccab8={'HGraq':function(_0x544b25,_0x432310){return _0x544b25>=_0x432310;},'RaigY':function(_0x2cd1cd,_0x1b2c82,_0x528195){return _0x2cd1cd(_0x1b2c82,_0x528195);},'gsWMS':'warn'},_0x1f150a={'event':_0x4d9ad5(0x128),'errorName':_0x5ec289['name']||'Error','errorMessage':_0x5ec289['message'],'errorCode':_0x5ec289[_0x4d9ad5(0x129)]||_0x5ec289['statusCode']||0x1f4,'stack':_0x5ec289[_0x4d9ad5(0x194)],'method':_0x4c933f?.[_0x4d9ad5(0x1a1)],'url':_0x4c933f?.[_0x4d9ad5(0x14e)]||_0x4c933f?.['originalUrl'],'path':_0x4c933f?.[_0x4d9ad5(0x1c8)],'ip':_0x4c933f?.['ip']||_0x4c933f?.['connection']?.['remoteAddress'],'userAgent':_0x4c933f?.['get']?.('user-agent'),'requestId':_0x4c933f?.['id']||_0x4c933f?.['headers']?.['x-request-id'],'body':_0x4c933f?.[_0x4d9ad5(0x111)]?redactObject(_0x4c933f['body']):undefined,'query':_0x4c933f?.['query'],..._0x329325},_0x5d7068=_0x5ec289['statusCode']||_0x5ec289['status']||0x1f4,_0x1579b2=_0x4d9ad5(0x1c5)+_0x5d7068+':\x20'+_0x5ec289['message'];_0xcccab8['HGraq'](_0x5d7068,0x1f4)?logger['error'](_0x1f150a,_0x1579b2):logger['warn'](_0x1f150a,_0x1579b2),_0xcccab8['RaigY'](writeToFileLog,{..._0x1f150a,'level':_0xcccab8['HGraq'](_0x5d7068,0x1f4)?_0x4d9ad5(0x136):'warn','msg':_0x1579b2,'time':new Date()['toISOString']()},_0xcccab8[_0x4d9ad5(0x1ad)](_0x5d7068,0x1f4)?'error':_0xcccab8['gsWMS']);},logUncaughtError=(_0x42c3c9,_0x139e07)=>{const _0x294ef1=a0_0x1b7b1f,_0x5c327f={'YNRlJ':function(_0x446eec,_0x25b9a9){return _0x446eec(_0x25b9a9);},'ilPRD':_0x294ef1(0x144)},_0x1f4034={'event':_0x42c3c9,'errorName':_0x139e07?.[_0x294ef1(0x117)]||'Error','errorMessage':_0x139e07?.['message']||_0x5c327f['YNRlJ'](String,_0x139e07),'errorCode':_0x139e07?.[_0x294ef1(0x129)]||null,'stack':_0x139e07?.['stack'],'severity':_0x5c327f[_0x294ef1(0x11e)],'processId':process['pid'],'memoryUsage':process[_0x294ef1(0x186)](),'uptime':process[_0x294ef1(0x1ac)]()},_0x51e129='['+_0x42c3c9['toUpperCase']()+']\x20'+(_0x139e07?.[_0x294ef1(0x1b7)]||_0x139e07);logger['fatal'](_0x1f4034,_0x51e129),writeToFileLog({..._0x1f4034,'level':_0x294ef1(0x12c),'msg':_0x51e129,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x395ae2=a0_0x1b7b1f,_0x4c1ebf={'DEFrb':function(_0x43b950,_0x44affa,_0x249c57){return _0x43b950(_0x44affa,_0x249c57);},'ixjVh':_0x395ae2(0x1ae),'XKReU':function(_0x2be495,_0xa246e4){return _0x2be495 instanceof _0xa246e4;},'jPPIU':_0x395ae2(0x11d),'UqDvi':_0x395ae2(0x146),'hlOBn':'global_error_handlers_setup','Vdfsj':_0x395ae2(0x145)};process['on'](_0x4c1ebf[_0x395ae2(0x151)],_0x413755=>{const _0xd842af=_0x395ae2;_0x4c1ebf[_0xd842af(0x119)](logUncaughtError,_0x4c1ebf['ixjVh'],_0x413755),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x4c1ebf[_0x395ae2(0x114)],(_0x3d8c6a,_0x568d2a)=>{const _0x2287ec=_0x4c1ebf['XKReU'](_0x3d8c6a,Error)?_0x3d8c6a:new Error(String(_0x3d8c6a));logUncaughtError('unhandledRejection',_0x2287ec);}),process['on'](_0x4c1ebf[_0x395ae2(0x1bc)],_0x1021eb=>{const _0xd6e5dd=_0x395ae2;logger['warn']({'event':_0xd6e5dd(0x1a4),'name':_0x1021eb['name'],'message':_0x1021eb[_0xd6e5dd(0x1b7)],'stack':_0x1021eb['stack']},'Process\x20Warning:\x20'+_0x1021eb[_0xd6e5dd(0x1b7)]);});const _0x1dce59={'event':_0x4c1ebf['hlOBn']},_0x3a3ef6=_0x395ae2(0x157);logger['info'](_0x1dce59,_0x3a3ef6),writeToFileLog({..._0x1dce59,'level':'info','msg':_0x3a3ef6,'time':new Date()[_0x395ae2(0x160)]()},_0x4c1ebf['Vdfsj']);},createErrorHandlerMiddleware=()=>{const _0x36d141={'SzblP':function(_0x1d9a3a,_0x5ebf82){return _0x1d9a3a>=_0x5ebf82;}};return(_0x365fab,_0x38c714,_0x342af1,_0x54766a)=>{const _0x87436d=a0_0x296a;logHttpError(_0x365fab,_0x38c714);const _0x5c39f7=_0x365fab[_0x87436d(0x1a8)]||_0x365fab[_0x87436d(0x19f)]||0x1f4;_0x342af1['status'](_0x5c39f7)[_0x87436d(0x1a6)]({'success':![],'error':_0x36d141['SzblP'](_0x5c39f7,0x1f4)?_0x87436d(0x161):_0x365fab['message'],'requestId':_0x38c714['id']||_0x38c714[_0x87436d(0x1c7)]?.[_0x87436d(0x122)]||null});};};function a0_0x9f88(){const _0x58342c=['rgf0ywjHC2u6ia','u1fmx0Xpr19mrvzfta','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','u1fmx0Xpr19tte9xx1riuKvtse9mra','CunjAuC','rermx0nsrufurq','EKT4tvy','D2fYBG','z1jrvgG','C3rHy2S','q05wEMu','ig9UihbVCNqG','yxbPx3nLy3jLDa','rfjpua','CgfYyw1Z','A2v5CW','tI9b','rermx0fmvevs','zhvYyxrPB25nCW','lI9SB2DZlW','C3rHDhvZ','CMvZDgzVCMDL','Bwv0Ag9K','zNjty2C','rejFueftu1DpuKq','ChjVy2vZC193yxjUAw5N','vuzNBfm','ANnVBG','su5trvju','C3rHDhvZq29Kzq','y29UzMLNrMLSzq','oI8V','ndG0EeTHthzH','Dxb0Aw1L','seDYyxe','Dw5JyxvNAhrfEgnLChrPB24','C3rHCNrZv2L0Aa','iokvKqRILzeGifbYB2PLy3qGicaGidOG','yxbPs2v5','sMLPswK','ndCWntyYDNncAM90','A2jyDuu','A2HMuLG','C2PAsNy','BwvZC2fNzq','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','rgvMyxvSDa','zMf0ywXFzxjYB3i','thjOs1q','vxfeDMK','C3rYAw5N','DLH5DNu','BxmP','vvPNEhi','vwnJshK','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','Aw5JBhvKzxm','rxjYB3i','sfruuca','yxv0Ag9YAxPHDgLVBG','AgvHzgvYCW','Cgf0Aa','tK9uiefdveLwrq','zgjFDhjHBNnHy3rPB24','Bwf0y2G','D3jPDgu','AgvHBhrOq2HLy2S','lI9SB2DZ','vfjbtLnbq1rjt05FqKvhsu4','ywnJzxnZx3rVA2vU','C29Tzq','sLDux1nfq1jfva','CMvZB2X2zq','tM9Kzs5QCW','yM9KEq','AxfvtKu','yMfZzvvYBa','ALbqsvu','te9hx0rjuG','zgf0ywjHC2u','BMfTzq','CgfKrw5K','revgCMi','B3rW','yxbPA2v5','u1fmx0Xpr19qqvjbtvm','Dw5Oyw5KBgvKuMvQzwn0Aw9U','AwXquKq','CgLUBW','C2vYDMLJzuLUzM8','qunusvzf','Ec1Yzxf1zxn0lwLK','AwTeyLa','mteYodmXog5lwvjWAa','Ahr0Cf9Yzxf1zxn0','te9hx1rpx0zjteu','u1PyvKC','Ahr0Cf9LCNjVCG','y29Kzq','owX1wgn2vW','odi5mhnNz214qW','zMf0ywW','zg5Tuhu','ChjPDMf0zwTLEq','revmrvrf','icbvuKW6icaGia','zw5KCg9PBNrFCMvNAxn0zxjLza','Dg9Rzw4','DhjPBq','yxbPx2TLEq','C2vYDMvYx3n0yxj0Aw5N','zxjYB3i','AxjUsxq','y3jLzgvUDgLHBa','C3vIC3rYAw5N','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mZG2ndaWohjpCxzxrW','C3rKvgLTzuz1BMn0Aw9UCW','ndK0nJa4qLnwyLrz','iokvKqRILzeGiefqssblzxKGicaGidOG','tKretvO','zMLSzv9SB2DNAw5Nx2vUywjSzwq','zgjFCxvLCNK','iokvKqRILzeGienVBMzPzYaGicaGidOG','yxbWlMXVzW','q1jjveLdquW','Aw5MBW','D2fYBMLUzW','ChjVAMvJDa','Cg9YDa','ms4WlJu','C2vYDMvYx3jLywr5','qxDvreO','Bu9WwfC','y3jLzgvUDgLHBhm','DxjS','AxntBg93','Cg9ZDgDYzxnXBa','AxHQvMG','y3jLzgL0x2nHCMq','rxjYB3i6ia','tgntquC','Ahj0Aw1L','mZCWmdj4AvPzEKC','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','icdIHPiG','w1jfrefdveveoNrVA2vUxq','EM9urwe','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','svflqNy','wKzKq2G','BwfW','zhnuD3e','Dg9ju09tDhjPBMC','sw50zxjUywWGC2vYDMvYigvYCM9Y','Dhj1zq','Dg9mB3DLCKnHC2u','Bwj0Bw8','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','u0vsvKLdrv9oqu1f','zufwtLu','mZKXnJqZtwDRALbO','mtC1BMTky3rm','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Ag9ZDa','DgvZDa','CgfZC3DVCMq','te9hx0XfvKvm','w1jfrefdveveoMHHC2HD','C3rYAw5NAwz5','C1njDva','BgvUz3rO','w1jfrefdvevexq','B2fJAuW','quXurvi','DNf1v0O','mKTsuMrqDG','qKDwv3i','ChDK','CvbLENC','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','ChjPDMf0zv9RzxK','CMvWzwf0','CffsA3y','zw52AxjVBM1LBNq','tK9erv9ftLy','A1DTEfK','zw52','vu5ltK9xtG','DhLWzq','BwvTB3j5vxnHz2u','uerMs1u','CMvWBgfJzq','vvbeqvrf','zgvIDwC'];a0_0x9f88=function(){return _0x58342c;};return a0_0x9f88();}module['exports']={'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_0x2116d0=a0_0x1641;(function(_0x2b3c13,_0x5bb7ae){const _0x45f396=a0_0x1641,_0x28b3f8=_0x2b3c13();while(!![]){try{const _0x17b4e1=-parseInt(_0x45f396(0x94))/0x1+parseInt(_0x45f396(0xa8))/0x2*(parseInt(_0x45f396(0x93))/0x3)+-parseInt(_0x45f396(0x8a))/0x4+-parseInt(_0x45f396(0x87))/0x5+-parseInt(_0x45f396(0x99))/0x6+parseInt(_0x45f396(0xb9))/0x7+parseInt(_0x45f396(0x91))/0x8;if(_0x17b4e1===_0x5bb7ae)break;else _0x28b3f8['push'](_0x28b3f8['shift']());}catch(_0x2300d8){_0x28b3f8['push'](_0x28b3f8['shift']());}}}(a0_0x4645,0x71896));const dbType=(process['env'][a0_0x2116d0(0x9b)]||a0_0x2116d0(0xb5))[a0_0x2116d0(0xad)]();let executeQuery;function a0_0x4645(){const _0x524e93=['u0rlzu4','iIbUB3qGzM91BMqGAw4G','uNPbz2C','zxHWB3j0CW','Dg9mB3DLCKnHC2u','zxHLy3v0zvf1zxj5','y2XLyxi','q2PRDgO','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','Bg9HzeXVB2T1CfrHyMXL','Dgv1D20','lI9KyI1VCMfJBgu','Cg9ZDgDYzxnXBa','zNjVBq','Ae9lEvy','lI9KyG','mJm3odC3nvPMCLj0vG','Bg9VA3vWx3rHyMXLx2XVywrLza','BgvUz3rO','ChvZAa','DMfSAwrHDgvmB29RDxbwywX1zxm','mtm0nJm5nwrtD0zKwa','A2v5CW','C2XPy2u','nJmWota0wM5Wyvn5','z2v0','BwvZC2fNzq','Bg9VA3vWq2fJAgu','zNzKsfa','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','tg9VA3vWihrHyMXLigXVywrLzdOG','otCWmZy3mMjnwwnqBW','AgfZ','m2LvDwfuuq','nZeZnty2q1ntzgLw','CMvZB2X2zuXVB2T1CfzHBhvL','Dg9vChbLCKnHC2u','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','BwfW','ndGXnZqYneXOvvPrqW','zM9YrwfJAa','rejFvfLqrq','r0fKsve','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','C2v0','lI9KyI1TExnXBa','rMH1EvO','zxjYB3i','ChjVy2vZC0XVB2T1CezPzwXKCW','ANHRAgi','lI9SB2DNzxi','DhjPBq','zw50CMLLCW','z2v0rgLZDgLUy3rwywX1zxm','mtCXmtq3nffAzejjtW'];a0_0x4645=function(){return _0x524e93;};return a0_0x4645();}if(dbType==='oracle'){const oracleDb=require(a0_0x2116d0(0xb4));executeQuery=(_0x373923,_0x2963b7)=>oracleDb['executeQuery'](_0x373923,_0x2963b7);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x2116d0(0x9f));executeQuery=(_0x3d8e59,_0x4d5b86)=>mysqlDb['executeQuery'](_0x3d8e59,_0x4d5b86);}else executeQuery=require(a0_0x2116d0(0xb8))[a0_0x2116d0(0xae)];}const {logger}=require(a0_0x2116d0(0xa4));function a0_0x1641(_0xcae256,_0x862e56){_0xcae256=_0xcae256-0x83;const _0x46451a=a0_0x4645();let _0x164110=_0x46451a[_0xcae256];if(a0_0x1641['iKNvbx']===undefined){var _0x5ce67f=function(_0x88d25e){const _0x428a6d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x469f86='',_0x19590a='';for(let _0x295e4a=0x0,_0x27721a,_0xf3c7a7,_0x53b716=0x0;_0xf3c7a7=_0x88d25e['charAt'](_0x53b716++);~_0xf3c7a7&&(_0x27721a=_0x295e4a%0x4?_0x27721a*0x40+_0xf3c7a7:_0xf3c7a7,_0x295e4a++%0x4)?_0x469f86+=String['fromCharCode'](0xff&_0x27721a>>(-0x2*_0x295e4a&0x6)):0x0){_0xf3c7a7=_0x428a6d['indexOf'](_0xf3c7a7);}for(let _0x1451cd=0x0,_0x8fccf=_0x469f86['length'];_0x1451cd<_0x8fccf;_0x1451cd++){_0x19590a+='%'+('00'+_0x469f86['charCodeAt'](_0x1451cd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19590a);};a0_0x1641['Bgclaj']=_0x5ce67f,a0_0x1641['asvqRI']={},a0_0x1641['iKNvbx']=!![];}const _0x53aacc=_0x46451a[0x0],_0x3ae119=_0xcae256+_0x53aacc,_0x341fe8=a0_0x1641['asvqRI'][_0x3ae119];return!_0x341fe8?(_0x164110=a0_0x1641['Bgclaj'](_0x164110),a0_0x1641['asvqRI'][_0x3ae119]=_0x164110):_0x164110=_0x341fe8,_0x164110;}class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x40a660=a0_0x2116d0,_0x1a6369={'FfFTp':_0x40a660(0x9d),'lYgiW':'Lookup\x20cache\x20cleared'};this['lookupCache'][_0x40a660(0xaf)](),logger['debug']({'event':_0x1a6369['FfFTp']},_0x1a6369['lYgiW']);}async[a0_0x2116d0(0xb2)](_0x5b211d,_0xb37b0b,_0x520fda){const _0x1b3bf9=a0_0x2116d0,_0x52dd5b={'zOqRW':function(_0x31c8fc,_0x4d4b03){return _0x31c8fc!==_0x4d4b03;},'dxnpa':function(_0x460266,_0x435739){return _0x460266!==_0x435739;},'jxkhb':function(_0x5d7296,_0x54abdf){return _0x5d7296(_0x54abdf);},'Cjktj':function(_0x2fb2f1,_0x337663){return _0x2fb2f1(_0x337663);},'fvdHP':_0x1b3bf9(0x8f)},_0x2e5d04=_0x5b211d+':'+_0xb37b0b+':'+_0x520fda;if(this['lookupCache']['has'](_0x2e5d04))return this[_0x1b3bf9(0x8d)]['get'](_0x2e5d04);try{const _0xc4dedf='SELECT\x20'+_0x520fda+',\x20'+_0xb37b0b+'\x20FROM\x20'+_0x5b211d,_0x413a89=await executeQuery(_0xc4dedf),_0x23543b=new Map();return _0x413a89[_0x1b3bf9(0x9a)](_0xcab405=>{const _0x476098=_0x1b3bf9,_0x1bf395=_0x52dd5b['zOqRW'](_0xcab405[_0xb37b0b],undefined)?_0xcab405[_0xb37b0b]:_0xcab405[_0xb37b0b[_0x476098(0x96)]()],_0x5af9a1=_0xcab405[_0x520fda]!==undefined?_0xcab405[_0x520fda]:_0xcab405[_0x520fda['toUpperCase']()];_0x1bf395!==null&&_0x52dd5b['dxnpa'](_0x1bf395,undefined)&&(_0x23543b[_0x476098(0x9e)](_0x52dd5b[_0x476098(0xa3)](String,_0x1bf395)[_0x476098(0xad)]()['trim'](),_0x5af9a1),_0x23543b[_0x476098(0x9e)](_0x52dd5b[_0x476098(0xb0)](String,_0x1bf395)['trim'](),_0x5af9a1));}),this['lookupCache'][_0x1b3bf9(0x9e)](_0x2e5d04,_0x23543b),logger['info']({'event':_0x1b3bf9(0x83),'table':_0x5b211d,'column':_0xb37b0b,'count':_0x413a89[_0x1b3bf9(0x84)]},_0x1b3bf9(0x90)+_0x5b211d),_0x23543b;}catch(_0x4a1542){logger[_0x1b3bf9(0xa1)]({'event':_0x52dd5b[_0x1b3bf9(0x8e)],'table':_0x5b211d,'error':_0x4a1542[_0x1b3bf9(0x8c)]},_0x1b3bf9(0x97)+_0x5b211d);throw _0x4a1542;}}[a0_0x2116d0(0x95)](_0x505d37,_0x241c0c){const _0x274d22=a0_0x2116d0,_0x2b5c2f={'VlaYJ':function(_0x6aafca,_0x3c3a99){return _0x6aafca===_0x3c3a99;}};if(_0x2b5c2f['VlaYJ'](_0x505d37,null)||_0x505d37===undefined||_0x2b5c2f['VlaYJ'](_0x505d37,''))return null;const _0x5a5843=String(_0x505d37)[_0x274d22(0xa5)]();if(_0x241c0c['has'](_0x5a5843))return _0x241c0c[_0x274d22(0x8b)](_0x5a5843);const _0x482c62=_0x5a5843['toLowerCase']();if(_0x241c0c['has'](_0x482c62))return _0x241c0c[_0x274d22(0x8b)](_0x482c62);return null;}async[a0_0x2116d0(0xa2)](_0x1dcbde,_0x2e4309){const _0xb158d1=a0_0x2116d0,_0x4d6759={'FhuyZ':function(_0x1e1bfc,_0x15e45c){return _0x1e1bfc===_0x15e45c;},'SDKeN':function(_0x300227,_0xb0846e){return _0x300227!==_0xb0846e;},'AzGpU':_0xb158d1(0xb1),'teuwm':'Lookup\x20fields\x20processed'};if(!_0x2e4309||_0x4d6759[_0xb158d1(0xa0)](Object['keys'](_0x2e4309)['length'],0x0))return{'processedRows':_0x1dcbde,'errors':[]};const _0x1cf289=[],_0x8f8334=new Map();for(const [_0x1438c1,_0x24d78d]of Object['entries'](_0x2e4309)){const {lookupTable:_0x2472ef,lookupColumn:_0x59dbb7,lookupIdColumn:_0x30ea00}=_0x24d78d,_0xdfbcca=_0x2472ef+':'+_0x59dbb7+':'+_0x30ea00;if(!_0x8f8334[_0xb158d1(0x92)](_0xdfbcca)){const _0x4d7299=await this[_0xb158d1(0xb2)](_0x2472ef,_0x59dbb7,_0x30ea00);_0x8f8334[_0xb158d1(0x9e)](_0xdfbcca,_0x4d7299);}}const _0xc4865a=_0x1dcbde[_0xb158d1(0x98)]((_0xd66ef2,_0x494b30)=>{const _0x224f2b=_0xb158d1,_0x34c8fb={..._0xd66ef2};for(const [_0x202b31,_0x19ef2c]of Object[_0x224f2b(0xa6)](_0x2e4309)){const {lookupTable:_0x52658d,lookupColumn:_0xbdc31a,lookupIdColumn:_0x4303ad,targetField:_0x2c6b5b,required:_0x396760}=_0x19ef2c,_0xfacc12=_0x52658d+':'+_0xbdc31a+':'+_0x4303ad,_0x3a7c0a=_0x8f8334[_0x224f2b(0x8b)](_0xfacc12),_0x5b49a0=_0xd66ef2[_0x202b31];if((_0x5b49a0===null||_0x5b49a0===undefined||_0x4d6759[_0x224f2b(0xa0)](_0x5b49a0,''))&&!_0x396760){_0x34c8fb[_0x2c6b5b]=null;continue;}const _0x3cd22c=this[_0x224f2b(0x95)](_0x5b49a0,_0x3a7c0a);_0x4d6759[_0x224f2b(0xa9)](_0x3cd22c,null)?_0x34c8fb[_0x2c6b5b]=_0x3cd22c:(_0x396760&&_0x1cf289[_0x224f2b(0x85)]({'rowIndex':_0x494b30,'field':_0x202b31,'value':_0x5b49a0,'targetField':_0x2c6b5b,'lookupTable':_0x52658d,'message':'Value\x20\x22'+_0x5b49a0+_0x224f2b(0xaa)+_0x52658d}),_0x34c8fb[_0x2c6b5b]=null);}return _0x34c8fb;});return logger['info']({'event':_0x4d6759['AzGpU'],'totalRows':_0x1dcbde['length'],'errorCount':_0x1cf289['length'],'lookupFieldCount':Object[_0xb158d1(0x88)](_0x2e4309)['length']},_0x4d6759[_0xb158d1(0xb3)]),{'processedRows':_0xc4865a,'errors':_0x1cf289};}['getDistinctValues'](_0x4a85d6,_0x1fa0a7){const _0x4c41d5=a0_0x2116d0,_0x126e02={'RzAgg':function(_0x331fee,_0x4fca62){return _0x331fee!==_0x4fca62;}},_0x2d7ef8=new Set();return _0x4a85d6[_0x4c41d5(0x9a)](_0x3d9d0d=>{const _0x5d5736=_0x4c41d5,_0x53b597=_0x3d9d0d[_0x1fa0a7];_0x53b597!==null&&_0x126e02[_0x5d5736(0xab)](_0x53b597,undefined)&&_0x53b597!==''&&_0x2d7ef8['add'](String(_0x53b597)['trim']());}),Array[_0x4c41d5(0xb6)](_0x2d7ef8);}async[a0_0x2116d0(0x86)](_0x36b953,_0x1610c8){const _0x38df39=a0_0x2116d0,_0x973b3f={'hOKyV':function(_0x5ed710,_0x99a87a){return _0x5ed710!==_0x99a87a;},'GAdIQ':function(_0x667b6d,_0x440541){return _0x667b6d===_0x440541;},'uMJcc':function(_0x4adea8,_0x3aa56c){return _0x4adea8>_0x3aa56c;}};if(!_0x1610c8||_0x973b3f[_0x38df39(0x9c)](Object['keys'](_0x1610c8)[_0x38df39(0x84)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x1507d2=[],_0x1a9263={};for(const [_0x49c3d5,_0x36632c]of Object[_0x38df39(0xa6)](_0x1610c8)){const {lookupTable:_0x512c83,lookupColumn:_0x23d2cb,lookupIdColumn:_0xdc2acb,required:_0x1f84f5}=_0x36632c,_0x28deb8=this[_0x38df39(0xa7)](_0x36b953,_0x49c3d5),_0x67bad8=await this['loadLookupTable'](_0x512c83,_0x23d2cb,_0xdc2acb),_0x40fe3c=[],_0x4f1af8=[];_0x28deb8[_0x38df39(0x9a)](_0x4e6c42=>{const _0x28ff63=_0x38df39,_0x5c3459=this[_0x28ff63(0x95)](_0x4e6c42,_0x67bad8);_0x973b3f[_0x28ff63(0xb7)](_0x5c3459,null)?_0x4f1af8['push'](_0x4e6c42):_0x40fe3c['push'](_0x4e6c42);});if(_0x973b3f['uMJcc'](_0x40fe3c['length'],0x0)&&_0x1f84f5){_0x1507d2[_0x38df39(0x85)]({'field':_0x49c3d5,'lookupTable':_0x512c83,'invalidValues':_0x40fe3c,'message':_0x40fe3c['length']+'\x20value(s)\x20not\x20found\x20in\x20'+_0x512c83});const _0x4f55f1=[];_0x67bad8['forEach']((_0x5179a1,_0x164f4c)=>{const _0x1b1ad7=_0x38df39;if(_0x973b3f[_0x1b1ad7(0x9c)](_0x164f4c,_0x164f4c['toLowerCase']()))return;_0x4f55f1[_0x1b1ad7(0x85)](_0x164f4c);}),_0x1a9263[_0x49c3d5]={'invalidValues':_0x40fe3c,'availableValues':_0x4f55f1[_0x38df39(0x89)](0x0,0x32)};}}return{'valid':_0x1507d2['length']===0x0,'errors':_0x1507d2,'suggestions':_0x1a9263};}}module[a0_0x2116d0(0xac)]=new LookupResolver();
1
+ const a0_0x1293d6=a0_0x2a01;function a0_0x2a01(_0x40b593,_0x2871e3){_0x40b593=_0x40b593-0x10c;const _0x31cfe0=a0_0x31cf();let _0x2a0149=_0x31cfe0[_0x40b593];if(a0_0x2a01['WsPhqe']===undefined){var _0x52c5d5=function(_0x2f52e3){const _0x4c79c3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2133e0='',_0x1932fe='';for(let _0x13e88d=0x0,_0x468811,_0x510589,_0x28ff46=0x0;_0x510589=_0x2f52e3['charAt'](_0x28ff46++);~_0x510589&&(_0x468811=_0x13e88d%0x4?_0x468811*0x40+_0x510589:_0x510589,_0x13e88d++%0x4)?_0x2133e0+=String['fromCharCode'](0xff&_0x468811>>(-0x2*_0x13e88d&0x6)):0x0){_0x510589=_0x4c79c3['indexOf'](_0x510589);}for(let _0x294ec7=0x0,_0x554988=_0x2133e0['length'];_0x294ec7<_0x554988;_0x294ec7++){_0x1932fe+='%'+('00'+_0x2133e0['charCodeAt'](_0x294ec7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1932fe);};a0_0x2a01['RSHdOy']=_0x52c5d5,a0_0x2a01['tkmxwA']={},a0_0x2a01['WsPhqe']=!![];}const _0x127454=_0x31cfe0[0x0],_0x56a49b=_0x40b593+_0x127454,_0x1d6fb9=a0_0x2a01['tkmxwA'][_0x56a49b];return!_0x1d6fb9?(_0x2a0149=a0_0x2a01['RSHdOy'](_0x2a0149),a0_0x2a01['tkmxwA'][_0x56a49b]=_0x2a0149):_0x2a0149=_0x1d6fb9,_0x2a0149;}(function(_0xb842db,_0x4ab75b){const _0x103d9e=a0_0x2a01,_0x595764=_0xb842db();while(!![]){try{const _0x551c41=parseInt(_0x103d9e(0x118))/0x1+parseInt(_0x103d9e(0x113))/0x2+-parseInt(_0x103d9e(0x114))/0x3*(parseInt(_0x103d9e(0x121))/0x4)+parseInt(_0x103d9e(0x11b))/0x5*(-parseInt(_0x103d9e(0x12c))/0x6)+-parseInt(_0x103d9e(0x11e))/0x7+parseInt(_0x103d9e(0x11f))/0x8*(parseInt(_0x103d9e(0x129))/0x9)+parseInt(_0x103d9e(0x112))/0xa;if(_0x551c41===_0x4ab75b)break;else _0x595764['push'](_0x595764['shift']());}catch(_0x101ed){_0x595764['push'](_0x595764['shift']());}}}(a0_0x31cf,0x2b00a));const dbType=(process['env'][a0_0x1293d6(0x123)]||a0_0x1293d6(0x116))[a0_0x1293d6(0x11d)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x1293d6(0x127));executeQuery=(_0x19251f,_0x311b14)=>oracleDb['executeQuery'](_0x19251f,_0x311b14);}else{if(dbType===a0_0x1293d6(0x137)){const mysqlDb=require(a0_0x1293d6(0x12e));executeQuery=(_0x1d5d13,_0x59c97e)=>mysqlDb['executeQuery'](_0x1d5d13,_0x59c97e);}else executeQuery=require('./db')['executeQuery'];}function a0_0x31cf(){const _0xfce07b=['AgfZ','z2v0','BwvZC2fNzq','lI9KyI1VCMfJBgu','y2XLyxjdywnOzq','mJK2mJCXsLDmExn5','u0vmrunuia','BgvUz3rO','nNPxAMPLBq','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','lI9KyI1TExnXBa','DhjPBq','zM9YrwfJAa','Bff4D28','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','C2v0','CuTnBKC','BxLZCwW','u0vgCLO','vNjdAwO','Bg9HzeXVB2T1CfrHyMXL','iIbUB3qGzM91BMqGAw4G','q2nPz0S','A2v5CW','CxndC0K','Bg9VA3vWq2fJAgu','ntu5mtqWuLHkuhbq','nJu1mJm4yuDxvevJ','nti3mZCZrenyDevw','ChvZAa','Cg9ZDgDYzxnXBa','iezst00G','mJy1mtHRAMLVv1q','CMvZB2X2zuXVB2T1CfzHBhvL','Dxzdzwi','mZaYntG1ufPjsvjn','vMfSDwuGiG','Dg9mB3DLCKnHC2u','mJeZnJy4AgLkrgHh','ohffDvD4sW','Aw5MBW','nfDLAMnTsW','A2rbzMK','rejFvfLqrq'];a0_0x31cf=function(){return _0xfce07b;};return a0_0x31cf();}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x1293d6(0x128)](){const _0x306389=a0_0x1293d6,_0x39f57d={'CcigK':'lookup_cache_cleared'};this[_0x306389(0x111)]['clear'](),logger['debug']({'event':_0x39f57d[_0x306389(0x10e)]},'Lookup\x20cache\x20cleared');}async[a0_0x1293d6(0x10c)](_0x4a68ce,_0x1ab3fe,_0x10bd1f){const _0x32783d=a0_0x1293d6,_0x2abe76={'qsCsI':function(_0x16097e,_0x8f5c16){return _0x16097e!==_0x8f5c16;},'uvCeb':function(_0x3fb110,_0xdcef42){return _0x3fb110(_0xdcef42);},'qKMnG':function(_0x58570c,_0x3d0a73){return _0x58570c(_0x3d0a73);},'uedYv':'lookup_table_loaded'},_0x123fb4=_0x4a68ce+':'+_0x1ab3fe+':'+_0x10bd1f;if(this['lookupCache'][_0x32783d(0x124)](_0x123fb4))return this[_0x32783d(0x111)]['get'](_0x123fb4);try{const _0xf79ba=_0x32783d(0x12a)+_0x10bd1f+',\x20'+_0x1ab3fe+_0x32783d(0x117)+_0x4a68ce,_0x1bb41b=await _0x2abe76[_0x32783d(0x136)](executeQuery,_0xf79ba),_0x190e0b=new Map();return _0x1bb41b[_0x32783d(0x130)](_0x366099=>{const _0x290d9a=_0x32783d,_0x5b8d22=_0x2abe76[_0x290d9a(0x110)](_0x366099[_0x1ab3fe],undefined)?_0x366099[_0x1ab3fe]:_0x366099[_0x1ab3fe['toUpperCase']()],_0x67289b=_0x2abe76['qsCsI'](_0x366099[_0x10bd1f],undefined)?_0x366099[_0x10bd1f]:_0x366099[_0x10bd1f['toUpperCase']()];_0x5b8d22!==null&&_0x2abe76['qsCsI'](_0x5b8d22,undefined)&&(_0x190e0b['set'](_0x2abe76[_0x290d9a(0x11a)](String,_0x5b8d22)[_0x290d9a(0x11d)]()[_0x290d9a(0x12f)](),_0x67289b),_0x190e0b[_0x290d9a(0x135)](_0x2abe76['uvCeb'](String,_0x5b8d22)['trim'](),_0x67289b));}),this[_0x32783d(0x111)]['set'](_0x123fb4,_0x190e0b),logger[_0x32783d(0x120)]({'event':_0x2abe76['uedYv'],'table':_0x4a68ce,'column':_0x1ab3fe,'count':_0x1bb41b['length']},'Lookup\x20table\x20loaded:\x20'+_0x4a68ce),_0x190e0b;}catch(_0x181e32){logger['error']({'event':_0x32783d(0x134),'table':_0x4a68ce,'error':_0x181e32[_0x32783d(0x126)]},_0x32783d(0x132)+_0x4a68ce);throw _0x181e32;}}[a0_0x1293d6(0x119)](_0x10dc16,_0x3a7096){const _0x325e12=a0_0x1293d6;if(_0x10dc16===null||_0x10dc16===undefined||_0x10dc16==='')return null;const _0x491504=String(_0x10dc16)['trim']();if(_0x3a7096[_0x325e12(0x124)](_0x491504))return _0x3a7096[_0x325e12(0x125)](_0x491504);const _0x11c0de=_0x491504[_0x325e12(0x11d)]();if(_0x3a7096['has'](_0x11c0de))return _0x3a7096['get'](_0x11c0de);return null;}async['processLookupFields'](_0x2186ed,_0xc7f266){const _0x28e214=a0_0x1293d6,_0x37786f={'lQxwo':function(_0x153cd1,_0x5a4496){return _0x153cd1===_0x5a4496;},'Venyh':function(_0x2c9acb,_0x22476a){return _0x2c9acb===_0x22476a;},'ZnSsm':_0x28e214(0x12d),'VrCij':'Lookup\x20fields\x20processed'};if(!_0xc7f266||_0x37786f['Venyh'](Object['keys'](_0xc7f266)[_0x28e214(0x12b)],0x0))return{'processedRows':_0x2186ed,'errors':[]};const _0x4874df=[],_0x4d64ee=new Map();for(const [_0x4ad43a,_0x15b9c4]of Object['entries'](_0xc7f266)){const {lookupTable:_0xc4010f,lookupColumn:_0x492a25,lookupIdColumn:_0x4ef82e}=_0x15b9c4,_0x52c687=_0xc4010f+':'+_0x492a25+':'+_0x4ef82e;if(!_0x4d64ee[_0x28e214(0x124)](_0x52c687)){const _0x412f09=await this[_0x28e214(0x10c)](_0xc4010f,_0x492a25,_0x4ef82e);_0x4d64ee['set'](_0x52c687,_0x412f09);}}const _0x43a997=_0x2186ed['map']((_0x52a72c,_0x1e183b)=>{const _0xcdb6c3=_0x28e214,_0x30b87b={..._0x52a72c};for(const [_0x20cdf4,_0x5ac710]of Object['entries'](_0xc7f266)){const {lookupTable:_0x4ee054,lookupColumn:_0x271bb7,lookupIdColumn:_0x2a2720,targetField:_0x1a97b1,required:_0x4b5cf0}=_0x5ac710,_0xed9b12=_0x4ee054+':'+_0x271bb7+':'+_0x2a2720,_0x3eacab=_0x4d64ee[_0xcdb6c3(0x125)](_0xed9b12),_0x144aaf=_0x52a72c[_0x20cdf4];if((_0x144aaf===null||_0x144aaf===undefined||_0x37786f[_0xcdb6c3(0x131)](_0x144aaf,''))&&!_0x4b5cf0){_0x30b87b[_0x1a97b1]=null;continue;}const _0x3544ea=this['resolveLookupValue'](_0x144aaf,_0x3eacab);_0x3544ea!==null?_0x30b87b[_0x1a97b1]=_0x3544ea:(_0x4b5cf0&&_0x4874df['push']({'rowIndex':_0x1e183b,'field':_0x20cdf4,'value':_0x144aaf,'targetField':_0x1a97b1,'lookupTable':_0x4ee054,'message':_0xcdb6c3(0x11c)+_0x144aaf+_0xcdb6c3(0x10d)+_0x4ee054}),_0x30b87b[_0x1a97b1]=null);}return _0x30b87b;});return logger['info']({'event':_0x37786f['ZnSsm'],'totalRows':_0x2186ed['length'],'errorCount':_0x4874df['length'],'lookupFieldCount':Object['keys'](_0xc7f266)[_0x28e214(0x12b)]},_0x37786f[_0x28e214(0x139)]),{'processedRows':_0x43a997,'errors':_0x4874df};}['getDistinctValues'](_0x50e6f8,_0x37cc8f){const _0x41c34b={'kdAfi':function(_0x3364eb,_0x424304){return _0x3364eb!==_0x424304;},'IxlcM':function(_0x231c74,_0x4f1b10){return _0x231c74!==_0x4f1b10;},'SEFrZ':function(_0x17648f,_0x355c0c){return _0x17648f(_0x355c0c);}},_0x4b9cf2=new Set();return _0x50e6f8['forEach'](_0x4b3798=>{const _0x966d67=a0_0x2a01,_0xe96cc2=_0x4b3798[_0x37cc8f];_0x41c34b[_0x966d67(0x122)](_0xe96cc2,null)&&_0x41c34b['IxlcM'](_0xe96cc2,undefined)&&_0xe96cc2!==''&&_0x4b9cf2['add'](_0x41c34b[_0x966d67(0x138)](String,_0xe96cc2)[_0x966d67(0x12f)]());}),Array['from'](_0x4b9cf2);}async['validateLookupValues'](_0x2172d6,_0x18b41d){const _0x3f4467=a0_0x1293d6,_0x3b4cc1={'WcAYS':function(_0x2b6a53,_0x176388){return _0x2b6a53===_0x176388;}};if(!_0x18b41d||Object[_0x3f4467(0x10f)](_0x18b41d)[_0x3f4467(0x12b)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x3fb6fa=[],_0x4b5811={};for(const [_0x254a63,_0x3f96d3]of Object['entries'](_0x18b41d)){const {lookupTable:_0x3f911b,lookupColumn:_0x1b2196,lookupIdColumn:_0x5619fc,required:_0x507168}=_0x3f96d3,_0x129e03=this['getDistinctValues'](_0x2172d6,_0x254a63),_0x1d2c12=await this[_0x3f4467(0x10c)](_0x3f911b,_0x1b2196,_0x5619fc),_0x5384c7=[],_0x9d1f88=[];_0x129e03['forEach'](_0x3dd2ab=>{const _0x4d3790=_0x3f4467,_0x551741=this[_0x4d3790(0x119)](_0x3dd2ab,_0x1d2c12);_0x551741!==null?_0x9d1f88[_0x4d3790(0x115)](_0x3dd2ab):_0x5384c7['push'](_0x3dd2ab);});if(_0x5384c7[_0x3f4467(0x12b)]>0x0&&_0x507168){_0x3fb6fa[_0x3f4467(0x115)]({'field':_0x254a63,'lookupTable':_0x3f911b,'invalidValues':_0x5384c7,'message':_0x5384c7[_0x3f4467(0x12b)]+_0x3f4467(0x133)+_0x3f911b});const _0x4dbb48=[];_0x1d2c12['forEach']((_0xe043f1,_0x2eecca)=>{const _0x3485ab=_0x3f4467;if(_0x3b4cc1['WcAYS'](_0x2eecca,_0x2eecca['toLowerCase']()))return;_0x4dbb48[_0x3485ab(0x115)](_0x2eecca);}),_0x4b5811[_0x254a63]={'invalidValues':_0x5384c7,'availableValues':_0x4dbb48['slice'](0x0,0x32)};}}return{'valid':_0x3fb6fa['length']===0x0,'errors':_0x3fb6fa,'suggestions':_0x4b5811};}}module['exports']=new LookupResolver();
@@ -1 +1 @@
1
- function a0_0x3793(_0x2fd019,_0x109656){_0x2fd019=_0x2fd019-0x96;const _0x395c34=a0_0x395c();let _0x3793b9=_0x395c34[_0x2fd019];if(a0_0x3793['JMKDvp']===undefined){var _0x371977=function(_0x500f0f){const _0x257c50='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55d880='',_0x1d3cbd='';for(let _0x2e5012=0x0,_0x53e0cf,_0x5b76e8,_0x364a5c=0x0;_0x5b76e8=_0x500f0f['charAt'](_0x364a5c++);~_0x5b76e8&&(_0x53e0cf=_0x2e5012%0x4?_0x53e0cf*0x40+_0x5b76e8:_0x5b76e8,_0x2e5012++%0x4)?_0x55d880+=String['fromCharCode'](0xff&_0x53e0cf>>(-0x2*_0x2e5012&0x6)):0x0){_0x5b76e8=_0x257c50['indexOf'](_0x5b76e8);}for(let _0xf8eaec=0x0,_0x3ea8fa=_0x55d880['length'];_0xf8eaec<_0x3ea8fa;_0xf8eaec++){_0x1d3cbd+='%'+('00'+_0x55d880['charCodeAt'](_0xf8eaec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d3cbd);};a0_0x3793['aLQXHo']=_0x371977,a0_0x3793['rqJWNp']={},a0_0x3793['JMKDvp']=!![];}const _0x1a3c80=_0x395c34[0x0],_0x453686=_0x2fd019+_0x1a3c80,_0x3b1515=a0_0x3793['rqJWNp'][_0x453686];return!_0x3b1515?(_0x3793b9=a0_0x3793['aLQXHo'](_0x3793b9),a0_0x3793['rqJWNp'][_0x453686]=_0x3793b9):_0x3793b9=_0x3b1515,_0x3793b9;}const a0_0xcf4a55=a0_0x3793;(function(_0x5aad7f,_0x4e28d4){const _0x5bd9c2=a0_0x3793,_0x218dca=_0x5aad7f();while(!![]){try{const _0x452e7f=parseInt(_0x5bd9c2(0xaf))/0x1+parseInt(_0x5bd9c2(0xaa))/0x2*(parseInt(_0x5bd9c2(0xb9))/0x3)+-parseInt(_0x5bd9c2(0xba))/0x4*(-parseInt(_0x5bd9c2(0xbb))/0x5)+-parseInt(_0x5bd9c2(0xa2))/0x6*(-parseInt(_0x5bd9c2(0x9e))/0x7)+parseInt(_0x5bd9c2(0xa4))/0x8*(parseInt(_0x5bd9c2(0xb8))/0x9)+parseInt(_0x5bd9c2(0xae))/0xa+-parseInt(_0x5bd9c2(0xa1))/0xb;if(_0x452e7f===_0x4e28d4)break;else _0x218dca['push'](_0x218dca['shift']());}catch(_0xec1515){_0x218dca['push'](_0x218dca['shift']());}}}(a0_0x395c,0x8420e));const fs=require('fs')[a0_0xcf4a55(0x96)],path=require('path'),{logger}=require('./logger');function a0_0x395c(){const _0x3b3c9a=['mtq5mdiXmMPhsxDAvW','mtbAvwj5rMC','DxrMoa','AM9PBG','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','zxjYB3i','ChjVBwLZzxm','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','AgfZ','Cgf5Bg9Hzf9SB2fKzwq','CMvHzezPBgu','CgfYC2u','Cgf5Bg9HzdO','rgHYr1O','n05SrNfzyq','BwvZC2fNzq','y2fJAgu','mJG1nZiYmtrevNnhA0O','ntuYndy3neHvtvHQsG','Axnby3rPB25fBMfIBgvK','odmXmKfrvfH5DG','s2zStwq','ugf5Bg9HzcbUB3qGzM91BMq6ia','Aw5MBW','Bg9HzfbHEwXVywq','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mZG5mZm4BwHRB1rc','lMPZB24','Cgf5Bg9HzerPCG','z2v0','mJK1nty1mgPrzNzzuq','mZm4mZCZvgz4B0Tl','z2v0rxHWB3j0q29UzMLN','Bg9HzfbHEwXVywrcEu5HBwu','C2v0','zgf0yxrHyMXLC1f1zxj5','lwv4Cg9YDa','lI4VlI4VCgf5Bg9Hza','CMvWBgfJzq','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','ntu4mfPwDhbSqG','m3jJwhPdAq'];a0_0x395c=function(){return _0x3b3c9a;};return a0_0x395c();}class PayloadLoader{constructor(){const _0x25c966=a0_0xcf4a55,_0xc70df4={'cMebg':_0x25c966(0xb5)};this[_0x25c966(0xac)]=path[_0x25c966(0xbd)](__dirname,_0xc70df4['cMebg']),this['cache']=new Map();}async[a0_0xcf4a55(0xa8)](_0x12bfea,_0x14c0bc){const _0x2ee741=a0_0xcf4a55,_0x1044e0={'DhrGZ':_0x2ee741(0x99),'qmLRv':_0x2ee741(0xa9)},_0x252ba6=_0x12bfea+':'+_0x14c0bc;if(this[_0x2ee741(0xa0)][_0x2ee741(0x98)](_0x252ba6))return this[_0x2ee741(0xa0)][_0x2ee741(0xad)](_0x252ba6);const _0x3fab5d=path[_0x2ee741(0xbd)](this['payloadDir'],_0x12bfea+'_'+_0x14c0bc+'.json');try{const _0x3488fd=await fs[_0x2ee741(0x9a)](_0x3fab5d,_0x2ee741(0xbc)),_0x209ee1=JSON['parse'](_0x3488fd);return this['cache']['set'](_0x252ba6,_0x209ee1),logger['debug']({'event':_0x1044e0[_0x2ee741(0x9d)],'project':_0x12bfea,'resource':_0x14c0bc},'Payload\x20loaded\x20successfully'),_0x209ee1;}catch(_0x1437eb){logger[_0x2ee741(0xbf)]({'event':_0x2ee741(0xb7),'project':_0x12bfea,'resource':_0x14c0bc,'error':_0x1437eb[_0x2ee741(0x9f)]},_0x1044e0['qmLRv']);throw new Error('Payload\x20not\x20found:\x20'+_0x12bfea+'_'+_0x14c0bc);}}async[a0_0xcf4a55(0xb1)](_0x24375c){const _0x4fbed8=a0_0xcf4a55,_0x1d5276={'KflMd':'payload_load_error'},_0x53516f=_0x4fbed8(0x9c)+_0x24375c;if(this['cache']['has'](_0x53516f))return this['cache'][_0x4fbed8(0xad)](_0x53516f);const _0x25c7aa=path[_0x4fbed8(0xbd)](this[_0x4fbed8(0xac)],_0x24375c+_0x4fbed8(0xab));try{const _0x468930=await fs['readFile'](_0x25c7aa,_0x4fbed8(0xbc)),_0x364da0=JSON[_0x4fbed8(0x9b)](_0x468930);return this[_0x4fbed8(0xa0)][_0x4fbed8(0xb2)](_0x53516f,_0x364da0),logger['debug']({'event':_0x4fbed8(0x99),'payloadName':_0x24375c},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x364da0;}catch(_0x127d80){logger['error']({'event':_0x1d5276[_0x4fbed8(0xa5)],'payloadName':_0x24375c,'error':_0x127d80['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x4fbed8(0xa6)+_0x24375c);}}[a0_0xcf4a55(0xa3)](_0x2ad2c1,_0x42ee54){const _0x5909a6={'Lfgoz':function(_0x56e44e,_0x23657f){return _0x56e44e===_0x23657f;}};return _0x2ad2c1['action']&&_0x5909a6['Lfgoz'](_0x2ad2c1['action'][_0x42ee54],!![]);}[a0_0xcf4a55(0xb0)](_0x3c37f0){const _0x5713ed=a0_0xcf4a55;return{'columns':_0x3c37f0['fieldName']||[],'filename':_0x3c37f0['tableName'][_0x5713ed(0xb6)]('.','-')+_0x5713ed(0xb4),'datatablesQuery':_0x3c37f0[_0x5713ed(0xb3)]||null,'columnFormats':_0x3c37f0['columnFormats']||null,'fieldLabels':_0x3c37f0['fieldLabels']||null};}['clearCache'](){const _0x29995b=a0_0xcf4a55,_0x35d100={'ulGyb':_0x29995b(0xbe)};this['cache']['clear'](),logger[_0x29995b(0xa7)]({'event':_0x35d100['ulGyb']},_0x29995b(0x97));}}module['exports']=new PayloadLoader();
1
+ const a0_0x4df584=a0_0xca8f;(function(_0x594f4f,_0x21cde9){const _0x50eab8=a0_0xca8f,_0x345635=_0x594f4f();while(!![]){try{const _0x3aba20=parseInt(_0x50eab8(0xe2))/0x1+parseInt(_0x50eab8(0xe1))/0x2*(parseInt(_0x50eab8(0xef))/0x3)+parseInt(_0x50eab8(0xed))/0x4+-parseInt(_0x50eab8(0xe3))/0x5*(-parseInt(_0x50eab8(0xe8))/0x6)+-parseInt(_0x50eab8(0xd7))/0x7+-parseInt(_0x50eab8(0xe0))/0x8*(-parseInt(_0x50eab8(0xd8))/0x9)+-parseInt(_0x50eab8(0xda))/0xa*(parseInt(_0x50eab8(0xd9))/0xb);if(_0x3aba20===_0x21cde9)break;else _0x345635['push'](_0x345635['shift']());}catch(_0x4cb4f5){_0x345635['push'](_0x345635['shift']());}}}(a0_0x3af6,0x79b4c));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');function a0_0x3af6(){const _0x149be3=['nZC4nZaWwwHkwu51','EuXSAe4','ntDqwvr5EKm','lMPZB24','CgfYC2u','CMvHzezPBgu','DxrMoa','zMLLBgroyw1L','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','z2v0','y2fJAgu','C2v0','Bg9HzfbHEwXVywq','Cw5owxe','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','yKfPEuG','rfLJqvm','mJGZndi3mKLRAK1suW','ovjVAu95yq','mta5mZK1odHyvvLzrKi','mJbgAeH0zMC','z2v0rxHWB3j0q29UzMLN','ywn0Aw9U','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','AgfZ','zgf0yxrHyMXLC1f1zxj5','nJq4mtGWohHrqvjItW','otm4odz6vwn3u24','mtuYnZK4tKz2vLbf','mta1mZuWnu1SrLzQyW','zxjYB3i','DgfIBgvoyw1L','Bg9HzfbHEwXVywrcEu5HBwu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','mJreDw9YAw8','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','AM9PBG','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','zMLLBgrmywjLBhm'];a0_0x3af6=function(){return _0x149be3;};return a0_0x3af6();}function a0_0xca8f(_0x197ae2,_0x4abf64){_0x197ae2=_0x197ae2-0xd1;const _0x3af6cc=a0_0x3af6();let _0xca8fe9=_0x3af6cc[_0x197ae2];if(a0_0xca8f['HEUaQe']===undefined){var _0x370d95=function(_0x24ad94){const _0x3ee88e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29ec46='',_0x38dd14='';for(let _0x185a81=0x0,_0x14a7b8,_0x11dd1d,_0x5863ab=0x0;_0x11dd1d=_0x24ad94['charAt'](_0x5863ab++);~_0x11dd1d&&(_0x14a7b8=_0x185a81%0x4?_0x14a7b8*0x40+_0x11dd1d:_0x11dd1d,_0x185a81++%0x4)?_0x29ec46+=String['fromCharCode'](0xff&_0x14a7b8>>(-0x2*_0x185a81&0x6)):0x0){_0x11dd1d=_0x3ee88e['indexOf'](_0x11dd1d);}for(let _0x19ff2f=0x0,_0x4cfb0d=_0x29ec46['length'];_0x19ff2f<_0x4cfb0d;_0x19ff2f++){_0x38dd14+='%'+('00'+_0x29ec46['charCodeAt'](_0x19ff2f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x38dd14);};a0_0xca8f['PlImtn']=_0x370d95,a0_0xca8f['eQltFG']={},a0_0xca8f['HEUaQe']=!![];}const _0x9ac11a=_0x3af6cc[0x0],_0x254abf=_0x197ae2+_0x9ac11a,_0x3b839f=a0_0xca8f['eQltFG'][_0x254abf];return!_0x3b839f?(_0xca8fe9=a0_0xca8f['PlImtn'](_0xca8fe9),a0_0xca8f['eQltFG'][_0x254abf]=_0xca8fe9):_0xca8fe9=_0x3b839f,_0xca8fe9;}class PayloadLoader{constructor(){const _0x2e0f27=a0_0xca8f,_0x3f5c45={'yLlhN':'../../payload'};this['payloadDir']=path[_0x2e0f27(0xea)](__dirname,_0x3f5c45[_0x2e0f27(0xee)]),this[_0x2e0f27(0xf7)]=new Map();}async[a0_0x4df584(0xd2)](_0x3dddcc,_0x57903e){const _0x4ec802=a0_0x4df584,_0x519824={'qnNYq':'payload_loaded','EZCVd':_0x4ec802(0xeb)},_0x4ec9e2=_0x3dddcc+':'+_0x57903e;if(this[_0x4ec802(0xf7)][_0x4ec802(0xde)](_0x4ec9e2))return this[_0x4ec802(0xf7)]['get'](_0x4ec9e2);const _0x2c5432=path['join'](this['payloadDir'],_0x3dddcc+'_'+_0x57903e+_0x4ec802(0xf0));try{const _0x7b103=await fs['readFile'](_0x2c5432,'utf8'),_0x3f2046=JSON[_0x4ec802(0xf1)](_0x7b103);return this[_0x4ec802(0xf7)]['set'](_0x4ec9e2,_0x3f2046),logger['debug']({'event':_0x519824[_0x4ec802(0xd3)],'project':_0x3dddcc,'resource':_0x57903e},_0x4ec802(0xd4)),_0x3f2046;}catch(_0x48d564){logger[_0x4ec802(0xe4)]({'event':_0x519824['EZCVd'],'project':_0x3dddcc,'resource':_0x57903e,'error':_0x48d564['message']},_0x4ec802(0xdd));throw new Error('Payload\x20not\x20found:\x20'+_0x3dddcc+'_'+_0x57903e);}}async[a0_0x4df584(0xe6)](_0x260f3a){const _0x2ff1d7=a0_0x4df584,_0x4d1992={'cMVXU':_0x2ff1d7(0xe7)},_0x55153d='payload:'+_0x260f3a;if(this['cache'][_0x2ff1d7(0xde)](_0x55153d))return this['cache'][_0x2ff1d7(0xf6)](_0x55153d);const _0x50aaff=path[_0x2ff1d7(0xea)](this['payloadDir'],_0x260f3a+'.json');try{const _0x2b8df5=await fs[_0x2ff1d7(0xf2)](_0x50aaff,_0x2ff1d7(0xf3)),_0x5ec4c9=JSON['parse'](_0x2b8df5);return this[_0x2ff1d7(0xf7)][_0x2ff1d7(0xd1)](_0x55153d,_0x5ec4c9),logger['debug']({'event':'payload_loaded','payloadName':_0x260f3a},_0x4d1992['cMVXU']),_0x5ec4c9;}catch(_0x189712){logger[_0x2ff1d7(0xe4)]({'event':_0x2ff1d7(0xeb),'payloadName':_0x260f3a,'error':_0x189712['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x260f3a);}}['isActionEnabled'](_0x2a7ddc,_0x2c8fca){const _0x12b196=a0_0x4df584,_0x5cf383={'DYcAS':function(_0xc99240,_0x253c43){return _0xc99240===_0x253c43;}};return _0x2a7ddc['action']&&_0x5cf383[_0x12b196(0xd6)](_0x2a7ddc[_0x12b196(0xdc)][_0x2c8fca],!![]);}[a0_0x4df584(0xdb)](_0x2812ec){const _0x5217d1=a0_0x4df584;return{'columns':_0x2812ec[_0x5217d1(0xf4)]||[],'filename':_0x2812ec[_0x5217d1(0xe5)]['replace']('.','-')+'-export','datatablesQuery':_0x2812ec[_0x5217d1(0xdf)]||null,'columnFormats':_0x2812ec['columnFormats']||null,'fieldLabels':_0x2812ec[_0x5217d1(0xec)]||null};}['clearCache'](){const _0x9cd597=a0_0x4df584,_0x52e0a2={'bAiyH':_0x9cd597(0xe9),'ORqfV':_0x9cd597(0xf5)};this['cache']['clear'](),logger['info']({'event':_0x52e0a2[_0x9cd597(0xd5)]},_0x52e0a2['ORqfV']);}}module['exports']=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';function a0_0x9cad(){var _0x39f6af=['ntKWnZy2nNLbreDsvW','mJy1mJuZmg1PthvtDG','ndK3mdDZy3H4sMO','nJaYmfHwuhn6sa','nta4mtm4sLv6v0TS','mZy0ndu1m2PlA0LXsW','mty3oteYng5ZEMLvrW','nJy5nZKXmKnJALDZEq','n3rrtNzjza','Dg9ju09tDhjPBMC','nNPzq2Puqq'];a0_0x9cad=function(){return _0x39f6af;};return a0_0x9cad();}(function(_0x37d3e3,_0x1a5eb0){var _0x2d1dad=a0_0x1b98,_0x5a71d6=_0x37d3e3();while(!![]){try{var _0x498a0b=parseInt(_0x2d1dad(0xf1))/0x1*(parseInt(_0x2d1dad(0xf6))/0x2)+-parseInt(_0x2d1dad(0xf7))/0x3+-parseInt(_0x2d1dad(0xed))/0x4+-parseInt(_0x2d1dad(0xf3))/0x5+-parseInt(_0x2d1dad(0xf2))/0x6+-parseInt(_0x2d1dad(0xef))/0x7*(parseInt(_0x2d1dad(0xee))/0x8)+-parseInt(_0x2d1dad(0xf4))/0x9*(-parseInt(_0x2d1dad(0xf5))/0xa);if(_0x498a0b===_0x1a5eb0)break;else _0x5a71d6['push'](_0x5a71d6['shift']());}catch(_0x526f3e){_0x5a71d6['push'](_0x5a71d6['shift']());}}}(a0_0x9cad,0xd2840));function a0_0x1b98(_0x3bedc5,_0x1f13c5){_0x3bedc5=_0x3bedc5-0xed;var _0x9cad6d=a0_0x9cad();var _0x1b9884=_0x9cad6d[_0x3bedc5];if(a0_0x1b98['ZlFDht']===undefined){var _0x346385=function(_0x461214){var _0x20744a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x284e70='',_0x2c7f1f='';for(var _0x1da29a=0x0,_0x46357a,_0x3ce990,_0x5bd794=0x0;_0x3ce990=_0x461214['charAt'](_0x5bd794++);~_0x3ce990&&(_0x46357a=_0x1da29a%0x4?_0x46357a*0x40+_0x3ce990:_0x3ce990,_0x1da29a++%0x4)?_0x284e70+=String['fromCharCode'](0xff&_0x46357a>>(-0x2*_0x1da29a&0x6)):0x0){_0x3ce990=_0x20744a['indexOf'](_0x3ce990);}for(var _0x11b88f=0x0,_0x540041=_0x284e70['length'];_0x11b88f<_0x540041;_0x11b88f++){_0x2c7f1f+='%'+('00'+_0x284e70['charCodeAt'](_0x11b88f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c7f1f);};a0_0x1b98['oktasO']=_0x346385,a0_0x1b98['PMvTix']={},a0_0x1b98['ZlFDht']=!![];}var _0x3c8373=_0x9cad6d[0x0],_0x591a3d=_0x3bedc5+_0x3c8373,_0x2f9c4d=a0_0x1b98['PMvTix'][_0x591a3d];return!_0x2f9c4d?(_0x1b9884=a0_0x1b98['oktasO'](_0x1b9884),a0_0x1b98['PMvTix'][_0x591a3d]=_0x1b9884):_0x1b9884=_0x2f9c4d,_0x1b9884;}function createResponse(_0x5ba2a4,_0x18cbae,_0x21ad10=null){return{'success':!![],'statusCode':_0x5ba2a4,'message':_0x18cbae,'data':_0x21ad10,'timestamp':new Date()['toISOString']()};}function createError(_0x13eb82,_0x264898,_0xb0e804=null){return{'success':![],'statusCode':_0x13eb82,'message':_0x264898,'data':_0xb0e804,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x3560bd,_0x515238){var _0x3efb40=a0_0x1b98;return{'success':![],'statusCode':0x190,'message':_0x3560bd,'data':{'errors':_0x515238},'timestamp':new Date()[_0x3efb40(0xf0)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';var a0_0x17bc74=a0_0x3571;(function(_0x20d37c,_0x405941){var _0x3221d2=a0_0x3571,_0x2bf9e0=_0x20d37c();while(!![]){try{var _0x22062f=parseInt(_0x3221d2(0x19a))/0x1*(-parseInt(_0x3221d2(0x19e))/0x2)+parseInt(_0x3221d2(0x19b))/0x3*(parseInt(_0x3221d2(0x19c))/0x4)+parseInt(_0x3221d2(0x1a4))/0x5*(parseInt(_0x3221d2(0x1a2))/0x6)+-parseInt(_0x3221d2(0x19d))/0x7+-parseInt(_0x3221d2(0x199))/0x8*(parseInt(_0x3221d2(0x198))/0x9)+parseInt(_0x3221d2(0x19f))/0xa+parseInt(_0x3221d2(0x1a1))/0xb;if(_0x22062f===_0x405941)break;else _0x2bf9e0['push'](_0x2bf9e0['shift']());}catch(_0x294c50){_0x2bf9e0['push'](_0x2bf9e0['shift']());}}}(a0_0x2611,0xdd837));function a0_0x3571(_0x383511,_0x1632ed){_0x383511=_0x383511-0x198;var _0x2611c9=a0_0x2611();var _0x3571aa=_0x2611c9[_0x383511];if(a0_0x3571['tXexLI']===undefined){var _0xf9485=function(_0x3c0d38){var _0x42eaed='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3681b4='',_0x38c015='';for(var _0x31fdbe=0x0,_0x331d73,_0x4e6206,_0x516a7d=0x0;_0x4e6206=_0x3c0d38['charAt'](_0x516a7d++);~_0x4e6206&&(_0x331d73=_0x31fdbe%0x4?_0x331d73*0x40+_0x4e6206:_0x4e6206,_0x31fdbe++%0x4)?_0x3681b4+=String['fromCharCode'](0xff&_0x331d73>>(-0x2*_0x31fdbe&0x6)):0x0){_0x4e6206=_0x42eaed['indexOf'](_0x4e6206);}for(var _0xce3ee3=0x0,_0x5682d6=_0x3681b4['length'];_0xce3ee3<_0x5682d6;_0xce3ee3++){_0x38c015+='%'+('00'+_0x3681b4['charCodeAt'](_0xce3ee3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x38c015);};a0_0x3571['SAAxSb']=_0xf9485,a0_0x3571['VJeShM']={},a0_0x3571['tXexLI']=!![];}var _0x53bad9=_0x2611c9[0x0],_0x4fbc70=_0x383511+_0x53bad9,_0xd5bb7f=a0_0x3571['VJeShM'][_0x4fbc70];return!_0xd5bb7f?(_0x3571aa=a0_0x3571['SAAxSb'](_0x3571aa),a0_0x3571['VJeShM'][_0x4fbc70]=_0x3571aa):_0x3571aa=_0xd5bb7f,_0x3571aa;}function createResponse(_0xe5e6df,_0x23efb0,_0x45500d=null){var _0x55d2c1=a0_0x3571;return{'success':!![],'statusCode':_0xe5e6df,'message':_0x23efb0,'data':_0x45500d,'timestamp':new Date()[_0x55d2c1(0x1a3)]()};}function createError(_0x1aaabd,_0x51e252,_0x4e107d=null){var _0x3ddd07=a0_0x3571;return{'success':![],'statusCode':_0x1aaabd,'message':_0x51e252,'data':_0x4e107d,'timestamp':new Date()[_0x3ddd07(0x1a3)]()};}function createValidationError(_0x124c10,_0x56dfe8){return{'success':![],'statusCode':0x190,'message':_0x124c10,'data':{'errors':_0x56dfe8},'timestamp':new Date()['toISOString']()};}function a0_0x2611(){var _0x556cfe=['nJqXne1bEenyuG','Dg9ju09tDhjPBMC','nduWnuvRwgPIzG','nZq5ndy2BeHhuxvh','oenKzNvWDW','mti3mJqYn2PTrgzIAq','ntu3odeXAwTVAuLr','mtj5BeTQt1G','otq0nZyWnKLltNPRCq','mKTcD0fLsq','mtu2odC0mhj3B3njzq','zxHWB3j0CW','mJeYodmWnJrbr2TrzNm'];a0_0x2611=function(){return _0x556cfe;};return a0_0x2611();}module[a0_0x17bc74(0x1a0)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x177d31=a0_0x2fcc;(function(_0x364ec4,_0x56ca0f){const _0x243922=a0_0x2fcc,_0x13b55d=_0x364ec4();while(!![]){try{const _0x511038=parseInt(_0x243922(0xf6))/0x1+parseInt(_0x243922(0xde))/0x2*(-parseInt(_0x243922(0xe9))/0x3)+-parseInt(_0x243922(0xec))/0x4*(parseInt(_0x243922(0xd2))/0x5)+parseInt(_0x243922(0xfb))/0x6+parseInt(_0x243922(0xe8))/0x7*(-parseInt(_0x243922(0x102))/0x8)+-parseInt(_0x243922(0x100))/0x9*(parseInt(_0x243922(0xda))/0xa)+-parseInt(_0x243922(0xf2))/0xb*(-parseInt(_0x243922(0xf3))/0xc);if(_0x511038===_0x56ca0f)break;else _0x13b55d['push'](_0x13b55d['shift']());}catch(_0x457953){_0x13b55d['push'](_0x13b55d['shift']());}}}(a0_0x1ef1,0x64f80),require(a0_0x177d31(0xf9))['config']());const amqp=require(a0_0x177d31(0xee)),{formatDate}=require(a0_0x177d31(0xf1)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process['env']['RABBITMQ_QUEUE'];async function createConnection(){const _0x1a4b63=a0_0x177d31,_0x161812={'EIxcw':function(_0x3c9784,_0xb6178e){return _0x3c9784(_0xb6178e);}};try{const _0x58fba3=await amqp['connect'](RABBITMQ_URL);return console[_0x1a4b63(0xd7)]('['+formatDate(new Date())+_0x1a4b63(0xf8)),_0x58fba3;}catch(_0x3b9ef6){console['error']('['+_0x161812[_0x1a4b63(0xfc)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x3b9ef6['message']);throw _0x3b9ef6;}}async function createChannel(_0x3d4b6b){const _0x14e7d2=a0_0x177d31;try{const _0x366018=await _0x3d4b6b['createChannel']();return console[_0x14e7d2(0xd7)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x366018;}catch(_0x55b83c){console[_0x14e7d2(0xdb)]('['+formatDate(new Date())+_0x14e7d2(0xe6)+_0x55b83c['message']);throw _0x55b83c;}}function a0_0x2fcc(_0x334abe,_0x1f7b09){_0x334abe=_0x334abe-0xd1;const _0x1ef170=a0_0x1ef1();let _0x2fcc4a=_0x1ef170[_0x334abe];if(a0_0x2fcc['ncJKyZ']===undefined){var _0x5810e4=function(_0x18b3b1){const _0x5f45dd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32d4e9='',_0x337ce8='';for(let _0x10b8c7=0x0,_0x509d16,_0x54b349,_0x245b2b=0x0;_0x54b349=_0x18b3b1['charAt'](_0x245b2b++);~_0x54b349&&(_0x509d16=_0x10b8c7%0x4?_0x509d16*0x40+_0x54b349:_0x54b349,_0x10b8c7++%0x4)?_0x32d4e9+=String['fromCharCode'](0xff&_0x509d16>>(-0x2*_0x10b8c7&0x6)):0x0){_0x54b349=_0x5f45dd['indexOf'](_0x54b349);}for(let _0x1873fa=0x0,_0x6c4652=_0x32d4e9['length'];_0x1873fa<_0x6c4652;_0x1873fa++){_0x337ce8+='%'+('00'+_0x32d4e9['charCodeAt'](_0x1873fa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x337ce8);};a0_0x2fcc['Uxpcnx']=_0x5810e4,a0_0x2fcc['EEztAK']={},a0_0x2fcc['ncJKyZ']=!![];}const _0x1770db=_0x1ef170[0x0],_0x2db637=_0x334abe+_0x1770db,_0x3cc35e=a0_0x2fcc['EEztAK'][_0x2db637];return!_0x3cc35e?(_0x2fcc4a=a0_0x2fcc['Uxpcnx'](_0x2fcc4a),a0_0x2fcc['EEztAK'][_0x2db637]=_0x2fcc4a):_0x2fcc4a=_0x3cc35e,_0x2fcc4a;}async function setupInfrastructure(_0x290ee7){const _0x477f59=a0_0x177d31,_0x1bf507={'YOBMp':_0x477f59(0xe2),'LSDPc':'direct','FUWpl':function(_0x21b794,_0x266d60){return _0x21b794(_0x266d60);},'wqmLF':_0x477f59(0xff)};try{await _0x290ee7['assertExchange'](_0x1bf507[_0x477f59(0xe7)],_0x1bf507[_0x477f59(0xf4)],{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x477f59(0xe5));}catch(_0x299694){console[_0x477f59(0xdb)]('['+formatDate(new Date())+_0x477f59(0xf7),_0x299694['message']);throw _0x299694;}try{await _0x290ee7[_0x477f59(0xe0)](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console[_0x477f59(0xd7)]('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x477f59(0xd5));}catch(_0x4e2c9e){console[_0x477f59(0xdb)]('['+formatDate(new Date())+_0x477f59(0xdd)+EXCHANGE+':',_0x4e2c9e['message']);throw _0x4e2c9e;}const _0x5b55ae=ROUTING_KEY+_0x477f59(0xf0);try{const _0x3af954={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x290ee7['assertQueue'](_0x5b55ae,_0x3af954),console[_0x477f59(0xd7)]('['+formatDate(new Date())+_0x477f59(0xf5)+_0x5b55ae+_0x477f59(0xd5)),await _0x290ee7[_0x477f59(0xef)](_0x5b55ae,_0x477f59(0xe2),ROUTING_KEY),console[_0x477f59(0xd7)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x477f59(0xd3));}catch(_0x23d46b){console['error']('['+formatDate(new Date())+_0x477f59(0xeb),_0x23d46b[_0x477f59(0xe1)]);throw _0x23d46b;}try{const _0x48b5b6={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x54bb6d=await _0x290ee7[_0x477f59(0xd1)](QUEUE,_0x48b5b6);console['log']('['+formatDate(new Date())+_0x477f59(0xd6)+QUEUE+'\x20'+(_0x54bb6d['queue']===QUEUE?_0x477f59(0xfe):'found')+'\x20with\x20DLX'),await _0x290ee7['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x477f59(0xd9)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x477f59(0xea));}catch(_0x56c6f1){if(_0x56c6f1[_0x477f59(0xe1)]['includes']('inequivalent\x20arg')&&_0x56c6f1[_0x477f59(0xe1)][_0x477f59(0xed)](_0x477f59(0xdf)))console[_0x477f59(0xdb)]('\x0a['+_0x1bf507[_0x477f59(0xd4)](formatDate,new Date())+_0x477f59(0xd8)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x477f59(0xdb)](_0x477f59(0xdc)+QUEUE+_0x477f59(0xfa)),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x477f59(0x101)](0x1);else{console[_0x477f59(0xdb)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x56c6f1['message']);throw _0x56c6f1;}}}catch(_0x4f7b47){if(!_0x4f7b47[_0x477f59(0xe1)]['includes'](_0x1bf507[_0x477f59(0xe4)])){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x4f7b47[_0x477f59(0xe1)]);throw _0x4f7b47;}process['exit'](0x1);}}async function closeConnection(_0x271f03){const _0x86027c=a0_0x177d31,_0xe47e73={'eHPDF':function(_0x521b7b,_0x43d3b0){return _0x521b7b(_0x43d3b0);}};if(_0x271f03)try{await _0x271f03[_0x86027c(0xfd)](),console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x28b8f9){console['error']('['+_0xe47e73['eHPDF'](formatDate,new Date())+_0x86027c(0xe3)+_0x28b8f9[_0x86027c(0xe1)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x1ef1(){const _0x11ebd9=['uxvLDwuG','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','mLrIueTjtG','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','yxnZzxj0rxHJAgfUz2u','BwvZC2fNzq','CMv0CNKTzxHJAgfUz2u','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','D3fTtey','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','wu9ctxa','mJqZmZi3uK55sxj3','nJu2odC3DMrPB3bO','ksbJCMvHDgvK','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','mJbyA0r1vNG','Aw5JBhvKzxm','yw1XCgXPyG','yMLUzff1zxvL','x3jLDhj5','lI9KyxrLsgvSCgvY','mJCYogLfruPesq','otyWnZjmDgXyz0C','tfneugm','xsbszxrYEsbXDwv1zsa','mZKZotK1vLHkrNjH','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','zg90zw52','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','ntq4nZq4v2jxtMPh','ruL4y3C','y2XVC2u','y3jLyxrLzc9YzwfKEq','Aw5LCxvPDMfSzw50igfYzW','oxjrBgLbsq','zxHPDa','mtC2AwfhEhDy','yxnZzxj0uxvLDwu','nZa3mtu1yufVzKrx','ignYzwf0zwq','rLvxCgW','ignYzwf0zwqVCMvHzhK','xsbrDwv1zsa','Bg9N','xsbfuLjpuJOGuxvLDwuG','xsbcAw5KAw5Nia','mZy2nte3mgnSD1H1Aa','zxjYB3i'];a0_0x1ef1=function(){return _0x11ebd9;};return a0_0x1ef1();}
1
+ const a0_0x5962f1=a0_0x13d3;function a0_0x3b07(){const _0x18fcd7=['nZe0mJC4B3vkzfnH','odm3nti0oej2C1bKEa','BwvZC2fNzq','BLvYy0G','mtm2nZu0mJrZEufKEg4','zw52','zgLYzwn0','xsbszxrYEsbXDwv1zsa','xsbrDwv1zsa','zg90zw52','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','zxHWB3j0CW','CxvLDwu','uKfcqKLutvfFuK9vveLor19lrvK','xsbcAw5KAw5Nia','Aw5LCxvPDMfSzw50igfYzW','mZu0nZuYmxvSu1ntrW','mtbWse1zAhm','zxjYB3i','ndvHrKDUzeW','rxnXv1e','zM91BMq','Bg9N','yw1XCgXPyG','yMLUzff1zxvL','uKfcqKLutvfFvvjm','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','ndy0mdm2oe5nzvresW','wLvOrhC','Aw5JBhvKzxm','m0nLCuHwwa','x3jLDhj5','uKfcqKLutvfFuvvfvuu','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','ndmYmZK2yK9XCwnw','yNPRBeq','mJq4mtmYofrSsKP5Ea','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','zxHPDa','xsbfEgnOyw5Nzsa','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','xsbszxrYEsbIAw5KAw5NigzVCIa'];a0_0x3b07=function(){return _0x18fcd7;};return a0_0x3b07();}(function(_0x9ac943,_0x27561d){const _0xea6799=a0_0x13d3,_0xc7beb7=_0x9ac943();while(!![]){try{const _0x2abf4e=parseInt(_0xea6799(0xe4))/0x1+-parseInt(_0xea6799(0xde))/0x2+-parseInt(_0xea6799(0xd7))/0x3*(parseInt(_0xea6799(0xd4))/0x4)+parseInt(_0xea6799(0xcc))/0x5*(-parseInt(_0xea6799(0xdc))/0x6)+parseInt(_0xea6799(0xe5))/0x7+parseInt(_0xea6799(0xbd))/0x8+-parseInt(_0xea6799(0xc9))/0x9*(-parseInt(_0xea6799(0xca))/0xa);if(_0x2abf4e===_0x27561d)break;else _0xc7beb7['push'](_0xc7beb7['shift']());}catch(_0x24715f){_0xc7beb7['push'](_0xc7beb7['shift']());}}}(a0_0x3b07,0xeb97d),require(a0_0x5962f1(0xc2))['config']());const amqp=require(a0_0x5962f1(0xd0)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x5962f1(0xd2)],EXCHANGE=process[a0_0x5962f1(0xbe)]['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x5962f1(0xbe)][a0_0x5962f1(0xc6)],QUEUE=process['env'][a0_0x5962f1(0xd9)];async function createConnection(){const _0x215fb2=a0_0x5962f1,_0x280cdc={'bzklD':function(_0x7dde92,_0x1f0c1b){return _0x7dde92(_0x1f0c1b);}};try{const _0x2d0fd2=await amqp['connect'](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+_0x215fb2(0xc3)),_0x2d0fd2;}catch(_0x5a69e3){console[_0x215fb2(0xcb)]('['+_0x280cdc[_0x215fb2(0xdd)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x5a69e3[_0x215fb2(0xe6)]);throw _0x5a69e3;}}function a0_0x13d3(_0x3ece01,_0x427cb4){_0x3ece01=_0x3ece01-0xbd;const _0x3b0742=a0_0x3b07();let _0x13d32d=_0x3b0742[_0x3ece01];if(a0_0x13d3['YRFdhb']===undefined){var _0x3ded85=function(_0x509340){const _0x1e787a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19d18c='',_0x257b78='';for(let _0x52dc71=0x0,_0x1702b8,_0x455859,_0x2eb082=0x0;_0x455859=_0x509340['charAt'](_0x2eb082++);~_0x455859&&(_0x1702b8=_0x52dc71%0x4?_0x1702b8*0x40+_0x455859:_0x455859,_0x52dc71++%0x4)?_0x19d18c+=String['fromCharCode'](0xff&_0x1702b8>>(-0x2*_0x52dc71&0x6)):0x0){_0x455859=_0x1e787a['indexOf'](_0x455859);}for(let _0x39a453=0x0,_0x375b31=_0x19d18c['length'];_0x39a453<_0x375b31;_0x39a453++){_0x257b78+='%'+('00'+_0x19d18c['charCodeAt'](_0x39a453)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x257b78);};a0_0x13d3['exPUBf']=_0x3ded85,a0_0x13d3['TaEyep']={},a0_0x13d3['YRFdhb']=!![];}const _0x23b0aa=_0x3b0742[0x0],_0x4a9a43=_0x3ece01+_0x23b0aa,_0x5521b6=a0_0x13d3['TaEyep'][_0x4a9a43];return!_0x5521b6?(_0x13d32d=a0_0x13d3['exPUBf'](_0x13d32d),a0_0x13d3['TaEyep'][_0x4a9a43]=_0x13d32d):_0x13d32d=_0x5521b6,_0x13d32d;}async function createChannel(_0x2269d7){const _0x22bf39=a0_0x5962f1,_0xdc8b48={'ZUhDw':function(_0x4ef092,_0x2802ab){return _0x4ef092(_0x2802ab);}};try{const _0x18ca80=await _0x2269d7['createChannel']();return console[_0x22bf39(0xcf)]('['+formatDate(new Date())+_0x22bf39(0xd3)),_0x18ca80;}catch(_0x5baf38){console['error']('['+_0xdc8b48[_0x22bf39(0xd5)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x5baf38[_0x22bf39(0xe6)]);throw _0x5baf38;}}async function setupInfrastructure(_0x3d0a4a){const _0x589188=a0_0x5962f1,_0x13fa3c={'nUrcH':function(_0x5346b2,_0x492a1f){return _0x5346b2(_0x492a1f);},'EsqWQ':'retry-exchange'};try{await _0x3d0a4a['assertExchange']('retry-exchange','direct',{'durable':!![],'autoDelete':![]}),console[_0x589188(0xcf)]('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x1f8dc0){console[_0x589188(0xcb)]('['+_0x13fa3c[_0x589188(0xe7)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x1f8dc0[_0x589188(0xe6)]);throw _0x1f8dc0;}try{await _0x3d0a4a['assertExchange'](EXCHANGE,_0x589188(0xbf),{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x589188(0xe1)+EXCHANGE+'\x20created/ready');}catch(_0x34016d){console[_0x589188(0xcb)]('['+formatDate(new Date())+_0x589188(0xdf)+EXCHANGE+':',_0x34016d[_0x589188(0xe6)]);throw _0x34016d;}const _0x591845=ROUTING_KEY+_0x589188(0xd8);try{const _0x363cbe={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x3d0a4a['assertQueue'](_0x591845,_0x363cbe),console[_0x589188(0xcf)]('['+_0x13fa3c[_0x589188(0xe7)](formatDate,new Date())+_0x589188(0xc0)+_0x591845+'\x20created/ready'),await _0x3d0a4a[_0x589188(0xd1)](_0x591845,_0x13fa3c['EsqWQ'],ROUTING_KEY),console[_0x589188(0xcf)]('['+formatDate(new Date())+_0x589188(0xe3)+ROUTING_KEY+'\x20created');}catch(_0x5d6611){console[_0x589188(0xcb)]('['+_0x13fa3c['nUrcH'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x5d6611['message']);throw _0x5d6611;}try{const _0x37e033={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x13fa3c[_0x589188(0xcd)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x288be8=await _0x3d0a4a['assertQueue'](QUEUE,_0x37e033);console[_0x589188(0xcf)]('['+formatDate(new Date())+_0x589188(0xc1)+QUEUE+'\x20'+(_0x288be8[_0x589188(0xc5)]===QUEUE?'created/ready':_0x589188(0xce))+'\x20with\x20DLX'),await _0x3d0a4a['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x589188(0xcf)]('['+_0x13fa3c['nUrcH'](formatDate,new Date())+_0x589188(0xc7)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x49a028){if(_0x49a028['message']['includes']('inequivalent\x20arg')&&_0x49a028['message'][_0x589188(0xd6)](_0x589188(0xdb)))console[_0x589188(0xcb)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x589188(0xcb)]('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x589188(0xcb)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x589188(0xe0)](0x1);else{console[_0x589188(0xcb)]('['+formatDate(new Date())+_0x589188(0xda)+QUEUE+':',_0x49a028[_0x589188(0xe6)]);throw _0x49a028;}}}catch(_0x5eab9d){if(!_0x5eab9d['message']['includes'](_0x589188(0xc8))){console[_0x589188(0xcb)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x5eab9d[_0x589188(0xe6)]);throw _0x5eab9d;}process['exit'](0x1);}}async function closeConnection(_0xd80f04){const _0x326328=a0_0x5962f1;if(_0xd80f04)try{await _0xd80f04['close'](),console[_0x326328(0xcf)]('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x12f334){console[_0x326328(0xcb)]('['+formatDate(new Date())+_0x326328(0xe2)+_0x12f334['message']);}}module[a0_0x5962f1(0xc4)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- const a0_0x1544d1=a0_0x5f59;function a0_0x5f59(_0x301444,_0x4f868d){_0x301444=_0x301444-0x1ad;const _0x51af53=a0_0x51af();let _0x5f5920=_0x51af53[_0x301444];if(a0_0x5f59['NDcjJd']===undefined){var _0x4d2e03=function(_0x115677){const _0x2a3ed7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x422f83='',_0x13c101='';for(let _0x31e1a5=0x0,_0x45b0ef,_0x23c2fd,_0x4e8b33=0x0;_0x23c2fd=_0x115677['charAt'](_0x4e8b33++);~_0x23c2fd&&(_0x45b0ef=_0x31e1a5%0x4?_0x45b0ef*0x40+_0x23c2fd:_0x23c2fd,_0x31e1a5++%0x4)?_0x422f83+=String['fromCharCode'](0xff&_0x45b0ef>>(-0x2*_0x31e1a5&0x6)):0x0){_0x23c2fd=_0x2a3ed7['indexOf'](_0x23c2fd);}for(let _0x2e38b2=0x0,_0x82c4bd=_0x422f83['length'];_0x2e38b2<_0x82c4bd;_0x2e38b2++){_0x13c101+='%'+('00'+_0x422f83['charCodeAt'](_0x2e38b2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13c101);};a0_0x5f59['kTDeTd']=_0x4d2e03,a0_0x5f59['ZfXeBU']={},a0_0x5f59['NDcjJd']=!![];}const _0x465549=_0x51af53[0x0],_0x36f5b3=_0x301444+_0x465549,_0x2d3db5=a0_0x5f59['ZfXeBU'][_0x36f5b3];return!_0x2d3db5?(_0x5f5920=a0_0x5f59['kTDeTd'](_0x5f5920),a0_0x5f59['ZfXeBU'][_0x36f5b3]=_0x5f5920):_0x5f5920=_0x2d3db5,_0x5f5920;}(function(_0x458432,_0x2843ac){const _0x3818dc=a0_0x5f59,_0x1ad712=_0x458432();while(!![]){try{const _0x62ed53=parseInt(_0x3818dc(0x1bf))/0x1+-parseInt(_0x3818dc(0x1b7))/0x2*(parseInt(_0x3818dc(0x1ae))/0x3)+-parseInt(_0x3818dc(0x1cc))/0x4*(-parseInt(_0x3818dc(0x1c8))/0x5)+-parseInt(_0x3818dc(0x1cd))/0x6+parseInt(_0x3818dc(0x1c5))/0x7+-parseInt(_0x3818dc(0x1b9))/0x8*(parseInt(_0x3818dc(0x1c0))/0x9)+-parseInt(_0x3818dc(0x1ba))/0xa*(-parseInt(_0x3818dc(0x1cb))/0xb);if(_0x62ed53===_0x2843ac)break;else _0x1ad712['push'](_0x1ad712['shift']());}catch(_0x58f3a4){_0x1ad712['push'](_0x1ad712['shift']());}}}(a0_0x51af,0x8f5c2));const Redis=require(a0_0x1544d1(0x1c1)),{logger}=require('./logger');class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x30c342=a0_0x1544d1,_0x2e8e32={'GKANZ':function(_0x2a5145,_0x3f5f8e){return _0x2a5145*_0x3f5f8e;},'OPXGG':_0x30c342(0x1ca),'yZBiG':_0x30c342(0x1bd),'daJcx':'localhost','jknRi':function(_0x456480,_0x50816f,_0x356c73){return _0x456480(_0x50816f,_0x356c73);},'IxeYZ':'error','kOAHm':'Failed\x20to\x20initialize\x20Redis'};if(this[_0x30c342(0x1be)])return this[_0x30c342(0x1be)];try{return this['client']=new Redis({'host':process[_0x30c342(0x1c3)]['REDIS_HOST']||_0x2e8e32['daJcx'],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x2e8e32[_0x30c342(0x1b6)](parseInt,process[_0x30c342(0x1c3)][_0x30c342(0x1c4)],0xa)||0x0,'retryStrategy'(_0x5b9ccc){const _0x4fec3c=_0x30c342,_0x198fd3=Math[_0x4fec3c(0x1c2)](_0x2e8e32[_0x4fec3c(0x1c7)](_0x5b9ccc,0x32),0x7d0);return _0x198fd3;}}),this[_0x30c342(0x1be)]['on']('connect',()=>{const _0x4185e1=_0x30c342;this[_0x4185e1(0x1bc)]=!![],logger[_0x4185e1(0x1c6)]({'event':_0x2e8e32[_0x4185e1(0x1ce)]},_0x4185e1(0x1ad));}),this[_0x30c342(0x1be)]['on'](_0x2e8e32['IxeYZ'],_0x267f65=>{const _0x1c78ea=_0x30c342;this['isConnected']=![],logger[_0x1c78ea(0x1b1)]({'event':_0x2e8e32['yZBiG'],'error':_0x267f65[_0x1c78ea(0x1c9)]},'Redis\x20connection\x20error:\x20'+_0x267f65[_0x1c78ea(0x1c9)]);}),this['client']['on'](_0x30c342(0x1b3),()=>{const _0x57d9d8=_0x30c342;this[_0x57d9d8(0x1bc)]=![],logger[_0x57d9d8(0x1b4)]({'event':'redis_disconnected'},'Redis\x20connection\x20closed');}),this[_0x30c342(0x1be)];}catch(_0x1a0fd9){logger[_0x30c342(0x1b1)]({'event':_0x30c342(0x1b5),'error':_0x1a0fd9[_0x30c342(0x1c9)]},_0x2e8e32['kOAHm']);throw _0x1a0fd9;}}[a0_0x1544d1(0x1bb)](){const _0x327e4f=a0_0x1544d1;return!this['client']&&this['connect'](),this[_0x327e4f(0x1be)];}async['ping'](_0x88caa6=0x1388){const _0xd20197=a0_0x1544d1,_0x5a825a={'XtLDo':_0xd20197(0x1b0)};try{const _0x1dad4f=this['getClient'](),_0x21f46f=await Promise['race']([_0x1dad4f[_0xd20197(0x1b8)](),new Promise((_0x6fd6ea,_0x477e9e)=>setTimeout(()=>_0x477e9e(new Error('Redis\x20PING\x20timeout')),_0x88caa6))]);return _0x21f46f===_0x5a825a[_0xd20197(0x1af)];}catch(_0x17bf2a){return![];}}async['disconnect'](){const _0x20b82c=a0_0x1544d1;this['client']&&(await this[_0x20b82c(0x1be)]['quit'](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x12c81e=a0_0x1544d1;this['client']&&(this['client'][_0x12c81e(0x1b2)](),this['client']=null,this[_0x12c81e(0x1bc)]=![]);}}module['exports']=new RedisClient();function a0_0x51af(){const _0x172933=['ouLlu3jsCq','whrmrg8','ue9orW','zxjYB3i','zgLZy29UBMvJDa','y2XVC2u','D2fYBG','CMvKAxnFAw5PDf9LCNjVCG','AMTUuMK','nty2ndK4t2Lcq0L5','CgLUzW','nJC5nJbwBNLdwhq','ndKZmdq5mgfkCg50vG','z2v0q2XPzw50','AxndB25Uzwn0zwq','CMvKAxnFzxjYB3i','y2XPzw50','ntCYndy1v2rowKH2','otaWvMD0Ehn0','Aw9YzwrPCW','BwLU','zw52','uKvesvnFrei','ntK1ntqXohHeswjWrW','Aw5MBW','r0TbtLO','mta2odyXmgrbv2jxsa','BwvZC2fNzq','CMvKAxnFy29UBMvJDgvK','mtfYBgLiBKW','ohbuB29htG','mZqZnJK4BNjgCuLq','t1byr0C','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq'];a0_0x51af=function(){return _0x172933;};return a0_0x51af();}
1
+ const a0_0x35b808=a0_0xef60;function a0_0xef60(_0x1548f9,_0x4e47c8){_0x1548f9=_0x1548f9-0x191;const _0x3a67bd=a0_0x3a67();let _0xef6043=_0x3a67bd[_0x1548f9];if(a0_0xef60['ZYDDEE']===undefined){var _0x1a1d70=function(_0x57d9a5){const _0xbad079='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53ccc2='',_0x436693='';for(let _0x3ab1ae=0x0,_0x4c6393,_0x828218,_0x2d4b73=0x0;_0x828218=_0x57d9a5['charAt'](_0x2d4b73++);~_0x828218&&(_0x4c6393=_0x3ab1ae%0x4?_0x4c6393*0x40+_0x828218:_0x828218,_0x3ab1ae++%0x4)?_0x53ccc2+=String['fromCharCode'](0xff&_0x4c6393>>(-0x2*_0x3ab1ae&0x6)):0x0){_0x828218=_0xbad079['indexOf'](_0x828218);}for(let _0x4f04cc=0x0,_0x30e300=_0x53ccc2['length'];_0x4f04cc<_0x30e300;_0x4f04cc++){_0x436693+='%'+('00'+_0x53ccc2['charCodeAt'](_0x4f04cc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x436693);};a0_0xef60['UqpjHv']=_0x1a1d70,a0_0xef60['qwlIeq']={},a0_0xef60['ZYDDEE']=!![];}const _0x59e522=_0x3a67bd[0x0],_0x5a4fb6=_0x1548f9+_0x59e522,_0x27070e=a0_0xef60['qwlIeq'][_0x5a4fb6];return!_0x27070e?(_0xef6043=a0_0xef60['UqpjHv'](_0xef6043),a0_0xef60['qwlIeq'][_0x5a4fb6]=_0xef6043):_0xef6043=_0x27070e,_0xef6043;}function a0_0x3a67(){const _0x585ece=['r1Dyt0S','ndm3nJG4CvbNDujT','zw52','uMvKAxmGueLorYb0Aw1LB3v0','CMvKAxnFy29UBMvJDgvK','BwLU','zM9Yy2veAxnJB25Uzwn0','mte3nJK4mxjkEeHODa','CMvKAxnFAw5PDf9LCNjVCG','mte3mZeYnKDnt3fpuW','CMfJzq','uKvesvnFrei','wejvA20','mtGWntiWnvLhwNz5yG','mJiWndmYmgHkEM1qwq','Aw5MBW','z2v0q2XPzw50','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','reXLC1y','y2XPzw50','Bg9JywXOB3n0','BwvZC2fNzq','mtGWBLLTCKv0','mtaZmLP0t2nZvG','y29UBMvJDa','AxndB25Uzwn0zwq','ntC3nZHwBLnbD1m','Aw9YzwrPCW','D2fYBG','CMvKAxnFzxjYB3i','zxjYB3i','ndD0BwTWr2G','mtq5mZHWvMP3BMS','zxHWB3j0CW'];a0_0x3a67=function(){return _0x585ece;};return a0_0x3a67();}(function(_0x115545,_0x4f49d5){const _0x825b41=a0_0xef60,_0xc9659=_0x115545();while(!![]){try{const _0x51bfd7=-parseInt(_0x825b41(0x1ab))/0x1*(parseInt(_0x825b41(0x1ac))/0x2)+parseInt(_0x825b41(0x193))/0x3+parseInt(_0x825b41(0x19a))/0x4+parseInt(_0x825b41(0x199))/0x5+-parseInt(_0x825b41(0x195))/0x6+-parseInt(_0x825b41(0x1a6))/0x7*(parseInt(_0x825b41(0x1a3))/0x8)+parseInt(_0x825b41(0x1af))/0x9*(parseInt(_0x825b41(0x1a2))/0xa);if(_0x51bfd7===_0x4f49d5)break;else _0xc9659['push'](_0xc9659['shift']());}catch(_0x3eff14){_0xc9659['push'](_0xc9659['shift']());}}}(a0_0x3a67,0x8acae));const Redis=require(a0_0x35b808(0x1a7)),{logger}=require('./logger');class RedisClient{constructor(){const _0x31ad7d=a0_0x35b808;this['client']=null,this[_0x31ad7d(0x1a5)]=![];}[a0_0x35b808(0x1a4)](){const _0x19518b=a0_0x35b808,_0x2a3a32={'QqlWM':'Redis\x20connected\x20successfully','zmfkF':_0x19518b(0x1a9),'GWXOK':'redis_disconnected','DLesV':'Redis\x20connection\x20closed','kbSVo':_0x19518b(0x1a0),'QTSBW':_0x19518b(0x1a4),'bOGRq':'error','syaIk':'close','XBUkm':'Failed\x20to\x20initialize\x20Redis'};if(this[_0x19518b(0x19f)])return this['client'];try{return this['client']=new Redis({'host':process['env']['REDIS_HOST']||_0x2a3a32['kbSVo'],'port':parseInt(process[_0x19518b(0x1b0)]['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x19518b(0x1b0)]['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x19518b(0x1b0)][_0x19518b(0x197)],0xa)||0x0,'retryStrategy'(_0x76b221){const _0x4f5c4d=_0x19518b,_0x1b55bb=Math[_0x4f5c4d(0x191)](_0x76b221*0x32,0x7d0);return _0x1b55bb;}}),this[_0x19518b(0x19f)]['on'](_0x2a3a32['QTSBW'],()=>{const _0x26632c=_0x19518b;this['isConnected']=!![],logger[_0x26632c(0x19b)]({'event':_0x26632c(0x1b2)},_0x2a3a32['QqlWM']);}),this['client']['on'](_0x2a3a32['bOGRq'],_0x4c44b0=>{const _0x1ee92f=_0x19518b;this['isConnected']=![],logger['error']({'event':_0x2a3a32['zmfkF'],'error':_0x4c44b0[_0x1ee92f(0x1a1)]},_0x1ee92f(0x19d)+_0x4c44b0[_0x1ee92f(0x1a1)]);}),this['client']['on'](_0x2a3a32['syaIk'],()=>{const _0x2a58e5=_0x19518b;this['isConnected']=![],logger[_0x2a58e5(0x1a8)]({'event':_0x2a3a32[_0x2a58e5(0x1ae)]},_0x2a3a32[_0x2a58e5(0x19e)]);}),this[_0x19518b(0x19f)];}catch(_0x4a73ad){logger[_0x19518b(0x1aa)]({'event':_0x19518b(0x194),'error':_0x4a73ad[_0x19518b(0x1a1)]},_0x2a3a32[_0x19518b(0x198)]);throw _0x4a73ad;}}[a0_0x35b808(0x19c)](){return!this['client']&&this['connect'](),this['client'];}async['ping'](_0x4a6467=0x1388){const _0x23a91f=a0_0x35b808,_0x50a075={'EsJGd':function(_0x5cc7b2,_0x1789b3){return _0x5cc7b2===_0x1789b3;},'EzkRu':'PONG'};try{const _0x41fb33=this[_0x23a91f(0x19c)](),_0x443235=await Promise[_0x23a91f(0x196)]([_0x41fb33['ping'](),new Promise((_0x3d5922,_0x842cc8)=>setTimeout(()=>_0x842cc8(new Error(_0x23a91f(0x1b1))),_0x4a6467))]);return _0x50a075['EsJGd'](_0x443235,_0x50a075['EzkRu']);}catch(_0xeb44b1){return![];}}async['disconnect'](){const _0x21e574=a0_0x35b808;this[_0x21e574(0x19f)]&&(await this['client']['quit'](),this['client']=null,this[_0x21e574(0x1a5)]=![]);}[a0_0x35b808(0x192)](){const _0x208838=a0_0x35b808;this[_0x208838(0x19f)]&&(this[_0x208838(0x19f)]['disconnect'](),this[_0x208838(0x19f)]=null,this['isConnected']=![]);}}module[a0_0x35b808(0x1ad)]=new RedisClient();
@@ -1 +1 @@
1
- function a0_0x463f(){const _0x211709=['mJq2ndeXnvrbvLnRwa','mtq3mtC0mLndCgfICW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ndC2oez1s2Dfta','nZmXn2PYAxbpDa','C2v0sM9I','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','zgvSzxrLsM9I','tuvIEu0','zeXRsNG','z0n2vNa','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','CMvKAxnFzgvSzxrLx2vYCM9Y','z2v0sM9I','z2v0','mZqWmJm1mJHTq2T4yMu','x3bYzwzPEa','DxbKyxrLsM9I','BwvZC2fNzq','mtb2EePcweK','nMPOwMfesG','nty1nZCWmvPcBerPtW','mJi1mJq0mgLMvufWra','zxjYB3i','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','oMv4Cg9YDdO','mZiZmJq4oefrB2PQBa','ChjLzML4','mvnnvNbZuq','z2v0q2XPzw50','A2v5CW','zgvMyxvSDa','zw52'];a0_0x463f=function(){return _0x211709;};return a0_0x463f();}const a0_0x2ebb59=a0_0x5703;function a0_0x5703(_0x3dba64,_0x462bed){_0x3dba64=_0x3dba64-0x8c;const _0x463fc8=a0_0x463f();let _0x570388=_0x463fc8[_0x3dba64];if(a0_0x5703['HmjXja']===undefined){var _0x1c6f7c=function(_0x494ace){const _0x5d5089='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x373bf3='',_0x3a4835='';for(let _0x22b865=0x0,_0x393efb,_0x2c71ae,_0xb681dc=0x0;_0x2c71ae=_0x494ace['charAt'](_0xb681dc++);~_0x2c71ae&&(_0x393efb=_0x22b865%0x4?_0x393efb*0x40+_0x2c71ae:_0x2c71ae,_0x22b865++%0x4)?_0x373bf3+=String['fromCharCode'](0xff&_0x393efb>>(-0x2*_0x22b865&0x6)):0x0){_0x2c71ae=_0x5d5089['indexOf'](_0x2c71ae);}for(let _0xc56c37=0x0,_0xe6463c=_0x373bf3['length'];_0xc56c37<_0xe6463c;_0xc56c37++){_0x3a4835+='%'+('00'+_0x373bf3['charCodeAt'](_0xc56c37)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3a4835);};a0_0x5703['hyIUHP']=_0x1c6f7c,a0_0x5703['OTiQFD']={},a0_0x5703['HmjXja']=!![];}const _0x34ecc7=_0x463fc8[0x0],_0x2eebb7=_0x3dba64+_0x34ecc7,_0xbd46a1=a0_0x5703['OTiQFD'][_0x2eebb7];return!_0xbd46a1?(_0x570388=a0_0x5703['hyIUHP'](_0x570388),a0_0x5703['OTiQFD'][_0x2eebb7]=_0x570388):_0x570388=_0xbd46a1,_0x570388;}(function(_0x1dd592,_0x22263c){const _0x935cfa=a0_0x5703,_0x3bb3cb=_0x1dd592();while(!![]){try{const _0x23ca4f=parseInt(_0x935cfa(0xa0))/0x1*(-parseInt(_0x935cfa(0xa6))/0x2)+-parseInt(_0x935cfa(0x9e))/0x3+-parseInt(_0x935cfa(0x9a))/0x4+-parseInt(_0x935cfa(0xa5))/0x5*(parseInt(_0x935cfa(0x98))/0x6)+parseInt(_0x935cfa(0x99))/0x7+-parseInt(_0x935cfa(0xa8))/0x8*(parseInt(_0x935cfa(0xa9))/0x9)+-parseInt(_0x935cfa(0x97))/0xa*(-parseInt(_0x935cfa(0x93))/0xb);if(_0x23ca4f===_0x22263c)break;else _0x3bb3cb['push'](_0x3bb3cb['shift']());}catch(_0xc626fa){_0x3bb3cb['push'](_0x3bb3cb['shift']());}}}(a0_0x463f,0x85a73));const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x50190d=a0_0x5703;this['_prefix']=null,this['ttl']=parseInt(process[_0x50190d(0xa4)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x2ebb59(0x9f)](){const _0x5f484a=a0_0x2ebb59,_0x1aa906={'nAvAh':_0x5f484a(0xa3)};if(!this['_prefix']){const _0x3adeb=process[_0x5f484a(0xa4)][_0x5f484a(0xa7)]||_0x1aa906['nAvAh'];this[_0x5f484a(0x94)]='restforge:'+_0x3adeb+_0x5f484a(0x9d);}return this[_0x5f484a(0x94)];}async['setJob'](_0x3f69f0,_0x3571f2){const _0x40effc=a0_0x2ebb59,_0x1f328e={'MEbyM':'redis_set_error'};try{const _0xbabd4a=redisClient[_0x40effc(0xa1)](),_0x136c59=''+this['prefix']+_0x3f69f0;return await _0xbabd4a['setex'](_0x136c59,this['ttl'],JSON['stringify'](_0x3571f2)),!![];}catch(_0x489cad){return logger[_0x40effc(0x9b)]({'event':_0x1f328e[_0x40effc(0x8c)],'jobId':_0x3f69f0,'error':_0x489cad[_0x40effc(0x96)]},_0x40effc(0x8f)),![];}}async[a0_0x2ebb59(0x91)](_0x3eb809){const _0x1edf61=a0_0x2ebb59,_0x53783d={'gCvVp':'redis_get_error'};try{const _0x2f7957=redisClient['getClient'](),_0x1a1d1a=''+this[_0x1edf61(0x9f)]+_0x3eb809,_0x597949=await _0x2f7957[_0x1edf61(0x92)](_0x1a1d1a);return _0x597949?JSON['parse'](_0x597949):null;}catch(_0x400204){return logger[_0x1edf61(0x9b)]({'event':_0x53783d[_0x1edf61(0x8e)],'jobId':_0x3eb809,'error':_0x400204['message']},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x2ebb59(0x95)](_0x26d6d2,_0x55c285){const _0x4b88bf=a0_0x2ebb59,_0x24424f=await this[_0x4b88bf(0x91)](_0x26d6d2);if(!_0x24424f)return![];const _0x56aa7c={..._0x24424f,..._0x55c285};return await this[_0x4b88bf(0xaa)](_0x26d6d2,_0x56aa7c);}async[a0_0x2ebb59(0xac)](_0x948abc){const _0x58acce=a0_0x2ebb59,_0x8b1a00={'dLkJx':_0x58acce(0xab)};try{const _0x38bb48=redisClient[_0x58acce(0xa1)](),_0x2b3b3c=''+this[_0x58acce(0x9f)]+_0x948abc;return await _0x38bb48['del'](_0x2b3b3c),!![];}catch(_0x2ef7e4){return logger['error']({'event':_0x58acce(0x90),'jobId':_0x948abc,'error':_0x2ef7e4['message']},_0x8b1a00[_0x58acce(0x8d)]),![];}}async['getAllJobs'](){const _0x56bbf8=a0_0x2ebb59,_0x17ff8a={'mrNWM':_0x56bbf8(0x9c)};try{const _0x35f00e=redisClient['getClient'](),_0x382301=await _0x35f00e[_0x56bbf8(0xa2)](this['prefix']+'*'),_0x33a108=[];for(const _0x2a743c of _0x382301){const _0x5829d8=await _0x35f00e['get'](_0x2a743c);_0x5829d8&&_0x33a108['push'](JSON['parse'](_0x5829d8));}return _0x33a108;}catch(_0x45134e){return logger['error']({'event':'redis_getall_error','error':_0x45134e['message']},_0x17ff8a['mrNWM']),[];}}}module['exports']=new RedisHelper();
1
+ const a0_0x3c32d3=a0_0x2a8a;function a0_0x2a8a(_0x51c189,_0x21e39b){_0x51c189=_0x51c189-0xfe;const _0xa7d33b=a0_0xa7d3();let _0x2a8a73=_0xa7d33b[_0x51c189];if(a0_0x2a8a['GeDvNB']===undefined){var _0x3005af=function(_0x60b173){const _0x2db3b2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4dcacf='',_0x1ee2f8='';for(let _0x459b48=0x0,_0x85acd3,_0x35d4c4,_0x48b0e9=0x0;_0x35d4c4=_0x60b173['charAt'](_0x48b0e9++);~_0x35d4c4&&(_0x85acd3=_0x459b48%0x4?_0x85acd3*0x40+_0x35d4c4:_0x35d4c4,_0x459b48++%0x4)?_0x4dcacf+=String['fromCharCode'](0xff&_0x85acd3>>(-0x2*_0x459b48&0x6)):0x0){_0x35d4c4=_0x2db3b2['indexOf'](_0x35d4c4);}for(let _0x22a3a1=0x0,_0x3aee2c=_0x4dcacf['length'];_0x22a3a1<_0x3aee2c;_0x22a3a1++){_0x1ee2f8+='%'+('00'+_0x4dcacf['charCodeAt'](_0x22a3a1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ee2f8);};a0_0x2a8a['rmuiRi']=_0x3005af,a0_0x2a8a['FVoZOi']={},a0_0x2a8a['GeDvNB']=!![];}const _0x3a0ab8=_0xa7d33b[0x0],_0x3508b3=_0x51c189+_0x3a0ab8,_0x314c34=a0_0x2a8a['FVoZOi'][_0x3508b3];return!_0x314c34?(_0x2a8a73=a0_0x2a8a['rmuiRi'](_0x2a8a73),a0_0x2a8a['FVoZOi'][_0x3508b3]=_0x2a8a73):_0x2a8a73=_0x314c34,_0x2a8a73;}(function(_0x3f9825,_0x5c833a){const _0x4800b6=a0_0x2a8a,_0x85928e=_0x3f9825();while(!![]){try{const _0xeafb0c=parseInt(_0x4800b6(0x10f))/0x1*(-parseInt(_0x4800b6(0x111))/0x2)+parseInt(_0x4800b6(0x109))/0x3*(parseInt(_0x4800b6(0x11c))/0x4)+-parseInt(_0x4800b6(0x101))/0x5*(-parseInt(_0x4800b6(0x10d))/0x6)+parseInt(_0x4800b6(0xfe))/0x7+-parseInt(_0x4800b6(0xff))/0x8*(-parseInt(_0x4800b6(0x114))/0x9)+-parseInt(_0x4800b6(0x105))/0xa+-parseInt(_0x4800b6(0x102))/0xb;if(_0xeafb0c===_0x5c833a)break;else _0x85928e['push'](_0x85928e['shift']());}catch(_0xf55827){_0x85928e['push'](_0x85928e['shift']());}}}(a0_0xa7d3,0xd98c3));const redisClient=require(a0_0x3c32d3(0x100)),{logger}=require(a0_0x3c32d3(0x106));function a0_0xa7d3(){const _0x2fc435=['CgfYC2u','oMv4Cg9YDdO','zxHWB3j0CW','mtG3ognQvMz2Ea','zxjYB3i','mte3otrsyMPhBwu','zgvSzxrLsM9I','mJjuEej1Bwi','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','DxbKyxrLsM9I','mtqWmty1mu5qqKfNAW','DhrS','ChvZAa','z2v0q2XPzw50','x3bYzwzPEa','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','ChjLzML4','wgrorvC','nJe1ndaYofnHAeLmAa','zw52','ntG4ntG4n3znsgj1tW','ntzPEeHZu3q','lI9YzwrPCY1JBgLLBNq','mty5ndvADNrrr1G','mJa4ntK2mZbZt3LJDg4','z2v0sM9I','z2v0qwXSsM9ICW','mtyXmZeZotbxtLv0wM8','lI9SB2DNzxi','C3rYAw5NAwz5','BwvZC2fNzq','m1rzww9Wrq'];a0_0xa7d3=function(){return _0x2fc435;};return a0_0xa7d3();}class RedisHelper{constructor(){const _0x4b710c=a0_0x3c32d3;this[_0x4b710c(0x118)]=null,this[_0x4b710c(0x115)]=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x3c32d3(0x11a)](){const _0x5545e9=a0_0x3c32d3,_0x99b123={'vGqFK':'default'};if(!this['_prefix']){const _0x30b45f=process[_0x5545e9(0x11d)][_0x5545e9(0x112)]||_0x99b123['vGqFK'];this[_0x5545e9(0x118)]='restforge:'+_0x30b45f+_0x5545e9(0x10b);}return this['_prefix'];}async['setJob'](_0x3067e2,_0x17c582){const _0x3fa5eb=a0_0x3c32d3,_0x101c5f={'GTtPb':'redis_set_error'};try{const _0x3ccb86=redisClient['getClient'](),_0x1a554f=''+this['prefix']+_0x3067e2;return await _0x3ccb86['setex'](_0x1a554f,this[_0x3fa5eb(0x115)],JSON[_0x3fa5eb(0x107)](_0x17c582)),!![];}catch(_0x470d52){return logger[_0x3fa5eb(0x10e)]({'event':_0x101c5f['GTtPb'],'jobId':_0x3067e2,'error':_0x470d52[_0x3fa5eb(0x108)]},_0x3fa5eb(0x119)),![];}}async[a0_0x3c32d3(0x103)](_0x4a4cb5){const _0x36e9d4=a0_0x3c32d3;try{const _0x40319f=redisClient[_0x36e9d4(0x117)](),_0xde9978=''+this['prefix']+_0x4a4cb5,_0x160afc=await _0x40319f['get'](_0xde9978);return _0x160afc?JSON[_0x36e9d4(0x10a)](_0x160afc):null;}catch(_0x5509da){return logger['error']({'event':'redis_get_error','jobId':_0x4a4cb5,'error':_0x5509da['message']},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x3c32d3(0x113)](_0x4d39fb,_0x3fdf75){const _0x31bb87=await this['getJob'](_0x4d39fb);if(!_0x31bb87)return![];const _0x411850={..._0x31bb87,..._0x3fdf75};return await this['setJob'](_0x4d39fb,_0x411850);}async[a0_0x3c32d3(0x110)](_0x2d00ac){const _0x2105ae=a0_0x3c32d3,_0x1121c1={'ekSyR':'redis_delete_error','wJIbN':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x150751=redisClient['getClient'](),_0x538d25=''+this['prefix']+_0x2d00ac;return await _0x150751['del'](_0x538d25),!![];}catch(_0x148539){return logger['error']({'event':_0x1121c1['ekSyR'],'jobId':_0x2d00ac,'error':_0x148539[_0x2105ae(0x108)]},_0x1121c1['wJIbN']),![];}}async[a0_0x3c32d3(0x104)](){const _0x163fb3=a0_0x3c32d3,_0x52c446={'mCMLr':'redis_getall_error','XdNEW':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x3b7e3e=redisClient['getClient'](),_0x34af44=await _0x3b7e3e['keys'](this[_0x163fb3(0x11a)]+'*'),_0x56b789=[];for(const _0x451d8f of _0x34af44){const _0x2ea6cc=await _0x3b7e3e['get'](_0x451d8f);_0x2ea6cc&&_0x56b789[_0x163fb3(0x116)](JSON[_0x163fb3(0x10a)](_0x2ea6cc));}return _0x56b789;}catch(_0x2a7a8a){return logger['error']({'event':_0x52c446['mCMLr'],'error':_0x2a7a8a['message']},_0x52c446[_0x163fb3(0x11b)]),[];}}}module[a0_0x3c32d3(0x10c)]=new RedisHelper();