@restforgejs/platform 5.3.9 → 5.3.10

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 (170) 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 +43 -6
  6. package/generators/lib/templates/dashboard-catalog.js +1 -1
  7. package/generators/lib/templates/db-connection-env.js +1 -1
  8. package/generators/lib/templates/dbschema-catalog.js +1 -1
  9. package/generators/lib/templates/field-validation-catalog.js +1 -1
  10. package/generators/lib/templates/mysql-template.js +1 -1
  11. package/generators/lib/templates/oracle-template.js +1 -1
  12. package/generators/lib/templates/postgres-template.js +1 -1
  13. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  14. package/generators/lib/templates/sqlite-template.js +1 -1
  15. package/integrity-manifest.json +18 -18
  16. package/package.json +2 -1
  17. package/scripts/verify-integrity.js +1 -1
  18. package/server.js +1 -1
  19. package/src/components/handlers/adjust_handler.js +1 -1
  20. package/src/components/handlers/audit_handler.js +1 -1
  21. package/src/components/handlers/delete_handler.js +1 -1
  22. package/src/components/handlers/export_handler.js +1 -1
  23. package/src/components/handlers/import_handler.js +1 -1
  24. package/src/components/handlers/insert_handler.js +1 -1
  25. package/src/components/handlers/update_handler.js +1 -1
  26. package/src/components/handlers/upload_handler.js +1 -1
  27. package/src/components/handlers/workflow_handler.js +1 -1
  28. package/src/components/integrations/webhook.js +1 -1
  29. package/src/consumers/baseConsumer.js +1 -1
  30. package/src/consumers/declarativeMapper.js +1 -1
  31. package/src/consumers/handlers/apiHandler.js +1 -1
  32. package/src/consumers/handlers/consoleHandler.js +1 -1
  33. package/src/consumers/handlers/databaseHandler.js +1 -1
  34. package/src/consumers/handlers/index.js +1 -1
  35. package/src/consumers/handlers/kafkaHandler.js +1 -1
  36. package/src/consumers/index.js +1 -1
  37. package/src/consumers/messageTransformer.js +1 -1
  38. package/src/consumers/validator.js +1 -1
  39. package/src/core/db/dialect/base-dialect.js +1 -1
  40. package/src/core/db/dialect/index.js +1 -1
  41. package/src/core/db/dialect/mysql-dialect.js +1 -1
  42. package/src/core/db/dialect/oracle-dialect.js +1 -1
  43. package/src/core/db/dialect/postgres-dialect.js +1 -1
  44. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  45. package/src/core/db/flatten-helper.js +1 -1
  46. package/src/core/db/query-builder-error.js +1 -1
  47. package/src/core/db/query-builder.js +1 -1
  48. package/src/core/db/relation-helper.js +1 -1
  49. package/src/core/handlers/delete_handler.js +1 -1
  50. package/src/core/handlers/insert_handler.js +1 -1
  51. package/src/core/handlers/update_handler.js +1 -1
  52. package/src/core/models/base-model.js +1 -1
  53. package/src/core/utils/cache-manager.js +1 -1
  54. package/src/core/utils/component-engine.js +1 -1
  55. package/src/core/utils/context-builder.js +1 -1
  56. package/src/core/utils/datetime-formatter.js +1 -1
  57. package/src/core/utils/datetime-parser.js +1 -1
  58. package/src/core/utils/db.js +1 -1
  59. package/src/core/utils/logger.js +1 -1
  60. package/src/core/utils/payload-loader.js +1 -1
  61. package/src/core/utils/security-checks.js +1 -1
  62. package/src/middleware/body-options.js +1 -1
  63. package/src/middleware/cors.js +1 -1
  64. package/src/middleware/idempotency.js +1 -1
  65. package/src/middleware/rate-limiter.js +1 -1
  66. package/src/middleware/request-logger.js +1 -1
  67. package/src/middleware/security-headers.js +1 -1
  68. package/src/models/base-model-mysql.js +1 -1
  69. package/src/models/base-model-oracle.js +1 -1
  70. package/src/models/base-model-sqlite.js +1 -1
  71. package/src/models/base-model.js +1 -1
  72. package/src/pro/caching/redis-client.js +1 -1
  73. package/src/pro/caching/redis-helper.js +1 -1
  74. package/src/pro/consumers/baseConsumer.js +1 -1
  75. package/src/pro/consumers/declarativeMapper.js +1 -1
  76. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  77. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  78. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  79. package/src/pro/consumers/handlers/index.js +1 -1
  80. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  81. package/src/pro/consumers/index.js +1 -1
  82. package/src/pro/consumers/messageTransformer.js +1 -1
  83. package/src/pro/consumers/validator.js +1 -1
  84. package/src/pro/database/base-model-mysql.js +1 -1
  85. package/src/pro/database/base-model-oracle.js +1 -1
  86. package/src/pro/database/base-model-sqlite.js +1 -1
  87. package/src/pro/database/db-mysql.js +1 -1
  88. package/src/pro/database/db-oracle.js +1 -1
  89. package/src/pro/database/db-sqlite.js +1 -1
  90. package/src/pro/excel/excel-generator.js +1 -1
  91. package/src/pro/excel/excel-parser.js +1 -1
  92. package/src/pro/excel/export-service.js +1 -1
  93. package/src/pro/excel/export_handler.js +1 -1
  94. package/src/pro/excel/import-service.js +1 -1
  95. package/src/pro/excel/import-validator.js +1 -1
  96. package/src/pro/excel/import_handler.js +1 -1
  97. package/src/pro/excel/upsert-builder.js +1 -1
  98. package/src/pro/idgen/idgen-routes.js +1 -1
  99. package/src/pro/integrations/lookup-resolver.js +1 -1
  100. package/src/pro/integrations/upload-handler-v2.js +1 -1
  101. package/src/pro/integrations/upload-handler.js +1 -1
  102. package/src/pro/integrations/webhook.js +1 -1
  103. package/src/pro/locking/lock-routes.js +1 -1
  104. package/src/pro/locking/resource-lock-manager.js +1 -1
  105. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  106. package/src/pro/messaging/kafkaService.js +1 -1
  107. package/src/pro/messaging/messagehubService.js +1 -1
  108. package/src/pro/messaging/rabbitmqService.js +1 -1
  109. package/src/pro/scheduler/job-manager.js +1 -1
  110. package/src/pro/scheduler/job-routes.js +1 -1
  111. package/src/pro/scheduler/job-validator.js +1 -1
  112. package/src/pro/storage/base-storage-provider.js +1 -1
  113. package/src/pro/storage/file-metadata-helper.js +1 -1
  114. package/src/pro/storage/index.js +1 -1
  115. package/src/pro/storage/local-storage-provider.js +1 -1
  116. package/src/pro/storage/s3-storage-provider.js +1 -1
  117. package/src/pro/storage/upload-cleanup-job.js +1 -1
  118. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  119. package/src/pro/storage/upload-pending-tracker.js +1 -1
  120. package/src/pro/websocket/broadcast-helper.js +1 -1
  121. package/src/pro/websocket/index.js +1 -1
  122. package/src/pro/websocket/livesync-server.js +1 -1
  123. package/src/pro/websocket/ws-broadcaster.js +1 -1
  124. package/src/services/export-service.js +1 -1
  125. package/src/services/import-service.js +1 -1
  126. package/src/services/kafkaConsumerService.js +1 -1
  127. package/src/services/kafkaService.js +1 -1
  128. package/src/services/messagehubService.js +1 -1
  129. package/src/services/rabbitmqService.js +1 -1
  130. package/src/utils/cache-invalidation-registry.js +1 -1
  131. package/src/utils/cache-manager.js +1 -1
  132. package/src/utils/component-engine.js +1 -1
  133. package/src/utils/config-extractor.js +1 -1
  134. package/src/utils/consumerLogger.js +1 -1
  135. package/src/utils/context-builder.js +1 -1
  136. package/src/utils/dashboard-helpers.js +1 -1
  137. package/src/utils/dateHelper.js +1 -1
  138. package/src/utils/datetime-formatter.js +1 -1
  139. package/src/utils/datetime-parser.js +1 -1
  140. package/src/utils/db-bootstrap.js +1 -1
  141. package/src/utils/db-mysql.js +1 -1
  142. package/src/utils/db-oracle.js +1 -1
  143. package/src/utils/db-sqlite.js +1 -1
  144. package/src/utils/db.js +1 -1
  145. package/src/utils/demo-generator.js +1 -1
  146. package/src/utils/excel-generator.js +1 -1
  147. package/src/utils/excel-parser.js +1 -1
  148. package/src/utils/file-watcher.js +1 -1
  149. package/src/utils/id-generator.js +1 -1
  150. package/src/utils/idempotency-manager.js +1 -1
  151. package/src/utils/import-validator.js +1 -1
  152. package/src/utils/license-client.js +1 -1
  153. package/src/utils/lock-manager.js +1 -1
  154. package/src/utils/logger.js +1 -1
  155. package/src/utils/lookup-resolver.js +1 -1
  156. package/src/utils/payload-loader.js +1 -1
  157. package/src/utils/processor-response.js +1 -1
  158. package/src/utils/rabbitmq.js +1 -1
  159. package/src/utils/redis-client.js +1 -1
  160. package/src/utils/redis-helper.js +1 -1
  161. package/src/utils/request-scope.js +1 -1
  162. package/src/utils/security-checks.js +1 -1
  163. package/src/utils/service-resolver.js +1 -1
  164. package/src/utils/shutdown-coordinator.js +1 -1
  165. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  166. package/src/utils/sql-table-extractor.js +1 -1
  167. package/src/utils/trusted-keys.js +1 -1
  168. package/src/utils/upload-handler.js +1 -1
  169. package/src/utils/upsert-builder.js +1 -1
  170. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
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
+ const a0_0x3910e4=a0_0x2dbd;(function(_0x1368d0,_0x5c56f0){const _0x1d80d1=a0_0x2dbd,_0x47180b=_0x1368d0();while(!![]){try{const _0x172054=parseInt(_0x1d80d1(0xb5))/0x1+-parseInt(_0x1d80d1(0x9f))/0x2+-parseInt(_0x1d80d1(0x6c))/0x3+-parseInt(_0x1d80d1(0x6a))/0x4+-parseInt(_0x1d80d1(0xa1))/0x5+parseInt(_0x1d80d1(0x89))/0x6+parseInt(_0x1d80d1(0x7b))/0x7;if(_0x172054===_0x5c56f0)break;else _0x47180b['push'](_0x47180b['shift']());}catch(_0xe6e20f){_0x47180b['push'](_0x47180b['shift']());}}}(a0_0x32a1,0xd0de0));function a0_0x32a1(){const _0x74c37=['CMv0CNK','D3jPDgvFBg9JA19YzwXLyxnLza','ndu0mZqXweDSwhP3','zxHWB3j0CW','BgfZDeLUzgv4t2y','v1jjveuGBg9JAYbYzwXLyxnLza','CMv0CNLezwXHEq','ywnXDwLYzvjLywrmB2nR','zxjYB3i','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','te9ds19esvnuuKLcvvrfrf9uveW','wKjxsM8','x3bYzwzPEa','D3jPDgvFBg9JA193ywL0Aw5N','D2fYBG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','qKzoExi','nhW2Fdj8m3W3Fdv8mxWW','Du5lB2y','ywnXDwLYzvDYAxrLtg9JAW','x3n0CMf0zwD5','vKTZuMS','CMvHzf9SB2nRx3rPBwvVDxq','Aw5JBhvKzxm','C2v0zxG','ndu0nduZnNPIDfL4zG','rLf0DKm','mtm1odGXmufdt0XWrq','x2LUAxrPywXPEMvK','C2XLzxa','C3bSAxq','x3jLDhj5q291BNq','zgvMyxvSDfruta','yNvPBgrmB2nRs2v5','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','wLD6D0G','D29YA2vYlq','x2vUywjSzwq','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMvQzwn0','D29YA2vYswq','mtG2mZyYmZnRBM9bAwi','Cg93','AxnfBMfIBgvK','ywXS','rfLcvNK','D3jPDgu','zgvIDwC','zgvJCG','BM93','wunUyKW','Aw5MBW','z2v0','CMvHza','z2v0q2XPzw50','mtyWmdKYnNjvqM5yzq','uenADey','CMvHzf9SB2nRx2fJCxvPCMvK','tfnltee','z2vUzxjHDgvmB2nRvMfSDwu','zxH0zw5Ktg9JAW','CMv0CNLdB3vUDa','C3rYyxrLz3K','Bg9JA19LEhrLBMrFzxjYB3i','BwvZC2fNzq','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','x2LUAxrdB25MAwC','C2v0','x3DVCMTLCKLK','Evfhufu','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','oNjLywq6','te9ds19esvnuuKLcvvrfrf9ftKfcteve','x2rLzMf1BhruveW','zw52','te9ds19esvnuuKLcvvrfrf9srvrswq','u1vxzKW','mtG0mtuZoeTOrenlua','zxzHBa','ota2mdvwuxLgChe','AKzrAw4','zgvS','D3jPDgvFBg9JA190Aw1LB3v0','C3vIC3rYAw5N','D3jPDgvFBg9JA19Hy3f1AxjLza','Agn0ufq','lcbZDhjHDgvNEtOG','zwjUwLO','mNW2FdD8ohW1Fdb8m3WXFdq','zw5HyMXLza','BNHjDvm','Bg9JA19JB25MAwDFAw5PDa','x2vUC3vYzuLUAxrPywXPEMvK','x3jLDhj5rgvSyxK','sKjnEuu','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica'];a0_0x32a1=function(){return _0x74c37;};return a0_0x32a1();}function a0_0x2dbd(_0x22bac3,_0x390e11){_0x22bac3=_0x22bac3-0x69;const _0x32a129=a0_0x32a1();let _0x2dbd10=_0x32a129[_0x22bac3];if(a0_0x2dbd['zamCgB']===undefined){var _0x522fae=function(_0x2a3eae){const _0x37bd02='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcad92b='',_0x31dc51='';for(let _0x13370b=0x0,_0x57cb8a,_0x7ff639,_0x4b46c7=0x0;_0x7ff639=_0x2a3eae['charAt'](_0x4b46c7++);~_0x7ff639&&(_0x57cb8a=_0x13370b%0x4?_0x57cb8a*0x40+_0x7ff639:_0x7ff639,_0x13370b++%0x4)?_0xcad92b+=String['fromCharCode'](0xff&_0x57cb8a>>(-0x2*_0x13370b&0x6)):0x0){_0x7ff639=_0x37bd02['indexOf'](_0x7ff639);}for(let _0x4bf172=0x0,_0x48af0d=_0xcad92b['length'];_0x4bf172<_0x48af0d;_0x4bf172++){_0x31dc51+='%'+('00'+_0xcad92b['charCodeAt'](_0x4bf172)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31dc51);};a0_0x2dbd['OFqozt']=_0x522fae,a0_0x2dbd['ghFbHi']={},a0_0x2dbd['zamCgB']=!![];}const _0x36506d=_0x32a129[0x0],_0x1b9da2=_0x22bac3+_0x36506d,_0x5ae1b8=a0_0x2dbd['ghFbHi'][_0x1b9da2];return!_0x5ae1b8?(_0x2dbd10=a0_0x2dbd['OFqozt'](_0x2dbd10),a0_0x2dbd['ghFbHi'][_0x1b9da2]=_0x2dbd10):_0x2dbd10=_0x5ae1b8,_0x2dbd10;}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x57a09e=a0_0x2dbd,_0x57b4f2=_0x57a09e(0xc5)[_0x57a09e(0x6f)]('|');let _0x1daad3=0x0;while(!![]){switch(_0x57b4f2[_0x1daad3++]){case'0':this[_0x57a09e(0x6d)]=![];continue;case'1':this[_0x57a09e(0x96)]=null;continue;case'2':this['_defaultTTL']=null;continue;case'3':this['_retryCount']=null;continue;case'4':this['_prefix']=null;continue;case'5':this[_0x57a09e(0xc8)]=null;continue;case'6':this['_enabled']=null;continue;case'7':this[_0x57a09e(0xaf)]=null;continue;}break;}}['_initConfig'](){const _0x38d6b9=a0_0x2dbd,_0x4866bd={'YPLJd':_0x38d6b9(0xad),'JBMyE':function(_0x430b49,_0x2fc5ad,_0x14319d){return _0x430b49(_0x2fc5ad,_0x14319d);},'fYuDM':function(_0x2f1196,_0xa3771b){return _0x2f1196===_0xa3771b;}},_0x4343f9=_0x38d6b9(0xaa)['split']('|');let _0x3d4d7c=0x0;while(!![]){switch(_0x4343f9[_0x3d4d7c++]){case'0':this[_0x38d6b9(0xc8)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x38d6b9(0xb3);continue;case'1':this['_initialized']=!![];continue;case'2':this['_prefix']='rf:lock:';continue;case'3':this[_0x38d6b9(0x96)]=_0x38d6b9(0x75)+process['pid'];continue;case'4':logger[_0x38d6b9(0x85)]({'event':_0x4866bd['YPLJd'],'enabled':this[_0x38d6b9(0x76)],'strategy':this[_0x38d6b9(0xc8)],'ttl':this[_0x38d6b9(0x9b)],'retryCount':this[_0x38d6b9(0x70)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x38d6b9(0x73)+this[_0x38d6b9(0x76)]+_0x38d6b9(0xa8)+this[_0x38d6b9(0xc8)]);continue;case'5':this[_0x38d6b9(0xaf)]=_0x4866bd[_0x38d6b9(0xb0)](parseInt,process[_0x38d6b9(0x9c)][_0x38d6b9(0xb1)],0xa)||0x64;continue;case'6':this[_0x38d6b9(0x76)]=_0x4866bd['fYuDM'](process['env'][_0x38d6b9(0x9a)],'true');continue;case'7':this[_0x38d6b9(0x9b)]=parseInt(process[_0x38d6b9(0x9c)][_0x38d6b9(0xbd)],0xa)||0xa;continue;case'8':this['_retryCount']=parseInt(process['env'][_0x38d6b9(0x9d)],0xa)||0x3;continue;}break;}}['_ensureInitialized'](){const _0x20e678=a0_0x2dbd;!this['_initialized']&&this[_0x20e678(0x94)]();}get['prefix'](){const _0x4e89b7=a0_0x2dbd;return this['_ensureInitialized'](),this[_0x4e89b7(0xbf)];}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x3910e4(0x71)](){const _0x56b559=a0_0x3910e4;return this['_ensureInitialized'](),this[_0x56b559(0x9b)];}get['retryCount'](){const _0x3affe0=a0_0x3910e4;return this[_0x3affe0(0xae)](),this['_retryCount'];}get[a0_0x3910e4(0xb9)](){const _0x1cc6e0=a0_0x3910e4;return this[_0x1cc6e0(0xae)](),this['_retryDelay'];}get[a0_0x3910e4(0x90)](){const _0x4fe41e=a0_0x3910e4;return this[_0x4fe41e(0xae)](),this['_strategy'];}get[a0_0x3910e4(0x7a)](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x2a4d7b){const {module:_0x3adc58,endpoint:_0x390adc,lockType:_0x1ea230,recordId:_0x537df4}=_0x2a4d7b;if(_0x537df4)return''+this['prefix']+_0x3adc58+':'+_0x390adc+':'+_0x537df4+':'+_0x1ea230;return''+this['prefix']+_0x3adc58+':'+_0x390adc+':'+_0x1ea230;}['generateLockValue'](){const _0x5bae09=a0_0x3910e4;return this[_0x5bae09(0x7a)]+':'+uuidv4()+':'+Date[_0x5bae09(0x83)]();}async[a0_0x3910e4(0xba)](_0xbd76ac){const _0x37d1b3=a0_0x3910e4,_0x7a2d8f={'PCZtF':'read','cXryx':_0x37d1b3(0x8b),'Youau':'READ\x20lock\x20acquired','lCTjc':'read_lock_waiting','WSLko':_0x37d1b3(0xca),'sZlTe':'READ\x20lock\x20error'};if(!this[_0x37d1b3(0xab)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x37f32e=this['buildLockKey']({..._0xbd76ac,'lockType':'write'}),_0x55ce74=this[_0x37d1b3(0x72)]({..._0xbd76ac,'lockType':_0x7a2d8f[_0x37d1b3(0x8a)]}),_0x3f7561=this[_0x37d1b3(0x8d)]();try{const _0x2c8731=redisClient[_0x37d1b3(0x88)]();for(let _0x4d8ce5=0x0;_0x4d8ce5<this['retryCount'];_0x4d8ce5++){const _0x25b1e6=await _0x2c8731['get'](_0x37f32e);if(!_0x25b1e6){await _0x2c8731['incr'](_0x55ce74),await _0x2c8731['expire'](_0x55ce74,this[_0x37d1b3(0x71)]);const _0x2e2c46=_0x55ce74+':'+_0x3f7561;return await _0x2c8731[_0x37d1b3(0x69)](_0x2e2c46,this['defaultTTL'],_0x3f7561),logger['debug']({'event':_0x7a2d8f['cXryx'],'key':_0x55ce74,'value':_0x3f7561},_0x7a2d8f['Youau']),{'success':!![],'lockValue':_0x3f7561,'lockKey':_0x2e2c46};}logger[_0x37d1b3(0x81)]({'event':_0x7a2d8f['lCTjc'],'writeKey':_0x37f32e,'attempt':_0x4d8ce5},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this[_0x37d1b3(0x6e)](this[_0x37d1b3(0xb9)]*Math[_0x37d1b3(0x7c)](0x2,_0x4d8ce5));}return logger[_0x37d1b3(0xc1)]({'event':_0x7a2d8f['WSLko'],'key':_0x55ce74},_0x37d1b3(0xc3)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4b742e){return logger[_0x37d1b3(0xbb)]({'event':'read_lock_error','error':_0x4b742e[_0x37d1b3(0x92)]},_0x7a2d8f['sZlTe']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x3910e4(0xc7)](_0x424891){const _0x554601=a0_0x3910e4,_0xd99529={'nxIuS':function(_0x132823,_0x7643ac){return _0x132823===_0x7643ac;},'ZBWJo':function(_0x277b54,_0x294869){return _0x277b54===_0x294869;},'DYBVy':'reject','YCnbL':_0x554601(0xc2),'FxrVs':_0x554601(0x77),'jFQin':function(_0x275fb9,_0x12e2d1){return _0x275fb9<_0x12e2d1;},'BFNyr':_0x554601(0xa6),'ebnZZ':'Waiting\x20for\x20locks\x20to\x20release','SUWfL':_0x554601(0xa4),'ZWzwH':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x4d87c3=this[_0x554601(0x72)]({..._0x424891,'lockType':'write'}),_0x55f7a0=this['buildLockKey']({..._0x424891,'lockType':_0x554601(0x87)}),_0x54fe9f=this[_0x554601(0x8d)]();try{const _0x1cc1e9=redisClient[_0x554601(0x88)]();if(_0xd99529[_0x554601(0xac)](this[_0x554601(0x90)],_0x554601(0x79))){const _0x1a6123=await _0x1cc1e9[_0x554601(0x95)](_0x4d87c3,_0x54fe9f,'EX',this[_0x554601(0x71)],'NX');if(_0xd99529[_0x554601(0xbe)](_0x1a6123,'OK'))return logger[_0x554601(0x81)]({'event':'write_lock_acquired','key':_0x4d87c3,'value':_0x54fe9f,'strategy':_0xd99529[_0x554601(0x7f)]},_0xd99529[_0x554601(0x84)]),{'success':!![],'lockValue':_0x54fe9f,'lockKey':_0x4d87c3};return logger['debug']({'event':'write_lock_rejected','key':_0x4d87c3},_0xd99529['FxrVs']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x335e8d=0x0;_0xd99529[_0x554601(0xa2)](_0x335e8d,this[_0x554601(0x8f)]);_0x335e8d++){const [_0x29a9e6,_0x4d0d12]=await Promise[_0x554601(0x7e)]([_0x1cc1e9[_0x554601(0x86)](_0x55f7a0),_0x1cc1e9['get'](_0x4d87c3)]);if(!_0x4d0d12&&(!_0x29a9e6||_0xd99529['nxIuS'](parseInt(_0x29a9e6),0x0))){const _0x37bfcf=await _0x1cc1e9['set'](_0x4d87c3,_0x54fe9f,'EX',this[_0x554601(0x71)],'NX');if(_0xd99529['ZBWJo'](_0x37bfcf,'OK'))return logger['debug']({'event':_0xd99529[_0x554601(0xc4)],'key':_0x4d87c3,'value':_0x54fe9f,'strategy':'retry'},_0x554601(0xbc)),{'success':!![],'lockValue':_0x54fe9f,'lockKey':_0x4d87c3};}logger['debug']({'event':_0x554601(0xc0),'writeKey':_0x4d87c3,'readCount':_0x29a9e6,'attempt':_0x335e8d},_0xd99529[_0x554601(0xa9)]),await this[_0x554601(0x6e)](this[_0x554601(0xb9)]*Math[_0x554601(0x7c)](0x2,_0x335e8d));}return logger[_0x554601(0xc1)]({'event':_0xd99529[_0x554601(0x9e)],'key':_0x4d87c3},_0x554601(0x93)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x1af865){return logger[_0x554601(0xbb)]({'event':_0xd99529[_0x554601(0x74)],'error':_0x1af865[_0x554601(0x92)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x2d091d,_0xafdec6){const _0xceb7c4=a0_0x3910e4,_0x4a8476={'hctPT':function(_0x4de8ca,_0x152d5a){return _0x4de8ca>_0x152d5a;},'yQGPU':'read_lock_released','TFszA':_0xceb7c4(0xb4),'LSKLA':_0xceb7c4(0xb8),'iMZow':_0xceb7c4(0x98)};if(!this['enabled']||!_0x2d091d)return!![];try{const _0x19f436=redisClient['getClient']();if(_0x2d091d[_0xceb7c4(0xcb)](_0xceb7c4(0x99))){await _0x19f436[_0xceb7c4(0xa3)](_0x2d091d);const _0x252714=_0x2d091d[_0xceb7c4(0xa5)](0x0,_0x2d091d[_0xceb7c4(0xb7)](':')),_0x398953=await _0x19f436[_0xceb7c4(0x86)](_0x252714);return _0x398953&&_0x4a8476[_0xceb7c4(0xa7)](parseInt(_0x398953),0x0)&&await _0x19f436[_0xceb7c4(0x82)](_0x252714),logger['debug']({'event':_0x4a8476[_0xceb7c4(0x97)],'key':_0x2d091d},'READ\x20lock\x20released'),!![];}const _0x122a6c=_0xceb7c4(0x78),_0x5852d1=await _0x19f436[_0xceb7c4(0xa0)](_0x122a6c,0x1,_0x2d091d,_0xafdec6);if(_0x5852d1===0x1)return logger[_0xceb7c4(0x81)]({'event':_0x4a8476['TFszA'],'key':_0x2d091d},_0x4a8476[_0xceb7c4(0x8c)]),!![];return logger['warn']({'event':_0x4a8476['iMZow'],'key':_0x2d091d},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x46418e){return logger['error']({'event':'lock_release_error','key':_0x2d091d,'error':_0x46418e[_0xceb7c4(0x92)]},'Lock\x20release\x20error'),![];}}async[a0_0x3910e4(0x8e)](_0x11b074,_0x3bf95e,_0x278122=null){const _0x1103c5=a0_0x3910e4,_0x4d9ab5={'XHidi':function(_0x2dae3d,_0x1a339c){return _0x2dae3d===_0x1a339c;},'FQtvC':'Lock\x20TTL\x20extended','uNKof':_0x1103c5(0x91),'VKsRk':'Lock\x20extend\x20error'};if(!this[_0x1103c5(0xab)]||!_0x11b074)return!![];try{const _0x3f478a=redisClient[_0x1103c5(0x88)](),_0x2dfbdf=_0x1103c5(0xb2),_0x3260ed=await _0x3f478a['eval'](_0x2dfbdf,0x1,_0x11b074,_0x3bf95e,_0x278122||this['defaultTTL']);if(_0x4d9ab5['XHidi'](_0x3260ed,0x1))return logger[_0x1103c5(0x81)]({'event':'lock_extended','key':_0x11b074,'ttl':_0x278122||this[_0x1103c5(0x71)]},_0x4d9ab5[_0x1103c5(0x6b)]),!![];return![];}catch(_0xeed5b9){return logger['error']({'event':_0x4d9ab5[_0x1103c5(0xc6)],'key':_0x11b074,'error':_0xeed5b9[_0x1103c5(0x92)]},_0x4d9ab5[_0x1103c5(0xc9)]),![];}}[a0_0x3910e4(0x7d)](){const _0x4b7d75=a0_0x3910e4;return this[_0x4b7d75(0xab)];}['sleep'](_0x2fc44d){return new Promise(_0x4b1a58=>setTimeout(_0x4b1a58,_0x2fc44d));}async['getLockInfo'](_0xdc2d8){const _0xf2b8da=a0_0x3910e4,_0x3463f5={'gmalu':_0xf2b8da(0x80),'WprzP':function(_0x3af339,_0xf34abd){return _0x3af339||_0xf34abd;}};if(!this['enabled'])return{'enabled':![]};try{const _0x595fa4=redisClient['getClient'](),_0x4188d6=this[_0xf2b8da(0x72)]({..._0xdc2d8,'lockType':_0x3463f5['gmalu']}),_0x4d7e89=this[_0xf2b8da(0x72)]({..._0xdc2d8,'lockType':'read'}),[_0x38dfe8,_0x37129e]=await Promise['all']([_0x595fa4[_0xf2b8da(0x86)](_0x4188d6),_0x595fa4[_0xf2b8da(0x86)](_0x4d7e89)]);return{'enabled':!![],'writeLock':_0x3463f5['WprzP'](_0x38dfe8,null),'readCount':parseInt(_0x37129e)||0x0,'writeKey':_0x4188d6,'readKey':_0x4d7e89};}catch(_0x53b0eb){return{'enabled':!![],'error':_0x53b0eb[_0xf2b8da(0x92)]};}}}module[a0_0x3910e4(0xb6)]=new LockManager();
@@ -1 +1 @@
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
+ const a0_0x34da1d=a0_0x3bbe;(function(_0x40402d,_0x25d3cc){const _0x111b8b=a0_0x3bbe,_0x15e7e8=_0x40402d();while(!![]){try{const _0x3ce0f3=parseInt(_0x111b8b(0x1ec))/0x1+parseInt(_0x111b8b(0x280))/0x2+-parseInt(_0x111b8b(0x230))/0x3*(parseInt(_0x111b8b(0x1eb))/0x4)+parseInt(_0x111b8b(0x263))/0x5*(-parseInt(_0x111b8b(0x26a))/0x6)+-parseInt(_0x111b8b(0x262))/0x7*(-parseInt(_0x111b8b(0x23b))/0x8)+parseInt(_0x111b8b(0x1f5))/0x9+-parseInt(_0x111b8b(0x23a))/0xa*(parseInt(_0x111b8b(0x27a))/0xb);if(_0x3ce0f3===_0x25d3cc)break;else _0x15e7e8['push'](_0x15e7e8['shift']());}catch(_0x389d28){_0x15e7e8['push'](_0x15e7e8['shift']());}}}(a0_0x36bb,0x1f9e3));const pino=require(a0_0x34da1d(0x1fd)),fs=require('fs'),path=require('path');function a0_0x36bb(){const _0x5c2f7c=['EMPTDMS','Aw5MBW','u1fmx0Xpr19mrvzfta','C29Tzq','ms4WlJu','vfjbtLnbq1rjt05Fq09ntuLu','C2vJCMv0','yxbPs2v5','tK9erv9ftLy','yxbPA2v5','B3jPz2LUywXvCMW','yxbPx2TLEq','AM9PBG','u1fmx0Xpr19qqvjbtvm','oI8V','Bwf0y2G','q1jfqvrf','icbizwfSDgG6ia','Dg9ju09tDhjPBMC','BgvUz3rO','AhPTsve','zMfSC2u','B3fdB2m','zwLesgC','CMvWBgfJzq','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','B3rW','C3rYAw5NAwz5','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','BMfTzq','s0LHA2e','Axr0qwC','mtuWnMr4quXksq','CePhwuC','s0XOruW','EKzeufe','sxnvvLq','te9hx1rpx0zjteu','C3rHDhvZ','BxmP','zgDbqLe','Aw5JBhvKzxm','mtiZmhLrq01MEG','ofbvwLDODa','Dw5RBM93BG','BwvTB3j5vxnHz2u','vxLKqK8','y3jLzgvUDgLHBa','txvlBxG','su5trvju','Bw55Afu','CgfKrw5K','rxjYB3i','zhvYyxrPB25nCW','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','C3fSx3f1zxj5','s0Pxsfu','zxjYB3i','zgLAvu8','tI9b','uefuCe0','y3z2','Ahr0Cf9LCNjVCG','w1jfrefdvevexq','zxjYB3iUBg9N','tK9uiefdveLwrq','Bg9N','rMTevMS','y29Kzq','y3DK','DLn0weK','D2fYBMLUzW','u1fmx0Xpr19tte9xx1riuKvtse9mra','zgvIDwC','icbjBMzVoIaGia','sLDux1nfq1jfva','rwzLrhG','ChDK','q09ntuLu','DhjPBq','iokvKqRILzeGifbVCNqGicaGicaGidOG','icbvuKW6icaGia','mtm2nJy4n01wqMr0rW','mJq3nZvKtM9Nz1a','u1rbuLqGvfjbtLnbq1rjt04','C3rHCNrZv2L0Aa','AfjNzu8','yxbWlMXVzW','vvbeqvrf','wNDXAg8','mtm4DxjNt1HJ','u0vmrunu','DNvIrxe','Cg9ZDgDYzxnXBa','C3bSAxq','yM9KEq','Eevzyvi','rermx0fmvevs','BxbQwfO','rejFueftu1DpuKq','Bwv0Ag9K','CgfZC3DVCMq','zgjFDhjHBNnHy3rPB24','u1LtoKHioK1noNnZ','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','yNnkzKm','mJKZntLpAK5RChO','rxjYB3i6ia','wwzQwuW','CgfYyw1Z','zgf0ywjHC2vFy29UzMLN','EfnSAKq','mta4mdG0C1b2Cxrn','zxHPDa','AhrbteW','E21Zz30','AxnbCNjHEq','zw52','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','BwvZC2fNzq','AgvHBhrOq2HLy2S','yxv0Ag9YAxPHDgLVBG','qvbqx1zfuLnjt04','yMfZzvvYBa','w09lxsbqCM9Qzwn0igXVywrLzdOG','u0vsvKLdrv9oqu1f','qKf6u0e','iokvKqRILzeGienVBMzPzYaGicaGidOG','Ec1Yzxf1zxn0lwLK','BhHSwuO','C3rHDhvZq29Kzq','zhznB0m','Cg9YDa','C2vYDMvYx3n0yxj0Aw5N','iokvKqRILzeGiefqssblzxKGicaGidOG','CgLU','rermx0nsrufurq','vvn2u2i','ywnJzxnZx3rVA2vU','zwjAt3q','CMvWzwf0','ig9UihbVCNqG','reiGuxvLCNK','z2v0sgvHzgvYCW','Ag9ZDa','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','D1PkEMG','B1nIuwS','wejwuuS','uwDZDKq','Dg9Rzw4','tM9Kzs5QCW','icdIHPiG','sK15C0y','BwfW','Dg9mB3DLCKnHC2u','y3jLzgvUDgLHBhm','ChjPDMf0zv9RzxK','CKL3zLy','AxnVvgLTzq','q1jjveLdquW','mtCYrxr5v3Ll','mJeWnZeZrwXJD1LN','Devvvge','y3vPDuK','AKLwrwm','C3rYAw5N','EgjWwLC','Ahj0Aw1L','Cgf0Aa','CgLUBY1WCMv0DhK','mtiWmde0mufurxbNEq','te9hx0XfvKvm','BwTKAxjtEw5J','zgf0ywjHC2u','DhLWzq','ChjPDMf0zwTLEq','A2v5CW','CK9uCeC','CgLUBW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','Dw5Oyw5KBgvKuMvQzwn0Aw9U','D2fYBG','y3jLyxrLv3jPDgvtDhjLyw0','tg9NwNG','u2vYDMvYihn0yxj0Aw5NoIa','CMvMCMvZAf90B2TLBG','C2vYDMLJzuLUzM8','C3rHy2S','vfjbtLnbq1rjt05FuK9mtejbq0S','y3jLzgL0x2nHCMq','vu5ltK9xtG','ANnVBG','CeDXEwe','z2v0','B2jQzwn0','CMvTB3rLqwrKCMvZCW','Bw9KDwXL'];a0_0x36bb=function(){return _0x5c2f7c;};return a0_0x36bb();}function a0_0x3bbe(_0x32aa58,_0x179359){_0x32aa58=_0x32aa58-0x1be;const _0x36bba1=a0_0x36bb();let _0x3bbe84=_0x36bba1[_0x32aa58];if(a0_0x3bbe['IRMlkQ']===undefined){var _0x374455=function(_0x428c68){const _0x1719dc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa31584='',_0xcddbe3='';for(let _0x312232=0x0,_0x458886,_0x1d4a8d,_0x2f1abd=0x0;_0x1d4a8d=_0x428c68['charAt'](_0x2f1abd++);~_0x1d4a8d&&(_0x458886=_0x312232%0x4?_0x458886*0x40+_0x1d4a8d:_0x1d4a8d,_0x312232++%0x4)?_0xa31584+=String['fromCharCode'](0xff&_0x458886>>(-0x2*_0x312232&0x6)):0x0){_0x1d4a8d=_0x1719dc['indexOf'](_0x1d4a8d);}for(let _0x4f716d=0x0,_0xa4d1e7=_0xa31584['length'];_0x4f716d<_0xa4d1e7;_0x4f716d++){_0xcddbe3+='%'+('00'+_0xa31584['charCodeAt'](_0x4f716d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xcddbe3);};a0_0x3bbe['qgTAMQ']=_0x374455,a0_0x3bbe['UhUMUl']={},a0_0x3bbe['IRMlkQ']=!![];}const _0x327182=_0x36bba1[0x0],_0x2f86fc=_0x32aa58+_0x327182,_0x17dc57=a0_0x3bbe['UhUMUl'][_0x2f86fc];return!_0x17dc57?(_0x3bbe84=a0_0x3bbe['qgTAMQ'](_0x3bbe84),a0_0x3bbe['UhUMUl'][_0x2f86fc]=_0x3bbe84):_0x3bbe84=_0x17dc57,_0x3bbe84;}let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x34da1d(0x259),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x34da1d(0x277),'ignore':a0_0x34da1d(0x22c),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x34da1d(0x283),'customColors':a0_0x34da1d(0x278),'hideObject':!![]},isDevelopment=process[a0_0x34da1d(0x1bf)]['NODE_ENV']!=='production',logLevel=process['env'][a0_0x34da1d(0x1f6)]||a0_0x34da1d(0x211);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x34da1d(0x1f4),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x34da1d(0x1bf)][a0_0x34da1d(0x1c4)]||a0_0x34da1d(0x214),'env':process[a0_0x34da1d(0x1bf)][a0_0x34da1d(0x218)]||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x34da1d(0x1e9)],'redact':{'paths':[a0_0x34da1d(0x246),'req.headers[\x22x-api-key\x22]',a0_0x34da1d(0x275),'token',a0_0x34da1d(0x217),a0_0x34da1d(0x273),a0_0x34da1d(0x25b)],'censor':a0_0x34da1d(0x24f)},'serializers':{'req':_0x2eaa09=>({'id':_0x2eaa09['id'],'method':_0x2eaa09[a0_0x34da1d(0x274)],'url':_0x2eaa09['url'],'path':_0x2eaa09[a0_0x34da1d(0x1f3)],'remoteAddress':_0x2eaa09['ip']||_0x2eaa09['connection']?.[a0_0x34da1d(0x20e)]}),'res':_0x743c52=>({'statusCode':_0x743c52['statusCode'],'headers':_0x743c52[a0_0x34da1d(0x1d9)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x4bddee=a0_0x34da1d,_0x4bb7b2={'Zwqho':function(_0x48d2b0,_0x292fdd){return _0x48d2b0===_0x292fdd;},'jIVEc':'true','dlOEn':function(_0x4e0daf,_0x198bed){return _0x4e0daf!==_0x198bed;},'fGhGX':_0x4bddee(0x225),'GgyHb':function(_0x3c28b9,_0x4fd6b8){return _0x3c28b9(_0x4fd6b8);},'YfjYL':_0x4bddee(0x267),'KJWHU':function(_0x52348c,_0x2e6727,_0x2980d7){return _0x52348c(_0x2e6727,_0x2980d7);},'eiDHg':_0x4bddee(0x211)};if(fileLoggingInitialized)return;logToFile=_0x4bb7b2[_0x4bddee(0x269)](process['env'][_0x4bddee(0x235)],_0x4bb7b2[_0x4bddee(0x1ef)]);const _0x5db37c=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env']['LOG_DIR']||'./logs/'+_0x5db37c,serviceName=process[_0x4bddee(0x1bf)][_0x4bddee(0x1c7)]||'restforge',sqlLogEnabled=_0x4bb7b2[_0x4bddee(0x269)](process[_0x4bddee(0x1bf)]['SQL_LOG_ENABLED'],_0x4bb7b2['jIVEc']),sqlLogLevel=process[_0x4bddee(0x1bf)][_0x4bddee(0x212)]||_0x4bddee(0x259),sqlLogParams=_0x4bb7b2['dlOEn'](process[_0x4bddee(0x1bf)][_0x4bddee(0x21d)],_0x4bb7b2['fGhGX']),sqlLogSlowThreshold=_0x4bb7b2['GgyHb'](parseInt,process[_0x4bddee(0x1bf)][_0x4bddee(0x258)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x3a4d7f=path['resolve'](process[_0x4bddee(0x255)](),logDir);try{!fs['existsSync'](_0x3a4d7f)&&fs[_0x4bddee(0x1f7)](_0x3a4d7f,{'recursive':!![]});}catch(_0x4c5328){console[_0x4bddee(0x249)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x3a4d7f+':',_0x4c5328['message']),fileLoggingInitialized=!![];return;}const _0x14a5e2=path['join'](_0x3a4d7f,'app.log'),_0x4d6ea2=path[_0x4bddee(0x21c)](_0x3a4d7f,_0x4bddee(0x250));try{appLogStream=fs[_0x4bddee(0x201)](_0x14a5e2,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x4d6ea2,{'flags':'a'}),fileLoggingInitialized=!![];const _0xa9cc1f={'event':'file_logging_enabled','logDir':_0x3a4d7f,'files':[_0x4bb7b2[_0x4bddee(0x27c)],'error.log']},_0x10fe55='File\x20logging\x20enabled:\x20'+_0x3a4d7f;logger['info'](_0xa9cc1f,_0x10fe55),_0x4bb7b2[_0x4bddee(0x248)](writeToFileLog,{..._0xa9cc1f,'level':_0x4bb7b2[_0x4bddee(0x227)],'msg':_0x10fe55,'time':new Date()['toISOString']()},_0x4bb7b2['eiDHg']);}catch(_0x2f6347){console['error'](_0x4bddee(0x1c0),_0x2f6347[_0x4bddee(0x1c1)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x3f8bad,_0x4de0e9){const _0x2a9419=a0_0x34da1d,_0x1be793={'hRgeO':function(_0x3e8bfc,_0x5c6dd4){return _0x3e8bfc||_0x5c6dd4;},'XEfqk':function(_0x2a7215,_0x5e1c71){return _0x2a7215===_0x5e1c71;}};if(_0x1be793[_0x2a9419(0x266)](!logToFile,!appLogStream))return;const _0x286b56={'service':serviceName,..._0x3f8bad},_0x218119=JSON[_0x2a9419(0x22b)](_0x286b56)+'\x0a';appLogStream['write'](_0x218119),(_0x1be793['XEfqk'](_0x4de0e9,'error')||_0x4de0e9==='fatal')&&(errorLogStream&&errorLogStream['write'](_0x218119));}const createRequestLogger=(_0x4d6653={})=>{return logger['child'](_0x4d6653);},logServerStart=_0x17ac36=>{const _0x564a9c=a0_0x34da1d,_0x4cab65={'xEYaR':_0x564a9c(0x1db),'WGCFI':function(_0x2fceaa,_0x1a663b){return _0x2fceaa/_0x1a663b;},'dojeR':_0x564a9c(0x1e1),'XAAzl':function(_0x415733,_0x1194cb){return _0x415733(_0x1194cb);},'YqmvW':_0x564a9c(0x251),'WaRIa':function(_0x2b7601,_0x44b042,_0x15d3f3){return _0x2b7601(_0x44b042,_0x15d3f3);},'UydBO':'info'},_0x572ba0=_0x4cab65[_0x564a9c(0x270)],_0x245c10=Math['max'](0x0,0x37-_0x572ba0['length']),_0x1d7349=Math['floor'](_0x4cab65['WGCFI'](_0x245c10,0x2)),_0x3d6657=_0x245c10-_0x1d7349,_0x3c6257='║'+'\x20'[_0x564a9c(0x1d6)](_0x1d7349)+_0x572ba0+'\x20'[_0x564a9c(0x1d6)](_0x3d6657)+'║',_0x59bfb1='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x3c6257+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x17ac36['environment']||_0x4cab65['dojeR'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x17ac36['project']||_0x564a9c(0x24b))[_0x564a9c(0x243)](0x26)+_0x564a9c(0x260)+_0x4cab65['XAAzl'](String,_0x17ac36['port']||0xbb8)['padEnd'](0x26)+_0x564a9c(0x1c9)+(_0x17ac36['configFile']||'Default')[_0x564a9c(0x243)](0x26)+_0x564a9c(0x1d0)+(_0x17ac36['apiKey']?'ACTIVE':_0x4cab65['YqmvW'])[_0x564a9c(0x243)](0x26)+_0x564a9c(0x229);console[_0x564a9c(0x252)](_0x59bfb1);const _0x449f1f={'event':_0x564a9c(0x1cf),'project':_0x17ac36['project'],'port':_0x17ac36['port'],'config':_0x17ac36['configFile'],'apiKeyEnabled':!!_0x17ac36['apiKey']};logger['info'](_0x449f1f),_0x4cab65['WaRIa'](writeToFileLog,{..._0x449f1f,'level':_0x4cab65['UydBO'],'msg':_0x564a9c(0x203)+_0x17ac36['project']+_0x564a9c(0x1d7)+_0x17ac36['port'],'time':new Date()[_0x564a9c(0x222)]()},_0x4cab65[_0x564a9c(0x23e)]);},logServerReady=_0x2b7a66=>{const _0x11e099=a0_0x34da1d,_0x1773ca={'OjYCI':function(_0x533be6,_0x216ad0,_0x2308e4){return _0x533be6(_0x216ad0,_0x2308e4);},'mnyhU':_0x11e099(0x211)},_0x112cdb={'event':'server_ready','port':_0x2b7a66[_0x11e099(0x1ce)],'module':_0x2b7a66[_0x11e099(0x20f)],'healthCheck':_0x2b7a66['healthCheck'],'serviceInfo':_0x2b7a66['serviceInfo'],'baseUrl':_0x2b7a66['baseUrl']},_0x506fe3='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x2b7a66['port'];logger['info'](_0x112cdb,_0x506fe3),_0x1773ca['OjYCI'](writeToFileLog,{..._0x112cdb,'level':_0x1773ca[_0x11e099(0x242)],'msg':_0x506fe3,'time':new Date()[_0x11e099(0x222)]()},_0x1773ca['mnyhU']),_0x2b7a66[_0x11e099(0x1c2)]&&logger[_0x11e099(0x211)](_0x11e099(0x221)+_0x2b7a66['healthCheck']),_0x2b7a66[_0x11e099(0x205)]&&logger['info'](_0x11e099(0x25a)+_0x2b7a66['serviceInfo']),_0x2b7a66[_0x11e099(0x1c5)]&&logger[_0x11e099(0x211)](_0x11e099(0x261)+_0x2b7a66[_0x11e099(0x1c5)]);},logProjectLoaded=(_0x3e210e,_0x16e468)=>{const _0x495c3a=a0_0x34da1d,_0xb313f8={'ittAg':function(_0x47274e,_0x445a9f,_0x131f27){return _0x47274e(_0x445a9f,_0x131f27);},'zjmvk':_0x495c3a(0x211)},_0x128009={'event':'project_loaded','project':_0x3e210e,'path':_0x16e468},_0x354fa2=_0x495c3a(0x1c6)+_0x3e210e;logger[_0x495c3a(0x211)](_0x128009,_0x354fa2),_0xb313f8[_0x495c3a(0x22f)](writeToFileLog,{..._0x128009,'level':_0xb313f8[_0x495c3a(0x210)],'msg':_0x354fa2,'time':new Date()['toISOString']()},_0x495c3a(0x211));},logEndpointRegistered=(_0x65ec73,_0x2341a6)=>{const _0x6ff7bb=a0_0x34da1d,_0xadfa20={'KOGGD':function(_0x3b9b6b,_0x40a0a8,_0x224131){return _0x3b9b6b(_0x40a0a8,_0x224131);},'oZNmj':_0x6ff7bb(0x259)},_0x1138f2={'event':'endpoint_registered','endpoint':_0x65ec73,'route':_0x2341a6},_0x46f5fd=_0x6ff7bb(0x1e2)+_0x65ec73+':\x20'+_0x2341a6;logger['debug'](_0x1138f2,_0x46f5fd),_0xadfa20['KOGGD'](writeToFileLog,{..._0x1138f2,'level':_0xadfa20['oZNmj'],'msg':_0x46f5fd,'time':new Date()[_0x6ff7bb(0x222)]()},'debug');},logDatabaseConfig=_0x54adcc=>{const _0x248735=a0_0x34da1d,_0x33cf12={'dgABQ':'debug'},_0x51283b={'event':_0x248735(0x27e),'host':_0x54adcc[_0x248735(0x1da)],'port':_0x54adcc['port'],'database':_0x54adcc['database'],'type':_0x54adcc[_0x248735(0x1f9)],'user':_0x54adcc['user']},_0x27334b='Database:\x20'+_0x54adcc['type']+_0x248735(0x21e)+_0x54adcc['host']+':'+_0x54adcc['port']+'/'+_0x54adcc[_0x248735(0x1f8)];logger['debug'](_0x51283b,_0x27334b),writeToFileLog({..._0x51283b,'level':'debug','msg':_0x27334b,'time':new Date()['toISOString']()},_0x33cf12[_0x248735(0x238)]);},logRequest=(_0x1552e1,_0x12fd2a,_0x5bcbd0)=>{const _0x246292=a0_0x34da1d,_0x46b3c6={'JMysF':'http_request','hzmIQ':'info','BAzSA':function(_0x54f81d,_0xe0b881){return _0x54f81d>=_0xe0b881;}},_0x5e0d13={'event':_0x46b3c6[_0x246292(0x1e3)],'method':_0x1552e1[_0x246292(0x274)],'path':_0x1552e1[_0x246292(0x1f3)],'statusCode':_0x12fd2a[_0x246292(0x1cc)],'durationMs':_0x5bcbd0,'ip':_0x1552e1['ip']},_0x3d9f6a=_0x1552e1[_0x246292(0x274)]+'\x20'+_0x1552e1['path']+'\x20-\x20'+_0x12fd2a[_0x246292(0x1cc)]+'\x20('+_0x5bcbd0+_0x246292(0x237);let _0x460356=_0x46b3c6[_0x246292(0x224)];if(_0x12fd2a['statusCode']>=0x1f4)_0x460356=_0x246292(0x249),logger['error'](_0x5e0d13,_0x3d9f6a);else _0x46b3c6[_0x246292(0x1c8)](_0x12fd2a['statusCode'],0x190)?(_0x460356='warn',logger[_0x246292(0x200)](_0x5e0d13,_0x3d9f6a)):logger[_0x246292(0x211)](_0x5e0d13,_0x3d9f6a);writeToFileLog({..._0x5e0d13,'level':_0x460356,'msg':_0x3d9f6a,'time':new Date()[_0x246292(0x222)]()},_0x460356);},SENSITIVE_PARAM_PATTERNS=[a0_0x34da1d(0x275),'passwd',a0_0x34da1d(0x25d),a0_0x34da1d(0x1e0),'access_token',a0_0x34da1d(0x204),a0_0x34da1d(0x216),'api_secret',a0_0x34da1d(0x219),a0_0x34da1d(0x21b),a0_0x34da1d(0x23f),a0_0x34da1d(0x1e6),a0_0x34da1d(0x1d1),a0_0x34da1d(0x22a),a0_0x34da1d(0x1e7),a0_0x34da1d(0x1fa)],redactSensitiveParams=(_0x201fbd,_0x316bfc)=>{const _0x4adf8a=a0_0x34da1d,_0x381b0a={'vStXI':function(_0x310472,_0x34ed39){return _0x310472===_0x34ed39;},'QgsvD':_0x4adf8a(0x1f0),'hXNUp':function(_0x41aa04,_0x485521){return _0x41aa04>_0x485521;},'cuiuI':'[REDACTED:token]','zFDPQ':'[REDACTED:hash]'};if(!_0x201fbd||_0x381b0a['vStXI'](_0x201fbd['length'],0x0))return _0x201fbd;const _0x4558d8=_0x316bfc[_0x4adf8a(0x1e5)](),_0x4f8726=_0x4558d8[_0x4adf8a(0x21f)](/\(([^)]+)\)\s*values/i);let _0x46e61c=[];_0x4f8726&&(_0x46e61c=_0x4f8726[0x1][_0x4adf8a(0x26e)](',')[_0x4adf8a(0x1e4)](_0x1bc210=>_0x1bc210[_0x4adf8a(0x25f)]()[_0x4adf8a(0x1e5)]()));const _0x2ef717=_0x4558d8['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x2ef717){const _0x529c43=_0x2ef717[0x1],_0x244690=_0x529c43['match'](/(\w+)\s*=/g);_0x244690&&(_0x46e61c=_0x244690['map'](_0x411a5e=>_0x411a5e[_0x4adf8a(0x228)](/\s*=/,'')['trim']()[_0x4adf8a(0x1e5)]()));}return _0x201fbd[_0x4adf8a(0x1e4)]((_0xf31066,_0x247f68)=>{const _0x601b39=_0x4adf8a;if(_0x46e61c[_0x247f68]){const _0x3fb472=_0x46e61c[_0x247f68],_0x2bbb9e=SENSITIVE_PARAM_PATTERNS['some'](_0x1e6ce9=>_0x3fb472['includes'](_0x1e6ce9));if(_0x2bbb9e)return _0x601b39(0x24f);}if(_0x381b0a[_0x601b39(0x256)](typeof _0xf31066,_0x381b0a[_0x601b39(0x1df)])&&_0x381b0a['hXNUp'](_0xf31066[_0x601b39(0x223)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0xf31066)&&_0xf31066['includes']('.'))return _0x381b0a[_0x601b39(0x1ee)];if(/^[a-fA-F0-9]{32,}$/['test'](_0xf31066))return _0x381b0a[_0x601b39(0x233)];}return _0xf31066;});},parseQueryMetadata=_0xbcbf69=>{const _0x3407d7=a0_0x34da1d,_0x59352f={'uZgRN':_0x3407d7(0x26b),'rIwfV':_0x3407d7(0x241),'USvSb':_0x3407d7(0x268),'qzpKn':_0x3407d7(0x264),'sqiDL':_0x3407d7(0x215),'dvMoC':'ROLLBACK','lxlYJ':_0x3407d7(0x1d2),'KLhEL':_0x3407d7(0x271),'JiprA':'DDL_DROP'},_0x5273ba=_0xbcbf69['trim'](),_0x3f6f67=_0x5273ba['toUpperCase']();let _0x253d25=_0x3407d7(0x209),_0x4584ce=null;if(_0x3f6f67['startsWith'](_0x59352f['uZgRN'])){_0x253d25=_0x59352f['uZgRN'];const _0x5d95d7=_0x5273ba['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4584ce=_0x5d95d7?_0x5d95d7[0x1]:null;}else{if(_0x3f6f67['startsWith'](_0x59352f[_0x3407d7(0x1e8)])){_0x253d25=_0x3407d7(0x241);const _0x3ff7d5=_0x5273ba[_0x3407d7(0x21f)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4584ce=_0x3ff7d5?_0x3ff7d5[0x1]:null;}else{if(_0x3f6f67[_0x3407d7(0x265)](_0x59352f[_0x3407d7(0x1d3)])){_0x253d25='UPDATE';const _0x47a1c0=_0x5273ba[_0x3407d7(0x21f)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4584ce=_0x47a1c0?_0x47a1c0[0x1]:null;}else{if(_0x3f6f67[_0x3407d7(0x265)]('DELETE')){_0x253d25='DELETE';const _0x19288d=_0x5273ba['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4584ce=_0x19288d?_0x19288d[0x1]:null;}else{if(_0x3f6f67['startsWith']('BEGIN')||_0x3f6f67['startsWith'](_0x59352f['qzpKn']))_0x253d25='TRANSACTION_BEGIN';else{if(_0x3f6f67[_0x3407d7(0x265)](_0x3407d7(0x25e)))_0x253d25=_0x59352f['sqiDL'];else{if(_0x3f6f67['startsWith'](_0x59352f[_0x3407d7(0x1cd)]))_0x253d25=_0x3407d7(0x207);else{if(_0x3f6f67[_0x3407d7(0x265)](_0x3407d7(0x220)))_0x253d25=_0x59352f[_0x3407d7(0x1cb)];else{if(_0x3f6f67[_0x3407d7(0x265)]('ALTER'))_0x253d25=_0x59352f[_0x3407d7(0x232)];else _0x3f6f67['startsWith']('DROP')&&(_0x253d25=_0x59352f['JiprA']);}}}}}}}}return{'type':_0x253d25,'table':_0x4584ce};},startQueryTimer=()=>{const _0x69c77e=a0_0x34da1d,_0x1a2d52={'RUQVk':function(_0x432a3c,_0xc447be){return _0x432a3c(_0xc447be);},'xbpZW':function(_0x486ab9,_0xe5bc80){return _0x486ab9*_0xe5bc80;}},_0x353bf0=process[_0x69c77e(0x1f2)]();return()=>{const _0x203200=_0x69c77e,[_0x3b9db2,_0x3fcde3]=process['hrtime'](_0x353bf0);return _0x1a2d52['RUQVk'](parseFloat,(_0x1a2d52[_0x203200(0x1f1)](_0x3b9db2,0x3e8)+_0x3fcde3/0xf4240)['toFixed'](0x2));};},logQuery=(_0x39f6f2,_0x46c9f1=[],_0x349a8c={})=>{const _0x25203f=a0_0x34da1d,_0x1bc54c={'tZtvH':_0x25203f(0x1d8),'lKafO':_0x25203f(0x26d),'hZmct':function(_0xee15c2,_0x5d9583){return _0xee15c2>_0x5d9583;},'IsUVT':function(_0x2e9151,_0x567e16){return _0x2e9151!==_0x567e16;},'oqCoc':'debug','EfeDx':'\x20[SLOW]','lsIQN':function(_0x347296,_0x5e7279){return _0x347296===_0x5e7279;}};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0x39f6f2['substring'](0x0,0xc8),'paramCount':_0x46c9f1['length']},_0x1bc54c['tZtvH']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x1bc54c['lKafO']}=_0x349a8c,{type:_0x25878e,table:_0x426bef}=parseQueryMetadata(_0x39f6f2),_0x2d702c={'event':_0x25203f(0x247),'queryType':_0x25878e,'table':_0x426bef,'query':_0x39f6f2,'paramCount':_0x46c9f1[_0x25203f(0x223)],'dbType':dbType};sqlLogParams&&_0x46c9f1[_0x25203f(0x223)]>0x0&&(_0x2d702c[_0x25203f(0x27d)]=redactSensitiveParams(_0x46c9f1,_0x39f6f2));duration!==null&&(_0x2d702c[_0x25203f(0x245)]=duration,_0x2d702c['isSlow']=_0x1bc54c['hZmct'](duration,sqlLogSlowThreshold));_0x1bc54c[_0x25203f(0x234)](rowsAffected,null)&&(_0x2d702c['rowsAffected']=rowsAffected);const _0x32299a=_0x426bef||_0x25203f(0x23c);let _0x28d1fc='['+_0x25878e+']\x20'+_0x32299a;duration!==null&&(_0x28d1fc+='\x20('+duration+_0x25203f(0x237));const _0x3edad8=_0x1bc54c[_0x25203f(0x234)](duration,null)&&duration>sqlLogSlowThreshold;let _0x578a79=_0x1bc54c[_0x25203f(0x226)];if(_0x3edad8)_0x28d1fc+=_0x1bc54c[_0x25203f(0x25c)],_0x578a79=_0x25203f(0x200),logger['warn'](_0x2d702c,_0x28d1fc);else _0x1bc54c['lsIQN'](sqlLogLevel,'info')?(_0x578a79=_0x25203f(0x211),logger[_0x25203f(0x211)](_0x2d702c,_0x28d1fc)):logger[_0x25203f(0x259)](_0x2d702c,_0x28d1fc);writeToFileLog({..._0x2d702c,'level':_0x578a79,'msg':_0x28d1fc,'time':new Date()['toISOString']()},_0x578a79);},logTransaction=(_0x498f0d,_0xb24227)=>{const _0x380c25=a0_0x34da1d,_0x1a2c61={'WHeND':'debug'},_0x1890e5={'event':_0x380c25(0x276),'status':_0x498f0d,'queryCount':_0xb24227},_0x2048df='Transaction\x20'+_0x498f0d;logger['debug'](_0x1890e5,_0x2048df),writeToFileLog({..._0x1890e5,'level':_0x1a2c61['WHeND'],'msg':_0x2048df,'time':new Date()['toISOString']()},'debug');},redactObject=_0x1aa31f=>{const _0x3dfc2c=a0_0x34da1d,_0x2836b8={'bsJfC':function(_0x2cb0af,_0x21b68f){return _0x2cb0af!==_0x21b68f;},'diZUO':_0x3dfc2c(0x20d),'ebZOt':'password','tEUTa':'passwd','htALL':_0x3dfc2c(0x25d),'fPIle':_0x3dfc2c(0x1e0),'LogZx':_0x3dfc2c(0x21b),'ppSUo':_0x3dfc2c(0x24d),'qErwz':'ssn','DcwdY':'pin','NNiTi':'privatekey','rDKBH':'refresh_token'};if(!_0x1aa31f||_0x2836b8[_0x3dfc2c(0x279)](typeof _0x1aa31f,_0x2836b8[_0x3dfc2c(0x24a)]))return _0x1aa31f;const _0x2bb1ea=[_0x2836b8[_0x3dfc2c(0x1d5)],_0x2836b8[_0x3dfc2c(0x1ed)],_0x2836b8[_0x3dfc2c(0x282)],_0x2836b8['fPIle'],_0x3dfc2c(0x216),_0x3dfc2c(0x219),_0x2836b8[_0x3dfc2c(0x202)],_0x3dfc2c(0x1c3),'creditcard',_0x3dfc2c(0x208),_0x2836b8['ppSUo'],_0x2836b8['qErwz'],_0x2836b8['DcwdY'],_0x3dfc2c(0x1e7),_0x2836b8['NNiTi'],_0x2836b8['rDKBH'],_0x3dfc2c(0x1d4)],_0x1d6ef0=Array[_0x3dfc2c(0x1be)](_0x1aa31f)?[..._0x1aa31f]:{..._0x1aa31f};for(const _0x3baaa5 of Object[_0x3dfc2c(0x1fb)](_0x1d6ef0)){const _0x2f9358=_0x3baaa5['toLowerCase']();if(_0x2bb1ea[_0x3dfc2c(0x213)](_0x1ba869=>_0x2f9358[_0x3dfc2c(0x239)](_0x1ba869)))_0x1d6ef0[_0x3baaa5]=_0x3dfc2c(0x24f);else typeof _0x1d6ef0[_0x3baaa5]==='object'&&_0x2836b8['bsJfC'](_0x1d6ef0[_0x3baaa5],null)&&(_0x1d6ef0[_0x3baaa5]=redactObject(_0x1d6ef0[_0x3baaa5]));}return _0x1d6ef0;},logError=(_0xf434c3,_0x9ac847={},_0x1aad26=null)=>{const _0x356ad5=a0_0x34da1d,_0x5d9b69={'pJGYG':_0x356ad5(0x249)},_0x3586d6={'event':_0x356ad5(0x249),'errorName':_0xf434c3[_0x356ad5(0x22d)]||'Error','errorMessage':_0xf434c3['message'],'errorCode':_0xf434c3['code']||null,'stack':_0xf434c3[_0x356ad5(0x206)],..._0x9ac847},_0x2db409=_0x1aad26||_0x356ad5(0x27b)+_0xf434c3['message'];logger[_0x356ad5(0x249)](_0x3586d6,_0x2db409),writeToFileLog({..._0x3586d6,'level':_0x356ad5(0x249),'msg':_0x2db409,'time':new Date()['toISOString']()},_0x5d9b69[_0x356ad5(0x231)]);},logFatalError=(_0x1e1aa9,_0x4cad8e={},_0x2ab8a6=null)=>{const _0x4e8060=a0_0x34da1d,_0x4fffe4={'vubEq':'fatal_error','fDXwH':_0x4e8060(0x244),'sRjDW':_0x4e8060(0x1ea),'rOTpG':function(_0x2952da,_0x4d4d9f,_0x187e03){return _0x2952da(_0x4d4d9f,_0x187e03);},'KIaka':'fatal','mpjXZ':'error'},_0xadaa17={'event':_0x4fffe4[_0x4e8060(0x26c)],'errorName':_0x1e1aa9['name']||_0x4fffe4['fDXwH'],'errorMessage':_0x1e1aa9[_0x4e8060(0x1c1)],'errorCode':_0x1e1aa9[_0x4e8060(0x254)]||null,'stack':_0x1e1aa9['stack'],'severity':_0x4fffe4['sRjDW'],..._0x4cad8e},_0xbf79fd=_0x2ab8a6||'FATAL:\x20'+_0x1e1aa9['message'];logger['fatal'](_0xadaa17,_0xbf79fd),_0x4fffe4[_0x4e8060(0x1fc)](writeToFileLog,{..._0xadaa17,'level':_0x4fffe4[_0x4e8060(0x22e)],'msg':_0xbf79fd,'time':new Date()['toISOString']()},_0x4fffe4[_0x4e8060(0x272)]);},logHttpError=(_0x434374,_0x4e403f,_0x30699a={})=>{const _0x42abc9=a0_0x34da1d,_0xdaa942={'CYHNh':_0x42abc9(0x24e),'PATpM':'error','pGqya':'warn'},_0x441ca3={'event':_0xdaa942['CYHNh'],'errorName':_0x434374[_0x42abc9(0x22d)]||'Error','errorMessage':_0x434374['message'],'errorCode':_0x434374['code']||_0x434374[_0x42abc9(0x1cc)]||0x1f4,'stack':_0x434374[_0x42abc9(0x206)],'method':_0x4e403f?.['method'],'url':_0x4e403f?.['url']||_0x4e403f?.[_0x42abc9(0x21a)],'path':_0x4e403f?.['path'],'ip':_0x4e403f?.['ip']||_0x4e403f?.['connection']?.[_0x42abc9(0x20e)],'userAgent':_0x4e403f?.[_0x42abc9(0x20c)]?.('user-agent'),'requestId':_0x4e403f?.['id']||_0x4e403f?.['headers']?.[_0x42abc9(0x1ca)],'body':_0x4e403f?.['body']?redactObject(_0x4e403f[_0x42abc9(0x26f)]):undefined,'query':_0x4e403f?.['query'],..._0x30699a},_0x446fa9=_0x434374['statusCode']||_0x434374[_0x42abc9(0x236)]||0x1f4,_0x17bb9a='HTTP\x20'+_0x446fa9+':\x20'+_0x434374['message'];_0x446fa9>=0x1f4?logger['error'](_0x441ca3,_0x17bb9a):logger['warn'](_0x441ca3,_0x17bb9a),writeToFileLog({..._0x441ca3,'level':_0x446fa9>=0x1f4?_0xdaa942[_0x42abc9(0x24c)]:_0x42abc9(0x200),'msg':_0x17bb9a,'time':new Date()['toISOString']()},_0x446fa9>=0x1f4?_0xdaa942['PATpM']:_0xdaa942[_0x42abc9(0x20b)]);},logUncaughtError=(_0x29d910,_0x108280)=>{const _0x3b6fe9=a0_0x34da1d,_0x967905={'MuKmx':function(_0x576a95,_0x1dd2ed){return _0x576a95(_0x1dd2ed);},'YpVEn':'CRITICAL','oSbQk':function(_0x4ec9a8,_0x3b6818,_0x4f303f){return _0x4ec9a8(_0x3b6818,_0x4f303f);},'FkDVk':'fatal','VbzUm':_0x3b6fe9(0x249)},_0x566091={'event':_0x29d910,'errorName':_0x108280?.['name']||_0x3b6fe9(0x244),'errorMessage':_0x108280?.['message']||_0x967905[_0x3b6fe9(0x240)](String,_0x108280),'errorCode':_0x108280?.['code']||null,'stack':_0x108280?.['stack'],'severity':_0x967905['YpVEn'],'processId':process['pid'],'memoryUsage':process[_0x3b6fe9(0x23d)](),'uptime':process['uptime']()},_0x1c8a87='['+_0x29d910['toUpperCase']()+']\x20'+(_0x108280?.[_0x3b6fe9(0x1c1)]||_0x108280);logger['fatal'](_0x566091,_0x1c8a87),_0x967905[_0x3b6fe9(0x1dd)](writeToFileLog,{..._0x566091,'level':_0x967905[_0x3b6fe9(0x253)],'msg':_0x1c8a87,'time':new Date()[_0x3b6fe9(0x222)]()},_0x967905['VbzUm']);},setupGlobalErrorHandlers=()=>{const _0x3e0d49=a0_0x34da1d,_0x203ad8={'LNWVE':function(_0x208d58,_0x1290c9,_0x21c3ce){return _0x208d58(_0x1290c9,_0x21c3ce);},'NSoKT':'uncaughtException','VnzUb':function(_0x46869c,_0x88fbdc,_0x4b51d7){return _0x46869c(_0x88fbdc,_0x4b51d7);},'xSljD':function(_0x377454,_0x5276ac,_0x7aa1c6){return _0x377454(_0x5276ac,_0x7aa1c6);},'wZJzh':_0x3e0d49(0x1ff)};process['on'](_0x203ad8['NSoKT'],_0x4d570a=>{_0x203ad8['LNWVE'](logUncaughtError,_0x203ad8['NSoKT'],_0x4d570a),_0x203ad8['VnzUb'](setTimeout,()=>{const _0x4e6105=a0_0x3bbe;process[_0x4e6105(0x281)](0x1);},0x3e8);}),process['on'](_0x203ad8['wZJzh'],(_0x34217c,_0x448d11)=>{const _0x1a725e=_0x3e0d49,_0x2dfc7e=_0x34217c instanceof Error?_0x34217c:new Error(String(_0x34217c));_0x203ad8[_0x1a725e(0x27f)](logUncaughtError,_0x203ad8[_0x1a725e(0x1dc)],_0x2dfc7e);}),process['on'](_0x3e0d49(0x257),_0xefd543=>{const _0x20f32f=_0x3e0d49;logger[_0x20f32f(0x200)]({'event':'process_warning','name':_0xefd543[_0x20f32f(0x22d)],'message':_0xefd543[_0x20f32f(0x1c1)],'stack':_0xefd543[_0x20f32f(0x206)]},'Process\x20Warning:\x20'+_0xefd543[_0x20f32f(0x1c1)]);});const _0x438768={'event':'global_error_handlers_setup'},_0x38540f=_0x3e0d49(0x1fe);logger['info'](_0x438768,_0x38540f),writeToFileLog({..._0x438768,'level':_0x3e0d49(0x211),'msg':_0x38540f,'time':new Date()[_0x3e0d49(0x222)]()},_0x3e0d49(0x211));},createErrorHandlerMiddleware=()=>{const _0x2210ad=a0_0x34da1d,_0x15d6e1={'LYcgs':function(_0x5f1fcf,_0x4cb138){return _0x5f1fcf>=_0x4cb138;},'XBVQK':'Internal\x20server\x20error','dcyIM':_0x2210ad(0x1ca)};return(_0x3503b8,_0x3d1570,_0x1bc491,_0x26930b)=>{const _0x106bc8=_0x2210ad;logHttpError(_0x3503b8,_0x3d1570);const _0x4bb468=_0x3503b8['statusCode']||_0x3503b8['status']||0x1f4;_0x1bc491['status'](_0x4bb468)[_0x106bc8(0x20a)]({'success':![],'error':_0x15d6e1['LYcgs'](_0x4bb468,0x1f4)?_0x15d6e1[_0x106bc8(0x1de)]:_0x3503b8['message'],'requestId':_0x3d1570['id']||_0x3d1570['headers']?.[_0x15d6e1['dcyIM']]||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}};
@@ -1 +1 @@
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
+ const a0_0x99821b=a0_0x39f1;(function(_0x3aae49,_0xa11e56){const _0x4af3ac=a0_0x39f1,_0xf39509=_0x3aae49();while(!![]){try{const _0x454e37=-parseInt(_0x4af3ac(0x141))/0x1*(-parseInt(_0x4af3ac(0x14f))/0x2)+parseInt(_0x4af3ac(0x14b))/0x3+parseInt(_0x4af3ac(0x150))/0x4+-parseInt(_0x4af3ac(0x135))/0x5+parseInt(_0x4af3ac(0x15e))/0x6*(-parseInt(_0x4af3ac(0x13b))/0x7)+parseInt(_0x4af3ac(0x137))/0x8+-parseInt(_0x4af3ac(0x146))/0x9;if(_0x454e37===_0xa11e56)break;else _0xf39509['push'](_0xf39509['shift']());}catch(_0x2dd1a4){_0xf39509['push'](_0xf39509['shift']());}}}(a0_0x51d5,0x7b93e));const dbType=(process[a0_0x99821b(0x139)][a0_0x99821b(0x15f)]||'postgresql')['toLowerCase']();function a0_0x39f1(_0x3c0954,_0x385688){_0x3c0954=_0x3c0954-0x130;const _0x51d5c6=a0_0x51d5();let _0x39f112=_0x51d5c6[_0x3c0954];if(a0_0x39f1['cVobnP']===undefined){var _0x56153d=function(_0x11d370){const _0x131cf3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa320ea='',_0x1f6015='';for(let _0x3bb354=0x0,_0x22a4fb,_0x20200a,_0x2772e9=0x0;_0x20200a=_0x11d370['charAt'](_0x2772e9++);~_0x20200a&&(_0x22a4fb=_0x3bb354%0x4?_0x22a4fb*0x40+_0x20200a:_0x20200a,_0x3bb354++%0x4)?_0xa320ea+=String['fromCharCode'](0xff&_0x22a4fb>>(-0x2*_0x3bb354&0x6)):0x0){_0x20200a=_0x131cf3['indexOf'](_0x20200a);}for(let _0x20fd1e=0x0,_0x467344=_0xa320ea['length'];_0x20fd1e<_0x467344;_0x20fd1e++){_0x1f6015+='%'+('00'+_0xa320ea['charCodeAt'](_0x20fd1e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f6015);};a0_0x39f1['uQbQZC']=_0x56153d,a0_0x39f1['BujfDh']={},a0_0x39f1['cVobnP']=!![];}const _0x3e3ce3=_0x51d5c6[0x0],_0x24864a=_0x3c0954+_0x3e3ce3,_0x24c8af=a0_0x39f1['BujfDh'][_0x24864a];return!_0x24c8af?(_0x39f112=a0_0x39f1['uQbQZC'](_0x39f112),a0_0x39f1['BujfDh'][_0x24864a]=_0x39f112):_0x39f112=_0x24c8af,_0x39f112;}let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x99821b(0x13e));executeQuery=(_0x250f3b,_0x4840ee)=>oracleDb[a0_0x99821b(0x15d)](_0x250f3b,_0x4840ee);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x99821b(0x152));executeQuery=(_0x836a55,_0x3566e7)=>mysqlDb['executeQuery'](_0x836a55,_0x3566e7);}else executeQuery=require('./db')['executeQuery'];}function a0_0x51d5(){const _0x34e26f=['ndq5mJi2ouXAA0jIwa','CMvZB2X2zuXVB2T1CfzHBhvL','y2XLyxjdywnOzq','vMfSDwuGiG','C2XPy2u','mZu4nZuYEhrxugHK','ywrK','Dg9vChbLCKnHC2u','vNDnDeG','mtuYodrjC2HRA2S','mtK5nJaZmMjADu9HuW','BgvUz3rO','lI9KyI1TExnXBa','C2v0','ChjVy2vZC0XVB2T1CezPzwXKCW','tKfxy1u','zM9YrwfJAa','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','AgfZ','u0vmrunuia','tg9VA3vWignHy2HLignSzwfYzwq','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','zNjVBq','zxHLy3v0zvf1zxj5','mZi5nZe5ohH4v3DHEG','rejFvfLqrq','Bg9HzeXVB2T1CfrHyMXL','BLHUBfu','tMvPu2e','lI9SB2DNzxi','DhjPBq','z2v0rgLZDgLUy3rwywX1zxm','yKPiCKC','BwvZC2fNzq','Bg9VA3vWq2fJAgu','nZC4ntyWzg9jC1vn','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','mZKWnJaWmfzIzfjmuW','A2v5CW','zw52','ChvZAa','n3nMywncvq','y2XLyxi','Aw5MBW','lI9KyI1VCMfJBgu','z2v0','z2XYr24','nZLMsuLJyMW','vKjWvxq','zgvIDwC','A0j0wMK','sMXxy3G'];a0_0x51d5=function(){return _0x34e26f;};return a0_0x51d5();}const {logger}=require(a0_0x99821b(0x163));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x99821b(0x148)](){const _0x19b6db=a0_0x99821b,_0x418eb6={'NeiSa':'lookup_cache_cleared'};this[_0x19b6db(0x134)][_0x19b6db(0x13c)](),logger[_0x19b6db(0x143)]({'event':_0x418eb6[_0x19b6db(0x162)]},_0x19b6db(0x15a));}async[a0_0x99821b(0x160)](_0x184bcc,_0x228e44,_0x199c7b){const _0x2478a8=a0_0x99821b,_0x63619f={'glrGn':function(_0x38af38,_0x8607e8){return _0x38af38!==_0x8607e8;},'JlWcx':function(_0x271513,_0x2bf422){return _0x271513(_0x2bf422);}},_0x49c31c=_0x184bcc+':'+_0x228e44+':'+_0x199c7b;if(this[_0x2478a8(0x134)]['has'](_0x49c31c))return this[_0x2478a8(0x134)][_0x2478a8(0x13f)](_0x49c31c);try{const _0x27ec18=_0x2478a8(0x159)+_0x199c7b+',\x20'+_0x228e44+'\x20FROM\x20'+_0x184bcc,_0x2269df=await executeQuery(_0x27ec18),_0x27089e=new Map();return _0x2269df[_0x2478a8(0x156)](_0x4c414b=>{const _0x665669=_0x2478a8,_0x3c7e28=_0x4c414b[_0x228e44]!==undefined?_0x4c414b[_0x228e44]:_0x4c414b[_0x228e44[_0x665669(0x14d)]()],_0x63140f=_0x63619f['glrGn'](_0x4c414b[_0x199c7b],undefined)?_0x4c414b[_0x199c7b]:_0x4c414b[_0x199c7b[_0x665669(0x14d)]()];_0x63619f['glrGn'](_0x3c7e28,null)&&_0x63619f[_0x665669(0x140)](_0x3c7e28,undefined)&&(_0x27089e[_0x665669(0x153)](_0x63619f[_0x665669(0x145)](String,_0x3c7e28)['toLowerCase']()[_0x665669(0x130)](),_0x63140f),_0x27089e['set'](String(_0x3c7e28)[_0x665669(0x130)](),_0x63140f));}),this['lookupCache'][_0x2478a8(0x153)](_0x49c31c,_0x27089e),logger[_0x2478a8(0x13d)]({'event':'lookup_table_loaded','table':_0x184bcc,'column':_0x228e44,'count':_0x2269df['length']},'Lookup\x20table\x20loaded:\x20'+_0x184bcc),_0x27089e;}catch(_0xaf7af8){logger['error']({'event':_0x2478a8(0x136),'table':_0x184bcc,'error':_0xaf7af8[_0x2478a8(0x133)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x184bcc);throw _0xaf7af8;}}['resolveLookupValue'](_0x28612c,_0x54b270){const _0x318373=a0_0x99821b;if(_0x28612c===null||_0x28612c===undefined||_0x28612c==='')return null;const _0x1847e8=String(_0x28612c)[_0x318373(0x130)]();if(_0x54b270[_0x318373(0x158)](_0x1847e8))return _0x54b270[_0x318373(0x13f)](_0x1847e8);const _0x2ce691=_0x1847e8['toLowerCase']();if(_0x54b270['has'](_0x2ce691))return _0x54b270['get'](_0x2ce691);return null;}async[a0_0x99821b(0x154)](_0x116b77,_0x2ffae7){const _0x1d1626=a0_0x99821b,_0x3ec064={'NAWcU':function(_0x2cdcfc,_0x14c995){return _0x2cdcfc===_0x14c995;},'LBBmZ':function(_0x30f692,_0x354d94){return _0x30f692===_0x354d94;},'BuzZj':function(_0x2fd77a,_0x5ae4ce){return _0x2fd77a!==_0x5ae4ce;},'VwMtH':_0x1d1626(0x157)};if(!_0x2ffae7||Object['keys'](_0x2ffae7)[_0x1d1626(0x151)]===0x0)return{'processedRows':_0x116b77,'errors':[]};const _0x2bc941=[],_0x4ea937=new Map();for(const [_0x5300d7,_0x350c1a]of Object['entries'](_0x2ffae7)){const {lookupTable:_0x106bee,lookupColumn:_0x29cda5,lookupIdColumn:_0x5f1919}=_0x350c1a,_0x23b201=_0x106bee+':'+_0x29cda5+':'+_0x5f1919;if(!_0x4ea937['has'](_0x23b201)){const _0x24999c=await this['loadLookupTable'](_0x106bee,_0x29cda5,_0x5f1919);_0x4ea937[_0x1d1626(0x153)](_0x23b201,_0x24999c);}}const _0x3b3d85=_0x116b77['map']((_0x368da3,_0x29f954)=>{const _0x16e38c=_0x1d1626,_0x588bc1={..._0x368da3};for(const [_0x44823b,_0x144b2a]of Object['entries'](_0x2ffae7)){const {lookupTable:_0x349497,lookupColumn:_0x57ec30,lookupIdColumn:_0x116348,targetField:_0x5af259,required:_0x1f5254}=_0x144b2a,_0x200456=_0x349497+':'+_0x57ec30+':'+_0x116348,_0x124d22=_0x4ea937['get'](_0x200456),_0x3596f0=_0x368da3[_0x44823b];if((_0x3ec064[_0x16e38c(0x155)](_0x3596f0,null)||_0x3ec064['LBBmZ'](_0x3596f0,undefined)||_0x3ec064['NAWcU'](_0x3596f0,''))&&!_0x1f5254){_0x588bc1[_0x5af259]=null;continue;}const _0x501165=this[_0x16e38c(0x147)](_0x3596f0,_0x124d22);_0x3ec064['BuzZj'](_0x501165,null)?_0x588bc1[_0x5af259]=_0x501165:(_0x1f5254&&_0x2bc941['push']({'rowIndex':_0x29f954,'field':_0x44823b,'value':_0x3596f0,'targetField':_0x5af259,'lookupTable':_0x349497,'message':_0x16e38c(0x149)+_0x3596f0+'\x22\x20not\x20found\x20in\x20'+_0x349497}),_0x588bc1[_0x5af259]=null);}return _0x588bc1;});return logger['info']({'event':_0x1d1626(0x15b),'totalRows':_0x116b77['length'],'errorCount':_0x2bc941[_0x1d1626(0x151)],'lookupFieldCount':Object['keys'](_0x2ffae7)[_0x1d1626(0x151)]},_0x3ec064[_0x1d1626(0x14e)]),{'processedRows':_0x3b3d85,'errors':_0x2bc941};}[a0_0x99821b(0x131)](_0x4e9819,_0x317af7){const _0x9f1971=a0_0x99821b,_0x2174bf={'bJHrG':function(_0xca08a3,_0x8cd8e){return _0xca08a3!==_0x8cd8e;},'VBpUt':function(_0x45ade2,_0x9ccde){return _0x45ade2!==_0x9ccde;},'PGCZO':function(_0x5eb937,_0x38a6eb){return _0x5eb937(_0x38a6eb);}},_0x3cddad=new Set();return _0x4e9819[_0x9f1971(0x156)](_0x459a6b=>{const _0xcb6b00=_0x9f1971,_0x6ef3ba=_0x459a6b[_0x317af7];_0x6ef3ba!==null&&_0x2174bf[_0xcb6b00(0x132)](_0x6ef3ba,undefined)&&_0x2174bf[_0xcb6b00(0x142)](_0x6ef3ba,'')&&_0x3cddad[_0xcb6b00(0x14c)](_0x2174bf['PGCZO'](String,_0x6ef3ba)[_0xcb6b00(0x130)]());}),Array[_0x9f1971(0x15c)](_0x3cddad);}async['validateLookupValues'](_0x3d7eb9,_0x31919f){const _0xba47cb=a0_0x99821b,_0xf7f55b={'nXnlU':function(_0x2d453c,_0x51a753){return _0x2d453c===_0x51a753;},'kBtZi':function(_0x579711,_0x51682a){return _0x579711>_0x51682a;}};if(!_0x31919f||_0xf7f55b['nXnlU'](Object[_0xba47cb(0x138)](_0x31919f)[_0xba47cb(0x151)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x29b9a0=[],_0x318f2c={};for(const [_0x101c39,_0x36169a]of Object['entries'](_0x31919f)){const {lookupTable:_0x29eb95,lookupColumn:_0x1c50c1,lookupIdColumn:_0x18e42e,required:_0x4b32cf}=_0x36169a,_0x57f0b6=this['getDistinctValues'](_0x3d7eb9,_0x101c39),_0x5936d9=await this['loadLookupTable'](_0x29eb95,_0x1c50c1,_0x18e42e),_0x564935=[],_0x63e55e=[];_0x57f0b6[_0xba47cb(0x156)](_0x115c79=>{const _0x446eb5=_0xba47cb,_0x30b05b=this['resolveLookupValue'](_0x115c79,_0x5936d9);_0x30b05b!==null?_0x63e55e['push'](_0x115c79):_0x564935[_0x446eb5(0x13a)](_0x115c79);});if(_0xf7f55b[_0xba47cb(0x144)](_0x564935[_0xba47cb(0x151)],0x0)&&_0x4b32cf){_0x29b9a0[_0xba47cb(0x13a)]({'field':_0x101c39,'lookupTable':_0x29eb95,'invalidValues':_0x564935,'message':_0x564935[_0xba47cb(0x151)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x29eb95});const _0x376e9e=[];_0x5936d9['forEach']((_0x4be1fc,_0xcbe9bd)=>{const _0x5b36cd=_0xba47cb;if(_0xcbe9bd===_0xcbe9bd['toLowerCase']())return;_0x376e9e[_0x5b36cd(0x13a)](_0xcbe9bd);}),_0x318f2c[_0x101c39]={'invalidValues':_0x564935,'availableValues':_0x376e9e[_0xba47cb(0x14a)](0x0,0x32)};}}return{'valid':_0xf7f55b[_0xba47cb(0x161)](_0x29b9a0['length'],0x0),'errors':_0x29b9a0,'suggestions':_0x318f2c};}}module['exports']=new LookupResolver();
@@ -1 +1 @@
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
+ const a0_0x9b9e39=a0_0x1616;function a0_0x1616(_0x5a2127,_0x32693b){_0x5a2127=_0x5a2127-0x13f;const _0x3dc95d=a0_0x3dc9();let _0x1616eb=_0x3dc95d[_0x5a2127];if(a0_0x1616['vbhECx']===undefined){var _0x28ebe7=function(_0x122cde){const _0x5b4dfe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e05a9='',_0x91c72a='';for(let _0xbbbc74=0x0,_0x42d3a9,_0x557a6d,_0x852ee4=0x0;_0x557a6d=_0x122cde['charAt'](_0x852ee4++);~_0x557a6d&&(_0x42d3a9=_0xbbbc74%0x4?_0x42d3a9*0x40+_0x557a6d:_0x557a6d,_0xbbbc74++%0x4)?_0x2e05a9+=String['fromCharCode'](0xff&_0x42d3a9>>(-0x2*_0xbbbc74&0x6)):0x0){_0x557a6d=_0x5b4dfe['indexOf'](_0x557a6d);}for(let _0x332d1c=0x0,_0x3e6def=_0x2e05a9['length'];_0x332d1c<_0x3e6def;_0x332d1c++){_0x91c72a+='%'+('00'+_0x2e05a9['charCodeAt'](_0x332d1c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x91c72a);};a0_0x1616['rzoshu']=_0x28ebe7,a0_0x1616['QDwRsI']={},a0_0x1616['vbhECx']=!![];}const _0x3192d3=_0x3dc95d[0x0],_0x48e1cd=_0x5a2127+_0x3192d3,_0x3b849a=a0_0x1616['QDwRsI'][_0x48e1cd];return!_0x3b849a?(_0x1616eb=a0_0x1616['rzoshu'](_0x1616eb),a0_0x1616['QDwRsI'][_0x48e1cd]=_0x1616eb):_0x1616eb=_0x3b849a,_0x1616eb;}function a0_0x3dc9(){const _0x5d8a2a=['y2XLyxjdywnOzq','mtCXotHzzLjWzgK','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','ndqWmgzSAezYEa','CMvHzezPBgu','zMLLBgroyw1L','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','odD0AwD5z2C','y29SDw1UrM9YBwf0CW','lMPZB24','zMLLBgrmywjLBhm','mtGZntq0DLrLCg9Y','DgfIBgvoyw1L','sMfmA2S','CMPdwMK','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','AgfZ','nZi0odC0nhP5tK5NuG','CgfYC2u','BwvZC2fNzq','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mJmWodC4mMvsEK1UAq','y2fJAgu','Axnby3rPB25fBMfIBgvK','Cgf0Aa','Bufjuw8','zgvIDwC','DxrMoa','lI4VlI4VCgf5Bg9Hza','ugf5Bg9HzcbUB3qGzM91BMq6ia','zxHWB3j0CW','AM9PBG','lwv4Cg9YDa','DgvAsMy','mtm3odvvvxzqBLe','mZa5mgvhDhPWCG','zgf0yxrHyMXLC1f1zxj5','Cgf5Bg9Hzf9SB2fKzwq','mtG2otuYzg9OBvHX','ywn0Aw9U','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK'];a0_0x3dc9=function(){return _0x5d8a2a;};return a0_0x3dc9();}(function(_0x86dcdc,_0x2398d7){const _0x5b91bd=a0_0x1616,_0x739762=_0x86dcdc();while(!![]){try{const _0x4ef64f=-parseInt(_0x5b91bd(0x143))/0x1+-parseInt(_0x5b91bd(0x14b))/0x2*(-parseInt(_0x5b91bd(0x151))/0x3)+parseInt(_0x5b91bd(0x155))/0x4+-parseInt(_0x5b91bd(0x14d))/0x5*(parseInt(_0x5b91bd(0x144))/0x6)+-parseInt(_0x5b91bd(0x15f))/0x7+-parseInt(_0x5b91bd(0x147))/0x8+parseInt(_0x5b91bd(0x15b))/0x9;if(_0x4ef64f===_0x2398d7)break;else _0x739762['push'](_0x739762['shift']());}catch(_0x26c8e5){_0x739762['push'](_0x739762['shift']());}}}(a0_0x3dc9,0x447ad));const fs=require('fs')['promises'],path=require(a0_0x9b9e39(0x162)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x5a7bd3=a0_0x9b9e39;this['payloadDir']=path[_0x5a7bd3(0x140)](__dirname,_0x5a7bd3(0x166)),this['cache']=new Map();}async['loadPayload'](_0x57e956,_0x30f40b){const _0x580ee6=a0_0x9b9e39,_0x5c398e={'JaLkk':_0x580ee6(0x165),'dAnOC':_0x580ee6(0x14c),'rjCZi':'Failed\x20to\x20load\x20payload'},_0x21cfa5=_0x57e956+':'+_0x30f40b;if(this['cache']['has'](_0x21cfa5))return this['cache']['get'](_0x21cfa5);const _0x3b3fea=path['join'](this['payloadDir'],_0x57e956+'_'+_0x30f40b+_0x580ee6(0x153));try{const _0x97a3a6=await fs['readFile'](_0x3b3fea,_0x5c398e[_0x580ee6(0x157)]),_0x37e647=JSON[_0x580ee6(0x15c)](_0x97a3a6);return this[_0x580ee6(0x160)]['set'](_0x21cfa5,_0x37e647),logger[_0x580ee6(0x164)]({'event':_0x580ee6(0x146),'project':_0x57e956,'resource':_0x30f40b},_0x580ee6(0x159)),_0x37e647;}catch(_0x47054a){logger['error']({'event':_0x5c398e['dAnOC'],'project':_0x57e956,'resource':_0x30f40b,'error':_0x47054a[_0x580ee6(0x15d)]},_0x5c398e[_0x580ee6(0x158)]);throw new Error('Payload\x20not\x20found:\x20'+_0x57e956+'_'+_0x30f40b);}}async['loadPayloadByName'](_0x1e1c64){const _0x35b4d3=a0_0x9b9e39,_0x167980={'rjdqk':_0x35b4d3(0x146),'teZJf':'payload_load_error','mAIQo':_0x35b4d3(0x150)},_0x326ef6='payload:'+_0x1e1c64;if(this['cache'][_0x35b4d3(0x15a)](_0x326ef6))return this['cache']['get'](_0x326ef6);const _0x584d2c=path['join'](this['payloadDir'],_0x1e1c64+_0x35b4d3(0x153));try{const _0x5daf9a=await fs[_0x35b4d3(0x14e)](_0x584d2c,'utf8'),_0x27b4f7=JSON['parse'](_0x5daf9a);return this['cache']['set'](_0x326ef6,_0x27b4f7),logger['debug']({'event':_0x167980['rjdqk'],'payloadName':_0x1e1c64},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x27b4f7;}catch(_0x2b8f99){logger['error']({'event':_0x167980[_0x35b4d3(0x142)],'payloadName':_0x1e1c64,'error':_0x2b8f99['message']},_0x167980[_0x35b4d3(0x163)]);throw new Error(_0x35b4d3(0x167)+_0x1e1c64);}}[a0_0x9b9e39(0x161)](_0x2503ea,_0x440a8d){const _0x33e682=a0_0x9b9e39,_0x2af634={'PwMzv':function(_0x4651c3,_0x45653b){return _0x4651c3===_0x45653b;}};return _0x2503ea['action']&&_0x2af634['PwMzv'](_0x2503ea[_0x33e682(0x148)][_0x440a8d],!![]);}['getExportConfig'](_0xbe538b){const _0x718bf6=a0_0x9b9e39;return{'columns':_0xbe538b[_0x718bf6(0x14f)]||[],'filename':_0xbe538b[_0x718bf6(0x156)]['replace']('.','-')+_0x718bf6(0x141),'datatablesQuery':_0xbe538b[_0x718bf6(0x145)]||null,'columnFormats':_0xbe538b[_0x718bf6(0x152)]||null,'fieldLabels':_0xbe538b[_0x718bf6(0x154)]||null};}[a0_0x9b9e39(0x14a)](){const _0x315ead=a0_0x9b9e39;this[_0x315ead(0x160)]['clear'](),logger['info']({'event':_0x315ead(0x149)},_0x315ead(0x15e));}}module[a0_0x9b9e39(0x13f)]=new PayloadLoader();
@@ -1 +1 @@
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
+ 'use strict';function a0_0x2036(_0x5907aa,_0x5d4b6b){_0x5907aa=_0x5907aa-0x74;var _0x578d6f=a0_0x578d();var _0x203616=_0x578d6f[_0x5907aa];if(a0_0x2036['lDlrFP']===undefined){var _0x2a01f8=function(_0xc6ada0){var _0x119cea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x28fd57='',_0x2d550c='';for(var _0x38269f=0x0,_0xd70e5c,_0x359e61,_0x3893b3=0x0;_0x359e61=_0xc6ada0['charAt'](_0x3893b3++);~_0x359e61&&(_0xd70e5c=_0x38269f%0x4?_0xd70e5c*0x40+_0x359e61:_0x359e61,_0x38269f++%0x4)?_0x28fd57+=String['fromCharCode'](0xff&_0xd70e5c>>(-0x2*_0x38269f&0x6)):0x0){_0x359e61=_0x119cea['indexOf'](_0x359e61);}for(var _0x55e590=0x0,_0x11dd30=_0x28fd57['length'];_0x55e590<_0x11dd30;_0x55e590++){_0x2d550c+='%'+('00'+_0x28fd57['charCodeAt'](_0x55e590)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d550c);};a0_0x2036['bUMgmb']=_0x2a01f8,a0_0x2036['fjqmuM']={},a0_0x2036['lDlrFP']=!![];}var _0xb48745=_0x578d6f[0x0],_0x2a0e0e=_0x5907aa+_0xb48745,_0x567139=a0_0x2036['fjqmuM'][_0x2a0e0e];return!_0x567139?(_0x203616=a0_0x2036['bUMgmb'](_0x203616),a0_0x2036['fjqmuM'][_0x2a0e0e]=_0x203616):_0x203616=_0x567139,_0x203616;}function a0_0x578d(){var _0x2f3a98=['Dg9ju09tDhjPBMC','mtm0mhfbDfv5sW','ndG1otqXohnuDMHhtG','ndC2odbhB1vWr00','mtaZnde5mdzNsMTrq3C','mJe5nZG2ohn5ALvpra','mJa3mLDOs3jurG','mtq5mda0A3Lgr3jV','nwjXv0H6Da','mZu2nte1neztu3fHtG','nZe3ndm1terWtMz1'];a0_0x578d=function(){return _0x2f3a98;};return a0_0x578d();}(function(_0x4a359b,_0x167b0b){var _0x2d29a4=a0_0x2036,_0x5b06a3=_0x4a359b();while(!![]){try{var _0x517005=-parseInt(_0x2d29a4(0x7c))/0x1+-parseInt(_0x2d29a4(0x7b))/0x2+parseInt(_0x2d29a4(0x74))/0x3+parseInt(_0x2d29a4(0x77))/0x4+-parseInt(_0x2d29a4(0x7a))/0x5*(-parseInt(_0x2d29a4(0x76))/0x6)+parseInt(_0x2d29a4(0x78))/0x7*(parseInt(_0x2d29a4(0x75))/0x8)+-parseInt(_0x2d29a4(0x79))/0x9*(parseInt(_0x2d29a4(0x7e))/0xa);if(_0x517005===_0x167b0b)break;else _0x5b06a3['push'](_0x5b06a3['shift']());}catch(_0x10a4fd){_0x5b06a3['push'](_0x5b06a3['shift']());}}}(a0_0x578d,0xe5248));function createResponse(_0x5668a2,_0x52da95,_0x5192e8=null){var _0x44c0e9=a0_0x2036;return{'success':!![],'statusCode':_0x5668a2,'message':_0x52da95,'data':_0x5192e8,'timestamp':new Date()[_0x44c0e9(0x7d)]()};}function createError(_0x15dae4,_0x28205d,_0x328022=null){return{'success':![],'statusCode':_0x15dae4,'message':_0x28205d,'data':_0x328022,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x46fdb8,_0x39648e){var _0x5c47f2=a0_0x2036;return{'success':![],'statusCode':0x190,'message':_0x46fdb8,'data':{'errors':_0x39648e},'timestamp':new Date()[_0x5c47f2(0x7d)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
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
+ function a0_0x5b3a(_0x112027,_0x495922){_0x112027=_0x112027-0x66;const _0x518913=a0_0x5189();let _0x5b3a40=_0x518913[_0x112027];if(a0_0x5b3a['fLZHQK']===undefined){var _0x185d28=function(_0xa0484e){const _0x585f71='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ca09e='',_0x324c3a='';for(let _0x30e7ae=0x0,_0x5f3577,_0x27f9c0,_0x47d465=0x0;_0x27f9c0=_0xa0484e['charAt'](_0x47d465++);~_0x27f9c0&&(_0x5f3577=_0x30e7ae%0x4?_0x5f3577*0x40+_0x27f9c0:_0x27f9c0,_0x30e7ae++%0x4)?_0x3ca09e+=String['fromCharCode'](0xff&_0x5f3577>>(-0x2*_0x30e7ae&0x6)):0x0){_0x27f9c0=_0x585f71['indexOf'](_0x27f9c0);}for(let _0xeaf969=0x0,_0x27c6f3=_0x3ca09e['length'];_0xeaf969<_0x27c6f3;_0xeaf969++){_0x324c3a+='%'+('00'+_0x3ca09e['charCodeAt'](_0xeaf969)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x324c3a);};a0_0x5b3a['hwUsRl']=_0x185d28,a0_0x5b3a['mbljJM']={},a0_0x5b3a['fLZHQK']=!![];}const _0x3c6774=_0x518913[0x0],_0x10dae4=_0x112027+_0x3c6774,_0x153021=a0_0x5b3a['mbljJM'][_0x10dae4];return!_0x153021?(_0x5b3a40=a0_0x5b3a['hwUsRl'](_0x5b3a40),a0_0x5b3a['mbljJM'][_0x10dae4]=_0x5b3a40):_0x5b3a40=_0x153021,_0x5b3a40;}const a0_0x19cb35=a0_0x5b3a;(function(_0x29a00f,_0x36c50e){const _0x4ef8d0=a0_0x5b3a,_0x271bb1=_0x29a00f();while(!![]){try{const _0x444041=-parseInt(_0x4ef8d0(0x83))/0x1+-parseInt(_0x4ef8d0(0x8a))/0x2+parseInt(_0x4ef8d0(0x6e))/0x3*(parseInt(_0x4ef8d0(0x6c))/0x4)+parseInt(_0x4ef8d0(0x70))/0x5+-parseInt(_0x4ef8d0(0x7b))/0x6+-parseInt(_0x4ef8d0(0x79))/0x7*(-parseInt(_0x4ef8d0(0x7f))/0x8)+parseInt(_0x4ef8d0(0x7d))/0x9;if(_0x444041===_0x36c50e)break;else _0x271bb1['push'](_0x271bb1['shift']());}catch(_0x336369){_0x271bb1['push'](_0x271bb1['shift']());}}}(a0_0x5189,0x9895b),require(a0_0x19cb35(0x7c))['config']());const amqp=require(a0_0x19cb35(0x8c)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x19cb35(0x8d)],EXCHANGE=process['env'][a0_0x19cb35(0x71)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process['env'][a0_0x19cb35(0x84)];async function createConnection(){const _0x36896b=a0_0x19cb35,_0x2483a8={'npbsD':function(_0x39c424,_0x5cdb38){return _0x39c424(_0x5cdb38);}};try{const _0x5d21f1=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x2483a8[_0x36896b(0x89)](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x5d21f1;}catch(_0x5b08fc){console[_0x36896b(0x8b)]('['+formatDate(new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x5b08fc[_0x36896b(0x73)]);throw _0x5b08fc;}}function a0_0x5189(){const _0x376eff=['uKfcqKLutvfFrvHdsefor0u','uLvoA2C','BwvZC2fNzq','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','y3jLyxrLzc9YzwfKEq','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','txnQAMe','mZiYn05fuKvyuq','ignYzwf0zwq','ntq5ntyZngTvB2zxuW','zg90zw52','otyXmZK3mwz3Bw50zG','tMLYBMy','mtCZndrMref2Ce8','wg5nvMC','Aw5LCxvPDMfSzw50igfYzW','ignYzwf0zwqVCMvHzhK','otC4nJrwz3jvweu','uKfcqKLutvfFuvvfvuu','Bg9N','xsbfuLjpuJOGuxvLDwuG','CMv0CNKTzxHJAgfUz2u','D1juqu8','BNbIC0q','mJmWmdaZnMXXBvDutq','zxjYB3i','yw1XCgXPyG','uKfcqKLutvfFvvjm','u1znqLC','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','zgLYzwn0','yxnZzxj0uxvLDwu','xsbrDwv1zsa','x3jLDhj5','vNPYBg8','y3jLyxrLq2HHBM5LBa','mJeXotz1DgTnB3y','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','mJGYDMTTv3fA','uxvLDwuG','mteXnte3nvHhthP5qG'];a0_0x5189=function(){return _0x376eff;};return a0_0x5189();}async function createChannel(_0x16dbda){const _0x2350de=a0_0x19cb35,_0x51e6eb={'npyya':function(_0x56686a,_0x301469){return _0x56686a(_0x301469);},'cbVQq':function(_0x36be53,_0x58ab95){return _0x36be53(_0x58ab95);}};try{const _0x2e4096=await _0x16dbda[_0x2350de(0x6b)]();return console['log']('['+_0x51e6eb['npyya'](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x2e4096;}catch(_0x194e6e){console['error']('['+_0x51e6eb['cbVQq'](formatDate,new Date())+_0x2350de(0x75)+_0x194e6e[_0x2350de(0x73)]);throw _0x194e6e;}}async function setupInfrastructure(_0xe8229e){const _0x3937f1=a0_0x19cb35,_0x26cb4b={'Vzrlo':'retry-exchange','uxpzm':_0x3937f1(0x66),'RUNkg':function(_0x42c774,_0x208949){return _0x42c774(_0x208949);},'Msjja':function(_0x1d22b5,_0xe3b922){return _0x1d22b5(_0xe3b922);},'XnMVg':_0x3937f1(0x76),'Nirnf':function(_0x4faaf6,_0x410fd2){return _0x4faaf6(_0x410fd2);},'JVhuy':_0x3937f1(0x77),'wRTAO':'inequivalent\x20arg','SVMBW':function(_0x222ba7,_0x2f22e6){return _0x222ba7(_0x2f22e6);}};try{await _0xe8229e['assertExchange'](_0x26cb4b[_0x3937f1(0x6a)],_0x26cb4b['uxpzm'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x26cb4b['RUNkg'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x425fe1){console['error']('['+_0x26cb4b[_0x3937f1(0x78)](formatDate,new Date())+_0x3937f1(0x74),_0x425fe1['message']);throw _0x425fe1;}try{await _0xe8229e['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x3937f1(0x82));}catch(_0x925c08){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x925c08[_0x3937f1(0x73)]);throw _0x925c08;}const _0x48c26c=ROUTING_KEY+_0x3937f1(0x69);try{const _0x210dd6={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0xe8229e['assertQueue'](_0x48c26c,_0x210dd6),console[_0x3937f1(0x85)]('['+_0x26cb4b[_0x3937f1(0x72)](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x48c26c+_0x3937f1(0x82)),await _0xe8229e['bindQueue'](_0x48c26c,_0x3937f1(0x87),ROUTING_KEY),console[_0x3937f1(0x85)]('['+_0x26cb4b['Msjja'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x3937f1(0x7a));}catch(_0x429f1c){console[_0x3937f1(0x8b)]('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x429f1c[_0x3937f1(0x73)]);throw _0x429f1c;}try{const _0x597aaf={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x26cb4b[_0x3937f1(0x6a)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x349bbc=await _0xe8229e[_0x3937f1(0x67)](QUEUE,_0x597aaf);console['log']('['+_0x26cb4b['Msjja'](formatDate,new Date())+_0x3937f1(0x68)+QUEUE+'\x20'+(_0x349bbc['queue']===QUEUE?_0x26cb4b[_0x3937f1(0x80)]:'found')+'\x20with\x20DLX'),await _0xe8229e['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x26cb4b[_0x3937f1(0x7e)](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0xc35f9){if(_0xc35f9['message']['includes'](_0x3937f1(0x81))&&_0xc35f9['message']['includes'](_0x26cb4b['JVhuy']))console[_0x3937f1(0x8b)]('\x0a['+formatDate(new Date())+_0x3937f1(0x86)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x3937f1(0x6f)+QUEUE+_0x3937f1(0x6d)),console['error'](_0x3937f1(0x8f)),process['exit'](0x1);else{console[_0x3937f1(0x8b)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0xc35f9['message']);throw _0xc35f9;}}}catch(_0x3ae25d){if(!_0x3ae25d['message']['includes'](_0x26cb4b[_0x3937f1(0x88)])){console[_0x3937f1(0x8b)]('['+_0x26cb4b[_0x3937f1(0x8e)](formatDate,new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x3ae25d[_0x3937f1(0x73)]);throw _0x3ae25d;}process['exit'](0x1);}}async function closeConnection(_0x1f0a83){const _0x1df7ff=a0_0x19cb35;if(_0x1f0a83)try{await _0x1f0a83['close'](),console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x4f40b8){console[_0x1df7ff(0x8b)]('['+formatDate(new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x4f40b8['message']);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
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
+ function a0_0x3ecc(_0x1328b4,_0x2690a2){_0x1328b4=_0x1328b4-0xb1;const _0x56386e=a0_0x5638();let _0x3ecca1=_0x56386e[_0x1328b4];if(a0_0x3ecc['JeQgMX']===undefined){var _0x4b6dbb=function(_0x2f465a){const _0x2a916a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf120bc='',_0x54b5f9='';for(let _0x93890e=0x0,_0x1779dc,_0x239f0f,_0x3f759e=0x0;_0x239f0f=_0x2f465a['charAt'](_0x3f759e++);~_0x239f0f&&(_0x1779dc=_0x93890e%0x4?_0x1779dc*0x40+_0x239f0f:_0x239f0f,_0x93890e++%0x4)?_0xf120bc+=String['fromCharCode'](0xff&_0x1779dc>>(-0x2*_0x93890e&0x6)):0x0){_0x239f0f=_0x2a916a['indexOf'](_0x239f0f);}for(let _0x25b2ba=0x0,_0x1f4bcc=_0xf120bc['length'];_0x25b2ba<_0x1f4bcc;_0x25b2ba++){_0x54b5f9+='%'+('00'+_0xf120bc['charCodeAt'](_0x25b2ba)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54b5f9);};a0_0x3ecc['raeGdE']=_0x4b6dbb,a0_0x3ecc['lDKDxV']={},a0_0x3ecc['JeQgMX']=!![];}const _0x1afe86=_0x56386e[0x0],_0x47d5c0=_0x1328b4+_0x1afe86,_0x20ad7c=a0_0x3ecc['lDKDxV'][_0x47d5c0];return!_0x20ad7c?(_0x3ecca1=a0_0x3ecc['raeGdE'](_0x3ecca1),a0_0x3ecc['lDKDxV'][_0x47d5c0]=_0x3ecca1):_0x3ecca1=_0x20ad7c,_0x3ecca1;}const a0_0x58ce42=a0_0x3ecc;(function(_0xdf0b24,_0x148d86){const _0x5b3539=a0_0x3ecc,_0x217075=_0xdf0b24();while(!![]){try{const _0x49aee8=parseInt(_0x5b3539(0xcc))/0x1*(-parseInt(_0x5b3539(0xba))/0x2)+parseInt(_0x5b3539(0xbf))/0x3+parseInt(_0x5b3539(0xbd))/0x4*(parseInt(_0x5b3539(0xcd))/0x5)+-parseInt(_0x5b3539(0xb7))/0x6*(parseInt(_0x5b3539(0xc8))/0x7)+parseInt(_0x5b3539(0xc2))/0x8*(-parseInt(_0x5b3539(0xb3))/0x9)+-parseInt(_0x5b3539(0xc9))/0xa+-parseInt(_0x5b3539(0xbc))/0xb*(-parseInt(_0x5b3539(0xbe))/0xc);if(_0x49aee8===_0x148d86)break;else _0x217075['push'](_0x217075['shift']());}catch(_0x1fb07b){_0x217075['push'](_0x217075['shift']());}}}(a0_0x5638,0xb24dc));const Redis=require('ioredis'),{logger}=require('./logger');function a0_0x5638(){const _0x2c1633=['BwLU','nJy3mdG4qMXqs0HL','nta1otmWqM55CK1I','y2XVC2u','CMfJzq','zM9Yy2veAxnJB25Uzwn0','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','BwvZC2fNzq','zgLZy29UBMvJDa','nJmWovv4vvjZyq','CMvKAxnFzxjYB3i','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','uKvesvnFse9tva','nJqXnfrfsuLxtq','zw52','y2XPzw50','ngjUAKnUwa','y29UBMvJDa','mZmYmdeWogvlyLPSAG','mJbeAKTWB1K','mty4vgjgvM9K','mtC5nZKWmfPxD0HpCW','uMvKAxmGueLorYb0Aw1LB3v0','uKvesvnFue9sva','nZyYnevYq1zbtW','DfbhA2S','zxjYB3i','A1HMDxe','z2v0q2XPzw50','AxndB25Uzwn0zwq','odqWn1rbDunJDa','mtmXndm5mJbcv2f4z00','zxHWB3j0CW'];a0_0x5638=function(){return _0x2c1633;};return a0_0x5638();}class RedisClient{constructor(){const _0x308334=a0_0x3ecc;this['client']=null,this[_0x308334(0xc7)]=![];}[a0_0x58ce42(0xbb)](){const _0x2605d0=a0_0x58ce42,_0x4a026b={'dzHOj':'redis_connected','QQsSq':'Redis\x20connected\x20successfully','oakZn':_0x2605d0(0xb4),'BjKpY':_0x2605d0(0xd1),'kXfuq':'localhost','UsTlY':_0x2605d0(0xbb),'tPGkk':_0x2605d0(0xce),'lsykg':'Failed\x20to\x20initialize\x20Redis'};if(this['client'])return this[_0x2605d0(0xb9)];try{return this['client']=new Redis({'host':process['env'][_0x2605d0(0xb6)]||_0x4a026b[_0x2605d0(0xc5)],'port':parseInt(process[_0x2605d0(0xb8)][_0x2605d0(0xc1)],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x40781f){const _0xae781b=_0x2605d0,_0xedbb28=Math[_0xae781b(0xcb)](_0x40781f*0x32,0x7d0);return _0xedbb28;}}),this[_0x2605d0(0xb9)]['on'](_0x4a026b['UsTlY'],()=>{this['isConnected']=!![],logger['info']({'event':_0x4a026b['dzHOj']},_0x4a026b['QQsSq']);}),this[_0x2605d0(0xb9)]['on']('error',_0x87eab7=>{const _0x247067=_0x2605d0;this['isConnected']=![],logger['error']({'event':_0x4a026b['oakZn'],'error':_0x87eab7['message']},_0x247067(0xb5)+_0x87eab7[_0x247067(0xb1)]);}),this[_0x2605d0(0xb9)]['on'](_0x4a026b[_0x2605d0(0xc3)],()=>{const _0xfc073f=_0x2605d0;this[_0xfc073f(0xc7)]=![],logger['warn']({'event':'redis_disconnected'},_0x4a026b['BjKpY']);}),this[_0x2605d0(0xb9)];}catch(_0x328973){logger[_0x2605d0(0xc4)]({'event':'redis_init_error','error':_0x328973['message']},_0x4a026b['lsykg']);throw _0x328973;}}[a0_0x58ce42(0xc6)](){const _0x4a882a=a0_0x58ce42;return!this['client']&&this['connect'](),this[_0x4a882a(0xb9)];}async['ping'](_0x57064f=0x1388){const _0x5152d8=a0_0x58ce42,_0x4047f9={'TEbUE':'PONG'};try{const _0x1f41d2=this[_0x5152d8(0xc6)](),_0x53af8a=await Promise[_0x5152d8(0xcf)]([_0x1f41d2['ping'](),new Promise((_0x494dbd,_0x38c158)=>setTimeout(()=>_0x38c158(new Error(_0x5152d8(0xc0))),_0x57064f))]);return _0x53af8a===_0x4047f9['TEbUE'];}catch(_0x3ca7a4){return![];}}async[a0_0x58ce42(0xb2)](){const _0x2b3513=a0_0x58ce42;this[_0x2b3513(0xb9)]&&(await this[_0x2b3513(0xb9)]['quit'](),this['client']=null,this[_0x2b3513(0xc7)]=![]);}[a0_0x58ce42(0xd0)](){const _0x3ccc44=a0_0x58ce42;this['client']&&(this['client'][_0x3ccc44(0xb2)](),this[_0x3ccc44(0xb9)]=null,this[_0x3ccc44(0xc7)]=![]);}}module[a0_0x58ce42(0xca)]=new RedisClient();
@@ -1 +1 @@
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();}
1
+ const a0_0x2b3248=a0_0x5c11;(function(_0x4dfb5c,_0xb7ec59){const _0x5060b4=a0_0x5c11,_0x32e185=_0x4dfb5c();while(!![]){try{const _0x444ac5=-parseInt(_0x5060b4(0x105))/0x1*(parseInt(_0x5060b4(0x112))/0x2)+-parseInt(_0x5060b4(0x103))/0x3+parseInt(_0x5060b4(0x11a))/0x4*(parseInt(_0x5060b4(0x100))/0x5)+parseInt(_0x5060b4(0x107))/0x6+-parseInt(_0x5060b4(0x10d))/0x7*(parseInt(_0x5060b4(0x113))/0x8)+parseInt(_0x5060b4(0xf9))/0x9+-parseInt(_0x5060b4(0x10c))/0xa*(parseInt(_0x5060b4(0x10f))/0xb);if(_0x444ac5===_0xb7ec59)break;else _0x32e185['push'](_0x32e185['shift']());}catch(_0x4a9fa0){_0x32e185['push'](_0x32e185['shift']());}}}(a0_0x2d44,0x61d14));const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x1f8e3e={'CcxGX':function(_0x1f1156,_0x4bfe1b,_0x5acd1f){return _0x1f1156(_0x4bfe1b,_0x5acd1f);}};this['_prefix']=null,this['ttl']=_0x1f8e3e['CcxGX'](parseInt,process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x289cff=a0_0x5c11,_0xf9b97f={'tmDSZ':_0x289cff(0x115)};if(!this[_0x289cff(0x106)]){const _0x25ff10=process['env'][_0x289cff(0x119)]||_0xf9b97f[_0x289cff(0x108)];this[_0x289cff(0x106)]=_0x289cff(0xfb)+_0x25ff10+_0x289cff(0x111);}return this[_0x289cff(0x106)];}async[a0_0x2b3248(0x116)](_0x5e571b,_0x4205cb){const _0x5254dd=a0_0x2b3248,_0x2b854b={'QxYFc':_0x5254dd(0xfc)};try{const _0x5cc51d=redisClient[_0x5254dd(0x114)](),_0x49a858=''+this[_0x5254dd(0xfd)]+_0x5e571b;return await _0x5cc51d['setex'](_0x49a858,this[_0x5254dd(0x118)],JSON['stringify'](_0x4205cb)),!![];}catch(_0x38ff62){return logger[_0x5254dd(0x10e)]({'event':_0x2b854b['QxYFc'],'jobId':_0x5e571b,'error':_0x38ff62[_0x5254dd(0x109)]},_0x5254dd(0x10b)),![];}}async[a0_0x2b3248(0x117)](_0x567b5e){const _0x1dc48e=a0_0x2b3248;try{const _0x4cbb96=redisClient['getClient'](),_0x54df76=''+this['prefix']+_0x567b5e,_0x31168f=await _0x4cbb96['get'](_0x54df76);return _0x31168f?JSON[_0x1dc48e(0xfa)](_0x31168f):null;}catch(_0x2ab399){return logger[_0x1dc48e(0x10e)]({'event':'redis_get_error','jobId':_0x567b5e,'error':_0x2ab399[_0x1dc48e(0x109)]},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async['updateJob'](_0x149b7c,_0x28cf8d){const _0x4ca701=a0_0x2b3248,_0x495d22=await this[_0x4ca701(0x117)](_0x149b7c);if(!_0x495d22)return![];const _0xfc613f={..._0x495d22,..._0x28cf8d};return await this['setJob'](_0x149b7c,_0xfc613f);}async[a0_0x2b3248(0x110)](_0x3b7595){const _0x1aaf5a=a0_0x2b3248,_0x257e9c={'MHzxX':'redis_delete_error'};try{const _0x5c2382=redisClient['getClient'](),_0x4b11b2=''+this[_0x1aaf5a(0xfd)]+_0x3b7595;return await _0x5c2382[_0x1aaf5a(0x104)](_0x4b11b2),!![];}catch(_0x367e4d){return logger['error']({'event':_0x257e9c['MHzxX'],'jobId':_0x3b7595,'error':_0x367e4d['message']},_0x1aaf5a(0xff)),![];}}async[a0_0x2b3248(0xfe)](){const _0x25ee0d=a0_0x2b3248,_0x5655cf={'vdUOL':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x46b890=redisClient['getClient'](),_0x9bd89d=await _0x46b890['keys'](this['prefix']+'*'),_0x41a6cc=[];for(const _0x9bb1 of _0x9bd89d){const _0x43cce7=await _0x46b890['get'](_0x9bb1);_0x43cce7&&_0x41a6cc['push'](JSON['parse'](_0x43cce7));}return _0x41a6cc;}catch(_0x2cbf56){return logger[_0x25ee0d(0x10e)]({'event':_0x25ee0d(0x10a),'error':_0x2cbf56[_0x25ee0d(0x109)]},_0x5655cf[_0x25ee0d(0x101)]),[];}}}function a0_0x5c11(_0x16f133,_0x3f6ed2){_0x16f133=_0x16f133-0xf9;const _0x2d441c=a0_0x2d44();let _0x5c116e=_0x2d441c[_0x16f133];if(a0_0x5c11['KBXmlN']===undefined){var _0x2efde0=function(_0x13ab35){const _0x25692b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x208b95='',_0x1da790='';for(let _0x1b0440=0x0,_0x30ba20,_0x5915b9,_0x3df8d8=0x0;_0x5915b9=_0x13ab35['charAt'](_0x3df8d8++);~_0x5915b9&&(_0x30ba20=_0x1b0440%0x4?_0x30ba20*0x40+_0x5915b9:_0x5915b9,_0x1b0440++%0x4)?_0x208b95+=String['fromCharCode'](0xff&_0x30ba20>>(-0x2*_0x1b0440&0x6)):0x0){_0x5915b9=_0x25692b['indexOf'](_0x5915b9);}for(let _0x37cdf5=0x0,_0xc31780=_0x208b95['length'];_0x37cdf5<_0xc31780;_0x37cdf5++){_0x1da790+='%'+('00'+_0x208b95['charCodeAt'](_0x37cdf5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1da790);};a0_0x5c11['sLvPho']=_0x2efde0,a0_0x5c11['pXGSoa']={},a0_0x5c11['KBXmlN']=!![];}const _0x41c452=_0x2d441c[0x0],_0x243fed=_0x16f133+_0x41c452,_0x280899=a0_0x5c11['pXGSoa'][_0x243fed];return!_0x280899?(_0x5c116e=a0_0x5c11['sLvPho'](_0x5c116e),a0_0x5c11['pXGSoa'][_0x243fed]=_0x5c116e):_0x5c116e=_0x280899,_0x5c116e;}module[a0_0x2b3248(0x102)]=new RedisHelper();function a0_0x2d44(){const _0x464d4d=['mJC1sKDLy0nX','zgvSzxrLsM9I','oMv4Cg9YDdO','nJa4nJb1BKvsuKu','mte1mZmXmNHMqvjyyG','z2v0q2XPzw50','zgvMyxvSDa','C2v0sM9I','z2v0sM9I','DhrS','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','otaZodGWqwDxEMzR','mteZntqZmuD3BxbZCG','CgfYC2u','CMvZDgzVCMDLoG','CMvKAxnFC2v0x2vYCM9Y','ChjLzML4','z2v0qwXSsM9ICW','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','mtvLBvL5AMO','DMrvt0W','zxHWB3j0CW','mZy4nZu0vhrts3rM','zgvS','mtbmwvjLCMO','x3bYzwzPEa','ndy3mte3ngHYCfvXzG','Dg1eu1O','BwvZC2fNzq','CMvKAxnFz2v0ywXSx2vYCM9Y','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','mtm1nJbYt0vmBM4','mZvzuK5LB2i','zxjYB3i'];a0_0x2d44=function(){return _0x464d4d;};return a0_0x2d44();}