@restforgejs/platform 5.1.16 → 5.1.21

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 (179) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/catalog/dbschema.js +2 -1
  5. package/generators/cli/endpoint/list.js +264 -0
  6. package/generators/cli/fast-track.js +395 -37
  7. package/generators/cli/processor/create.js +7 -7
  8. package/generators/cli/processor/list.js +229 -0
  9. package/generators/lib/dbschema-kit/apply-executor.js +20 -0
  10. package/generators/lib/generators/dashboard-generator.js +5 -5
  11. package/generators/lib/generators/processor-validation-generator.js +4 -1
  12. package/generators/lib/migrate/field-type-resolver.js +23 -0
  13. package/generators/lib/payload/payload-runner.js +80 -3
  14. package/generators/lib/templates/dashboard-catalog.js +1 -1
  15. package/generators/lib/templates/db-connection-env.js +1 -1
  16. package/generators/lib/templates/dbschema-catalog.js +1 -1
  17. package/generators/lib/templates/field-validation-catalog.js +1 -1
  18. package/generators/lib/templates/mysql-template.js +1 -1
  19. package/generators/lib/templates/oracle-template.js +1 -1
  20. package/generators/lib/templates/postgres-template.js +1 -1
  21. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  22. package/generators/lib/templates/sqlite-template.js +1 -1
  23. package/integrity-manifest.json +18 -18
  24. package/package.json +1 -1
  25. package/scripts/check-install.js +8 -8
  26. package/scripts/verify-integrity.js +1 -1
  27. package/server.js +1 -1
  28. package/src/components/handlers/adjust_handler.js +1 -1
  29. package/src/components/handlers/audit_handler.js +1 -1
  30. package/src/components/handlers/delete_handler.js +1 -1
  31. package/src/components/handlers/export_handler.js +1 -1
  32. package/src/components/handlers/import_handler.js +1 -1
  33. package/src/components/handlers/insert_handler.js +1 -1
  34. package/src/components/handlers/update_handler.js +1 -1
  35. package/src/components/handlers/upload_handler.js +1 -1
  36. package/src/components/handlers/workflow_handler.js +1 -1
  37. package/src/components/integrations/webhook.js +1 -1
  38. package/src/consumers/baseConsumer.js +1 -1
  39. package/src/consumers/declarativeMapper.js +1 -1
  40. package/src/consumers/handlers/apiHandler.js +1 -1
  41. package/src/consumers/handlers/consoleHandler.js +1 -1
  42. package/src/consumers/handlers/databaseHandler.js +1 -1
  43. package/src/consumers/handlers/index.js +1 -1
  44. package/src/consumers/handlers/kafkaHandler.js +1 -1
  45. package/src/consumers/index.js +1 -1
  46. package/src/consumers/messageTransformer.js +1 -1
  47. package/src/consumers/validator.js +1 -1
  48. package/src/core/db/dialect/base-dialect.js +1 -1
  49. package/src/core/db/dialect/index.js +1 -1
  50. package/src/core/db/dialect/mysql-dialect.js +1 -1
  51. package/src/core/db/dialect/oracle-dialect.js +1 -1
  52. package/src/core/db/dialect/postgres-dialect.js +1 -1
  53. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  54. package/src/core/db/flatten-helper.js +1 -1
  55. package/src/core/db/query-builder-error.js +1 -1
  56. package/src/core/db/query-builder.js +1 -1
  57. package/src/core/db/relation-helper.js +1 -1
  58. package/src/core/handlers/delete_handler.js +1 -1
  59. package/src/core/handlers/insert_handler.js +1 -1
  60. package/src/core/handlers/update_handler.js +1 -1
  61. package/src/core/models/base-model.js +1 -1
  62. package/src/core/utils/cache-manager.js +1 -1
  63. package/src/core/utils/component-engine.js +1 -1
  64. package/src/core/utils/context-builder.js +1 -1
  65. package/src/core/utils/datetime-formatter.js +1 -1
  66. package/src/core/utils/datetime-parser.js +1 -1
  67. package/src/core/utils/db.js +1 -1
  68. package/src/core/utils/logger.js +1 -1
  69. package/src/core/utils/payload-loader.js +1 -1
  70. package/src/core/utils/security-checks.js +1 -1
  71. package/src/middleware/body-options.js +1 -1
  72. package/src/middleware/cors.js +1 -1
  73. package/src/middleware/idempotency.js +1 -1
  74. package/src/middleware/rate-limiter.js +1 -1
  75. package/src/middleware/request-logger.js +1 -1
  76. package/src/middleware/security-headers.js +1 -1
  77. package/src/models/base-model-mysql.js +1 -1
  78. package/src/models/base-model-oracle.js +1 -1
  79. package/src/models/base-model-sqlite.js +1 -1
  80. package/src/models/base-model.js +1 -1
  81. package/src/pro/caching/redis-client.js +1 -1
  82. package/src/pro/caching/redis-helper.js +1 -1
  83. package/src/pro/consumers/baseConsumer.js +1 -1
  84. package/src/pro/consumers/declarativeMapper.js +1 -1
  85. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  86. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  87. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  88. package/src/pro/consumers/handlers/index.js +1 -1
  89. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  90. package/src/pro/consumers/index.js +1 -1
  91. package/src/pro/consumers/messageTransformer.js +1 -1
  92. package/src/pro/consumers/validator.js +1 -1
  93. package/src/pro/database/base-model-mysql.js +1 -1
  94. package/src/pro/database/base-model-oracle.js +1 -1
  95. package/src/pro/database/base-model-sqlite.js +1 -1
  96. package/src/pro/database/db-mysql.js +1 -1
  97. package/src/pro/database/db-oracle.js +1 -1
  98. package/src/pro/database/db-sqlite.js +1 -1
  99. package/src/pro/excel/excel-generator.js +1 -1
  100. package/src/pro/excel/excel-parser.js +1 -1
  101. package/src/pro/excel/export-service.js +1 -1
  102. package/src/pro/excel/export_handler.js +1 -1
  103. package/src/pro/excel/import-service.js +1 -1
  104. package/src/pro/excel/import-validator.js +1 -1
  105. package/src/pro/excel/import_handler.js +1 -1
  106. package/src/pro/excel/upsert-builder.js +1 -1
  107. package/src/pro/idgen/idgen-routes.js +1 -1
  108. package/src/pro/integrations/lookup-resolver.js +1 -1
  109. package/src/pro/integrations/upload-handler-v2.js +1 -1
  110. package/src/pro/integrations/upload-handler.js +1 -1
  111. package/src/pro/integrations/webhook.js +1 -1
  112. package/src/pro/locking/lock-routes.js +1 -1
  113. package/src/pro/locking/resource-lock-manager.js +1 -1
  114. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  115. package/src/pro/messaging/kafkaService.js +1 -1
  116. package/src/pro/messaging/messagehubService.js +1 -1
  117. package/src/pro/messaging/rabbitmqService.js +1 -1
  118. package/src/pro/scheduler/job-manager.js +1 -1
  119. package/src/pro/scheduler/job-routes.js +1 -1
  120. package/src/pro/scheduler/job-validator.js +1 -1
  121. package/src/pro/storage/base-storage-provider.js +1 -1
  122. package/src/pro/storage/file-metadata-helper.js +1 -1
  123. package/src/pro/storage/index.js +1 -1
  124. package/src/pro/storage/local-storage-provider.js +1 -1
  125. package/src/pro/storage/s3-storage-provider.js +1 -1
  126. package/src/pro/storage/upload-cleanup-job.js +1 -1
  127. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  128. package/src/pro/storage/upload-pending-tracker.js +1 -1
  129. package/src/pro/websocket/broadcast-helper.js +1 -1
  130. package/src/pro/websocket/index.js +1 -1
  131. package/src/pro/websocket/livesync-server.js +1 -1
  132. package/src/pro/websocket/ws-broadcaster.js +1 -1
  133. package/src/services/export-service.js +1 -1
  134. package/src/services/import-service.js +1 -1
  135. package/src/services/kafkaConsumerService.js +1 -1
  136. package/src/services/kafkaService.js +1 -1
  137. package/src/services/messagehubService.js +1 -1
  138. package/src/services/rabbitmqService.js +1 -1
  139. package/src/utils/cache-invalidation-registry.js +1 -1
  140. package/src/utils/cache-manager.js +1 -1
  141. package/src/utils/component-engine.js +1 -1
  142. package/src/utils/config-extractor.js +1 -1
  143. package/src/utils/consumerLogger.js +1 -1
  144. package/src/utils/context-builder.js +1 -1
  145. package/src/utils/dashboard-helpers.js +1 -1
  146. package/src/utils/dateHelper.js +1 -1
  147. package/src/utils/datetime-formatter.js +1 -1
  148. package/src/utils/datetime-parser.js +1 -1
  149. package/src/utils/db-bootstrap.js +1 -1
  150. package/src/utils/db-mysql.js +1 -1
  151. package/src/utils/db-oracle.js +1 -1
  152. package/src/utils/db-sqlite.js +1 -1
  153. package/src/utils/db.js +1 -1
  154. package/src/utils/demo-generator.js +1 -1
  155. package/src/utils/excel-generator.js +1 -1
  156. package/src/utils/excel-parser.js +1 -1
  157. package/src/utils/file-watcher.js +1 -1
  158. package/src/utils/id-generator.js +1 -1
  159. package/src/utils/idempotency-manager.js +1 -1
  160. package/src/utils/import-validator.js +1 -1
  161. package/src/utils/license-client.js +1 -1
  162. package/src/utils/lock-manager.js +1 -1
  163. package/src/utils/logger.js +1 -1
  164. package/src/utils/lookup-resolver.js +1 -1
  165. package/src/utils/payload-loader.js +1 -1
  166. package/src/utils/processor-response.js +1 -1
  167. package/src/utils/rabbitmq.js +1 -1
  168. package/src/utils/redis-client.js +1 -1
  169. package/src/utils/redis-helper.js +1 -1
  170. package/src/utils/request-scope.js +1 -1
  171. package/src/utils/security-checks.js +1 -1
  172. package/src/utils/service-resolver.js +1 -1
  173. package/src/utils/shutdown-coordinator.js +1 -1
  174. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  175. package/src/utils/sql-table-extractor.js +1 -1
  176. package/src/utils/trusted-keys.js +1 -1
  177. package/src/utils/upload-handler.js +1 -1
  178. package/src/utils/upsert-builder.js +1 -1
  179. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x4b7b72=a0_0x1dbc;(function(_0x22072d,_0x58ff32){const _0xc76b3e=a0_0x1dbc,_0x1ba020=_0x22072d();while(!![]){try{const _0x3d4739=parseInt(_0xc76b3e(0x19a))/0x1+parseInt(_0xc76b3e(0x169))/0x2*(-parseInt(_0xc76b3e(0x167))/0x3)+-parseInt(_0xc76b3e(0x170))/0x4+-parseInt(_0xc76b3e(0x163))/0x5+parseInt(_0xc76b3e(0x183))/0x6+-parseInt(_0xc76b3e(0x1af))/0x7+parseInt(_0xc76b3e(0x1a7))/0x8;if(_0x3d4739===_0x58ff32)break;else _0x1ba020['push'](_0x1ba020['shift']());}catch(_0x76fd5a){_0x1ba020['push'](_0x1ba020['shift']());}}}(a0_0x488d,0x1e297));const redisClient=require('./redis-client'),{logger}=require(a0_0x4b7b72(0x177)),{v4:uuidv4}=require(a0_0x4b7b72(0x1ae));function a0_0x1dbc(_0x1aba52,_0x5bcbdd){_0x1aba52=_0x1aba52-0x160;const _0x488d5f=a0_0x488d();let _0x1dbcc9=_0x488d5f[_0x1aba52];if(a0_0x1dbc['AAloGe']===undefined){var _0x34d0b0=function(_0x3e34db){const _0x29a188='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d11d5='',_0x5ce419='';for(let _0x5a064f=0x0,_0x3958c6,_0x3172f2,_0x5b82d4=0x0;_0x3172f2=_0x3e34db['charAt'](_0x5b82d4++);~_0x3172f2&&(_0x3958c6=_0x5a064f%0x4?_0x3958c6*0x40+_0x3172f2:_0x3172f2,_0x5a064f++%0x4)?_0x5d11d5+=String['fromCharCode'](0xff&_0x3958c6>>(-0x2*_0x5a064f&0x6)):0x0){_0x3172f2=_0x29a188['indexOf'](_0x3172f2);}for(let _0x1bc090=0x0,_0x4efcbb=_0x5d11d5['length'];_0x1bc090<_0x4efcbb;_0x1bc090++){_0x5ce419+='%'+('00'+_0x5d11d5['charCodeAt'](_0x1bc090)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ce419);};a0_0x1dbc['uKwoiL']=_0x34d0b0,a0_0x1dbc['IIQwfm']={},a0_0x1dbc['AAloGe']=!![];}const _0x5b2308=_0x488d5f[0x0],_0x376d39=_0x1aba52+_0x5b2308,_0x206378=a0_0x1dbc['IIQwfm'][_0x376d39];return!_0x206378?(_0x1dbcc9=a0_0x1dbc['uKwoiL'](_0x1dbcc9),a0_0x1dbc['IIQwfm'][_0x376d39]=_0x1dbcc9):_0x1dbcc9=_0x206378,_0x1dbcc9;}class LockManager{constructor(){const _0x3c92ef=a0_0x4b7b72;this[_0x3c92ef(0x173)]=null,this[_0x3c92ef(0x164)]=null,this[_0x3c92ef(0x1a3)]=null,this['_retryCount']=null,this['_retryDelay']=null,this[_0x3c92ef(0x1b4)]=null,this['_workerId']=null,this['_initialized']=![];}['_initConfig'](){const _0x3df9dd=a0_0x4b7b72,_0x95cbc3={'woOKj':'rf:lock:','SFBRL':function(_0x7420ca,_0x2e022b){return _0x7420ca===_0x2e022b;},'CEpIt':_0x3df9dd(0x1ab),'lSPXT':function(_0x1cfcd2,_0x139b06,_0x1cb3fc){return _0x1cfcd2(_0x139b06,_0x1cb3fc);},'hbWbT':function(_0x449046,_0x58c5ba,_0x4a8e33){return _0x449046(_0x58c5ba,_0x4a8e33);}};this['_prefix']=_0x95cbc3['woOKj'],this[_0x3df9dd(0x164)]=_0x95cbc3['SFBRL'](process['env'][_0x3df9dd(0x17f)],_0x95cbc3['CEpIt']),this[_0x3df9dd(0x1a3)]=_0x95cbc3[_0x3df9dd(0x1b7)](parseInt,process[_0x3df9dd(0x18c)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this['_retryCount']=_0x95cbc3[_0x3df9dd(0x1a6)](parseInt,process['env'][_0x3df9dd(0x17e)],0xa)||0x3,this['_retryDelay']=_0x95cbc3[_0x3df9dd(0x1b7)](parseInt,process['env'][_0x3df9dd(0x19e)],0xa)||0x64,this[_0x3df9dd(0x1b4)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x3df9dd(0x196),this[_0x3df9dd(0x188)]='worker-'+process[_0x3df9dd(0x18b)],this[_0x3df9dd(0x197)]=!![],logger['info']({'event':_0x3df9dd(0x168),'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x3df9dd(0x1a3)],'retryCount':this['_retryCount'],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x3df9dd(0x19c)+this['_enabled']+_0x3df9dd(0x184)+this[_0x3df9dd(0x1b4)]);}[a0_0x4b7b72(0x1b3)](){!this['_initialized']&&this['_initConfig']();}get[a0_0x4b7b72(0x198)](){const _0x1d169d=a0_0x4b7b72;return this[_0x1d169d(0x1b3)](),this['_prefix'];}get['enabled'](){const _0x2ddce4=a0_0x4b7b72;return this['_ensureInitialized'](),this[_0x2ddce4(0x164)];}get[a0_0x4b7b72(0x161)](){const _0x11b426=a0_0x4b7b72;return this['_ensureInitialized'](),this[_0x11b426(0x1a3)];}get[a0_0x4b7b72(0x16f)](){const _0x45e626=a0_0x4b7b72;return this[_0x45e626(0x1b3)](),this['_retryCount'];}get[a0_0x4b7b72(0x179)](){const _0x33e165=a0_0x4b7b72;return this[_0x33e165(0x1b3)](),this['_retryDelay'];}get[a0_0x4b7b72(0x162)](){const _0x1cb3f3=a0_0x4b7b72;return this[_0x1cb3f3(0x1b3)](),this[_0x1cb3f3(0x1b4)];}get[a0_0x4b7b72(0x19f)](){const _0x44d77a=a0_0x4b7b72;return this[_0x44d77a(0x1b3)](),this['_workerId'];}[a0_0x4b7b72(0x17b)](_0x950b7e){const {module:_0x1c8be6,endpoint:_0x463bdc,lockType:_0x48106f,recordId:_0x1f646c}=_0x950b7e;if(_0x1f646c)return''+this['prefix']+_0x1c8be6+':'+_0x463bdc+':'+_0x1f646c+':'+_0x48106f;return''+this['prefix']+_0x1c8be6+':'+_0x463bdc+':'+_0x48106f;}['generateLockValue'](){const _0xd9cf80=a0_0x4b7b72,_0x6c86de={'yCqpK':function(_0x1d96b6){return _0x1d96b6();}};return this[_0xd9cf80(0x19f)]+':'+_0x6c86de[_0xd9cf80(0x17d)](uuidv4)+':'+Date[_0xd9cf80(0x187)]();}async[a0_0x4b7b72(0x189)](_0x51ef47){const _0x399717=a0_0x4b7b72,_0x338b1b={'GWJwg':'read','EbFSf':'READ\x20lock\x20acquired','IGLQC':_0x399717(0x19b),'kHrJF':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','QuaXi':'READ\x20lock\x20acquire\x20timeout','CkUXi':'READ\x20lock\x20error'};if(!this[_0x399717(0x1ac)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x253bbe=this['buildLockKey']({..._0x51ef47,'lockType':'write'}),_0x47b6d7=this[_0x399717(0x17b)]({..._0x51ef47,'lockType':_0x338b1b['GWJwg']}),_0x2d7cbb=this[_0x399717(0x191)]();try{const _0x45decb=redisClient['getClient']();for(let _0x4c1bb8=0x0;_0x4c1bb8<this['retryCount'];_0x4c1bb8++){const _0x219707=await _0x45decb[_0x399717(0x16d)](_0x253bbe);if(!_0x219707){await _0x45decb[_0x399717(0x16e)](_0x47b6d7),await _0x45decb['expire'](_0x47b6d7,this[_0x399717(0x161)]);const _0x5a8b45=_0x47b6d7+':'+_0x2d7cbb;return await _0x45decb['setex'](_0x5a8b45,this[_0x399717(0x161)],_0x2d7cbb),logger[_0x399717(0x165)]({'event':'read_lock_acquired','key':_0x47b6d7,'value':_0x2d7cbb},_0x338b1b['EbFSf']),{'success':!![],'lockValue':_0x2d7cbb,'lockKey':_0x5a8b45};}logger['debug']({'event':_0x338b1b[_0x399717(0x1a5)],'writeKey':_0x253bbe,'attempt':_0x4c1bb8},_0x338b1b['kHrJF']),await this[_0x399717(0x185)](this[_0x399717(0x179)]*Math['pow'](0x2,_0x4c1bb8));}return logger['warn']({'event':_0x399717(0x1a4),'key':_0x47b6d7},_0x338b1b[_0x399717(0x1b6)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4145ca){return logger['error']({'event':'read_lock_error','error':_0x4145ca[_0x399717(0x1b0)]},_0x338b1b[_0x399717(0x193)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x4b7b72(0x181)](_0x3ba75b){const _0x35c0a8=a0_0x4b7b72,_0x29b24b={'YNTiy':'reject','olOEb':function(_0xa90e42,_0x4a3e15){return _0xa90e42===_0x4a3e15;},'vLSdJ':'write_lock_acquired','kskVU':_0x35c0a8(0x1a9),'PJFcH':_0x35c0a8(0x1a0),'zGEZE':_0x35c0a8(0x16c),'KUEXr':function(_0x1e558e,_0x55a16f){return _0x1e558e<_0x55a16f;},'TKUHd':function(_0x541900,_0x18dd72){return _0x541900(_0x18dd72);},'yPtAi':'write_lock_timeout','mhTzJ':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5ef02e=this['buildLockKey']({..._0x3ba75b,'lockType':_0x35c0a8(0x192)}),_0x1d2874=this[_0x35c0a8(0x17b)]({..._0x3ba75b,'lockType':_0x35c0a8(0x16b)}),_0x1764e0=this[_0x35c0a8(0x191)]();try{const _0x1e2d3e=redisClient['getClient']();if(this[_0x35c0a8(0x162)]===_0x29b24b[_0x35c0a8(0x190)]){const _0x2ddd4f=await _0x1e2d3e[_0x35c0a8(0x195)](_0x5ef02e,_0x1764e0,'EX',this['defaultTTL'],'NX');if(_0x29b24b[_0x35c0a8(0x166)](_0x2ddd4f,'OK'))return logger[_0x35c0a8(0x165)]({'event':_0x29b24b[_0x35c0a8(0x182)],'key':_0x5ef02e,'value':_0x1764e0,'strategy':'reject'},_0x29b24b['kskVU']),{'success':!![],'lockValue':_0x1764e0,'lockKey':_0x5ef02e};return logger['debug']({'event':_0x29b24b['PJFcH'],'key':_0x5ef02e},_0x29b24b[_0x35c0a8(0x1a8)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x3f310e=0x0;_0x29b24b[_0x35c0a8(0x18d)](_0x3f310e,this[_0x35c0a8(0x16f)]);_0x3f310e++){const [_0x24ae8b,_0x229fd7]=await Promise['all']([_0x1e2d3e['get'](_0x1d2874),_0x1e2d3e[_0x35c0a8(0x16d)](_0x5ef02e)]);if(!_0x229fd7&&(!_0x24ae8b||_0x29b24b['TKUHd'](parseInt,_0x24ae8b)===0x0)){const _0xfaadad=await _0x1e2d3e[_0x35c0a8(0x195)](_0x5ef02e,_0x1764e0,'EX',this['defaultTTL'],'NX');if(_0x29b24b[_0x35c0a8(0x166)](_0xfaadad,'OK'))return logger[_0x35c0a8(0x165)]({'event':_0x35c0a8(0x180),'key':_0x5ef02e,'value':_0x1764e0,'strategy':'retry'},_0x35c0a8(0x199)),{'success':!![],'lockValue':_0x1764e0,'lockKey':_0x5ef02e};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x5ef02e,'readCount':_0x24ae8b,'attempt':_0x3f310e},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x35c0a8(0x185)](this[_0x35c0a8(0x179)]*Math[_0x35c0a8(0x186)](0x2,_0x3f310e));}return logger['warn']({'event':_0x29b24b[_0x35c0a8(0x178)],'key':_0x5ef02e},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2a30b1){return logger[_0x35c0a8(0x176)]({'event':_0x29b24b['mhTzJ'],'error':_0x2a30b1[_0x35c0a8(0x1b0)]},_0x35c0a8(0x1a1)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0xd5a742,_0x4b71cf){const _0x36b91b=a0_0x4b7b72,_0x67884f={'LnjBm':function(_0x20c027,_0x2ca143){return _0x20c027(_0x2ca143);},'UeRvW':_0x36b91b(0x19d),'QfATp':function(_0x2283c9,_0x40009d){return _0x2283c9===_0x40009d;},'DLqkw':'lock_release_error','cqxmK':'Lock\x20release\x20error'};if(!this[_0x36b91b(0x1ac)]||!_0xd5a742)return!![];try{const _0x5224d6=redisClient['getClient']();if(_0xd5a742[_0x36b91b(0x194)](_0x36b91b(0x18e))){await _0x5224d6[_0x36b91b(0x174)](_0xd5a742);const _0x8e1ee2=_0xd5a742['substring'](0x0,_0xd5a742[_0x36b91b(0x1b2)](':')),_0x2778c9=await _0x5224d6[_0x36b91b(0x16d)](_0x8e1ee2);return _0x2778c9&&_0x67884f[_0x36b91b(0x16a)](parseInt,_0x2778c9)>0x0&&await _0x5224d6[_0x36b91b(0x171)](_0x8e1ee2),logger['debug']({'event':_0x67884f['UeRvW'],'key':_0xd5a742},_0x36b91b(0x18f)),!![];}const _0x41e7ae='\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',_0x5937e1=await _0x5224d6[_0x36b91b(0x1a2)](_0x41e7ae,0x1,_0xd5a742,_0x4b71cf);if(_0x67884f['QfATp'](_0x5937e1,0x1))return logger[_0x36b91b(0x165)]({'event':_0x36b91b(0x17c),'key':_0xd5a742},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':_0x36b91b(0x1b5),'key':_0xd5a742},_0x36b91b(0x17a)),![];}catch(_0x1ac6e5){return logger['error']({'event':_0x67884f[_0x36b91b(0x1ad)],'key':_0xd5a742,'error':_0x1ac6e5['message']},_0x67884f['cqxmK']),![];}}async[a0_0x4b7b72(0x160)](_0x2f6710,_0x44b7a2,_0x2fbdc6=null){const _0x14b38a=a0_0x4b7b72,_0x274fd0={'ViPPM':function(_0x1bf887,_0x521696){return _0x1bf887===_0x521696;}};if(!this['enabled']||!_0x2f6710)return!![];try{const _0x27777b=redisClient[_0x14b38a(0x1aa)](),_0x567163=_0x14b38a(0x18a),_0xbdfc89=await _0x27777b['eval'](_0x567163,0x1,_0x2f6710,_0x44b7a2,_0x2fbdc6||this['defaultTTL']);if(_0x274fd0['ViPPM'](_0xbdfc89,0x1))return logger['debug']({'event':'lock_extended','key':_0x2f6710,'ttl':_0x2fbdc6||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x35d0e6){return logger['error']({'event':_0x14b38a(0x1b1),'key':_0x2f6710,'error':_0x35d0e6[_0x14b38a(0x1b0)]},'Lock\x20extend\x20error'),![];}}['isEnabled'](){const _0x1792f7=a0_0x4b7b72;return this[_0x1792f7(0x1ac)];}['sleep'](_0x1402fc){return new Promise(_0xc77edd=>setTimeout(_0xc77edd,_0x1402fc));}async['getLockInfo'](_0x29bb3d){const _0x50fe90=a0_0x4b7b72,_0x164e10={'VLnMB':'write','ZkSZV':_0x50fe90(0x16b),'fHXeE':function(_0x38b1b3,_0x1bc3dd){return _0x38b1b3(_0x1bc3dd);}};if(!this[_0x50fe90(0x1ac)])return{'enabled':![]};try{const _0x1a89d9=redisClient[_0x50fe90(0x1aa)](),_0x3ffb41=this['buildLockKey']({..._0x29bb3d,'lockType':_0x164e10[_0x50fe90(0x175)]}),_0xb50193=this['buildLockKey']({..._0x29bb3d,'lockType':_0x164e10['ZkSZV']}),[_0x1101d6,_0x4b0d3a]=await Promise[_0x50fe90(0x172)]([_0x1a89d9['get'](_0x3ffb41),_0x1a89d9['get'](_0xb50193)]);return{'enabled':!![],'writeLock':_0x1101d6||null,'readCount':_0x164e10['fHXeE'](parseInt,_0x4b0d3a)||0x0,'writeKey':_0x3ffb41,'readKey':_0xb50193};}catch(_0xb47cb3){return{'enabled':!![],'error':_0xb47cb3['message']};}}}function a0_0x488d(){const _0x1b309f=['vKXUtui','zxjYB3i','lI9SB2DNzxi','Evb0qwK','CMv0CNLezwXHEq','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','yNvPBgrmB2nRs2v5','D3jPDgvFBg9JA19YzwXLyxnLza','EunXCeS','te9ds19esvnuuKLcvvrfrf9srvrswq','te9ds19esvnuuKLcvvrfrf9ftKfcteve','D3jPDgvFBg9JA19Hy3f1AxjLza','ywnXDwLYzvDYAxrLtg9JAW','DKXtzeO','odmWnty4ALDcwMnf','lcbZDhjHDgvNEtOG','C2XLzxa','Cg93','BM93','x3DVCMTLCKLK','ywnXDwLYzvjLywrmB2nR','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CgLK','zw52','s1vfwhi','oNjLywq6','uKvbrcbSB2nRihjLBgvHC2vK','wu5uAxK','z2vUzxjHDgvmB2nRvMfSDwu','D3jPDgu','q2TvwgK','Aw5JBhvKzxm','C2v0','CMv0CNK','x2LUAxrPywXPEMvK','ChjLzML4','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','mJi0ndmWu2DbuNLM','CMvHzf9SB2nRx3DHAxrPBMC','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','CMvHzf9SB2nRx3jLBgvHC2vK','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','D29YA2vYswq','D3jPDgvFBg9JA19YzwPLy3rLza','v1jjveuGBg9JAYbLCNjVCG','zxzHBa','x2rLzMf1BhruveW','CMvHzf9SB2nRx3rPBwvVDxq','suDmuum','AgjxyLq','mJq4ody3mLDrs0HcAq','EKDfwKu','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','z2v0q2XPzw50','Dhj1zq','zw5HyMXLza','reXXA3C','DxvPza','mtiZodu4n25KvwvSsq','BwvZC2fNzq','Bg9JA19LEhrLBMrFzxjYB3i','BgfZDeLUzgv4t2y','x2vUC3vYzuLUAxrPywXPEMvK','x3n0CMf0zwD5','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','uxvHwgK','Bfnqwfq','zxH0zw5Ktg9JAW','zgvMyxvSDfruta','C3rYyxrLz3K','mJyWntu1z0LOsurR','x2vUywjSzwq','zgvIDwC','B2Xprwi','ndi3mtK3AgLxwNLu','Bg9JA19JB25MAwDFAw5PDa','mKjwCuLXwq','tg5QqM0','CMvHza','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','z2v0','Aw5JCG','CMv0CNLdB3vUDa','nZe1nZKYvMXJvgXj','zgvJCG','ywXS','x3bYzwzPEa','zgvS'];a0_0x488d=function(){return _0x1b309f;};return a0_0x488d();}module['exports']=new LockManager();
1
+ const a0_0x4c3c88=a0_0x907d;function a0_0x12ad(){const _0x134748=['zxzHBa','nJzqDLr0t2q','D3jPDgvFBg9JA193ywL0Aw5N','x3jLDhj5q291BNq','BfziC3K','zxHWB3j0CW','x3jLDhj5rgvSyxK','Bg9JA19LEhrLBMrLza','ENnWCxm','Bg9JA19LEhrLBMrFzxjYB3i','BwvZC2fNzq','CMvHza','ntKWywD4Bfnm','Cg93','te9ds19esvnuuKLcvvrfrf9uveW','Bg9JA19JB25MAwDFAw5PDa','x3n0CMf0zwD5','uKvbrcbSB2nRigvYCM9Y','zgvMyxvSDfruta','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','ndi3BKjJuNjO','nJiWodrWu0vuzLC','CMy6Bg9JAZO','v1jjveuGBg9JAYbLCNjVCG','mJCWmdq5mNDABLbUAG','CMvHzf9SB2nRx2vYCM9Y','zw5HyMXLza','DKDpv0m','sgvyyLe','te9ds19esvnuuKLcvvrfrf9ftKfcteve','zxjYB3i','CMv0CNK','D3jPDgu','mNWZFdD8nhWXFdb8nxW2','AvHrCLK','zgvS','uKvbrcbSB2nRigfJCxvPCMvK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','tg9JAYbuveWGzxH0zw5Kzwq','mtKZnZGZnxzLwvz4vW','CMvHzf9SB2nRx3rPBwvVDxq','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','D2fYBG','tLvSEM0','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','Bgnjrvq','x2LUAxrdB25MAwC','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','lI9SB2DNzxi','CKz1wge','AuLVB0S','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','D3jPDgvFBg9JA19YzwPLy3rLza','mtiZnZHOyLnsy1u','uKjcEfC','x2vUC3vYzuLUAxrPywXPEMvK','ChjLzML4','D3jPDgvFBg9JA19YzwXLyxnLza','ywnXDwLYzvjLywrmB2nR','x2rLzMf1BhruveW','mJGYotG2q1vXzg5e','z2v0q2XPzw50','mty0mtzItfDZsLu','oty1veDWvNrN','zgvJCG','rNDgqKe','tLD0Au8','CMvHzf9SB2nRx3jLBgvHC2vK','z2v0','CMvHzf9SB2nRx2fJCxvPCMvK','x3bYzwzPEa','x3DVCMTLCKLK','D29YA2vYswq','CMv0CNLdB3vUDa','AxnfBMfIBgvK','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','CuXkq04','v1jjveuGBg9JAYbYzwXLyxnLza','zgvIDwC','BM93','zxHnCxi','C3bSAxq','yNvPBgrmB2nRs2v5','C2XLzxa','x2LUAxrPywXPEMvK','vhvrv0K','D3jPDgvFBg9JA19LCNjVCG','mJa1mJm1thzjrfP4','uKvbrcbSB2nRihjLBgvHC2vK','z1DlzfG','CMv0CNLezwXHEq','zw52'];a0_0x12ad=function(){return _0x134748;};return a0_0x12ad();}(function(_0x367993,_0x527cd3){const _0x110ddf=a0_0x907d,_0x2e07f2=_0x367993();while(!![]){try{const _0x247fa3=parseInt(_0x110ddf(0x135))/0x1+parseInt(_0x110ddf(0xf2))/0x2*(-parseInt(_0x110ddf(0xde))/0x3)+-parseInt(_0x110ddf(0xf5))/0x4+-parseInt(_0x110ddf(0x11d))/0x5*(-parseInt(_0x110ddf(0x113))/0x6)+parseInt(_0x110ddf(0xf1))/0x7*(-parseInt(_0x110ddf(0x11c))/0x8)+-parseInt(_0x110ddf(0x104))/0x9+parseInt(_0x110ddf(0xe9))/0xa*(parseInt(_0x110ddf(0x11a))/0xb);if(_0x247fa3===_0x527cd3)break;else _0x2e07f2['push'](_0x2e07f2['shift']());}catch(_0x659aa5){_0x2e07f2['push'](_0x2e07f2['shift']());}}}(a0_0x12ad,0x67326));const redisClient=require('./redis-client'),{logger}=require(a0_0x4c3c88(0x10e)),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x3fa95f=a0_0x4c3c88,_0x84d22e={'ZBaOD':_0x3fa95f(0xfe)},_0x1df159=_0x84d22e['ZBaOD'][_0x3fa95f(0x12f)]('|');let _0x2e05b6=0x0;while(!![]){switch(_0x1df159[_0x2e05b6++]){case'0':this['_strategy']=null;continue;case'1':this[_0x3fa95f(0xe3)]=null;continue;case'2':this[_0x3fa95f(0x124)]=null;continue;case'3':this['_enabled']=null;continue;case'4':this['_retryCount']=null;continue;case'5':this[_0x3fa95f(0x125)]=null;continue;case'6':this['_initialized']=![];continue;case'7':this[_0x3fa95f(0x119)]=null;continue;}break;}}[a0_0x4c3c88(0x10b)](){const _0xba00e1=a0_0x4c3c88,_0x147281={'OTzND':_0xba00e1(0xf3),'mLpHw':_0xba00e1(0xec),'hYNVX':function(_0x46a49b,_0x37c94e,_0x4f7bc2){return _0x46a49b(_0x37c94e,_0x4f7bc2);},'qLJCN':'retry','VctWG':function(_0x3446ce,_0x2cb58a,_0x384e95){return _0x3446ce(_0x2cb58a,_0x384e95);}},_0x3d985d='0|5|3|6|8|7|4|1|2'['split']('|');let _0x28277b=0x0;while(!![]){switch(_0x3d985d[_0x28277b++]){case'0':this[_0xba00e1(0x124)]=_0x147281['OTzND'];continue;case'1':this['_initialized']=!![];continue;case'2':logger['info']({'event':_0x147281['mLpHw'],'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0xba00e1(0xe3)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'3':this['_defaultTTL']=_0x147281['hYNVX'](parseInt,process[_0xba00e1(0x139)][_0xba00e1(0xeb)],0xa)||0xa;continue;case'4':this['_workerId']='worker-'+process['pid'];continue;case'5':this['_enabled']=process['env'][_0xba00e1(0xfa)]==='true';continue;case'6':this['_retryCount']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'7':this[_0xba00e1(0xed)]=process[_0xba00e1(0x139)][_0xba00e1(0x129)]||_0x147281[_0xba00e1(0x12a)];continue;case'8':this['_retryDelay']=_0x147281['VctWG'](parseInt,process['env'][_0xba00e1(0x10c)],0xa)||0x64;continue;}break;}}[a0_0x4c3c88(0x115)](){const _0x5f521d=a0_0x4c3c88;!this[_0x5f521d(0x132)]&&this[_0x5f521d(0x10b)]();}get[a0_0x4c3c88(0x116)](){const _0x543450=a0_0x4c3c88;return this['_ensureInitialized'](),this[_0x543450(0x124)];}get[a0_0x4c3c88(0xf7)](){const _0x77b1eb=a0_0x4c3c88;return this[_0x77b1eb(0x115)](),this['_enabled'];}get[a0_0x4c3c88(0xef)](){const _0x4b1049=a0_0x4c3c88;return this[_0x4b1049(0x115)](),this['_defaultTTL'];}get[a0_0x4c3c88(0x127)](){const _0x20e0c7=a0_0x4c3c88;return this[_0x20e0c7(0x115)](),this[_0x20e0c7(0xe0)];}get[a0_0x4c3c88(0x138)](){const _0xd4c410=a0_0x4c3c88;return this['_ensureInitialized'](),this[_0xd4c410(0xe3)];}get['strategy'](){const _0x2d7c02=a0_0x4c3c88;return this[_0x2d7c02(0x115)](),this[_0x2d7c02(0xed)];}get[a0_0x4c3c88(0x126)](){const _0xdb343c=a0_0x4c3c88;return this[_0xdb343c(0x115)](),this['_workerId'];}[a0_0x4c3c88(0x130)](_0x3fe421){const _0x3b2768=a0_0x4c3c88,{module:_0xf3533,endpoint:_0xb2b8dc,lockType:_0x33a925,recordId:_0x31dad2}=_0x3fe421;if(_0x31dad2)return''+this[_0x3b2768(0x116)]+_0xf3533+':'+_0xb2b8dc+':'+_0x31dad2+':'+_0x33a925;return''+this['prefix']+_0xf3533+':'+_0xb2b8dc+':'+_0x33a925;}['generateLockValue'](){const _0x45c5b8=a0_0x4c3c88;return this['workerId']+':'+uuidv4()+':'+Date[_0x45c5b8(0x12d)]();}async[a0_0x4c3c88(0x118)](_0x596f72){const _0x21e8f7=a0_0x4c3c88,_0x483be0={'NWtiO':_0x21e8f7(0xfd),'IiNRd':_0x21e8f7(0x101),'UWxGx':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','exMqr':'READ\x20lock\x20acquire\x20timeout','NUlzm':_0x21e8f7(0xee)};if(!this[_0x21e8f7(0xf7)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x504ff6=this[_0x21e8f7(0x130)]({..._0x596f72,'lockType':_0x483be0[_0x21e8f7(0x120)]}),_0x394b9a=this['buildLockKey']({..._0x596f72,'lockType':'read'}),_0x2685b3=this['generateLockValue']();try{const _0xb8d73e=redisClient[_0x21e8f7(0x11b)]();for(let _0x14509e=0x0;_0x14509e<this[_0x21e8f7(0x127)];_0x14509e++){const _0x30bbae=await _0xb8d73e['get'](_0x504ff6);if(!_0x30bbae){await _0xb8d73e['incr'](_0x394b9a),await _0xb8d73e['expire'](_0x394b9a,this['defaultTTL']);const _0x435613=_0x394b9a+':'+_0x2685b3;return await _0xb8d73e['setex'](_0x435613,this['defaultTTL'],_0x2685b3),logger['debug']({'event':_0x21e8f7(0x123),'key':_0x394b9a,'value':_0x2685b3},_0x483be0['IiNRd']),{'success':!![],'lockValue':_0x2685b3,'lockKey':_0x435613};}logger['debug']({'event':'read_lock_waiting','writeKey':_0x504ff6,'attempt':_0x14509e},_0x483be0['UWxGx']),await this['sleep'](this[_0x21e8f7(0x138)]*Math['pow'](0x2,_0x14509e));}return logger['warn']({'event':_0x21e8f7(0x105),'key':_0x394b9a},_0x483be0[_0x21e8f7(0x12e)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x1f2f8d){return logger['error']({'event':_0x21e8f7(0xf6),'error':_0x1f2f8d['message']},_0x483be0[_0x21e8f7(0x108)]),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x3f10a1){const _0xe3f191=a0_0x4c3c88,_0x2d846d={'FwFBA':_0xe3f191(0xfd),'gWKdX':_0xe3f191(0xe8),'SLWSR':'reject','EIQiy':_0xe3f191(0x10d),'HeXbQ':_0xe3f191(0x112),'zOiQH':function(_0x345250,_0x15b5d9){return _0x345250(_0x15b5d9);},'rFuXa':function(_0x2a3c03,_0x384ef6){return _0x2a3c03===_0x384ef6;},'mviBM':'write_lock_acquired','dnwFs':_0xe3f191(0xfc),'lQBrU':_0xe3f191(0xdf),'XWBBi':function(_0x28c195,_0x8469dd){return _0x28c195*_0x8469dd;},'iIooK':'write_lock_timeout','emQYY':'WRITE\x20lock\x20acquire\x20timeout','vGOWC':_0xe3f191(0xf4)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x476cc3=this['buildLockKey']({..._0x3f10a1,'lockType':_0x2d846d[_0xe3f191(0x11f)]}),_0x384a64=this['buildLockKey']({..._0x3f10a1,'lockType':_0x2d846d[_0xe3f191(0x137)]}),_0x1b22cb=this['generateLockValue']();try{const _0x41383f=redisClient[_0xe3f191(0x11b)]();if(this['strategy']===_0x2d846d['SLWSR']){const _0x2fb38e=await _0x41383f['set'](_0x476cc3,_0x1b22cb,'EX',this['defaultTTL'],'NX');if(_0x2fb38e==='OK')return logger[_0xe3f191(0x12c)]({'event':'write_lock_acquired','key':_0x476cc3,'value':_0x1b22cb,'strategy':'reject'},_0x2d846d['EIQiy']),{'success':!![],'lockValue':_0x1b22cb,'lockKey':_0x476cc3};return logger[_0xe3f191(0x12c)]({'event':_0x2d846d[_0xe3f191(0xf9)],'key':_0x476cc3},_0xe3f191(0xf0)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x232b0b=0x0;_0x232b0b<this[_0xe3f191(0x127)];_0x232b0b++){const [_0x346e60,_0x34d3c2]=await Promise['all']([_0x41383f[_0xe3f191(0x122)](_0x384a64),_0x41383f[_0xe3f191(0x122)](_0x476cc3)]);if(!_0x34d3c2&&(!_0x346e60||_0x2d846d['zOiQH'](parseInt,_0x346e60)===0x0)){const _0x523736=await _0x41383f['set'](_0x476cc3,_0x1b22cb,'EX',this[_0xe3f191(0xef)],'NX');if(_0x2d846d[_0xe3f191(0x10f)](_0x523736,'OK'))return logger['debug']({'event':_0x2d846d['mviBM'],'key':_0x476cc3,'value':_0x1b22cb,'strategy':_0x2d846d['dnwFs']},_0xe3f191(0x111)),{'success':!![],'lockValue':_0x1b22cb,'lockKey':_0x476cc3};}logger[_0xe3f191(0x12c)]({'event':_0x2d846d['lQBrU'],'writeKey':_0x476cc3,'readCount':_0x346e60,'attempt':_0x232b0b},_0xe3f191(0x109)),await this[_0xe3f191(0x131)](_0x2d846d['XWBBi'](this[_0xe3f191(0x138)],Math[_0xe3f191(0xea)](0x2,_0x232b0b)));}return logger[_0xe3f191(0x107)]({'event':_0x2d846d[_0xe3f191(0x110)],'key':_0x476cc3},_0x2d846d['emQYY']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3a0d4a){return logger[_0xe3f191(0xfb)]({'event':_0xe3f191(0x134),'error':_0x3a0d4a[_0xe3f191(0xe7)]},_0x2d846d[_0xe3f191(0xf8)]),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x4eff9e,_0x5d86cb){const _0x10384f=a0_0x4c3c88,_0x417dcc={'UinST':_0x10384f(0x121),'YbFBa':_0x10384f(0x136),'uuCqL':function(_0x7832e1,_0x256162){return _0x7832e1===_0x256162;},'RBBxW':_0x10384f(0x117),'VFfCu':'Cannot\x20release\x20lock\x20-\x20not\x20owner','TuQWI':'lock_release_error','lcIET':'Lock\x20release\x20error'};if(!this['enabled']||!_0x4eff9e)return!![];try{const _0x183d4a=redisClient['getClient']();if(_0x4eff9e['includes'](':read:')){await _0x183d4a[_0x10384f(0x100)](_0x4eff9e);const _0x172bef=_0x4eff9e['substring'](0x0,_0x4eff9e['lastIndexOf'](':')),_0x11bca8=await _0x183d4a[_0x10384f(0x122)](_0x172bef);return _0x11bca8&&parseInt(_0x11bca8)>0x0&&await _0x183d4a[_0x10384f(0x11e)](_0x172bef),logger['debug']({'event':_0x417dcc['UinST'],'key':_0x4eff9e},_0x417dcc['YbFBa']),!![];}const _0x62907=_0x10384f(0x102),_0x42a46c=await _0x183d4a['eval'](_0x62907,0x1,_0x4eff9e,_0x5d86cb);if(_0x417dcc['uuCqL'](_0x42a46c,0x1))return logger[_0x10384f(0x12c)]({'event':_0x417dcc[_0x10384f(0x114)],'key':_0x4eff9e},_0x10384f(0x12b)),!![];return logger[_0x10384f(0x107)]({'event':_0x10384f(0x106),'key':_0x4eff9e},_0x417dcc['VFfCu']),![];}catch(_0x471b3c){return logger[_0x10384f(0xfb)]({'event':_0x417dcc[_0x10384f(0x133)],'key':_0x4eff9e,'error':_0x471b3c['message']},_0x417dcc[_0x10384f(0x10a)]),![];}}async['extendLock'](_0x32139f,_0x550b3f,_0x32986c=null){const _0x527e3f=a0_0x4c3c88,_0x4b589d={'zspqs':_0x527e3f(0xe6)};if(!this[_0x527e3f(0xf7)]||!_0x32139f)return!![];try{const _0x117249=redisClient['getClient'](),_0x51cd9e='\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',_0x18bc7e=await _0x117249[_0x527e3f(0x13a)](_0x51cd9e,0x1,_0x32139f,_0x550b3f,_0x32986c||this['defaultTTL']);if(_0x18bc7e===0x1)return logger[_0x527e3f(0x12c)]({'event':_0x527e3f(0xe4),'key':_0x32139f,'ttl':_0x32986c||this[_0x527e3f(0xef)]},_0x527e3f(0x103)),!![];return![];}catch(_0x9a68b2){return logger['error']({'event':_0x4b589d[_0x527e3f(0xe5)],'key':_0x32139f,'error':_0x9a68b2[_0x527e3f(0xe7)]},'Lock\x20extend\x20error'),![];}}[a0_0x4c3c88(0x128)](){const _0x379772=a0_0x4c3c88;return this[_0x379772(0xf7)];}['sleep'](_0x2c399){return new Promise(_0x31050d=>setTimeout(_0x31050d,_0x2c399));}async['getLockInfo'](_0x1cf733){const _0x2e3655=a0_0x4c3c88,_0x3a1bf3={'iXQrY':_0x2e3655(0xfd),'lVHsy':'read'};if(!this['enabled'])return{'enabled':![]};try{const _0x739569=redisClient[_0x2e3655(0x11b)](),_0x53e19a=this[_0x2e3655(0x130)]({..._0x1cf733,'lockType':_0x3a1bf3[_0x2e3655(0xff)]}),_0x55ba89=this[_0x2e3655(0x130)]({..._0x1cf733,'lockType':_0x3a1bf3[_0x2e3655(0xe1)]}),[_0x5c7992,_0x57d089]=await Promise['all']([_0x739569[_0x2e3655(0x122)](_0x53e19a),_0x739569[_0x2e3655(0x122)](_0x55ba89)]);return{'enabled':!![],'writeLock':_0x5c7992||null,'readCount':parseInt(_0x57d089)||0x0,'writeKey':_0x53e19a,'readKey':_0x55ba89};}catch(_0x24caa9){return{'enabled':!![],'error':_0x24caa9['message']};}}}function a0_0x907d(_0x4fe94f,_0x3f003b){_0x4fe94f=_0x4fe94f-0xde;const _0x12adf9=a0_0x12ad();let _0x907dbc=_0x12adf9[_0x4fe94f];if(a0_0x907d['HGfNaL']===undefined){var _0x488dcb=function(_0x557a1a){const _0x445cd5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39fc8a='',_0x20afaf='';for(let _0x206af9=0x0,_0x2772d8,_0x3fef2c,_0x1a4fb4=0x0;_0x3fef2c=_0x557a1a['charAt'](_0x1a4fb4++);~_0x3fef2c&&(_0x2772d8=_0x206af9%0x4?_0x2772d8*0x40+_0x3fef2c:_0x3fef2c,_0x206af9++%0x4)?_0x39fc8a+=String['fromCharCode'](0xff&_0x2772d8>>(-0x2*_0x206af9&0x6)):0x0){_0x3fef2c=_0x445cd5['indexOf'](_0x3fef2c);}for(let _0x11f940=0x0,_0x510e20=_0x39fc8a['length'];_0x11f940<_0x510e20;_0x11f940++){_0x20afaf+='%'+('00'+_0x39fc8a['charCodeAt'](_0x11f940)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20afaf);};a0_0x907d['dwPYKw']=_0x488dcb,a0_0x907d['xXcvXs']={},a0_0x907d['HGfNaL']=!![];}const _0x3f8345=_0x12adf9[0x0],_0x11bacc=_0x4fe94f+_0x3f8345,_0x3b52e7=a0_0x907d['xXcvXs'][_0x11bacc];return!_0x3b52e7?(_0x907dbc=a0_0x907d['dwPYKw'](_0x907dbc),a0_0x907d['xXcvXs'][_0x11bacc]=_0x907dbc):_0x907dbc=_0x3b52e7,_0x907dbc;}module[a0_0x4c3c88(0xe2)]=new LockManager();
@@ -1 +1 @@
1
- function a0_0x1d13(){const _0x7025de=['C3rHy2S','tK9erv9ftLy','Cgf0Aa','zgvIDwC','Bwv0Ag9K','zhvYyxrPB25nCW','reiGuxvLCNK','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','wgnhqwG','DNvHt0C','t1zIvgG','CgLK','ChjVAMvJDa','C29Tzq','AgjNsuC','Dg9Rzw4','D2fYBG','ChjPDMf0zwTLEq','Dhj1zq','wKrQrgi','mta2ntK2nLbzDfjqua','yNvWDwO','y29UzMLNrMLSzq','zgjFDhjHBNnHy3rPB24','wNzoA2O','mtqWnwDeC3fjDG','Dg9vChbLCKnHC2u','C3rHDhvZq29Kzq','yxbPs2v5','EfjNEhy','C3rYAw5N','zMf0ywW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','q2PzB2O','Dg9ju09tDhjPBMC','ndbfAxDquK8','A2Ptse4','Ec1Yzxf1zxn0lwLK','rxjYB3i6ia','ENHmrfO','yxv0Ag9YAxPHDgLVBG','zxjYB3i','ic0G','tM9Kzs5QCW','B2jQzwn0','sLDux1nfq1jfva','vfjbtLnbq1rjt05FuK9mtejbq0S','tgDuuui','zgjFCxvLCNK','txbYCgS','quXurvi','suTlzwO','C3rHDhvZ','tuPpEgS','r3nIELa','B3rW','A2v5CW','zw5KCg9PBNrFCMvNAxn0zxjLza','AxnVvgLTzq','C2vJCMv0','C3vIC3rYAw5N','Ahr0Cf9LCNjVCG','Ce1RAg0','CMvWzwf0','quztwMK','u2vYDMvYihn0yxj0Aw5NoIa','C2vYDMLJzuLUzM8','z2nXvKi','CgfKrw5K','w1jfrefdveveoMHHC2HD','Dg9gAxHLza','BwvTB3j5vxnHz2u','DxbOufK','AxntBg93','BwvZC2fNzq','mte5mda1nxfPtND3yW','nJC4ogrcwMTNza','C3rHCNrZv2L0Aa','Ahr0Cf9Yzxf1zxn0','y0TUsgK','w1jfrefdvevexq','AgvHzgvYCW','CgLU','DhLWzq','ig9UihbVCNqG','Bg9N','C2HZENm','DhjPBq','Cg9YDa','wK11D3O','s2vmExC','mti3mdG1otbPrw15Che','rermx0fmvevs','w1jfrefdveveoNrVA2vUxq','wejfA2W','C3rYAw5NAwz5','u1fmx0Xpr19qqvjbtvm','su5trvju','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','E21Zz30','C2vYDMvYx3n0yxj0Aw5N','y29Kzq','yxbPA2v5','mZq0mZqXBvDLwhf1','sfruuca','yxbPx2TLEq','zMfSC2u','CLLKExm','CMvZDgzVCMDL','Ahj0Aw1L','y3f1r3C','BxmP','Ag9ZDa','ChjVAMvJDf9SB2fKzwq','yMfZzvvYBa','DxnLCG','BKLcqKC','AgvHBhrOq2HLy2S','DvrPB3O','uhjVy2vZCYbxyxjUAw5NoIa','CvnLCMy','Dg9mB3DLCKnHC2u','ChDK','tK5bELq','nJK2mtu5s3vMyKD5','rgf0ywjHC2u6ia','BwTKAxjtEw5J','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','iokvKqRILzeGienVBMzPzYaGicaGidOG','CgLUBY1WCMv0DhK','y2DoBvO','CgfYyw1Z','rxjYB3i','zgvMyxvSDa','AMj4vg4','y29UBMvJDgLVBG','zgf0ywjHC2u','y3jLyxrLv3jPDgvtDhjLyw0','uMn5rgi','C3rKvgLTzuz1BMn0Aw9UCW','zK56Cxe','wKTyAKW','Aw5MBW','icbizwfSDgG6ia','icbvuKW6icaGia','EuTIDhC','zw52','ChjPDMf0zv9RzxK','D3jPDgu','Aw5JBhvKzxm','re51qve','BgvUz3rO','rKDus2q','ywnJzxnZx3rVA2vU','u1fmx0Xpr19tte9xx1riuKvtse9mra','y3jLzgL0x2nHCMq','sw50zxjUywWGC2vYDMvYigvYCM9Y','sxbKq2G','zxHPC3rZu3LUyW','n0XfzxbfqG','BwfW','CgfZC3DVCMq','sxfzDNG','u3zVBK4','vvbeqvrf','rfjpua','oI8V','C3rKu2vYAwfSAxPLCNm','zgf0ywjHC2vFy29UzMLN','CgLUBW','vfjbtLnbq1rjt05Fq09ntuLu','q1jjveLdquW','u0vsvKLdrv9oqu1f','zxHPDa','Bwf0y2G','DxnLCI1Hz2vUDa','rwzPwg8','CMvWBgfJzq','rMDHDK8','q1jfqvrf','uhrKEem','Bw9KDwXL','BMfTzq','ueTyq3a','q09ntuLu','AM9PBG','nda3mda2vMrJzNjf','CKfotLm','DxjS'];a0_0x1d13=function(){return _0x7025de;};return a0_0x1d13();}const a0_0x1e29b7=a0_0x218a;(function(_0xe70e46,_0x16321d){const _0x1be491=a0_0x218a,_0x8f58c1=_0xe70e46();while(!![]){try{const _0x234ac1=parseInt(_0x1be491(0x181))/0x1+-parseInt(_0x1be491(0x1d4))/0x2+parseInt(_0x1be491(0x165))/0x3+parseInt(_0x1be491(0x166))/0x4*(parseInt(_0x1be491(0x1f1))/0x5)+-parseInt(_0x1be491(0x1ec))/0x6*(-parseInt(_0x1be491(0x1b9))/0x7)+-parseInt(_0x1be491(0x1fb))/0x8*(-parseInt(_0x1be491(0x196))/0x9)+-parseInt(_0x1be491(0x175))/0xa;if(_0x234ac1===_0x16321d)break;else _0x8f58c1['push'](_0x8f58c1['shift']());}catch(_0x5e811a){_0x8f58c1['push'](_0x8f58c1['shift']());}}}(a0_0x1d13,0x4b2e1));const pino=require(a0_0x1e29b7(0x1c3)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x1e29b7(0x186),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x1e29b7(0x17d),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x1e29b7(0x1d8)]!=='production',logLevel=process['env']['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x1e29b7(0x19b),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x1e29b7(0x1ac)]['APP_VERSION']||'1.0.5','env':process[a0_0x1e29b7(0x1ac)][a0_0x1e29b7(0x1d8)]||'development'},'timestamp':pino[a0_0x1e29b7(0x1a5)][a0_0x1e29b7(0x154)],'redact':{'paths':['req.headers.authorization',a0_0x1e29b7(0x1df),a0_0x1e29b7(0x1bb),a0_0x1e29b7(0x1e7),'apiKey','DB_PASSWORD',a0_0x1e29b7(0x205)],'censor':a0_0x1e29b7(0x16a)},'serializers':{'req':_0x356ec4=>({'id':_0x356ec4['id'],'method':_0x356ec4['method'],'url':_0x356ec4['url'],'path':_0x356ec4[a0_0x1e29b7(0x1d9)],'remoteAddress':_0x356ec4['ip']||_0x356ec4['connection']?.['remoteAddress']}),'res':_0x8cd47f=>({'statusCode':_0x8cd47f['statusCode'],'headers':_0x8cd47f['getHeaders']?.()}),'err':pino[a0_0x1e29b7(0x1c1)]['err']}});function initFileLogging(){const _0x70ee99=a0_0x1e29b7,_0x5c269b={'ORQMI':_0x70ee99(0x1ea),'pMkhm':_0x70ee99(0x19f),'xRgxv':'restforge','ACTAs':'debug','hbgIG':'app.log','kduLO':'file_logging_enabled','uTioz':'error.log'};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x5c269b['ORQMI'];const _0x40dc93=process['env']['RESTFORGE_PROJECT_NAME']||_0x5c269b[_0x70ee99(0x158)];logDir=process['env']['LOG_DIR']||'./logs/'+_0x40dc93,serviceName=process['env'][_0x70ee99(0x1c6)]||_0x5c269b[_0x70ee99(0x1f5)],sqlLogEnabled=process[_0x70ee99(0x1ac)]['SQL_LOG_ENABLED']===_0x70ee99(0x1ea),sqlLogLevel=process[_0x70ee99(0x1ac)]['SQL_LOG_LEVEL']||_0x5c269b['ACTAs'],sqlLogParams=process[_0x70ee99(0x1ac)][_0x70ee99(0x17a)]!==_0x70ee99(0x184),sqlLogSlowThreshold=parseInt(process[_0x70ee99(0x1ac)][_0x70ee99(0x1b4)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x9555b4=path['resolve'](process['cwd'](),logDir);try{!fs[_0x70ee99(0x1b8)](_0x9555b4)&&fs[_0x70ee99(0x198)](_0x9555b4,{'recursive':!![]});}catch(_0x45362c){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x9555b4+':',_0x45362c[_0x70ee99(0x164)]),fileLoggingInitialized=!![];return;}const _0x18c652=path[_0x70ee99(0x1d3)](_0x9555b4,_0x5c269b[_0x70ee99(0x1e6)]),_0x3d206f=path[_0x70ee99(0x1d3)](_0x9555b4,'error.log');try{appLogStream=fs[_0x70ee99(0x1a3)](_0x18c652,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x3d206f,{'flags':'a'}),fileLoggingInitialized=!![];const _0x5831a4={'event':_0x5c269b['kduLO'],'logDir':_0x9555b4,'files':['app.log',_0x5c269b[_0x70ee99(0x190)]]},_0xc8abd9=_0x70ee99(0x1de)+_0x9555b4;logger['info'](_0x5831a4,_0xc8abd9),writeToFileLog({..._0x5831a4,'level':_0x70ee99(0x1a8),'msg':_0xc8abd9,'time':new Date()['toISOString']()},_0x70ee99(0x1a8));}catch(_0x336b34){console[_0x70ee99(0x201)]('Failed\x20to\x20create\x20log\x20streams:',_0x336b34['message']),fileLoggingInitialized=!![];}}function a0_0x218a(_0x3bc436,_0x8d70f6){_0x3bc436=_0x3bc436-0x14e;const _0x1d1320=a0_0x1d13();let _0x218a26=_0x1d1320[_0x3bc436];if(a0_0x218a['PifpFm']===undefined){var _0x535b25=function(_0x12e866){const _0x41e70a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x465295='',_0x5d06da='';for(let _0x20e1d0=0x0,_0x4cb4f1,_0x518965,_0x3f062a=0x0;_0x518965=_0x12e866['charAt'](_0x3f062a++);~_0x518965&&(_0x4cb4f1=_0x20e1d0%0x4?_0x4cb4f1*0x40+_0x518965:_0x518965,_0x20e1d0++%0x4)?_0x465295+=String['fromCharCode'](0xff&_0x4cb4f1>>(-0x2*_0x20e1d0&0x6)):0x0){_0x518965=_0x41e70a['indexOf'](_0x518965);}for(let _0x527233=0x0,_0x5c398b=_0x465295['length'];_0x527233<_0x5c398b;_0x527233++){_0x5d06da+='%'+('00'+_0x465295['charCodeAt'](_0x527233)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d06da);};a0_0x218a['QAmfXl']=_0x535b25,a0_0x218a['byfoyE']={},a0_0x218a['PifpFm']=!![];}const _0x4ae19e=_0x1d1320[0x0],_0x3ad07e=_0x3bc436+_0x4ae19e,_0x180fa2=a0_0x218a['byfoyE'][_0x3ad07e];return!_0x180fa2?(_0x218a26=a0_0x218a['QAmfXl'](_0x218a26),a0_0x218a['byfoyE'][_0x3ad07e]=_0x218a26):_0x218a26=_0x180fa2,_0x218a26;}function writeToFileLog(_0x401b8e,_0x21456d){const _0x1ac2bd=a0_0x1e29b7,_0x1293ce={'Vpzyx':function(_0x21de34,_0x373530){return _0x21de34||_0x373530;},'XBEkl':function(_0x18a06d,_0x2e32c){return _0x18a06d===_0x2e32c;},'MGZJk':_0x1ac2bd(0x201),'LgTQB':function(_0x430787,_0xd36b33){return _0x430787===_0xd36b33;}};if(_0x1293ce['Vpzyx'](!logToFile,!appLogStream))return;const _0x26671c={'service':serviceName,..._0x401b8e},_0xe3d9b9=JSON[_0x1ac2bd(0x179)](_0x26671c)+'\x0a';appLogStream[_0x1ac2bd(0x1ae)](_0xe3d9b9),(_0x1293ce[_0x1ac2bd(0x178)](_0x21456d,_0x1293ce['MGZJk'])||_0x1293ce[_0x1ac2bd(0x207)](_0x21456d,_0x1ac2bd(0x1f7)))&&(errorLogStream&&errorLogStream['write'](_0xe3d9b9));}const createRequestLogger=(_0x47f4bd={})=>{return logger['child'](_0x47f4bd);},logServerStart=_0x5bbda8=>{const _0x4f7ea0=a0_0x1e29b7,_0x1a1cc9={'OrNLS':function(_0x362948,_0x5b4c20){return _0x362948-_0x5b4c20;},'KeLyw':function(_0x877c21,_0x4bbc20){return _0x877c21(_0x4bbc20);},'gOarv':'ACTIVE','ZvNkj':_0x4f7ea0(0x17e)},_0x34755b='RESTFORGE\x20RUNTIME\x20SERVER',_0x2c71dc=Math['max'](0x0,0x37-_0x34755b['length']),_0x22aa25=Math['floor'](_0x2c71dc/0x2),_0x5e5e86=_0x1a1cc9['OrNLS'](_0x2c71dc,_0x22aa25),_0x589d3c='║'+'\x20'['repeat'](_0x22aa25)+_0x34755b+'\x20'[_0x4f7ea0(0x159)](_0x5e5e86)+'║',_0x5b0e93='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x589d3c+_0x4f7ea0(0x199)+(_0x5bbda8['environment']||_0x4f7ea0(0x203))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x5bbda8[_0x4f7ea0(0x1e4)]||'N/A')[_0x4f7ea0(0x15e)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x1a1cc9[_0x4f7ea0(0x174)](String,_0x5bbda8['port']||0xbb8)['padEnd'](0x26)+_0x4f7ea0(0x19a)+(_0x5bbda8['configFile']||'Default')['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x5bbda8[_0x4f7ea0(0x1f4)]?_0x1a1cc9['gOarv']:'NOT\x20ACTIVE')['padEnd'](0x26)+_0x4f7ea0(0x17c);console[_0x4f7ea0(0x16f)](_0x5b0e93);const _0xb7b275={'event':_0x1a1cc9[_0x4f7ea0(0x1f0)],'project':_0x5bbda8['project'],'port':_0x5bbda8['port'],'config':_0x5bbda8[_0x4f7ea0(0x1ee)],'apiKeyEnabled':!!_0x5bbda8['apiKey']};logger[_0x4f7ea0(0x1a8)](_0xb7b275),writeToFileLog({..._0xb7b275,'level':_0x4f7ea0(0x1a8),'msg':_0x4f7ea0(0x15b)+_0x5bbda8[_0x4f7ea0(0x1e4)]+_0x4f7ea0(0x16e)+_0x5bbda8[_0x4f7ea0(0x172)],'time':new Date()['toISOString']()},'info');},logServerReady=_0x21eb97=>{const _0x2ac8b1=a0_0x1e29b7,_0x433d7e={'ifKJz':'server_ready','hYXhc':_0x2ac8b1(0x1a8)},_0x1de4ac={'event':_0x433d7e['ifKJz'],'port':_0x21eb97['port'],'module':_0x21eb97[_0x2ac8b1(0x1cf)],'healthCheck':_0x21eb97['healthCheck'],'serviceInfo':_0x21eb97[_0x2ac8b1(0x15c)],'baseUrl':_0x21eb97[_0x2ac8b1(0x18c)]},_0x2263d2='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x21eb97[_0x2ac8b1(0x172)];logger[_0x2ac8b1(0x1a8)](_0x1de4ac,_0x2263d2),writeToFileLog({..._0x1de4ac,'level':_0x433d7e['hYXhc'],'msg':_0x2263d2,'time':new Date()['toISOString']()},_0x433d7e['hYXhc']),_0x21eb97['healthCheck']&&logger[_0x2ac8b1(0x1a8)](_0x2ac8b1(0x1a9)+_0x21eb97[_0x2ac8b1(0x18f)]),_0x21eb97['serviceInfo']&&logger[_0x2ac8b1(0x1a8)]('\x20\x20Info:\x20\x20\x20'+_0x21eb97[_0x2ac8b1(0x15c)]),_0x21eb97[_0x2ac8b1(0x18c)]&&logger['info'](_0x2ac8b1(0x1aa)+_0x21eb97[_0x2ac8b1(0x18c)]);},logProjectLoaded=(_0x35c751,_0x159b90)=>{const _0x5c193c=a0_0x1e29b7,_0x374ede={'DiuFz':_0x5c193c(0x18b),'ulDkm':function(_0x4afe33,_0x3455d4,_0x90e7f4){return _0x4afe33(_0x3455d4,_0x90e7f4);}},_0x41d1f5={'event':_0x374ede['DiuFz'],'project':_0x35c751,'path':_0x159b90},_0x1e3716='[OK]\x20Project\x20loaded:\x20'+_0x35c751;logger[_0x5c193c(0x1a8)](_0x41d1f5,_0x1e3716),_0x374ede['ulDkm'](writeToFileLog,{..._0x41d1f5,'level':'info','msg':_0x1e3716,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x3a2bba,_0x3074d0)=>{const _0x2b8e3b=a0_0x1e29b7,_0x2dbe88={'sqErK':_0x2b8e3b(0x153)},_0x55bfda={'event':_0x2dbe88['sqErK'],'endpoint':_0x3a2bba,'route':_0x3074d0},_0x5169ec='\x20\x20→\x20'+_0x3a2bba+':\x20'+_0x3074d0;logger['debug'](_0x55bfda,_0x5169ec),writeToFileLog({..._0x55bfda,'level':'debug','msg':_0x5169ec,'time':new Date()['toISOString']()},_0x2b8e3b(0x1da));},logDatabaseConfig=_0x57434a=>{const _0x5119fd=a0_0x1e29b7,_0x2e3fd4={'xsciL':_0x5119fd(0x1c2),'zaLlP':function(_0x3e07cf,_0x2a9d47,_0x1e3d80){return _0x3e07cf(_0x2a9d47,_0x1e3d80);}},_0x334841={'event':_0x2e3fd4['xsciL'],'host':_0x57434a[_0x5119fd(0x18a)],'port':_0x57434a['port'],'database':_0x57434a[_0x5119fd(0x1a2)],'type':_0x57434a[_0x5119fd(0x16d)],'user':_0x57434a[_0x5119fd(0x18d)]},_0x5d10e3=_0x5119fd(0x197)+_0x57434a['type']+_0x5119fd(0x1c0)+_0x57434a[_0x5119fd(0x18a)]+':'+_0x57434a[_0x5119fd(0x172)]+'/'+_0x57434a[_0x5119fd(0x1a2)];logger['debug'](_0x334841,_0x5d10e3),_0x2e3fd4['zaLlP'](writeToFileLog,{..._0x334841,'level':'debug','msg':_0x5d10e3,'time':new Date()['toISOString']()},_0x5119fd(0x1da));},logRequest=(_0x42ba30,_0x284304,_0x103ce2)=>{const _0x4272b8=a0_0x1e29b7,_0x43120d={'IKKej':_0x4272b8(0x168),'BtitT':_0x4272b8(0x201),'ZKXjL':'warn','cKnHi':function(_0x8edf8b,_0x3083d9,_0x317249){return _0x8edf8b(_0x3083d9,_0x317249);}},_0x2793bc={'event':_0x43120d[_0x4272b8(0x20b)],'method':_0x42ba30[_0x4272b8(0x1db)],'path':_0x42ba30[_0x4272b8(0x1d9)],'statusCode':_0x284304[_0x4272b8(0x1f3)],'durationMs':_0x103ce2,'ip':_0x42ba30['ip']},_0x3755b8=_0x42ba30['method']+'\x20'+_0x42ba30[_0x4272b8(0x1d9)]+_0x4272b8(0x202)+_0x284304[_0x4272b8(0x1f3)]+'\x20('+_0x103ce2+'ms)';let _0x374610='info';if(_0x284304[_0x4272b8(0x1f3)]>=0x1f4)_0x374610=_0x43120d['BtitT'],logger[_0x4272b8(0x201)](_0x2793bc,_0x3755b8);else _0x284304['statusCode']>=0x190?(_0x374610=_0x43120d[_0x4272b8(0x1a7)],logger['warn'](_0x2793bc,_0x3755b8)):logger[_0x4272b8(0x1a8)](_0x2793bc,_0x3755b8);_0x43120d[_0x4272b8(0x169)](writeToFileLog,{..._0x2793bc,'level':_0x374610,'msg':_0x3755b8,'time':new Date()[_0x4272b8(0x1fa)]()},_0x374610);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x1e29b7(0x194),'token',a0_0x1e29b7(0x1b3),'refresh_token','secret','api_secret',a0_0x1e29b7(0x180),a0_0x1e29b7(0x183),'credential','credentials',a0_0x1e29b7(0x16c),a0_0x1e29b7(0x151),a0_0x1e29b7(0x1ad),a0_0x1e29b7(0x1e9)],redactSensitiveParams=(_0x5aa80f,_0x5ab6e6)=>{const _0x3be1b3=a0_0x1e29b7,_0x34ecd9={'ZDjDb':_0x3be1b3(0x16a),'cFkgC':_0x3be1b3(0x1f6),'gcqVB':function(_0x2d627a,_0x13b5b6){return _0x2d627a>_0x13b5b6;},'FGTKd':function(_0x2b1cfd,_0x19af02){return _0x2b1cfd===_0x19af02;}};if(!_0x5aa80f||_0x34ecd9[_0x3be1b3(0x1b2)](_0x5aa80f[_0x3be1b3(0x1b1)],0x0))return _0x5aa80f;const _0x4ca9e0=_0x5ab6e6['toLowerCase'](),_0x565fde=_0x4ca9e0['match'](/\(([^)]+)\)\s*values/i);let _0x5c3c6a=[];_0x565fde&&(_0x5c3c6a=_0x565fde[0x1]['split'](',')[_0x3be1b3(0x1ba)](_0x6b5487=>_0x6b5487[_0x3be1b3(0x171)]()['toLowerCase']()));const _0x26c557=_0x4ca9e0['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x26c557){const _0x545f34=_0x26c557[0x1],_0x12e18a=_0x545f34[_0x3be1b3(0x1c8)](/(\w+)\s*=/g);_0x12e18a&&(_0x5c3c6a=_0x12e18a['map'](_0x450563=>_0x450563[_0x3be1b3(0x1cb)](/\s*=/,'')['trim']()[_0x3be1b3(0x193)]()));}return _0x5aa80f['map']((_0x3643f5,_0x35dbad)=>{const _0x59c791=_0x3be1b3;if(_0x5c3c6a[_0x35dbad]){const _0x4a1dac=_0x5c3c6a[_0x35dbad],_0x20c9ac=SENSITIVE_PARAM_PATTERNS[_0x59c791(0x1e5)](_0x4987c5=>_0x4a1dac[_0x59c791(0x1af)](_0x4987c5));if(_0x20c9ac)return _0x34ecd9[_0x59c791(0x1eb)];}if(typeof _0x3643f5===_0x34ecd9['cFkgC']&&_0x34ecd9[_0x59c791(0x15d)](_0x3643f5[_0x59c791(0x1b1)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x3643f5)&&_0x3643f5[_0x59c791(0x1af)]('.'))return _0x59c791(0x177);if(/^[a-fA-F0-9]{32,}$/['test'](_0x3643f5))return _0x59c791(0x15f);}return _0x3643f5;});},parseQueryMetadata=_0x538c46=>{const _0x24c48f=a0_0x1e29b7,_0x5e08b4={'CjYoj':'SELECT','kjSHN':_0x24c48f(0x1be),'zxLDZ':'DELETE','qxhch':_0x24c48f(0x1d2),'RcyDb':_0x24c48f(0x1c4),'Mqlrh':_0x24c48f(0x20a),'rANNS':_0x24c48f(0x176)},_0x521735=_0x538c46['trim'](),_0xea1642=_0x521735[_0x24c48f(0x1f2)]();let _0x2dc3aa='UNKNOWN',_0x2ffcbe=null;if(_0xea1642[_0x24c48f(0x167)](_0x5e08b4[_0x24c48f(0x1f9)])){_0x2dc3aa=_0x5e08b4[_0x24c48f(0x1f9)];const _0x1543d8=_0x521735[_0x24c48f(0x1c8)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2ffcbe=_0x1543d8?_0x1543d8[0x1]:null;}else{if(_0xea1642['startsWith'](_0x24c48f(0x17b))){_0x2dc3aa=_0x24c48f(0x17b);const _0x285c0e=_0x521735[_0x24c48f(0x1c8)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2ffcbe=_0x285c0e?_0x285c0e[0x1]:null;}else{if(_0xea1642['startsWith'](_0x24c48f(0x1be))){_0x2dc3aa=_0x5e08b4[_0x24c48f(0x1fc)];const _0x4e56fb=_0x521735['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2ffcbe=_0x4e56fb?_0x4e56fb[0x1]:null;}else{if(_0xea1642['startsWith'](_0x5e08b4[_0x24c48f(0x1ff)])){_0x2dc3aa=_0x5e08b4['zxLDZ'];const _0x22465c=_0x521735[_0x24c48f(0x1c8)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2ffcbe=_0x22465c?_0x22465c[0x1]:null;}else{if(_0xea1642['startsWith']('BEGIN')||_0xea1642['startsWith']('START\x20TRANSACTION'))_0x2dc3aa='TRANSACTION_BEGIN';else{if(_0xea1642['startsWith'](_0x5e08b4['qxhch']))_0x2dc3aa=_0x5e08b4[_0x24c48f(0x1a4)];else{if(_0xea1642['startsWith']('ROLLBACK'))_0x2dc3aa=_0x24c48f(0x206);else{if(_0xea1642[_0x24c48f(0x167)](_0x24c48f(0x1cd)))_0x2dc3aa='DDL_CREATE';else{if(_0xea1642['startsWith'](_0x5e08b4['Mqlrh']))_0x2dc3aa=_0x5e08b4[_0x24c48f(0x1d5)];else _0xea1642['startsWith'](_0x24c48f(0x1bf))&&(_0x2dc3aa='DDL_DROP');}}}}}}}}return{'type':_0x2dc3aa,'table':_0x2ffcbe};},startQueryTimer=()=>{const _0x3254a4={'FgavO':function(_0x21fb12,_0x3c3d0a){return _0x21fb12(_0x3c3d0a);},'sCjgr':function(_0xd8cd89,_0xd27ee7){return _0xd8cd89/_0xd27ee7;}},_0x3735bf=process['hrtime']();return()=>{const _0x5a6e7b=a0_0x218a,[_0x99064e,_0x5e20e8]=process[_0x5a6e7b(0x187)](_0x3735bf);return _0x3254a4[_0x5a6e7b(0x1cc)](parseFloat,(_0x99064e*0x3e8+_0x3254a4['sCjgr'](_0x5e20e8,0xf4240))[_0x5a6e7b(0x160)](0x2));};},logQuery=(_0x5a1419,_0x22e493=[],_0x5cdcd2={})=>{const _0x3ea4af=a0_0x1e29b7,_0x36064f={'SvonN':'postgresql','OVbTh':function(_0x424841,_0x111d4c){return _0x424841>_0x111d4c;},'tNJCY':function(_0x24f5ee,_0x5b7eaf){return _0x24f5ee!==_0x5b7eaf;},'wdKRB':function(_0x177009,_0x41fc05){return _0x177009>_0x41fc05;},'jbxTn':function(_0x3c171c,_0x4887f4){return _0x3c171c!==_0x4887f4;},'cFsEg':_0x3ea4af(0x1da),'VXmlx':'info'};if(!sqlLogEnabled){logger[_0x3ea4af(0x1da)]({'event':_0x3ea4af(0x208),'query':_0x5a1419[_0x3ea4af(0x156)](0x0,0xc8),'paramCount':_0x22e493[_0x3ea4af(0x1b1)]},_0x3ea4af(0x1dd));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x36064f[_0x3ea4af(0x1bd)]}=_0x5cdcd2,{type:_0x5d8412,table:_0x4a772e}=parseQueryMetadata(_0x5a1419),_0x153d89={'event':'sql_query','queryType':_0x5d8412,'table':_0x4a772e,'query':_0x5a1419,'paramCount':_0x22e493['length'],'dbType':dbType};sqlLogParams&&_0x36064f[_0x3ea4af(0x1e2)](_0x22e493[_0x3ea4af(0x1b1)],0x0)&&(_0x153d89[_0x3ea4af(0x19d)]=redactSensitiveParams(_0x22e493,_0x5a1419));_0x36064f['tNJCY'](duration,null)&&(_0x153d89[_0x3ea4af(0x1dc)]=duration,_0x153d89[_0x3ea4af(0x163)]=_0x36064f['wdKRB'](duration,sqlLogSlowThreshold));_0x36064f[_0x3ea4af(0x1a0)](rowsAffected,null)&&(_0x153d89['rowsAffected']=rowsAffected);const _0x20566a=_0x4a772e||'unknown';let _0x337b2f='['+_0x5d8412+']\x20'+_0x20566a;duration!==null&&(_0x337b2f+='\x20('+duration+_0x3ea4af(0x189));const _0x450190=duration!==null&&duration>sqlLogSlowThreshold;let _0x3d6608=_0x36064f['cFsEg'];if(_0x450190)_0x337b2f+='\x20[SLOW]',_0x3d6608='warn',logger['warn'](_0x153d89,_0x337b2f);else sqlLogLevel==='info'?(_0x3d6608=_0x36064f['VXmlx'],logger['info'](_0x153d89,_0x337b2f)):logger['debug'](_0x153d89,_0x337b2f);writeToFileLog({..._0x153d89,'level':_0x3d6608,'msg':_0x337b2f,'time':new Date()['toISOString']()},_0x3d6608);},logTransaction=(_0x368281,_0x308022)=>{const _0x46f765=a0_0x1e29b7,_0x5ecd7e={'MJOxk':_0x46f765(0x1da)},_0x272df2={'event':_0x46f765(0x1ef),'status':_0x368281,'queryCount':_0x308022},_0x18c255='Transaction\x20'+_0x368281;logger['debug'](_0x272df2,_0x18c255),writeToFileLog({..._0x272df2,'level':_0x5ecd7e[_0x46f765(0x14f)],'msg':_0x18c255,'time':new Date()[_0x46f765(0x1fa)]()},_0x46f765(0x1da));},redactObject=_0x19f693=>{const _0x565188=a0_0x1e29b7,_0x49d078={'shszs':function(_0x387e84,_0x167c7e){return _0x387e84!==_0x167c7e;},'PKXCp':_0x565188(0x204),'bupuj':_0x565188(0x1bb),'fNzqq':_0x565188(0x155),'PvcHO':_0x565188(0x200),'DNuAQ':'creditcard','nIBBG':_0x565188(0x1b5),'rKLQL':'cvv','cgNmZ':'refresh_token','rYdys':function(_0x52db60,_0x39c7b8){return _0x52db60(_0x39c7b8);}};if(!_0x19f693||_0x49d078[_0x565188(0x170)](typeof _0x19f693,_0x49d078['PKXCp']))return _0x19f693;const _0x14ad24=[_0x49d078[_0x565188(0x1ed)],'passwd',_0x565188(0x194),_0x565188(0x1e7),_0x49d078[_0x565188(0x1a6)],_0x565188(0x180),'api_key',_0x49d078['PvcHO'],_0x49d078[_0x565188(0x1b0)],_0x49d078[_0x565188(0x18e)],_0x49d078['rKLQL'],'ssn','pin',_0x565188(0x1ad),_0x565188(0x1e9),_0x49d078[_0x565188(0x19c)],_0x565188(0x1b3)],_0x1f9561=Array['isArray'](_0x19f693)?[..._0x19f693]:{..._0x19f693};for(const _0x38e3a5 of Object[_0x565188(0x152)](_0x1f9561)){const _0x2aaf37=_0x38e3a5['toLowerCase']();if(_0x14ad24['some'](_0x688e0e=>_0x2aaf37[_0x565188(0x1af)](_0x688e0e)))_0x1f9561[_0x38e3a5]='[REDACTED]';else typeof _0x1f9561[_0x38e3a5]===_0x49d078[_0x565188(0x1d1)]&&_0x1f9561[_0x38e3a5]!==null&&(_0x1f9561[_0x38e3a5]=_0x49d078[_0x565188(0x185)](redactObject,_0x1f9561[_0x38e3a5]));}return _0x1f9561;},logError=(_0x43f878,_0x4f8ef8={},_0x363c20=null)=>{const _0x528afe=a0_0x1e29b7,_0x57c245={'ebRRC':'Error','uphPY':function(_0x539590,_0x3b58ec,_0x14503d){return _0x539590(_0x3b58ec,_0x14503d);},'Mprpk':'error'},_0x388781={'event':_0x528afe(0x201),'errorName':_0x43f878[_0x528afe(0x1d0)]||_0x57c245['ebRRC'],'errorMessage':_0x43f878[_0x528afe(0x164)],'errorCode':_0x43f878[_0x528afe(0x17f)]||null,'stack':_0x43f878['stack'],..._0x4f8ef8},_0x15953c=_0x363c20||_0x528afe(0x1fe)+_0x43f878[_0x528afe(0x164)];logger['error'](_0x388781,_0x15953c),_0x57c245[_0x528afe(0x162)](writeToFileLog,{..._0x388781,'level':_0x528afe(0x201),'msg':_0x15953c,'time':new Date()['toISOString']()},_0x57c245[_0x528afe(0x209)]);},logFatalError=(_0x1b770f,_0x560701={},_0x5e1756=null)=>{const _0x3d5960=a0_0x1e29b7,_0x9c6dfe={'JgyQh':'fatal_error','nutiU':_0x3d5960(0x19e),'mtbyE':function(_0xc28a14,_0x48a1ad,_0x260481){return _0xc28a14(_0x48a1ad,_0x260481);},'LSjCj':_0x3d5960(0x1f7),'GsbzP':'error'},_0xebb52f={'event':_0x9c6dfe['JgyQh'],'errorName':_0x1b770f[_0x3d5960(0x1d0)]||_0x9c6dfe['nutiU'],'errorMessage':_0x1b770f[_0x3d5960(0x164)],'errorCode':_0x1b770f['code']||null,'stack':_0x1b770f[_0x3d5960(0x1d7)],'severity':_0x3d5960(0x1c5),..._0x560701},_0x2827f3=_0x5e1756||'FATAL:\x20'+_0x1b770f['message'];logger[_0x3d5960(0x1f7)](_0xebb52f,_0x2827f3),_0x9c6dfe['mtbyE'](writeToFileLog,{..._0xebb52f,'level':_0x9c6dfe['LSjCj'],'msg':_0x2827f3,'time':new Date()['toISOString']()},_0x9c6dfe[_0x3d5960(0x150)]);},logHttpError=(_0x261cee,_0x2a34cc,_0x1dbfa1={})=>{const _0x4d0332=a0_0x1e29b7,_0x19929c={'XcGAh':_0x4d0332(0x157),'IpdCh':_0x4d0332(0x19e),'AFSZi':_0x4d0332(0x1c9),'NNAzT':_0x4d0332(0x1fd),'sQbeQ':function(_0x5105eb,_0x5d8656,_0x21f132){return _0x5105eb(_0x5d8656,_0x21f132);},'qSerf':function(_0x4764e5,_0x43b4bb){return _0x4764e5>=_0x43b4bb;},'IqYvx':'warn','ALEUi':'error'},_0x4b26fa={'event':_0x19929c[_0x4d0332(0x1e0)],'errorName':_0x261cee[_0x4d0332(0x1d0)]||_0x19929c[_0x4d0332(0x1b7)],'errorMessage':_0x261cee[_0x4d0332(0x164)],'errorCode':_0x261cee[_0x4d0332(0x17f)]||_0x261cee['statusCode']||0x1f4,'stack':_0x261cee[_0x4d0332(0x1d7)],'method':_0x2a34cc?.[_0x4d0332(0x1db)],'url':_0x2a34cc?.[_0x4d0332(0x1d6)]||_0x2a34cc?.['originalUrl'],'path':_0x2a34cc?.['path'],'ip':_0x2a34cc?.['ip']||_0x2a34cc?.[_0x4d0332(0x1a1)]?.['remoteAddress'],'userAgent':_0x2a34cc?.['get']?.(_0x19929c[_0x4d0332(0x15a)]),'requestId':_0x2a34cc?.['id']||_0x2a34cc?.[_0x4d0332(0x16b)]?.[_0x19929c[_0x4d0332(0x195)]],'body':_0x2a34cc?.['body']?redactObject(_0x2a34cc['body']):undefined,'query':_0x2a34cc?.['query'],..._0x1dbfa1},_0x396c51=_0x261cee['statusCode']||_0x261cee[_0x4d0332(0x14e)]||0x1f4,_0x45af21=_0x4d0332(0x182)+_0x396c51+':\x20'+_0x261cee[_0x4d0332(0x164)];_0x396c51>=0x1f4?logger[_0x4d0332(0x201)](_0x4b26fa,_0x45af21):logger[_0x4d0332(0x1e8)](_0x4b26fa,_0x45af21),_0x19929c['sQbeQ'](writeToFileLog,{..._0x4b26fa,'level':_0x19929c[_0x4d0332(0x192)](_0x396c51,0x1f4)?'error':_0x19929c[_0x4d0332(0x1bc)],'msg':_0x45af21,'time':new Date()['toISOString']()},_0x396c51>=0x1f4?_0x19929c['ALEUi']:_0x19929c[_0x4d0332(0x1bc)]);},logUncaughtError=(_0x2acee9,_0x47b449)=>{const _0x517b11=a0_0x1e29b7,_0x1e53c9={'yKbtw':_0x517b11(0x19e),'LyNYE':_0x517b11(0x1f7)},_0x3352e1={'event':_0x2acee9,'errorName':_0x47b449?.['name']||_0x1e53c9[_0x517b11(0x1ab)],'errorMessage':_0x47b449?.['message']||String(_0x47b449),'errorCode':_0x47b449?.[_0x517b11(0x17f)]||null,'stack':_0x47b449?.[_0x517b11(0x1d7)],'severity':_0x517b11(0x1c5),'processId':process[_0x517b11(0x1e3)],'memoryUsage':process[_0x517b11(0x161)](),'uptime':process['uptime']()},_0x3cbaf6='['+_0x2acee9['toUpperCase']()+']\x20'+(_0x47b449?.[_0x517b11(0x164)]||_0x47b449);logger[_0x517b11(0x1f7)](_0x3352e1,_0x3cbaf6),writeToFileLog({..._0x3352e1,'level':_0x1e53c9['LyNYE'],'msg':_0x3cbaf6,'time':new Date()['toISOString']()},_0x517b11(0x201));},setupGlobalErrorHandlers=()=>{const _0x433c95=a0_0x1e29b7,_0x41c622={'PtdxC':'uncaughtException','cquGw':function(_0x1ad915,_0x520f0e,_0x80b0e5){return _0x1ad915(_0x520f0e,_0x80b0e5);},'vuaOG':'unhandledRejection','ZMuwz':_0x433c95(0x1f8),'UqAmt':_0x433c95(0x1a8)};process['on'](_0x41c622['PtdxC'],_0x549361=>{const _0x41853d=_0x433c95;logUncaughtError(_0x41c622[_0x41853d(0x1ce)],_0x549361),_0x41c622[_0x41853d(0x188)](setTimeout,()=>{const _0x2174b7=_0x41853d;process[_0x2174b7(0x1c7)](0x1);},0x3e8);}),process['on'](_0x41c622['vuaOG'],(_0x20d5eb,_0x308165)=>{const _0x34e91d=_0x433c95,_0xe3790b=_0x20d5eb instanceof Error?_0x20d5eb:new Error(String(_0x20d5eb));_0x41c622[_0x34e91d(0x188)](logUncaughtError,_0x41c622[_0x34e91d(0x1e1)],_0xe3790b);}),process['on']('warning',_0x843b4a=>{const _0x58a19c=_0x433c95;logger['warn']({'event':'process_warning','name':_0x843b4a[_0x58a19c(0x1d0)],'message':_0x843b4a[_0x58a19c(0x164)],'stack':_0x843b4a[_0x58a19c(0x1d7)]},_0x58a19c(0x191)+_0x843b4a[_0x58a19c(0x164)]);});const _0x392767={'event':'global_error_handlers_setup'},_0x5e5e35=_0x41c622[_0x433c95(0x173)];logger[_0x433c95(0x1a8)](_0x392767,_0x5e5e35),_0x41c622[_0x433c95(0x188)](writeToFileLog,{..._0x392767,'level':'info','msg':_0x5e5e35,'time':new Date()['toISOString']()},_0x41c622['UqAmt']);},createErrorHandlerMiddleware=()=>{const _0x535fdd=a0_0x1e29b7,_0x18f73b={'EfiXo':_0x535fdd(0x1b6)};return(_0x42911f,_0x4569b1,_0x18e38b,_0x583ea5)=>{const _0x4d3c47=_0x535fdd;logHttpError(_0x42911f,_0x4569b1);const _0x59d2a9=_0x42911f['statusCode']||_0x42911f[_0x4d3c47(0x14e)]||0x1f4;_0x18e38b['status'](_0x59d2a9)['json']({'success':![],'error':_0x59d2a9>=0x1f4?_0x18f73b[_0x4d3c47(0x1ca)]:_0x42911f[_0x4d3c47(0x164)],'requestId':_0x4569b1['id']||_0x4569b1['headers']?.[_0x4d3c47(0x1fd)]||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
+ const a0_0x8abba4=a0_0x58aa;(function(_0x15d31c,_0x2b4465){const _0x22b2a6=a0_0x58aa,_0x52cc29=_0x15d31c();while(!![]){try{const _0x28e00d=parseInt(_0x22b2a6(0xce))/0x1*(parseInt(_0x22b2a6(0xc7))/0x2)+-parseInt(_0x22b2a6(0x113))/0x3+-parseInt(_0x22b2a6(0x127))/0x4*(-parseInt(_0x22b2a6(0xfa))/0x5)+parseInt(_0x22b2a6(0x11b))/0x6*(parseInt(_0x22b2a6(0xe9))/0x7)+-parseInt(_0x22b2a6(0x11f))/0x8+parseInt(_0x22b2a6(0xbf))/0x9+-parseInt(_0x22b2a6(0xe4))/0xa;if(_0x28e00d===_0x2b4465)break;else _0x52cc29['push'](_0x52cc29['shift']());}catch(_0x15b1e9){_0x52cc29['push'](_0x52cc29['shift']());}}}(a0_0x10c8,0xb516a));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x8abba4(0x14d),serviceName=a0_0x8abba4(0xa3),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x8abba4(0xd9),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x8abba4(0x9a),'customColors':a0_0x8abba4(0x154),'hideObject':!![]},isDevelopment=process[a0_0x8abba4(0xc4)]['NODE_ENV']!==a0_0x8abba4(0x133),logLevel=process[a0_0x8abba4(0xc4)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x8abba4(0x112),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x8abba4(0xc4)][a0_0x8abba4(0x114)]||a0_0x8abba4(0xc2),'env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x8abba4(0xcd),a0_0x8abba4(0x141),a0_0x8abba4(0x10b),'token',a0_0x8abba4(0xbc),'DB_PASSWORD',a0_0x8abba4(0x97)],'censor':'[REDACTED]'},'serializers':{'req':_0x1cfdcf=>({'id':_0x1cfdcf['id'],'method':_0x1cfdcf['method'],'url':_0x1cfdcf[a0_0x8abba4(0x10e)],'path':_0x1cfdcf['path'],'remoteAddress':_0x1cfdcf['ip']||_0x1cfdcf['connection']?.['remoteAddress']}),'res':_0x3ea25f=>({'statusCode':_0x3ea25f[a0_0x8abba4(0x11a)],'headers':_0x3ea25f['getHeaders']?.()}),'err':pino[a0_0x8abba4(0xf3)][a0_0x8abba4(0x136)]}});function a0_0x58aa(_0x5a2355,_0x2c1860){_0x5a2355=_0x5a2355-0x97;const _0x10c82e=a0_0x10c8();let _0x58aa57=_0x10c82e[_0x5a2355];if(a0_0x58aa['tJKLmI']===undefined){var _0x1f3da0=function(_0x20787e){const _0x32f4b4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1df2f9='',_0xc41d7a='';for(let _0x1f27dd=0x0,_0x1b9d78,_0x227a83,_0x169452=0x0;_0x227a83=_0x20787e['charAt'](_0x169452++);~_0x227a83&&(_0x1b9d78=_0x1f27dd%0x4?_0x1b9d78*0x40+_0x227a83:_0x227a83,_0x1f27dd++%0x4)?_0x1df2f9+=String['fromCharCode'](0xff&_0x1b9d78>>(-0x2*_0x1f27dd&0x6)):0x0){_0x227a83=_0x32f4b4['indexOf'](_0x227a83);}for(let _0x2b0a23=0x0,_0x13cb2b=_0x1df2f9['length'];_0x2b0a23<_0x13cb2b;_0x2b0a23++){_0xc41d7a+='%'+('00'+_0x1df2f9['charCodeAt'](_0x2b0a23)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc41d7a);};a0_0x58aa['nCBxQV']=_0x1f3da0,a0_0x58aa['qFZgOu']={},a0_0x58aa['tJKLmI']=!![];}const _0x43f1e8=_0x10c82e[0x0],_0x19f92f=_0x5a2355+_0x43f1e8,_0xd9dbb1=a0_0x58aa['qFZgOu'][_0x19f92f];return!_0xd9dbb1?(_0x58aa57=a0_0x58aa['nCBxQV'](_0x58aa57),a0_0x58aa['qFZgOu'][_0x19f92f]=_0x58aa57):_0x58aa57=_0xd9dbb1,_0x58aa57;}function initFileLogging(){const _0xcbb630=a0_0x8abba4,_0x11fec4={'VJHJZ':_0xcbb630(0x108),'eHsPj':function(_0xc58c34,_0x142287){return _0xc58c34===_0x142287;},'QOXsz':'debug','CPHUU':function(_0x57f77f,_0x24a6a6){return _0x57f77f!==_0x24a6a6;},'ezBRu':function(_0x25d441,_0x1794e8){return _0x25d441(_0x1794e8);},'UMpzp':'error.log','Hwidx':'app.log'};if(fileLoggingInitialized)return;logToFile=process[_0xcbb630(0xc4)]['LOG_TO_FILE']===_0xcbb630(0xf9);const _0x1a9730=process[_0xcbb630(0xc4)]['RESTFORGE_PROJECT_NAME']||_0x11fec4[_0xcbb630(0xd3)];logDir=process[_0xcbb630(0xc4)]['LOG_DIR']||'./logs/'+_0x1a9730,serviceName=process['env'][_0xcbb630(0xfe)]||_0xcbb630(0xa3),sqlLogEnabled=_0x11fec4['eHsPj'](process[_0xcbb630(0xc4)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process[_0xcbb630(0xc4)]['SQL_LOG_LEVEL']||_0x11fec4[_0xcbb630(0x13b)],sqlLogParams=_0x11fec4[_0xcbb630(0xa5)](process['env'][_0xcbb630(0xea)],_0xcbb630(0x145)),sqlLogSlowThreshold=_0x11fec4[_0xcbb630(0xda)](parseInt,process[_0xcbb630(0xc4)][_0xcbb630(0x104)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x43dd62=path['resolve'](process['cwd'](),logDir);try{!fs[_0xcbb630(0x143)](_0x43dd62)&&fs[_0xcbb630(0xba)](_0x43dd62,{'recursive':!![]});}catch(_0x357cfe){console[_0xcbb630(0x123)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x43dd62+':',_0x357cfe[_0xcbb630(0x135)]),fileLoggingInitialized=!![];return;}const _0x4237bc=path['join'](_0x43dd62,_0xcbb630(0xfb)),_0x2b36b7=path['join'](_0x43dd62,_0x11fec4[_0xcbb630(0x99)]);try{appLogStream=fs[_0xcbb630(0xc1)](_0x4237bc,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x2b36b7,{'flags':'a'}),fileLoggingInitialized=!![];const _0x395023={'event':_0xcbb630(0x10d),'logDir':_0x43dd62,'files':[_0x11fec4[_0xcbb630(0x149)],_0x11fec4[_0xcbb630(0x99)]]},_0x1075d5=_0xcbb630(0x14c)+_0x43dd62;logger[_0xcbb630(0xc3)](_0x395023,_0x1075d5),writeToFileLog({..._0x395023,'level':'info','msg':_0x1075d5,'time':new Date()['toISOString']()},'info');}catch(_0x480bfb){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x480bfb[_0xcbb630(0x135)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x2a693d,_0x160f76){const _0x362530=a0_0x8abba4,_0xddf6c4={'xhPxf':function(_0x16817e,_0x3ff7a2){return _0x16817e||_0x3ff7a2;},'fMkBG':function(_0x557e0a,_0xcbe7a5){return _0x557e0a===_0xcbe7a5;},'diEDa':function(_0xc42fb2,_0x44942c){return _0xc42fb2===_0x44942c;}};if(_0xddf6c4['xhPxf'](!logToFile,!appLogStream))return;const _0x4f69a1={'service':serviceName,..._0x2a693d},_0x16a3d7=JSON['stringify'](_0x4f69a1)+'\x0a';appLogStream['write'](_0x16a3d7),(_0xddf6c4[_0x362530(0xf4)](_0x160f76,_0x362530(0x123))||_0xddf6c4['diEDa'](_0x160f76,_0x362530(0xc8)))&&(errorLogStream&&errorLogStream[_0x362530(0xa4)](_0x16a3d7));}function a0_0x10c8(){const _0x1111cb=['zgjFCxvLCNK','Dhj1zq','mJmWmtvguwL6u1q','yxbWlMXVzW','CgfZC3DK','w1jfrefdveveoMHHC2HD','u0vsvKLdrv9oqu1f','u25uEwq','zhvYyxrPB25nCW','u1rbuLqGvfjbtLnbq1rjt04','w09lxsbqCM9Qzwn0igXVywrLzdOG','su5trvju','u1fmx0Xpr19tte9xx1riuKvtse9mra','sfLsDxK','CxLjuuK','B3jPz2LUywXvCMW','zgvMyxvSDa','CxvLCNK','CwPhrvq','CgfZC3DVCMq','A0nbtMS','zMLSzv9SB2DNAw5Nx2vUywjSzwq','DxjS','Bwf4','yM9KEq','ChjVAMvJDf9SB2fKzwq','CgLUBY1WCMv0DhK','mJC0mtu1owzUC0ritq','qvbqx1zfuLnjt04','C29Tzq','B3rW','ywnJzxnZx3rVA2vU','ChDK','BxmP','C3rHDhvZq29Kzq','mZi3odCXoeftz09uqG','qKvnCgi','yxbPx2TLEq','D2fYBMLUzW','mta2odu4ndbvEuPHq2K','u0vmrunu','Cg9YDa','rNDbzNa','zxjYB3i','Aw5JBhvKzxm','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','yxbPA2v5','nJa4rKXQAg5Z','iokvKqRILzeGienVBMzPzYaGicaGidOG','DxnLCI1Hz2vUDa','zgf0ywjHC2vFy29UzMLN','zw5KCg9PBNrFCMvNAxn0zxjLza','Cgf0Aa','C2vYDMvYx3n0yxj0Aw5N','icbjBMzVoIaGia','Dg9gAxHLza','vMnwD3m','Dg9ju09tDhjPBMC','C3rYAw5N','ChjVzhvJDgLVBG','C3rHy2S','BwvZC2fNzq','zxjY','tK9uiefdveLwrq','Dg9vChbLCKnHC2u','qKvhsu4','C2vJCMv0','uu9yC3O','iokvKqRILzeGifbYB2PLy3qGicaGidOG','ChjTB1K','w1jfrefdvevexq','EKXUzxy','vu5ltK9xtG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','t3rnAwm','zxHPC3rZu3LUyW','DhjPBq','zMfSC2u','CgfKrw5K','CufkvgO','Dxb0Aw1L','shDPzhG','Bwf0y2G','reDcEvm','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','lI9SB2DZ','yK1Ov0y','AgvHzgvYCW','sfruuca','CgLU','yLjPAMW','C3rHCNrZv2L0Aa','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','Dg9mB3DLCKnHC2u','whvoCu4','yMfZzvvYBa','sLDux1nfq1jfva','BgvUz3rO','vu1WENa','E21Zz30','Evj4vxK','Cg9ZDgDYzxnXBa','CgLK','wu90q3O','rKTesxq','qNjHvfK','zw52AxjVBM1LBNq','r1jVEeK','CMvZDgzVCMDL','D3jPDgu','q1bivvu','vujXDLK','sNjkveO','icdIHPiG','EwP1uue','y3jLzgL0y2fYza','Bwv0Ag9K','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','BwfW','wgDitwO','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Ahbez2y','AKPjrgq','BMfTzq','sxPVCvq','C3bSAxq','D2fYBG','Dfr1Dvm','Dw5Oyw5KBgvKuMvQzwn0Aw9U','qunusvzf','zMf0ywXFzxjYB3i','BwTKAxjtEw5J','DhLWzq','yxbPs2v5','y3jLzgvUDgLHBhm','shLdsMu','nJa2nty0v0ryuNLf','u2vYDMvYihn0yxj0Aw5NoIa','y3jLyxrLv3jPDgvtDhjLyw0','ms4WlJu','Aw5MBW','zw52','ChjPDMf0zwTLEq','C3zlvee','odiXodbps2HlvNC','zMf0ywW','revmrvrf','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','DxnLCG','Ahj0Aw1L','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','mZjUyKfQC2q','CM93C0fMzMvJDgvK','zgvIDwC','zNzZA0W','Dw5JyxvNAhrfEgnLChrPB24','vKPisLO','rermx0fmvevs','Dg9Rzw4','q1jjveLdquW','C3vIC3rYAw5N','CMvTB3rLqwrKCMvZCW','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','zxPcuNu','Bg9N','C2vYDMLJzuLUzM8','rgf0ywjHC2u6ia','wg9dqMu','uhjVy2vZCYbxyxjUAw5NoIa','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','tI9b','icbvuKW6icaGia','rwn6rfC','mtGZnte3mgzfvfbYEq','D1nSyu8','uK9mtejbq0S','z3nmvMm','iokvKqRILzeGiefqssblzxKGicaGidOG','mtrhuuz1BLC','u1fmx0Xpr19qqvjbtvm','q09ntuLu','whHms3C','DgvZDa','rxjYB3i','CMvWBgfJzq','zxHPDa','Ahr0Cf9LCNjVCG','rxbYA3y','C3rKu2vYAwfSAxPLCNm','zK1RqKC','vhjHBNnHy3rPB24G','icbizwfSDgG6ia','CMvWzwf0'];a0_0x10c8=function(){return _0x1111cb;};return a0_0x10c8();}const createRequestLogger=(_0x3fdf44={})=>{return logger['child'](_0x3fdf44);},logServerStart=_0x11adbe=>{const _0x31e17b=a0_0x8abba4,_0x28f258={'pZlSB':_0x31e17b(0xca),'Eprkv':function(_0x378cbd,_0x1d61a4){return _0x378cbd/_0x1d61a4;},'zLnev':function(_0x2ded5a,_0x335877){return _0x2ded5a-_0x335877;},'bfQLb':'Node.js','xaGpw':_0x31e17b(0xe1),'IzoqT':function(_0x28c4b6,_0x47ca6d){return _0x28c4b6(_0x47ca6d);},'XuNqN':_0x31e17b(0xb8),'lOOJp':_0x31e17b(0x137),'IUvqd':_0x31e17b(0xc3)},_0x4105f9=_0x28f258['pZlSB'],_0x390d1c=Math[_0x31e17b(0x10f)](0x0,0x37-_0x4105f9[_0x31e17b(0x98)]),_0x1fc2e1=Math['floor'](_0x28f258[_0x31e17b(0xf2)](_0x390d1c,0x2)),_0x7d9cc2=_0x28f258[_0x31e17b(0x13f)](_0x390d1c,_0x1fc2e1),_0x3c1517='║'+'\x20'[_0x31e17b(0xf7)](_0x1fc2e1)+_0x4105f9+'\x20'['repeat'](_0x7d9cc2)+'║',_0x1ce3a7=_0x31e17b(0xe0)+_0x3c1517+_0x31e17b(0xaf)+(_0x11adbe[_0x31e17b(0xa1)]||_0x28f258['bfQLb'])[_0x31e17b(0x146)](0x26)+_0x31e17b(0x13c)+(_0x11adbe['project']||_0x28f258['xaGpw'])[_0x31e17b(0x146)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x28f258[_0x31e17b(0xb3)](String,_0x11adbe['port']||0xbb8)[_0x31e17b(0x146)](0x26)+_0x31e17b(0x128)+(_0x11adbe['configFile']||'Default')['padEnd'](0x26)+_0x31e17b(0xe8)+(_0x11adbe['apiKey']?_0x28f258[_0x31e17b(0x156)]:_0x28f258['lOOJp'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x31e17b(0xdb)](_0x1ce3a7);const _0x20a124={'event':_0x31e17b(0x12d),'project':_0x11adbe['project'],'port':_0x11adbe['port'],'config':_0x11adbe['configFile'],'apiKeyEnabled':!!_0x11adbe['apiKey']};logger[_0x31e17b(0xc3)](_0x20a124),writeToFileLog({..._0x20a124,'level':_0x28f258['IUvqd'],'msg':_0x31e17b(0xc0)+_0x11adbe['project']+'\x20on\x20port\x20'+_0x11adbe[_0x31e17b(0x121)],'time':new Date()['toISOString']()},'info');},logServerReady=_0x138c87=>{const _0x1a1cdc=a0_0x8abba4,_0x44d56f={'QHrDS':'server_ready','wSlaO':'info'},_0x259c1e={'event':_0x44d56f['QHrDS'],'port':_0x138c87['port'],'module':_0x138c87['module'],'healthCheck':_0x138c87['healthCheck'],'serviceInfo':_0x138c87['serviceInfo'],'baseUrl':_0x138c87[_0x1a1cdc(0x157)]},_0x2b23b4=_0x1a1cdc(0x125)+_0x138c87[_0x1a1cdc(0x121)];logger['info'](_0x259c1e,_0x2b23b4),writeToFileLog({..._0x259c1e,'level':_0x44d56f['wSlaO'],'msg':_0x2b23b4,'time':new Date()[_0x1a1cdc(0x131)]()},_0x44d56f[_0x1a1cdc(0xe5)]),_0x138c87['healthCheck']&&logger[_0x1a1cdc(0xc3)](_0x1a1cdc(0xf6)+_0x138c87['healthCheck']),_0x138c87['serviceInfo']&&logger['info'](_0x1a1cdc(0x12e)+_0x138c87[_0x1a1cdc(0xdc)]),_0x138c87[_0x1a1cdc(0x157)]&&logger['info'](_0x1a1cdc(0xe2)+_0x138c87[_0x1a1cdc(0x157)]);},logProjectLoaded=(_0x4213cc,_0x228a0b)=>{const _0x289053=a0_0x8abba4,_0x106d66={'JrJTJ':_0x289053(0x111),'itbli':'info'},_0x5b2ed3={'event':_0x106d66[_0x289053(0xa7)],'project':_0x4213cc,'path':_0x228a0b},_0x57e13a=_0x289053(0x102)+_0x4213cc;logger[_0x289053(0xc3)](_0x5b2ed3,_0x57e13a),writeToFileLog({..._0x5b2ed3,'level':'info','msg':_0x57e13a,'time':new Date()['toISOString']()},_0x106d66['itbli']);},logEndpointRegistered=(_0x42e9ea,_0x2bbbe6)=>{const _0x15d64c=a0_0x8abba4,_0x1f1492={'FKDIt':function(_0xa8d7a2,_0x3493df,_0x2bd0b9){return _0xa8d7a2(_0x3493df,_0x2bd0b9);},'BEMpb':'debug'},_0x58a92c={'event':_0x15d64c(0x12b),'endpoint':_0x42e9ea,'route':_0x2bbbe6},_0x1b440b=_0x15d64c(0xa8)+_0x42e9ea+':\x20'+_0x2bbbe6;logger['debug'](_0x58a92c,_0x1b440b),_0x1f1492[_0x15d64c(0x9f)](writeToFileLog,{..._0x58a92c,'level':_0x1f1492[_0x15d64c(0x11c)],'msg':_0x1b440b,'time':new Date()[_0x15d64c(0x131)]()},'debug');},logDatabaseConfig=_0x54d850=>{const _0x2da6dd=a0_0x8abba4,_0x48067f={'bMhWF':function(_0x4c060e,_0x248b57,_0x2f5f53){return _0x4c060e(_0x248b57,_0x2f5f53);}},_0x4e1c29={'event':_0x2da6dd(0x12a),'host':_0x54d850['host'],'port':_0x54d850[_0x2da6dd(0x121)],'database':_0x54d850['database'],'type':_0x54d850[_0x2da6dd(0xbb)],'user':_0x54d850[_0x2da6dd(0xcb)]},_0x489a2e=_0x2da6dd(0xdd)+_0x54d850[_0x2da6dd(0xbb)]+'://'+_0x54d850['host']+':'+_0x54d850['port']+'/'+_0x54d850['database'];logger[_0x2da6dd(0xd0)](_0x4e1c29,_0x489a2e),_0x48067f[_0x2da6dd(0x14e)](writeToFileLog,{..._0x4e1c29,'level':'debug','msg':_0x489a2e,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x3bd154,_0x2ada15,_0x5081f3)=>{const _0x1b7c76=a0_0x8abba4,_0x4bd884={'XgHMj':'http_request','OtMic':'error','prmoY':function(_0x25b1cc,_0x1956ed,_0x43275d){return _0x25b1cc(_0x1956ed,_0x43275d);}},_0x95c33d={'event':_0x4bd884[_0x1b7c76(0xae)],'method':_0x3bd154['method'],'path':_0x3bd154[_0x1b7c76(0x12c)],'statusCode':_0x2ada15['statusCode'],'durationMs':_0x5081f3,'ip':_0x3bd154['ip']},_0x3ab43b=_0x3bd154[_0x1b7c76(0xab)]+'\x20'+_0x3bd154['path']+'\x20-\x20'+_0x2ada15['statusCode']+'\x20('+_0x5081f3+_0x1b7c76(0x119);let _0x2638e7='info';if(_0x2ada15[_0x1b7c76(0x11a)]>=0x1f4)_0x2638e7=_0x4bd884[_0x1b7c76(0x142)],logger['error'](_0x95c33d,_0x3ab43b);else _0x2ada15['statusCode']>=0x190?(_0x2638e7=_0x1b7c76(0xb5),logger['warn'](_0x95c33d,_0x3ab43b)):logger['info'](_0x95c33d,_0x3ab43b);_0x4bd884[_0x1b7c76(0x13d)](writeToFileLog,{..._0x95c33d,'level':_0x2638e7,'msg':_0x3ab43b,'time':new Date()[_0x1b7c76(0x131)]()},_0x2638e7);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x8abba4(0xfc),a0_0x8abba4(0x118),a0_0x8abba4(0xd5),a0_0x8abba4(0x117),'refresh_token',a0_0x8abba4(0x13a),'api_secret','apikey',a0_0x8abba4(0x11d),'credential',a0_0x8abba4(0xbd),'pin',a0_0x8abba4(0x116),'private_key',a0_0x8abba4(0xc5)],redactSensitiveParams=(_0x5df817,_0x1e936d)=>{const _0x12f03c=a0_0x8abba4,_0x15468b={'yRxUy':'[REDACTED:token]'};if(!_0x5df817||_0x5df817['length']===0x0)return _0x5df817;const _0x855e5a=_0x1e936d[_0x12f03c(0x155)](),_0x30db82=_0x855e5a[_0x12f03c(0x14a)](/\(([^)]+)\)\s*values/i);let _0x2d3a8b=[];_0x30db82&&(_0x2d3a8b=_0x30db82[0x1][_0x12f03c(0xb4)](',')['map'](_0x13c5da=>_0x13c5da[_0x12f03c(0x144)]()[_0x12f03c(0x155)]()));const _0x471495=_0x855e5a['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x471495){const _0xb3826c=_0x471495[0x1],_0x40bf8b=_0xb3826c[_0x12f03c(0x14a)](/(\w+)\s*=/g);_0x40bf8b&&(_0x2d3a8b=_0x40bf8b[_0x12f03c(0xad)](_0x14b330=>_0x14b330[_0x12f03c(0xef)](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x5df817['map']((_0x1a5576,_0xb3e931)=>{const _0x464680=_0x12f03c;if(_0x2d3a8b[_0xb3e931]){const _0x55e535=_0x2d3a8b[_0xb3e931],_0x2bd0e3=SENSITIVE_PARAM_PATTERNS[_0x464680(0x115)](_0x1f5053=>_0x55e535[_0x464680(0x124)](_0x1f5053));if(_0x2bd0e3)return _0x464680(0x13e);}if(typeof _0x1a5576===_0x464680(0x132)&&_0x1a5576['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x464680(0xed)](_0x1a5576)&&_0x1a5576[_0x464680(0x124)]('.'))return _0x15468b[_0x464680(0x9b)];if(/^[a-fA-F0-9]{32,}$/['test'](_0x1a5576))return _0x464680(0xfd);}return _0x1a5576;});},parseQueryMetadata=_0x5b1f38=>{const _0x339500=a0_0x8abba4,_0xc5e158={'NvvqT':_0x339500(0x103),'UBqvY':'UPDATE','fvskL':'TRANSACTION_BEGIN','HUjyw':_0x339500(0xeb),'OuvLS':'TRANSACTION_COMMIT','WJYbp':_0x339500(0xe6),'XtcGa':'TRANSACTION_ROLLBACK','DGByS':'DDL_CREATE','wvwfm':'ALTER','qjGET':_0x339500(0xd4)},_0x879eb2=_0x5b1f38[_0x339500(0x144)](),_0x307c66=_0x879eb2[_0x339500(0x138)]();let _0xc63af0=_0x339500(0x140),_0xb80253=null;if(_0x307c66['startsWith'](_0x339500(0x120))){_0xc63af0='SELECT';const _0x3d06e5=_0x879eb2['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xb80253=_0x3d06e5?_0x3d06e5[0x1]:null;}else{if(_0x307c66[_0x339500(0x153)](_0xc5e158['NvvqT'])){_0xc63af0=_0xc5e158['NvvqT'];const _0x3248d0=_0x879eb2[_0x339500(0x14a)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xb80253=_0x3248d0?_0x3248d0[0x1]:null;}else{if(_0x307c66[_0x339500(0x153)](_0xc5e158['UBqvY'])){_0xc63af0=_0xc5e158[_0x339500(0xa6)];const _0x8b8ebf=_0x879eb2['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xb80253=_0x8b8ebf?_0x8b8ebf[0x1]:null;}else{if(_0x307c66[_0x339500(0x153)]('DELETE')){_0xc63af0=_0x339500(0xc9);const _0x4ba8f8=_0x879eb2['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xb80253=_0x4ba8f8?_0x4ba8f8[0x1]:null;}else{if(_0x307c66['startsWith'](_0x339500(0x139))||_0x307c66[_0x339500(0x153)](_0x339500(0x101)))_0xc63af0=_0xc5e158[_0x339500(0xd1)];else{if(_0x307c66['startsWith'](_0xc5e158['HUjyw']))_0xc63af0=_0xc5e158['OuvLS'];else{if(_0x307c66[_0x339500(0x153)](_0xc5e158['WJYbp']))_0xc63af0=_0xc5e158['XtcGa'];else{if(_0x307c66[_0x339500(0x153)]('CREATE'))_0xc63af0=_0xc5e158[_0x339500(0x14b)];else{if(_0x307c66['startsWith'](_0xc5e158['wvwfm']))_0xc63af0=_0xc5e158[_0x339500(0x10a)];else _0x307c66['startsWith']('DROP')&&(_0xc63af0='DDL_DROP');}}}}}}}}return{'type':_0xc63af0,'table':_0xb80253};},startQueryTimer=()=>{const _0x2f13e6=a0_0x8abba4,_0x279465={'RHRPj':function(_0x5db054,_0x50b809){return _0x5db054(_0x50b809);},'WHEPi':function(_0x49264b,_0x5b6de7){return _0x49264b*_0x5b6de7;}},_0x117bad=process[_0x2f13e6(0xcc)]();return()=>{const _0x726f9b=_0x2f13e6,[_0x4a4c2,_0x53f7cb]=process['hrtime'](_0x117bad);return _0x279465['RHRPj'](parseFloat,(_0x279465['WHEPi'](_0x4a4c2,0x3e8)+_0x53f7cb/0xf4240)[_0x726f9b(0x12f)](0x2));};},logQuery=(_0x781224,_0x1936fa=[],_0x3caee8={})=>{const _0x389ffc=a0_0x8abba4,_0x104789={'EczDW':_0x389ffc(0xf8),'XWnzV':'DB\x20Query','soLjC':'sql_query','bRijl':function(_0x219969,_0x4a272e,_0x2fa0f4){return _0x219969(_0x4a272e,_0x2fa0f4);},'ghMAD':function(_0x438065,_0x1280aa){return _0x438065!==_0x1280aa;},'BraTY':function(_0x2c6112,_0x353b3f){return _0x2c6112||_0x353b3f;},'gsLVc':_0x389ffc(0xb5),'mNMGE':function(_0x52b24c,_0x47d481){return _0x52b24c===_0x47d481;},'nZIKL':'info'};if(!sqlLogEnabled){logger['debug']({'event':_0x104789[_0x389ffc(0xe3)],'query':_0x781224[_0x389ffc(0xd7)](0x0,0xc8),'paramCount':_0x1936fa['length']},_0x104789['XWnzV']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x389ffc(0x9c)}=_0x3caee8,{type:_0xd3e339,table:_0x49f892}=parseQueryMetadata(_0x781224),_0x181a42={'event':_0x104789['soLjC'],'queryType':_0xd3e339,'table':_0x49f892,'query':_0x781224,'paramCount':_0x1936fa['length'],'dbType':dbType};sqlLogParams&&_0x1936fa['length']>0x0&&(_0x181a42['params']=_0x104789[_0x389ffc(0x152)](redactSensitiveParams,_0x1936fa,_0x781224));duration!==null&&(_0x181a42[_0x389ffc(0x100)]=duration,_0x181a42['isSlow']=duration>sqlLogSlowThreshold);_0x104789['ghMAD'](rowsAffected,null)&&(_0x181a42[_0x389ffc(0xcf)]=rowsAffected);const _0x2af2e7=_0x104789[_0x389ffc(0xa0)](_0x49f892,'unknown');let _0x1c169a='['+_0xd3e339+']\x20'+_0x2af2e7;duration!==null&&(_0x1c169a+='\x20('+duration+_0x389ffc(0x119));const _0x44ea1e=duration!==null&&duration>sqlLogSlowThreshold;let _0x3b78ea=_0x389ffc(0xd0);if(_0x44ea1e)_0x1c169a+='\x20[SLOW]',_0x3b78ea=_0x104789[_0x389ffc(0xe7)],logger['warn'](_0x181a42,_0x1c169a);else _0x104789['mNMGE'](sqlLogLevel,_0x104789['nZIKL'])?(_0x3b78ea=_0x104789['nZIKL'],logger['info'](_0x181a42,_0x1c169a)):logger[_0x389ffc(0xd0)](_0x181a42,_0x1c169a);writeToFileLog({..._0x181a42,'level':_0x3b78ea,'msg':_0x1c169a,'time':new Date()['toISOString']()},_0x3b78ea);},logTransaction=(_0x46c16c,_0x5b8cb9)=>{const _0x5a0062=a0_0x8abba4,_0x5430b9={'svKTA':_0x5a0062(0xd0)},_0x41fb06={'event':'db_transaction','status':_0x46c16c,'queryCount':_0x5b8cb9},_0x5cecde=_0x5a0062(0xf5)+_0x46c16c;logger['debug'](_0x41fb06,_0x5cecde),writeToFileLog({..._0x41fb06,'level':_0x5a0062(0xd0),'msg':_0x5cecde,'time':new Date()[_0x5a0062(0x131)]()},_0x5430b9[_0x5a0062(0xc6)]);},redactObject=_0x512cca=>{const _0xfe7c7c=a0_0x8abba4,_0x244a6d={'qAJTj':'object','rvmMy':_0xfe7c7c(0x10b),'qyIQI':_0xfe7c7c(0xfc),'FwAfp':_0xfe7c7c(0x118),'SbHXC':_0xfe7c7c(0x13a),'hpDgf':'credit_card','tuAtR':'cvv','MWHqR':'ssn','PehrS':'refresh_token'};if(!_0x512cca||typeof _0x512cca!==_0x244a6d[_0xfe7c7c(0x147)])return _0x512cca;const _0x3d23eb=[_0x244a6d['rvmMy'],_0x244a6d[_0xfe7c7c(0x106)],_0x244a6d[_0xfe7c7c(0x122)],_0xfe7c7c(0xd5),_0x244a6d['SbHXC'],_0xfe7c7c(0x126),'api_key','authorization',_0xfe7c7c(0xaa),_0x244a6d[_0xfe7c7c(0xb0)],_0x244a6d['tuAtR'],_0x244a6d['MWHqR'],_0xfe7c7c(0x151),'private_key','privatekey',_0x244a6d['PehrS'],'access_token'],_0x3db5fd=Array['isArray'](_0x512cca)?[..._0x512cca]:{..._0x512cca};for(const _0x3491a9 of Object['keys'](_0x3db5fd)){const _0x4d52ac=_0x3491a9[_0xfe7c7c(0x155)]();if(_0x3d23eb['some'](_0x22e154=>_0x4d52ac[_0xfe7c7c(0x124)](_0x22e154)))_0x3db5fd[_0x3491a9]=_0xfe7c7c(0x13e);else typeof _0x3db5fd[_0x3491a9]===_0x244a6d['qAJTj']&&_0x3db5fd[_0x3491a9]!==null&&(_0x3db5fd[_0x3491a9]=redactObject(_0x3db5fd[_0x3491a9]));}return _0x3db5fd;},logError=(_0x44b02c,_0x31700a={},_0x57a6dc=null)=>{const _0x28929c=a0_0x8abba4,_0x50425d={'XoCBe':'error','jJIDd':'Error','XXEhU':function(_0x1f09ea,_0x30090d,_0x36cdc8){return _0x1f09ea(_0x30090d,_0x36cdc8);}},_0x470da8={'event':_0x50425d['XoCBe'],'errorName':_0x44b02c[_0x28929c(0xb2)]||_0x50425d[_0x28929c(0xb1)],'errorMessage':_0x44b02c['message'],'errorCode':_0x44b02c['code']||null,'stack':_0x44b02c['stack'],..._0x31700a},_0x44f7b2=_0x57a6dc||'Error:\x20'+_0x44b02c['message'];logger[_0x28929c(0x123)](_0x470da8,_0x44f7b2),_0x50425d['XXEhU'](writeToFileLog,{..._0x470da8,'level':_0x50425d['XoCBe'],'msg':_0x44f7b2,'time':new Date()['toISOString']()},_0x50425d[_0x28929c(0xde)]);},logFatalError=(_0x5a265d,_0x5c888f={},_0x55740e=null)=>{const _0x2db504=a0_0x8abba4,_0x2f88f5={'gBmSc':_0x2db504(0xb9),'SnTyd':'Error','GRoxI':function(_0x1f1562,_0x3625f3,_0xe22073){return _0x1f1562(_0x3625f3,_0xe22073);},'xBKMm':_0x2db504(0x123)},_0x2bfcc4={'event':_0x2f88f5['gBmSc'],'errorName':_0x5a265d[_0x2db504(0xb2)]||_0x2f88f5[_0x2db504(0xff)],'errorMessage':_0x5a265d['message'],'errorCode':_0x5a265d['code']||null,'stack':_0x5a265d[_0x2db504(0x134)],'severity':_0x2db504(0xd6),..._0x5c888f},_0x1b49e3=_0x55740e||'FATAL:\x20'+_0x5a265d['message'];logger[_0x2db504(0xc8)](_0x2bfcc4,_0x1b49e3),_0x2f88f5[_0x2db504(0xa2)](writeToFileLog,{..._0x2bfcc4,'level':_0x2db504(0xc8),'msg':_0x1b49e3,'time':new Date()['toISOString']()},_0x2f88f5['xBKMm']);},logHttpError=(_0xef09ef,_0x48622d,_0x1152aa={})=>{const _0xa8c7b8=a0_0x8abba4,_0x39a04f={'HyZsi':_0xa8c7b8(0xf1),'rtohq':_0xa8c7b8(0x129),'tTuuS':function(_0x35e8eb,_0x416ef8){return _0x35e8eb>=_0x416ef8;},'yxbhH':_0xa8c7b8(0xb5),'mMGfV':function(_0x5d0597,_0x46b146){return _0x5d0597>=_0x46b146;},'YOtCz':_0xa8c7b8(0x123)},_0x2ed85b={'event':_0x39a04f['HyZsi'],'errorName':_0xef09ef[_0xa8c7b8(0xb2)]||_0xa8c7b8(0xee),'errorMessage':_0xef09ef[_0xa8c7b8(0x135)],'errorCode':_0xef09ef['code']||_0xef09ef[_0xa8c7b8(0x11a)]||0x1f4,'stack':_0xef09ef[_0xa8c7b8(0x134)],'method':_0x48622d?.[_0xa8c7b8(0xab)],'url':_0x48622d?.[_0xa8c7b8(0x10e)]||_0x48622d?.[_0xa8c7b8(0x107)],'path':_0x48622d?.['path'],'ip':_0x48622d?.['ip']||_0x48622d?.['connection']?.[_0xa8c7b8(0xd8)],'userAgent':_0x48622d?.['get']?.(_0x39a04f['rtohq']),'requestId':_0x48622d?.['id']||_0x48622d?.[_0xa8c7b8(0x14f)]?.['x-request-id'],'body':_0x48622d?.[_0xa8c7b8(0x110)]?redactObject(_0x48622d['body']):undefined,'query':_0x48622d?.[_0xa8c7b8(0x109)],..._0x1152aa},_0x2539b3=_0xef09ef[_0xa8c7b8(0x11a)]||_0xef09ef['status']||0x1f4,_0x775362=_0xa8c7b8(0x150)+_0x2539b3+':\x20'+_0xef09ef[_0xa8c7b8(0x135)];_0x2539b3>=0x1f4?logger['error'](_0x2ed85b,_0x775362):logger['warn'](_0x2ed85b,_0x775362),writeToFileLog({..._0x2ed85b,'level':_0x39a04f[_0xa8c7b8(0xb6)](_0x2539b3,0x1f4)?'error':_0x39a04f['yxbhH'],'msg':_0x775362,'time':new Date()[_0xa8c7b8(0x131)]()},_0x39a04f['mMGfV'](_0x2539b3,0x1f4)?_0x39a04f[_0xa8c7b8(0x9e)]:'warn');},logUncaughtError=(_0x273d3d,_0x3f84a1)=>{const _0x1af311=a0_0x8abba4,_0x2340ae={'RSKwx':_0x1af311(0xee),'YnphH':function(_0x26046c,_0x4a3b1e){return _0x26046c(_0x4a3b1e);},'LvPDO':'CRITICAL','BjoAO':function(_0x35c382,_0x10efc9,_0x1db1a8){return _0x35c382(_0x10efc9,_0x1db1a8);},'VcVws':_0x1af311(0xc8),'bUNfj':'error'},_0x2ee50b={'event':_0x273d3d,'errorName':_0x3f84a1?.[_0x1af311(0xb2)]||_0x2340ae['RSKwx'],'errorMessage':_0x3f84a1?.[_0x1af311(0x135)]||_0x2340ae['YnphH'](String,_0x3f84a1),'errorCode':_0x3f84a1?.['code']||null,'stack':_0x3f84a1?.[_0x1af311(0x134)],'severity':_0x2340ae['LvPDO'],'processId':process[_0x1af311(0x9d)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x1af311(0x148)]()},_0x32c61b='['+_0x273d3d['toUpperCase']()+']\x20'+(_0x3f84a1?.[_0x1af311(0x135)]||_0x3f84a1);logger[_0x1af311(0xc8)](_0x2ee50b,_0x32c61b),_0x2340ae['BjoAO'](writeToFileLog,{..._0x2ee50b,'level':_0x2340ae[_0x1af311(0x130)],'msg':_0x32c61b,'time':new Date()[_0x1af311(0x131)]()},_0x2340ae['bUNfj']);},setupGlobalErrorHandlers=()=>{const _0x1b84a7=a0_0x8abba4,_0x54c140={'ioBac':function(_0x327e15,_0x108380){return _0x327e15 instanceof _0x108380;},'XxLKw':_0x1b84a7(0xb7),'HYRuy':'process_warning','yjuQA':'uncaughtException','HyCJe':_0x1b84a7(0xac),'hovUO':'Global\x20error\x20handlers\x20initialized'};process['on'](_0x54c140[_0x1b84a7(0xa9)],_0x44a61c=>{const _0x32cbf5=_0x1b84a7;logUncaughtError(_0x32cbf5(0xd2),_0x44a61c),setTimeout(()=>{const _0xcce3f1=_0x32cbf5;process[_0xcce3f1(0xf0)](0x1);},0x3e8);}),process['on'](_0x54c140['XxLKw'],(_0x180901,_0xd63a77)=>{const _0x37c0ae=_0x1b84a7,_0x3a18a9=_0x54c140['ioBac'](_0x180901,Error)?_0x180901:new Error(String(_0x180901));logUncaughtError(_0x54c140[_0x37c0ae(0xec)],_0x3a18a9);}),process['on'](_0x1b84a7(0x11e),_0x58dfe5=>{const _0x1f6767=_0x1b84a7;logger['warn']({'event':_0x54c140[_0x1f6767(0x105)],'name':_0x58dfe5[_0x1f6767(0xb2)],'message':_0x58dfe5[_0x1f6767(0x135)],'stack':_0x58dfe5['stack']},_0x1f6767(0xdf)+_0x58dfe5[_0x1f6767(0x135)]);});const _0x7f8446={'event':_0x54c140[_0x1b84a7(0xbe)]},_0x9911c8=_0x54c140['hovUO'];logger['info'](_0x7f8446,_0x9911c8),writeToFileLog({..._0x7f8446,'level':_0x1b84a7(0xc3),'msg':_0x9911c8,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x389f0c={'SWmYm':'Internal\x20server\x20error','kCANk':'x-request-id'};return(_0x2c6be3,_0x457170,_0x585548,_0x1ba775)=>{const _0x714744=a0_0x58aa;logHttpError(_0x2c6be3,_0x457170);const _0x28df03=_0x2c6be3['statusCode']||_0x2c6be3['status']||0x1f4;_0x585548['status'](_0x28df03)['json']({'success':![],'error':_0x28df03>=0x1f4?_0x389f0c['SWmYm']:_0x2c6be3['message'],'requestId':_0x457170['id']||_0x457170[_0x714744(0x14f)]?.[_0x389f0c[_0x714744(0x10c)]]||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_0xc110=a0_0x30e8;(function(_0x350abe,_0x2a4935){const _0x5853ad=a0_0x30e8,_0x599605=_0x350abe();while(!![]){try{const _0x374ace=-parseInt(_0x5853ad(0x86))/0x1+parseInt(_0x5853ad(0x94))/0x2+parseInt(_0x5853ad(0xab))/0x3+-parseInt(_0x5853ad(0xad))/0x4+-parseInt(_0x5853ad(0x9b))/0x5+parseInt(_0x5853ad(0x89))/0x6+parseInt(_0x5853ad(0x9c))/0x7*(parseInt(_0x5853ad(0x9d))/0x8);if(_0x374ace===_0x2a4935)break;else _0x599605['push'](_0x599605['shift']());}catch(_0x1c6296){_0x599605['push'](_0x599605['shift']());}}}(a0_0x5444,0x7fe53));const dbType=(process[a0_0xc110(0xac)]['DB_TYPE']||'postgresql')[a0_0xc110(0xa0)]();let executeQuery;if(dbType===a0_0xc110(0x9e)){const oracleDb=require('./db-oracle');executeQuery=(_0x2da22d,_0x1cdf10)=>oracleDb['executeQuery'](_0x2da22d,_0x1cdf10);}else{if(dbType===a0_0xc110(0x9a)){const mysqlDb=require('./db-mysql');executeQuery=(_0x5c0aa0,_0x1f33bb)=>mysqlDb[a0_0xc110(0x8c)](_0x5c0aa0,_0x1f33bb);}else executeQuery=require(a0_0xc110(0xa3))[a0_0xc110(0x8c)];}const {logger}=require(a0_0xc110(0x83));function a0_0x5444(){const _0x1aa6bb=['Bg9VA3vWq2fJAgu','t2TkwKu','y2XLyxjdywnOzq','zuTYtMi','otCXmdCWA2XktLnj','tvbrBxy','Aw5MBW','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','y3nIruu','AgfZ','BxLZCwW','ndCYmZG3me1py1jYCq','mJC2mJLez3fQz3O','oty4s3DpBKjI','B3jHy2XL','ywrK','Dg9mB3DLCKnHC2u','Dg9vChbLCKnHC2u','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','lI9KyG','tK9Us2K','z2v0','CMvZB2X2zuXVB2T1CfzHBhvL','Bg9HzeXVB2T1CfrHyMXL','zxjYB3i','y3vwrKe','ChvZAa','mJy0nZmYm3PdrgrMsW','zw52','mtaWmda4C3frv0jN','BgvUz3rO','vMHMCvG','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','tg9VA3vWignHy2HLignSzwfYzwq','lI9SB2DNzxi','zNjVBq','C2v0','odm4mtu5DKXqBfru','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','A2v5CW','mJKXnZm4nNvSEeXzBW','zw50CMLLCW','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','zxHLy3v0zvf1zxj5','DhjPBq','zM9YrwfJAa','zxHWB3j0CW'];a0_0x5444=function(){return _0x1aa6bb;};return a0_0x5444();}class LookupResolver{constructor(){const _0x4ef72e=a0_0xc110;this[_0x4ef72e(0x90)]=new Map();}[a0_0xc110(0x92)](){const _0x429798=a0_0xc110,_0x8f09b1={'ohEPb':_0x429798(0x81)};this['lookupCache']['clear'](),logger['debug']({'event':_0x8f09b1['ohEPb']},_0x429798(0x82));}async['loadLookupTable'](_0x15235c,_0x7cb989,_0x19601f){const _0x3f806a=a0_0xc110,_0x3c5551={'VhfqX':function(_0x99b478,_0x3d17c9){return _0x99b478!==_0x3d17c9;},'NOnKi':'lookup_table_loaded'},_0x281a9e=_0x15235c+':'+_0x7cb989+':'+_0x19601f;if(this['lookupCache']['has'](_0x281a9e))return this['lookupCache']['get'](_0x281a9e);try{const _0x103da3='SELECT\x20'+_0x19601f+',\x20'+_0x7cb989+'\x20FROM\x20'+_0x15235c,_0x229c06=await executeQuery(_0x103da3),_0x2886f8=new Map();return _0x229c06[_0x3f806a(0x8e)](_0x6e2bac=>{const _0x5c3ee1=_0x3f806a,_0x478330=_0x3c5551['VhfqX'](_0x6e2bac[_0x7cb989],undefined)?_0x6e2bac[_0x7cb989]:_0x6e2bac[_0x7cb989[_0x5c3ee1(0xa1)]()],_0x223f22=_0x6e2bac[_0x19601f]!==undefined?_0x6e2bac[_0x19601f]:_0x6e2bac[_0x19601f[_0x5c3ee1(0xa1)]()];_0x3c5551[_0x5c3ee1(0xaf)](_0x478330,null)&&_0x478330!==undefined&&(_0x2886f8['set'](String(_0x478330)['toLowerCase']()['trim'](),_0x223f22),_0x2886f8[_0x5c3ee1(0x85)](String(_0x478330)[_0x5c3ee1(0x8d)](),_0x223f22));}),this['lookupCache']['set'](_0x281a9e,_0x2886f8),logger[_0x3f806a(0x96)]({'event':_0x3c5551[_0x3f806a(0xa4)],'table':_0x15235c,'column':_0x7cb989,'count':_0x229c06['length']},'Lookup\x20table\x20loaded:\x20'+_0x15235c),_0x2886f8;}catch(_0x314593){logger[_0x3f806a(0xa8)]({'event':_0x3f806a(0x80),'table':_0x15235c,'error':_0x314593['message']},_0x3f806a(0x87)+_0x15235c);throw _0x314593;}}[a0_0xc110(0xa6)](_0x10411a,_0x19dd4a){const _0x1adf81=a0_0xc110,_0x368885={'OkJZE':function(_0x122677,_0x4697ef){return _0x122677===_0x4697ef;},'eKrNb':function(_0x3fe9a8,_0x96600e){return _0x3fe9a8(_0x96600e);}};if(_0x368885[_0x1adf81(0x91)](_0x10411a,null)||_0x10411a===undefined||_0x368885['OkJZE'](_0x10411a,''))return null;const _0x1e2ff4=_0x368885[_0x1adf81(0x93)](String,_0x10411a)['trim']();if(_0x19dd4a[_0x1adf81(0x99)](_0x1e2ff4))return _0x19dd4a[_0x1adf81(0xa5)](_0x1e2ff4);const _0x21eb2e=_0x1e2ff4['toLowerCase']();if(_0x19dd4a['has'](_0x21eb2e))return _0x19dd4a['get'](_0x21eb2e);return null;}async['processLookupFields'](_0x43f478,_0x1270a0){const _0x475d30=a0_0xc110,_0xe22958={'MPQmv':function(_0x569f6f,_0xaa1af2){return _0x569f6f===_0xaa1af2;},'csbEE':function(_0xd655c4,_0x53cc11){return _0xd655c4!==_0x53cc11;},'KoLmB':_0x475d30(0x8b)};if(!_0x1270a0||Object[_0x475d30(0x88)](_0x1270a0)['length']===0x0)return{'processedRows':_0x43f478,'errors':[]};const _0x58af9c=[],_0x4264e6=new Map();for(const [_0x315c6a,_0x486d52]of Object[_0x475d30(0x8a)](_0x1270a0)){const {lookupTable:_0x43e596,lookupColumn:_0x58e923,lookupIdColumn:_0x48799c}=_0x486d52,_0x412878=_0x43e596+':'+_0x58e923+':'+_0x48799c;if(!_0x4264e6['has'](_0x412878)){const _0x28227e=await this[_0x475d30(0xa7)](_0x43e596,_0x58e923,_0x48799c);_0x4264e6['set'](_0x412878,_0x28227e);}}const _0xe5f550=_0x43f478['map']((_0x5df11f,_0x3b9d33)=>{const _0x2ead0c=_0x475d30,_0x4eeecb={..._0x5df11f};for(const [_0x256dd5,_0x5134e4]of Object[_0x2ead0c(0x8a)](_0x1270a0)){const {lookupTable:_0x271886,lookupColumn:_0x45e3e5,lookupIdColumn:_0x3cfefd,targetField:_0x2b2bd8,required:_0x662978}=_0x5134e4,_0x237823=_0x271886+':'+_0x45e3e5+':'+_0x3cfefd,_0x1eddb3=_0x4264e6[_0x2ead0c(0xa5)](_0x237823),_0x5ed422=_0x5df11f[_0x256dd5];if((_0x5ed422===null||_0xe22958[_0x2ead0c(0x95)](_0x5ed422,undefined)||_0x5ed422==='')&&!_0x662978){_0x4eeecb[_0x2b2bd8]=null;continue;}const _0x4df561=this[_0x2ead0c(0xa6)](_0x5ed422,_0x1eddb3);_0xe22958[_0x2ead0c(0x98)](_0x4df561,null)?_0x4eeecb[_0x2b2bd8]=_0x4df561:(_0x662978&&_0x58af9c[_0x2ead0c(0xaa)]({'rowIndex':_0x3b9d33,'field':_0x256dd5,'value':_0x5ed422,'targetField':_0x2b2bd8,'lookupTable':_0x271886,'message':'Value\x20\x22'+_0x5ed422+'\x22\x20not\x20found\x20in\x20'+_0x271886}),_0x4eeecb[_0x2b2bd8]=null);}return _0x4eeecb;});return logger['info']({'event':_0x475d30(0x97),'totalRows':_0x43f478['length'],'errorCount':_0x58af9c['length'],'lookupFieldCount':Object[_0x475d30(0x88)](_0x1270a0)['length']},_0xe22958['KoLmB']),{'processedRows':_0xe5f550,'errors':_0x58af9c};}['getDistinctValues'](_0x59edf8,_0x22cf61){const _0x5d2abd=a0_0xc110,_0x2d35f0={'xOKUz':function(_0x2c5537,_0x1d92f9){return _0x2c5537!==_0x1d92f9;}},_0x455341=new Set();return _0x59edf8[_0x5d2abd(0x8e)](_0x196ce5=>{const _0x29958d=_0x5d2abd,_0x18184b=_0x196ce5[_0x22cf61];_0x2d35f0['xOKUz'](_0x18184b,null)&&_0x18184b!==undefined&&_0x18184b!==''&&_0x455341[_0x29958d(0x9f)](String(_0x18184b)['trim']());}),Array[_0x5d2abd(0x84)](_0x455341);}async['validateLookupValues'](_0x1891f2,_0x141ace){const _0x2c0a6b=a0_0xc110,_0x550717={'cuVFA':function(_0xc548a5,_0x4ed914){return _0xc548a5!==_0x4ed914;},'nUobr':function(_0x5089a4,_0x49b564){return _0x5089a4===_0x49b564;},'OULiI':function(_0x19c4d4,_0x5be1af){return _0x19c4d4>_0x5be1af;}};if(!_0x141ace||_0x550717['nUobr'](Object['keys'](_0x141ace)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x300233=[],_0x320704={};for(const [_0x282676,_0x54deb1]of Object['entries'](_0x141ace)){const {lookupTable:_0x41ef39,lookupColumn:_0x3b31bf,lookupIdColumn:_0x252af3,required:_0x3b14c7}=_0x54deb1,_0xc2c5c=this['getDistinctValues'](_0x1891f2,_0x282676),_0x22356c=await this[_0x2c0a6b(0xa7)](_0x41ef39,_0x3b31bf,_0x252af3),_0x263660=[],_0x144fa1=[];_0xc2c5c[_0x2c0a6b(0x8e)](_0x18a22b=>{const _0x505588=_0x2c0a6b,_0x4d3577=this['resolveLookupValue'](_0x18a22b,_0x22356c);_0x550717[_0x505588(0xa9)](_0x4d3577,null)?_0x144fa1[_0x505588(0xaa)](_0x18a22b):_0x263660[_0x505588(0xaa)](_0x18a22b);});if(_0x550717['OULiI'](_0x263660['length'],0x0)&&_0x3b14c7){_0x300233['push']({'field':_0x282676,'lookupTable':_0x41ef39,'invalidValues':_0x263660,'message':_0x263660['length']+_0x2c0a6b(0xa2)+_0x41ef39});const _0x4346ed=[];_0x22356c['forEach']((_0xb5af8b,_0x497271)=>{const _0x22774a=_0x2c0a6b;if(_0x550717['nUobr'](_0x497271,_0x497271['toLowerCase']()))return;_0x4346ed[_0x22774a(0xaa)](_0x497271);}),_0x320704[_0x282676]={'invalidValues':_0x263660,'availableValues':_0x4346ed['slice'](0x0,0x32)};}}return{'valid':_0x300233[_0x2c0a6b(0xae)]===0x0,'errors':_0x300233,'suggestions':_0x320704};}}function a0_0x30e8(_0x2cd677,_0x4f6675){_0x2cd677=_0x2cd677-0x80;const _0x5444da=a0_0x5444();let _0x30e84b=_0x5444da[_0x2cd677];if(a0_0x30e8['dIjZOm']===undefined){var _0x44f3d3=function(_0x400144){const _0x2885c3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23fc26='',_0x366adb='';for(let _0x35b33a=0x0,_0x3ec6ed,_0x582c30,_0x17b969=0x0;_0x582c30=_0x400144['charAt'](_0x17b969++);~_0x582c30&&(_0x3ec6ed=_0x35b33a%0x4?_0x3ec6ed*0x40+_0x582c30:_0x582c30,_0x35b33a++%0x4)?_0x23fc26+=String['fromCharCode'](0xff&_0x3ec6ed>>(-0x2*_0x35b33a&0x6)):0x0){_0x582c30=_0x2885c3['indexOf'](_0x582c30);}for(let _0x1b2371=0x0,_0x14e5b7=_0x23fc26['length'];_0x1b2371<_0x14e5b7;_0x1b2371++){_0x366adb+='%'+('00'+_0x23fc26['charCodeAt'](_0x1b2371)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x366adb);};a0_0x30e8['ChNfXj']=_0x44f3d3,a0_0x30e8['PincWI']={},a0_0x30e8['dIjZOm']=!![];}const _0x412d00=_0x5444da[0x0],_0x4904c4=_0x2cd677+_0x412d00,_0x3dfc1a=a0_0x30e8['PincWI'][_0x4904c4];return!_0x3dfc1a?(_0x30e84b=a0_0x30e8['ChNfXj'](_0x30e84b),a0_0x30e8['PincWI'][_0x4904c4]=_0x30e84b):_0x30e84b=_0x3dfc1a,_0x30e84b;}module[a0_0xc110(0x8f)]=new LookupResolver();
1
+ const a0_0xa08675=a0_0xee5e;function a0_0x5725(){const _0x69ff4d=['Bg9VA3vWq2fJAgu','zxHLy3v0zvf1zxj5','u0vmrunuia','CMHXvhC','z2v0rgLZDgLUy3rwywX1zxm','Bg9HzeXVB2T1CfrHyMXL','Aw5MBW','zM9YrwfJAa','ALnosu0','Cg9ZDgDYzxnXBa','odu0nwz0A0PwBq','zxjYB3i','ChvZAa','BxLZCwW','zLfUBK0','zxHWB3j0CW','BwvZC2fNzq','B3jHy2XL','zw50CMLLCW','ndC5nhvlug9kAq','DMfSAwrHDgvmB29RDxbwywX1zxm','oe1Yu2zPtq','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','tg9VA3vWihrHyMXLigXVywrLzdOG','zw52','vgvLC0O','lI9KyI1TExnXBa','CMvZB2X2zuXVB2T1CfzHBhvL','A2v5CW','z2v0','rejFvfLqrq','rwjwCNa','uwDJtfq','zNjVBq','zgvIDwC','DhjPBq','y2XLyxi','mJuYnJu3EvLQsgjh','tg9VA3vWignHy2HLignSzwfYzwq','BgvUz3rO','nJqZmJrArwnPAeK','mJu1B0TVAhvb','AgfZ','C2v0','mtuZmJq4m0LJtxz3yG','ntGWotm2t09QzKHq','Dg9mB3DLCKnHC2u','odKYmdC3oxzvy2fdvG','BLrdz0K','D014uhi','nZy3ndKXmffTBhj5sq'];a0_0x5725=function(){return _0x69ff4d;};return a0_0x5725();}(function(_0x48ec02,_0x167452){const _0x55ce99=a0_0xee5e,_0x787ac9=_0x48ec02();while(!![]){try{const _0x4f6aa1=-parseInt(_0x55ce99(0x99))/0x1+parseInt(_0x55ce99(0x9a))/0x2+-parseInt(_0x55ce99(0x96))/0x3*(-parseInt(_0x55ce99(0x95))/0x4)+-parseInt(_0x55ce99(0xaa))/0x5*(parseInt(_0x55ce99(0xb3))/0x6)+-parseInt(_0x55ce99(0x9c))/0x7*(-parseInt(_0x55ce99(0xb5))/0x8)+-parseInt(_0x55ce99(0x92))/0x9+parseInt(_0x55ce99(0x9f))/0xa;if(_0x4f6aa1===_0x167452)break;else _0x787ac9['push'](_0x787ac9['shift']());}catch(_0x50641a){_0x787ac9['push'](_0x787ac9['shift']());}}}(a0_0x5725,0xbcc4a));function a0_0xee5e(_0x4ac28a,_0xf5cd3a){_0x4ac28a=_0x4ac28a-0x8e;const _0x5725cb=a0_0x5725();let _0xee5e24=_0x5725cb[_0x4ac28a];if(a0_0xee5e['mOUMNx']===undefined){var _0xa81799=function(_0x91d45f){const _0x4dba08='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b1f38='',_0x484bb8='';for(let _0x5a87be=0x0,_0x5f3ec1,_0xeb55d2,_0x1a9c0f=0x0;_0xeb55d2=_0x91d45f['charAt'](_0x1a9c0f++);~_0xeb55d2&&(_0x5f3ec1=_0x5a87be%0x4?_0x5f3ec1*0x40+_0xeb55d2:_0xeb55d2,_0x5a87be++%0x4)?_0x4b1f38+=String['fromCharCode'](0xff&_0x5f3ec1>>(-0x2*_0x5a87be&0x6)):0x0){_0xeb55d2=_0x4dba08['indexOf'](_0xeb55d2);}for(let _0x46def6=0x0,_0x1e20fb=_0x4b1f38['length'];_0x46def6<_0x1e20fb;_0x46def6++){_0x484bb8+='%'+('00'+_0x4b1f38['charCodeAt'](_0x46def6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x484bb8);};a0_0xee5e['uknBTI']=_0xa81799,a0_0xee5e['bpmjaP']={},a0_0xee5e['mOUMNx']=!![];}const _0x17f2ad=_0x5725cb[0x0],_0x4157b5=_0x4ac28a+_0x17f2ad,_0x4650dd=a0_0xee5e['bpmjaP'][_0x4157b5];return!_0x4650dd?(_0xee5e24=a0_0xee5e['uknBTI'](_0xee5e24),a0_0xee5e['bpmjaP'][_0x4157b5]=_0xee5e24):_0xee5e24=_0x4650dd,_0xee5e24;}const dbType=(process[a0_0xa08675(0xb8)][a0_0xa08675(0xbe)]||a0_0xa08675(0xa9))[a0_0xa08675(0x9b)]();let executeQuery;if(dbType===a0_0xa08675(0xb1)){const oracleDb=require('./db-oracle');executeQuery=(_0x2d4e9f,_0x682dab)=>oracleDb['executeQuery'](_0x2d4e9f,_0x682dab);}else{if(dbType===a0_0xa08675(0xad)){const mysqlDb=require(a0_0xa08675(0xba));executeQuery=(_0x34da95,_0x418023)=>mysqlDb['executeQuery'](_0x34da95,_0x418023);}else executeQuery=require('./db')[a0_0xa08675(0xa1)];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x386c9d=a0_0xa08675,_0x4ba11b={'wMxPr':_0x386c9d(0x93)};this[_0x386c9d(0xa0)][_0x386c9d(0x91)](),logger[_0x386c9d(0x8f)]({'event':'lookup_cache_cleared'},_0x4ba11b[_0x386c9d(0x9e)]);}async['loadLookupTable'](_0x554af4,_0x9c0a64,_0x4ad35e){const _0x27c726=a0_0xa08675,_0x3c7974={'HKGzC':function(_0x440f49,_0x518164){return _0x440f49!==_0x518164;},'jSNIM':function(_0x535eea,_0x2fee40){return _0x535eea!==_0x2fee40;},'Pmixv':function(_0x11cfff,_0x596e39){return _0x11cfff(_0x596e39);}},_0xe57134=_0x554af4+':'+_0x9c0a64+':'+_0x4ad35e;if(this[_0x27c726(0xa0)][_0x27c726(0x97)](_0xe57134))return this['lookupCache']['get'](_0xe57134);try{const _0x35d646=_0x27c726(0xa2)+_0x4ad35e+',\x20'+_0x9c0a64+'\x20FROM\x20'+_0x554af4,_0x56cbc2=await _0x3c7974['Pmixv'](executeQuery,_0x35d646),_0x27c692=new Map();return _0x56cbc2['forEach'](_0x3baab3=>{const _0x4586e9=_0x27c726,_0x29c9ba=_0x3baab3[_0x9c0a64]!==undefined?_0x3baab3[_0x9c0a64]:_0x3baab3[_0x9c0a64['toUpperCase']()],_0x13e89f=_0x3baab3[_0x4ad35e]!==undefined?_0x3baab3[_0x4ad35e]:_0x3baab3[_0x4ad35e['toUpperCase']()];_0x3c7974['HKGzC'](_0x29c9ba,null)&&_0x3c7974[_0x4586e9(0xa8)](_0x29c9ba,undefined)&&(_0x27c692[_0x4586e9(0x98)](String(_0x29c9ba)['toLowerCase']()['trim'](),_0x13e89f),_0x27c692['set'](String(_0x29c9ba)['trim'](),_0x13e89f));}),this[_0x27c726(0xa0)][_0x27c726(0x98)](_0xe57134,_0x27c692),logger[_0x27c726(0xa6)]({'event':'lookup_table_loaded','table':_0x554af4,'column':_0x9c0a64,'count':_0x56cbc2['length']},_0x27c726(0xb7)+_0x554af4),_0x27c692;}catch(_0x255f9e){logger[_0x27c726(0xab)]({'event':'lookup_table_load_error','table':_0x554af4,'error':_0x255f9e[_0x27c726(0xb0)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x554af4);throw _0x255f9e;}}['resolveLookupValue'](_0x554266,_0x360992){const _0xa981b8=a0_0xa08675,_0x24b0e4={'rhqTw':function(_0x151385,_0x146fee){return _0x151385===_0x146fee;},'QgcLT':function(_0x45aa6d,_0x17d690){return _0x45aa6d(_0x17d690);}};if(_0x554266===null||_0x24b0e4[_0xa981b8(0xa3)](_0x554266,undefined)||_0x24b0e4[_0xa981b8(0xa3)](_0x554266,''))return null;const _0x2ae307=_0x24b0e4[_0xa981b8(0xc0)](String,_0x554266)[_0xa981b8(0x90)]();if(_0x360992['has'](_0x2ae307))return _0x360992['get'](_0x2ae307);const _0xb94099=_0x2ae307['toLowerCase']();if(_0x360992[_0xa981b8(0x97)](_0xb94099))return _0x360992[_0xa981b8(0xbd)](_0xb94099);return null;}async['processLookupFields'](_0x2cc96a,_0x1b6d7e){const _0x1175d7=a0_0xa08675,_0x3759fa={'nTCgI':function(_0x45640c,_0x896d22){return _0x45640c===_0x896d22;},'DksYj':function(_0x28f409,_0x5e6aaf){return _0x28f409===_0x5e6aaf;},'EbVrp':function(_0x2f91c0,_0x18935c){return _0x2f91c0!==_0x18935c;},'tphgf':'Lookup\x20fields\x20processed'};if(!_0x1b6d7e||Object['keys'](_0x1b6d7e)['length']===0x0)return{'processedRows':_0x2cc96a,'errors':[]};const _0x33b6ea=[],_0x50a53e=new Map();for(const [_0x4aab26,_0x55abe8]of Object[_0x1175d7(0xb2)](_0x1b6d7e)){const {lookupTable:_0x55e1a9,lookupColumn:_0x95c821,lookupIdColumn:_0x24cf6a}=_0x55abe8,_0x32e9c3=_0x55e1a9+':'+_0x95c821+':'+_0x24cf6a;if(!_0x50a53e[_0x1175d7(0x97)](_0x32e9c3)){const _0x4bc62c=await this[_0x1175d7(0xa5)](_0x55e1a9,_0x95c821,_0x24cf6a);_0x50a53e['set'](_0x32e9c3,_0x4bc62c);}}const _0x32573a=_0x2cc96a['map']((_0x4091f1,_0x5a3d50)=>{const _0x332700=_0x1175d7,_0x1f7977={..._0x4091f1};for(const [_0x1a39ae,_0x11a742]of Object['entries'](_0x1b6d7e)){const {lookupTable:_0x245fb8,lookupColumn:_0x7b72a4,lookupIdColumn:_0xcde834,targetField:_0x56cad8,required:_0x497b9d}=_0x11a742,_0x5472cf=_0x245fb8+':'+_0x7b72a4+':'+_0xcde834,_0x49e417=_0x50a53e[_0x332700(0xbd)](_0x5472cf),_0x5d8d7b=_0x4091f1[_0x1a39ae];if((_0x3759fa[_0x332700(0x9d)](_0x5d8d7b,null)||_0x3759fa['DksYj'](_0x5d8d7b,undefined)||_0x5d8d7b==='')&&!_0x497b9d){_0x1f7977[_0x56cad8]=null;continue;}const _0xc8fb43=this['resolveLookupValue'](_0x5d8d7b,_0x49e417);_0x3759fa[_0x332700(0xbf)](_0xc8fb43,null)?_0x1f7977[_0x56cad8]=_0xc8fb43:(_0x497b9d&&_0x33b6ea[_0x332700(0xac)]({'rowIndex':_0x5a3d50,'field':_0x1a39ae,'value':_0x5d8d7b,'targetField':_0x56cad8,'lookupTable':_0x245fb8,'message':'Value\x20\x22'+_0x5d8d7b+'\x22\x20not\x20found\x20in\x20'+_0x245fb8}),_0x1f7977[_0x56cad8]=null);}return _0x1f7977;});return logger[_0x1175d7(0xa6)]({'event':_0x1175d7(0xb6),'totalRows':_0x2cc96a[_0x1175d7(0x94)],'errorCount':_0x33b6ea['length'],'lookupFieldCount':Object['keys'](_0x1b6d7e)['length']},_0x3759fa['tphgf']),{'processedRows':_0x32573a,'errors':_0x33b6ea};}['getDistinctValues'](_0x2d0517,_0x3e5786){const _0x4145ac=a0_0xa08675,_0x476651={'eUfgH':function(_0x4ff559,_0x454859){return _0x4ff559!==_0x454859;}},_0x2e5159=new Set();return _0x2d0517['forEach'](_0x223b27=>{const _0x347a8d=a0_0xee5e,_0x72463b=_0x223b27[_0x3e5786];_0x72463b!==null&&_0x72463b!==undefined&&_0x476651['eUfgH'](_0x72463b,'')&&_0x2e5159['add'](String(_0x72463b)[_0x347a8d(0x90)]());}),Array[_0x4145ac(0x8e)](_0x2e5159);}async[a0_0xa08675(0xb4)](_0x41dc06,_0x2590ff){const _0x2b4c53=a0_0xa08675,_0x5af785={'TeesJ':function(_0x1aa64b,_0x337c80){return _0x1aa64b===_0x337c80;},'fQnnM':function(_0x1333b8,_0x37038c){return _0x1333b8>_0x37038c;}};if(!_0x2590ff||Object[_0x2b4c53(0xbc)](_0x2590ff)[_0x2b4c53(0x94)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x3e3572=[],_0xa75156={};for(const [_0x12e0b2,_0x38133d]of Object[_0x2b4c53(0xb2)](_0x2590ff)){const {lookupTable:_0x56862b,lookupColumn:_0x293951,lookupIdColumn:_0x4fb97f,required:_0x214d08}=_0x38133d,_0x502903=this[_0x2b4c53(0xa4)](_0x41dc06,_0x12e0b2),_0x3a5e8b=await this['loadLookupTable'](_0x56862b,_0x293951,_0x4fb97f),_0x59fd0b=[],_0x332847=[];_0x502903[_0x2b4c53(0xa7)](_0x4a8d50=>{const _0x197641=_0x2b4c53,_0x393b15=this[_0x197641(0xbb)](_0x4a8d50,_0x3a5e8b);_0x393b15!==null?_0x332847['push'](_0x4a8d50):_0x59fd0b[_0x197641(0xac)](_0x4a8d50);});if(_0x5af785[_0x2b4c53(0xae)](_0x59fd0b[_0x2b4c53(0x94)],0x0)&&_0x214d08){_0x3e3572[_0x2b4c53(0xac)]({'field':_0x12e0b2,'lookupTable':_0x56862b,'invalidValues':_0x59fd0b,'message':_0x59fd0b[_0x2b4c53(0x94)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x56862b});const _0x32dcdb=[];_0x3a5e8b[_0x2b4c53(0xa7)]((_0x28284f,_0x58100a)=>{const _0xdc6241=_0x2b4c53;if(_0x5af785[_0xdc6241(0xb9)](_0x58100a,_0x58100a[_0xdc6241(0x9b)]()))return;_0x32dcdb[_0xdc6241(0xac)](_0x58100a);}),_0xa75156[_0x12e0b2]={'invalidValues':_0x59fd0b,'availableValues':_0x32dcdb['slice'](0x0,0x32)};}}return{'valid':_0x5af785['TeesJ'](_0x3e3572['length'],0x0),'errors':_0x3e3572,'suggestions':_0xa75156};}}module[a0_0xa08675(0xaf)]=new LookupResolver();
@@ -1 +1 @@
1
- function a0_0x29b3(){const _0x3793cb=['ugf5Bg9HzcbUB3qGzM91BMq6ia','y2XLyxi','CgfYC2u','Bg9HzfbHEwXVywq','ywn0Aw9U','mZu1mdG3n25REeTIza','lI4VlI4VCgf5Bg9Hza','nuXsCxzLEq','BwvZC2fNzq','oda1nuzXu05vsG','n3nUwfPIqG','mJa4odm1ogrUCMfkrG','mxPPBMj3yW','yMfMy1u','zMLLBgrmywjLBhm','AgfZ','lMPZB24','nZqXoda2ngH0DxPpyG','y2XLyxjdywnOzq','zgf0yxrHyMXLC1f1zxj5','y29SDw1UrM9YBwf0CW','C2v0','mZi0ng1cqvLVDG','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','otqWnZa0r3Lut1Dx','lwv4Cg9YDa','zMLLBgroyw1L','AM9PBG','mtq0tfHoruje','mZKWmJeXmhnqBg9RzG','CMvHzezPBgu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','nZu3nNPQquXXwq','zgvIDwC','Cgf5Bg9HzerPCG','y2fJAgu'];a0_0x29b3=function(){return _0x3793cb;};return a0_0x29b3();}const a0_0x583819=a0_0x3800;(function(_0x2397ca,_0x2c784c){const _0x3eed05=a0_0x3800,_0x65ba6f=_0x2397ca();while(!![]){try{const _0x2873e2=parseInt(_0x3eed05(0xcb))/0x1*(-parseInt(_0x3eed05(0xca))/0x2)+parseInt(_0x3eed05(0xd8))/0x3+-parseInt(_0x3eed05(0xd5))/0x4*(parseInt(_0x3eed05(0xc6))/0x5)+parseInt(_0x3eed05(0xd0))/0x6*(-parseInt(_0x3eed05(0xc9))/0x7)+-parseInt(_0x3eed05(0xe0))/0x8*(parseInt(_0x3eed05(0xc8))/0x9)+-parseInt(_0x3eed05(0xdd))/0xa+parseInt(_0x3eed05(0xc4))/0xb*(parseInt(_0x3eed05(0xdc))/0xc);if(_0x2873e2===_0x2c784c)break;else _0x65ba6f['push'](_0x65ba6f['shift']());}catch(_0x7d20af){_0x65ba6f['push'](_0x65ba6f['shift']());}}}(a0_0x29b3,0xa31ee));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x30edc8=a0_0x3800;this[_0x30edc8(0xe2)]=path['join'](__dirname,_0x30edc8(0xc5)),this['cache']=new Map();}async[a0_0x583819(0xc2)](_0x54c4b9,_0x57c318){const _0x1112c6=a0_0x583819,_0x1eb6ab={'gOHwe':'payload_load_error'},_0x5a2b77=_0x54c4b9+':'+_0x57c318;if(this[_0x1112c6(0xe3)][_0x1112c6(0xce)](_0x5a2b77))return this['cache']['get'](_0x5a2b77);const _0x33a219=path['join'](this[_0x1112c6(0xe2)],_0x54c4b9+'_'+_0x57c318+_0x1112c6(0xcf));try{const _0x4d0b16=await fs[_0x1112c6(0xde)](_0x33a219,'utf8'),_0x255047=JSON[_0x1112c6(0xc1)](_0x4d0b16);return this[_0x1112c6(0xe3)]['set'](_0x5a2b77,_0x255047),logger[_0x1112c6(0xe1)]({'event':'payload_loaded','project':_0x54c4b9,'resource':_0x57c318},_0x1112c6(0xdf)),_0x255047;}catch(_0x47e5cc){logger['error']({'event':_0x1eb6ab['gOHwe'],'project':_0x54c4b9,'resource':_0x57c318,'error':_0x47e5cc[_0x1112c6(0xc7)]},'Failed\x20to\x20load\x20payload');throw new Error(_0x1112c6(0xe4)+_0x54c4b9+'_'+_0x57c318);}}async['loadPayloadByName'](_0x5bbf26){const _0x42eb97=a0_0x583819,_0x12b901={'XmOjW':_0x42eb97(0xd7),'xgZDy':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x2477a0='payload:'+_0x5bbf26;if(this[_0x42eb97(0xe3)][_0x42eb97(0xce)](_0x2477a0))return this['cache']['get'](_0x2477a0);const _0x158b55=path[_0x42eb97(0xdb)](this[_0x42eb97(0xe2)],_0x5bbf26+_0x42eb97(0xcf));try{const _0x2ef94c=await fs['readFile'](_0x158b55,'utf8'),_0x4f3de6=JSON['parse'](_0x2ef94c);return this['cache'][_0x42eb97(0xd4)](_0x2477a0,_0x4f3de6),logger[_0x42eb97(0xe1)]({'event':'payload_loaded','payloadName':_0x5bbf26},_0x12b901['XmOjW']),_0x4f3de6;}catch(_0x591ca2){logger['error']({'event':'payload_load_error','payloadName':_0x5bbf26,'error':_0x591ca2['message']},_0x12b901['xgZDy']);throw new Error(_0x42eb97(0xe4)+_0x5bbf26);}}['isActionEnabled'](_0x32d645,_0x5602da){const _0x3367f7=a0_0x583819,_0x27dab0={'bafcU':function(_0x4db728,_0x541f8b){return _0x4db728===_0x541f8b;}};return _0x32d645['action']&&_0x27dab0[_0x3367f7(0xcc)](_0x32d645[_0x3367f7(0xc3)][_0x5602da],!![]);}['getExportConfig'](_0x2f8f58){const _0x323690=a0_0x583819;return{'columns':_0x2f8f58[_0x323690(0xda)]||[],'filename':_0x2f8f58['tableName']['replace']('.','-')+_0x323690(0xd9),'datatablesQuery':_0x2f8f58[_0x323690(0xd2)]||null,'columnFormats':_0x2f8f58[_0x323690(0xd3)]||null,'fieldLabels':_0x2f8f58[_0x323690(0xcd)]||null};}[a0_0x583819(0xd1)](){const _0x3b5875=a0_0x583819,_0x2f731a={'jLwhL':_0x3b5875(0xd6)};this['cache'][_0x3b5875(0xe5)](),logger['info']({'event':'payload_cache_cleared'},_0x2f731a['jLwhL']);}}function a0_0x3800(_0x5bba1c,_0x18e18f){_0x5bba1c=_0x5bba1c-0xc1;const _0x29b311=a0_0x29b3();let _0x3800fd=_0x29b311[_0x5bba1c];if(a0_0x3800['GpwBph']===undefined){var _0x129827=function(_0x4a5ff7){const _0x13e9a8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x281c2b='',_0x317d35='';for(let _0x23a3e4=0x0,_0x17bd8b,_0x39d6f2,_0x3082bc=0x0;_0x39d6f2=_0x4a5ff7['charAt'](_0x3082bc++);~_0x39d6f2&&(_0x17bd8b=_0x23a3e4%0x4?_0x17bd8b*0x40+_0x39d6f2:_0x39d6f2,_0x23a3e4++%0x4)?_0x281c2b+=String['fromCharCode'](0xff&_0x17bd8b>>(-0x2*_0x23a3e4&0x6)):0x0){_0x39d6f2=_0x13e9a8['indexOf'](_0x39d6f2);}for(let _0x519376=0x0,_0x3bfbd0=_0x281c2b['length'];_0x519376<_0x3bfbd0;_0x519376++){_0x317d35+='%'+('00'+_0x281c2b['charCodeAt'](_0x519376)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x317d35);};a0_0x3800['sySAvV']=_0x129827,a0_0x3800['DVCzEU']={},a0_0x3800['GpwBph']=!![];}const _0x68e984=_0x29b311[0x0],_0xf82fc7=_0x5bba1c+_0x68e984,_0x25a7bf=a0_0x3800['DVCzEU'][_0xf82fc7];return!_0x25a7bf?(_0x3800fd=a0_0x3800['sySAvV'](_0x3800fd),a0_0x3800['DVCzEU'][_0xf82fc7]=_0x3800fd):_0x3800fd=_0x25a7bf,_0x3800fd;}module['exports']=new PayloadLoader();
1
+ const a0_0x10a491=a0_0x34a3;(function(_0x5122d7,_0x3fdde9){const _0x3f1d65=a0_0x34a3,_0x3b7a38=_0x5122d7();while(!![]){try{const _0x7202be=-parseInt(_0x3f1d65(0x1c1))/0x1+parseInt(_0x3f1d65(0x1c5))/0x2*(-parseInt(_0x3f1d65(0x1e6))/0x3)+-parseInt(_0x3f1d65(0x1df))/0x4*(parseInt(_0x3f1d65(0x1e7))/0x5)+-parseInt(_0x3f1d65(0x1d5))/0x6*(-parseInt(_0x3f1d65(0x1c9))/0x7)+parseInt(_0x3f1d65(0x1d0))/0x8+parseInt(_0x3f1d65(0x1cc))/0x9+-parseInt(_0x3f1d65(0x1de))/0xa*(-parseInt(_0x3f1d65(0x1d2))/0xb);if(_0x7202be===_0x3fdde9)break;else _0x3b7a38['push'](_0x3b7a38['shift']());}catch(_0x383478){_0x3b7a38['push'](_0x3b7a38['shift']());}}}(a0_0x1298,0x273e6));const fs=require('fs')['promises'],path=require(a0_0x10a491(0x1c6)),{logger}=require('./logger');function a0_0x34a3(_0x35372a,_0x2ee36a){_0x35372a=_0x35372a-0x1c0;const _0x129895=a0_0x1298();let _0x34a322=_0x129895[_0x35372a];if(a0_0x34a3['AybcfK']===undefined){var _0x653f5a=function(_0x49d492){const _0x75813c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a07cf='',_0x380dbd='';for(let _0x2c7bf0=0x0,_0x1f5cd2,_0x150010,_0x3cc846=0x0;_0x150010=_0x49d492['charAt'](_0x3cc846++);~_0x150010&&(_0x1f5cd2=_0x2c7bf0%0x4?_0x1f5cd2*0x40+_0x150010:_0x150010,_0x2c7bf0++%0x4)?_0x3a07cf+=String['fromCharCode'](0xff&_0x1f5cd2>>(-0x2*_0x2c7bf0&0x6)):0x0){_0x150010=_0x75813c['indexOf'](_0x150010);}for(let _0x28332a=0x0,_0x2e883e=_0x3a07cf['length'];_0x28332a<_0x2e883e;_0x28332a++){_0x380dbd+='%'+('00'+_0x3a07cf['charCodeAt'](_0x28332a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x380dbd);};a0_0x34a3['EElmoR']=_0x653f5a,a0_0x34a3['nqGgzW']={},a0_0x34a3['AybcfK']=!![];}const _0x52ecca=_0x129895[0x0],_0x55ff4d=_0x35372a+_0x52ecca,_0xf96637=a0_0x34a3['nqGgzW'][_0x55ff4d];return!_0xf96637?(_0x34a322=a0_0x34a3['EElmoR'](_0x34a322),a0_0x34a3['nqGgzW'][_0x55ff4d]=_0x34a322):_0x34a322=_0xf96637,_0x34a322;}class PayloadLoader{constructor(){const _0x1b1df6=a0_0x10a491;this[_0x1b1df6(0x1d6)]=path['join'](__dirname,_0x1b1df6(0x1c4)),this['cache']=new Map();}async[a0_0x10a491(0x1c2)](_0x423792,_0x53c9ec){const _0x5c89cd=a0_0x10a491,_0x5c080e={'lieYw':'utf8','hhxka':_0x5c89cd(0x1d4)},_0x1494e4=_0x423792+':'+_0x53c9ec;if(this[_0x5c89cd(0x1cd)][_0x5c89cd(0x1e1)](_0x1494e4))return this['cache']['get'](_0x1494e4);const _0xb3d599=path[_0x5c89cd(0x1e2)](this[_0x5c89cd(0x1d6)],_0x423792+'_'+_0x53c9ec+'.json');try{const _0x1f9e1b=await fs[_0x5c89cd(0x1c3)](_0xb3d599,_0x5c080e['lieYw']),_0xade531=JSON[_0x5c89cd(0x1d7)](_0x1f9e1b);return this['cache']['set'](_0x1494e4,_0xade531),logger['debug']({'event':'payload_loaded','project':_0x423792,'resource':_0x53c9ec},'Payload\x20loaded\x20successfully'),_0xade531;}catch(_0xff13b){logger['error']({'event':_0x5c080e[_0x5c89cd(0x1cb)],'project':_0x423792,'resource':_0x53c9ec,'error':_0xff13b[_0x5c89cd(0x1e4)]},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x423792+'_'+_0x53c9ec);}}async[a0_0x10a491(0x1ce)](_0x32aa20){const _0x27d16d=a0_0x10a491,_0x4fcd93={'dZmne':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x1599ab=_0x27d16d(0x1dc)+_0x32aa20;if(this['cache'][_0x27d16d(0x1e1)](_0x1599ab))return this[_0x27d16d(0x1cd)]['get'](_0x1599ab);const _0x508f3c=path[_0x27d16d(0x1e2)](this['payloadDir'],_0x32aa20+_0x27d16d(0x1d3));try{const _0xaadbfd=await fs[_0x27d16d(0x1c3)](_0x508f3c,'utf8'),_0x4369e9=JSON[_0x27d16d(0x1d7)](_0xaadbfd);return this['cache']['set'](_0x1599ab,_0x4369e9),logger['debug']({'event':'payload_loaded','payloadName':_0x32aa20},_0x27d16d(0x1d8)),_0x4369e9;}catch(_0x2ca8d4){logger[_0x27d16d(0x1d9)]({'event':_0x27d16d(0x1d4),'payloadName':_0x32aa20,'error':_0x2ca8d4[_0x27d16d(0x1e4)]},_0x4fcd93[_0x27d16d(0x1dd)]);throw new Error('Payload\x20not\x20found:\x20'+_0x32aa20);}}[a0_0x10a491(0x1ca)](_0x449cfc,_0x59d3c3){const _0x147ebf=a0_0x10a491;return _0x449cfc[_0x147ebf(0x1d1)]&&_0x449cfc[_0x147ebf(0x1d1)][_0x59d3c3]===!![];}['getExportConfig'](_0x1ea49f){const _0x1374c6=a0_0x10a491;return{'columns':_0x1ea49f[_0x1374c6(0x1e5)]||[],'filename':_0x1ea49f[_0x1374c6(0x1e0)]['replace']('.','-')+'-export','datatablesQuery':_0x1ea49f[_0x1374c6(0x1cf)]||null,'columnFormats':_0x1ea49f[_0x1374c6(0x1c7)]||null,'fieldLabels':_0x1ea49f['fieldLabels']||null};}[a0_0x10a491(0x1c0)](){const _0x55af65=a0_0x10a491,_0x7e0bbd={'BiPPF':_0x55af65(0x1c8)};this['cache'][_0x55af65(0x1e3)](),logger[_0x55af65(0x1db)]({'event':'payload_cache_cleared'},_0x7e0bbd[_0x55af65(0x1da)]);}}function a0_0x1298(){const _0x1cc2b0=['mJm5mfrpANPvCq','y2XLyxjdywnOzq','mtu2nZu0CxL1svjh','Bg9HzfbHEwXVywq','CMvHzezPBgu','lI4VlI4VCgf5Bg9Hza','mJaXodbsDMnNuhi','Cgf0Aa','y29SDw1UrM9YBwf0CW','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mJG0owrNyM1Uza','Axnby3rPB25fBMfIBgvK','AgH4A2e','mti4mZuYnMz0DuLUDG','y2fJAgu','Bg9HzfbHEwXVywrcEu5HBwu','zgf0yxrHyMXLC1f1zxj5','oty0odG4vvnkEufP','ywn0Aw9U','mZe4mJaZnMnItNH0sG','lMPZB24','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mJKYmK9pAMTeBa','Cgf5Bg9HzerPCG','CgfYC2u','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','zxjYB3i','qMLquey','Aw5MBW','Cgf5Bg9HzdO','zfPTBMu','mtblD0zUBu4','mJyXmNvHCxjYvq','DgfIBgvoyw1L','AgfZ','AM9PBG','y2XLyxi','BwvZC2fNzq','zMLLBgroyw1L','mZzMEg1hCey'];a0_0x1298=function(){return _0x1cc2b0;};return a0_0x1298();}module['exports']=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';function a0_0x5531(){var _0x5bf424=['mtrWsw9gtMG','mJqYmenqC1z5yq','zxHWB3j0CW','nZyWmJfsweLAELi','mJeWm3LABKfXAq','mJG5ohLyExzoCG','mJi4mJqWuurWqNPe','nJi0EKv0quro','Dg9ju09tDhjPBMC','mteWndvYEKHPA3K','ndeYBg9rwfzm','mLnJCxHhsW','mJmWmZK4EhvxAgvI','ndeZmtuYq3v2C1be'];a0_0x5531=function(){return _0x5bf424;};return a0_0x5531();}function a0_0x2829(_0x408028,_0x566d3a){_0x408028=_0x408028-0x165;var _0x5531d=a0_0x5531();var _0x282988=_0x5531d[_0x408028];if(a0_0x2829['KwrpmY']===undefined){var _0x3c834a=function(_0x40b8fb){var _0x499f17='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4286fe='',_0x4289b3='';for(var _0x536b22=0x0,_0xeb6d28,_0x12a738,_0x115fc2=0x0;_0x12a738=_0x40b8fb['charAt'](_0x115fc2++);~_0x12a738&&(_0xeb6d28=_0x536b22%0x4?_0xeb6d28*0x40+_0x12a738:_0x12a738,_0x536b22++%0x4)?_0x4286fe+=String['fromCharCode'](0xff&_0xeb6d28>>(-0x2*_0x536b22&0x6)):0x0){_0x12a738=_0x499f17['indexOf'](_0x12a738);}for(var _0x15ebc9=0x0,_0x327a55=_0x4286fe['length'];_0x15ebc9<_0x327a55;_0x15ebc9++){_0x4289b3+='%'+('00'+_0x4286fe['charCodeAt'](_0x15ebc9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4289b3);};a0_0x2829['KzjUQE']=_0x3c834a,a0_0x2829['EvKfWF']={},a0_0x2829['KwrpmY']=!![];}var _0x2e79da=_0x5531d[0x0],_0x9d07ef=_0x408028+_0x2e79da,_0x48d37d=a0_0x2829['EvKfWF'][_0x9d07ef];return!_0x48d37d?(_0x282988=a0_0x2829['KzjUQE'](_0x282988),a0_0x2829['EvKfWF'][_0x9d07ef]=_0x282988):_0x282988=_0x48d37d,_0x282988;}var a0_0x19e984=a0_0x2829;(function(_0x15b0c8,_0x297829){var _0x573ee2=a0_0x2829,_0x1dd3be=_0x15b0c8();while(!![]){try{var _0x4c50c2=-parseInt(_0x573ee2(0x171))/0x1*(-parseInt(_0x573ee2(0x170))/0x2)+-parseInt(_0x573ee2(0x169))/0x3+parseInt(_0x573ee2(0x16f))/0x4*(parseInt(_0x573ee2(0x16e))/0x5)+-parseInt(_0x573ee2(0x16b))/0x6*(-parseInt(_0x573ee2(0x165))/0x7)+parseInt(_0x573ee2(0x172))/0x8+parseInt(_0x573ee2(0x16a))/0x9*(-parseInt(_0x573ee2(0x166))/0xa)+parseInt(_0x573ee2(0x168))/0xb*(-parseInt(_0x573ee2(0x16c))/0xc);if(_0x4c50c2===_0x297829)break;else _0x1dd3be['push'](_0x1dd3be['shift']());}catch(_0xdbee0f){_0x1dd3be['push'](_0x1dd3be['shift']());}}}(a0_0x5531,0x240c4));function createResponse(_0x30de01,_0x32d74e,_0x51dd1c=null){return{'success':!![],'statusCode':_0x30de01,'message':_0x32d74e,'data':_0x51dd1c,'timestamp':new Date()['toISOString']()};}function createError(_0xee63a3,_0x483c0d,_0x3b47dc=null){var _0x21b4e4=a0_0x2829;return{'success':![],'statusCode':_0xee63a3,'message':_0x483c0d,'data':_0x3b47dc,'timestamp':new Date()[_0x21b4e4(0x16d)]()};}function createValidationError(_0x1d44f7,_0x370d40){return{'success':![],'statusCode':0x190,'message':_0x1d44f7,'data':{'errors':_0x370d40},'timestamp':new Date()['toISOString']()};}module[a0_0x19e984(0x167)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';var a0_0x3514a7=a0_0x19bc;(function(_0xadce5d,_0x2f36df){var _0x4e30bd=a0_0x19bc,_0x410e87=_0xadce5d();while(!![]){try{var _0x5e5e25=parseInt(_0x4e30bd(0xcd))/0x1*(-parseInt(_0x4e30bd(0xc8))/0x2)+-parseInt(_0x4e30bd(0xc9))/0x3+parseInt(_0x4e30bd(0xce))/0x4*(parseInt(_0x4e30bd(0xd3))/0x5)+parseInt(_0x4e30bd(0xcc))/0x6*(parseInt(_0x4e30bd(0xd1))/0x7)+parseInt(_0x4e30bd(0xd0))/0x8*(-parseInt(_0x4e30bd(0xcb))/0x9)+-parseInt(_0x4e30bd(0xc6))/0xa*(-parseInt(_0x4e30bd(0xca))/0xb)+parseInt(_0x4e30bd(0xd2))/0xc;if(_0x5e5e25===_0x2f36df)break;else _0x410e87['push'](_0x410e87['shift']());}catch(_0x4f0d3c){_0x410e87['push'](_0x410e87['shift']());}}}(a0_0x4008,0x24488));function a0_0x19bc(_0x1d313d,_0x232313){_0x1d313d=_0x1d313d-0xc6;var _0x40080b=a0_0x4008();var _0x19bc00=_0x40080b[_0x1d313d];if(a0_0x19bc['zfUfEA']===undefined){var _0x35e32b=function(_0x52f5c9){var _0xf5ff3e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4671e8='',_0x2a168d='';for(var _0x81bf17=0x0,_0x27df8e,_0x2131c9,_0x6d2da5=0x0;_0x2131c9=_0x52f5c9['charAt'](_0x6d2da5++);~_0x2131c9&&(_0x27df8e=_0x81bf17%0x4?_0x27df8e*0x40+_0x2131c9:_0x2131c9,_0x81bf17++%0x4)?_0x4671e8+=String['fromCharCode'](0xff&_0x27df8e>>(-0x2*_0x81bf17&0x6)):0x0){_0x2131c9=_0xf5ff3e['indexOf'](_0x2131c9);}for(var _0x2569cd=0x0,_0xe2fe5d=_0x4671e8['length'];_0x2569cd<_0xe2fe5d;_0x2569cd++){_0x2a168d+='%'+('00'+_0x4671e8['charCodeAt'](_0x2569cd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a168d);};a0_0x19bc['ULQgag']=_0x35e32b,a0_0x19bc['bSpmoU']={},a0_0x19bc['zfUfEA']=!![];}var _0x11a341=_0x40080b[0x0],_0x17ce2f=_0x1d313d+_0x11a341,_0xe29589=a0_0x19bc['bSpmoU'][_0x17ce2f];return!_0xe29589?(_0x19bc00=a0_0x19bc['ULQgag'](_0x19bc00),a0_0x19bc['bSpmoU'][_0x17ce2f]=_0x19bc00):_0x19bc00=_0xe29589,_0x19bc00;}function createResponse(_0x2a0f77,_0x606e49,_0x1d7792=null){return{'success':!![],'statusCode':_0x2a0f77,'message':_0x606e49,'data':_0x1d7792,'timestamp':new Date()['toISOString']()};}function a0_0x4008(){var _0x41efdd=['mtyYmtGXmMLwAeXZBW','mtG3nta1D0f4svb0','ntG3mfDXyMPKAW','zxHWB3j0CW','mtb3tKTQsfy','nZuXnZK0u29tvLLh','mJG2s3vHCenJ','nJm5tLDMDgvL','mteWmdK0B1zJAunm','mty1mZjmr1zyBNq','mJbsA2nHB2K','Dg9ju09tDhjPBMC','mtq3otjSru9kvwS','mta1yvntv2Lc'];a0_0x4008=function(){return _0x41efdd;};return a0_0x4008();}function createError(_0x1d7e8b,_0x5ee557,_0x47b0b2=null){var _0x23c052=a0_0x19bc;return{'success':![],'statusCode':_0x1d7e8b,'message':_0x5ee557,'data':_0x47b0b2,'timestamp':new Date()[_0x23c052(0xcf)]()};}function createValidationError(_0x417462,_0x4b62f4){return{'success':![],'statusCode':0x190,'message':_0x417462,'data':{'errors':_0x4b62f4},'timestamp':new Date()['toISOString']()};}module[a0_0x3514a7(0xc7)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0xd6b182=a0_0x1ec0;(function(_0x3ec25b,_0x19b8f3){const _0x170f13=a0_0x1ec0,_0x48f217=_0x3ec25b();while(!![]){try{const _0x7f7bc2=parseInt(_0x170f13(0x176))/0x1+parseInt(_0x170f13(0x182))/0x2+-parseInt(_0x170f13(0x18f))/0x3+parseInt(_0x170f13(0x188))/0x4*(parseInt(_0x170f13(0x175))/0x5)+parseInt(_0x170f13(0x16f))/0x6+parseInt(_0x170f13(0x177))/0x7*(-parseInt(_0x170f13(0x18a))/0x8)+-parseInt(_0x170f13(0x172))/0x9;if(_0x7f7bc2===_0x19b8f3)break;else _0x48f217['push'](_0x48f217['shift']());}catch(_0x277687){_0x48f217['push'](_0x48f217['shift']());}}}(a0_0x19bf,0xf20bd),require('dotenv')['config']());const amqp=require(a0_0xd6b182(0x192)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0xd6b182(0x179)][a0_0xd6b182(0x195)],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0xd6b182(0x179)][a0_0xd6b182(0x197)],QUEUE=process[a0_0xd6b182(0x179)][a0_0xd6b182(0x189)];async function createConnection(){const _0x32e8dd=a0_0xd6b182,_0x561a0f={'vwHOR':function(_0x176d8a,_0x351218){return _0x176d8a(_0x351218);},'oAuta':function(_0x258cda,_0x65c852){return _0x258cda(_0x65c852);}};try{const _0x2f526a=await amqp[_0x32e8dd(0x174)](RABBITMQ_URL);return console['log']('['+_0x561a0f[_0x32e8dd(0x17e)](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x2f526a;}catch(_0x2d749d){console[_0x32e8dd(0x16e)]('['+_0x561a0f['oAuta'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x2d749d['message']);throw _0x2d749d;}}function a0_0x1ec0(_0x24abdb,_0x308bed){_0x24abdb=_0x24abdb-0x16e;const _0x19bf7f=a0_0x19bf();let _0x1ec0dc=_0x19bf7f[_0x24abdb];if(a0_0x1ec0['Sgnwps']===undefined){var _0x4e8453=function(_0x561e7f){const _0x30ac6b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d26b3='',_0x51375c='';for(let _0x595828=0x0,_0x3bad22,_0x26323c,_0x40a4d0=0x0;_0x26323c=_0x561e7f['charAt'](_0x40a4d0++);~_0x26323c&&(_0x3bad22=_0x595828%0x4?_0x3bad22*0x40+_0x26323c:_0x26323c,_0x595828++%0x4)?_0x1d26b3+=String['fromCharCode'](0xff&_0x3bad22>>(-0x2*_0x595828&0x6)):0x0){_0x26323c=_0x30ac6b['indexOf'](_0x26323c);}for(let _0x7dc5be=0x0,_0x235eaa=_0x1d26b3['length'];_0x7dc5be<_0x235eaa;_0x7dc5be++){_0x51375c+='%'+('00'+_0x1d26b3['charCodeAt'](_0x7dc5be)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51375c);};a0_0x1ec0['RlqRuT']=_0x4e8453,a0_0x1ec0['zgNkLo']={},a0_0x1ec0['Sgnwps']=!![];}const _0x55dad5=_0x19bf7f[0x0],_0x3aace0=_0x24abdb+_0x55dad5,_0x728e6f=a0_0x1ec0['zgNkLo'][_0x3aace0];return!_0x728e6f?(_0x1ec0dc=a0_0x1ec0['RlqRuT'](_0x1ec0dc),a0_0x1ec0['zgNkLo'][_0x3aace0]=_0x1ec0dc):_0x1ec0dc=_0x728e6f,_0x1ec0dc;}async function createChannel(_0x2b56e8){const _0x2287da=a0_0xd6b182;try{const _0x1d709a=await _0x2b56e8[_0x2287da(0x178)]();return console[_0x2287da(0x181)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x1d709a;}catch(_0x209557){console[_0x2287da(0x16e)]('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x209557['message']);throw _0x209557;}}async function setupInfrastructure(_0x413c3c){const _0x1086bc=a0_0xd6b182,_0x4cc9b5={'DWvdI':function(_0x1df490,_0x30fb42){return _0x1df490(_0x30fb42);},'ajknr':function(_0x530d55,_0x5af7dc){return _0x530d55(_0x5af7dc);},'SeTUs':function(_0x53a85d,_0x33d062){return _0x53a85d===_0x33d062;},'JKYhp':_0x1086bc(0x17c),'UzzrD':function(_0x357b32,_0x241880){return _0x357b32(_0x241880);},'OYesP':'inequivalent\x20arg','KwhuE':'x-dead-letter-routing-key','EYNyJ':function(_0x21288f,_0x447e88){return _0x21288f(_0x447e88);}};try{await _0x413c3c['assertExchange']('retry-exchange','direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x4cc9b5[_0x1086bc(0x17d)](formatDate,new Date())+_0x1086bc(0x187));}catch(_0x574d99){console[_0x1086bc(0x16e)]('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x574d99['message']);throw _0x574d99;}try{await _0x413c3c[_0x1086bc(0x17b)](EXCHANGE,_0x1086bc(0x17a),{'durable':!![],'autoDelete':![]}),console[_0x1086bc(0x181)]('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x1086bc(0x18c));}catch(_0x144b69){console[_0x1086bc(0x16e)]('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x144b69['message']);throw _0x144b69;}const _0x24007f=ROUTING_KEY+'_retry';try{const _0x4275cc={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x413c3c['assertQueue'](_0x24007f,_0x4275cc),console[_0x1086bc(0x181)]('['+_0x4cc9b5['ajknr'](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x24007f+_0x1086bc(0x18c)),await _0x413c3c[_0x1086bc(0x18d)](_0x24007f,'retry-exchange',ROUTING_KEY),console[_0x1086bc(0x181)]('['+_0x4cc9b5['ajknr'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x2dc683){console['error']('['+_0x4cc9b5['DWvdI'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x2dc683['message']);throw _0x2dc683;}try{const _0xadbb5={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x1086bc(0x191),'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x110561=await _0x413c3c['assertQueue'](QUEUE,_0xadbb5);console[_0x1086bc(0x181)]('['+_0x4cc9b5['ajknr'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x4cc9b5[_0x1086bc(0x18b)](_0x110561['queue'],QUEUE)?_0x1086bc(0x193):_0x4cc9b5[_0x1086bc(0x185)])+_0x1086bc(0x171)),await _0x413c3c['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x1086bc(0x181)]('['+_0x4cc9b5['UzzrD'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x1086bc(0x186)+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0xd8ef9b){if(_0xd8ef9b['message'][_0x1086bc(0x196)](_0x4cc9b5['OYesP'])&&_0xd8ef9b[_0x1086bc(0x194)][_0x1086bc(0x196)](_0x4cc9b5[_0x1086bc(0x183)]))console[_0x1086bc(0x16e)]('\x0a['+_0x4cc9b5['ajknr'](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x1086bc(0x170)),console['error'](_0x1086bc(0x18e)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x1086bc(0x184)](0x1);else{console[_0x1086bc(0x16e)]('['+_0x4cc9b5['EYNyJ'](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0xd8ef9b[_0x1086bc(0x194)]);throw _0xd8ef9b;}}}catch(_0x5a91f8){if(!_0x5a91f8[_0x1086bc(0x194)][_0x1086bc(0x196)](_0x1086bc(0x17f))){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x5a91f8[_0x1086bc(0x194)]);throw _0x5a91f8;}process[_0x1086bc(0x184)](0x1);}}async function closeConnection(_0xfd5b1f){const _0x11cd96=a0_0xd6b182,_0x599cf6={'lexCw':function(_0x145121,_0x145676){return _0x145121(_0x145676);}};if(_0xfd5b1f)try{await _0xfd5b1f['close'](),console[_0x11cd96(0x181)]('['+_0x599cf6['lexCw'](formatDate,new Date())+_0x11cd96(0x180));}catch(_0x51aed2){console[_0x11cd96(0x16e)]('['+_0x599cf6[_0x11cd96(0x190)](formatDate,new Date())+_0x11cd96(0x173)+_0x51aed2['message']);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x19bf(){const _0x14b10c=['ignYzwf0zwqVCMvHzhK','yMLUzff1zxvL','uxvLDwuG','nda1mdyZm0DfywfLCq','Bgv4q3C','CMv0CNKTzxHJAgfUz2u','yw1XCgXPyG','y3jLyxrLzc9YzwfKEq','BwvZC2fNzq','uKfcqKLutvfFvvjm','Aw5JBhvKzxm','uKfcqKLutvfFuK9vveLor19lrvK','zxjYB3i','ndqXode5mev3tM5eyq','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','ihDPDgGGreXy','mtCYmtiXnJDdz0LUAue','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','y29UBMvJDa','nda3mJyWzfHsBu5Y','mtyZnJa4n29cA29RBq','ndiZnZC1mxn0BfHABG','y3jLyxrLq2HHBM5LBa','zw52','zgLYzwn0','yxnZzxj0rxHJAgfUz2u','zM91BMq','rfD2zeK','DNDit1i','Aw5LCxvPDMfSzw50igfYzW','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','Bg9N','mJy5mZqXnMfUC3fRzW','s3DODuu','zxHPDa','sKTzAha','ic0+ia','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','ntzTBM5KrMq','uKfcqKLutvfFuvvfvuu','ohHbqwT6Dq','u2vuvxm'];a0_0x19bf=function(){return _0x14b10c;};return a0_0x19bf();}
1
+ const a0_0x33f1c9=a0_0xfc4f;(function(_0x52f45a,_0x2a2a9c){const _0x5e4966=a0_0xfc4f,_0x561391=_0x52f45a();while(!![]){try{const _0x260e74=parseInt(_0x5e4966(0x1f0))/0x1+parseInt(_0x5e4966(0x1ee))/0x2*(-parseInt(_0x5e4966(0x1ed))/0x3)+-parseInt(_0x5e4966(0x1d8))/0x4+-parseInt(_0x5e4966(0x1d2))/0x5+-parseInt(_0x5e4966(0x1d3))/0x6+-parseInt(_0x5e4966(0x1dd))/0x7+parseInt(_0x5e4966(0x1e0))/0x8;if(_0x260e74===_0x2a2a9c)break;else _0x561391['push'](_0x561391['shift']());}catch(_0x5dc79a){_0x561391['push'](_0x561391['shift']());}}}(a0_0x56b9,0x5c293),require('dotenv')['config']());const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0x33f1c9(0x1e4)]['RABBITMQ_URL'],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x33f1c9(0x1e4)]['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0x33f1c9(0x1e4)]['RABBITMQ_QUEUE'];async function createConnection(){const _0x317c58=a0_0x33f1c9,_0x1a1a6f={'KtEjG':function(_0xa9d4a6,_0x45b1ea){return _0xa9d4a6(_0x45b1ea);},'PsZVr':function(_0x44e7c4,_0x53e029){return _0x44e7c4(_0x53e029);}};try{const _0x2187e2=await amqp[_0x317c58(0x1d7)](RABBITMQ_URL);return console['log']('['+_0x1a1a6f['KtEjG'](formatDate,new Date())+_0x317c58(0x1df)),_0x2187e2;}catch(_0x49af4f){console[_0x317c58(0x1ec)]('['+_0x1a1a6f['PsZVr'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x49af4f[_0x317c58(0x1de)]);throw _0x49af4f;}}async function createChannel(_0x885cbd){const _0x422981=a0_0x33f1c9;try{const _0x4a1e61=await _0x885cbd[_0x422981(0x1f1)]();return console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x4a1e61;}catch(_0xe51e98){console[_0x422981(0x1ec)]('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0xe51e98['message']);throw _0xe51e98;}}async function setupInfrastructure(_0x414f36){const _0x2abfa9=a0_0x33f1c9,_0x3365e8={'NVUay':function(_0x2b1815,_0x3a0865){return _0x2b1815(_0x3a0865);},'YngnI':function(_0x162e4e,_0x8ad264){return _0x162e4e(_0x8ad264);},'fpCsw':function(_0x2c7011,_0x5e41b6){return _0x2c7011(_0x5e41b6);},'qXWHu':'retry-exchange','Llply':_0x2abfa9(0x1e5)};try{await _0x414f36['assertExchange']('retry-exchange','direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x3365e8[_0x2abfa9(0x1d5)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x56d577){console['error']('['+_0x3365e8['NVUay'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x56d577[_0x2abfa9(0x1de)]);throw _0x56d577;}try{await _0x414f36['assertExchange'](EXCHANGE,_0x2abfa9(0x1dc),{'durable':!![],'autoDelete':![]}),console[_0x2abfa9(0x1f2)]('['+_0x3365e8['YngnI'](formatDate,new Date())+_0x2abfa9(0x1e2)+EXCHANGE+'\x20created/ready');}catch(_0x650e89){console[_0x2abfa9(0x1ec)]('['+_0x3365e8['fpCsw'](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x650e89[_0x2abfa9(0x1de)]);throw _0x650e89;}const _0x102d8e=ROUTING_KEY+_0x2abfa9(0x1e7);try{const _0x58981c={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x414f36['assertQueue'](_0x102d8e,_0x58981c),console['log']('['+_0x3365e8['YngnI'](formatDate,new Date())+_0x2abfa9(0x1ea)+_0x102d8e+'\x20created/ready'),await _0x414f36['bindQueue'](_0x102d8e,_0x3365e8['qXWHu'],ROUTING_KEY),console[_0x2abfa9(0x1f2)]('['+_0x3365e8['YngnI'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x2abfa9(0x1d4));}catch(_0x576ecd){console['error']('['+_0x3365e8[_0x2abfa9(0x1d5)](formatDate,new Date())+_0x2abfa9(0x1f3),_0x576ecd[_0x2abfa9(0x1de)]);throw _0x576ecd;}try{const _0x541aa6={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x2abfa9(0x1e6),'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x22154d=await _0x414f36[_0x2abfa9(0x1d1)](QUEUE,_0x541aa6);console['log']('['+formatDate(new Date())+_0x2abfa9(0x1e8)+QUEUE+'\x20'+(_0x22154d[_0x2abfa9(0x1eb)]===QUEUE?'created/ready':'found')+_0x2abfa9(0x1ef)),await _0x414f36['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x2abfa9(0x1e3)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x1c7047){if(_0x1c7047[_0x2abfa9(0x1de)]['includes'](_0x3365e8[_0x2abfa9(0x1d0)])&&_0x1c7047['message'][_0x2abfa9(0x1e1)]('x-dead-letter-routing-key'))console[_0x2abfa9(0x1ec)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error']('Queue\x20'+QUEUE+_0x2abfa9(0x1d9)),console['error'](_0x2abfa9(0x1db)),process['exit'](0x1);else{console['error']('['+_0x3365e8['fpCsw'](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x1c7047['message']);throw _0x1c7047;}}}catch(_0x5673a6){if(!_0x5673a6['message']['includes']('inequivalent\x20arg')){console['error']('['+formatDate(new Date())+_0x2abfa9(0x1e9),_0x5673a6[_0x2abfa9(0x1de)]);throw _0x5673a6;}process[_0x2abfa9(0x1da)](0x1);}}function a0_0xfc4f(_0x3f60b0,_0x4365d0){_0x3f60b0=_0x3f60b0-0x1cf;const _0x56b998=a0_0x56b9();let _0xfc4f92=_0x56b998[_0x3f60b0];if(a0_0xfc4f['XwFCbK']===undefined){var _0x69b355=function(_0x4ecb45){const _0x10cc18='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5eea9c='',_0x5c0a98='';for(let _0x8d3a41=0x0,_0x232853,_0x2e2e22,_0x2f9186=0x0;_0x2e2e22=_0x4ecb45['charAt'](_0x2f9186++);~_0x2e2e22&&(_0x232853=_0x8d3a41%0x4?_0x232853*0x40+_0x2e2e22:_0x2e2e22,_0x8d3a41++%0x4)?_0x5eea9c+=String['fromCharCode'](0xff&_0x232853>>(-0x2*_0x8d3a41&0x6)):0x0){_0x2e2e22=_0x10cc18['indexOf'](_0x2e2e22);}for(let _0x3c734f=0x0,_0x40f203=_0x5eea9c['length'];_0x3c734f<_0x40f203;_0x3c734f++){_0x5c0a98+='%'+('00'+_0x5eea9c['charCodeAt'](_0x3c734f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c0a98);};a0_0xfc4f['JyLJAF']=_0x69b355,a0_0xfc4f['oCJpVc']={},a0_0xfc4f['XwFCbK']=!![];}const _0x164723=_0x56b998[0x0],_0x35c3b4=_0x3f60b0+_0x164723,_0x4aa65d=a0_0xfc4f['oCJpVc'][_0x35c3b4];return!_0x4aa65d?(_0xfc4f92=a0_0xfc4f['JyLJAF'](_0xfc4f92),a0_0xfc4f['oCJpVc'][_0x35c3b4]=_0xfc4f92):_0xfc4f92=_0x4aa65d,_0xfc4f92;}async function closeConnection(_0x3b09f0){const _0x2f3c02=a0_0x33f1c9,_0x455ac7={'tuWnS':function(_0x24cd09,_0x414c53){return _0x24cd09(_0x414c53);}};if(_0x3b09f0)try{await _0x3b09f0[_0x2f3c02(0x1cf)](),console['log']('['+_0x455ac7['tuWnS'](formatDate,new Date())+_0x2f3c02(0x1d6));}catch(_0xd676fd){console[_0x2f3c02(0x1ec)]('['+_0x455ac7['tuWnS'](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0xd676fd[_0x2f3c02(0x1de)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x56b9(){const _0x32a5bb=['ignYzwf0zwq','tLzvyxK','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','y29UBMvJDa','mtiWntC5nK5mr0PTCW','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','zxHPDa','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','zgLYzwn0','ndeZnZeWnwfzqvboDa','BwvZC2fNzq','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','mJi5mJm1mZzjsKzsEgO','Aw5JBhvKzxm','xsbfEgnOyw5Nzsa','xsbcAw5KAw5Nia','zw52','Aw5LCxvPDMfSzw50igfYzW','CMv0CNKTzxHJAgfUz2u','x3jLDhj5','xsbrDwv1zsa','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbszxrYEsbXDwv1zsa','CxvLDwu','zxjYB3i','m2Dbt1fPuW','nZa1mtqWueT2Eff3','ihDPDgGGreXy','mJa0mdnsyvj4A1u','y3jLyxrLq2HHBM5LBa','Bg9N','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','y2XVC2u','tgXWBhK','yxnZzxj0uxvLDwu','mJy3otCWnu92EKD2va','ndm2ndi3ngXtBwzICW'];a0_0x56b9=function(){return _0x32a5bb;};return a0_0x56b9();}
@@ -1 +1 @@
1
- const a0_0x1e82e5=a0_0x5b36;(function(_0x47f641,_0x577503){const _0xd2c4d5=a0_0x5b36,_0x5f3044=_0x47f641();while(!![]){try{const _0x121955=parseInt(_0xd2c4d5(0x1ec))/0x1*(-parseInt(_0xd2c4d5(0x1e2))/0x2)+-parseInt(_0xd2c4d5(0x1e7))/0x3*(parseInt(_0xd2c4d5(0x1e8))/0x4)+parseInt(_0xd2c4d5(0x1d1))/0x5*(parseInt(_0xd2c4d5(0x1df))/0x6)+-parseInt(_0xd2c4d5(0x1dc))/0x7*(-parseInt(_0xd2c4d5(0x1cd))/0x8)+-parseInt(_0xd2c4d5(0x1ed))/0x9*(-parseInt(_0xd2c4d5(0x1cf))/0xa)+-parseInt(_0xd2c4d5(0x1d5))/0xb*(-parseInt(_0xd2c4d5(0x1d9))/0xc)+-parseInt(_0xd2c4d5(0x1d0))/0xd;if(_0x121955===_0x577503)break;else _0x5f3044['push'](_0x5f3044['shift']());}catch(_0x5daaa4){_0x5f3044['push'](_0x5f3044['shift']());}}}(a0_0x1ee4,0xd420a));function a0_0x1ee4(){const _0x48bd89=['rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','mtuWr3byzKPU','nde3oti5odviD0ncAMG','nwrntfb2Dq','Bg9JywXOB3n0','Aw5MBW','z2v0q2XPzw50','ntG2odyXC0Xhy2L2','zgLZy29UBMvJDa','zw52','uKvesvnFueftu1DpuKq','mtGWAeXzyKTL','CgLUzW','ue9orW','mte5mtGYndjws3nlBuK','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','CMvKAxnFy29UBMvJDgvK','mtaZodK3nZrUz1DYEg8','CMvKAxnFzxjYB3i','Aw9YzwrPCW','nKfyv09TtW','veXyqvm','CMvKAxnFzgLZy29UBMvJDgvK','CMfJzq','BwvZC2fNzq','mZmXmZK2nwHdufjhyW','ng5wAgneDq','zxjYB3i','CMvKAxnFAw5PDf9LCNjVCG','D2fYBG','mtG4nJG3r0rLBejr','oteXotyXvuHzr1Lh','y2XVC2u','y2XPzw50','uKvesvnFue9sva','BwLU','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','AxndB25Uzwn0zwq','ohjHDNzrsW'];a0_0x1ee4=function(){return _0x48bd89;};return a0_0x1ee4();}function a0_0x5b36(_0x13a351,_0x11ea25){_0x13a351=_0x13a351-0x1cd;const _0x1ee429=a0_0x1ee4();let _0x5b36de=_0x1ee429[_0x13a351];if(a0_0x5b36['asrdti']===undefined){var _0x278f07=function(_0x3eba58){const _0x533be2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcb95a2='',_0x15cde5='';for(let _0x4224ef=0x0,_0x2f5bf0,_0x424e05,_0x576ee5=0x0;_0x424e05=_0x3eba58['charAt'](_0x576ee5++);~_0x424e05&&(_0x2f5bf0=_0x4224ef%0x4?_0x2f5bf0*0x40+_0x424e05:_0x424e05,_0x4224ef++%0x4)?_0xcb95a2+=String['fromCharCode'](0xff&_0x2f5bf0>>(-0x2*_0x4224ef&0x6)):0x0){_0x424e05=_0x533be2['indexOf'](_0x424e05);}for(let _0x40842b=0x0,_0x352bd9=_0xcb95a2['length'];_0x40842b<_0x352bd9;_0x40842b++){_0x15cde5+='%'+('00'+_0xcb95a2['charCodeAt'](_0x40842b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15cde5);};a0_0x5b36['caVUSN']=_0x278f07,a0_0x5b36['ChqMBM']={},a0_0x5b36['asrdti']=!![];}const _0x44c1bd=_0x1ee429[0x0],_0x21e65b=_0x13a351+_0x44c1bd,_0x41eb7e=a0_0x5b36['ChqMBM'][_0x21e65b];return!_0x41eb7e?(_0x5b36de=a0_0x5b36['caVUSN'](_0x5b36de),a0_0x5b36['ChqMBM'][_0x21e65b]=_0x5b36de):_0x5b36de=_0x41eb7e,_0x5b36de;}const Redis=require(a0_0x1e82e5(0x1e1)),{logger}=require('./logger');class RedisClient{constructor(){const _0x5ac55a=a0_0x1e82e5;this['client']=null,this[_0x5ac55a(0x1f3)]=![];}['connect'](){const _0x8e2f39=a0_0x1e82e5,_0x11bcf1={'JVDMs':function(_0x5988eb,_0x20243c){return _0x5988eb*_0x20243c;},'TLXAS':_0x8e2f39(0x1de),'yOffj':_0x8e2f39(0x1dd),'qJyam':_0x8e2f39(0x1e4),'xbaHt':_0x8e2f39(0x1f2),'pfiMl':function(_0x5455b0,_0x2bb960,_0x15380d){return _0x5455b0(_0x2bb960,_0x15380d);},'TwqzQ':function(_0x365993,_0x4efbdb,_0x4c5cf1){return _0x365993(_0x4efbdb,_0x4c5cf1);},'ZSBGn':'connect','zRKyq':_0x8e2f39(0x1ea)};if(this[_0x8e2f39(0x1ef)])return this['client'];try{return this['client']=new Redis({'host':process[_0x8e2f39(0x1d7)]['REDIS_HOST']||_0x8e2f39(0x1d2),'port':_0x11bcf1['pfiMl'](parseInt,process['env'][_0x8e2f39(0x1f0)],0xa)||0x18ec,'password':process['env'][_0x8e2f39(0x1d8)]||undefined,'db':_0x11bcf1['TwqzQ'](parseInt,process[_0x8e2f39(0x1d7)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x413ddd){const _0x8cbe23=_0x8e2f39,_0x397040=Math[_0x8cbe23(0x1f1)](_0x11bcf1['JVDMs'](_0x413ddd,0x32),0x7d0);return _0x397040;}}),this[_0x8e2f39(0x1ef)]['on'](_0x11bcf1['ZSBGn'],()=>{const _0x4c8b27=_0x8e2f39;this['isConnected']=!![],logger[_0x4c8b27(0x1d3)]({'event':_0x11bcf1[_0x4c8b27(0x1e3)]},_0x11bcf1['yOffj']);}),this[_0x8e2f39(0x1ef)]['on'](_0x8e2f39(0x1e9),_0x25ecba=>{const _0x2ceb29=_0x8e2f39;this['isConnected']=![],logger['error']({'event':_0x2ceb29(0x1e0),'error':_0x25ecba[_0x2ceb29(0x1e6)]},'Redis\x20connection\x20error:\x20'+_0x25ecba['message']);}),this[_0x8e2f39(0x1ef)]['on'](_0x8e2f39(0x1ee),()=>{const _0x260970=_0x8e2f39;this[_0x260970(0x1f3)]=![],logger[_0x260970(0x1eb)]({'event':_0x11bcf1['qJyam']},_0x11bcf1['xbaHt']);}),this[_0x8e2f39(0x1ef)];}catch(_0x1e70e6){logger[_0x8e2f39(0x1e9)]({'event':_0x11bcf1['zRKyq'],'error':_0x1e70e6['message']},_0x8e2f39(0x1ce));throw _0x1e70e6;}}[a0_0x1e82e5(0x1d4)](){const _0x53e2c3=a0_0x1e82e5;return!this['client']&&this['connect'](),this[_0x53e2c3(0x1ef)];}async[a0_0x1e82e5(0x1da)](_0x28e9e6=0x1388){const _0x560c13=a0_0x1e82e5;try{const _0x57809e=this['getClient'](),_0x2f61cb=await Promise[_0x560c13(0x1e5)]([_0x57809e['ping'](),new Promise((_0x51e9ec,_0x51d686)=>setTimeout(()=>_0x51d686(new Error('Redis\x20PING\x20timeout')),_0x28e9e6))]);return _0x2f61cb===_0x560c13(0x1db);}catch(_0x56c7f0){return![];}}async[a0_0x1e82e5(0x1d6)](){const _0x37ff2b=a0_0x1e82e5;this['client']&&(await this[_0x37ff2b(0x1ef)]['quit'](),this[_0x37ff2b(0x1ef)]=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x52d982=a0_0x1e82e5;this['client']&&(this['client']['disconnect'](),this[_0x52d982(0x1ef)]=null,this[_0x52d982(0x1f3)]=![]);}}module['exports']=new RedisClient();
1
+ const a0_0x1f189b=a0_0x19ff;function a0_0x19ff(_0x324c5b,_0x2e7238){_0x324c5b=_0x324c5b-0xbb;const _0x21d52f=a0_0x21d5();let _0x19ffa4=_0x21d52f[_0x324c5b];if(a0_0x19ff['mgktkH']===undefined){var _0x536673=function(_0x13eb2d){const _0x3535ba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x47303a='',_0xf1e45f='';for(let _0x320eca=0x0,_0x423b63,_0x13fffc,_0x3edc91=0x0;_0x13fffc=_0x13eb2d['charAt'](_0x3edc91++);~_0x13fffc&&(_0x423b63=_0x320eca%0x4?_0x423b63*0x40+_0x13fffc:_0x13fffc,_0x320eca++%0x4)?_0x47303a+=String['fromCharCode'](0xff&_0x423b63>>(-0x2*_0x320eca&0x6)):0x0){_0x13fffc=_0x3535ba['indexOf'](_0x13fffc);}for(let _0x456bc1=0x0,_0x55426c=_0x47303a['length'];_0x456bc1<_0x55426c;_0x456bc1++){_0xf1e45f+='%'+('00'+_0x47303a['charCodeAt'](_0x456bc1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xf1e45f);};a0_0x19ff['poXLue']=_0x536673,a0_0x19ff['JAaXaT']={},a0_0x19ff['mgktkH']=!![];}const _0xee1193=_0x21d52f[0x0],_0x54cb4c=_0x324c5b+_0xee1193,_0x2d2000=a0_0x19ff['JAaXaT'][_0x54cb4c];return!_0x2d2000?(_0x19ffa4=a0_0x19ff['poXLue'](_0x19ffa4),a0_0x19ff['JAaXaT'][_0x54cb4c]=_0x19ffa4):_0x19ffa4=_0x2d2000,_0x19ffa4;}(function(_0x4519eb,_0x480b1b){const _0x336ac9=a0_0x19ff,_0x353033=_0x4519eb();while(!![]){try{const _0x3ab183=parseInt(_0x336ac9(0xd7))/0x1*(-parseInt(_0x336ac9(0xc7))/0x2)+-parseInt(_0x336ac9(0xc3))/0x3+-parseInt(_0x336ac9(0xc8))/0x4+-parseInt(_0x336ac9(0xbb))/0x5*(parseInt(_0x336ac9(0xc9))/0x6)+-parseInt(_0x336ac9(0xc2))/0x7+-parseInt(_0x336ac9(0xd2))/0x8+-parseInt(_0x336ac9(0xcb))/0x9*(-parseInt(_0x336ac9(0xcc))/0xa);if(_0x3ab183===_0x480b1b)break;else _0x353033['push'](_0x353033['shift']());}catch(_0x109e87){_0x353033['push'](_0x353033['shift']());}}}(a0_0x21d5,0x6d55c));const Redis=require(a0_0x1f189b(0xd3)),{logger}=require(a0_0x1f189b(0xd6));class RedisClient{constructor(){const _0x59aeef=a0_0x1f189b;this[_0x59aeef(0xd4)]=null,this['isConnected']=![];}[a0_0x1f189b(0xdb)](){const _0x2a4f84=a0_0x1f189b,_0x6a99b9={'uhpLI':function(_0x8d11d6,_0x323a02){return _0x8d11d6*_0x323a02;},'cKmiH':_0x2a4f84(0xbe),'EXrzA':_0x2a4f84(0xd0),'aKgjD':'redis_disconnected','BNcQJ':'localhost','NAoxl':function(_0x27dd5c,_0x5e921f,_0x3fbd17){return _0x27dd5c(_0x5e921f,_0x3fbd17);},'EnvFe':_0x2a4f84(0xd8)};if(this[_0x2a4f84(0xd4)])return this['client'];try{return this['client']=new Redis({'host':process['env'][_0x2a4f84(0xd1)]||_0x6a99b9['BNcQJ'],'port':parseInt(process[_0x2a4f84(0xda)][_0x2a4f84(0xbf)],0xa)||0x18ec,'password':process[_0x2a4f84(0xda)][_0x2a4f84(0xcd)]||undefined,'db':_0x6a99b9[_0x2a4f84(0xd9)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x560ed6){const _0xb7ccf3=_0x2a4f84,_0x4cd421=Math['min'](_0x6a99b9[_0xb7ccf3(0xc0)](_0x560ed6,0x32),0x7d0);return _0x4cd421;}}),this['client']['on']('connect',()=>{const _0x567ab9=_0x2a4f84;this['isConnected']=!![],logger[_0x567ab9(0xcf)]({'event':_0x6a99b9['cKmiH']},_0x6a99b9[_0x567ab9(0xc5)]);}),this[_0x2a4f84(0xd4)]['on'](_0x2a4f84(0xdf),_0x4dde98=>{const _0xa3ab89=_0x2a4f84;this[_0xa3ab89(0xdd)]=![],logger['error']({'event':_0xa3ab89(0xca),'error':_0x4dde98['message']},_0xa3ab89(0xc6)+_0x4dde98['message']);}),this['client']['on']('close',()=>{const _0x3716f7=_0x2a4f84;this[_0x3716f7(0xdd)]=![],logger['warn']({'event':_0x6a99b9[_0x3716f7(0xde)]},_0x3716f7(0xd5));}),this['client'];}catch(_0x4528ce){logger[_0x2a4f84(0xdf)]({'event':_0x6a99b9['EnvFe'],'error':_0x4528ce[_0x2a4f84(0xc4)]},_0x2a4f84(0xce));throw _0x4528ce;}}[a0_0x1f189b(0xbc)](){const _0x3e01c5=a0_0x1f189b;return!this['client']&&this[_0x3e01c5(0xdb)](),this[_0x3e01c5(0xd4)];}async['ping'](_0x4ed6db=0x1388){const _0x136009={'YjoqB':function(_0x5dc480,_0x2a1982){return _0x5dc480===_0x2a1982;}};try{const _0x5529b7=this['getClient'](),_0x34b31c=await Promise['race']([_0x5529b7['ping'](),new Promise((_0x3bde14,_0x2c1076)=>setTimeout(()=>_0x2c1076(new Error('Redis\x20PING\x20timeout')),_0x4ed6db))]);return _0x136009['YjoqB'](_0x34b31c,'PONG');}catch(_0x904ed3){return![];}}async['disconnect'](){const _0x1ca9b0=a0_0x1f189b;this[_0x1ca9b0(0xd4)]&&(await this[_0x1ca9b0(0xd4)][_0x1ca9b0(0xdc)](),this[_0x1ca9b0(0xd4)]=null,this['isConnected']=![]);}[a0_0x1f189b(0xc1)](){const _0x35609b=a0_0x1f189b;this['client']&&(this['client'][_0x35609b(0xbd)](),this['client']=null,this[_0x35609b(0xdd)]=![]);}}module['exports']=new RedisClient();function a0_0x21d5(){const _0x1342ed=['CxvPDa','AxndB25Uzwn0zwq','yuTNAKq','zxjYB3i','mJiZmty2nxLTu0HezG','z2v0q2XPzw50','zgLZy29UBMvJDa','CMvKAxnFy29UBMvJDgvK','uKvesvnFue9sva','DwHWteK','zM9Yy2veAxnJB25Uzwn0','ndq0ndiWmK56s3HYrW','nZaWmda1AMn4ChLk','BwvZC2fNzq','rvHYEKe','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','nJeYmMj1ufb0qG','mZm0otq0mfbgDNHqwa','nKHoq3zsuq','CMvKAxnFzxjYB3i','mZuXnJKYmdfICwXlrKi','mtbTugHmDvG','uKvesvnFueftu1DpuKq','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','Aw5MBW','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','uKvesvnFse9tva','mZyZmtm2mgrUwhnrrq','Aw9YzwrPCW','y2XPzw50','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','lI9SB2DNzxi','mJC5s2TIq250','CMvKAxnFAw5PDf9LCNjVCG','tKfVEgW','zw52','y29UBMvJDa'];a0_0x21d5=function(){return _0x1342ed;};return a0_0x21d5();}
@@ -1 +1 @@
1
- const a0_0x489a8a=a0_0x424c;function a0_0x1af5(){const _0x2db2ca=['zgvMyxvSDa','q3HSB3q','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','ChjLzML4','ntuWsfvduKf0','mtm5odu5mMjAwwrHyW','mZu0nJGXt2nQvfP6','zw52','ChvZAa','ANnoC3u','A2v5CW','zxHWB3j0CW','mJyXmdm0mLrpyvvcEG','mJiXmtqXn1LnAwTmvq','DxbKyxrLsM9I','mJG5nZm1nLnuBhrzua','x3bYzwzPEa','zgvS','z2v0q2XPzw50','C2v0sM9I','ohnQD09Vsa','zgvSzxrLsM9I','lI9YzwrPCY1JBgLLBNq','ntu0mdvAtNfovwy','zxjYB3i','CMvZDgzVCMDLoG','DhrS','BwvZC2fNzq','rvHqt1jux0zjtevFrvHqsvjz','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','mJe4ntGXwufJBe1O','CMvKAxnFzgvSzxrLx2vYCM9Y','CMvKAxnFz2v0ywXSx2vYCM9Y','z2v0qwXSsM9ICW','ntjju3POzfq'];a0_0x1af5=function(){return _0x2db2ca;};return a0_0x1af5();}(function(_0x22797f,_0x513074){const _0x3bb537=a0_0x424c,_0x1a9630=_0x22797f();while(!![]){try{const _0x2b84f0=-parseInt(_0x3bb537(0x1a1))/0x1+-parseInt(_0x3bb537(0x1ab))/0x2+-parseInt(_0x3bb537(0x1b3))/0x3+-parseInt(_0x3bb537(0x1a5))/0x4*(parseInt(_0x3bb537(0x19a))/0x5)+parseInt(_0x3bb537(0x1b2))/0x6+parseInt(_0x3bb537(0x192))/0x7*(-parseInt(_0x3bb537(0x197))/0x8)+parseInt(_0x3bb537(0x1ac))/0x9*(parseInt(_0x3bb537(0x1aa))/0xa);if(_0x2b84f0===_0x513074)break;else _0x1a9630['push'](_0x1a9630['shift']());}catch(_0x384522){_0x1a9630['push'](_0x1a9630['shift']());}}}(a0_0x1af5,0x5f1c7));const redisClient=require(a0_0x489a8a(0x199)),{logger}=require('./logger');function a0_0x424c(_0x1ee3a4,_0x107844){_0x1ee3a4=_0x1ee3a4-0x192;const _0x1af570=a0_0x1af5();let _0x424c34=_0x1af570[_0x1ee3a4];if(a0_0x424c['lyuFVt']===undefined){var _0x4e0b1d=function(_0x11adf8){const _0x4ae30f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x394917='',_0x22b236='';for(let _0x316584=0x0,_0x156140,_0x2ab860,_0x3fba5a=0x0;_0x2ab860=_0x11adf8['charAt'](_0x3fba5a++);~_0x2ab860&&(_0x156140=_0x316584%0x4?_0x156140*0x40+_0x2ab860:_0x2ab860,_0x316584++%0x4)?_0x394917+=String['fromCharCode'](0xff&_0x156140>>(-0x2*_0x316584&0x6)):0x0){_0x2ab860=_0x4ae30f['indexOf'](_0x2ab860);}for(let _0x5a89ab=0x0,_0xb9553b=_0x394917['length'];_0x5a89ab<_0xb9553b;_0x5a89ab++){_0x22b236+='%'+('00'+_0x394917['charCodeAt'](_0x5a89ab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x22b236);};a0_0x424c['QcRgRQ']=_0x4e0b1d,a0_0x424c['aGHIMH']={},a0_0x424c['lyuFVt']=!![];}const _0x4607a2=_0x1af570[0x0],_0xa17f6d=_0x1ee3a4+_0x4607a2,_0x445202=a0_0x424c['aGHIMH'][_0xa17f6d];return!_0x445202?(_0x424c34=a0_0x424c['QcRgRQ'](_0x424c34),a0_0x424c['aGHIMH'][_0xa17f6d]=_0x424c34):_0x424c34=_0x445202,_0x424c34;}class RedisHelper{constructor(){const _0x97322d=a0_0x489a8a;this['_prefix']=null,this[_0x97322d(0x19d)]=parseInt(process['env'][_0x97322d(0x19f)],0xa)||0xe10;}get[a0_0x489a8a(0x1a9)](){const _0x224a39=a0_0x489a8a,_0x3a52a4={'NwCRo':_0x224a39(0x1a6)};if(!this['_prefix']){const _0x2ea9c4=process[_0x224a39(0x1ad)]['RESTFORGE_PROJECT_NAME']||_0x3a52a4['NwCRo'];this['_prefix']=_0x224a39(0x19c)+_0x2ea9c4+':export:';}return this[_0x224a39(0x193)];}async[a0_0x489a8a(0x196)](_0x1d19f5,_0x23d598){const _0x243ade=a0_0x489a8a,_0x2aecb9={'jsNsu':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x58774e=redisClient[_0x243ade(0x195)](),_0x20e5b6=''+this['prefix']+_0x1d19f5;return await _0x58774e['setex'](_0x20e5b6,this['ttl'],JSON['stringify'](_0x23d598)),!![];}catch(_0x4c0bc4){return logger['error']({'event':'redis_set_error','jobId':_0x1d19f5,'error':_0x4c0bc4[_0x243ade(0x19e)]},_0x2aecb9[_0x243ade(0x1af)]),![];}}async['getJob'](_0x143925){const _0x147647=a0_0x489a8a,_0x292b7f={'ANkAX':'redis_get_error','ReIki':_0x147647(0x1a8)};try{const _0x47f725=redisClient[_0x147647(0x195)](),_0x3a09e6=''+this[_0x147647(0x1a9)]+_0x143925,_0x3768a8=await _0x47f725['get'](_0x3a09e6);return _0x3768a8?JSON['parse'](_0x3768a8):null;}catch(_0x2a3877){return logger['error']({'event':_0x292b7f['ANkAX'],'jobId':_0x143925,'error':_0x2a3877['message']},_0x292b7f['ReIki']),null;}}async[a0_0x489a8a(0x1b4)](_0x4128b7,_0x403e02){const _0x4ae683=await this['getJob'](_0x4128b7);if(!_0x4ae683)return![];const _0x3831e2={..._0x4ae683,..._0x403e02};return await this['setJob'](_0x4128b7,_0x3831e2);}async[a0_0x489a8a(0x198)](_0x5c79a6){const _0x46bcdf=a0_0x489a8a,_0xe02bb3={'Cxlot':_0x46bcdf(0x1a2),'yeBgP':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x124778=redisClient[_0x46bcdf(0x195)](),_0x40720c=''+this['prefix']+_0x5c79a6;return await _0x124778[_0x46bcdf(0x194)](_0x40720c),!![];}catch(_0x343858){return logger['error']({'event':_0xe02bb3[_0x46bcdf(0x1a7)],'jobId':_0x5c79a6,'error':_0x343858[_0x46bcdf(0x19e)]},_0xe02bb3['yeBgP']),![];}}async[a0_0x489a8a(0x1a4)](){const _0xb3acb1=a0_0x489a8a;try{const _0x26b2d9=redisClient['getClient'](),_0x34297d=await _0x26b2d9[_0xb3acb1(0x1b0)](this[_0xb3acb1(0x1a9)]+'*'),_0xf3abd7=[];for(const _0x2ff3bb of _0x34297d){const _0xbcde2f=await _0x26b2d9['get'](_0x2ff3bb);_0xbcde2f&&_0xf3abd7[_0xb3acb1(0x1ae)](JSON['parse'](_0xbcde2f));}return _0xf3abd7;}catch(_0x414d6c){return logger[_0xb3acb1(0x19b)]({'event':_0xb3acb1(0x1a3),'error':_0x414d6c['message']},_0xb3acb1(0x1a0)),[];}}}module[a0_0x489a8a(0x1b1)]=new RedisHelper();
1
+ const a0_0x3756f8=a0_0xc7ab;(function(_0xc5bede,_0x152ec2){const _0x239350=a0_0xc7ab,_0x1096da=_0xc5bede();while(!![]){try{const _0x9999ee=-parseInt(_0x239350(0x1c8))/0x1*(-parseInt(_0x239350(0x1e7))/0x2)+-parseInt(_0x239350(0x1d7))/0x3+-parseInt(_0x239350(0x1d6))/0x4*(parseInt(_0x239350(0x1cd))/0x5)+parseInt(_0x239350(0x1cf))/0x6*(-parseInt(_0x239350(0x1cb))/0x7)+parseInt(_0x239350(0x1e4))/0x8+-parseInt(_0x239350(0x1e5))/0x9*(-parseInt(_0x239350(0x1d1))/0xa)+parseInt(_0x239350(0x1c7))/0xb*(parseInt(_0x239350(0x1e1))/0xc);if(_0x9999ee===_0x152ec2)break;else _0x1096da['push'](_0x1096da['shift']());}catch(_0x2792ce){_0x1096da['push'](_0x1096da['shift']());}}}(a0_0x1ccd,0xed370));const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x392978=a0_0xc7ab;this[_0x392978(0x1e2)]=null,this[_0x392978(0x1d2)]=parseInt(process[_0x392978(0x1ce)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x3756f8(0x1da)](){const _0x46072e=a0_0x3756f8;if(!this[_0x46072e(0x1e2)]){const _0x367926=process[_0x46072e(0x1ce)][_0x46072e(0x1e6)]||'default';this['_prefix']=_0x46072e(0x1e8)+_0x367926+':export:';}return this[_0x46072e(0x1e2)];}async[a0_0x3756f8(0x1df)](_0x4bca7d,_0x2ed3ad){const _0x4d1b71=a0_0x3756f8,_0x3ae0c={'prKOk':'redis_set_error'};try{const _0x260f88=redisClient[_0x4d1b71(0x1d9)](),_0x4ecc55=''+this['prefix']+_0x4bca7d;return await _0x260f88['setex'](_0x4ecc55,this['ttl'],JSON[_0x4d1b71(0x1db)](_0x2ed3ad)),!![];}catch(_0x345a05){return logger[_0x4d1b71(0x1d8)]({'event':_0x3ae0c[_0x4d1b71(0x1ca)],'jobId':_0x4bca7d,'error':_0x345a05[_0x4d1b71(0x1d0)]},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async['getJob'](_0x4b86c0){const _0x355c01=a0_0x3756f8,_0x59aab0={'QMUsA':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x31ddc7=redisClient[_0x355c01(0x1d9)](),_0x3a1db2=''+this[_0x355c01(0x1da)]+_0x4b86c0,_0x2a1f22=await _0x31ddc7[_0x355c01(0x1e3)](_0x3a1db2);return _0x2a1f22?JSON['parse'](_0x2a1f22):null;}catch(_0x11db96){return logger['error']({'event':_0x355c01(0x1d4),'jobId':_0x4b86c0,'error':_0x11db96['message']},_0x59aab0['QMUsA']),null;}}async['updateJob'](_0x4b4e0d,_0x3c902b){const _0x2b3b11=a0_0x3756f8,_0x18cb8a=await this[_0x2b3b11(0x1cc)](_0x4b4e0d);if(!_0x18cb8a)return![];const _0x5b89f9={..._0x18cb8a,..._0x3c902b};return await this['setJob'](_0x4b4e0d,_0x5b89f9);}async['deleteJob'](_0x49d458){const _0x5ea807=a0_0x3756f8,_0xe04e74={'cLiKp':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x6898dc=redisClient['getClient'](),_0xa396e2=''+this['prefix']+_0x49d458;return await _0x6898dc[_0x5ea807(0x1e9)](_0xa396e2),!![];}catch(_0x1a6b4b){return logger['error']({'event':_0x5ea807(0x1d5),'jobId':_0x49d458,'error':_0x1a6b4b['message']},_0xe04e74['cLiKp']),![];}}async[a0_0x3756f8(0x1dd)](){const _0x43a12e=a0_0x3756f8,_0x1e6c62={'WQagA':_0x43a12e(0x1de)};try{const _0x158586=redisClient[_0x43a12e(0x1d9)](),_0x3af80f=await _0x158586[_0x43a12e(0x1d3)](this[_0x43a12e(0x1da)]+'*'),_0x59a3d4=[];for(const _0x931019 of _0x3af80f){const _0x10f1bb=await _0x158586[_0x43a12e(0x1e3)](_0x931019);_0x10f1bb&&_0x59a3d4[_0x43a12e(0x1c9)](JSON[_0x43a12e(0x1dc)](_0x10f1bb));}return _0x59a3d4;}catch(_0x27df08){return logger[_0x43a12e(0x1d8)]({'event':_0x1e6c62[_0x43a12e(0x1e0)],'error':_0x27df08[_0x43a12e(0x1d0)]},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}function a0_0xc7ab(_0x2fd742,_0x459441){_0x2fd742=_0x2fd742-0x1c6;const _0x1ccdd9=a0_0x1ccd();let _0xc7aba8=_0x1ccdd9[_0x2fd742];if(a0_0xc7ab['gcALmN']===undefined){var _0x7b8fb5=function(_0x5be2e8){const _0x571743='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x151baf='',_0x260f63='';for(let _0x3e5802=0x0,_0x51bd0d,_0x50cff7,_0x3a42ae=0x0;_0x50cff7=_0x5be2e8['charAt'](_0x3a42ae++);~_0x50cff7&&(_0x51bd0d=_0x3e5802%0x4?_0x51bd0d*0x40+_0x50cff7:_0x50cff7,_0x3e5802++%0x4)?_0x151baf+=String['fromCharCode'](0xff&_0x51bd0d>>(-0x2*_0x3e5802&0x6)):0x0){_0x50cff7=_0x571743['indexOf'](_0x50cff7);}for(let _0x289d20=0x0,_0x152794=_0x151baf['length'];_0x289d20<_0x152794;_0x289d20++){_0x260f63+='%'+('00'+_0x151baf['charCodeAt'](_0x289d20)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x260f63);};a0_0xc7ab['hClVZF']=_0x7b8fb5,a0_0xc7ab['PDvNOF']={},a0_0xc7ab['gcALmN']=!![];}const _0x1bcfdd=_0x1ccdd9[0x0],_0x5771cb=_0x2fd742+_0x1bcfdd,_0x1e5f52=a0_0xc7ab['PDvNOF'][_0x5771cb];return!_0x1e5f52?(_0xc7aba8=a0_0xc7ab['hClVZF'](_0xc7aba8),a0_0xc7ab['PDvNOF'][_0x5771cb]=_0xc7aba8):_0xc7aba8=_0x1e5f52,_0xc7aba8;}module[a0_0x3756f8(0x1c6)]=new RedisHelper();function a0_0x1ccd(){const _0x2662c1=['x3bYzwzPEa','z2v0','nJqYmdaZmK9Nug9lvG','mJq3ndyXm3DYuwntAW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ngnPBujXCW','CMvZDgzVCMDLoG','zgvS','zxHWB3j0CW','mZnOs2DVs0G','ndKYmZq2t0jqBuLY','ChvZAa','Chjlt2S','n01zC0LXzq','z2v0sM9I','odu2mta1EK90Bgrl','zw52','mte0nZe1nZr1thD1BLy','BwvZC2fNzq','mJbSENjly3q','DhrS','A2v5CW','CMvKAxnFz2v0x2vYCM9Y','CMvKAxnFzgvSzxrLx2vYCM9Y','ndbgrffyvuu','ntC3mJqWmMLIq1DXtG','zxjYB3i','z2v0q2XPzw50','ChjLzML4','C3rYAw5NAwz5','CgfYC2u','z2v0qwXSsM9ICW','CMvKAxnFz2v0ywXSx2vYCM9Y','C2v0sM9I','v1fHz0e','mty3mZeXodbishj0uha'];a0_0x1ccd=function(){return _0x2662c1;};return a0_0x1ccd();}