@restforgejs/platform 5.3.7 → 5.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) 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/cli/designer.js +1 -1
  5. package/generators/cli/fast-track.js +193 -45
  6. package/generators/cli/init.js +37 -3
  7. package/generators/lib/templates/dashboard-catalog.js +1 -1
  8. package/generators/lib/templates/db-connection-env.js +1 -1
  9. package/generators/lib/templates/dbschema-catalog.js +1 -1
  10. package/generators/lib/templates/field-validation-catalog.js +1 -1
  11. package/generators/lib/templates/mysql-template.js +1 -1
  12. package/generators/lib/templates/oracle-template.js +1 -1
  13. package/generators/lib/templates/postgres-template.js +1 -1
  14. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  15. package/generators/lib/templates/sqlite-template.js +1 -1
  16. package/integrity-manifest.json +18 -18
  17. package/package.json +1 -1
  18. package/scripts/verify-integrity.js +1 -1
  19. package/server.js +1 -1
  20. package/src/components/handlers/adjust_handler.js +1 -1
  21. package/src/components/handlers/audit_handler.js +1 -1
  22. package/src/components/handlers/delete_handler.js +1 -1
  23. package/src/components/handlers/export_handler.js +1 -1
  24. package/src/components/handlers/import_handler.js +1 -1
  25. package/src/components/handlers/insert_handler.js +1 -1
  26. package/src/components/handlers/update_handler.js +1 -1
  27. package/src/components/handlers/upload_handler.js +1 -1
  28. package/src/components/handlers/workflow_handler.js +1 -1
  29. package/src/components/integrations/webhook.js +1 -1
  30. package/src/consumers/baseConsumer.js +1 -1
  31. package/src/consumers/declarativeMapper.js +1 -1
  32. package/src/consumers/handlers/apiHandler.js +1 -1
  33. package/src/consumers/handlers/consoleHandler.js +1 -1
  34. package/src/consumers/handlers/databaseHandler.js +1 -1
  35. package/src/consumers/handlers/index.js +1 -1
  36. package/src/consumers/handlers/kafkaHandler.js +1 -1
  37. package/src/consumers/index.js +1 -1
  38. package/src/consumers/messageTransformer.js +1 -1
  39. package/src/consumers/validator.js +1 -1
  40. package/src/core/db/dialect/base-dialect.js +1 -1
  41. package/src/core/db/dialect/index.js +1 -1
  42. package/src/core/db/dialect/mysql-dialect.js +1 -1
  43. package/src/core/db/dialect/oracle-dialect.js +1 -1
  44. package/src/core/db/dialect/postgres-dialect.js +1 -1
  45. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  46. package/src/core/db/flatten-helper.js +1 -1
  47. package/src/core/db/query-builder-error.js +1 -1
  48. package/src/core/db/query-builder.js +1 -1
  49. package/src/core/db/relation-helper.js +1 -1
  50. package/src/core/handlers/delete_handler.js +1 -1
  51. package/src/core/handlers/insert_handler.js +1 -1
  52. package/src/core/handlers/update_handler.js +1 -1
  53. package/src/core/models/base-model.js +1 -1
  54. package/src/core/utils/cache-manager.js +1 -1
  55. package/src/core/utils/component-engine.js +1 -1
  56. package/src/core/utils/context-builder.js +1 -1
  57. package/src/core/utils/datetime-formatter.js +1 -1
  58. package/src/core/utils/datetime-parser.js +1 -1
  59. package/src/core/utils/db.js +1 -1
  60. package/src/core/utils/logger.js +1 -1
  61. package/src/core/utils/payload-loader.js +1 -1
  62. package/src/core/utils/security-checks.js +1 -1
  63. package/src/middleware/body-options.js +1 -1
  64. package/src/middleware/cors.js +1 -1
  65. package/src/middleware/idempotency.js +1 -1
  66. package/src/middleware/rate-limiter.js +1 -1
  67. package/src/middleware/request-logger.js +1 -1
  68. package/src/middleware/security-headers.js +1 -1
  69. package/src/models/base-model-mysql.js +1 -1
  70. package/src/models/base-model-oracle.js +1 -1
  71. package/src/models/base-model-sqlite.js +1 -1
  72. package/src/models/base-model.js +1 -1
  73. package/src/pro/caching/redis-client.js +1 -1
  74. package/src/pro/caching/redis-helper.js +1 -1
  75. package/src/pro/consumers/baseConsumer.js +1 -1
  76. package/src/pro/consumers/declarativeMapper.js +1 -1
  77. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  78. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  79. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  80. package/src/pro/consumers/handlers/index.js +1 -1
  81. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  82. package/src/pro/consumers/index.js +1 -1
  83. package/src/pro/consumers/messageTransformer.js +1 -1
  84. package/src/pro/consumers/validator.js +1 -1
  85. package/src/pro/database/base-model-mysql.js +1 -1
  86. package/src/pro/database/base-model-oracle.js +1 -1
  87. package/src/pro/database/base-model-sqlite.js +1 -1
  88. package/src/pro/database/db-mysql.js +1 -1
  89. package/src/pro/database/db-oracle.js +1 -1
  90. package/src/pro/database/db-sqlite.js +1 -1
  91. package/src/pro/excel/excel-generator.js +1 -1
  92. package/src/pro/excel/excel-parser.js +1 -1
  93. package/src/pro/excel/export-service.js +1 -1
  94. package/src/pro/excel/export_handler.js +1 -1
  95. package/src/pro/excel/import-service.js +1 -1
  96. package/src/pro/excel/import-validator.js +1 -1
  97. package/src/pro/excel/import_handler.js +1 -1
  98. package/src/pro/excel/upsert-builder.js +1 -1
  99. package/src/pro/idgen/idgen-routes.js +1 -1
  100. package/src/pro/integrations/lookup-resolver.js +1 -1
  101. package/src/pro/integrations/upload-handler-v2.js +1 -1
  102. package/src/pro/integrations/upload-handler.js +1 -1
  103. package/src/pro/integrations/webhook.js +1 -1
  104. package/src/pro/locking/lock-routes.js +1 -1
  105. package/src/pro/locking/resource-lock-manager.js +1 -1
  106. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  107. package/src/pro/messaging/kafkaService.js +1 -1
  108. package/src/pro/messaging/messagehubService.js +1 -1
  109. package/src/pro/messaging/rabbitmqService.js +1 -1
  110. package/src/pro/scheduler/job-manager.js +1 -1
  111. package/src/pro/scheduler/job-routes.js +1 -1
  112. package/src/pro/scheduler/job-validator.js +1 -1
  113. package/src/pro/storage/base-storage-provider.js +1 -1
  114. package/src/pro/storage/file-metadata-helper.js +1 -1
  115. package/src/pro/storage/index.js +1 -1
  116. package/src/pro/storage/local-storage-provider.js +1 -1
  117. package/src/pro/storage/s3-storage-provider.js +1 -1
  118. package/src/pro/storage/upload-cleanup-job.js +1 -1
  119. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  120. package/src/pro/storage/upload-pending-tracker.js +1 -1
  121. package/src/pro/websocket/broadcast-helper.js +1 -1
  122. package/src/pro/websocket/index.js +1 -1
  123. package/src/pro/websocket/livesync-server.js +1 -1
  124. package/src/pro/websocket/ws-broadcaster.js +1 -1
  125. package/src/services/export-service.js +1 -1
  126. package/src/services/import-service.js +1 -1
  127. package/src/services/kafkaConsumerService.js +1 -1
  128. package/src/services/kafkaService.js +1 -1
  129. package/src/services/messagehubService.js +1 -1
  130. package/src/services/rabbitmqService.js +1 -1
  131. package/src/utils/cache-invalidation-registry.js +1 -1
  132. package/src/utils/cache-manager.js +1 -1
  133. package/src/utils/component-engine.js +1 -1
  134. package/src/utils/config-extractor.js +1 -1
  135. package/src/utils/consumerLogger.js +1 -1
  136. package/src/utils/context-builder.js +1 -1
  137. package/src/utils/dashboard-helpers.js +1 -1
  138. package/src/utils/dateHelper.js +1 -1
  139. package/src/utils/datetime-formatter.js +1 -1
  140. package/src/utils/datetime-parser.js +1 -1
  141. package/src/utils/db-bootstrap.js +1 -1
  142. package/src/utils/db-mysql.js +1 -1
  143. package/src/utils/db-oracle.js +1 -1
  144. package/src/utils/db-sqlite.js +1 -1
  145. package/src/utils/db.js +1 -1
  146. package/src/utils/demo-generator.js +1 -1
  147. package/src/utils/excel-generator.js +1 -1
  148. package/src/utils/excel-parser.js +1 -1
  149. package/src/utils/file-watcher.js +1 -1
  150. package/src/utils/id-generator.js +1 -1
  151. package/src/utils/idempotency-manager.js +1 -1
  152. package/src/utils/import-validator.js +1 -1
  153. package/src/utils/license-client.js +1 -1
  154. package/src/utils/lock-manager.js +1 -1
  155. package/src/utils/logger.js +1 -1
  156. package/src/utils/lookup-resolver.js +1 -1
  157. package/src/utils/payload-loader.js +1 -1
  158. package/src/utils/processor-response.js +1 -1
  159. package/src/utils/rabbitmq.js +1 -1
  160. package/src/utils/redis-client.js +1 -1
  161. package/src/utils/redis-helper.js +1 -1
  162. package/src/utils/request-scope.js +1 -1
  163. package/src/utils/security-checks.js +1 -1
  164. package/src/utils/service-resolver.js +1 -1
  165. package/src/utils/shutdown-coordinator.js +1 -1
  166. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  167. package/src/utils/sql-table-extractor.js +1 -1
  168. package/src/utils/trusted-keys.js +1 -1
  169. package/src/utils/upload-handler.js +1 -1
  170. package/src/utils/upsert-builder.js +1 -1
  171. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x1834cf=a0_0x1a31;(function(_0xb57c1a,_0x4bbfd1){const _0x1a3f99=a0_0x1a31,_0x6bd0d5=_0xb57c1a();while(!![]){try{const _0x30eeae=-parseInt(_0x1a3f99(0x13a))/0x1*(-parseInt(_0x1a3f99(0x165))/0x2)+parseInt(_0x1a3f99(0x18a))/0x3*(parseInt(_0x1a3f99(0x16d))/0x4)+-parseInt(_0x1a3f99(0x185))/0x5+-parseInt(_0x1a3f99(0x182))/0x6*(-parseInt(_0x1a3f99(0x16f))/0x7)+parseInt(_0x1a3f99(0x15e))/0x8*(-parseInt(_0x1a3f99(0x14d))/0x9)+-parseInt(_0x1a3f99(0x15d))/0xa+-parseInt(_0x1a3f99(0x17f))/0xb;if(_0x30eeae===_0x4bbfd1)break;else _0x6bd0d5['push'](_0x6bd0d5['shift']());}catch(_0x3a61a){_0x6bd0d5['push'](_0x6bd0d5['shift']());}}}(a0_0x33f3,0xba67f));const redisClient=require(a0_0x1834cf(0x136)),{logger}=require(a0_0x1834cf(0x13f)),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x6ec259=a0_0x1834cf,_0x58fbd8={'dfFIh':'4|1|6|0|5|3|2|7'},_0x132b5f=_0x58fbd8['dfFIh']['split']('|');let _0x2d54c1=0x0;while(!![]){switch(_0x132b5f[_0x2d54c1++]){case'0':this[_0x6ec259(0x15c)]=null;continue;case'1':this['_enabled']=null;continue;case'2':this['_workerId']=null;continue;case'3':this['_strategy']=null;continue;case'4':this[_0x6ec259(0x159)]=null;continue;case'5':this['_retryDelay']=null;continue;case'6':this[_0x6ec259(0x15b)]=null;continue;case'7':this[_0x6ec259(0x167)]=![];continue;}break;}}[a0_0x1834cf(0x180)](){const _0x54452a=a0_0x1834cf,_0x142b91={'aphey':'rf:lock:','sQWWD':function(_0x418fca,_0x5082f5,_0x1c8dc5){return _0x418fca(_0x5082f5,_0x1c8dc5);},'kSddJ':function(_0x2efdad,_0x2ea569,_0x15a93d){return _0x2efdad(_0x2ea569,_0x15a93d);}};this[_0x54452a(0x159)]=_0x142b91[_0x54452a(0x18b)],this[_0x54452a(0x13c)]=process[_0x54452a(0x158)][_0x54452a(0x178)]===_0x54452a(0x161),this[_0x54452a(0x15b)]=_0x142b91['sQWWD'](parseInt,process['env'][_0x54452a(0x17d)],0xa)||0xa,this['_retryCount']=_0x142b91['kSddJ'](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x54452a(0x17a)]=parseInt(process[_0x54452a(0x158)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this['_strategy']=process['env']['LOCK_DISTRIBUTED_STRATEGY']||'retry',this[_0x54452a(0x138)]='worker-'+process[_0x54452a(0x169)],this[_0x54452a(0x167)]=!![],logger[_0x54452a(0x183)]({'event':'lock_config_init','enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x54452a(0x15b)],'retryCount':this[_0x54452a(0x15c)],'retryDelay':this[_0x54452a(0x17a)],'workerId':this[_0x54452a(0x138)]},_0x54452a(0x18c)+this[_0x54452a(0x13c)]+_0x54452a(0x142)+this[_0x54452a(0x186)]);}['_ensureInitialized'](){!this['_initialized']&&this['_initConfig']();}get[a0_0x1834cf(0x189)](){const _0xa4ab78=a0_0x1834cf;return this[_0xa4ab78(0x151)](),this[_0xa4ab78(0x159)];}get['enabled'](){const _0x45b22b=a0_0x1834cf;return this['_ensureInitialized'](),this[_0x45b22b(0x13c)];}get[a0_0x1834cf(0x137)](){const _0x559437=a0_0x1834cf;return this['_ensureInitialized'](),this[_0x559437(0x15b)];}get[a0_0x1834cf(0x160)](){return this['_ensureInitialized'](),this['_retryCount'];}get['retryDelay'](){const _0x2b228f=a0_0x1834cf;return this['_ensureInitialized'](),this[_0x2b228f(0x17a)];}get[a0_0x1834cf(0x176)](){const _0x8a8aee=a0_0x1834cf;return this[_0x8a8aee(0x151)](),this[_0x8a8aee(0x186)];}get[a0_0x1834cf(0x179)](){const _0x238cbe=a0_0x1834cf;return this['_ensureInitialized'](),this[_0x238cbe(0x138)];}['buildLockKey'](_0x3a7900){const _0x35e824=a0_0x1834cf,{module:_0x55b3ed,endpoint:_0x4e4c82,lockType:_0x2d920c,recordId:_0x30131f}=_0x3a7900;if(_0x30131f)return''+this[_0x35e824(0x189)]+_0x55b3ed+':'+_0x4e4c82+':'+_0x30131f+':'+_0x2d920c;return''+this[_0x35e824(0x189)]+_0x55b3ed+':'+_0x4e4c82+':'+_0x2d920c;}['generateLockValue'](){const _0xb502ab=a0_0x1834cf;return this[_0xb502ab(0x179)]+':'+uuidv4()+':'+Date[_0xb502ab(0x172)]();}async[a0_0x1834cf(0x174)](_0x105d3c){const _0x142e06=a0_0x1834cf,_0x2f05b0={'xfSzF':'read_lock_acquired','JTFcF':_0x142e06(0x141),'UnhyC':_0x142e06(0x14c),'azVXd':'read_lock_timeout','TpDof':'READ\x20lock\x20acquire\x20timeout','Ndxad':'read_lock_error','RWKCE':'READ\x20lock\x20error'};if(!this[_0x142e06(0x15f)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2e96ce=this[_0x142e06(0x156)]({..._0x105d3c,'lockType':'write'}),_0x27112=this[_0x142e06(0x156)]({..._0x105d3c,'lockType':'read'}),_0x2e7fea=this[_0x142e06(0x17c)]();try{const _0x52f49c=redisClient[_0x142e06(0x177)]();for(let _0x164e23=0x0;_0x164e23<this[_0x142e06(0x160)];_0x164e23++){const _0x40dfde=await _0x52f49c[_0x142e06(0x13e)](_0x2e96ce);if(!_0x40dfde){await _0x52f49c[_0x142e06(0x168)](_0x27112),await _0x52f49c['expire'](_0x27112,this[_0x142e06(0x137)]);const _0x394191=_0x27112+':'+_0x2e7fea;return await _0x52f49c[_0x142e06(0x16c)](_0x394191,this['defaultTTL'],_0x2e7fea),logger[_0x142e06(0x187)]({'event':_0x2f05b0['xfSzF'],'key':_0x27112,'value':_0x2e7fea},_0x142e06(0x171)),{'success':!![],'lockValue':_0x2e7fea,'lockKey':_0x394191};}logger['debug']({'event':_0x2f05b0['JTFcF'],'writeKey':_0x2e96ce,'attempt':_0x164e23},_0x2f05b0[_0x142e06(0x157)]),await this[_0x142e06(0x145)](this[_0x142e06(0x14b)]*Math[_0x142e06(0x175)](0x2,_0x164e23));}return logger[_0x142e06(0x139)]({'event':_0x2f05b0['azVXd'],'key':_0x27112},_0x2f05b0['TpDof']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4d5f9f){return logger[_0x142e06(0x149)]({'event':_0x2f05b0['Ndxad'],'error':_0x4d5f9f[_0x142e06(0x184)]},_0x2f05b0['RWKCE']),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x59cf39){const _0x1a31d5=a0_0x1834cf,_0x623d9c={'IlSem':'write','YwBtN':_0x1a31d5(0x16b),'tfrUS':function(_0x24b9b6,_0x18f5c5){return _0x24b9b6===_0x18f5c5;},'fBLiX':_0x1a31d5(0x162),'yokdl':_0x1a31d5(0x14f),'HVeYb':_0x1a31d5(0x147),'NghRo':function(_0xd82c79,_0x797556){return _0xd82c79===_0x797556;},'OWYGO':'retry','seoFM':_0x1a31d5(0x143),'tItpy':function(_0x3cadd7,_0x52871e){return _0x3cadd7*_0x52871e;},'OOTDF':_0x1a31d5(0x152)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x3e8df4=this['buildLockKey']({..._0x59cf39,'lockType':_0x623d9c[_0x1a31d5(0x166)]}),_0x56be73=this['buildLockKey']({..._0x59cf39,'lockType':_0x623d9c['YwBtN']}),_0x40a92a=this['generateLockValue']();try{const _0x39b66a=redisClient[_0x1a31d5(0x177)]();if(this['strategy']===_0x1a31d5(0x14f)){const _0x2a8652=await _0x39b66a['set'](_0x3e8df4,_0x40a92a,'EX',this[_0x1a31d5(0x137)],'NX');if(_0x623d9c[_0x1a31d5(0x16e)](_0x2a8652,'OK'))return logger[_0x1a31d5(0x187)]({'event':_0x623d9c['fBLiX'],'key':_0x3e8df4,'value':_0x40a92a,'strategy':_0x623d9c[_0x1a31d5(0x181)]},_0x1a31d5(0x150)),{'success':!![],'lockValue':_0x40a92a,'lockKey':_0x3e8df4};return logger['debug']({'event':_0x1a31d5(0x188),'key':_0x3e8df4},_0x623d9c[_0x1a31d5(0x134)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x5949e7=0x0;_0x5949e7<this[_0x1a31d5(0x160)];_0x5949e7++){const [_0x133057,_0xf73014]=await Promise['all']([_0x39b66a[_0x1a31d5(0x13e)](_0x56be73),_0x39b66a['get'](_0x3e8df4)]);if(!_0xf73014&&(!_0x133057||_0x623d9c[_0x1a31d5(0x16e)](parseInt(_0x133057),0x0))){const _0x569d6d=await _0x39b66a['set'](_0x3e8df4,_0x40a92a,'EX',this[_0x1a31d5(0x137)],'NX');if(_0x623d9c['NghRo'](_0x569d6d,'OK'))return logger[_0x1a31d5(0x187)]({'event':_0x1a31d5(0x162),'key':_0x3e8df4,'value':_0x40a92a,'strategy':_0x623d9c['OWYGO']},_0x1a31d5(0x146)),{'success':!![],'lockValue':_0x40a92a,'lockKey':_0x3e8df4};}logger['debug']({'event':_0x1a31d5(0x173),'writeKey':_0x3e8df4,'readCount':_0x133057,'attempt':_0x5949e7},_0x623d9c['seoFM']),await this['sleep'](_0x623d9c[_0x1a31d5(0x13b)](this[_0x1a31d5(0x14b)],Math['pow'](0x2,_0x5949e7)));}return logger[_0x1a31d5(0x139)]({'event':_0x623d9c[_0x1a31d5(0x153)],'key':_0x3e8df4},_0x1a31d5(0x135)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x21ec87){return logger['error']({'event':_0x1a31d5(0x133),'error':_0x21ec87['message']},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1834cf(0x17b)](_0xca308a,_0x1e92eb){const _0x315b67=a0_0x1834cf,_0x90b0fa={'naZOi':':read:','rqXLV':'read_lock_released','qwTZV':function(_0x33c888,_0xfe727e){return _0x33c888===_0xfe727e;},'GofVA':'WRITE\x20lock\x20released','Owmgc':_0x315b67(0x148),'KUCsb':_0x315b67(0x154),'xUTBB':_0x315b67(0x170)};if(!this['enabled']||!_0xca308a)return!![];try{const _0xf46375=redisClient['getClient']();if(_0xca308a[_0x315b67(0x17e)](_0x90b0fa[_0x315b67(0x144)])){await _0xf46375['del'](_0xca308a);const _0x327606=_0xca308a['substring'](0x0,_0xca308a['lastIndexOf'](':')),_0x14fff0=await _0xf46375['get'](_0x327606);return _0x14fff0&&parseInt(_0x14fff0)>0x0&&await _0xf46375[_0x315b67(0x15a)](_0x327606),logger[_0x315b67(0x187)]({'event':_0x90b0fa['rqXLV'],'key':_0xca308a},'READ\x20lock\x20released'),!![];}const _0xb4beb6='\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',_0x2276d8=await _0xf46375['eval'](_0xb4beb6,0x1,_0xca308a,_0x1e92eb);if(_0x90b0fa[_0x315b67(0x14e)](_0x2276d8,0x1))return logger[_0x315b67(0x187)]({'event':'write_lock_released','key':_0xca308a},_0x90b0fa[_0x315b67(0x163)]),!![];return logger[_0x315b67(0x139)]({'event':_0x90b0fa['Owmgc'],'key':_0xca308a},_0x90b0fa['KUCsb']),![];}catch(_0x11ba28){return logger['error']({'event':'lock_release_error','key':_0xca308a,'error':_0x11ba28[_0x315b67(0x184)]},_0x90b0fa[_0x315b67(0x155)]),![];}}async['extendLock'](_0x22baa7,_0x5b3b57,_0x2db277=null){const _0x1f7ca0=a0_0x1834cf,_0x58812e={'MSKxB':function(_0x38bb45,_0x286deb){return _0x38bb45===_0x286deb;},'FvIta':'lock_extended','XGARO':_0x1f7ca0(0x13d),'qmduO':_0x1f7ca0(0x18d)};if(!this[_0x1f7ca0(0x15f)]||!_0x22baa7)return!![];try{const _0x1ffc54=redisClient['getClient'](),_0x5cf0c8=_0x1f7ca0(0x16a),_0x3997c7=await _0x1ffc54['eval'](_0x5cf0c8,0x1,_0x22baa7,_0x5b3b57,_0x2db277||this[_0x1f7ca0(0x137)]);if(_0x58812e['MSKxB'](_0x3997c7,0x1))return logger['debug']({'event':_0x58812e[_0x1f7ca0(0x132)],'key':_0x22baa7,'ttl':_0x2db277||this[_0x1f7ca0(0x137)]},_0x58812e[_0x1f7ca0(0x164)]),!![];return![];}catch(_0x1856b0){return logger['error']({'event':'lock_extend_error','key':_0x22baa7,'error':_0x1856b0[_0x1f7ca0(0x184)]},_0x58812e['qmduO']),![];}}['isEnabled'](){return this['enabled'];}['sleep'](_0x2e36d7){return new Promise(_0x50a81b=>setTimeout(_0x50a81b,_0x2e36d7));}async['getLockInfo'](_0x598581){const _0x975c2c=a0_0x1834cf,_0x13f29b={'NZpZI':function(_0x410167,_0x19987b){return _0x410167(_0x19987b);}};if(!this['enabled'])return{'enabled':![]};try{const _0x30c623=redisClient['getClient'](),_0x43973c=this['buildLockKey']({..._0x598581,'lockType':_0x975c2c(0x14a)}),_0x146a48=this['buildLockKey']({..._0x598581,'lockType':'read'}),[_0x318229,_0x165a4a]=await Promise['all']([_0x30c623[_0x975c2c(0x13e)](_0x43973c),_0x30c623[_0x975c2c(0x13e)](_0x146a48)]);return{'enabled':!![],'writeLock':_0x318229||null,'readCount':_0x13f29b[_0x975c2c(0x140)](parseInt,_0x165a4a)||0x0,'writeKey':_0x43973c,'readKey':_0x146a48};}catch(_0x388892){return{'enabled':!![],'error':_0x388892['message']};}}}function a0_0x1a31(_0x4a5ad7,_0x2f22dc){_0x4a5ad7=_0x4a5ad7-0x132;const _0x33f38a=a0_0x33f3();let _0x1a314b=_0x33f38a[_0x4a5ad7];if(a0_0x1a31['HEJgaH']===undefined){var _0x141368=function(_0xd1e4b0){const _0x14a894='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x244e65='',_0x5e7b5a='';for(let _0x27c37e=0x0,_0x42d05a,_0x122088,_0xc444=0x0;_0x122088=_0xd1e4b0['charAt'](_0xc444++);~_0x122088&&(_0x42d05a=_0x27c37e%0x4?_0x42d05a*0x40+_0x122088:_0x122088,_0x27c37e++%0x4)?_0x244e65+=String['fromCharCode'](0xff&_0x42d05a>>(-0x2*_0x27c37e&0x6)):0x0){_0x122088=_0x14a894['indexOf'](_0x122088);}for(let _0x55ed77=0x0,_0x5ce992=_0x244e65['length'];_0x55ed77<_0x5ce992;_0x55ed77++){_0x5e7b5a+='%'+('00'+_0x244e65['charCodeAt'](_0x55ed77)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5e7b5a);};a0_0x1a31['oyMlvu']=_0x141368,a0_0x1a31['yPSWDS']={},a0_0x1a31['HEJgaH']=!![];}const _0x1182aa=_0x33f38a[0x0],_0x93c0cf=_0x4a5ad7+_0x1182aa,_0x5ad8bb=a0_0x1a31['yPSWDS'][_0x93c0cf];return!_0x5ad8bb?(_0x1a314b=a0_0x1a31['oyMlvu'](_0x1a314b),a0_0x1a31['yPSWDS'][_0x93c0cf]=_0x1a314b):_0x1a314b=_0x5ad8bb,_0x1a314b;}module['exports']=new LockManager();function a0_0x33f3(){const _0x246b86=['v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','mtyZmtC5CxLTwMLI','CxDuwLy','CMvQzwn0','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','x2vUC3vYzuLUAxrPywXPEMvK','D3jPDgvFBg9JA190Aw1LB3v0','t09urey','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','EfvuqKi','yNvPBgrmB2nRs2v5','vw5OEum','zw52','x3bYzwzPEa','zgvJCG','x2rLzMf1BhruveW','x3jLDhj5q291BNq','mJCWotG1mgzNwvv5sW','odbIsKvdzwG','zw5HyMXLza','CMv0CNLdB3vUDa','Dhj1zq','D3jPDgvFBg9JA19Hy3f1AxjLza','r29MvKe','weDbuK8','mtm0mZzVz2XKruS','swXtzw0','x2LUAxrPywXPEMvK','Aw5JCG','CgLK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMvHza','C2v0zxG','mJaZmJblqNncsge','DgzYvvm','mZmYnZuYzhjmueHN','tg9JAYbYzwXLyxnLigvYCM9Y','uKvbrcbSB2nRigfJCxvPCMvK','BM93','D3jPDgvFBg9JA193ywL0Aw5N','ywnXDwLYzvjLywrmB2nR','Cg93','C3rYyxrLz3K','z2v0q2XPzw50','te9ds19esvnuuKLcvvrfrf9ftKfcteve','D29YA2vYswq','x3jLDhj5rgvSyxK','CMvSzwfZzuXVy2S','z2vUzxjHDgvmB2nRvMfSDwu','te9ds19esvnuuKLcvvrfrf9uveW','Aw5JBhvKzxm','odCYnZm2n0TbDKLHzG','x2LUAxrdB25MAwC','Ew9RzgW','nJzUB3jkree','Aw5MBW','BwvZC2fNzq','mJCYndG1CMPIzhzM','x3n0CMf0zwD5','zgvIDwC','D3jPDgvFBg9JA19YzwPLy3rLza','ChjLzML4','ntm3reTxshjm','yxbOzxK','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','tg9JAYbLEhrLBMqGzxjYB3i','rNzjDge','D3jPDgvFBg9JA19LCNjVCG','sfzLwwi','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','lI9YzwrPCY1JBgLLBNq','zgvMyxvSDfruta','x3DVCMTLCKLK','D2fYBG','otrlB0jiwhy','DeL0ChK','x2vUywjSzwq','tg9JAYbuveWGzxH0zw5Kzwq','z2v0','lI9SB2DNzxi','tLPWwKK','CMvHzf9SB2nRx3DHAxrPBMC','lcbZDhjHDgvNEtOG','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','BMfAt2K','C2XLzxa','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','zxjYB3i','D3jPDgu','CMv0CNLezwXHEq'];a0_0x33f3=function(){return _0x246b86;};return a0_0x33f3();}
1
+ const a0_0x554c48=a0_0x1008;(function(_0x556fbf,_0x3da1f0){const _0xffeb85=a0_0x1008,_0x49507f=_0x556fbf();while(!![]){try{const _0x239eae=-parseInt(_0xffeb85(0x163))/0x1+parseInt(_0xffeb85(0x15f))/0x2+-parseInt(_0xffeb85(0x175))/0x3*(-parseInt(_0xffeb85(0x179))/0x4)+-parseInt(_0xffeb85(0x1ac))/0x5+parseInt(_0xffeb85(0x169))/0x6*(parseInt(_0xffeb85(0x159))/0x7)+parseInt(_0xffeb85(0x158))/0x8+parseInt(_0xffeb85(0x16f))/0x9*(-parseInt(_0xffeb85(0x19c))/0xa);if(_0x239eae===_0x3da1f0)break;else _0x49507f['push'](_0x49507f['shift']());}catch(_0x44cdd6){_0x49507f['push'](_0x49507f['shift']());}}}(a0_0x5337,0x3261f));function a0_0x5337(){const _0x2ace4f=['D29YA2vYlq','ndaZme50sLzpuG','DgXnsvy','D3jPDgvFBg9JA190Aw1LB3v0','tu9PBLe','x2vUywjSzwq','zw52','Dhj1zq','AxnfBMfIBgvK','Cg93','C3rYyxrLz3K','x2LUAxrdB25MAwC','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','yNvPBgrmB2nRs2v5','uKvbrcbSB2nRigfJCxvPCMvK','C2v0','BM5MtMm','ote3mJa1rxnKt2fk','su5LvLG','D3jPDgvFBg9JA19LCNjVCG','x2LUAxrPywXPEMvK','Aw5JCG','zgvIDwC','v1nvwwq','mZqXmZzUwwDNwKm','otK3nJu0v1rctfzw','tg9JAYbuveWGzxH0zw5Kzwq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','uMX2tuu','CgLK','CMv0CNLezwXHEq','ntuXntq0C0zmwfrd','Cw9sy2S','Bg9JA19LEhrLBMrLza','CMvHzf9SB2nRx3DHAxrPBMC','nty2nxDJqLfzBG','v1jjveuGBg9JAYbLCNjVCG','CMvSzwfZzuXVy2S','CMvHzf9SB2nRx3rPBwvVDxq','CMvHzf9SB2nRx3jLBgvHC2vK','x3bYzwzPEa','mtj0tffuAM0','zgvMyxvSDfruta','D3jPDgvFBg9JA19YzwPLy3rLza','Bg9JA19JB25MAwDFAw5PDa','CMjhrK8','z2v0tg9JA0LUzM8','mtaYntfRswvfr2S','Bg9JA19LEhrLBMrFzxjYB3i','x3DVCMTLCKLK','C2XLzxa','CMvHza','ChjLzML4','m3nztKLmrW','ywnXDwLYzvDYAxrLtg9JAW','y1bzCw4','x3n0CMf0zwD5','mte1nZyYogfXDuvMEG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','vvb5q3a','Aw5MBW','EKL4CK0','C3vIC3rYAw5N','ywnXDwLYzvjLywrmB2nR','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','D3jPDgvFBg9JA19Hy3f1AxjLza','C2v0zxG','tg9JAYbYzwXLyxnLigvYCM9Y','x2vUC3vYzuLUAxrPywXPEMvK','z2v0q2XPzw50','x3jLDhj5q291BNq','zw5HyMXLza','D2fYBG','zxzHBa','z2vUzxjHDgvmB2nRvMfSDwu','te9ds19esvnuuKLcvvrfrf9ftKfcteve','r1HOEg0','z2v0','CMv0CNK','zxjYB3i','BwvZC2fNzq','vNP0rNK','CMv0CNLdB3vUDa','B0TAwgS','BgfZDeLUzgv4t2y','x2rLzMf1BhruveW','CMy6Bg9JAZO','D29YA2vYswq','x3jLDhj5rgvSyxK','ywXS'];a0_0x5337=function(){return _0x2ace4f;};return a0_0x5337();}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');function a0_0x1008(_0x584c72,_0x5ba024){_0x584c72=_0x584c72-0x155;const _0x53376d=a0_0x5337();let _0x10084b=_0x53376d[_0x584c72];if(a0_0x1008['ZhWFMN']===undefined){var _0x2fa7b4=function(_0x440edc){const _0x2023ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b6f1d='',_0x463e49='';for(let _0x4a7b0c=0x0,_0x25e9b6,_0x560064,_0x191128=0x0;_0x560064=_0x440edc['charAt'](_0x191128++);~_0x560064&&(_0x25e9b6=_0x4a7b0c%0x4?_0x25e9b6*0x40+_0x560064:_0x560064,_0x4a7b0c++%0x4)?_0x5b6f1d+=String['fromCharCode'](0xff&_0x25e9b6>>(-0x2*_0x4a7b0c&0x6)):0x0){_0x560064=_0x2023ef['indexOf'](_0x560064);}for(let _0x4dba78=0x0,_0x396187=_0x5b6f1d['length'];_0x4dba78<_0x396187;_0x4dba78++){_0x463e49+='%'+('00'+_0x5b6f1d['charCodeAt'](_0x4dba78)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x463e49);};a0_0x1008['JGhSRg']=_0x2fa7b4,a0_0x1008['kEPngk']={},a0_0x1008['ZhWFMN']=!![];}const _0x1b9cbb=_0x53376d[0x0],_0x3f8ac3=_0x584c72+_0x1b9cbb,_0x29c3f7=a0_0x1008['kEPngk'][_0x3f8ac3];return!_0x29c3f7?(_0x10084b=a0_0x1008['JGhSRg'](_0x10084b),a0_0x1008['kEPngk'][_0x3f8ac3]=_0x10084b):_0x10084b=_0x29c3f7,_0x10084b;}class LockManager{constructor(){const _0x2957a3=a0_0x1008;this[_0x2957a3(0x168)]=null,this[_0x2957a3(0x1a0)]=null,this[_0x2957a3(0x196)]=null,this[_0x2957a3(0x187)]=null,this['_retryDelay']=null,this['_strategy']=null,this[_0x2957a3(0x171)]=null,this[_0x2957a3(0x1af)]=![];}[a0_0x554c48(0x1a6)](){const _0x46d25d=a0_0x554c48,_0xd59fc0={'nnfNc':_0x46d25d(0x197),'INeVX':function(_0x2017f6,_0x63b9b0,_0x207676){return _0x2017f6(_0x63b9b0,_0x207676);}};this[_0x46d25d(0x168)]=_0xd59fc0[_0x46d25d(0x1ab)],this['_enabled']=process['env'][_0x46d25d(0x18c)]===_0x46d25d(0x1a2),this[_0x46d25d(0x196)]=parseInt(process[_0x46d25d(0x1a1)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this['_retryCount']=_0xd59fc0[_0x46d25d(0x1ad)](parseInt,process[_0x46d25d(0x1a1)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x46d25d(0x199)]=_0xd59fc0[_0x46d25d(0x1ad)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x46d25d(0x178)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x46d25d(0x18f),this[_0x46d25d(0x171)]=_0x46d25d(0x19b)+process[_0x46d25d(0x15d)],this['_initialized']=!![],logger[_0x46d25d(0x17d)]({'event':_0x46d25d(0x16c),'enabled':this['_enabled'],'strategy':this[_0x46d25d(0x178)],'ttl':this[_0x46d25d(0x196)],'retryCount':this['_retryCount'],'retryDelay':this[_0x46d25d(0x199)],'workerId':this[_0x46d25d(0x171)]},_0x46d25d(0x1a7)+this[_0x46d25d(0x1a0)]+',\x20strategy:\x20'+this['_strategy']);}[a0_0x554c48(0x185)](){const _0x22a53d=a0_0x554c48;!this[_0x22a53d(0x1af)]&&this['_initConfig']();}get[a0_0x554c48(0x174)](){const _0x36f207=a0_0x554c48;return this['_ensureInitialized'](),this[_0x36f207(0x168)];}get[a0_0x554c48(0x188)](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x554c48(0x16a)](){const _0x6e3cef=a0_0x554c48;return this[_0x6e3cef(0x185)](),this['_defaultTTL'];}get[a0_0x554c48(0x193)](){const _0x1a481c=a0_0x554c48;return this[_0x1a481c(0x185)](),this[_0x1a481c(0x187)];}get[a0_0x554c48(0x15e)](){const _0x59a110=a0_0x554c48;return this[_0x59a110(0x185)](),this['_retryDelay'];}get['strategy'](){const _0x335e26=a0_0x554c48;return this[_0x335e26(0x185)](),this[_0x335e26(0x178)];}get[a0_0x554c48(0x198)](){return this['_ensureInitialized'](),this['_workerId'];}[a0_0x554c48(0x1a8)](_0x3fa7d1){const {module:_0x3821fa,endpoint:_0x25e623,lockType:_0x58d11c,recordId:_0x2af50a}=_0x3fa7d1;if(_0x2af50a)return''+this['prefix']+_0x3821fa+':'+_0x25e623+':'+_0x2af50a+':'+_0x58d11c;return''+this['prefix']+_0x3821fa+':'+_0x25e623+':'+_0x58d11c;}['generateLockValue'](){const _0x35e669=a0_0x554c48,_0x52cf68={'xNhTY':function(_0xaf1403){return _0xaf1403();}};return this[_0x35e669(0x198)]+':'+_0x52cf68['xNhTY'](uuidv4)+':'+Date['now']();}async[a0_0x554c48(0x180)](_0x5aafed){const _0xf391b=a0_0x554c48,_0x3da218={'UPyCp':'read_lock_acquired','TeeRm':_0xf391b(0x1a9),'eNOfK':_0xf391b(0x162),'QZukG':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','WSUYd':_0xf391b(0x166),'XaIjb':'READ\x20lock\x20error'};if(!this[_0xf391b(0x188)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2d4306=this[_0xf391b(0x1a8)]({..._0x5aafed,'lockType':'write'}),_0x4146e6=this[_0xf391b(0x1a8)]({..._0x5aafed,'lockType':_0xf391b(0x173)}),_0x1b87a6=this[_0xf391b(0x18b)]();try{const _0x12344d=redisClient[_0xf391b(0x186)]();for(let _0x5d6f44=0x0;_0x5d6f44<this[_0xf391b(0x193)];_0x5d6f44++){const _0x474959=await _0x12344d['get'](_0x2d4306);if(!_0x474959){await _0x12344d[_0xf391b(0x155)](_0x4146e6),await _0x12344d['expire'](_0x4146e6,this[_0xf391b(0x16a)]);const _0x3f221c=_0x4146e6+':'+_0x1b87a6;return await _0x12344d[_0xf391b(0x183)](_0x3f221c,this['defaultTTL'],_0x1b87a6),logger['debug']({'event':_0x3da218[_0xf391b(0x17c)],'key':_0x4146e6,'value':_0x1b87a6},_0x3da218['TeeRm']),{'success':!![],'lockValue':_0x1b87a6,'lockKey':_0x3f221c};}logger['debug']({'event':_0x3da218['eNOfK'],'writeKey':_0x2d4306,'attempt':_0x5d6f44},_0x3da218['QZukG']),await this[_0xf391b(0x172)](this[_0xf391b(0x15e)]*Math['pow'](0x2,_0x5d6f44));}return logger[_0xf391b(0x189)]({'event':_0x3da218[_0xf391b(0x157)],'key':_0x4146e6},_0xf391b(0x17b)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2acd64){return logger[_0xf391b(0x190)]({'event':'read_lock_error','error':_0x2acd64['message']},_0x3da218['XaIjb']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x554c48(0x176)](_0x137000){const _0x194b50=a0_0x554c48,_0x232754={'cPYqn':_0x194b50(0x173),'zIxrM':function(_0x464536,_0x8c242a){return _0x464536===_0x8c242a;},'ftUeE':'reject','TsRll':_0x194b50(0x182),'MOinQ':_0x194b50(0x16b),'tlMIV':_0x194b50(0x181),'GXhxm':function(_0x260add,_0x540aac){return _0x260add<_0x540aac;},'RlvME':function(_0x3f5ddc,_0x3dc83a){return _0x3f5ddc===_0x3dc83a;},'MxoZC':_0x194b50(0x15b),'WrSxl':'Waiting\x20for\x20locks\x20to\x20release','oKZXk':function(_0x5a74e3,_0x5da00e){return _0x5a74e3*_0x5da00e;},'VztFy':_0x194b50(0x19e)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x23f0cb=this['buildLockKey']({..._0x137000,'lockType':'write'}),_0x35896e=this[_0x194b50(0x1a8)]({..._0x137000,'lockType':_0x232754[_0x194b50(0x177)]}),_0x1f357a=this[_0x194b50(0x18b)]();try{const _0x6bcb83=redisClient[_0x194b50(0x186)]();if(_0x232754['zIxrM'](this[_0x194b50(0x1a5)],_0x232754['ftUeE'])){const _0x34a9ea=await _0x6bcb83[_0x194b50(0x1aa)](_0x23f0cb,_0x1f357a,'EX',this[_0x194b50(0x16a)],'NX');if(_0x232754[_0x194b50(0x17e)](_0x34a9ea,'OK'))return logger['debug']({'event':_0x232754['TsRll'],'key':_0x23f0cb,'value':_0x1f357a,'strategy':_0x232754['ftUeE']},_0x194b50(0x17a)),{'success':!![],'lockValue':_0x1f357a,'lockKey':_0x23f0cb};return logger[_0x194b50(0x156)]({'event':_0x232754[_0x194b50(0x19f)],'key':_0x23f0cb},_0x232754[_0x194b50(0x19d)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x256ab9=0x0;_0x232754[_0x194b50(0x18d)](_0x256ab9,this['retryCount']);_0x256ab9++){const [_0x26a5e4,_0x4b327a]=await Promise['all']([_0x6bcb83['get'](_0x35896e),_0x6bcb83[_0x194b50(0x18e)](_0x23f0cb)]);if(!_0x4b327a&&(!_0x26a5e4||_0x232754[_0x194b50(0x15c)](parseInt(_0x26a5e4),0x0))){const _0x592763=await _0x6bcb83[_0x194b50(0x1aa)](_0x23f0cb,_0x1f357a,'EX',this['defaultTTL'],'NX');if(_0x592763==='OK')return logger[_0x194b50(0x156)]({'event':_0x194b50(0x182),'key':_0x23f0cb,'value':_0x1f357a,'strategy':'retry'},_0x232754['MxoZC']),{'success':!![],'lockValue':_0x1f357a,'lockKey':_0x23f0cb};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x23f0cb,'readCount':_0x26a5e4,'attempt':_0x256ab9},_0x232754['WrSxl']),await this['sleep'](_0x232754[_0x194b50(0x194)](this['retryDelay'],Math[_0x194b50(0x1a4)](0x2,_0x256ab9)));}return logger[_0x194b50(0x189)]({'event':_0x232754[_0x194b50(0x192)],'key':_0x23f0cb},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x42c7fc){return logger[_0x194b50(0x190)]({'event':_0x194b50(0x1ae),'error':_0x42c7fc[_0x194b50(0x191)]},_0x194b50(0x164)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x554c48(0x165)](_0x19e0d6,_0x45ea17){const _0x16a6ff=a0_0x554c48,_0x10588f={'SOzix':':read:','jyiLC':function(_0x42bb45,_0x3bed26){return _0x42bb45(_0x3bed26);},'rbGFO':function(_0x5c3f65,_0x26fe0f){return _0x5c3f65===_0x26fe0f;},'gWaqG':_0x16a6ff(0x184)};if(!this['enabled']||!_0x19e0d6)return!![];try{const _0x9ed276=redisClient[_0x16a6ff(0x186)]();if(_0x19e0d6['includes'](_0x10588f['SOzix'])){await _0x9ed276['del'](_0x19e0d6);const _0x5b92cd=_0x19e0d6[_0x16a6ff(0x17f)](0x0,_0x19e0d6[_0x16a6ff(0x195)](':')),_0x3fbef9=await _0x9ed276[_0x16a6ff(0x18e)](_0x5b92cd);return _0x3fbef9&&_0x10588f['jyiLC'](parseInt,_0x3fbef9)>0x0&&await _0x9ed276['decr'](_0x5b92cd),logger[_0x16a6ff(0x156)]({'event':_0x16a6ff(0x167),'key':_0x19e0d6},'READ\x20lock\x20released'),!![];}const _0x3469ed='\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',_0x2aed88=await _0x9ed276[_0x16a6ff(0x18a)](_0x3469ed,0x1,_0x19e0d6,_0x45ea17);if(_0x10588f[_0x16a6ff(0x16d)](_0x2aed88,0x1))return logger['debug']({'event':'write_lock_released','key':_0x19e0d6},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x19e0d6},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x105e0a){return logger[_0x16a6ff(0x190)]({'event':'lock_release_error','key':_0x19e0d6,'error':_0x105e0a[_0x16a6ff(0x191)]},_0x10588f['gWaqG']),![];}}async['extendLock'](_0x2c8da5,_0xb562cc,_0x23e851=null){const _0x43df5d=a0_0x554c48,_0x3bcb42={'hmLuj':_0x43df5d(0x161),'tMLUn':_0x43df5d(0x15a)};if(!this[_0x43df5d(0x188)]||!_0x2c8da5)return!![];try{const _0x468e58=redisClient['getClient'](),_0x2a4e43='\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',_0x28576b=await _0x468e58['eval'](_0x2a4e43,0x1,_0x2c8da5,_0xb562cc,_0x23e851||this['defaultTTL']);if(_0x28576b===0x1)return logger[_0x43df5d(0x156)]({'event':_0x3bcb42['hmLuj'],'key':_0x2c8da5,'ttl':_0x23e851||this['defaultTTL']},_0x3bcb42['tMLUn']),!![];return![];}catch(_0x49bd85){return logger[_0x43df5d(0x190)]({'event':_0x43df5d(0x170),'key':_0x2c8da5,'error':_0x49bd85[_0x43df5d(0x191)]},'Lock\x20extend\x20error'),![];}}[a0_0x554c48(0x1a3)](){const _0x4d327e=a0_0x554c48;return this[_0x4d327e(0x188)];}[a0_0x554c48(0x172)](_0x283088){return new Promise(_0x4653da=>setTimeout(_0x4653da,_0x283088));}async[a0_0x554c48(0x16e)](_0x700383){const _0x4f4fe8=a0_0x554c48,_0x351499={'CFgTC':'read','PESUe':function(_0x5db433,_0xc5dad0){return _0x5db433||_0xc5dad0;},'qoRck':function(_0xf629a6,_0x2d25b3){return _0xf629a6(_0x2d25b3);}};if(!this[_0x4f4fe8(0x188)])return{'enabled':![]};try{const _0x5a0af9=redisClient['getClient'](),_0x4db37f=this['buildLockKey']({..._0x700383,'lockType':'write'}),_0x35245d=this[_0x4f4fe8(0x1a8)]({..._0x700383,'lockType':_0x351499['CFgTC']}),[_0x7db269,_0x4a4049]=await Promise[_0x4f4fe8(0x19a)]([_0x5a0af9['get'](_0x4db37f),_0x5a0af9[_0x4f4fe8(0x18e)](_0x35245d)]);return{'enabled':!![],'writeLock':_0x351499['PESUe'](_0x7db269,null),'readCount':_0x351499[_0x4f4fe8(0x160)](parseInt,_0x4a4049)||0x0,'writeKey':_0x4db37f,'readKey':_0x35245d};}catch(_0x16ffba){return{'enabled':!![],'error':_0x16ffba['message']};}}}module['exports']=new LockManager();
@@ -1 +1 @@
1
- const a0_0x2cb5eb=a0_0x343d;(function(_0x2191af,_0x1b115e){const _0x1972eb=a0_0x343d,_0x32eede=_0x2191af();while(!![]){try{const _0x43c5d6=-parseInt(_0x1972eb(0x12a))/0x1+-parseInt(_0x1972eb(0x186))/0x2+parseInt(_0x1972eb(0x18c))/0x3+-parseInt(_0x1972eb(0x13b))/0x4*(-parseInt(_0x1972eb(0x190))/0x5)+-parseInt(_0x1972eb(0xee))/0x6*(parseInt(_0x1972eb(0x184))/0x7)+-parseInt(_0x1972eb(0x15e))/0x8+parseInt(_0x1972eb(0x126))/0x9*(parseInt(_0x1972eb(0x139))/0xa);if(_0x43c5d6===_0x1b115e)break;else _0x32eede['push'](_0x32eede['shift']());}catch(_0x2afb0e){_0x32eede['push'](_0x32eede['shift']());}}}(a0_0x3b5a,0xce941));const pino=require(a0_0x2cb5eb(0xff)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x2cb5eb(0x17e),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x343d(_0x55ce53,_0x564001){_0x55ce53=_0x55ce53-0xeb;const _0x3b5a11=a0_0x3b5a();let _0x343d40=_0x3b5a11[_0x55ce53];if(a0_0x343d['auEhAs']===undefined){var _0x1382c5=function(_0x396360){const _0x473712='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x256fdc='',_0x576902='';for(let _0x30cbce=0x0,_0x26d7f0,_0x4dec75,_0x5b2b5a=0x0;_0x4dec75=_0x396360['charAt'](_0x5b2b5a++);~_0x4dec75&&(_0x26d7f0=_0x30cbce%0x4?_0x26d7f0*0x40+_0x4dec75:_0x4dec75,_0x30cbce++%0x4)?_0x256fdc+=String['fromCharCode'](0xff&_0x26d7f0>>(-0x2*_0x30cbce&0x6)):0x0){_0x4dec75=_0x473712['indexOf'](_0x4dec75);}for(let _0x3ea2d6=0x0,_0x2f0360=_0x256fdc['length'];_0x3ea2d6<_0x2f0360;_0x3ea2d6++){_0x576902+='%'+('00'+_0x256fdc['charCodeAt'](_0x3ea2d6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x576902);};a0_0x343d['tGMHqp']=_0x1382c5,a0_0x343d['KxtLzF']={},a0_0x343d['auEhAs']=!![];}const _0x2fabf3=_0x3b5a11[0x0],_0x797d6d=_0x55ce53+_0x2fabf3,_0x18a18a=a0_0x343d['KxtLzF'][_0x797d6d];return!_0x18a18a?(_0x343d40=a0_0x343d['tGMHqp'](_0x343d40),a0_0x343d['KxtLzF'][_0x797d6d]=_0x343d40):_0x343d40=_0x18a18a,_0x343d40;}const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x2cb5eb(0x155),'ignore':a0_0x2cb5eb(0xed),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x2cb5eb(0x17c),'hideObject':!![]},isDevelopment=process[a0_0x2cb5eb(0x15a)]['NODE_ENV']!==a0_0x2cb5eb(0x12d),logLevel=process[a0_0x2cb5eb(0x15a)]['LOG_LEVEL']||a0_0x2cb5eb(0x102);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x2cb5eb(0x17e),'version':process['env'][a0_0x2cb5eb(0x1a5)]||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino[a0_0x2cb5eb(0x10f)][a0_0x2cb5eb(0x199)],'redact':{'paths':[a0_0x2cb5eb(0x191),a0_0x2cb5eb(0x116),a0_0x2cb5eb(0xfb),a0_0x2cb5eb(0x108),a0_0x2cb5eb(0x181),a0_0x2cb5eb(0x114),a0_0x2cb5eb(0x14d)],'censor':a0_0x2cb5eb(0x137)},'serializers':{'req':_0xf24924=>({'id':_0xf24924['id'],'method':_0xf24924[a0_0x2cb5eb(0x106)],'url':_0xf24924[a0_0x2cb5eb(0xf1)],'path':_0xf24924[a0_0x2cb5eb(0x167)],'remoteAddress':_0xf24924['ip']||_0xf24924['connection']?.['remoteAddress']}),'res':_0x1c0f40=>({'statusCode':_0x1c0f40[a0_0x2cb5eb(0x133)],'headers':_0x1c0f40['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x2aec58=a0_0x2cb5eb,_0x4901db={'KgVLf':function(_0x2485f6,_0x530f3a){return _0x2485f6===_0x530f3a;},'dOcFF':_0x2aec58(0x169),'wfbdH':function(_0xc118ad,_0x8070a7){return _0xc118ad===_0x8070a7;},'ykOAj':'app.log','isllT':_0x2aec58(0x162),'uYudy':_0x2aec58(0x16a),'IwfwZ':function(_0x3942f6,_0x51733c,_0x1d0e84){return _0x3942f6(_0x51733c,_0x1d0e84);},'wLXWZ':_0x2aec58(0x102)};if(fileLoggingInitialized)return;logToFile=_0x4901db[_0x2aec58(0x154)](process['env'][_0x2aec58(0x182)],_0x4901db[_0x2aec58(0x14f)]);const _0x485937=process[_0x2aec58(0x15a)]['RESTFORGE_PROJECT_NAME']||_0x2aec58(0x164);logDir=process['env'][_0x2aec58(0x153)]||_0x2aec58(0x14e)+_0x485937,serviceName=process['env']['SERVICE_NAME']||'restforge',sqlLogEnabled=_0x4901db[_0x2aec58(0x175)](process[_0x2aec58(0x15a)][_0x2aec58(0x149)],_0x2aec58(0x169)),sqlLogLevel=process['env'][_0x2aec58(0x18b)]||'debug',sqlLogParams=process['env']['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=parseInt(process[_0x2aec58(0x15a)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x108c8a=path['resolve'](process[_0x2aec58(0x18f)](),logDir);try{!fs[_0x2aec58(0x18e)](_0x108c8a)&&fs[_0x2aec58(0x1a6)](_0x108c8a,{'recursive':!![]});}catch(_0x4d2fe1){console[_0x2aec58(0x109)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x108c8a+':',_0x4d2fe1['message']),fileLoggingInitialized=!![];return;}const _0x59e322=path['join'](_0x108c8a,_0x4901db[_0x2aec58(0x16f)]),_0x55fae2=path['join'](_0x108c8a,_0x4901db[_0x2aec58(0x13e)]);try{appLogStream=fs['createWriteStream'](_0x59e322,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x55fae2,{'flags':'a'}),fileLoggingInitialized=!![];const _0x35c01a={'event':_0x4901db['uYudy'],'logDir':_0x108c8a,'files':[_0x2aec58(0x168),_0x4901db['isllT']]},_0x3e08fc=_0x2aec58(0x122)+_0x108c8a;logger[_0x2aec58(0x102)](_0x35c01a,_0x3e08fc),_0x4901db[_0x2aec58(0x110)](writeToFileLog,{..._0x35c01a,'level':'info','msg':_0x3e08fc,'time':new Date()[_0x2aec58(0xf8)]()},_0x4901db[_0x2aec58(0x1a3)]);}catch(_0x2d0192){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x2d0192[_0x2aec58(0xf3)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x51bb5b,_0x1820d5){const _0x5014df=a0_0x2cb5eb,_0x3460ac={'HhBAy':function(_0x8a0b4a,_0x319007){return _0x8a0b4a||_0x319007;},'YTINZ':function(_0x483555,_0x5790be){return _0x483555+_0x5790be;},'VhnCN':function(_0x2758e3,_0x498898){return _0x2758e3===_0x498898;},'oYANE':function(_0x4761ec,_0x570237){return _0x4761ec===_0x570237;},'LQLRT':'fatal'};if(_0x3460ac['HhBAy'](!logToFile,!appLogStream))return;const _0x4940a6={'service':serviceName,..._0x51bb5b},_0xf2c9a6=_0x3460ac[_0x5014df(0x176)](JSON[_0x5014df(0x198)](_0x4940a6),'\x0a');appLogStream['write'](_0xf2c9a6),(_0x3460ac[_0x5014df(0x172)](_0x1820d5,'error')||_0x3460ac[_0x5014df(0x13a)](_0x1820d5,_0x3460ac[_0x5014df(0x197)]))&&(errorLogStream&&errorLogStream[_0x5014df(0x11c)](_0xf2c9a6));}const createRequestLogger=(_0x5db6cb={})=>{return logger['child'](_0x5db6cb);},logServerStart=_0x107917=>{const _0x3de06b=a0_0x2cb5eb,_0x223d83={'LdBIU':'RESTFORGE\x20RUNTIME\x20SERVER','fDGhL':function(_0xc87fc1,_0x278e4a){return _0xc87fc1-_0x278e4a;},'pFmyR':function(_0x429be0,_0x480e3c){return _0x429be0-_0x480e3c;},'dObyb':_0x3de06b(0x124),'oHAmq':function(_0x2131e0,_0x3bce2d){return _0x2131e0(_0x3bce2d);},'lgvrO':'Default','YEHkU':'NOT\x20ACTIVE','jDkAA':'server_starting','JCInW':_0x3de06b(0x102)},_0xfa6315=_0x223d83['LdBIU'],_0xe2b276=Math['max'](0x0,_0x223d83['fDGhL'](0x37,_0xfa6315['length'])),_0x19ac73=Math['floor'](_0xe2b276/0x2),_0x3504b5=_0x223d83[_0x3de06b(0x178)](_0xe2b276,_0x19ac73),_0x271432='║'+'\x20'[_0x3de06b(0x11b)](_0x19ac73)+_0xfa6315+'\x20'['repeat'](_0x3504b5)+'║',_0x520766=_0x3de06b(0x150)+_0x271432+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x107917[_0x3de06b(0x146)]||'Node.js')[_0x3de06b(0xfa)](0x26)+_0x3de06b(0x17a)+(_0x107917[_0x3de06b(0x131)]||_0x223d83[_0x3de06b(0xf2)])[_0x3de06b(0xfa)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x223d83[_0x3de06b(0x195)](String,_0x107917[_0x3de06b(0x19d)]||0xbb8)[_0x3de06b(0xfa)](0x26)+_0x3de06b(0x113)+(_0x107917['configFile']||_0x223d83[_0x3de06b(0x10b)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x107917[_0x3de06b(0x181)]?'ACTIVE':_0x223d83['YEHkU'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x3de06b(0x112)](_0x520766);const _0x2d8944={'event':_0x223d83[_0x3de06b(0x189)],'project':_0x107917['project'],'port':_0x107917['port'],'config':_0x107917['configFile'],'apiKeyEnabled':!!_0x107917['apiKey']};logger[_0x3de06b(0x102)](_0x2d8944),writeToFileLog({..._0x2d8944,'level':_0x223d83['JCInW'],'msg':_0x3de06b(0x130)+_0x107917['project']+_0x3de06b(0x157)+_0x107917['port'],'time':new Date()[_0x3de06b(0xf8)]()},_0x3de06b(0x102));},logServerReady=_0xf8cefb=>{const _0x2f82a1=a0_0x2cb5eb,_0x5f214d={'RBlrH':'server_ready','noESN':_0x2f82a1(0x102)},_0x182284={'event':_0x5f214d['RBlrH'],'port':_0xf8cefb['port'],'module':_0xf8cefb['module'],'healthCheck':_0xf8cefb[_0x2f82a1(0x18d)],'serviceInfo':_0xf8cefb[_0x2f82a1(0x1a7)],'baseUrl':_0xf8cefb[_0x2f82a1(0x159)]},_0xfc6934=_0x2f82a1(0x147)+_0xf8cefb['port'];logger['info'](_0x182284,_0xfc6934),writeToFileLog({..._0x182284,'level':'info','msg':_0xfc6934,'time':new Date()[_0x2f82a1(0xf8)]()},_0x5f214d[_0x2f82a1(0xfc)]),_0xf8cefb['healthCheck']&&logger['info'](_0x2f82a1(0x17f)+_0xf8cefb[_0x2f82a1(0x18d)]),_0xf8cefb['serviceInfo']&&logger['info'](_0x2f82a1(0x173)+_0xf8cefb[_0x2f82a1(0x1a7)]),_0xf8cefb[_0x2f82a1(0x159)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0xf8cefb[_0x2f82a1(0x159)]);},logProjectLoaded=(_0x506f57,_0x4ae778)=>{const _0x8578cf=a0_0x2cb5eb,_0x2b1534={'bkgfG':'project_loaded','DGtqH':_0x8578cf(0x102)},_0x19cb35={'event':_0x2b1534['bkgfG'],'project':_0x506f57,'path':_0x4ae778},_0x107457='[OK]\x20Project\x20loaded:\x20'+_0x506f57;logger['info'](_0x19cb35,_0x107457),writeToFileLog({..._0x19cb35,'level':_0x2b1534[_0x8578cf(0x19f)],'msg':_0x107457,'time':new Date()[_0x8578cf(0xf8)]()},_0x2b1534['DGtqH']);},logEndpointRegistered=(_0x564161,_0x414292)=>{const _0x209f9c=a0_0x2cb5eb,_0x4a26d0={'QuWEy':_0x209f9c(0xf9),'dSvMn':function(_0x1d74da,_0x2bce54,_0x3db8eb){return _0x1d74da(_0x2bce54,_0x3db8eb);},'KSAGT':_0x209f9c(0x19e)},_0x31fed1={'event':_0x4a26d0[_0x209f9c(0x11d)],'endpoint':_0x564161,'route':_0x414292},_0x22dec1='\x20\x20→\x20'+_0x564161+':\x20'+_0x414292;logger[_0x209f9c(0x19e)](_0x31fed1,_0x22dec1),_0x4a26d0['dSvMn'](writeToFileLog,{..._0x31fed1,'level':_0x209f9c(0x19e),'msg':_0x22dec1,'time':new Date()['toISOString']()},_0x4a26d0[_0x209f9c(0x15c)]);},logDatabaseConfig=_0xb28e9d=>{const _0x1f0ad4=a0_0x2cb5eb,_0x2c8591={'tGjIA':_0x1f0ad4(0x15b),'uTsIx':_0x1f0ad4(0x19e)},_0x385ca4={'event':_0x2c8591['tGjIA'],'host':_0xb28e9d[_0x1f0ad4(0x129)],'port':_0xb28e9d['port'],'database':_0xb28e9d['database'],'type':_0xb28e9d['type'],'user':_0xb28e9d[_0x1f0ad4(0x119)]},_0x42ab40=_0x1f0ad4(0x140)+_0xb28e9d[_0x1f0ad4(0x192)]+'://'+_0xb28e9d['host']+':'+_0xb28e9d['port']+'/'+_0xb28e9d[_0x1f0ad4(0x138)];logger[_0x1f0ad4(0x19e)](_0x385ca4,_0x42ab40),writeToFileLog({..._0x385ca4,'level':'debug','msg':_0x42ab40,'time':new Date()[_0x1f0ad4(0xf8)]()},_0x2c8591['uTsIx']);},logRequest=(_0x41d7da,_0x22d024,_0x4b06e6)=>{const _0x46aba2=a0_0x2cb5eb,_0x36eb95={'pxPBv':function(_0x3919c8,_0x3c0712){return _0x3919c8>=_0x3c0712;},'ZCsBF':function(_0x3058fb,_0x2124eb,_0x4cd77f){return _0x3058fb(_0x2124eb,_0x4cd77f);}},_0x3ce2={'event':'http_request','method':_0x41d7da[_0x46aba2(0x106)],'path':_0x41d7da['path'],'statusCode':_0x22d024['statusCode'],'durationMs':_0x4b06e6,'ip':_0x41d7da['ip']},_0x3837e3=_0x41d7da[_0x46aba2(0x106)]+'\x20'+_0x41d7da['path']+_0x46aba2(0x13d)+_0x22d024['statusCode']+'\x20('+_0x4b06e6+_0x46aba2(0x127);let _0x455bcb=_0x46aba2(0x102);if(_0x22d024[_0x46aba2(0x133)]>=0x1f4)_0x455bcb=_0x46aba2(0x109),logger[_0x46aba2(0x109)](_0x3ce2,_0x3837e3);else _0x36eb95['pxPBv'](_0x22d024[_0x46aba2(0x133)],0x190)?(_0x455bcb=_0x46aba2(0x17b),logger['warn'](_0x3ce2,_0x3837e3)):logger[_0x46aba2(0x102)](_0x3ce2,_0x3837e3);_0x36eb95['ZCsBF'](writeToFileLog,{..._0x3ce2,'level':_0x455bcb,'msg':_0x3837e3,'time':new Date()[_0x46aba2(0xf8)]()},_0x455bcb);},SENSITIVE_PARAM_PATTERNS=['password','passwd','pwd',a0_0x2cb5eb(0x108),a0_0x2cb5eb(0x107),a0_0x2cb5eb(0x165),a0_0x2cb5eb(0x144),a0_0x2cb5eb(0x11e),'apikey',a0_0x2cb5eb(0x166),a0_0x2cb5eb(0x135),'credentials','pin',a0_0x2cb5eb(0x16e),a0_0x2cb5eb(0x187),'privatekey'],redactSensitiveParams=(_0xe6909,_0x2b456b)=>{const _0x57e94c=a0_0x2cb5eb,_0x954c83={'UmBlk':_0x57e94c(0x137),'dANST':function(_0x17a381,_0x11d7a8){return _0x17a381>_0x11d7a8;}};if(!_0xe6909||_0xe6909['length']===0x0)return _0xe6909;const _0x4aba8f=_0x2b456b['toLowerCase'](),_0x327589=_0x4aba8f[_0x57e94c(0x101)](/\(([^)]+)\)\s*values/i);let _0xc51fc5=[];_0x327589&&(_0xc51fc5=_0x327589[0x1][_0x57e94c(0x12f)](',')[_0x57e94c(0x1a9)](_0x4a2c75=>_0x4a2c75[_0x57e94c(0x10d)]()[_0x57e94c(0x120)]()));const _0x115c2f=_0x4aba8f[_0x57e94c(0x101)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x115c2f){const _0x4fcc65=_0x115c2f[0x1],_0x584e51=_0x4fcc65['match'](/(\w+)\s*=/g);_0x584e51&&(_0xc51fc5=_0x584e51['map'](_0x5c365a=>_0x5c365a['replace'](/\s*=/,'')[_0x57e94c(0x10d)]()['toLowerCase']()));}return _0xe6909['map']((_0x110aad,_0x3b87d6)=>{const _0x4be26b=_0x57e94c;if(_0xc51fc5[_0x3b87d6]){const _0x2f0996=_0xc51fc5[_0x3b87d6],_0x2c50ec=SENSITIVE_PARAM_PATTERNS[_0x4be26b(0xf7)](_0x16289f=>_0x2f0996[_0x4be26b(0x142)](_0x16289f));if(_0x2c50ec)return _0x954c83['UmBlk'];}if(typeof _0x110aad==='string'&&_0x954c83['dANST'](_0x110aad[_0x4be26b(0xfe)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x110aad)&&_0x110aad[_0x4be26b(0x142)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x110aad))return _0x4be26b(0x179);}return _0x110aad;});},parseQueryMetadata=_0x5bd8e7=>{const _0x3a936b=a0_0x2cb5eb,_0x2ea963={'SQuxi':_0x3a936b(0x171),'FiDQP':'SELECT','XGiRy':_0x3a936b(0x170),'SryiA':'DELETE','owuvT':_0x3a936b(0x161),'AoNAG':_0x3a936b(0x118),'tyAml':'DDL_CREATE','KSHNh':_0x3a936b(0x160)},_0x180daf=_0x5bd8e7[_0x3a936b(0x10d)](),_0x2317e0=_0x180daf[_0x3a936b(0x19b)]();let _0x2de672=_0x2ea963[_0x3a936b(0x1a4)],_0x1fd995=null;if(_0x2317e0[_0x3a936b(0x115)](_0x2ea963['FiDQP'])){_0x2de672=_0x3a936b(0x1a8);const _0x535a17=_0x180daf[_0x3a936b(0x101)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1fd995=_0x535a17?_0x535a17[0x1]:null;}else{if(_0x2317e0['startsWith'](_0x3a936b(0x11f))){_0x2de672=_0x3a936b(0x11f);const _0x30493f=_0x180daf[_0x3a936b(0x101)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1fd995=_0x30493f?_0x30493f[0x1]:null;}else{if(_0x2317e0['startsWith'](_0x2ea963['XGiRy'])){_0x2de672=_0x3a936b(0x170);const _0x46c637=_0x180daf[_0x3a936b(0x101)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1fd995=_0x46c637?_0x46c637[0x1]:null;}else{if(_0x2317e0['startsWith'](_0x3a936b(0x123))){_0x2de672=_0x2ea963[_0x3a936b(0x185)];const _0x3ca9c6=_0x180daf['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1fd995=_0x3ca9c6?_0x3ca9c6[0x1]:null;}else{if(_0x2317e0['startsWith']('BEGIN')||_0x2317e0['startsWith']('START\x20TRANSACTION'))_0x2de672=_0x3a936b(0x134);else{if(_0x2317e0['startsWith'](_0x2ea963['owuvT']))_0x2de672=_0x2ea963['AoNAG'];else{if(_0x2317e0[_0x3a936b(0x115)](_0x3a936b(0x16b)))_0x2de672='TRANSACTION_ROLLBACK';else{if(_0x2317e0['startsWith'](_0x3a936b(0x121)))_0x2de672=_0x2ea963[_0x3a936b(0x12c)];else{if(_0x2317e0[_0x3a936b(0x115)](_0x3a936b(0x156)))_0x2de672=_0x3a936b(0xec);else _0x2317e0[_0x3a936b(0x115)](_0x2ea963['KSHNh'])&&(_0x2de672='DDL_DROP');}}}}}}}}return{'type':_0x2de672,'table':_0x1fd995};},startQueryTimer=()=>{const _0xcf1b96=a0_0x2cb5eb,_0x21d484={'lThcx':function(_0x28ff82,_0x45df90){return _0x28ff82*_0x45df90;}},_0x557b5e=process[_0xcf1b96(0x163)]();return()=>{const _0x2233ae=_0xcf1b96,[_0x9de7b2,_0x210fed]=process['hrtime'](_0x557b5e);return parseFloat((_0x21d484[_0x2233ae(0x12b)](_0x9de7b2,0x3e8)+_0x210fed/0xf4240)['toFixed'](0x2));};},logQuery=(_0x30a1d3,_0x4d9c42=[],_0x233abf={})=>{const _0x1bc5e8=a0_0x2cb5eb,_0xd2e655={'pJwvA':'DB\x20Query','UPtgA':function(_0x35dc33,_0x392896){return _0x35dc33>_0x392896;},'xWMfb':function(_0x386322,_0x3de178,_0x22fad0){return _0x386322(_0x3de178,_0x22fad0);},'EfoFx':function(_0x231023,_0xddc6ac){return _0x231023!==_0xddc6ac;},'cVPMd':function(_0x2e6e64,_0xc28b29){return _0x2e6e64!==_0xc28b29;},'hSSdn':_0x1bc5e8(0xf0),'vFMve':function(_0x47d70c,_0x58809c){return _0x47d70c===_0x58809c;},'DsxEl':'info','VGzdG':function(_0x2d9ea0,_0x5d6805,_0x5a0e12){return _0x2d9ea0(_0x5d6805,_0x5a0e12);}};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0x30a1d3['substring'](0x0,0xc8),'paramCount':_0x4d9c42['length']},_0xd2e655[_0x1bc5e8(0x1a2)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x233abf,{type:_0x3a06ae,table:_0x128685}=parseQueryMetadata(_0x30a1d3),_0x1f921d={'event':'sql_query','queryType':_0x3a06ae,'table':_0x128685,'query':_0x30a1d3,'paramCount':_0x4d9c42['length'],'dbType':dbType};sqlLogParams&&_0xd2e655[_0x1bc5e8(0x177)](_0x4d9c42['length'],0x0)&&(_0x1f921d[_0x1bc5e8(0x103)]=_0xd2e655[_0x1bc5e8(0x100)](redactSensitiveParams,_0x4d9c42,_0x30a1d3));_0xd2e655['EfoFx'](duration,null)&&(_0x1f921d[_0x1bc5e8(0x196)]=duration,_0x1f921d['isSlow']=duration>sqlLogSlowThreshold);_0xd2e655['cVPMd'](rowsAffected,null)&&(_0x1f921d['rowsAffected']=rowsAffected);const _0x43d3cb=_0x128685||_0xd2e655[_0x1bc5e8(0x14a)];let _0x4812eb='['+_0x3a06ae+']\x20'+_0x43d3cb;_0xd2e655['cVPMd'](duration,null)&&(_0x4812eb+='\x20('+duration+'ms)');const _0x1cdc3f=duration!==null&&duration>sqlLogSlowThreshold;let _0x4e013a=_0x1bc5e8(0x19e);if(_0x1cdc3f)_0x4812eb+='\x20[SLOW]',_0x4e013a=_0x1bc5e8(0x17b),logger[_0x1bc5e8(0x17b)](_0x1f921d,_0x4812eb);else _0xd2e655[_0x1bc5e8(0x125)](sqlLogLevel,_0xd2e655[_0x1bc5e8(0x14c)])?(_0x4e013a=_0xd2e655[_0x1bc5e8(0x14c)],logger['info'](_0x1f921d,_0x4812eb)):logger[_0x1bc5e8(0x19e)](_0x1f921d,_0x4812eb);_0xd2e655[_0x1bc5e8(0x117)](writeToFileLog,{..._0x1f921d,'level':_0x4e013a,'msg':_0x4812eb,'time':new Date()['toISOString']()},_0x4e013a);},logTransaction=(_0x232618,_0x9c2f82)=>{const _0x3483aa=a0_0x2cb5eb,_0x1f99ff={'aeOAn':_0x3483aa(0x16d),'UfKXE':function(_0x340304,_0x13f139,_0x5ebcf5){return _0x340304(_0x13f139,_0x5ebcf5);},'CEbNU':'debug'},_0x1d37ca={'event':_0x1f99ff['aeOAn'],'status':_0x232618,'queryCount':_0x9c2f82},_0x20cc99='Transaction\x20'+_0x232618;logger['debug'](_0x1d37ca,_0x20cc99),_0x1f99ff['UfKXE'](writeToFileLog,{..._0x1d37ca,'level':_0x3483aa(0x19e),'msg':_0x20cc99,'time':new Date()[_0x3483aa(0xf8)]()},_0x1f99ff[_0x3483aa(0xf6)]);},redactObject=_0x5c0d7f=>{const _0x5243f4=a0_0x2cb5eb,_0x527f1c={'yxOsw':'object','sXXNT':'password','AKJPh':_0x5243f4(0x19c),'MpxLd':_0x5243f4(0xef),'SlGGl':_0x5243f4(0x141),'yPOQp':'creditcard','qwUJf':_0x5243f4(0x17d),'ZuvkS':'cvv','LPDtE':'ssn','DxoXF':'private_key','OjwwZ':'privatekey'};if(!_0x5c0d7f||typeof _0x5c0d7f!==_0x527f1c[_0x5243f4(0xf5)])return _0x5c0d7f;const _0x3a5a75=[_0x527f1c['sXXNT'],_0x527f1c[_0x5243f4(0x19a)],_0x527f1c['MpxLd'],_0x5243f4(0x108),'secret','apikey','api_key',_0x527f1c[_0x5243f4(0x105)],_0x527f1c['yPOQp'],_0x527f1c['qwUJf'],_0x527f1c['ZuvkS'],_0x527f1c[_0x5243f4(0x14b)],'pin',_0x527f1c[_0x5243f4(0x10c)],_0x527f1c[_0x5243f4(0x10e)],_0x5243f4(0x165),_0x5243f4(0x107)],_0x53f0ce=Array[_0x5243f4(0x15d)](_0x5c0d7f)?[..._0x5c0d7f]:{..._0x5c0d7f};for(const _0x1727ec of Object[_0x5243f4(0x132)](_0x53f0ce)){const _0x1d1f58=_0x1727ec['toLowerCase']();if(_0x3a5a75[_0x5243f4(0xf7)](_0x15a336=>_0x1d1f58[_0x5243f4(0x142)](_0x15a336)))_0x53f0ce[_0x1727ec]='[REDACTED]';else typeof _0x53f0ce[_0x1727ec]===_0x527f1c['yxOsw']&&_0x53f0ce[_0x1727ec]!==null&&(_0x53f0ce[_0x1727ec]=redactObject(_0x53f0ce[_0x1727ec]));}return _0x53f0ce;},logError=(_0x1b9ece,_0x5b2e2c={},_0x4ec409=null)=>{const _0x4ebc8a=a0_0x2cb5eb,_0x1de364={'xmYLF':'Error','KIAGf':function(_0x3302ce,_0x3b29a0,_0x46a8b9){return _0x3302ce(_0x3b29a0,_0x46a8b9);},'ntuBK':_0x4ebc8a(0x109)},_0x5d71cf={'event':'error','errorName':_0x1b9ece[_0x4ebc8a(0xf4)]||_0x1de364['xmYLF'],'errorMessage':_0x1b9ece[_0x4ebc8a(0xf3)],'errorCode':_0x1b9ece['code']||null,'stack':_0x1b9ece['stack'],..._0x5b2e2c},_0x2ba41c=_0x4ec409||'Error:\x20'+_0x1b9ece[_0x4ebc8a(0xf3)];logger['error'](_0x5d71cf,_0x2ba41c),_0x1de364['KIAGf'](writeToFileLog,{..._0x5d71cf,'level':'error','msg':_0x2ba41c,'time':new Date()['toISOString']()},_0x1de364[_0x4ebc8a(0x158)]);},logFatalError=(_0xe46bb2,_0x4b6a8c={},_0x40f939=null)=>{const _0x4db51e=a0_0x2cb5eb,_0x2882c2={'PCWmp':_0x4db51e(0x12e),'TTwPA':function(_0x38bbff,_0x148156,_0x4d8bd7){return _0x38bbff(_0x148156,_0x4d8bd7);},'OqszI':'fatal'},_0x1386ab={'event':_0x4db51e(0xeb),'errorName':_0xe46bb2[_0x4db51e(0xf4)]||_0x4db51e(0xfd),'errorMessage':_0xe46bb2['message'],'errorCode':_0xe46bb2[_0x4db51e(0x193)]||null,'stack':_0xe46bb2[_0x4db51e(0x151)],'severity':_0x2882c2['PCWmp'],..._0x4b6a8c},_0xc5ae5a=_0x40f939||'FATAL:\x20'+_0xe46bb2['message'];logger['fatal'](_0x1386ab,_0xc5ae5a),_0x2882c2['TTwPA'](writeToFileLog,{..._0x1386ab,'level':_0x2882c2['OqszI'],'msg':_0xc5ae5a,'time':new Date()['toISOString']()},'error');},logHttpError=(_0x51c4c2,_0x4e3f11,_0x14203b={})=>{const _0x130a5f=a0_0x2cb5eb,_0x46a172={'WWrgh':'http_error','oGDWN':_0x130a5f(0xfd),'UeBxw':_0x130a5f(0x18a),'xqGaZ':function(_0x35ae2e,_0x266c7f,_0x58d6e2){return _0x35ae2e(_0x266c7f,_0x58d6e2);},'KxfZD':_0x130a5f(0x17b),'eWSLs':function(_0x56fe2f,_0x2f832c){return _0x56fe2f>=_0x2f832c;},'mDyKK':_0x130a5f(0x109)},_0x5c4513={'event':_0x46a172[_0x130a5f(0x194)],'errorName':_0x51c4c2['name']||_0x46a172[_0x130a5f(0x1a1)],'errorMessage':_0x51c4c2[_0x130a5f(0xf3)],'errorCode':_0x51c4c2[_0x130a5f(0x193)]||_0x51c4c2['statusCode']||0x1f4,'stack':_0x51c4c2[_0x130a5f(0x151)],'method':_0x4e3f11?.[_0x130a5f(0x106)],'url':_0x4e3f11?.[_0x130a5f(0xf1)]||_0x4e3f11?.['originalUrl'],'path':_0x4e3f11?.[_0x130a5f(0x167)],'ip':_0x4e3f11?.['ip']||_0x4e3f11?.['connection']?.['remoteAddress'],'userAgent':_0x4e3f11?.[_0x130a5f(0x183)]?.(_0x46a172[_0x130a5f(0x174)]),'requestId':_0x4e3f11?.['id']||_0x4e3f11?.['headers']?.[_0x130a5f(0x136)],'body':_0x4e3f11?.[_0x130a5f(0x180)]?redactObject(_0x4e3f11[_0x130a5f(0x180)]):undefined,'query':_0x4e3f11?.['query'],..._0x14203b},_0x4cbc41=_0x51c4c2['statusCode']||_0x51c4c2['status']||0x1f4,_0x83ceea='HTTP\x20'+_0x4cbc41+':\x20'+_0x51c4c2[_0x130a5f(0xf3)];_0x4cbc41>=0x1f4?logger[_0x130a5f(0x109)](_0x5c4513,_0x83ceea):logger[_0x130a5f(0x17b)](_0x5c4513,_0x83ceea),_0x46a172['xqGaZ'](writeToFileLog,{..._0x5c4513,'level':_0x4cbc41>=0x1f4?_0x130a5f(0x109):_0x46a172[_0x130a5f(0x128)],'msg':_0x83ceea,'time':new Date()[_0x130a5f(0xf8)]()},_0x46a172['eWSLs'](_0x4cbc41,0x1f4)?_0x46a172[_0x130a5f(0x16c)]:_0x46a172['KxfZD']);},logUncaughtError=(_0x5813ac,_0x57818b)=>{const _0x33b721=a0_0x2cb5eb,_0x29a6a1={'ROyQu':function(_0x12ddf0,_0x366f5d,_0x3e9e59){return _0x12ddf0(_0x366f5d,_0x3e9e59);}},_0x458d8a={'event':_0x5813ac,'errorName':_0x57818b?.['name']||'Error','errorMessage':_0x57818b?.[_0x33b721(0xf3)]||String(_0x57818b),'errorCode':_0x57818b?.[_0x33b721(0x193)]||null,'stack':_0x57818b?.['stack'],'severity':'CRITICAL','processId':process[_0x33b721(0x145)],'memoryUsage':process[_0x33b721(0x188)](),'uptime':process['uptime']()},_0x39411f='['+_0x5813ac[_0x33b721(0x19b)]()+']\x20'+(_0x57818b?.['message']||_0x57818b);logger['fatal'](_0x458d8a,_0x39411f),_0x29a6a1['ROyQu'](writeToFileLog,{..._0x458d8a,'level':_0x33b721(0x143),'msg':_0x39411f,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x4a008c=a0_0x2cb5eb,_0x53eeed={'vhCYZ':function(_0x3cd791,_0x104649,_0x1850ec){return _0x3cd791(_0x104649,_0x1850ec);},'mewNO':'unhandledRejection','tSiQY':'uncaughtException','zkrQg':_0x4a008c(0x104),'ABaNM':_0x4a008c(0x152),'ecyIk':function(_0x45ce41,_0x4ad77a,_0x1c850c){return _0x45ce41(_0x4ad77a,_0x1c850c);}};process['on'](_0x53eeed['tSiQY'],_0x4a7b5c=>{const _0x25db2c=_0x4a008c;logUncaughtError(_0x25db2c(0x1a0),_0x4a7b5c),_0x53eeed[_0x25db2c(0x10a)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x53eeed['mewNO'],(_0x2d2014,_0x20fdb4)=>{const _0x485f4c=_0x2d2014 instanceof Error?_0x2d2014:new Error(String(_0x2d2014));logUncaughtError(_0x53eeed['mewNO'],_0x485f4c);}),process['on'](_0x4a008c(0x111),_0x1cbddf=>{const _0x4e9f06=_0x4a008c;logger[_0x4e9f06(0x17b)]({'event':_0x4e9f06(0x13c),'name':_0x1cbddf['name'],'message':_0x1cbddf['message'],'stack':_0x1cbddf['stack']},'Process\x20Warning:\x20'+_0x1cbddf['message']);});const _0x1475d5={'event':_0x53eeed['zkrQg']},_0x1a8d1c=_0x53eeed['ABaNM'];logger[_0x4a008c(0x102)](_0x1475d5,_0x1a8d1c),_0x53eeed['ecyIk'](writeToFileLog,{..._0x1475d5,'level':'info','msg':_0x1a8d1c,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x875a27=a0_0x2cb5eb,_0x6699c6={'ufCoC':function(_0x14feb2,_0x23fddc,_0xae4d6e){return _0x14feb2(_0x23fddc,_0xae4d6e);},'epeqn':_0x875a27(0x148)};return(_0x373052,_0x302ed6,_0x2b9ea0,_0x6d67e3)=>{const _0x3e5d5a=_0x875a27;_0x6699c6[_0x3e5d5a(0x13f)](logHttpError,_0x373052,_0x302ed6);const _0x1650ba=_0x373052[_0x3e5d5a(0x133)]||_0x373052[_0x3e5d5a(0x11a)]||0x1f4;_0x2b9ea0[_0x3e5d5a(0x11a)](_0x1650ba)[_0x3e5d5a(0x15f)]({'success':![],'error':_0x1650ba>=0x1f4?_0x6699c6['epeqn']:_0x373052[_0x3e5d5a(0xf3)],'requestId':_0x302ed6['id']||_0x302ed6['headers']?.[_0x3e5d5a(0x136)]||null});};};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}};function a0_0x3b5a(){const _0x5c344=['C2vJCMv0','CgLK','zw52AxjVBM1LBNq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','sw50zxjUywWGC2vYDMvYigvYCM9Y','u1fmx0Xpr19ftKfcteve','Afntzg4','tfbeDeu','rhn4rwW','sLDux1nfq1jfva','lI9SB2DZlW','ze9JrKy','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','C3rHy2S','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','te9hx0rjuG','s2Dwtgy','u1LtoKHioK1noNnZ','quXurvi','ig9UihbVCNqG','BNr1qKS','yMfZzvvYBa','zw52','zgf0ywjHC2vFy29UzMLN','s1nbr1q','AxnbCNjHEq','otuZmtm4nfLXDMT0wG','ANnVBG','rfjpua','q09ntuLu','zxjYB3iUBg9N','Ahj0Aw1L','zgvMyxvSDa','CMvMCMvZAf90B2TLBG','yxbPx2TLEq','Cgf0Aa','yxbWlMXVzW','Dhj1zq','zMLSzv9SB2DNAw5Nx2vUywjSzwq','uK9mtejbq0S','Bur5s0S','zgjFDhjHBNnHy3rPB24','B3rW','EwTpqwO','vvbeqvrf','vu5ltK9xtG','vMHUq04','icbjBMzVoIaGia','vwvcEhC','D2zIzeG','wvrjtLO','vvb0z0e','CezTEvi','w1jfrefdveveoMHHC2HD','iokvKqRILzeGifbYB2PLy3qGicaGidOG','D2fYBG','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','y3jLzgL0x2nHCMq','CMvZDgzVCMDL','icbizwfSDgG6ia','yM9KEq','yxbPs2v5','te9hx1rpx0zjteu','z2v0','mtaWndCXEuvsvvfy','u3j5Aue','otq1mJq2AxHKq2fN','ChjPDMf0zv9RzxK','BwvTB3j5vxnHz2u','AKrRque','DxnLCI1Hz2vUDa','u1fmx0Xpr19mrvzfta','mJK4mJq0nezXqLfQDa','AgvHBhrOq2HLy2S','zxHPC3rZu3LUyW','y3DK','mtvusxveEwS','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','DhLWzq','y29Kzq','v1DYz2G','B0HbBxe','zhvYyxrPB25nCW','tffmuLq','C3rYAw5NAwz5','AxnVvgLTzq','quTkugG','Dg9vChbLCKnHC2u','CgfZC3DK','Cg9YDa','zgvIDwC','reD0CuG','Dw5JyxvNAhrfEgnLChrPB24','B0Dev04','CeP3DKe','D0Xyv1O','u1f1EgK','qvbqx1zfuLnjt04','BwTKAxjtEw5J','C2vYDMLJzuLUzM8','u0vmrunu','BwfW','zMf0ywXFzxjYB3i','rermx0fmvevs','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','nJu0y1r2DuHm','ChDK','Dw5RBM93BG','DxjS','ze9IEwi','BwvZC2fNzq','BMfTzq','ExHpC3C','q0vItLu','C29Tzq','Dg9ju09tDhjPBMC','zw5KCg9PBNrFCMvNAxn0zxjLza','CgfKrw5K','CgfZC3DVCMq','BM9fu04','rxjYB3i','BgvUz3rO','CgLUBW','EfDnzMi','Bwf0y2G','Aw5MBW','CgfYyw1Z','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','u2Xhr2W','Bwv0Ag9K','ywnJzxnZx3rVA2vU','Dg9Rzw4','zxjYB3i','DMHdwvO','BgD2CK8','rhHVwey','DhjPBq','t2P3D1O','C3rKvgLTzuz1BMn0Aw9UCW','sxDMD1O','D2fYBMLUzW','Bg9N','iokvKqRILzeGienVBMzPzYaGicaGidOG','rejFueftu1DpuKq','C3rHCNrZv2L0Aa','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','vKD6zeC','vfjbtLnbq1rjt05Fq09ntuLu','DxnLCG','C3rHDhvZ','CMvWzwf0','D3jPDgu','uxvxrxK','yxbPx3nLy3jLDa','su5trvju','Dg9mB3DLCKnHC2u','q1jfqvrf','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','revmrvrf','tI9b','DKznDMu','ou5YCuLczq','BxmP','s3HMwKq','Ag9ZDa','ndy1mJG5uuXOAMvW','BfrOy3G','DhLbBwW','ChjVzhvJDgLVBG','q1jjveLdquW','C3bSAxq','u2vYDMvYihn0yxj0Aw5NoIa','ChjVAMvJDa','A2v5CW','C3rHDhvZq29Kzq','vfjbtLnbq1rjt05FqKvhsu4','y3jLzgvUDgLHBa','Ec1Yzxf1zxn0lwLK','w1jfrefdvevexq','zgf0ywjHC2u','mZq3mZy0nZbwuvnRz2O','B1LbtKu','otyYmtzhqxHPtNa','ChjVy2vZC193yxjUAw5N','ic0G','AxnSBfq','DwzdB0m','rgf0ywjHC2u6ia','yxv0Ag9YAxPHDgLVBG','Aw5JBhvKzxm','zMf0ywW'];a0_0x3b5a=function(){return _0x5c344;};return a0_0x3b5a();}
1
+ const a0_0x1a7c8f=a0_0x2426;(function(_0x35be85,_0x4b3710){const _0x2e9f97=a0_0x2426,_0x245a3e=_0x35be85();while(!![]){try{const _0x2c9382=parseInt(_0x2e9f97(0x122))/0x1*(parseInt(_0x2e9f97(0x158))/0x2)+parseInt(_0x2e9f97(0x15f))/0x3*(parseInt(_0x2e9f97(0xf5))/0x4)+-parseInt(_0x2e9f97(0x114))/0x5+parseInt(_0x2e9f97(0x13a))/0x6*(-parseInt(_0x2e9f97(0x155))/0x7)+parseInt(_0x2e9f97(0x110))/0x8+parseInt(_0x2e9f97(0xe3))/0x9*(parseInt(_0x2e9f97(0x137))/0xa)+-parseInt(_0x2e9f97(0x166))/0xb;if(_0x2c9382===_0x4b3710)break;else _0x245a3e['push'](_0x245a3e['shift']());}catch(_0x302473){_0x245a3e['push'](_0x245a3e['shift']());}}}(a0_0x1e80,0xd563b));function a0_0x2426(_0x1e6b97,_0x9bbf9a){_0x1e6b97=_0x1e6b97-0xb7;const _0x1e80ce=a0_0x1e80();let _0x242691=_0x1e80ce[_0x1e6b97];if(a0_0x2426['CxlnbP']===undefined){var _0xc034c5=function(_0x229ef1){const _0x4d9958='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29cef5='',_0x47615f='';for(let _0x291206=0x0,_0x3ab846,_0xa925cc,_0x5301c2=0x0;_0xa925cc=_0x229ef1['charAt'](_0x5301c2++);~_0xa925cc&&(_0x3ab846=_0x291206%0x4?_0x3ab846*0x40+_0xa925cc:_0xa925cc,_0x291206++%0x4)?_0x29cef5+=String['fromCharCode'](0xff&_0x3ab846>>(-0x2*_0x291206&0x6)):0x0){_0xa925cc=_0x4d9958['indexOf'](_0xa925cc);}for(let _0x7619ab=0x0,_0x2583f9=_0x29cef5['length'];_0x7619ab<_0x2583f9;_0x7619ab++){_0x47615f+='%'+('00'+_0x29cef5['charCodeAt'](_0x7619ab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47615f);};a0_0x2426['wHZKik']=_0xc034c5,a0_0x2426['pZyNzq']={},a0_0x2426['CxlnbP']=!![];}const _0x500330=_0x1e80ce[0x0],_0x4936a3=_0x1e6b97+_0x500330,_0x12b368=a0_0x2426['pZyNzq'][_0x4936a3];return!_0x12b368?(_0x242691=a0_0x2426['wHZKik'](_0x242691),a0_0x2426['pZyNzq'][_0x4936a3]=_0x242691):_0x242691=_0x12b368,_0x242691;}const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x1a7c8f(0xfd),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x1a7c8f(0x11a),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x1a7c8f(0x103),'customColors':a0_0x1a7c8f(0x126),'hideObject':!![]},isDevelopment=process[a0_0x1a7c8f(0xe2)][a0_0x1a7c8f(0x160)]!=='production',logLevel=process['env']['LOG_LEVEL']||'info';function a0_0x1e80(){const _0x3a2e8d=['w09lxsbqCM9Qzwn0igXVywrLzdOG','C3rHDhvZq29Kzq','BwfW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CMvZDgzVCMDL','CgLUBY1WCMv0DhK','CxvLCNK','BwvTB3j5vxnHz2u','Dg9vChbLCKnHC2u','CMvMCMvZAf90B2TLBG','Ag9ZDa','q1jjveLdquW','zgjFDhjHBNnHy3rPB24','z2v0sgvHzgvYCW','y3jLzgL0x2nHCMq','DxjS','mtCXntqYotbtwhPouNa','vNfTC2m','u1fmx0Xpr19mrvzfta','mZq3nfP6CvP2BG','C2vYDMLJzuLUzM8','y29UzMLNrMLSzq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','z25vCgu','Bg9N','zMXVB3i','sw50zxjUywWGC2vYDMvYigvYCM9Y','zgjFCxvLCNK','CMvTB3rLqwrKCMvZCW','y29Kzq','y3jLzgvUDgLHBa','lI9SB2DZlW','CgfZC3DK','CMvWzwf0','Cg9YDa','v2HJrNC','C3rHy2S','C3rHCNrZv2L0Aa','CgfKrw5K','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','sNr5yNG','ENLJvxu','ChjVy2vZC193yxjUAw5N','BxmP','t2T2vuq','C3vIC3rYAw5N','oda3ofjoteT0Bq','Dw5JyxvNAhrfEgnLChrPB24','C3rKu2vYAwfSAxPLCNm','mJzqBfrzr04','u1fmx0Xpr19ftKfcteve','yxbWlMXVzW','z2DgC0K','zgvMyxvSDa','zMf0ywXFzxjYB3i','rxjYB3i','nJa1mZfbt0vVEMe','tK9erv9ftLy','C3rYAw5NAwz5','AxnVvgLTzq','sLDux1nfq1jfva','Dw5RBM93BG','v2Tequ0','nZu3mZq3ohvcsNjrrq','vvbeqvrf','qvbqx1zfuLnjt04','Ahr0Cf9LCNjVCG','rfjfrfC','B3rvuvC','sfruuca','AgvHzgvYCW','shr6Bgq','BwvZC2fNzq','Dg9Rzw4','D2fYBG','rKfuquW6ia','vND0wue','AuvAze8','rgf0ywjHC2u6ia','su5trvju','ENzqBeC','tfnHD1a','zgvIDwC','icbvuKW6icaGia','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','yxbPs2v5','rermx0nsrufurq','u2vYDMvYihn0yxj0Aw5NoIa','yxv0Ag9YAxPHDgLVBG','yxbPA2v5','D2fYBMLUzW','z2v0','yxbPx2TLEq','AvHOqxO','Chnry0e','iokvKqRILzeGifbYB2PLy3qGicaGidOG','zxHPC3rZu3LUyW','te9hx1rpx0zjteu','tNLTz24','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','ChjVAMvJDf9SB2fKzwq','w1jfrefdvevexq','t01wruq','qKvhsu4','vu5ltK9xtG','EKLUq1u','Dvz3quy','zgf0ywjHC2u','Dxb0Aw1L','BgvUz3rO','revmrvrf','t1jdvwq','icdIHPiG','v3v1s0e','Avrntxa','zxjY','zMf0ywW','Aw5MBW','EgLfDNO','Ec1Yzxf1zxn0lwLK','zxHWB3j0CW','zw52','ouv4vgjWwG','qM52sKO','y2HPBgq','Bwv0Ag9K','De9ZsuK','C2vJCMv0','C2vYDMvYx3n0yxj0Aw5N','zxjYB3iUBg9N','DePizNa','qMPdAxC','qunusvzf','A1bcrNu','zxjYB3i','rermx0rst1a','DhjPBq','zw52AxjVBM1LBNq','u1rbuLqGvfjbtLnbq1rjt04','DxnLCI1Hz2vUDa','mtiWq3nrswTK','yMfZzvvYBa','D3jPDgu','iokvKqRILzeGiefqssblzxKGicaGidOG','rKL3q1u','ChDK','vefVDKy','C3bSAxq','lI9SB2DZ','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','CgfZC3DVCMq','BMfTzq','Dg9mB3DLCKnHC2u','y29UBMvJDgLVBG','E21Zz30','yM9KEq','ywnJzxnZx3rVA2vU','B3rW','rejFueftu1DpuKq','v3nPtLi','Bw9KDwXL','zhvYyxrPB25nCW','ChjPDMf0zwTLEq','vfjbtLnbq1rjt05FqKvhsu4','Dg9ju09tDhjPBMC','su5uELa','Bwf0y2G','mta4mZi5nMrQqxbKra','te1qshC','Ahj0Aw1L','u1fmx0Xpr19tte9xx1riuKvtse9mra','mte1odq4nuPdvwXmqq','u0vmrunu','ufbbEwC','C29Tzq','Aw5JBhvKzxm','CgLU','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','AgvHBhrOq2HLy2S','ugzIEwW','Cgf0Aa','tfHesfi','BwTKAxjtEw5J','BNrHsum','Ahr0Cf9Yzxf1zxn0','ndGXu2D6A0fZ','ywr4wwC','A01cwNq','BMXdrve','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5'];a0_0x1e80=function(){return _0x3a2e8d;};return a0_0x1e80();}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x1a7c8f(0x12c),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x1a7c8f(0x12b),'version':process[a0_0x1a7c8f(0xe2)][a0_0x1a7c8f(0x168)]||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x1a7c8f(0x162)],'redact':{'paths':[a0_0x1a7c8f(0x13d),'req.headers[\x22x-api-key\x22]',a0_0x1a7c8f(0xff),a0_0x1a7c8f(0x170),'apiKey',a0_0x1a7c8f(0x107),a0_0x1a7c8f(0x163)],'censor':a0_0x1a7c8f(0xce)},'serializers':{'req':_0xb4c989=>({'id':_0xb4c989['id'],'method':_0xb4c989['method'],'url':_0xb4c989[a0_0x1a7c8f(0x136)],'path':_0xb4c989[a0_0x1a7c8f(0x11d)],'remoteAddress':_0xb4c989['ip']||_0xb4c989[a0_0x1a7c8f(0x102)]?.[a0_0x1a7c8f(0x143)]}),'res':_0x331ead=>({'statusCode':_0x331ead[a0_0x1a7c8f(0x128)],'headers':_0x331ead[a0_0x1a7c8f(0x134)]?.()}),'err':pino[a0_0x1a7c8f(0x157)][a0_0x1a7c8f(0xdc)]}});function initFileLogging(){const _0x291ee6=a0_0x1a7c8f,_0x3549d0={'EcHkV':function(_0x495c7a,_0x553898){return _0x495c7a===_0x553898;},'Hxhxl':_0x291ee6(0x15c),'pEZBT':'restforge','mcbcJ':function(_0x5323b6,_0xc35cd1){return _0x5323b6===_0xc35cd1;},'Htzld':'true','YIycw':'debug','kMBZt':function(_0x25ee54,_0x230767){return _0x25ee54!==_0x230767;},'iEZdO':'false','sISis':'error.log','hwxDW':function(_0x4bc5ab,_0x1a4c26,_0xe454cd){return _0x4bc5ab(_0x1a4c26,_0xe454cd);},'ORCUd':_0x291ee6(0xde)};if(fileLoggingInitialized)return;logToFile=_0x3549d0['EcHkV'](process['env'][_0x291ee6(0xca)],'true');const _0x283298=process['env'][_0x291ee6(0x12a)]||_0x3549d0['Hxhxl'];logDir=process['env']['LOG_DIR']||_0x291ee6(0x146)+_0x283298,serviceName=process['env']['SERVICE_NAME']||_0x3549d0['pEZBT'],sqlLogEnabled=_0x3549d0['mcbcJ'](process['env'][_0x291ee6(0x159)],_0x3549d0[_0x291ee6(0x16e)]),sqlLogLevel=process[_0x291ee6(0xe2)][_0x291ee6(0x139)]||_0x3549d0['YIycw'],sqlLogParams=_0x3549d0[_0x291ee6(0x124)](process['env']['SQL_LOG_PARAMS'],_0x3549d0[_0x291ee6(0x174)]),sqlLogSlowThreshold=parseInt(process['env'][_0x291ee6(0x113)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x13e8f7=path['resolve'](process['cwd'](),logDir);try{!fs[_0x291ee6(0xc9)](_0x13e8f7)&&fs[_0x291ee6(0x11f)](_0x13e8f7,{'recursive':!![]});}catch(_0x3f8660){console[_0x291ee6(0xef)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x13e8f7+':',_0x3f8660['message']),fileLoggingInitialized=!![];return;}const _0x48ad2c=path['join'](_0x13e8f7,'app.log'),_0x534bc1=path['join'](_0x13e8f7,_0x3549d0['sISis']);try{appLogStream=fs['createWriteStream'](_0x48ad2c,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x534bc1,{'flags':'a'}),fileLoggingInitialized=!![];const _0x2bb8c5={'event':'file_logging_enabled','logDir':_0x13e8f7,'files':[_0x291ee6(0x15a),_0x291ee6(0xea)]},_0x4f253b='File\x20logging\x20enabled:\x20'+_0x13e8f7;logger['info'](_0x2bb8c5,_0x4f253b),_0x3549d0['hwxDW'](writeToFileLog,{..._0x2bb8c5,'level':_0x3549d0[_0x291ee6(0xd8)],'msg':_0x4f253b,'time':new Date()['toISOString']()},_0x291ee6(0xde));}catch(_0x10bccc){console[_0x291ee6(0xef)](_0x291ee6(0xfe),_0x10bccc['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0xfec77e,_0x4e7851){const _0x17dfed=a0_0x1a7c8f,_0x31d438={'WkDAM':function(_0x2d21ea,_0x61370){return _0x2d21ea||_0x61370;},'VwtYA':function(_0x328c26,_0x55a96d){return _0x328c26+_0x55a96d;},'xiEvz':'error','tOsII':function(_0x523cd8,_0x1c68b9){return _0x523cd8===_0x1c68b9;}};if(_0x31d438[_0x17dfed(0x165)](!logToFile,!appLogStream))return;const _0x3a6dc8={'service':serviceName,..._0xfec77e},_0x578042=_0x31d438[_0x17dfed(0x173)](JSON[_0x17dfed(0x161)](_0x3a6dc8),'\x0a');appLogStream[_0x17dfed(0xf7)](_0x578042),(_0x4e7851===_0x31d438[_0x17dfed(0xdf)]||_0x31d438[_0x17dfed(0xe7)](_0x4e7851,'fatal'))&&(errorLogStream&&errorLogStream[_0x17dfed(0xf7)](_0x578042));}const createRequestLogger=(_0x33c3eb={})=>{const _0x47e6b3=a0_0x1a7c8f;return logger[_0x47e6b3(0xe5)](_0x33c3eb);},logServerStart=_0x6b6691=>{const _0x54b567=a0_0x1a7c8f,_0x342b7c={'fLhyG':function(_0x49ebc7,_0x3896e9){return _0x49ebc7/_0x3896e9;},'nlCEQ':function(_0x5d97fc,_0x13f85e){return _0x5d97fc-_0x13f85e;},'kPBFu':'Node.js','XuvLP':_0x54b567(0xed),'WplOu':'NOT\x20ACTIVE','BRnZY':_0x54b567(0xde)},_0x15fd31='RESTFORGE\x20RUNTIME\x20SERVER',_0x5486bf=Math['max'](0x0,0x37-_0x15fd31[_0x54b567(0xd6)]),_0x837cbd=Math[_0x54b567(0x140)](_0x342b7c['fLhyG'](_0x5486bf,0x2)),_0x5f0b99=_0x342b7c[_0x54b567(0x125)](_0x5486bf,_0x837cbd),_0x3dea0e='║'+'\x20'[_0x54b567(0x148)](_0x837cbd)+_0x15fd31+'\x20'['repeat'](_0x5f0b99)+'║',_0x3a834='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x3dea0e+_0x54b567(0xcc)+(_0x6b6691[_0x54b567(0xf2)]||_0x342b7c[_0x54b567(0xee)])['padEnd'](0x26)+_0x54b567(0xc8)+(_0x6b6691['project']||'N/A')[_0x54b567(0x14d)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x6b6691['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x6b6691[_0x54b567(0x13c)]||'Default')['padEnd'](0x26)+_0x54b567(0xf8)+(_0x6b6691['apiKey']?_0x342b7c['XuvLP']:_0x342b7c['WplOu'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x54b567(0x13f)](_0x3a834);const _0xfb1725={'event':_0x54b567(0xe9),'project':_0x6b6691['project'],'port':_0x6b6691[_0x54b567(0x149)],'config':_0x6b6691['configFile'],'apiKeyEnabled':!!_0x6b6691[_0x54b567(0xbe)]};logger['info'](_0xfb1725),writeToFileLog({..._0xfb1725,'level':_0x54b567(0xde),'msg':_0x54b567(0xc0)+_0x6b6691['project']+'\x20on\x20port\x20'+_0x6b6691[_0x54b567(0x149)],'time':new Date()['toISOString']()},_0x342b7c['BRnZY']);},logServerReady=_0x7ea65c=>{const _0x1dc1ba=a0_0x1a7c8f,_0x1476c0={'tBGzz':function(_0x2bd3d5,_0x4a19b1,_0x2e18ba){return _0x2bd3d5(_0x4a19b1,_0x2e18ba);},'gqPgF':_0x1dc1ba(0xde)},_0xe5936={'event':'server_ready','port':_0x7ea65c[_0x1dc1ba(0x149)],'module':_0x7ea65c[_0x1dc1ba(0x109)],'healthCheck':_0x7ea65c[_0x1dc1ba(0x11b)],'serviceInfo':_0x7ea65c[_0x1dc1ba(0x13b)],'baseUrl':_0x7ea65c[_0x1dc1ba(0xf6)]},_0x563c55=_0x1dc1ba(0x14e)+_0x7ea65c['port'];logger[_0x1dc1ba(0xde)](_0xe5936,_0x563c55),_0x1476c0['tBGzz'](writeToFileLog,{..._0xe5936,'level':_0x1476c0['gqPgF'],'msg':_0x563c55,'time':new Date()['toISOString']()},_0x1476c0['gqPgF']),_0x7ea65c[_0x1dc1ba(0x11b)]&&logger[_0x1dc1ba(0xde)]('\x20\x20Health:\x20'+_0x7ea65c[_0x1dc1ba(0x11b)]),_0x7ea65c[_0x1dc1ba(0x13b)]&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x7ea65c[_0x1dc1ba(0x13b)]),_0x7ea65c[_0x1dc1ba(0xf6)]&&logger['info'](_0x1dc1ba(0xbc)+_0x7ea65c[_0x1dc1ba(0xf6)]);},logProjectLoaded=(_0x264ea8,_0x27de1c)=>{const _0x2d889f=a0_0x1a7c8f,_0x44fc50={'zvPlG':function(_0x393deb,_0x249163,_0x46d9b9){return _0x393deb(_0x249163,_0x46d9b9);}},_0x58ee5f={'event':_0x2d889f(0xcd),'project':_0x264ea8,'path':_0x27de1c},_0x1c5571=_0x2d889f(0x127)+_0x264ea8;logger[_0x2d889f(0xde)](_0x58ee5f,_0x1c5571),_0x44fc50[_0x2d889f(0xb9)](writeToFileLog,{..._0x58ee5f,'level':_0x2d889f(0xde),'msg':_0x1c5571,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x7feb59,_0x496ae6)=>{const _0x5e5ece=a0_0x1a7c8f,_0xa7df62={'NVjEr':'endpoint_registered','sgerR':function(_0x474906,_0x32a7f3,_0x3fbd97){return _0x474906(_0x32a7f3,_0x3fbd97);}},_0xdf5041={'event':_0xa7df62['NVjEr'],'endpoint':_0x7feb59,'route':_0x496ae6},_0x337024=_0x5e5ece(0xd9)+_0x7feb59+':\x20'+_0x496ae6;logger['debug'](_0xdf5041,_0x337024),_0xa7df62['sgerR'](writeToFileLog,{..._0xdf5041,'level':'debug','msg':_0x337024,'time':new Date()['toISOString']()},'debug');},logDatabaseConfig=_0x4592bd=>{const _0x4e3949=a0_0x1a7c8f,_0x45a926={'hqVVI':'database_config','Vqmsc':_0x4e3949(0xbb)},_0x30fc5e={'event':_0x45a926['hqVVI'],'host':_0x4592bd[_0x4e3949(0x131)],'port':_0x4592bd['port'],'database':_0x4592bd[_0x4e3949(0xd4)],'type':_0x4592bd['type'],'user':_0x4592bd['user']},_0x182147=_0x4e3949(0xb7)+_0x4592bd['type']+'://'+_0x4592bd['host']+':'+_0x4592bd[_0x4e3949(0x149)]+'/'+_0x4592bd[_0x4e3949(0xd4)];logger['debug'](_0x30fc5e,_0x182147),writeToFileLog({..._0x30fc5e,'level':_0x45a926['Vqmsc'],'msg':_0x182147,'time':new Date()['toISOString']()},_0x45a926[_0x4e3949(0x138)]);},logRequest=(_0x6f379b,_0x1ec29a,_0x566c86)=>{const _0x6e29b4=a0_0x1a7c8f,_0x57d12f={'OkvUD':_0x6e29b4(0x121),'cYspz':_0x6e29b4(0xde),'ZwvXn':function(_0x437e27,_0x14d925,_0x371b01){return _0x437e27(_0x14d925,_0x371b01);}},_0x114049={'event':_0x57d12f[_0x6e29b4(0x153)],'method':_0x6f379b[_0x6e29b4(0xe6)],'path':_0x6f379b['path'],'statusCode':_0x1ec29a['statusCode'],'durationMs':_0x566c86,'ip':_0x6f379b['ip']},_0x44166a=_0x6f379b['method']+'\x20'+_0x6f379b[_0x6e29b4(0x11d)]+'\x20-\x20'+_0x1ec29a['statusCode']+'\x20('+_0x566c86+'ms)';let _0x57b377=_0x57d12f['cYspz'];if(_0x1ec29a[_0x6e29b4(0x128)]>=0x1f4)_0x57b377='error',logger['error'](_0x114049,_0x44166a);else _0x1ec29a['statusCode']>=0x190?(_0x57b377='warn',logger['warn'](_0x114049,_0x44166a)):logger[_0x6e29b4(0xde)](_0x114049,_0x44166a);_0x57d12f['ZwvXn'](writeToFileLog,{..._0x114049,'level':_0x57b377,'msg':_0x44166a,'time':new Date()[_0x6e29b4(0x10d)]()},_0x57b377);},SENSITIVE_PARAM_PATTERNS=[a0_0x1a7c8f(0xff),'passwd',a0_0x1a7c8f(0xfa),a0_0x1a7c8f(0x170),a0_0x1a7c8f(0x105),'refresh_token',a0_0x1a7c8f(0xe8),'api_secret',a0_0x1a7c8f(0xc2),'api_key',a0_0x1a7c8f(0x145),'credentials',a0_0x1a7c8f(0x119),a0_0x1a7c8f(0x106),'private_key',a0_0x1a7c8f(0x10b)],redactSensitiveParams=(_0x452eee,_0x391d65)=>{const _0x4be0c8=a0_0x1a7c8f,_0x1ae45e={'ntaIC':'[REDACTED]','Lkqkt':function(_0xd93910,_0x28e6a0){return _0xd93910>_0x28e6a0;},'laaOx':'[REDACTED:hash]'};if(!_0x452eee||_0x452eee[_0x4be0c8(0xd6)]===0x0)return _0x452eee;const _0x34f5ce=_0x391d65[_0x4be0c8(0x101)](),_0x599289=_0x34f5ce[_0x4be0c8(0x10f)](/\(([^)]+)\)\s*values/i);let _0x50fa2b=[];_0x599289&&(_0x50fa2b=_0x599289[0x1][_0x4be0c8(0xfc)](',')[_0x4be0c8(0x129)](_0x2bbfca=>_0x2bbfca[_0x4be0c8(0xf1)]()[_0x4be0c8(0x101)]()));const _0x402d20=_0x34f5ce[_0x4be0c8(0x10f)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x402d20){const _0x524ca5=_0x402d20[0x1],_0x186790=_0x524ca5[_0x4be0c8(0x10f)](/(\w+)\s*=/g);_0x186790&&(_0x50fa2b=_0x186790[_0x4be0c8(0x129)](_0x100f1e=>_0x100f1e['replace'](/\s*=/,'')[_0x4be0c8(0xf1)]()['toLowerCase']()));}return _0x452eee[_0x4be0c8(0x129)]((_0x1011f4,_0x28d4b4)=>{const _0xff8acc=_0x4be0c8;if(_0x50fa2b[_0x28d4b4]){const _0x329f9f=_0x50fa2b[_0x28d4b4],_0x2f83d5=SENSITIVE_PARAM_PATTERNS[_0xff8acc(0x117)](_0x522a6a=>_0x329f9f[_0xff8acc(0x118)](_0x522a6a));if(_0x2f83d5)return _0x1ae45e[_0xff8acc(0x120)];}if(typeof _0x1011f4==='string'&&_0x1ae45e['Lkqkt'](_0x1011f4['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x1011f4)&&_0x1011f4[_0xff8acc(0x118)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x1011f4))return _0x1ae45e['laaOx'];}return _0x1011f4;});},parseQueryMetadata=_0x46239a=>{const _0xbe14c0=a0_0x1a7c8f,_0x69bf2f={'VmKyU':_0xbe14c0(0x115),'tJHfp':'INSERT','Dumjd':_0xbe14c0(0x167),'iXhAz':_0xbe14c0(0xd7),'gnUpe':_0xbe14c0(0x10c),'Jtybx':'COMMIT','bIpTj':'ROLLBACK','LSawP':'CREATE','TAovF':_0xbe14c0(0xbf),'qvbtJ':'ALTER'},_0x349e53=_0x46239a[_0xbe14c0(0xf1)](),_0x1bd3a6=_0x349e53['toUpperCase']();let _0x3c067e=_0xbe14c0(0xd1),_0x419313=null;if(_0x1bd3a6['startsWith'](_0xbe14c0(0x115))){_0x3c067e=_0x69bf2f['VmKyU'];const _0x20972d=_0x349e53['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x419313=_0x20972d?_0x20972d[0x1]:null;}else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0xbe14c0(0xb8))){_0x3c067e=_0x69bf2f[_0xbe14c0(0xeb)];const _0x40eff8=_0x349e53['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x419313=_0x40eff8?_0x40eff8[0x1]:null;}else{if(_0x1bd3a6['startsWith'](_0x69bf2f['Dumjd'])){_0x3c067e=_0xbe14c0(0x167);const _0x54a4d2=_0x349e53['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x419313=_0x54a4d2?_0x54a4d2[0x1]:null;}else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0x69bf2f[_0xbe14c0(0xc6)])){_0x3c067e='DELETE';const _0x45c5fd=_0x349e53['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x419313=_0x45c5fd?_0x45c5fd[0x1]:null;}else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0xbe14c0(0xd0))||_0x1bd3a6[_0xbe14c0(0x14c)](_0xbe14c0(0xf3)))_0x3c067e=_0x69bf2f[_0xbe14c0(0x13e)];else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0x69bf2f[_0xbe14c0(0x14f)]))_0x3c067e='TRANSACTION_COMMIT';else{if(_0x1bd3a6['startsWith'](_0x69bf2f['bIpTj']))_0x3c067e='TRANSACTION_ROLLBACK';else{if(_0x1bd3a6['startsWith'](_0x69bf2f[_0xbe14c0(0xba)]))_0x3c067e=_0x69bf2f[_0xbe14c0(0xfb)];else{if(_0x1bd3a6[_0xbe14c0(0x14c)](_0x69bf2f['qvbtJ']))_0x3c067e='DDL_ALTER';else _0x1bd3a6[_0xbe14c0(0x14c)]('DROP')&&(_0x3c067e=_0xbe14c0(0xf0));}}}}}}}}return{'type':_0x3c067e,'table':_0x419313};},startQueryTimer=()=>{const _0x343e6=a0_0x1a7c8f,_0x475efd={'zInCU':function(_0x5aa19f,_0x2172c7){return _0x5aa19f(_0x2172c7);},'BjCiw':function(_0x2a283f,_0x38b913){return _0x2a283f+_0x38b913;}},_0x468743=process[_0x343e6(0x112)]();return()=>{const _0x2a158d=_0x343e6,[_0x3d76f1,_0x16b76b]=process['hrtime'](_0x468743);return _0x475efd[_0x2a158d(0xd2)](parseFloat,_0x475efd[_0x2a158d(0xec)](_0x3d76f1*0x3e8,_0x16b76b/0xf4240)['toFixed'](0x2));};},logQuery=(_0x340599,_0x48d1d7=[],_0xb290ea={})=>{const _0x430f32=a0_0x1a7c8f,_0x5bb0a5={'KNJWr':_0x430f32(0x142),'WdReq':'DB\x20Query','LMPHw':function(_0x1873a3,_0x22573b){return _0x1873a3(_0x22573b);},'HxAKH':function(_0x587b5b,_0x30db0e){return _0x587b5b>_0x30db0e;},'PPAyg':function(_0x118bce,_0x4277cf,_0x59995c){return _0x118bce(_0x4277cf,_0x59995c);},'Hqyse':function(_0xe8fcc4,_0x3d215c){return _0xe8fcc4!==_0x3d215c;},'dNivV':function(_0x4c1c22,_0x7759d9){return _0x4c1c22===_0x7759d9;},'zycUu':_0x430f32(0xde)};if(!sqlLogEnabled){logger['debug']({'event':_0x5bb0a5['KNJWr'],'query':_0x340599[_0x430f32(0x154)](0x0,0xc8),'paramCount':_0x48d1d7[_0x430f32(0xd6)]},_0x5bb0a5['WdReq']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0xb290ea,{type:_0x49ed86,table:_0x5778b9}=_0x5bb0a5[_0x430f32(0x111)](parseQueryMetadata,_0x340599),_0x2aec9a={'event':'sql_query','queryType':_0x49ed86,'table':_0x5778b9,'query':_0x340599,'paramCount':_0x48d1d7[_0x430f32(0xd6)],'dbType':dbType};sqlLogParams&&_0x5bb0a5['HxAKH'](_0x48d1d7[_0x430f32(0xd6)],0x0)&&(_0x2aec9a['params']=_0x5bb0a5[_0x430f32(0x116)](redactSensitiveParams,_0x48d1d7,_0x340599));_0x5bb0a5['Hqyse'](duration,null)&&(_0x2aec9a[_0x430f32(0x10a)]=duration,_0x2aec9a['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x2aec9a['rowsAffected']=rowsAffected);const _0x3a70fb=_0x5778b9||_0x430f32(0x164);let _0x1e70dd='['+_0x49ed86+']\x20'+_0x3a70fb;duration!==null&&(_0x1e70dd+='\x20('+duration+_0x430f32(0x152));const _0x16d8f9=_0x5bb0a5['Hqyse'](duration,null)&&duration>sqlLogSlowThreshold;let _0x251240='debug';if(_0x16d8f9)_0x1e70dd+='\x20[SLOW]',_0x251240='warn',logger['warn'](_0x2aec9a,_0x1e70dd);else _0x5bb0a5['dNivV'](sqlLogLevel,_0x5bb0a5['zycUu'])?(_0x251240=_0x5bb0a5[_0x430f32(0x150)],logger['info'](_0x2aec9a,_0x1e70dd)):logger[_0x430f32(0xbb)](_0x2aec9a,_0x1e70dd);_0x5bb0a5['PPAyg'](writeToFileLog,{..._0x2aec9a,'level':_0x251240,'msg':_0x1e70dd,'time':new Date()[_0x430f32(0x10d)]()},_0x251240);},logTransaction=(_0x5af874,_0x11a3c8)=>{const _0x25a19e=a0_0x1a7c8f,_0x509d09={'dPjzN':_0x25a19e(0x133),'FGyRh':'debug'},_0x3fae72={'event':_0x509d09['dPjzN'],'status':_0x5af874,'queryCount':_0x11a3c8},_0x5689d0='Transaction\x20'+_0x5af874;logger['debug'](_0x3fae72,_0x5689d0),writeToFileLog({..._0x3fae72,'level':'debug','msg':_0x5689d0,'time':new Date()['toISOString']()},_0x509d09['FGyRh']);},redactObject=_0xaf9886=>{const _0x1597ad=a0_0x1a7c8f,_0xd84b28={'wBztQ':_0x1597ad(0x170),'FxHZD':_0x1597ad(0xe8),'iTMMp':'apikey','FYqBG':_0x1597ad(0xc5),'UfhTp':_0x1597ad(0xc1),'kSzQC':'creditcard','adxYg':_0x1597ad(0x135),'GcLKd':'cvv','VPAHo':_0x1597ad(0x119),'psQcA':'private_key','FIwCU':_0x1597ad(0x10b),'uDxXg':_0x1597ad(0x130),'WsiNR':_0x1597ad(0x105),'IgWQQ':function(_0x13a09e,_0x538a78){return _0x13a09e!==_0x538a78;},'uVwAF':function(_0x197682,_0x5af0a5){return _0x197682(_0x5af0a5);}};if(!_0xaf9886||typeof _0xaf9886!=='object')return _0xaf9886;const _0xa84e84=['password',_0x1597ad(0x147),'pwd',_0xd84b28['wBztQ'],_0xd84b28['FxHZD'],_0xd84b28[_0x1597ad(0xdb)],_0xd84b28['FYqBG'],_0xd84b28['UfhTp'],_0xd84b28['kSzQC'],_0xd84b28[_0x1597ad(0x123)],_0xd84b28['GcLKd'],'ssn',_0xd84b28['VPAHo'],_0xd84b28[_0x1597ad(0xc7)],_0xd84b28[_0x1597ad(0xf9)],_0xd84b28['uDxXg'],_0xd84b28[_0x1597ad(0x108)]],_0x5b4814=Array['isArray'](_0xaf9886)?[..._0xaf9886]:{..._0xaf9886};for(const _0x13d259 of Object['keys'](_0x5b4814)){const _0x12aaa0=_0x13d259['toLowerCase']();if(_0xa84e84['some'](_0x36adf4=>_0x12aaa0['includes'](_0x36adf4)))_0x5b4814[_0x13d259]='[REDACTED]';else typeof _0x5b4814[_0x13d259]==='object'&&_0xd84b28['IgWQQ'](_0x5b4814[_0x13d259],null)&&(_0x5b4814[_0x13d259]=_0xd84b28[_0x1597ad(0xd3)](redactObject,_0x5b4814[_0x13d259]));}return _0x5b4814;},logError=(_0xabf070,_0x2dcdf7={},_0x514f71=null)=>{const _0x5c6ab2=a0_0x1a7c8f,_0x22e49c={'BnvJJ':_0x5c6ab2(0x15e),'lJevU':function(_0x3d8d96,_0x12d575,_0x4b857b){return _0x3d8d96(_0x12d575,_0x4b857b);}},_0x4f1360={'event':_0x5c6ab2(0xef),'errorName':_0xabf070[_0x5c6ab2(0x100)]||_0x22e49c[_0x5c6ab2(0xe4)],'errorMessage':_0xabf070[_0x5c6ab2(0x16f)],'errorCode':_0xabf070[_0x5c6ab2(0x144)]||null,'stack':_0xabf070['stack'],..._0x2dcdf7},_0x3f8e58=_0x514f71||'Error:\x20'+_0xabf070[_0x5c6ab2(0x16f)];logger[_0x5c6ab2(0xef)](_0x4f1360,_0x3f8e58),_0x22e49c['lJevU'](writeToFileLog,{..._0x4f1360,'level':_0x5c6ab2(0xef),'msg':_0x3f8e58,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x12a6cb,_0x49f205={},_0x2e41c4=null)=>{const _0x2cbe91=a0_0x1a7c8f,_0x12529b={'DREDW':_0x2cbe91(0x15d),'MPxds':_0x2cbe91(0x15e),'cVjxg':_0x2cbe91(0xdd),'nCksh':_0x2cbe91(0xef)},_0xc6e8c2={'event':_0x12529b[_0x2cbe91(0x16a)],'errorName':_0x12a6cb['name']||_0x12529b['MPxds'],'errorMessage':_0x12a6cb['message'],'errorCode':_0x12a6cb[_0x2cbe91(0x144)]||null,'stack':_0x12a6cb[_0x2cbe91(0x14b)],'severity':'CRITICAL',..._0x49f205},_0x5575d7=_0x2e41c4||_0x2cbe91(0x172)+_0x12a6cb['message'];logger[_0x2cbe91(0xdd)](_0xc6e8c2,_0x5575d7),writeToFileLog({..._0xc6e8c2,'level':_0x12529b['cVjxg'],'msg':_0x5575d7,'time':new Date()[_0x2cbe91(0x10d)]()},_0x12529b['nCksh']);},logHttpError=(_0x4670da,_0x13c67a,_0x52d86d={})=>{const _0x13f39b=a0_0x1a7c8f,_0x12f0d7={'otUQW':_0x13f39b(0xe0),'WuuKA':function(_0x15b45b,_0x1a2d54){return _0x15b45b>=_0x1a2d54;},'fuwYp':function(_0xdb36a4,_0x57bcc2,_0x27d3e6){return _0xdb36a4(_0x57bcc2,_0x27d3e6);}},_0x57c31e={'event':_0x13f39b(0x169),'errorName':_0x4670da[_0x13f39b(0x100)]||'Error','errorMessage':_0x4670da['message'],'errorCode':_0x4670da[_0x13f39b(0x144)]||_0x4670da[_0x13f39b(0x128)]||0x1f4,'stack':_0x4670da[_0x13f39b(0x14b)],'method':_0x13c67a?.[_0x13f39b(0xe6)],'url':_0x13c67a?.[_0x13f39b(0x136)]||_0x13c67a?.['originalUrl'],'path':_0x13c67a?.['path'],'ip':_0x13c67a?.['ip']||_0x13c67a?.[_0x13f39b(0x102)]?.['remoteAddress'],'userAgent':_0x13c67a?.[_0x13f39b(0xc4)]?.(_0x13f39b(0xf4)),'requestId':_0x13c67a?.['id']||_0x13c67a?.['headers']?.[_0x12f0d7[_0x13f39b(0x16b)]],'body':_0x13c67a?.['body']?redactObject(_0x13c67a[_0x13f39b(0x104)]):undefined,'query':_0x13c67a?.[_0x13f39b(0x12d)],..._0x52d86d},_0x2c0e75=_0x4670da[_0x13f39b(0x128)]||_0x4670da['status']||0x1f4,_0x545554=_0x13f39b(0x16c)+_0x2c0e75+':\x20'+_0x4670da[_0x13f39b(0x16f)];_0x12f0d7[_0x13f39b(0xda)](_0x2c0e75,0x1f4)?logger['error'](_0x57c31e,_0x545554):logger[_0x13f39b(0x171)](_0x57c31e,_0x545554),_0x12f0d7['fuwYp'](writeToFileLog,{..._0x57c31e,'level':_0x12f0d7['WuuKA'](_0x2c0e75,0x1f4)?'error':_0x13f39b(0x171),'msg':_0x545554,'time':new Date()[_0x13f39b(0x10d)]()},_0x2c0e75>=0x1f4?_0x13f39b(0xef):_0x13f39b(0x171));},logUncaughtError=(_0xd95068,_0x2a3f38)=>{const _0x45db14=a0_0x1a7c8f,_0x4eb214={'VKKKQ':_0x45db14(0x132),'Pfbyl':function(_0x17d534,_0x4e6df8,_0x54980a){return _0x17d534(_0x4e6df8,_0x54980a);}},_0x478c42={'event':_0xd95068,'errorName':_0x2a3f38?.['name']||'Error','errorMessage':_0x2a3f38?.[_0x45db14(0x16f)]||String(_0x2a3f38),'errorCode':_0x2a3f38?.['code']||null,'stack':_0x2a3f38?.[_0x45db14(0x14b)],'severity':_0x4eb214['VKKKQ'],'processId':process['pid'],'memoryUsage':process[_0x45db14(0x12e)](),'uptime':process[_0x45db14(0xd5)]()},_0x34c467='['+_0xd95068[_0x45db14(0x12f)]()+']\x20'+(_0x2a3f38?.[_0x45db14(0x16f)]||_0x2a3f38);logger[_0x45db14(0xdd)](_0x478c42,_0x34c467),_0x4eb214[_0x45db14(0x11c)](writeToFileLog,{..._0x478c42,'level':'fatal','msg':_0x34c467,'time':new Date()['toISOString']()},_0x45db14(0xef));},setupGlobalErrorHandlers=()=>{const _0x3e11b3=a0_0x1a7c8f,_0x58d750={'INTzP':_0x3e11b3(0x156),'WhcFw':function(_0x5ae58a,_0x242931,_0x5a681d){return _0x5ae58a(_0x242931,_0x5a681d);},'OMVED':function(_0x192fa7,_0x3d531a){return _0x192fa7 instanceof _0x3d531a;},'pDbrM':function(_0x5363ad,_0x41f7a2,_0x5ce897){return _0x5363ad(_0x41f7a2,_0x5ce897);},'ssYUN':_0x3e11b3(0x151),'ggFsI':'unhandledRejection','BvWJZ':_0x3e11b3(0xc3),'iDlpY':function(_0x420ec4,_0x1281f4,_0x1c3e77){return _0x420ec4(_0x1281f4,_0x1c3e77);},'LXDHR':'info'};process['on'](_0x58d750[_0x3e11b3(0x10e)],_0x13f707=>{const _0x5c98c2=_0x3e11b3;logUncaughtError(_0x58d750[_0x5c98c2(0x10e)],_0x13f707),_0x58d750[_0x5c98c2(0x14a)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x58d750[_0x3e11b3(0x15b)],(_0x4c63e7,_0x10b684)=>{const _0x12b95a=_0x3e11b3,_0xf8ff0f=_0x58d750[_0x12b95a(0xcf)](_0x4c63e7,Error)?_0x4c63e7:new Error(String(_0x4c63e7));_0x58d750['pDbrM'](logUncaughtError,'unhandledRejection',_0xf8ff0f);}),process['on'](_0x58d750['BvWJZ'],_0x1eb0d2=>{const _0x2c5d2a=_0x3e11b3;logger['warn']({'event':_0x58d750['ssYUN'],'name':_0x1eb0d2[_0x2c5d2a(0x100)],'message':_0x1eb0d2['message'],'stack':_0x1eb0d2[_0x2c5d2a(0x14b)]},'Process\x20Warning:\x20'+_0x1eb0d2['message']);});const _0x12655e={'event':'global_error_handlers_setup'},_0x11edad=_0x3e11b3(0xbd);logger[_0x3e11b3(0xde)](_0x12655e,_0x11edad),_0x58d750['iDlpY'](writeToFileLog,{..._0x12655e,'level':_0x58d750['LXDHR'],'msg':_0x11edad,'time':new Date()['toISOString']()},_0x58d750[_0x3e11b3(0x11e)]);},createErrorHandlerMiddleware=()=>{const _0x3f9acc=a0_0x1a7c8f,_0x5ac7f8={'CTWDd':function(_0x1533a2,_0x2f3519,_0x2aba0b){return _0x1533a2(_0x2f3519,_0x2aba0b);},'aVQNl':function(_0x2a3f81,_0x58f7bc){return _0x2a3f81>=_0x58f7bc;},'EwuUu':_0x3f9acc(0x141),'Nymgn':_0x3f9acc(0xe0)};return(_0x3bde7b,_0x155c31,_0x18c3e5,_0x3666ee)=>{const _0x23056b=_0x3f9acc;_0x5ac7f8['CTWDd'](logHttpError,_0x3bde7b,_0x155c31);const _0x4a2672=_0x3bde7b[_0x23056b(0x128)]||_0x3bde7b['status']||0x1f4;_0x18c3e5['status'](_0x4a2672)['json']({'success':![],'error':_0x5ac7f8['aVQNl'](_0x4a2672,0x1f4)?_0x5ac7f8['EwuUu']:_0x3bde7b[_0x23056b(0x16f)],'requestId':_0x155c31['id']||_0x155c31[_0x23056b(0x16d)]?.[_0x5ac7f8[_0x23056b(0xcb)]]||null});};};module[a0_0x1a7c8f(0xe1)]={'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_0x26ea7b=a0_0xaa3a;(function(_0x30aca2,_0x404543){const _0x598d68=a0_0xaa3a,_0x312091=_0x30aca2();while(!![]){try{const _0x2eaba3=parseInt(_0x598d68(0x155))/0x1+parseInt(_0x598d68(0x12a))/0x2*(parseInt(_0x598d68(0x14b))/0x3)+parseInt(_0x598d68(0x142))/0x4*(-parseInt(_0x598d68(0x123))/0x5)+-parseInt(_0x598d68(0x135))/0x6+-parseInt(_0x598d68(0x14e))/0x7+-parseInt(_0x598d68(0x138))/0x8*(parseInt(_0x598d68(0x140))/0x9)+parseInt(_0x598d68(0x11b))/0xa;if(_0x2eaba3===_0x404543)break;else _0x312091['push'](_0x312091['shift']());}catch(_0x11307a){_0x312091['push'](_0x312091['shift']());}}}(a0_0x2df7,0xb387c));const dbType=(process['env'][a0_0x26ea7b(0x12b)]||a0_0x26ea7b(0x147))['toLowerCase']();function a0_0xaa3a(_0xc9d9b3,_0x247eaa){_0xc9d9b3=_0xc9d9b3-0x11b;const _0x2df7a7=a0_0x2df7();let _0xaa3ac1=_0x2df7a7[_0xc9d9b3];if(a0_0xaa3a['AnZBbs']===undefined){var _0x68daa1=function(_0x3c9ad0){const _0x4238d7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x16684b='',_0x9307f6='';for(let _0x55da4b=0x0,_0x373841,_0x1017ad,_0x161c36=0x0;_0x1017ad=_0x3c9ad0['charAt'](_0x161c36++);~_0x1017ad&&(_0x373841=_0x55da4b%0x4?_0x373841*0x40+_0x1017ad:_0x1017ad,_0x55da4b++%0x4)?_0x16684b+=String['fromCharCode'](0xff&_0x373841>>(-0x2*_0x55da4b&0x6)):0x0){_0x1017ad=_0x4238d7['indexOf'](_0x1017ad);}for(let _0x1f7132=0x0,_0x55f1f2=_0x16684b['length'];_0x1f7132<_0x55f1f2;_0x1f7132++){_0x9307f6+='%'+('00'+_0x16684b['charCodeAt'](_0x1f7132)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9307f6);};a0_0xaa3a['vqzuQw']=_0x68daa1,a0_0xaa3a['EIGZnK']={},a0_0xaa3a['AnZBbs']=!![];}const _0x176aba=_0x2df7a7[0x0],_0x5d2f4e=_0xc9d9b3+_0x176aba,_0x1b01fc=a0_0xaa3a['EIGZnK'][_0x5d2f4e];return!_0x1b01fc?(_0xaa3ac1=a0_0xaa3a['vqzuQw'](_0xaa3ac1),a0_0xaa3a['EIGZnK'][_0x5d2f4e]=_0xaa3ac1):_0xaa3ac1=_0x1b01fc,_0xaa3ac1;}let executeQuery;if(dbType===a0_0x26ea7b(0x146)){const oracleDb=require(a0_0x26ea7b(0x137));executeQuery=(_0x3b5dc6,_0x3a3718)=>oracleDb[a0_0x26ea7b(0x13f)](_0x3b5dc6,_0x3a3718);}else{if(dbType===a0_0x26ea7b(0x122)){const mysqlDb=require(a0_0x26ea7b(0x145));executeQuery=(_0x38b0ee,_0x4c439f)=>mysqlDb[a0_0x26ea7b(0x13f)](_0x38b0ee,_0x4c439f);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require(a0_0x26ea7b(0x13e));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x26ea7b(0x126)](){const _0x508a26=a0_0x26ea7b,_0xecf275={'GPCjQ':_0x508a26(0x133)};this[_0x508a26(0x150)][_0x508a26(0x121)](),logger['debug']({'event':_0xecf275[_0x508a26(0x149)]},'Lookup\x20cache\x20cleared');}async['loadLookupTable'](_0x293ff4,_0x57732f,_0xe41b4c){const _0x194d82=a0_0x26ea7b,_0x9fc9e8={'TckeD':function(_0x5266a3,_0xeccf49){return _0x5266a3!==_0xeccf49;},'NjHea':function(_0x5e26a4,_0x2de2e8){return _0x5e26a4(_0x2de2e8);},'ylrhy':function(_0x428c3e,_0x7e0a83){return _0x428c3e(_0x7e0a83);},'cUbdH':_0x194d82(0x14d)},_0x7f94a3=_0x293ff4+':'+_0x57732f+':'+_0xe41b4c;if(this[_0x194d82(0x150)][_0x194d82(0x132)](_0x7f94a3))return this['lookupCache']['get'](_0x7f94a3);try{const _0x374c38=_0x194d82(0x13b)+_0xe41b4c+',\x20'+_0x57732f+_0x194d82(0x14c)+_0x293ff4,_0x367f71=await _0x9fc9e8[_0x194d82(0x143)](executeQuery,_0x374c38),_0x227bbd=new Map();return _0x367f71['forEach'](_0x1fa768=>{const _0x4a2bf7=_0x194d82,_0x2fc17c=_0x1fa768[_0x57732f]!==undefined?_0x1fa768[_0x57732f]:_0x1fa768[_0x57732f[_0x4a2bf7(0x136)]()],_0x34f5d8=_0x1fa768[_0xe41b4c]!==undefined?_0x1fa768[_0xe41b4c]:_0x1fa768[_0xe41b4c['toUpperCase']()];_0x2fc17c!==null&&_0x9fc9e8['TckeD'](_0x2fc17c,undefined)&&(_0x227bbd['set'](_0x9fc9e8[_0x4a2bf7(0x151)](String,_0x2fc17c)[_0x4a2bf7(0x13a)]()[_0x4a2bf7(0x125)](),_0x34f5d8),_0x227bbd[_0x4a2bf7(0x131)](String(_0x2fc17c)[_0x4a2bf7(0x125)](),_0x34f5d8));}),this[_0x194d82(0x150)][_0x194d82(0x131)](_0x7f94a3,_0x227bbd),logger['info']({'event':_0x9fc9e8['cUbdH'],'table':_0x293ff4,'column':_0x57732f,'count':_0x367f71[_0x194d82(0x12e)]},_0x194d82(0x12c)+_0x293ff4),_0x227bbd;}catch(_0x3a49e6){logger[_0x194d82(0x11d)]({'event':'lookup_table_load_error','table':_0x293ff4,'error':_0x3a49e6['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x293ff4);throw _0x3a49e6;}}['resolveLookupValue'](_0x2b4deb,_0x3978c8){const _0x334a85=a0_0x26ea7b;if(_0x2b4deb===null||_0x2b4deb===undefined||_0x2b4deb==='')return null;const _0x4465d3=String(_0x2b4deb)[_0x334a85(0x125)]();if(_0x3978c8[_0x334a85(0x132)](_0x4465d3))return _0x3978c8[_0x334a85(0x120)](_0x4465d3);const _0x3b7384=_0x4465d3[_0x334a85(0x13a)]();if(_0x3978c8['has'](_0x3b7384))return _0x3978c8[_0x334a85(0x120)](_0x3b7384);return null;}async[a0_0x26ea7b(0x134)](_0x24c6ba,_0x583ce2){const _0x5b2834=a0_0x26ea7b,_0x59666c={'tkNmj':function(_0xc4c7f2,_0x5539d4){return _0xc4c7f2===_0x5539d4;},'YmYaX':'lookup_fields_processed'};if(!_0x583ce2||_0x59666c[_0x5b2834(0x152)](Object[_0x5b2834(0x128)](_0x583ce2)['length'],0x0))return{'processedRows':_0x24c6ba,'errors':[]};const _0x529889=[],_0x5aca76=new Map();for(const [_0x233394,_0x3900b3]of Object[_0x5b2834(0x14a)](_0x583ce2)){const {lookupTable:_0x3cb777,lookupColumn:_0x480376,lookupIdColumn:_0x4a4881}=_0x3900b3,_0x162df=_0x3cb777+':'+_0x480376+':'+_0x4a4881;if(!_0x5aca76[_0x5b2834(0x132)](_0x162df)){const _0x1b6a09=await this['loadLookupTable'](_0x3cb777,_0x480376,_0x4a4881);_0x5aca76['set'](_0x162df,_0x1b6a09);}}const _0x2d9aed=_0x24c6ba[_0x5b2834(0x124)]((_0x574392,_0x4f4c80)=>{const _0x1e89e4=_0x5b2834,_0x4267db={..._0x574392};for(const [_0x593348,_0x26bda4]of Object['entries'](_0x583ce2)){const {lookupTable:_0x394205,lookupColumn:_0x55ac6d,lookupIdColumn:_0x1dd597,targetField:_0x4e8525,required:_0xbb882e}=_0x26bda4,_0x4de583=_0x394205+':'+_0x55ac6d+':'+_0x1dd597,_0x5e5265=_0x5aca76[_0x1e89e4(0x120)](_0x4de583),_0x3a61f1=_0x574392[_0x593348];if((_0x59666c['tkNmj'](_0x3a61f1,null)||_0x59666c[_0x1e89e4(0x152)](_0x3a61f1,undefined)||_0x3a61f1==='')&&!_0xbb882e){_0x4267db[_0x4e8525]=null;continue;}const _0x4618a5=this['resolveLookupValue'](_0x3a61f1,_0x5e5265);_0x4618a5!==null?_0x4267db[_0x4e8525]=_0x4618a5:(_0xbb882e&&_0x529889[_0x1e89e4(0x148)]({'rowIndex':_0x4f4c80,'field':_0x593348,'value':_0x3a61f1,'targetField':_0x4e8525,'lookupTable':_0x394205,'message':_0x1e89e4(0x130)+_0x3a61f1+_0x1e89e4(0x11f)+_0x394205}),_0x4267db[_0x4e8525]=null);}return _0x4267db;});return logger['info']({'event':_0x59666c[_0x5b2834(0x141)],'totalRows':_0x24c6ba['length'],'errorCount':_0x529889['length'],'lookupFieldCount':Object[_0x5b2834(0x128)](_0x583ce2)['length']},'Lookup\x20fields\x20processed'),{'processedRows':_0x2d9aed,'errors':_0x529889};}['getDistinctValues'](_0x10c205,_0x37aac8){const _0x545f80=a0_0x26ea7b,_0x2e3657={'blTQC':function(_0x4d2a53,_0x189d9c){return _0x4d2a53!==_0x189d9c;},'WjALM':function(_0x2a2629,_0x585075){return _0x2a2629!==_0x585075;},'AcYie':function(_0x5bdec5,_0x4eb6a8){return _0x5bdec5(_0x4eb6a8);}},_0x117e01=new Set();return _0x10c205[_0x545f80(0x153)](_0x5e7905=>{const _0x5f0ca2=_0x545f80,_0x4b4bc3=_0x5e7905[_0x37aac8];_0x2e3657[_0x5f0ca2(0x13d)](_0x4b4bc3,null)&&_0x4b4bc3!==undefined&&_0x2e3657[_0x5f0ca2(0x14f)](_0x4b4bc3,'')&&_0x117e01['add'](_0x2e3657[_0x5f0ca2(0x144)](String,_0x4b4bc3)[_0x5f0ca2(0x125)]());}),Array[_0x545f80(0x11e)](_0x117e01);}async[a0_0x26ea7b(0x11c)](_0x133def,_0x58c9fc){const _0x649a28=a0_0x26ea7b,_0x852958={'dyexl':function(_0x9397f9,_0xeaded5){return _0x9397f9!==_0xeaded5;},'uvEkG':function(_0x51c9b6,_0x4c5cbd){return _0x51c9b6===_0x4c5cbd;},'cvouz':function(_0x2a5645,_0x4e8cad){return _0x2a5645===_0x4e8cad;}};if(!_0x58c9fc||_0x852958['cvouz'](Object['keys'](_0x58c9fc)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x26d351=[],_0x1144e6={};for(const [_0x3946ab,_0x4ea9b6]of Object[_0x649a28(0x14a)](_0x58c9fc)){const {lookupTable:_0x4fd238,lookupColumn:_0x5711cf,lookupIdColumn:_0x3a3f98,required:_0x3240bd}=_0x4ea9b6,_0x6bb4a0=this[_0x649a28(0x127)](_0x133def,_0x3946ab),_0x4ef1a1=await this[_0x649a28(0x154)](_0x4fd238,_0x5711cf,_0x3a3f98),_0x32cde4=[],_0x5790a8=[];_0x6bb4a0['forEach'](_0x3aca50=>{const _0x1b2e1d=_0x649a28,_0x18efba=this[_0x1b2e1d(0x139)](_0x3aca50,_0x4ef1a1);_0x852958[_0x1b2e1d(0x12f)](_0x18efba,null)?_0x5790a8[_0x1b2e1d(0x148)](_0x3aca50):_0x32cde4['push'](_0x3aca50);});if(_0x32cde4['length']>0x0&&_0x3240bd){_0x26d351[_0x649a28(0x148)]({'field':_0x3946ab,'lookupTable':_0x4fd238,'invalidValues':_0x32cde4,'message':_0x32cde4['length']+_0x649a28(0x129)+_0x4fd238});const _0xe0a4a5=[];_0x4ef1a1['forEach']((_0x291624,_0x2f7643)=>{const _0x25b684=_0x649a28;if(_0x852958[_0x25b684(0x13c)](_0x2f7643,_0x2f7643['toLowerCase']()))return;_0xe0a4a5[_0x25b684(0x148)](_0x2f7643);}),_0x1144e6[_0x3946ab]={'invalidValues':_0x32cde4,'availableValues':_0xe0a4a5[_0x649a28(0x12d)](0x0,0x32)};}}return{'valid':_0x26d351['length']===0x0,'errors':_0x26d351,'suggestions':_0x1144e6};}}module['exports']=new LookupResolver();function a0_0x2df7(){const _0x5e3e5e=['DhjPBq','y2XLyxjdywnOzq','z2v0rgLZDgLUy3rwywX1zxm','A2v5CW','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','mNLSywDZzG','rejFvfLqrq','tg9VA3vWihrHyMXLigXVywrLzdOG','C2XPy2u','BgvUz3rO','zhLLEgW','vMfSDwuGiG','C2v0','AgfZ','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','ChjVy2vZC0XVB2T1CezPzwXKCW','odiWodi2nfPfA2HHzW','Dg9vChbLCKnHC2u','lI9KyI1VCMfJBgu','ndHOwNzICgq','CMvZB2X2zuXVB2T1CfzHBhvL','Dg9mB3DLCKnHC2u','u0vmrunuia','DxzfA0C','yMXuuum','lI9SB2DNzxi','zxHLy3v0zvf1zxj5','mtqXnJm1n1fXtM5TvW','ww1zyvG','ogLctwPTsW','EwXYAhK','qwnzAwu','lI9KyI1TExnXBa','B3jHy2XL','Cg9ZDgDYzxnXBa','ChvZAa','r1bdALe','zw50CMLLCW','nda5mJGXowLpqM5Jva','iezst00G','Bg9VA3vWx3rHyMXLx2XVywrLza','mJiZmZKXmfzZA2L3sW','v2Pbte0','Bg9VA3vWq2fJAgu','tMPizwe','DgToBwO','zM9YrwfJAa','Bg9HzeXVB2T1CfrHyMXL','mtmWnJu2m2fju2fUuW','mte3nZKYnJbkBvj1sNO','DMfSAwrHDgvmB29RDxbwywX1zxm','zxjYB3i','zNjVBq','iIbUB3qGzM91BMqGAw4G','z2v0','y2XLyxi','BxLZCwW','mtiWndK4nu1bDLPtCW','BwfW'];a0_0x2df7=function(){return _0x5e3e5e;};return a0_0x2df7();}
1
+ const a0_0x254fdf=a0_0x5e44;(function(_0x13a096,_0x241f2e){const _0x23653a=a0_0x5e44,_0x125a97=_0x13a096();while(!![]){try{const _0x471f05=parseInt(_0x23653a(0x144))/0x1*(parseInt(_0x23653a(0x137))/0x2)+parseInt(_0x23653a(0x166))/0x3+parseInt(_0x23653a(0x15a))/0x4+-parseInt(_0x23653a(0x155))/0x5+parseInt(_0x23653a(0x151))/0x6*(parseInt(_0x23653a(0x153))/0x7)+parseInt(_0x23653a(0x13b))/0x8*(-parseInt(_0x23653a(0x14b))/0x9)+-parseInt(_0x23653a(0x143))/0xa;if(_0x471f05===_0x241f2e)break;else _0x125a97['push'](_0x125a97['shift']());}catch(_0x355822){_0x125a97['push'](_0x125a97['shift']());}}}(a0_0x5d78,0xaee72));const dbType=(process[a0_0x254fdf(0x14a)][a0_0x254fdf(0x138)]||a0_0x254fdf(0x164))['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x4036e9,_0x190e2b)=>oracleDb['executeQuery'](_0x4036e9,_0x190e2b);}else{if(dbType===a0_0x254fdf(0x145)){const mysqlDb=require(a0_0x254fdf(0x154));executeQuery=(_0x51a8fd,_0x5575db)=>mysqlDb[a0_0x254fdf(0x15e)](_0x51a8fd,_0x5575db);}else executeQuery=require('./db')[a0_0x254fdf(0x15e)];}function a0_0x5d78(){const _0xf53181=['mJyXnJq3mKvxDxL0qW','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','AKLkqMC','zxHWB3j0CW','zxHLy3v0zvf1zxj5','Bg9VA3vWx3rHyMXLx2XVywrLza','tg9VA3vWihrHyMXLigXVywrLzdOG','C2XPy2u','Aw5MBW','DMfSAwrHDgvmB29RDxbwywX1zxm','Cg9ZDgDYzxnXBa','zw50CMLLCW','mJm0ndGZnM9VvgzTCa','Bg9HzeXVB2T1CfrHyMXL','t1rlz2q','mMnSCMvQva','rejFvfLqrq','tg9VA3vWignHy2HLignSzwfYzwq','zxjYB3i','ntyWvKHrtwL0','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','u3LXANm','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','CMvZB2X2zuXVB2T1CfzHBhvL','s0PjEe0','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','mJi4odC0ndbXqwXxtwS','mti2mJyXn2HRwuvvuG','BxLZCwW','C2v0','Dg9mB3DLCKnHC2u','A2v5CW','z2v0','zw52','odK1ntb3q3fmu3C','Bg9VA3vWq2fJAgu','DhjPBq','BgvUz3rO','lI9SB2DNzxi','y2XLyxjdywnOzq','nda0mdu0nfPYrKrxvq','zM9YrwfJAa','mtrYrgrTtxa','lI9KyI1TExnXBa','mtCXnZC0nwzKCgzMBa','z2v0rgLZDgLUy3rwywX1zxm','zNjVBq','ChjVy2vZC0XVB2T1CezPzwXKCW','ChvZAa'];a0_0x5d78=function(){return _0xf53181;};return a0_0x5d78();}function a0_0x5e44(_0x36c7a6,_0x223d27){_0x36c7a6=_0x36c7a6-0x135;const _0x5d7892=a0_0x5d78();let _0x5e4448=_0x5d7892[_0x36c7a6];if(a0_0x5e44['YVJdwW']===undefined){var _0x557417=function(_0x5b1db3){const _0x5ba5fe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1dbff8='',_0x55461f='';for(let _0x2bf3f7=0x0,_0x5879e6,_0x17bcc2,_0x3f07d7=0x0;_0x17bcc2=_0x5b1db3['charAt'](_0x3f07d7++);~_0x17bcc2&&(_0x5879e6=_0x2bf3f7%0x4?_0x5879e6*0x40+_0x17bcc2:_0x17bcc2,_0x2bf3f7++%0x4)?_0x1dbff8+=String['fromCharCode'](0xff&_0x5879e6>>(-0x2*_0x2bf3f7&0x6)):0x0){_0x17bcc2=_0x5ba5fe['indexOf'](_0x17bcc2);}for(let _0x5b0d86=0x0,_0x3d82f7=_0x1dbff8['length'];_0x5b0d86<_0x3d82f7;_0x5b0d86++){_0x55461f+='%'+('00'+_0x1dbff8['charCodeAt'](_0x5b0d86)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55461f);};a0_0x5e44['imCapr']=_0x557417,a0_0x5e44['WHcWEl']={},a0_0x5e44['YVJdwW']=!![];}const _0x46ea23=_0x5d7892[0x0],_0x2f2614=_0x36c7a6+_0x46ea23,_0x1b891f=a0_0x5e44['WHcWEl'][_0x2f2614];return!_0x1b891f?(_0x5e4448=a0_0x5e44['imCapr'](_0x5e4448),a0_0x5e44['WHcWEl'][_0x2f2614]=_0x5e4448):_0x5e4448=_0x1b891f,_0x5e4448;}const {logger}=require(a0_0x254fdf(0x14f));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x254fdf(0x150)](){const _0x3d6268=a0_0x254fdf,_0x19ae62={'SqCcE':_0x3d6268(0x13c),'JFcES':_0x3d6268(0x139)};this['lookupCache']['clear'](),logger['debug']({'event':_0x19ae62['SqCcE']},_0x19ae62['JFcES']);}async[a0_0x254fdf(0x135)](_0x2e8a7a,_0x5a03b5,_0x5e3815){const _0x24a7c6=a0_0x254fdf,_0x326f7b={'KJIxM':function(_0x2bcbc7,_0x2332e7){return _0x2bcbc7!==_0x2332e7;},'YJUfw':function(_0x5c91f7,_0x42cebf){return _0x5c91f7(_0x42cebf);},'Nrziu':_0x24a7c6(0x15f)},_0xc902c8=_0x2e8a7a+':'+_0x5a03b5+':'+_0x5e3815;if(this[_0x24a7c6(0x14c)]['has'](_0xc902c8))return this[_0x24a7c6(0x14c)]['get'](_0xc902c8);try{const _0x2e5f5e='SELECT\x20'+_0x5e3815+',\x20'+_0x5a03b5+'\x20FROM\x20'+_0x2e8a7a,_0x21e6e5=await _0x326f7b['YJUfw'](executeQuery,_0x2e5f5e),_0x20cd76=new Map();return _0x21e6e5[_0x24a7c6(0x152)](_0x20303f=>{const _0x4a53fd=_0x24a7c6,_0x4143fa=_0x326f7b[_0x4a53fd(0x141)](_0x20303f[_0x5a03b5],undefined)?_0x20303f[_0x5a03b5]:_0x20303f[_0x5a03b5['toUpperCase']()],_0x3607f4=_0x20303f[_0x5e3815]!==undefined?_0x20303f[_0x5e3815]:_0x20303f[_0x5e3815['toUpperCase']()];_0x4143fa!==null&&_0x326f7b[_0x4a53fd(0x141)](_0x4143fa,undefined)&&(_0x20cd76[_0x4a53fd(0x146)](_0x326f7b['YJUfw'](String,_0x4143fa)['toLowerCase']()[_0x4a53fd(0x14d)](),_0x3607f4),_0x20cd76[_0x4a53fd(0x146)](String(_0x4143fa)['trim'](),_0x3607f4));}),this['lookupCache']['set'](_0xc902c8,_0x20cd76),logger[_0x24a7c6(0x162)]({'event':_0x326f7b['Nrziu'],'table':_0x2e8a7a,'column':_0x5a03b5,'count':_0x21e6e5['length']},_0x24a7c6(0x160)+_0x2e8a7a),_0x20cd76;}catch(_0x446feb){logger[_0x24a7c6(0x13a)]({'event':_0x24a7c6(0x13f),'table':_0x2e8a7a,'error':_0x446feb['message']},_0x24a7c6(0x13e)+_0x2e8a7a);throw _0x446feb;}}[a0_0x254fdf(0x140)](_0x3732f2,_0x10d176){const _0x5980a=a0_0x254fdf,_0x32b619={'OTKgd':function(_0x3b54f4,_0x36b40c){return _0x3b54f4===_0x36b40c;}};if(_0x3732f2===null||_0x32b619[_0x5980a(0x136)](_0x3732f2,undefined)||_0x3732f2==='')return null;const _0x1bcd98=String(_0x3732f2)[_0x5980a(0x14d)]();if(_0x10d176['has'](_0x1bcd98))return _0x10d176[_0x5980a(0x149)](_0x1bcd98);const _0x4e31f8=_0x1bcd98[_0x5980a(0x147)]();if(_0x10d176['has'](_0x4e31f8))return _0x10d176[_0x5980a(0x149)](_0x4e31f8);return null;}async[a0_0x254fdf(0x158)](_0x7cd5e,_0x1e6de5){const _0x36d89d=a0_0x254fdf,_0x2f054d={'Syqjs':_0x36d89d(0x142)};if(!_0x1e6de5||Object['keys'](_0x1e6de5)[_0x36d89d(0x14e)]===0x0)return{'processedRows':_0x7cd5e,'errors':[]};const _0x1ae2d2=[],_0x4e16d3=new Map();for(const [_0x1e516d,_0x52503c]of Object[_0x36d89d(0x165)](_0x1e6de5)){const {lookupTable:_0x4b1b99,lookupColumn:_0x369472,lookupIdColumn:_0x1c8f97}=_0x52503c,_0x3183af=_0x4b1b99+':'+_0x369472+':'+_0x1c8f97;if(!_0x4e16d3['has'](_0x3183af)){const _0x317c11=await this[_0x36d89d(0x135)](_0x4b1b99,_0x369472,_0x1c8f97);_0x4e16d3[_0x36d89d(0x146)](_0x3183af,_0x317c11);}}const _0x320d6d=_0x7cd5e['map']((_0x4b7d46,_0x4a2189)=>{const _0x536f71={..._0x4b7d46};for(const [_0x5cc060,_0x41eb28]of Object['entries'](_0x1e6de5)){const {lookupTable:_0x2c9bc3,lookupColumn:_0x547bd7,lookupIdColumn:_0xaf1e79,targetField:_0x5e1ddc,required:_0xebc0a2}=_0x41eb28,_0x1312ed=_0x2c9bc3+':'+_0x547bd7+':'+_0xaf1e79,_0x523c50=_0x4e16d3['get'](_0x1312ed),_0x3481fc=_0x4b7d46[_0x5cc060];if((_0x3481fc===null||_0x3481fc===undefined||_0x3481fc==='')&&!_0xebc0a2){_0x536f71[_0x5e1ddc]=null;continue;}const _0x451c83=this['resolveLookupValue'](_0x3481fc,_0x523c50);_0x451c83!==null?_0x536f71[_0x5e1ddc]=_0x451c83:(_0xebc0a2&&_0x1ae2d2['push']({'rowIndex':_0x4a2189,'field':_0x5cc060,'value':_0x3481fc,'targetField':_0x5e1ddc,'lookupTable':_0x2c9bc3,'message':'Value\x20\x22'+_0x3481fc+'\x22\x20not\x20found\x20in\x20'+_0x2c9bc3}),_0x536f71[_0x5e1ddc]=null);}return _0x536f71;});return logger[_0x36d89d(0x162)]({'event':_0x2f054d[_0x36d89d(0x13d)],'totalRows':_0x7cd5e['length'],'errorCount':_0x1ae2d2['length'],'lookupFieldCount':Object[_0x36d89d(0x148)](_0x1e6de5)['length']},'Lookup\x20fields\x20processed'),{'processedRows':_0x320d6d,'errors':_0x1ae2d2};}[a0_0x254fdf(0x156)](_0x2ecf96,_0x1727b2){const _0x1418f3=a0_0x254fdf,_0xde2a1e={'vrLbA':function(_0x3ae231,_0x124d73){return _0x3ae231!==_0x124d73;}},_0x2b0d55=new Set();return _0x2ecf96['forEach'](_0x63f2a1=>{const _0x11bfcc=_0x63f2a1[_0x1727b2];_0x11bfcc!==null&&_0x11bfcc!==undefined&&_0xde2a1e['vrLbA'](_0x11bfcc,'')&&_0x2b0d55['add'](String(_0x11bfcc)['trim']());}),Array[_0x1418f3(0x157)](_0x2b0d55);}async[a0_0x254fdf(0x163)](_0x2d61e2,_0x24272c){const _0x125d71=a0_0x254fdf,_0x391b2f={'nccpS':function(_0x2ba303,_0xc5395f){return _0x2ba303!==_0xc5395f;},'ZheYh':function(_0x570b3b,_0xe667b5){return _0x570b3b>_0xe667b5;},'jIJBg':function(_0x104d56,_0x2b2a9b){return _0x104d56===_0x2b2a9b;}};if(!_0x24272c||Object['keys'](_0x24272c)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x29e181=[],_0x5a4d71={};for(const [_0x411e75,_0x26e4a5]of Object[_0x125d71(0x165)](_0x24272c)){const {lookupTable:_0x25bbc1,lookupColumn:_0x21a3fd,lookupIdColumn:_0x3f4545,required:_0x557eab}=_0x26e4a5,_0x2c20ff=this['getDistinctValues'](_0x2d61e2,_0x411e75),_0x49b18a=await this['loadLookupTable'](_0x25bbc1,_0x21a3fd,_0x3f4545),_0x26e6ab=[],_0xda4043=[];_0x2c20ff[_0x125d71(0x152)](_0x3f62a0=>{const _0x3c0553=_0x125d71,_0xd88f01=this[_0x3c0553(0x140)](_0x3f62a0,_0x49b18a);_0x391b2f['nccpS'](_0xd88f01,null)?_0xda4043['push'](_0x3f62a0):_0x26e6ab['push'](_0x3f62a0);});if(_0x391b2f['ZheYh'](_0x26e6ab['length'],0x0)&&_0x557eab){_0x29e181[_0x125d71(0x159)]({'field':_0x411e75,'lookupTable':_0x25bbc1,'invalidValues':_0x26e6ab,'message':_0x26e6ab[_0x125d71(0x14e)]+_0x125d71(0x15b)+_0x25bbc1});const _0x155662=[];_0x49b18a[_0x125d71(0x152)]((_0x330788,_0x40ee9c)=>{const _0x10bb0a=_0x125d71;if(_0x40ee9c===_0x40ee9c[_0x10bb0a(0x147)]())return;_0x155662[_0x10bb0a(0x159)](_0x40ee9c);}),_0x5a4d71[_0x411e75]={'invalidValues':_0x26e6ab,'availableValues':_0x155662[_0x125d71(0x161)](0x0,0x32)};}}return{'valid':_0x391b2f[_0x125d71(0x15c)](_0x29e181[_0x125d71(0x14e)],0x0),'errors':_0x29e181,'suggestions':_0x5a4d71};}}module[a0_0x254fdf(0x15d)]=new LookupResolver();
@@ -1 +1 @@
1
- function a0_0xcdb3(){const _0x56c900=['nZaYndiZnKnYvwnXBG','lwv4Cg9YDa','ndC2vu11wNzf','zgf0yxrHyMXLC1f1zxj5','y2XLyxjdywnOzq','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mZn0r3fuEvO','lI9SB2DNzxi','mZCWngnZrLbcvG','z2v0','C2v0','mJyYnJi0nwTxDwDoBq','ugf5Bg9HzcbUB3qGzM91BMq6ia','lMPZB24','Axnby3rPB25fBMfIBgvK','mZaXmZG5m1L1D3PvBG','ohjWAKDQta','nJq5mdK1DfnYt0DX','CMvHzezPBgu','AM9PBG','DgfIBgvoyw1L','Aw5MBW','lI4VlI4VCgf5Bg9Hza','nJe0mZrtu3noEwW','AgfZ','y2fJAgu','DxrMoa','uxr6Bfa','y29SDw1UrM9YBwf0CW','mtbZDMv4ExO','t1HgBM0','Bg9HzfbHEwXVywq','Cgf5Bg9HzerPCG','zxHWB3j0CW','ywn0Aw9U','nJK4ndi1nMfcEKfrwG','rhnfrg4','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','wMf4C1e','mZaYENHpDLfq'];a0_0xcdb3=function(){return _0x56c900;};return a0_0xcdb3();}const a0_0x3c4953=a0_0x489f;(function(_0x28a5fa,_0x474329){const _0x44326b=a0_0x489f,_0xf52e1c=_0x28a5fa();while(!![]){try{const _0x2ec70a=-parseInt(_0x44326b(0x106))/0x1*(parseInt(_0x44326b(0x125))/0x2)+parseInt(_0x44326b(0x109))/0x3+parseInt(_0x44326b(0x10e))/0x4*(-parseInt(_0x44326b(0x10f))/0x5)+-parseInt(_0x44326b(0x115))/0x6*(parseInt(_0x44326b(0x128))/0x7)+-parseInt(_0x44326b(0x121))/0x8+-parseInt(_0x44326b(0x10d))/0x9*(-parseInt(_0x44326b(0x11b))/0xa)+parseInt(_0x44326b(0x104))/0xb*(parseInt(_0x44326b(0x126))/0xc);if(_0x2ec70a===_0x474329)break;else _0xf52e1c['push'](_0xf52e1c['shift']());}catch(_0xe979cb){_0xf52e1c['push'](_0xf52e1c['shift']());}}}(a0_0xcdb3,0x8d24d));const fs=require('fs')['promises'],path=require('path'),{logger}=require(a0_0x3c4953(0x105));class PayloadLoader{constructor(){const _0x5d79b0=a0_0x3c4953;this[_0x5d79b0(0x11e)]=path[_0x5d79b0(0x111)](__dirname,_0x5d79b0(0x114)),this[_0x5d79b0(0x117)]=new Map();}async[a0_0x3c4953(0x11d)](_0x579739,_0x270dd7){const _0x872583=a0_0x3c4953,_0x3ae4a9={'ZaxsQ':'payload_loaded','OXFnm':'Payload\x20loaded\x20successfully','DsEDn':'payload_load_error'},_0xa87255=_0x579739+':'+_0x270dd7;if(this['cache']['has'](_0xa87255))return this['cache'][_0x872583(0x107)](_0xa87255);const _0x375714=path['join'](this['payloadDir'],_0x579739+'_'+_0x270dd7+_0x872583(0x10b));try{const _0x2cd47=await fs['readFile'](_0x375714,'utf8'),_0x3929b8=JSON['parse'](_0x2cd47);return this['cache'][_0x872583(0x108)](_0xa87255,_0x3929b8),logger['debug']({'event':_0x3ae4a9[_0x872583(0x124)],'project':_0x579739,'resource':_0x270dd7},_0x3ae4a9[_0x872583(0x11c)]),_0x3929b8;}catch(_0x13c7d6){logger['error']({'event':_0x3ae4a9[_0x872583(0x122)],'project':_0x579739,'resource':_0x270dd7,'error':_0x13c7d6['message']},_0x872583(0x103));throw new Error(_0x872583(0x10a)+_0x579739+'_'+_0x270dd7);}}async['loadPayloadByName'](_0x398722){const _0x2897e=a0_0x3c4953,_0x4c962d={'QtzlP':_0x2897e(0x118),'GPZjQ':'Payload\x20loaded\x20successfully\x20by\x20name','YbHCR':_0x2897e(0x123)},_0x43d399='payload:'+_0x398722;if(this['cache'][_0x2897e(0x116)](_0x43d399))return this['cache']['get'](_0x43d399);const _0x14dd7b=path[_0x2897e(0x111)](this[_0x2897e(0x11e)],_0x398722+_0x2897e(0x10b));try{const _0x1dd85d=await fs[_0x2897e(0x110)](_0x14dd7b,_0x4c962d[_0x2897e(0x119)]),_0x127c33=JSON['parse'](_0x1dd85d);return this['cache']['set'](_0x43d399,_0x127c33),logger['debug']({'event':'payload_loaded','payloadName':_0x398722},_0x4c962d['GPZjQ']),_0x127c33;}catch(_0x3e835f){logger['error']({'event':'payload_load_error','payloadName':_0x398722,'error':_0x3e835f['message']},_0x4c962d['YbHCR']);throw new Error(_0x2897e(0x10a)+_0x398722);}}[a0_0x3c4953(0x10c)](_0x3c09e5,_0x522950){const _0xb46230=a0_0x3c4953;return _0x3c09e5['action']&&_0x3c09e5[_0xb46230(0x120)][_0x522950]===!![];}['getExportConfig'](_0xda4829){const _0x4c37d0=a0_0x3c4953;return{'columns':_0xda4829['fieldName']||[],'filename':_0xda4829[_0x4c37d0(0x112)]['replace']('.','-')+_0x4c37d0(0x127),'datatablesQuery':_0xda4829[_0x4c37d0(0x129)]||null,'columnFormats':_0xda4829[_0x4c37d0(0x11a)]||null,'fieldLabels':_0xda4829['fieldLabels']||null};}[a0_0x3c4953(0x102)](){const _0x5f54f7=a0_0x3c4953;this['cache']['clear'](),logger[_0x5f54f7(0x113)]({'event':'payload_cache_cleared'},'Payload\x20cache\x20cleared');}}function a0_0x489f(_0x420e8f,_0x9aac62){_0x420e8f=_0x420e8f-0x102;const _0xcdb3aa=a0_0xcdb3();let _0x489fd4=_0xcdb3aa[_0x420e8f];if(a0_0x489f['fvnxNn']===undefined){var _0x3d3128=function(_0x53d53f){const _0x21395a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2339d1='',_0x582520='';for(let _0x3ba316=0x0,_0x5aa98f,_0x9763bd,_0x236f00=0x0;_0x9763bd=_0x53d53f['charAt'](_0x236f00++);~_0x9763bd&&(_0x5aa98f=_0x3ba316%0x4?_0x5aa98f*0x40+_0x9763bd:_0x9763bd,_0x3ba316++%0x4)?_0x2339d1+=String['fromCharCode'](0xff&_0x5aa98f>>(-0x2*_0x3ba316&0x6)):0x0){_0x9763bd=_0x21395a['indexOf'](_0x9763bd);}for(let _0x4d4636=0x0,_0x5a4c13=_0x2339d1['length'];_0x4d4636<_0x5a4c13;_0x4d4636++){_0x582520+='%'+('00'+_0x2339d1['charCodeAt'](_0x4d4636)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x582520);};a0_0x489f['ShILfJ']=_0x3d3128,a0_0x489f['KRzXIC']={},a0_0x489f['fvnxNn']=!![];}const _0x29e7c7=_0xcdb3aa[0x0],_0xb7fed0=_0x420e8f+_0x29e7c7,_0x353a6b=a0_0x489f['KRzXIC'][_0xb7fed0];return!_0x353a6b?(_0x489fd4=a0_0x489f['ShILfJ'](_0x489fd4),a0_0x489f['KRzXIC'][_0xb7fed0]=_0x489fd4):_0x489fd4=_0x353a6b,_0x489fd4;}module[a0_0x3c4953(0x11f)]=new PayloadLoader();
1
+ const a0_0x1e2149=a0_0x4983;(function(_0x1643ad,_0x4bcd9b){const _0x5aaab7=a0_0x4983,_0x5aae6d=_0x1643ad();while(!![]){try{const _0xfafd34=parseInt(_0x5aaab7(0xbb))/0x1*(parseInt(_0x5aaab7(0xc8))/0x2)+parseInt(_0x5aaab7(0xc1))/0x3+-parseInt(_0x5aaab7(0xd5))/0x4+parseInt(_0x5aaab7(0xc5))/0x5*(parseInt(_0x5aaab7(0xbe))/0x6)+-parseInt(_0x5aaab7(0xdc))/0x7*(-parseInt(_0x5aaab7(0xc2))/0x8)+-parseInt(_0x5aaab7(0xc0))/0x9*(parseInt(_0x5aaab7(0xdb))/0xa)+-parseInt(_0x5aaab7(0xc4))/0xb;if(_0xfafd34===_0x4bcd9b)break;else _0x5aae6d['push'](_0x5aae6d['shift']());}catch(_0x5325b6){_0x5aae6d['push'](_0x5aae6d['shift']());}}}(a0_0x505b,0xf296f));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');function a0_0x505b(){const _0x483b3a=['Cgf5Bg9HzerPCG','zgf0yxrHyMXLC1f1zxj5','y2XLyxi','mJKXodDuBvfxCMC','zMLLBgroyw1L','zMLLBgrmywjLBhm','mJC4oda2mLnRBKjerG','ywn0Aw9U','mtq3nJGXzLvfCeP6','mtm0nta1A1HAqM9v','nZuYs1n2zffh','AxP4EuC','otyYodu2nhvoEvvrua','mJbUDefuwem','lI4VlI4VCgf5Bg9Hza','lMPZB24','mtH4v0DhAvu','y2fJAgu','DgfIBgvoyw1L','zgvIDwC','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','C2v0','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','sffmCK8','CgfYC2u','y29SDw1UrM9YBwf0CW','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','AgfZ','mtG5mZy0ngfiwKL4CG','CfbWEKu','Cgf5Bg9Hzf9SB2fKzwq','Aw5MBW','wLDRsLm','Bg9HzfbHEwXVywrcEu5HBwu','otqWt3bXEuDy','mti3otGXv2Plq09y','rgXcrva','AM9PBG','y2XLyxjdywnOzq','Cgf5Bg9Hzf9SB2fKx2vYCM9Y'];a0_0x505b=function(){return _0x483b3a;};return a0_0x505b();}class PayloadLoader{constructor(){const _0x4e37fd=a0_0x4983,_0x11c2cb={'HQLrO':_0x4e37fd(0xc6)};this[_0x4e37fd(0xe1)]=path[_0x4e37fd(0xde)](__dirname,_0x11c2cb[_0x4e37fd(0xcf)]),this['cache']=new Map();}async['loadPayload'](_0x1baf6f,_0x3927c9){const _0xb972ee=a0_0x4983,_0x571bfb={'Wyary':'utf8','ZWkJS':_0xb972ee(0xd7),'izxyG':_0xb972ee(0xce),'pPpzE':_0xb972ee(0xd2)},_0x261e5d=_0x1baf6f+':'+_0x3927c9;if(this[_0xb972ee(0xc9)][_0xb972ee(0xd4)](_0x261e5d))return this[_0xb972ee(0xc9)]['get'](_0x261e5d);const _0x18f431=path[_0xb972ee(0xde)](this['payloadDir'],_0x1baf6f+'_'+_0x3927c9+'.json');try{const _0x240056=await fs['readFile'](_0x18f431,_0x571bfb['Wyary']),_0x40e159=JSON[_0xb972ee(0xd0)](_0x240056);return this['cache']['set'](_0x261e5d,_0x40e159),logger['debug']({'event':_0x571bfb[_0xb972ee(0xd9)],'project':_0x1baf6f,'resource':_0x3927c9},_0x571bfb[_0xb972ee(0xc3)]),_0x40e159;}catch(_0xbda1df){logger['error']({'event':'payload_load_error','project':_0x1baf6f,'resource':_0x3927c9,'error':_0xbda1df['message']},_0x571bfb[_0xb972ee(0xd6)]);throw new Error('Payload\x20not\x20found:\x20'+_0x1baf6f+'_'+_0x3927c9);}}async[a0_0x1e2149(0xda)](_0x289228){const _0xf7af16=a0_0x1e2149,_0x346044={'LJJFd':_0xf7af16(0xd7),'ByTRr':_0xf7af16(0xd3),'vrhES':_0xf7af16(0xcc)},_0x1d727b='payload:'+_0x289228;if(this[_0xf7af16(0xc9)]['has'](_0x1d727b))return this['cache']['get'](_0x1d727b);const _0x5567e2=path[_0xf7af16(0xde)](this[_0xf7af16(0xe1)],_0x289228+_0xf7af16(0xc7));try{const _0x2f4a1a=await fs['readFile'](_0x5567e2,'utf8'),_0x50e08c=JSON[_0xf7af16(0xd0)](_0x2f4a1a);return this[_0xf7af16(0xc9)][_0xf7af16(0xcd)](_0x1d727b,_0x50e08c),logger[_0xf7af16(0xcb)]({'event':_0x346044['LJJFd'],'payloadName':_0x289228},_0x346044['ByTRr']),_0x50e08c;}catch(_0xfabb95){logger['error']({'event':_0xf7af16(0xe0),'payloadName':_0x289228,'error':_0xfabb95['message']},_0x346044['vrhES']);throw new Error('Payload\x20not\x20found:\x20'+_0x289228);}}['isActionEnabled'](_0x1e1ca0,_0x1ebcd1){const _0x5d5c24=a0_0x1e2149,_0x4fa5ef={'DlBEP':function(_0x1c0e78,_0x273ba4){return _0x1c0e78===_0x273ba4;}};return _0x1e1ca0[_0x5d5c24(0xbf)]&&_0x4fa5ef[_0x5d5c24(0xdd)](_0x1e1ca0[_0x5d5c24(0xbf)][_0x1ebcd1],!![]);}['getExportConfig'](_0x460ac3){const _0x56df94=a0_0x1e2149;return{'columns':_0x460ac3[_0x56df94(0xbc)]||[],'filename':_0x460ac3[_0x56df94(0xca)]['replace']('.','-')+'-export','datatablesQuery':_0x460ac3[_0x56df94(0xe2)]||null,'columnFormats':_0x460ac3[_0x56df94(0xd1)]||null,'fieldLabels':_0x460ac3[_0x56df94(0xbd)]||null};}[a0_0x1e2149(0xdf)](){const _0x368dc7=a0_0x1e2149;this['cache'][_0x368dc7(0xba)](),logger[_0x368dc7(0xd8)]({'event':'payload_cache_cleared'},'Payload\x20cache\x20cleared');}}function a0_0x4983(_0x6f94b7,_0x5863e4){_0x6f94b7=_0x6f94b7-0xba;const _0x505b4b=a0_0x505b();let _0x498308=_0x505b4b[_0x6f94b7];if(a0_0x4983['RwxEaN']===undefined){var _0x277e28=function(_0x279306){const _0x1615a1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x40cca7='',_0x18154e='';for(let _0x30188d=0x0,_0xbb3b07,_0x29f0c8,_0x413ffb=0x0;_0x29f0c8=_0x279306['charAt'](_0x413ffb++);~_0x29f0c8&&(_0xbb3b07=_0x30188d%0x4?_0xbb3b07*0x40+_0x29f0c8:_0x29f0c8,_0x30188d++%0x4)?_0x40cca7+=String['fromCharCode'](0xff&_0xbb3b07>>(-0x2*_0x30188d&0x6)):0x0){_0x29f0c8=_0x1615a1['indexOf'](_0x29f0c8);}for(let _0x2db6b3=0x0,_0x625230=_0x40cca7['length'];_0x2db6b3<_0x625230;_0x2db6b3++){_0x18154e+='%'+('00'+_0x40cca7['charCodeAt'](_0x2db6b3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18154e);};a0_0x4983['kwopVf']=_0x277e28,a0_0x4983['bXDKOO']={},a0_0x4983['RwxEaN']=!![];}const _0x56b322=_0x505b4b[0x0],_0x25da23=_0x6f94b7+_0x56b322,_0x58cf0b=a0_0x4983['bXDKOO'][_0x25da23];return!_0x58cf0b?(_0x498308=a0_0x4983['kwopVf'](_0x498308),a0_0x4983['bXDKOO'][_0x25da23]=_0x498308):_0x498308=_0x58cf0b,_0x498308;}module['exports']=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';(function(_0x4560a6,_0x46aaa4){var _0x2682ae=a0_0xa2ee,_0x42d3d8=_0x4560a6();while(!![]){try{var _0x4d1a20=-parseInt(_0x2682ae(0xda))/0x1*(-parseInt(_0x2682ae(0xde))/0x2)+parseInt(_0x2682ae(0xdc))/0x3+-parseInt(_0x2682ae(0xd9))/0x4+-parseInt(_0x2682ae(0xdd))/0x5*(parseInt(_0x2682ae(0xe0))/0x6)+-parseInt(_0x2682ae(0xdf))/0x7+-parseInt(_0x2682ae(0xdb))/0x8*(parseInt(_0x2682ae(0xd7))/0x9)+parseInt(_0x2682ae(0xd6))/0xa;if(_0x4d1a20===_0x46aaa4)break;else _0x42d3d8['push'](_0x42d3d8['shift']());}catch(_0xdba793){_0x42d3d8['push'](_0x42d3d8['shift']());}}}(a0_0x2370,0xeb036));function createResponse(_0x3d1165,_0x2f8806,_0x3470a1=null){var _0x5a7db5=a0_0xa2ee;return{'success':!![],'statusCode':_0x3d1165,'message':_0x2f8806,'data':_0x3470a1,'timestamp':new Date()[_0x5a7db5(0xd8)]()};}function a0_0x2370(){var _0x238296=['odKWota0mhzor3btBa','mta5nZiXmJHnuurmBKC','mJKZmdy5mdbSAMDeB2m','mZiZmZDIs3n3z1K','Dg9ju09tDhjPBMC','nte3mJa1mK5prev4ta','mtm0m09Zs2ToAG','mtaZmMjus1ztBG','ndaZmJe0n25LwgreAW','nw5er09isq','mJmWmNzxu1PYyW'];a0_0x2370=function(){return _0x238296;};return a0_0x2370();}function createError(_0x444bf5,_0x17b8a9,_0x5d1103=null){return{'success':![],'statusCode':_0x444bf5,'message':_0x17b8a9,'data':_0x5d1103,'timestamp':new Date()['toISOString']()};}function a0_0xa2ee(_0x17ce40,_0x11e156){_0x17ce40=_0x17ce40-0xd6;var _0x2370a2=a0_0x2370();var _0xa2ee73=_0x2370a2[_0x17ce40];if(a0_0xa2ee['BLnmjM']===undefined){var _0x31bc7d=function(_0x2cac84){var _0xc5a148='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3aeabf='',_0x427cba='';for(var _0x529db3=0x0,_0x264a9f,_0x254648,_0x274e93=0x0;_0x254648=_0x2cac84['charAt'](_0x274e93++);~_0x254648&&(_0x264a9f=_0x529db3%0x4?_0x264a9f*0x40+_0x254648:_0x254648,_0x529db3++%0x4)?_0x3aeabf+=String['fromCharCode'](0xff&_0x264a9f>>(-0x2*_0x529db3&0x6)):0x0){_0x254648=_0xc5a148['indexOf'](_0x254648);}for(var _0x45074c=0x0,_0x5e3732=_0x3aeabf['length'];_0x45074c<_0x5e3732;_0x45074c++){_0x427cba+='%'+('00'+_0x3aeabf['charCodeAt'](_0x45074c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x427cba);};a0_0xa2ee['CGmIhM']=_0x31bc7d,a0_0xa2ee['scgddJ']={},a0_0xa2ee['BLnmjM']=!![];}var _0x46645=_0x2370a2[0x0],_0x322c0a=_0x17ce40+_0x46645,_0x12c356=a0_0xa2ee['scgddJ'][_0x322c0a];return!_0x12c356?(_0xa2ee73=a0_0xa2ee['CGmIhM'](_0xa2ee73),a0_0xa2ee['scgddJ'][_0x322c0a]=_0xa2ee73):_0xa2ee73=_0x12c356,_0xa2ee73;}function createValidationError(_0x1db966,_0x2251f0){var _0x2f7d86=a0_0xa2ee;return{'success':![],'statusCode':0x190,'message':_0x1db966,'data':{'errors':_0x2251f0},'timestamp':new Date()[_0x2f7d86(0xd8)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';(function(_0x54968e,_0xc1f16e){var _0x378a90=a0_0x5300,_0x119502=_0x54968e();while(!![]){try{var _0x4f8deb=parseInt(_0x378a90(0x1f4))/0x1+parseInt(_0x378a90(0x1f0))/0x2+parseInt(_0x378a90(0x1ee))/0x3+-parseInt(_0x378a90(0x1f3))/0x4+-parseInt(_0x378a90(0x1f1))/0x5+parseInt(_0x378a90(0x1f5))/0x6+-parseInt(_0x378a90(0x1f2))/0x7*(-parseInt(_0x378a90(0x1ef))/0x8);if(_0x4f8deb===_0xc1f16e)break;else _0x119502['push'](_0x119502['shift']());}catch(_0x1ac098){_0x119502['push'](_0x119502['shift']());}}}(a0_0x1cb0,0xdb15b));function a0_0x1cb0(){var _0x185762=['otyZntjWwuv4ww4','mtuZotm0nwXSuvfjBa','mJKZndy4seXMCw92','nJG0mZq4mhPyzvHiBa','mZqXmdu4C3Psy1zH','otiWnta4t3LND3rW','Dg9ju09tDhjPBMC','ntiZmZC5ngHTyNP5yG','mtiWCvjMquLU'];a0_0x1cb0=function(){return _0x185762;};return a0_0x1cb0();}function createResponse(_0x8eb186,_0x4a7a37,_0x3a7a58=null){var _0x4e3a3c=a0_0x5300;return{'success':!![],'statusCode':_0x8eb186,'message':_0x4a7a37,'data':_0x3a7a58,'timestamp':new Date()[_0x4e3a3c(0x1ed)]()};}function a0_0x5300(_0x5eb6ee,_0x3560fb){_0x5eb6ee=_0x5eb6ee-0x1ed;var _0x1cb07b=a0_0x1cb0();var _0x53008b=_0x1cb07b[_0x5eb6ee];if(a0_0x5300['ymSWOT']===undefined){var _0x51a7fe=function(_0x5be331){var _0x5049ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x466b81='',_0x4bab05='';for(var _0x5d993b=0x0,_0x13717a,_0x26434e,_0x57636a=0x0;_0x26434e=_0x5be331['charAt'](_0x57636a++);~_0x26434e&&(_0x13717a=_0x5d993b%0x4?_0x13717a*0x40+_0x26434e:_0x26434e,_0x5d993b++%0x4)?_0x466b81+=String['fromCharCode'](0xff&_0x13717a>>(-0x2*_0x5d993b&0x6)):0x0){_0x26434e=_0x5049ef['indexOf'](_0x26434e);}for(var _0x4958f1=0x0,_0xfc6546=_0x466b81['length'];_0x4958f1<_0xfc6546;_0x4958f1++){_0x4bab05+='%'+('00'+_0x466b81['charCodeAt'](_0x4958f1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bab05);};a0_0x5300['flaUAS']=_0x51a7fe,a0_0x5300['nhZqrp']={},a0_0x5300['ymSWOT']=!![];}var _0x454829=_0x1cb07b[0x0],_0x5de39c=_0x5eb6ee+_0x454829,_0x5bcd7e=a0_0x5300['nhZqrp'][_0x5de39c];return!_0x5bcd7e?(_0x53008b=a0_0x5300['flaUAS'](_0x53008b),a0_0x5300['nhZqrp'][_0x5de39c]=_0x53008b):_0x53008b=_0x5bcd7e,_0x53008b;}function createError(_0x17c812,_0x3e25ba,_0xaa0e94=null){return{'success':![],'statusCode':_0x17c812,'message':_0x3e25ba,'data':_0xaa0e94,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x5dff78,_0x1bc98f){return{'success':![],'statusCode':0x190,'message':_0x5dff78,'data':{'errors':_0x1bc98f},'timestamp':new Date()['toISOString']()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x2599b5=a0_0x11f2;(function(_0x36ebe6,_0xd98a6){const _0x2b6450=a0_0x11f2,_0x19b983=_0x36ebe6();while(!![]){try{const _0x9a21aa=parseInt(_0x2b6450(0xdc))/0x1+parseInt(_0x2b6450(0xf9))/0x2*(-parseInt(_0x2b6450(0xe7))/0x3)+parseInt(_0x2b6450(0xee))/0x4+parseInt(_0x2b6450(0xdf))/0x5+parseInt(_0x2b6450(0xe9))/0x6+-parseInt(_0x2b6450(0xcf))/0x7*(parseInt(_0x2b6450(0xf4))/0x8)+-parseInt(_0x2b6450(0xda))/0x9;if(_0x9a21aa===_0xd98a6)break;else _0x19b983['push'](_0x19b983['shift']());}catch(_0xbae7b9){_0x19b983['push'](_0x19b983['shift']());}}}(a0_0x1ca2,0xbd37c),require(a0_0x2599b5(0xe2))['config']());const amqp=require(a0_0x2599b5(0xf3)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0x2599b5(0xf6)][a0_0x2599b5(0xd0)],EXCHANGE=process[a0_0x2599b5(0xf6)]['RABBITMQ_EXCHANGE'],ROUTING_KEY=process['env'][a0_0x2599b5(0xeb)],QUEUE=process['env'][a0_0x2599b5(0xf7)];async function createConnection(){const _0x2d735c=a0_0x2599b5,_0x3290eb={'wCaLd':function(_0x47b533,_0x341849){return _0x47b533(_0x341849);},'HoaUW':function(_0x4a4085,_0x24b81a){return _0x4a4085(_0x24b81a);}};try{const _0x66be40=await amqp[_0x2d735c(0xec)](RABBITMQ_URL);return console[_0x2d735c(0xe5)]('['+_0x3290eb[_0x2d735c(0xe4)](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x66be40;}catch(_0x4c57c7){console[_0x2d735c(0xd8)]('['+_0x3290eb[_0x2d735c(0xce)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x4c57c7['message']);throw _0x4c57c7;}}function a0_0x1ca2(){const _0x257f6e=['sg9HvvC','n3bcC0Hhsq','uKfcqKLutvfFvvjm','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','rKT0twy','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','yMLUzff1zxvL','ug9cwxu','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','zxjYB3i','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','ntC0mdG4nfvhA2Dyzq','BfPrruu','nJmWnJuYChLtvxjN','xsbfEgnOyw5Nzsa','zgLYzwn0','ndm4odKZnvj1AMPzCq','yxnZzxj0rxHJAgfUz2u','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','zg90zw52','vwfgqKy','D0nHtgq','Bg9N','zM91BMq','nti3nJCZD2HJq2T4','yxnZzxj0uxvLDwu','mZy5ody4ogngqxHnyW','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','uKfcqKLutvfFuK9vveLor19lrvK','y29UBMvJDa','twzeExG','mZa3nJm4nejsv2fuvq','BwvZC2fNzq','uxvLDwuG','xsbcAw5KAw5Nia','ENnquK4','yw1XCgXPyG','ntKXntq0r2P5BwLS','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','zw52','uKfcqKLutvfFuvvfvuu','CxvLDwu','mtzJzKXqvfu','y3jLyxrLq2HHBM5LBa'];a0_0x1ca2=function(){return _0x257f6e;};return a0_0x1ca2();}function a0_0x11f2(_0x595218,_0x83fd53){_0x595218=_0x595218-0xcd;const _0x1ca239=a0_0x1ca2();let _0x11f247=_0x1ca239[_0x595218];if(a0_0x11f2['cgVPel']===undefined){var _0x125042=function(_0x562b5b){const _0x33cc28='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1544f1='',_0x287916='';for(let _0x26e346=0x0,_0x4812c1,_0xc5c3b7,_0x43f3f0=0x0;_0xc5c3b7=_0x562b5b['charAt'](_0x43f3f0++);~_0xc5c3b7&&(_0x4812c1=_0x26e346%0x4?_0x4812c1*0x40+_0xc5c3b7:_0xc5c3b7,_0x26e346++%0x4)?_0x1544f1+=String['fromCharCode'](0xff&_0x4812c1>>(-0x2*_0x26e346&0x6)):0x0){_0xc5c3b7=_0x33cc28['indexOf'](_0xc5c3b7);}for(let _0x2882fc=0x0,_0x588ab5=_0x1544f1['length'];_0x2882fc<_0x588ab5;_0x2882fc++){_0x287916+='%'+('00'+_0x1544f1['charCodeAt'](_0x2882fc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x287916);};a0_0x11f2['LDYnlP']=_0x125042,a0_0x11f2['iEQfmV']={},a0_0x11f2['cgVPel']=!![];}const _0x20be3c=_0x1ca239[0x0],_0x137018=_0x595218+_0x20be3c,_0x4e2f3a=a0_0x11f2['iEQfmV'][_0x137018];return!_0x4e2f3a?(_0x11f247=a0_0x11f2['LDYnlP'](_0x11f247),a0_0x11f2['iEQfmV'][_0x137018]=_0x11f247):_0x11f247=_0x4e2f3a,_0x11f247;}async function createChannel(_0x47066a){const _0x122263=a0_0x2599b5;try{const _0x5d967a=await _0x47066a[_0x122263(0xcd)]();return console[_0x122263(0xe5)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x5d967a;}catch(_0xff60cf){console[_0x122263(0xd8)]('['+formatDate(new Date())+_0x122263(0xd7)+_0xff60cf['message']);throw _0xff60cf;}}async function setupInfrastructure(_0x24c0c3){const _0x3de3b1=a0_0x2599b5,_0x2ccee5={'FKtMf':'retry-exchange','dgEAB':_0x3de3b1(0xde),'OQjEE':function(_0x1bf8e2,_0x4d3dc6){return _0x1bf8e2(_0x4d3dc6);},'foxlD':function(_0x3be3a0,_0x3c80af){return _0x3be3a0(_0x3c80af);},'MfDyx':function(_0x100d53,_0x4fbfb7){return _0x100d53===_0x4fbfb7;},'PoBYu':'created/ready','zsPRN':'inequivalent\x20arg','UaFBF':'x-dead-letter-routing-key'};try{await _0x24c0c3['assertExchange'](_0x2ccee5[_0x3de3b1(0xd3)],_0x2ccee5['dgEAB'],{'durable':!![],'autoDelete':![]}),console[_0x3de3b1(0xe5)]('['+_0x2ccee5['OQjEE'](formatDate,new Date())+_0x3de3b1(0xd1));}catch(_0x49732f){console[_0x3de3b1(0xd8)]('['+formatDate(new Date())+_0x3de3b1(0xd4),_0x49732f['message']);throw _0x49732f;}try{await _0x24c0c3[_0x3de3b1(0xe0)](EXCHANGE,_0x2ccee5['dgEAB'],{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x3de3b1(0xdd)+EXCHANGE+'\x20created/ready');}catch(_0x4233da){console[_0x3de3b1(0xd8)]('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x4233da[_0x3de3b1(0xef)]);throw _0x4233da;}const _0x2fd34d=ROUTING_KEY+'_retry';try{const _0x325848={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x24c0c3[_0x3de3b1(0xe8)](_0x2fd34d,_0x325848),console[_0x3de3b1(0xe5)]('['+_0x2ccee5['foxlD'](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x2fd34d+'\x20created/ready'),await _0x24c0c3[_0x3de3b1(0xd5)](_0x2fd34d,_0x2ccee5['FKtMf'],ROUTING_KEY),console[_0x3de3b1(0xe5)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x25a2e1){console[_0x3de3b1(0xd8)]('['+_0x2ccee5['OQjEE'](formatDate,new Date())+_0x3de3b1(0xea),_0x25a2e1[_0x3de3b1(0xef)]);throw _0x25a2e1;}try{const _0x28d6ac={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x2ccee5['FKtMf'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x373bc6=await _0x24c0c3['assertQueue'](QUEUE,_0x28d6ac);console[_0x3de3b1(0xe5)]('['+formatDate(new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x2ccee5[_0x3de3b1(0xed)](_0x373bc6[_0x3de3b1(0xf8)],QUEUE)?_0x2ccee5[_0x3de3b1(0xd6)]:_0x3de3b1(0xe6))+'\x20with\x20DLX'),await _0x24c0c3['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x3de3b1(0xf1)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x384861){if(_0x384861[_0x3de3b1(0xef)]['includes'](_0x2ccee5['zsPRN'])&&_0x384861[_0x3de3b1(0xef)]['includes'](_0x2ccee5[_0x3de3b1(0xe3)]))console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x3de3b1(0xf0)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x3de3b1(0xd8)](_0x3de3b1(0xd2)),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x384861[_0x3de3b1(0xef)]);throw _0x384861;}}}catch(_0x389338){if(!_0x389338[_0x3de3b1(0xef)]['includes'](_0x2ccee5[_0x3de3b1(0xf2)])){console['error']('['+formatDate(new Date())+_0x3de3b1(0xd9),_0x389338['message']);throw _0x389338;}process['exit'](0x1);}}async function closeConnection(_0x4e65be){const _0x27762f=a0_0x2599b5,_0x410a38={'lZQEE':function(_0xf3efcf,_0x5cbdaf){return _0xf3efcf(_0x5cbdaf);}};if(_0x4e65be)try{await _0x4e65be['close'](),console[_0x27762f(0xe5)]('['+_0x410a38[_0x27762f(0xdb)](formatDate,new Date())+_0x27762f(0xe1));}catch(_0x8b76f3){console['error']('['+formatDate(new Date())+_0x27762f(0xf5)+_0x8b76f3[_0x27762f(0xef)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x5dba8d=a0_0x390c;(function(_0x58b9c1,_0xec39a7){const _0x24fdc7=a0_0x390c,_0x569ccc=_0x58b9c1();while(!![]){try{const _0x2eaf3d=-parseInt(_0x24fdc7(0x1e5))/0x1+-parseInt(_0x24fdc7(0x1dd))/0x2*(-parseInt(_0x24fdc7(0x1de))/0x3)+-parseInt(_0x24fdc7(0x1e0))/0x4+-parseInt(_0x24fdc7(0x1f1))/0x5*(-parseInt(_0x24fdc7(0x1d9))/0x6)+parseInt(_0x24fdc7(0x1f8))/0x7+-parseInt(_0x24fdc7(0x200))/0x8*(-parseInt(_0x24fdc7(0x1fa))/0x9)+parseInt(_0x24fdc7(0x1fb))/0xa*(-parseInt(_0x24fdc7(0x201))/0xb);if(_0x2eaf3d===_0xec39a7)break;else _0x569ccc['push'](_0x569ccc['shift']());}catch(_0x45f82b){_0x569ccc['push'](_0x569ccc['shift']());}}}(a0_0x48cb,0xe61bc),require('dotenv')[a0_0x5dba8d(0x1f7)]());const amqp=require('amqplib'),{formatDate}=require(a0_0x5dba8d(0x1f2)),RABBITMQ_URL=process['env'][a0_0x5dba8d(0x1ed)],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process['env'][a0_0x5dba8d(0x1f5)],QUEUE=process['env'][a0_0x5dba8d(0x206)];async function createConnection(){const _0x337a24=a0_0x5dba8d;try{const _0x3b75fc=await amqp['connect'](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x3b75fc;}catch(_0x5361c6){console[_0x337a24(0x1e7)]('['+formatDate(new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x5361c6['message']);throw _0x5361c6;}}async function createChannel(_0x182a18){const _0x2b7499=a0_0x5dba8d,_0x329578={'AHWaR':function(_0x5b8b4f,_0x2c04fd){return _0x5b8b4f(_0x2c04fd);},'pleKH':function(_0x9bae0c,_0x4b8793){return _0x9bae0c(_0x4b8793);}};try{const _0xace54b=await _0x182a18['createChannel']();return console['log']('['+_0x329578['AHWaR'](formatDate,new Date())+_0x2b7499(0x1ff)),_0xace54b;}catch(_0xd2e33f){console['error']('['+_0x329578[_0x2b7499(0x1e4)](formatDate,new Date())+_0x2b7499(0x1dc)+_0xd2e33f[_0x2b7499(0x203)]);throw _0xd2e33f;}}function a0_0x390c(_0x5067d1,_0x262663){_0x5067d1=_0x5067d1-0x1d9;const _0x48cbf0=a0_0x48cb();let _0x390ca5=_0x48cbf0[_0x5067d1];if(a0_0x390c['RGbPQY']===undefined){var _0x26f7ae=function(_0x4f8d81){const _0x390d73='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x444d25='',_0x54d858='';for(let _0x1df11e=0x0,_0x10bd30,_0x336947,_0x2eb2a9=0x0;_0x336947=_0x4f8d81['charAt'](_0x2eb2a9++);~_0x336947&&(_0x10bd30=_0x1df11e%0x4?_0x10bd30*0x40+_0x336947:_0x336947,_0x1df11e++%0x4)?_0x444d25+=String['fromCharCode'](0xff&_0x10bd30>>(-0x2*_0x1df11e&0x6)):0x0){_0x336947=_0x390d73['indexOf'](_0x336947);}for(let _0x4cba97=0x0,_0x327f18=_0x444d25['length'];_0x4cba97<_0x327f18;_0x4cba97++){_0x54d858+='%'+('00'+_0x444d25['charCodeAt'](_0x4cba97)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54d858);};a0_0x390c['LgAgxK']=_0x26f7ae,a0_0x390c['RcBJVP']={},a0_0x390c['RGbPQY']=!![];}const _0x259601=_0x48cbf0[0x0],_0x48da94=_0x5067d1+_0x259601,_0x22db42=a0_0x390c['RcBJVP'][_0x48da94];return!_0x22db42?(_0x390ca5=a0_0x390c['LgAgxK'](_0x390ca5),a0_0x390c['RcBJVP'][_0x48da94]=_0x390ca5):_0x390ca5=_0x22db42,_0x390ca5;}function a0_0x48cb(){const _0x2ac0ae=['ksbJCMvHDgvK','uKfcqKLutvfFvvjm','Ew5eCfu','zxHPDa','CMv0CNKTzxHJAgfUz2u','mtG2otyZnwrHCfHpDW','lI9KyxrLsgvSCgvY','zgLYzwn0','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','uKfcqKLutvfFuK9vveLor19lrvK','y3jLyxrLzc9YzwfKEq','y29UzMLN','mti2nZmXnZHmDvbmDgW','xsbfEgnOyw5Nzsa','mZeXnfjst1nPrq','mJG0mdi4meXTrfvUyq','tenArwS','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','t2j1yui','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','nZqZmM5iuuLAza','nZDzu29Yz1O','xsbszxrYEsbXDwv1zsa','BwvZC2fNzq','ic0+ia','CxvLDwu','uKfcqKLutvfFuvvfvuu','mtjrENDwDNi','qK5wzxm','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','mZC1mdaWnezQzLfSBG','m0DIENzfBG','Aw5LCxvPDMfSzw50igfYzW','ndu4nty4nePNqLbhza','A3n0yuy','Bg9N','yMLUzff1zxvL','CgXLs0G','nJC3nJaZDMffqw1l','yxnZzxj0uxvLDwu','zxjYB3i','ignYzwf0zwqVCMvHzhK','sency3C','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','zxHWB3j0CW'];a0_0x48cb=function(){return _0x2ac0ae;};return a0_0x48cb();}async function setupInfrastructure(_0x41e838){const _0x46af7f=a0_0x5dba8d,_0x5686f6={'HCBcw':_0x46af7f(0x1f0),'BNVes':'direct','ObuaB':function(_0x1a2581,_0x104bb3){return _0x1a2581(_0x104bb3);},'LCZEk':_0x46af7f(0x1f6),'kstaF':'found','TtwFO':function(_0x308cb3,_0x405938){return _0x308cb3(_0x405938);},'ynDpU':'x-dead-letter-routing-key','FtExM':'inequivalent\x20arg'};try{await _0x41e838['assertExchange'](_0x5686f6[_0x46af7f(0x1e9)],_0x5686f6[_0x46af7f(0x1da)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x5686f6['ObuaB'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x176be5){console[_0x46af7f(0x1e7)]('['+_0x5686f6[_0x46af7f(0x1fe)](formatDate,new Date())+_0x46af7f(0x1fd),_0x176be5[_0x46af7f(0x203)]);throw _0x176be5;}try{await _0x41e838['assertExchange'](EXCHANGE,_0x46af7f(0x1f3),{'durable':!![],'autoDelete':![]}),console[_0x46af7f(0x1e2)]('['+_0x5686f6[_0x46af7f(0x1fe)](formatDate,new Date())+_0x46af7f(0x1f9)+EXCHANGE+_0x46af7f(0x1e8));}catch(_0x477293){console[_0x46af7f(0x1e7)]('['+_0x5686f6[_0x46af7f(0x1fe)](formatDate,new Date())+_0x46af7f(0x1f4)+EXCHANGE+':',_0x477293['message']);throw _0x477293;}const _0xc3796b=ROUTING_KEY+'_retry';try{const _0x570868={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x41e838[_0x46af7f(0x1e6)](_0xc3796b,_0x570868),console['log']('['+formatDate(new Date())+_0x46af7f(0x202)+_0xc3796b+_0x46af7f(0x1e8)),await _0x41e838['bindQueue'](_0xc3796b,_0x46af7f(0x1f0),ROUTING_KEY),console['log']('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x84621b){console['error']('['+_0x5686f6['ObuaB'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x84621b['message']);throw _0x84621b;}try{const _0x106835={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x5686f6['HCBcw'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x3133c5=await _0x41e838[_0x46af7f(0x1e6)](QUEUE,_0x106835);console['log']('['+formatDate(new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x3133c5[_0x46af7f(0x205)]===QUEUE?_0x5686f6[_0x46af7f(0x1fc)]:_0x5686f6[_0x46af7f(0x1e1)])+'\x20with\x20DLX'),await _0x41e838[_0x46af7f(0x1e3)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x5686f6['TtwFO'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x46af7f(0x204)+QUEUE+'\x20('+ROUTING_KEY+_0x46af7f(0x1ec));}catch(_0x2a0bde){if(_0x2a0bde['message']['includes'](_0x46af7f(0x1df))&&_0x2a0bde[_0x46af7f(0x203)]['includes'](_0x5686f6[_0x46af7f(0x1ee)]))console[_0x46af7f(0x1e7)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error']('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console['error']('['+_0x5686f6[_0x46af7f(0x1fe)](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x2a0bde['message']);throw _0x2a0bde;}}}catch(_0x3ff3ff){if(!_0x3ff3ff['message']['includes'](_0x5686f6['FtExM'])){console[_0x46af7f(0x1e7)]('['+formatDate(new Date())+_0x46af7f(0x1db),_0x3ff3ff['message']);throw _0x3ff3ff;}process[_0x46af7f(0x1ef)](0x1);}}async function closeConnection(_0xa501d0){const _0x4617d9=a0_0x5dba8d;if(_0xa501d0)try{await _0xa501d0['close'](),console[_0x4617d9(0x1e2)]('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x22e82e){console[_0x4617d9(0x1e7)]('['+formatDate(new Date())+_0x4617d9(0x1ea)+_0x22e82e[_0x4617d9(0x203)]);}}module[a0_0x5dba8d(0x1eb)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- const a0_0x3f8368=a0_0xa1f5;(function(_0x484ee2,_0x3a9b0a){const _0x989a68=a0_0xa1f5,_0x194392=_0x484ee2();while(!![]){try{const _0x36765e=parseInt(_0x989a68(0x13a))/0x1+parseInt(_0x989a68(0x149))/0x2*(parseInt(_0x989a68(0x136))/0x3)+parseInt(_0x989a68(0x13e))/0x4+-parseInt(_0x989a68(0x14b))/0x5+parseInt(_0x989a68(0x13d))/0x6*(-parseInt(_0x989a68(0x157))/0x7)+parseInt(_0x989a68(0x13c))/0x8+-parseInt(_0x989a68(0x154))/0x9;if(_0x36765e===_0x3a9b0a)break;else _0x194392['push'](_0x194392['shift']());}catch(_0x19f9ff){_0x194392['push'](_0x194392['shift']());}}}(a0_0x2c0c,0x9a111));function a0_0x2c0c(){const _0x8da09d=['y29UBMvJDa','mtiZnJa2yxr6u3PQ','z2v0q2XPzw50','BwvZC2fNzq','mtjsr0nJrfa','uKvesvnFrei','CMvKAxnFAw5PDf9LCNjVCG','Aw5MBW','mZCYnJiXufLkvu5o','lI9SB2DNzxi','ndK1mJe2ogTer1vJAG','mJG4veroEKD4','ndi2nZe5mNjzz0zvCG','D2fYBG','A2H4wgy','uKvesvnFueftu1DpuKq','CMvKAxnFy29UBMvJDgvK','z29vueu','BwLU','zw52','y2XPzw50','zM9Yy2veAxnJB25Uzwn0','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','nJy4nJHWEwHnr1e','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mti4nta5nuHnsKXywa','y2XVC2u','ue9orW','ENb3DgK','CgLUzW','EufmEva','AxndB25Uzwn0zwq','CMvKAxnFzgLZy29UBMvJDgvK','zgLZy29UBMvJDa','ndeWody0nfncruT4yG','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm'];a0_0x2c0c=function(){return _0x8da09d;};return a0_0x2c0c();}function a0_0xa1f5(_0x51e8db,_0x48d0bd){_0x51e8db=_0x51e8db-0x135;const _0x2c0c8a=a0_0x2c0c();let _0xa1f586=_0x2c0c8a[_0x51e8db];if(a0_0xa1f5['xGaRQJ']===undefined){var _0x442ce9=function(_0x326e3c){const _0x288f1a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x336c5='',_0x6fa88e='';for(let _0x224d7f=0x0,_0x58fe07,_0x469cab,_0xc180e9=0x0;_0x469cab=_0x326e3c['charAt'](_0xc180e9++);~_0x469cab&&(_0x58fe07=_0x224d7f%0x4?_0x58fe07*0x40+_0x469cab:_0x469cab,_0x224d7f++%0x4)?_0x336c5+=String['fromCharCode'](0xff&_0x58fe07>>(-0x2*_0x224d7f&0x6)):0x0){_0x469cab=_0x288f1a['indexOf'](_0x469cab);}for(let _0x33b6f8=0x0,_0x13ab2a=_0x336c5['length'];_0x33b6f8<_0x13ab2a;_0x33b6f8++){_0x6fa88e+='%'+('00'+_0x336c5['charCodeAt'](_0x33b6f8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6fa88e);};a0_0xa1f5['jaYzLK']=_0x442ce9,a0_0xa1f5['MMHUNn']={},a0_0xa1f5['xGaRQJ']=!![];}const _0x775e09=_0x2c0c8a[0x0],_0x50412e=_0x51e8db+_0x775e09,_0x31b942=a0_0xa1f5['MMHUNn'][_0x50412e];return!_0x31b942?(_0xa1f586=a0_0xa1f5['jaYzLK'](_0xa1f586),a0_0xa1f5['MMHUNn'][_0x50412e]=_0xa1f586):_0xa1f586=_0x31b942,_0xa1f586;}const Redis=require('ioredis'),{logger}=require(a0_0x3f8368(0x13b));class RedisClient{constructor(){const _0x302902=a0_0x3f8368;this['client']=null,this[_0x302902(0x151)]=![];}['connect'](){const _0x2ffb7f=a0_0x3f8368,_0x3a2806={'SfQKZ':_0x2ffb7f(0x142),'zpwti':_0x2ffb7f(0x14a),'DyUzm':function(_0x26eb73,_0xa1f7ef,_0x1b2969){return _0x26eb73(_0xa1f7ef,_0x1b2969);},'goUPE':function(_0x1765ec,_0x1102f0,_0x35f242){return _0x1765ec(_0x1102f0,_0x35f242);},'khxXf':'error','yALyP':_0x2ffb7f(0x138),'MiJaa':_0x2ffb7f(0x155)};if(this[_0x2ffb7f(0x146)])return this['client'];try{return this[_0x2ffb7f(0x146)]=new Redis({'host':process[_0x2ffb7f(0x145)]['REDIS_HOST']||'localhost','port':_0x3a2806['DyUzm'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x2ffb7f(0x145)][_0x2ffb7f(0x141)]||undefined,'db':_0x3a2806[_0x2ffb7f(0x143)](parseInt,process['env'][_0x2ffb7f(0x137)],0xa)||0x0,'retryStrategy'(_0x1d2d01){const _0x3c0fb6=_0x2ffb7f,_0x4d723b=Math[_0x3c0fb6(0x144)](_0x1d2d01*0x32,0x7d0);return _0x4d723b;}}),this[_0x2ffb7f(0x146)]['on'](_0x2ffb7f(0x156),()=>{const _0x5e6425=_0x2ffb7f;this[_0x5e6425(0x151)]=!![],logger[_0x5e6425(0x139)]({'event':_0x3a2806['SfQKZ']},_0x3a2806[_0x5e6425(0x14e)]);}),this['client']['on'](_0x3a2806[_0x2ffb7f(0x140)],_0x5aea56=>{const _0x1e567c=_0x2ffb7f;this[_0x1e567c(0x151)]=![],logger['error']({'event':'redis_error','error':_0x5aea56[_0x1e567c(0x135)]},_0x1e567c(0x148)+_0x5aea56['message']);}),this[_0x2ffb7f(0x146)]['on'](_0x2ffb7f(0x14c),()=>{const _0x1ca307=_0x2ffb7f;this[_0x1ca307(0x151)]=![],logger[_0x1ca307(0x13f)]({'event':_0x1ca307(0x152)},'Redis\x20connection\x20closed');}),this['client'];}catch(_0x87cff3){logger['error']({'event':_0x3a2806[_0x2ffb7f(0x150)],'error':_0x87cff3[_0x2ffb7f(0x135)]},_0x3a2806['MiJaa']);throw _0x87cff3;}}[a0_0x3f8368(0x158)](){const _0x38921c=a0_0x3f8368;return!this[_0x38921c(0x146)]&&this['connect'](),this['client'];}async['ping'](_0x33c67d=0x1388){const _0x25e432=a0_0x3f8368;try{const _0x1643a1=this[_0x25e432(0x158)](),_0x58ea3e=await Promise['race']([_0x1643a1[_0x25e432(0x14f)](),new Promise((_0x256c1a,_0x14971f)=>setTimeout(()=>_0x14971f(new Error('Redis\x20PING\x20timeout')),_0x33c67d))]);return _0x58ea3e===_0x25e432(0x14d);}catch(_0x30a784){return![];}}async[a0_0x3f8368(0x153)](){const _0x483527=a0_0x3f8368;this['client']&&(await this[_0x483527(0x146)]['quit'](),this[_0x483527(0x146)]=null,this[_0x483527(0x151)]=![]);}[a0_0x3f8368(0x147)](){const _0x5040d1=a0_0x3f8368;this['client']&&(this[_0x5040d1(0x146)]['disconnect'](),this['client']=null,this['isConnected']=![]);}}module['exports']=new RedisClient();
1
+ function a0_0x5bc1(){const _0x13b7cf=['CgLUzW','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','nxDZD0fcwG','mtjIv2HRzwS','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','CMfJzq','y29UBMvJDa','mZCYmJC0merRD0vizq','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','nZyZmdbbB21vvKu','mJKXmJi3otD6AuvhyM4','rgDfAKu','Aw9YzwrPCW','mta5odqWnZDbzvbeA08','CMvKAxnFzxjYB3i','oevfteT0ra','BwvZC2fNzq','m3v2s0rovG','mMDTq2z1Ba','z2v0q2XPzw50','lI9SB2DNzxi','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mZG5odGYnxnNtvzxyG','y2XPzw50','zxjYB3i','whPJshy','zw52','nJqWotuXoePWsNHPtq','y2XVC2u','zM9Yy2veAxnJB25Uzwn0','odGWmde4ww1PEu15','A3nWqKO','zgLZy29UBMvJDa','CMvKAxnFy29UBMvJDgvK'];a0_0x5bc1=function(){return _0x13b7cf;};return a0_0x5bc1();}const a0_0x35fc64=a0_0x53a5;(function(_0x4adc3f,_0x4cac73){const _0x1a6855=a0_0x53a5,_0x4fec6e=_0x4adc3f();while(!![]){try{const _0x5b0b5d=parseInt(_0x1a6855(0xb9))/0x1*(-parseInt(_0x1a6855(0xcf))/0x2)+-parseInt(_0x1a6855(0xce))/0x3*(-parseInt(_0x1a6855(0xc6))/0x4)+parseInt(_0x1a6855(0xbf))/0x5*(parseInt(_0x1a6855(0xb6))/0x6)+-parseInt(_0x1a6855(0xb1))/0x7+parseInt(_0x1a6855(0xcc))/0x8*(-parseInt(_0x1a6855(0xca))/0x9)+-parseInt(_0x1a6855(0xc4))/0xa+parseInt(_0x1a6855(0xc7))/0xb*(parseInt(_0x1a6855(0xc0))/0xc);if(_0x5b0b5d===_0x4cac73)break;else _0x4fec6e['push'](_0x4fec6e['shift']());}catch(_0x357701){_0x4fec6e['push'](_0x4fec6e['shift']());}}}(a0_0x5bc1,0xac26f));function a0_0x53a5(_0x300e6b,_0x33f174){_0x300e6b=_0x300e6b-0xae;const _0x5bc18d=a0_0x5bc1();let _0x53a506=_0x5bc18d[_0x300e6b];if(a0_0x53a5['srKwqC']===undefined){var _0x271054=function(_0x22ec14){const _0xf5ac46='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf7da2b='',_0xca17e3='';for(let _0x25e374=0x0,_0x3abb5c,_0x1401c8,_0xa283d8=0x0;_0x1401c8=_0x22ec14['charAt'](_0xa283d8++);~_0x1401c8&&(_0x3abb5c=_0x25e374%0x4?_0x3abb5c*0x40+_0x1401c8:_0x1401c8,_0x25e374++%0x4)?_0xf7da2b+=String['fromCharCode'](0xff&_0x3abb5c>>(-0x2*_0x25e374&0x6)):0x0){_0x1401c8=_0xf5ac46['indexOf'](_0x1401c8);}for(let _0x1b218e=0x0,_0x47b1fd=_0xf7da2b['length'];_0x1b218e<_0x47b1fd;_0x1b218e++){_0xca17e3+='%'+('00'+_0xf7da2b['charCodeAt'](_0x1b218e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xca17e3);};a0_0x53a5['IfRENz']=_0x271054,a0_0x53a5['SenHma']={},a0_0x53a5['srKwqC']=!![];}const _0xfde5df=_0x5bc18d[0x0],_0x472c89=_0x300e6b+_0xfde5df,_0x263681=a0_0x53a5['SenHma'][_0x472c89];return!_0x263681?(_0x53a506=a0_0x53a5['IfRENz'](_0x53a506),a0_0x53a5['SenHma'][_0x472c89]=_0x53a506):_0x53a506=_0x263681,_0x53a506;}const Redis=require(a0_0x35fc64(0xc9)),{logger}=require(a0_0x35fc64(0xaf));class RedisClient{constructor(){const _0x539dba=a0_0x35fc64;this[_0x539dba(0xb2)]=null,this['isConnected']=![];}[a0_0x35fc64(0xc3)](){const _0x1c223c=a0_0x35fc64,_0x132c65={'gKwLY':function(_0x164083,_0x43a114){return _0x164083*_0x43a114;},'XzcHv':_0x1c223c(0xb0),'GarHa':'redis_disconnected','kspBJ':'localhost','llwOC':function(_0x4e7b06,_0x1b9435,_0x50da86){return _0x4e7b06(_0x1b9435,_0x50da86);},'jPDdB':_0x1c223c(0xb3),'ShcfF':_0x1c223c(0xb7),'YxFtT':'redis_init_error','tQSVA':_0x1c223c(0xc5)};if(this['client'])return this[_0x1c223c(0xb2)];try{return this[_0x1c223c(0xb2)]=new Redis({'host':process[_0x1c223c(0xb5)]['REDIS_HOST']||_0x132c65[_0x1c223c(0xba)],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x132c65['llwOC'](parseInt,process[_0x1c223c(0xb5)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x489e0b){const _0x5bdf64=Math['min'](_0x132c65['gKwLY'](_0x489e0b,0x32),0x7d0);return _0x5bdf64;}}),this[_0x1c223c(0xb2)]['on'](_0x1c223c(0xc3),()=>{const _0x2e6989=_0x1c223c;this['isConnected']=!![],logger['info']({'event':_0x2e6989(0xbc)},_0x132c65[_0x2e6989(0xb4)]);}),this[_0x1c223c(0xb2)]['on'](_0x132c65['jPDdB'],_0x21adce=>{const _0x1ecfcb=_0x1c223c;this['isConnected']=![],logger[_0x1ecfcb(0xb3)]({'event':_0x1ecfcb(0xcb),'error':_0x21adce['message']},_0x1ecfcb(0xbe)+_0x21adce[_0x1ecfcb(0xcd)]);}),this['client']['on'](_0x132c65['ShcfF'],()=>{const _0x432bee=_0x1c223c;this['isConnected']=![],logger['warn']({'event':_0x132c65['GarHa']},_0x432bee(0xc1));}),this['client'];}catch(_0x16d2ab){logger['error']({'event':_0x132c65['YxFtT'],'error':_0x16d2ab['message']},_0x132c65['tQSVA']);throw _0x16d2ab;}}[a0_0x35fc64(0xae)](){const _0x5a8d2a=a0_0x35fc64;return!this[_0x5a8d2a(0xb2)]&&this[_0x5a8d2a(0xc3)](),this[_0x5a8d2a(0xb2)];}async[a0_0x35fc64(0xbd)](_0x178f1a=0x1388){const _0x922dcc=a0_0x35fc64,_0x280c45={'DgEjE':function(_0x5e6714,_0x14ff83){return _0x5e6714===_0x14ff83;}};try{const _0x4ac808=this['getClient'](),_0x17ce74=await Promise[_0x922dcc(0xc2)]([_0x4ac808[_0x922dcc(0xbd)](),new Promise((_0x23379f,_0x1855c9)=>setTimeout(()=>_0x1855c9(new Error('Redis\x20PING\x20timeout')),_0x178f1a))]);return _0x280c45[_0x922dcc(0xc8)](_0x17ce74,'PONG');}catch(_0x2501ae){return![];}}async[a0_0x35fc64(0xbb)](){const _0x24cda2=a0_0x35fc64;this[_0x24cda2(0xb2)]&&(await this['client']['quit'](),this['client']=null,this['isConnected']=![]);}[a0_0x35fc64(0xb8)](){const _0x280acc=a0_0x35fc64;this[_0x280acc(0xb2)]&&(this[_0x280acc(0xb2)][_0x280acc(0xbb)](),this[_0x280acc(0xb2)]=null,this['isConnected']=![]);}}module['exports']=new RedisClient();
@@ -1 +1 @@
1
- const a0_0x279715=a0_0x3331;(function(_0x4080da,_0x21cffc){const _0x5451d0=a0_0x3331,_0x59bcac=_0x4080da();while(!![]){try{const _0x239373=parseInt(_0x5451d0(0x189))/0x1+-parseInt(_0x5451d0(0x185))/0x2*(-parseInt(_0x5451d0(0x180))/0x3)+parseInt(_0x5451d0(0x186))/0x4+parseInt(_0x5451d0(0x18a))/0x5+parseInt(_0x5451d0(0x18c))/0x6+parseInt(_0x5451d0(0x190))/0x7+-parseInt(_0x5451d0(0x17f))/0x8*(parseInt(_0x5451d0(0x17b))/0x9);if(_0x239373===_0x21cffc)break;else _0x59bcac['push'](_0x59bcac['shift']());}catch(_0x5480c0){_0x59bcac['push'](_0x59bcac['shift']());}}}(a0_0x456d,0x6825a));function a0_0x456d(){const _0x10b736=['DxbKyxrLsM9I','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','ntq0nJCZr0LYvhro','mZy3mdu3nvvgCNzRwq','CgfYC2u','mteWnZm5mff1AxnMvW','C2v0sM9I','ChvZAa','z2v0qwXSsM9ICW','mJaWmZuZm3Lksg5fqG','z2v0','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','BwvZC2fNzq','DhrS','zw52','zxHWB3j0CW','uvrms0i','zxjYB3i','x3bYzwzPEa','CMvKAxnFz2v0x2vYCM9Y','mtC3nZvvqxHztMS','CMvKAxnFz2v0ywXSx2vYCM9Y','A2v5CW','z2v0q2XPzw50','mtaWndbxDuTrrNu','nda0n3DjqMXowG','C3rYAw5NAwz5','CMvKAxnFzgvSzxrLx2vYCM9Y','ChjLzML4','zgvSzxrLsM9I','mteWmMXKqM5MAW','mty0otm2mfrXqKjUyG'];a0_0x456d=function(){return _0x10b736;};return a0_0x456d();}const redisClient=require('./redis-client'),{logger}=require('./logger');function a0_0x3331(_0x2f8af4,_0x592513){_0x2f8af4=_0x2f8af4-0x17a;const _0x456dff=a0_0x456d();let _0x333194=_0x456dff[_0x2f8af4];if(a0_0x3331['XNFylE']===undefined){var _0x251a58=function(_0x49ded2){const _0x31e776='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x452951='',_0x3bf16c='';for(let _0x569fae=0x0,_0xd7f185,_0x2b23d6,_0x24a89a=0x0;_0x2b23d6=_0x49ded2['charAt'](_0x24a89a++);~_0x2b23d6&&(_0xd7f185=_0x569fae%0x4?_0xd7f185*0x40+_0x2b23d6:_0x2b23d6,_0x569fae++%0x4)?_0x452951+=String['fromCharCode'](0xff&_0xd7f185>>(-0x2*_0x569fae&0x6)):0x0){_0x2b23d6=_0x31e776['indexOf'](_0x2b23d6);}for(let _0x2d7102=0x0,_0x29a1ab=_0x452951['length'];_0x2d7102<_0x29a1ab;_0x2d7102++){_0x3bf16c+='%'+('00'+_0x452951['charCodeAt'](_0x2d7102)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3bf16c);};a0_0x3331['bwgDxb']=_0x251a58,a0_0x3331['tjwWxq']={},a0_0x3331['XNFylE']=!![];}const _0x27b618=_0x456dff[0x0],_0x5e8aac=_0x2f8af4+_0x27b618,_0x25524f=a0_0x3331['tjwWxq'][_0x5e8aac];return!_0x25524f?(_0x333194=a0_0x3331['bwgDxb'](_0x333194),a0_0x3331['tjwWxq'][_0x5e8aac]=_0x333194):_0x333194=_0x25524f,_0x333194;}class RedisHelper{constructor(){const _0x1fc212=a0_0x3331;this[_0x1fc212(0x199)]=null,this[_0x1fc212(0x194)]=parseInt(process[_0x1fc212(0x195)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x371ead=a0_0x3331;if(!this[_0x371ead(0x199)]){const _0xf3ddb2=process[_0x371ead(0x195)]['RESTFORGE_PROJECT_NAME']||'default';this['_prefix']='restforge:'+_0xf3ddb2+':export:';}return this['_prefix'];}async[a0_0x279715(0x18d)](_0x37d6aa,_0x2c2434){const _0x1c01aa=a0_0x279715,_0x2c7c00={'dLhBE':'redis_set_error','QTLKB':_0x1c01aa(0x192)};try{const _0x5ce3a2=redisClient[_0x1c01aa(0x17e)](),_0x256cdf=''+this[_0x1c01aa(0x183)]+_0x37d6aa;return await _0x5ce3a2['setex'](_0x256cdf,this[_0x1c01aa(0x194)],JSON[_0x1c01aa(0x181)](_0x2c2434)),!![];}catch(_0xcd1506){return logger[_0x1c01aa(0x198)]({'event':_0x2c7c00['dLhBE'],'jobId':_0x37d6aa,'error':_0xcd1506[_0x1c01aa(0x193)]},_0x2c7c00[_0x1c01aa(0x197)]),![];}}async['getJob'](_0xfe2515){const _0x195183=a0_0x279715;try{const _0x31ca95=redisClient[_0x195183(0x17e)](),_0x5ad638=''+this[_0x195183(0x183)]+_0xfe2515,_0x523bf1=await _0x31ca95[_0x195183(0x191)](_0x5ad638);return _0x523bf1?JSON[_0x195183(0x18b)](_0x523bf1):null;}catch(_0x16b389){return logger['error']({'event':_0x195183(0x17a),'jobId':_0xfe2515,'error':_0x16b389[_0x195183(0x193)]},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x279715(0x187)](_0x4c1888,_0x3ea154){const _0x55d553=a0_0x279715,_0x4e02eb=await this['getJob'](_0x4c1888);if(!_0x4e02eb)return![];const _0x5cc8b4={..._0x4e02eb,..._0x3ea154};return await this[_0x55d553(0x18d)](_0x4c1888,_0x5cc8b4);}async[a0_0x279715(0x184)](_0x5f19e5){const _0x4dba63=a0_0x279715,_0x81429a={'fInwx':_0x4dba63(0x182)};try{const _0x15ecf6=redisClient['getClient'](),_0x33fa03=''+this[_0x4dba63(0x183)]+_0x5f19e5;return await _0x15ecf6['del'](_0x33fa03),!![];}catch(_0x73bdaa){return logger['error']({'event':_0x81429a['fInwx'],'jobId':_0x5f19e5,'error':_0x73bdaa['message']},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async[a0_0x279715(0x18f)](){const _0x1e27c9=a0_0x279715,_0x39f2e2={'zsbka':_0x1e27c9(0x17c)};try{const _0x2751f7=redisClient['getClient'](),_0xc7d184=await _0x2751f7[_0x1e27c9(0x17d)](this[_0x1e27c9(0x183)]+'*'),_0x3538bc=[];for(const _0x5b8d8c of _0xc7d184){const _0x451ef2=await _0x2751f7['get'](_0x5b8d8c);_0x451ef2&&_0x3538bc[_0x1e27c9(0x18e)](JSON[_0x1e27c9(0x18b)](_0x451ef2));}return _0x3538bc;}catch(_0x7a7d12){return logger[_0x1e27c9(0x198)]({'event':_0x39f2e2['zsbka'],'error':_0x7a7d12[_0x1e27c9(0x193)]},_0x1e27c9(0x188)),[];}}}module[a0_0x279715(0x196)]=new RedisHelper();
1
+ const a0_0x3d009a=a0_0x339b;(function(_0x445485,_0x3ca4c2){const _0x5b7563=a0_0x339b,_0x1fb32a=_0x445485();while(!![]){try{const _0x102c4b=-parseInt(_0x5b7563(0x13e))/0x1*(-parseInt(_0x5b7563(0x149))/0x2)+parseInt(_0x5b7563(0x142))/0x3+parseInt(_0x5b7563(0x153))/0x4*(-parseInt(_0x5b7563(0x140))/0x5)+parseInt(_0x5b7563(0x154))/0x6+-parseInt(_0x5b7563(0x14f))/0x7+-parseInt(_0x5b7563(0x158))/0x8+parseInt(_0x5b7563(0x14b))/0x9;if(_0x102c4b===_0x3ca4c2)break;else _0x1fb32a['push'](_0x1fb32a['shift']());}catch(_0x5df488){_0x1fb32a['push'](_0x1fb32a['shift']());}}}(a0_0x26c0,0xbe2f5));function a0_0x339b(_0x269ea5,_0x13d3f4){_0x269ea5=_0x269ea5-0x13e;const _0x26c0eb=a0_0x26c0();let _0x339b02=_0x26c0eb[_0x269ea5];if(a0_0x339b['xFMXtq']===undefined){var _0x459f13=function(_0x4de231){const _0x26423f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9b5d67='',_0x56ca3c='';for(let _0x4be443=0x0,_0x568f72,_0x191e56,_0x306e6b=0x0;_0x191e56=_0x4de231['charAt'](_0x306e6b++);~_0x191e56&&(_0x568f72=_0x4be443%0x4?_0x568f72*0x40+_0x191e56:_0x191e56,_0x4be443++%0x4)?_0x9b5d67+=String['fromCharCode'](0xff&_0x568f72>>(-0x2*_0x4be443&0x6)):0x0){_0x191e56=_0x26423f['indexOf'](_0x191e56);}for(let _0x547b64=0x0,_0x5b9f14=_0x9b5d67['length'];_0x547b64<_0x5b9f14;_0x547b64++){_0x56ca3c+='%'+('00'+_0x9b5d67['charCodeAt'](_0x547b64)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56ca3c);};a0_0x339b['lRPysd']=_0x459f13,a0_0x339b['wliiIg']={},a0_0x339b['xFMXtq']=!![];}const _0x33262a=_0x26c0eb[0x0],_0x5331ce=_0x269ea5+_0x33262a,_0x499376=a0_0x339b['wliiIg'][_0x5331ce];return!_0x499376?(_0x339b02=a0_0x339b['lRPysd'](_0x339b02),a0_0x339b['wliiIg'][_0x5331ce]=_0x339b02):_0x339b02=_0x499376,_0x339b02;}const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x332a9b=a0_0x339b;this[_0x332a9b(0x14e)]=null,this[_0x332a9b(0x13f)]=parseInt(process[_0x332a9b(0x148)][_0x332a9b(0x144)],0xa)||0xe10;}get[a0_0x3d009a(0x14d)](){const _0xd54f0d=a0_0x3d009a,_0x22638f={'nSswM':'default'};if(!this['_prefix']){const _0x403fed=process[_0xd54f0d(0x148)][_0xd54f0d(0x14a)]||_0x22638f[_0xd54f0d(0x151)];this['_prefix']='restforge:'+_0x403fed+':export:';}return this[_0xd54f0d(0x14e)];}async['setJob'](_0x2866c2,_0x582794){const _0x107b6f=a0_0x3d009a,_0x3f4f39={'pHmNM':_0x107b6f(0x15c)};try{const _0x430948=redisClient[_0x107b6f(0x15a)](),_0x4c7d75=''+this[_0x107b6f(0x14d)]+_0x2866c2;return await _0x430948['setex'](_0x4c7d75,this['ttl'],JSON[_0x107b6f(0x150)](_0x582794)),!![];}catch(_0x2714d5){return logger['error']({'event':_0x3f4f39[_0x107b6f(0x156)],'jobId':_0x2866c2,'error':_0x2714d5['message']},_0x107b6f(0x145)),![];}}async[a0_0x3d009a(0x159)](_0x2604cc){const _0x46402d=a0_0x3d009a;try{const _0x42a3b7=redisClient['getClient'](),_0x40ea6b=''+this['prefix']+_0x2604cc,_0x37f10f=await _0x42a3b7['get'](_0x40ea6b);return _0x37f10f?JSON[_0x46402d(0x147)](_0x37f10f):null;}catch(_0x256283){return logger['error']({'event':'redis_get_error','jobId':_0x2604cc,'error':_0x256283['message']},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async['updateJob'](_0x5714a8,_0x1937a8){const _0x246833=a0_0x3d009a,_0x46465d=await this['getJob'](_0x5714a8);if(!_0x46465d)return![];const _0x262bc2={..._0x46465d,..._0x1937a8};return await this[_0x246833(0x146)](_0x5714a8,_0x262bc2);}async['deleteJob'](_0x256fd8){const _0x5bca7e=a0_0x3d009a,_0x2c47f5={'cpcat':'redis_delete_error'};try{const _0x59ba2e=redisClient['getClient'](),_0x38315f=''+this['prefix']+_0x256fd8;return await _0x59ba2e['del'](_0x38315f),!![];}catch(_0x4528e5){return logger['error']({'event':_0x2c47f5['cpcat'],'jobId':_0x256fd8,'error':_0x4528e5[_0x5bca7e(0x157)]},_0x5bca7e(0x14c)),![];}}async['getAllJobs'](){const _0x19f0ef=a0_0x3d009a,_0x234c8d={'DLtzE':'redis_getall_error'};try{const _0xd5da4f=redisClient[_0x19f0ef(0x15a)](),_0x3b15f4=await _0xd5da4f['keys'](this[_0x19f0ef(0x14d)]+'*'),_0x541c5b=[];for(const _0x4bc9a4 of _0x3b15f4){const _0x3363f1=await _0xd5da4f[_0x19f0ef(0x152)](_0x4bc9a4);_0x3363f1&&_0x541c5b[_0x19f0ef(0x143)](JSON[_0x19f0ef(0x147)](_0x3363f1));}return _0x541c5b;}catch(_0x1f41ff){return logger['error']({'event':_0x234c8d[_0x19f0ef(0x15b)],'error':_0x1f41ff[_0x19f0ef(0x157)]},_0x19f0ef(0x155)),[];}}}module[a0_0x3d009a(0x141)]=new RedisHelper();function a0_0x26c0(){const _0x555904=['mtbrB0Tqu1G','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mJe0otG3mZjKAMLhvw8','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','ChjLzML4','x3bYzwzPEa','mJe3nJy0m0XQAu9Rsa','C3rYAw5NAwz5','BLnZD00','z2v0','ndmYndC2EMHruMHn','mJGZotq3nNvqqw1QzW','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','CeHTtK0','BwvZC2fNzq','mte0nda0odbSy3vqyKS','z2v0sM9I','z2v0q2XPzw50','reX0EKu','CMvKAxnFC2v0x2vYCM9Y','mtaWoteWyMTutKH2','DhrS','ntvADNHxsMe','zxHWB3j0CW','mtaYodmXm2TdDfjMrq','ChvZAa','rvHqt1jux0zjtevFrvHqsvjz','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','C2v0sM9I','CgfYC2u','zw52'];a0_0x26c0=function(){return _0x555904;};return a0_0x26c0();}