@restforgejs/platform 5.2.11 → 5.2.13

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 (169) 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/fast-track.js +151 -34
  5. package/generators/lib/templates/dashboard-catalog.js +1 -1
  6. package/generators/lib/templates/db-connection-env.js +1 -1
  7. package/generators/lib/templates/dbschema-catalog.js +1 -1
  8. package/generators/lib/templates/field-validation-catalog.js +1 -1
  9. package/generators/lib/templates/mysql-template.js +1 -1
  10. package/generators/lib/templates/oracle-template.js +1 -1
  11. package/generators/lib/templates/postgres-template.js +1 -1
  12. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  13. package/generators/lib/templates/sqlite-template.js +1 -1
  14. package/integrity-manifest.json +18 -18
  15. package/package.json +1 -1
  16. package/scripts/verify-integrity.js +1 -1
  17. package/server.js +1 -1
  18. package/src/components/handlers/adjust_handler.js +1 -1
  19. package/src/components/handlers/audit_handler.js +1 -1
  20. package/src/components/handlers/delete_handler.js +1 -1
  21. package/src/components/handlers/export_handler.js +1 -1
  22. package/src/components/handlers/import_handler.js +1 -1
  23. package/src/components/handlers/insert_handler.js +1 -1
  24. package/src/components/handlers/update_handler.js +1 -1
  25. package/src/components/handlers/upload_handler.js +1 -1
  26. package/src/components/handlers/workflow_handler.js +1 -1
  27. package/src/components/integrations/webhook.js +1 -1
  28. package/src/consumers/baseConsumer.js +1 -1
  29. package/src/consumers/declarativeMapper.js +1 -1
  30. package/src/consumers/handlers/apiHandler.js +1 -1
  31. package/src/consumers/handlers/consoleHandler.js +1 -1
  32. package/src/consumers/handlers/databaseHandler.js +1 -1
  33. package/src/consumers/handlers/index.js +1 -1
  34. package/src/consumers/handlers/kafkaHandler.js +1 -1
  35. package/src/consumers/index.js +1 -1
  36. package/src/consumers/messageTransformer.js +1 -1
  37. package/src/consumers/validator.js +1 -1
  38. package/src/core/db/dialect/base-dialect.js +1 -1
  39. package/src/core/db/dialect/index.js +1 -1
  40. package/src/core/db/dialect/mysql-dialect.js +1 -1
  41. package/src/core/db/dialect/oracle-dialect.js +1 -1
  42. package/src/core/db/dialect/postgres-dialect.js +1 -1
  43. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  44. package/src/core/db/flatten-helper.js +1 -1
  45. package/src/core/db/query-builder-error.js +1 -1
  46. package/src/core/db/query-builder.js +1 -1
  47. package/src/core/db/relation-helper.js +1 -1
  48. package/src/core/handlers/delete_handler.js +1 -1
  49. package/src/core/handlers/insert_handler.js +1 -1
  50. package/src/core/handlers/update_handler.js +1 -1
  51. package/src/core/models/base-model.js +1 -1
  52. package/src/core/utils/cache-manager.js +1 -1
  53. package/src/core/utils/component-engine.js +1 -1
  54. package/src/core/utils/context-builder.js +1 -1
  55. package/src/core/utils/datetime-formatter.js +1 -1
  56. package/src/core/utils/datetime-parser.js +1 -1
  57. package/src/core/utils/db.js +1 -1
  58. package/src/core/utils/logger.js +1 -1
  59. package/src/core/utils/payload-loader.js +1 -1
  60. package/src/core/utils/security-checks.js +1 -1
  61. package/src/middleware/body-options.js +1 -1
  62. package/src/middleware/cors.js +1 -1
  63. package/src/middleware/idempotency.js +1 -1
  64. package/src/middleware/rate-limiter.js +1 -1
  65. package/src/middleware/request-logger.js +1 -1
  66. package/src/middleware/security-headers.js +1 -1
  67. package/src/models/base-model-mysql.js +1 -1
  68. package/src/models/base-model-oracle.js +1 -1
  69. package/src/models/base-model-sqlite.js +1 -1
  70. package/src/models/base-model.js +1 -1
  71. package/src/pro/caching/redis-client.js +1 -1
  72. package/src/pro/caching/redis-helper.js +1 -1
  73. package/src/pro/consumers/baseConsumer.js +1 -1
  74. package/src/pro/consumers/declarativeMapper.js +1 -1
  75. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  76. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  77. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  78. package/src/pro/consumers/handlers/index.js +1 -1
  79. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  80. package/src/pro/consumers/index.js +1 -1
  81. package/src/pro/consumers/messageTransformer.js +1 -1
  82. package/src/pro/consumers/validator.js +1 -1
  83. package/src/pro/database/base-model-mysql.js +1 -1
  84. package/src/pro/database/base-model-oracle.js +1 -1
  85. package/src/pro/database/base-model-sqlite.js +1 -1
  86. package/src/pro/database/db-mysql.js +1 -1
  87. package/src/pro/database/db-oracle.js +1 -1
  88. package/src/pro/database/db-sqlite.js +1 -1
  89. package/src/pro/excel/excel-generator.js +1 -1
  90. package/src/pro/excel/excel-parser.js +1 -1
  91. package/src/pro/excel/export-service.js +1 -1
  92. package/src/pro/excel/export_handler.js +1 -1
  93. package/src/pro/excel/import-service.js +1 -1
  94. package/src/pro/excel/import-validator.js +1 -1
  95. package/src/pro/excel/import_handler.js +1 -1
  96. package/src/pro/excel/upsert-builder.js +1 -1
  97. package/src/pro/idgen/idgen-routes.js +1 -1
  98. package/src/pro/integrations/lookup-resolver.js +1 -1
  99. package/src/pro/integrations/upload-handler-v2.js +1 -1
  100. package/src/pro/integrations/upload-handler.js +1 -1
  101. package/src/pro/integrations/webhook.js +1 -1
  102. package/src/pro/locking/lock-routes.js +1 -1
  103. package/src/pro/locking/resource-lock-manager.js +1 -1
  104. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  105. package/src/pro/messaging/kafkaService.js +1 -1
  106. package/src/pro/messaging/messagehubService.js +1 -1
  107. package/src/pro/messaging/rabbitmqService.js +1 -1
  108. package/src/pro/scheduler/job-manager.js +1 -1
  109. package/src/pro/scheduler/job-routes.js +1 -1
  110. package/src/pro/scheduler/job-validator.js +1 -1
  111. package/src/pro/storage/base-storage-provider.js +1 -1
  112. package/src/pro/storage/file-metadata-helper.js +1 -1
  113. package/src/pro/storage/index.js +1 -1
  114. package/src/pro/storage/local-storage-provider.js +1 -1
  115. package/src/pro/storage/s3-storage-provider.js +1 -1
  116. package/src/pro/storage/upload-cleanup-job.js +1 -1
  117. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  118. package/src/pro/storage/upload-pending-tracker.js +1 -1
  119. package/src/pro/websocket/broadcast-helper.js +1 -1
  120. package/src/pro/websocket/index.js +1 -1
  121. package/src/pro/websocket/livesync-server.js +1 -1
  122. package/src/pro/websocket/ws-broadcaster.js +1 -1
  123. package/src/services/export-service.js +1 -1
  124. package/src/services/import-service.js +1 -1
  125. package/src/services/kafkaConsumerService.js +1 -1
  126. package/src/services/kafkaService.js +1 -1
  127. package/src/services/messagehubService.js +1 -1
  128. package/src/services/rabbitmqService.js +1 -1
  129. package/src/utils/cache-invalidation-registry.js +1 -1
  130. package/src/utils/cache-manager.js +1 -1
  131. package/src/utils/component-engine.js +1 -1
  132. package/src/utils/config-extractor.js +1 -1
  133. package/src/utils/consumerLogger.js +1 -1
  134. package/src/utils/context-builder.js +1 -1
  135. package/src/utils/dashboard-helpers.js +1 -1
  136. package/src/utils/dateHelper.js +1 -1
  137. package/src/utils/datetime-formatter.js +1 -1
  138. package/src/utils/datetime-parser.js +1 -1
  139. package/src/utils/db-bootstrap.js +1 -1
  140. package/src/utils/db-mysql.js +1 -1
  141. package/src/utils/db-oracle.js +1 -1
  142. package/src/utils/db-sqlite.js +1 -1
  143. package/src/utils/db.js +1 -1
  144. package/src/utils/demo-generator.js +1 -1
  145. package/src/utils/excel-generator.js +1 -1
  146. package/src/utils/excel-parser.js +1 -1
  147. package/src/utils/file-watcher.js +1 -1
  148. package/src/utils/id-generator.js +1 -1
  149. package/src/utils/idempotency-manager.js +1 -1
  150. package/src/utils/import-validator.js +1 -1
  151. package/src/utils/license-client.js +1 -1
  152. package/src/utils/lock-manager.js +1 -1
  153. package/src/utils/logger.js +1 -1
  154. package/src/utils/lookup-resolver.js +1 -1
  155. package/src/utils/payload-loader.js +1 -1
  156. package/src/utils/processor-response.js +1 -1
  157. package/src/utils/rabbitmq.js +1 -1
  158. package/src/utils/redis-client.js +1 -1
  159. package/src/utils/redis-helper.js +1 -1
  160. package/src/utils/request-scope.js +1 -1
  161. package/src/utils/security-checks.js +1 -1
  162. package/src/utils/service-resolver.js +1 -1
  163. package/src/utils/shutdown-coordinator.js +1 -1
  164. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  165. package/src/utils/sql-table-extractor.js +1 -1
  166. package/src/utils/trusted-keys.js +1 -1
  167. package/src/utils/upload-handler.js +1 -1
  168. package/src/utils/upsert-builder.js +1 -1
  169. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x2543ab=a0_0x4739;function a0_0x4739(_0x487bd0,_0x37301c){_0x487bd0=_0x487bd0-0xbb;const _0x1f0771=a0_0x1f07();let _0x473954=_0x1f0771[_0x487bd0];if(a0_0x4739['OhHVgQ']===undefined){var _0x306acc=function(_0x5e8bac){const _0x216d23='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56730e='',_0x4390e0='';for(let _0x4689e9=0x0,_0x2f096a,_0x1a34f9,_0x38ef15=0x0;_0x1a34f9=_0x5e8bac['charAt'](_0x38ef15++);~_0x1a34f9&&(_0x2f096a=_0x4689e9%0x4?_0x2f096a*0x40+_0x1a34f9:_0x1a34f9,_0x4689e9++%0x4)?_0x56730e+=String['fromCharCode'](0xff&_0x2f096a>>(-0x2*_0x4689e9&0x6)):0x0){_0x1a34f9=_0x216d23['indexOf'](_0x1a34f9);}for(let _0x1bddbe=0x0,_0x275330=_0x56730e['length'];_0x1bddbe<_0x275330;_0x1bddbe++){_0x4390e0+='%'+('00'+_0x56730e['charCodeAt'](_0x1bddbe)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4390e0);};a0_0x4739['ffbuPb']=_0x306acc,a0_0x4739['PAtANi']={},a0_0x4739['OhHVgQ']=!![];}const _0x2cc4a1=_0x1f0771[0x0],_0x5c2b66=_0x487bd0+_0x2cc4a1,_0x3c5958=a0_0x4739['PAtANi'][_0x5c2b66];return!_0x3c5958?(_0x473954=a0_0x4739['ffbuPb'](_0x473954),a0_0x4739['PAtANi'][_0x5c2b66]=_0x473954):_0x473954=_0x3c5958,_0x473954;}function a0_0x1f07(){const _0x519b82=['zxjYB3i','uKvbrcbSB2nRihjLBgvHC2vK','tK1ZtMq','Bg9JA19JB25MAwDFAw5PDa','AxnfBMfIBgvK','C2v0','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','D2fYBG','x2vUywjSzwq','Bvveu1m','nZC4nhfyALH0DW','rxvWBw8','CMvHza','Bg9JA19LEhrLBMrLza','yu55z2O','z2vUzxjHDgvmB2nRvMfSDwu','nteWAePSvvfU','BwvZC2fNzq','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','x2LUAxrdB25MAwC','z2v0','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','x3bYzwzPEa','zxHWAxjL','C3vIC3rYAw5N','D3jPDgvFBg9JA19Hy3f1AxjLza','D29YA2vYlq','y2HOAfi','x3DVCMTLCKLK','D29YA2vYswq','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','zgvIDwC','z2v0q2XPzw50','uKvbrcbSB2nRigfJCxvPCMvK','C2v0zxG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','otK3ndaXtgrKsevh','D3jPDgvFBg9JA19LCNjVCG','x3jLDhj5rgvSyxK','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','x3jLDhj5q291BNq','zw5HyMXLza','v0vKv0u','CMv0CNLezwXHEq','CMvSzwfZzuXVy2S','mta1nJCXoe1oreLPwG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','zgvMyxvSDfruta','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','zgvJCG','mJyZmZjHyxjtBNu','x3n0CMf0zwD5','uKvbrcbSB2nRigvYCM9Y','CMv0CNLdB3vUDa','CMvQzwn0','ndq5nJGXmffJAMvOtW','CMvHzf9SB2nRx2fJCxvPCMvK','zfncvfq','nJy1n3LcBgDbyG','mtyYmdaYnfzwq2LWEG','rfHbENK','ChvJEfy','ndK1mZG3nMXrwwPLrW','D3jPDgvFBg9JA19YzwPLy3rLza','CMv0CNK','x2vUC3vYzuLUAxrPywXPEMvK','zw52','v1vyEge','EfjXy0C','yvDdwwO','zgvS','yvrHs2K','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','yNvPBgrmB2nRs2v5','sKX5sLy','lcbZDhjHDgvNEtOG','Bg9JA19LEhrLBMrFzxjYB3i','DxvPza','CMy6Bg9JAZO','C2XLzxa','ywnXDwLYzvjLywrmB2nR','mZzRuKXpwvO','x2rLzMf1BhruveW','zfjZtwq','veXbBxu','CMvHzf9SB2nRx3rPBwvVDxq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','te9ds19esvnuuKLcvvrfrf9uveW','ywXS','CMvHzf9SB2nRx2vYCM9Y','zxzHBa','EKD2uvm','Cg93','x2LUAxrPywXPEMvK','tg9JAYbYzwXLyxnLigvYCM9Y','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','ywnXDwLYzvDYAxrLtg9JAW','C3rYyxrLz3K','oNjLywq6','BgfZDeLUzgv4t2y','D3jPDgu','Bg9JA19YzwXLyxnLx2vYCM9Y','zxH0zw5Ktg9JAW'];a0_0x1f07=function(){return _0x519b82;};return a0_0x1f07();}(function(_0x55c775,_0x1598d4){const _0x513fa1=a0_0x4739,_0x5aa21a=_0x55c775();while(!![]){try{const _0x22eeee=parseInt(_0x513fa1(0xf3))/0x1+-parseInt(_0x513fa1(0x101))/0x2+-parseInt(_0x513fa1(0xea))/0x3+-parseInt(_0x513fa1(0xf8))/0x4*(-parseInt(_0x513fa1(0xd6))/0x5)+parseInt(_0x513fa1(0x104))/0x6+-parseInt(_0x513fa1(0x100))/0x7*(-parseInt(_0x513fa1(0xd0))/0x8)+parseInt(_0x513fa1(0x117))/0x9*(-parseInt(_0x513fa1(0xfd))/0xa);if(_0x22eeee===_0x1598d4)break;else _0x5aa21a['push'](_0x5aa21a['shift']());}catch(_0x4d8575){_0x5aa21a['push'](_0x5aa21a['shift']());}}}(a0_0x1f07,0x8355e));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x2543ab(0x113));class LockManager{constructor(){const _0x60da51=a0_0x2543ab;this['_prefix']=null,this['_enabled']=null,this[_0x60da51(0x118)]=null,this[_0x60da51(0xee)]=null,this['_retryDelay']=null,this[_0x60da51(0xf9)]=null,this['_workerId']=null,this[_0x60da51(0xbb)]=![];}[a0_0x2543ab(0xd9)](){const _0xfa7583=a0_0x2543ab,_0x12fd98={'kvNEV':'true','FGPzj':function(_0x2f59ed,_0x61e308,_0xa85c3){return _0x2f59ed(_0x61e308,_0xa85c3);},'hLCTg':_0xfa7583(0x114),'DXAzy':function(_0x5a87d0,_0x6e44a9,_0x542211){return _0x5a87d0(_0x6e44a9,_0x542211);},'qZtMY':_0xfa7583(0x106)},_0x206df9='4|0|6|1|5|7|2|8|3'['split']('|');let _0x5b8b3d=0x0;while(!![]){switch(_0x206df9[_0x5b8b3d++]){case'0':this[_0xfa7583(0xce)]=process[_0xfa7583(0x108)]['LOCK_DISTRIBUTED_ENABLED']===_0x12fd98['kvNEV'];continue;case'1':this['_retryCount']=_0x12fd98['FGPzj'](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'2':this[_0xfa7583(0xe2)]=_0xfa7583(0xe0)+process['pid'];continue;case'3':logger['info']({'event':_0xfa7583(0xc8),'enabled':this[_0xfa7583(0xce)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0xfa7583(0xec)],'workerId':this[_0xfa7583(0xe2)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0xfa7583(0xce)]+_0xfa7583(0x111)+this['_strategy']);continue;case'4':this[_0xfa7583(0xdc)]=_0x12fd98['hLCTg'];continue;case'5':this[_0xfa7583(0xec)]=_0x12fd98[_0xfa7583(0x102)](parseInt,process['env'][_0xfa7583(0xf6)],0xa)||0x64;continue;case'6':this[_0xfa7583(0x118)]=parseInt(process[_0xfa7583(0x108)][_0xfa7583(0x11e)],0xa)||0xa;continue;case'7':this['_strategy']=process['env'][_0xfa7583(0xed)]||_0x12fd98['qZtMY'];continue;case'8':this['_initialized']=!![];continue;}break;}}['_ensureInitialized'](){const _0x2648c4=a0_0x2543ab;!this[_0x2648c4(0xbb)]&&this[_0x2648c4(0xd9)]();}get['prefix'](){const _0x223053=a0_0x2543ab;return this[_0x223053(0x107)](),this[_0x223053(0xdc)];}get[a0_0x2543ab(0xef)](){const _0x38dbcb=a0_0x2543ab;return this[_0x38dbcb(0x107)](),this['_enabled'];}get['defaultTTL'](){const _0x514ac3=a0_0x2543ab;return this[_0x514ac3(0x107)](),this[_0x514ac3(0x118)];}get[a0_0x2543ab(0xfb)](){const _0x56f383=a0_0x2543ab;return this['_ensureInitialized'](),this[_0x56f383(0xee)];}get['retryDelay'](){const _0xc90c85=a0_0x2543ab;return this[_0xc90c85(0x107)](),this['_retryDelay'];}get[a0_0x2543ab(0xbf)](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}[a0_0x2543ab(0x10f)](_0x27ce2e){const {module:_0x4f38f6,endpoint:_0x21e0d8,lockType:_0x4b7504,recordId:_0x179667}=_0x27ce2e;if(_0x179667)return''+this['prefix']+_0x4f38f6+':'+_0x21e0d8+':'+_0x179667+':'+_0x4b7504;return''+this['prefix']+_0x4f38f6+':'+_0x21e0d8+':'+_0x4b7504;}['generateLockValue'](){const _0x3d8ccd=a0_0x2543ab;return this[_0x3d8ccd(0xe3)]+':'+uuidv4()+':'+Date['now']();}async[a0_0x2543ab(0x116)](_0x54d427){const _0x20900a=a0_0x2543ab,_0x25c4c2={'JNshw':_0x20900a(0xc2),'aWCYj':function(_0x8e3c0e,_0x3169e3){return _0x8e3c0e<_0x3169e3;},'chhhR':_0x20900a(0xfe),'XcCDJ':_0x20900a(0xe7),'nVKHS':'read_lock_waiting','WUXxa':_0x20900a(0xdb),'BCZXO':function(_0x5796f0,_0x4f2ea8){return _0x5796f0*_0x4f2ea8;},'WEdWE':_0x20900a(0x11b),'dmpvN':_0x20900a(0x10e),'aTaKi':_0x20900a(0xfa)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x269346=this['buildLockKey']({..._0x54d427,'lockType':_0x25c4c2['JNshw']}),_0x50bbc2=this['buildLockKey']({..._0x54d427,'lockType':'read'}),_0x42f1aa=this['generateLockValue']();try{const _0x18a8f2=redisClient[_0x20900a(0xe6)]();for(let _0x39e7d7=0x0;_0x25c4c2[_0x20900a(0x10b)](_0x39e7d7,this[_0x20900a(0xfb)]);_0x39e7d7++){const _0x1adb12=await _0x18a8f2['get'](_0x269346);if(!_0x1adb12){await _0x18a8f2['incr'](_0x50bbc2),await _0x18a8f2[_0x20900a(0xdd)](_0x50bbc2,this['defaultTTL']);const _0x10a153=_0x50bbc2+':'+_0x42f1aa;return await _0x18a8f2[_0x20900a(0xe8)](_0x10a153,this['defaultTTL'],_0x42f1aa),logger['debug']({'event':_0x25c4c2[_0x20900a(0xe1)],'key':_0x50bbc2,'value':_0x42f1aa},_0x25c4c2['XcCDJ']),{'success':!![],'lockValue':_0x42f1aa,'lockKey':_0x10a153};}logger[_0x20900a(0xe5)]({'event':_0x25c4c2['nVKHS'],'writeKey':_0x269346,'attempt':_0x39e7d7},_0x25c4c2[_0x20900a(0x109)]),await this[_0x20900a(0x115)](_0x25c4c2['BCZXO'](this[_0x20900a(0xf1)],Math[_0x20900a(0x123)](0x2,_0x39e7d7)));}return logger['warn']({'event':_0x25c4c2[_0x20900a(0xf0)],'key':_0x50bbc2},_0x25c4c2['dmpvN']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4ad799){return logger[_0x20900a(0xc5)]({'event':_0x20900a(0x120),'error':_0x4ad799[_0x20900a(0xd7)]},_0x25c4c2[_0x20900a(0x10d)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x2543ab(0xbe)](_0xed78bb){const _0x45e11c=a0_0x2543ab,_0x1e7ef7={'aNygj':function(_0x5d1184,_0x323302){return _0x5d1184===_0x323302;},'pDwEI':_0x45e11c(0xdf),'dSBTT':_0x45e11c(0xf4),'zGvQS':_0x45e11c(0x105),'JciIF':_0x45e11c(0xcb),'pucxV':function(_0x390e71,_0xe111ef){return _0x390e71<_0xe111ef;},'NMsNd':function(_0x43e65f,_0x2c3f80){return _0x43e65f(_0x2c3f80);},'dRsMd':'write_lock_waiting','icEVA':function(_0x3ec8be,_0x39be0e){return _0x3ec8be*_0x39be0e;},'aEDFl':_0x45e11c(0xcc),'DdVjk':_0x45e11c(0xeb),'FKase':'WRITE\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5e96a3=this['buildLockKey']({..._0xed78bb,'lockType':_0x45e11c(0xc2)}),_0x5751a0=this['buildLockKey']({..._0xed78bb,'lockType':'read'}),_0x317fee=this[_0x45e11c(0xd5)]();try{const _0x5a5cd3=redisClient['getClient']();if(this[_0x45e11c(0xbf)]==='reject'){const _0x359ebc=await _0x5a5cd3[_0x45e11c(0xca)](_0x5e96a3,_0x317fee,'EX',this[_0x45e11c(0xf5)],'NX');if(_0x1e7ef7[_0x45e11c(0xd4)](_0x359ebc,'OK'))return logger['debug']({'event':_0x1e7ef7['pDwEI'],'key':_0x5e96a3,'value':_0x317fee,'strategy':_0x45e11c(0xfc)},_0x1e7ef7[_0x45e11c(0xff)]),{'success':!![],'lockValue':_0x317fee,'lockKey':_0x5e96a3};return logger['debug']({'event':_0x1e7ef7[_0x45e11c(0x122)],'key':_0x5e96a3},_0x1e7ef7['JciIF']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x2e8cf0=0x0;_0x1e7ef7[_0x45e11c(0x103)](_0x2e8cf0,this['retryCount']);_0x2e8cf0++){const [_0x316a4d,_0x1053bb]=await Promise[_0x45e11c(0x11f)]([_0x5a5cd3['get'](_0x5751a0),_0x5a5cd3['get'](_0x5e96a3)]);if(!_0x1053bb&&(!_0x316a4d||_0x1e7ef7[_0x45e11c(0xc7)](parseInt,_0x316a4d)===0x0)){const _0x3ff808=await _0x5a5cd3[_0x45e11c(0xca)](_0x5e96a3,_0x317fee,'EX',this['defaultTTL'],'NX');if(_0x3ff808==='OK')return logger[_0x45e11c(0xe5)]({'event':_0x45e11c(0xdf),'key':_0x5e96a3,'value':_0x317fee,'strategy':'retry'},_0x45e11c(0x11c)),{'success':!![],'lockValue':_0x317fee,'lockKey':_0x5e96a3};}logger['debug']({'event':_0x1e7ef7[_0x45e11c(0x119)],'writeKey':_0x5e96a3,'readCount':_0x316a4d,'attempt':_0x2e8cf0},_0x45e11c(0xbd)),await this['sleep'](_0x1e7ef7['icEVA'](this[_0x45e11c(0xf1)],Math[_0x45e11c(0x123)](0x2,_0x2e8cf0)));}return logger[_0x45e11c(0xcd)]({'event':'write_lock_timeout','key':_0x5e96a3},_0x1e7ef7['aEDFl']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2e97cc){return logger['error']({'event':_0x1e7ef7['DdVjk'],'error':_0x2e97cc['message']},_0x1e7ef7['FKase']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x2543ab(0xf2)](_0x33e520,_0x258207){const _0x26ce16=a0_0x2543ab,_0x2ed913={'Icvqu':'WRITE\x20lock\x20released','JLyJV':_0x26ce16(0x11d),'Eupmo':_0x26ce16(0xd8),'cyvrd':_0x26ce16(0xc3)};if(!this['enabled']||!_0x33e520)return!![];try{const _0x5c62ee=redisClient[_0x26ce16(0xe6)]();if(_0x33e520['includes'](_0x26ce16(0xc0))){await _0x5c62ee[_0x26ce16(0x10c)](_0x33e520);const _0x2bdf89=_0x33e520[_0x26ce16(0xde)](0x0,_0x33e520[_0x26ce16(0xc1)](':')),_0xc4fa36=await _0x5c62ee[_0x26ce16(0xda)](_0x2bdf89);return _0xc4fa36&&parseInt(_0xc4fa36)>0x0&&await _0x5c62ee[_0x26ce16(0xf7)](_0x2bdf89),logger['debug']({'event':'read_lock_released','key':_0x33e520},_0x26ce16(0xc6)),!![];}const _0x30772e=_0x26ce16(0xe9),_0x36a519=await _0x5c62ee[_0x26ce16(0x121)](_0x30772e,0x1,_0x33e520,_0x258207);if(_0x36a519===0x1)return logger[_0x26ce16(0xe5)]({'event':'write_lock_released','key':_0x33e520},_0x2ed913['Icvqu']),!![];return logger['warn']({'event':_0x2ed913[_0x26ce16(0x110)],'key':_0x33e520},_0x2ed913[_0x26ce16(0xd1)]),![];}catch(_0x52723f){return logger['error']({'event':_0x2ed913['cyvrd'],'key':_0x33e520,'error':_0x52723f[_0x26ce16(0xd7)]},_0x26ce16(0xbc)),![];}}async[a0_0x2543ab(0xc4)](_0x847d3f,_0x1fa5ad,_0x3936e9=null){const _0x326b84=a0_0x2543ab,_0x48489c={'GiMYO':_0x326b84(0xd3),'TLAmu':'Lock\x20extend\x20error'};if(!this[_0x326b84(0xef)]||!_0x847d3f)return!![];try{const _0x55b1b1=redisClient[_0x326b84(0xe6)](),_0x5603b1=_0x326b84(0xe4),_0x5b23f8=await _0x55b1b1[_0x326b84(0x121)](_0x5603b1,0x1,_0x847d3f,_0x1fa5ad,_0x3936e9||this[_0x326b84(0xf5)]);if(_0x5b23f8===0x1)return logger['debug']({'event':_0x48489c['GiMYO'],'key':_0x847d3f,'ttl':_0x3936e9||this[_0x326b84(0xf5)]},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x247af8){return logger['error']({'event':_0x326b84(0x112),'key':_0x847d3f,'error':_0x247af8[_0x326b84(0xd7)]},_0x48489c[_0x326b84(0x11a)]),![];}}[a0_0x2543ab(0xc9)](){return this['enabled'];}[a0_0x2543ab(0x115)](_0x57f122){return new Promise(_0x28b722=>setTimeout(_0x28b722,_0x57f122));}async['getLockInfo'](_0x12e0fc){const _0x42cdcc=a0_0x2543ab,_0x207eb2={'mUDSS':_0x42cdcc(0xd2),'xRqcG':function(_0x286d04,_0x56170e){return _0x286d04||_0x56170e;}};if(!this[_0x42cdcc(0xef)])return{'enabled':![]};try{const _0x58e33d=redisClient[_0x42cdcc(0xe6)](),_0x4cae92=this[_0x42cdcc(0x10f)]({..._0x12e0fc,'lockType':_0x42cdcc(0xc2)}),_0x3938d0=this[_0x42cdcc(0x10f)]({..._0x12e0fc,'lockType':_0x207eb2[_0x42cdcc(0xcf)]}),[_0x30195f,_0x213088]=await Promise[_0x42cdcc(0x11f)]([_0x58e33d['get'](_0x4cae92),_0x58e33d[_0x42cdcc(0xda)](_0x3938d0)]);return{'enabled':!![],'writeLock':_0x207eb2[_0x42cdcc(0x10a)](_0x30195f,null),'readCount':parseInt(_0x213088)||0x0,'writeKey':_0x4cae92,'readKey':_0x3938d0};}catch(_0x5a497a){return{'enabled':!![],'error':_0x5a497a['message']};}}}module['exports']=new LockManager();
1
+ const a0_0x8a01d0=a0_0x2038;(function(_0x30f12d,_0x1f5ae0){const _0x1e3be1=a0_0x2038,_0x440bd9=_0x30f12d();while(!![]){try{const _0x3ceda9=-parseInt(_0x1e3be1(0xf4))/0x1*(parseInt(_0x1e3be1(0x11f))/0x2)+-parseInt(_0x1e3be1(0xd6))/0x3*(parseInt(_0x1e3be1(0x114))/0x4)+parseInt(_0x1e3be1(0xe9))/0x5+parseInt(_0x1e3be1(0xcd))/0x6+-parseInt(_0x1e3be1(0xcc))/0x7*(parseInt(_0x1e3be1(0x119))/0x8)+parseInt(_0x1e3be1(0x100))/0x9+parseInt(_0x1e3be1(0xd0))/0xa;if(_0x3ceda9===_0x1f5ae0)break;else _0x440bd9['push'](_0x440bd9['shift']());}catch(_0x5b6a49){_0x440bd9['push'](_0x440bd9['shift']());}}}(a0_0x3df4,0x570a0));function a0_0x2038(_0x3941c3,_0x389ef3){_0x3941c3=_0x3941c3-0xcb;const _0x3df422=a0_0x3df4();let _0x20387e=_0x3df422[_0x3941c3];if(a0_0x2038['UJYPqT']===undefined){var _0x3dc1f4=function(_0x489c3f){const _0x2ed4a0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e0c75='',_0x26ab88='';for(let _0x362dfa=0x0,_0x17b988,_0x49b0e5,_0x101b0d=0x0;_0x49b0e5=_0x489c3f['charAt'](_0x101b0d++);~_0x49b0e5&&(_0x17b988=_0x362dfa%0x4?_0x17b988*0x40+_0x49b0e5:_0x49b0e5,_0x362dfa++%0x4)?_0x1e0c75+=String['fromCharCode'](0xff&_0x17b988>>(-0x2*_0x362dfa&0x6)):0x0){_0x49b0e5=_0x2ed4a0['indexOf'](_0x49b0e5);}for(let _0x1cdc49=0x0,_0x21fa17=_0x1e0c75['length'];_0x1cdc49<_0x21fa17;_0x1cdc49++){_0x26ab88+='%'+('00'+_0x1e0c75['charCodeAt'](_0x1cdc49)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x26ab88);};a0_0x2038['gLVJtk']=_0x3dc1f4,a0_0x2038['BXWxIw']={},a0_0x2038['UJYPqT']=!![];}const _0x21e208=_0x3df422[0x0],_0x54e74d=_0x3941c3+_0x21e208,_0x5c8f79=a0_0x2038['BXWxIw'][_0x54e74d];return!_0x5c8f79?(_0x20387e=a0_0x2038['gLVJtk'](_0x20387e),a0_0x2038['BXWxIw'][_0x54e74d]=_0x20387e):_0x20387e=_0x5c8f79,_0x20387e;}function a0_0x3df4(){const _0x2d087e=['x3bYzwzPEa','x3jLDhj5rgvSyxK','D3jPDgu','mJHesgjpy2i','te11ue8','ChjLzML4','zw5HyMXLza','vMf3q3C','odi0uwT4sM1i','C2v0','D3jPDgvFBg9JA19Hy3f1AxjLza','m3W1Fdf8n3WYFdb8nhW2','uKvbrcbSB2nRigvYCM9Y','svz6zxa','mJbjB2fQvLC','BgfZDeLUzgv4t2y','CuH0vw8','mZqWmJDUAxL1Dge','mJm2mtaWmffKA2XAra','zgvIDwC','A0HSs2u','nJK0otGXme1xENzyCG','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','CMvHzf9SB2nRx3DHAxrPBMC','te9Vthe','tg9JAYbYzwXLyxnLigvYCM9Y','DNnJrLq','mJmWnJy3D1f1se9I','x2vUC3vYzuLUAxrPywXPEMvK','CgLK','CMvHzf9SB2nRx3jLBgvHC2vK','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','AxnfBMfIBgvK','CMvHza','sgHoANm','z2v0','D3jPDgvFBg9JA193ywL0Aw5N','zgvMyxvSDfruta','C2XLzxa','DuLJsgq','z2v0q2XPzw50','CMvHzf9SB2nRx2fJCxvPCMvK','D3jPDgvFBg9JA19YzwXLyxnLza','zw52','u01MDeS','CMv0CNLezwXHEq','mtq1mJmWmg5UAxDyEa','te9ds19esvnuuKLcvvrfrf9uveW','Bg9JA19LEhrLBMrLza','lI9YzwrPCY1JBgLLBNq','tKvvt0O','wgn1C0O','x3DVCMTLCKLK','zxH0zw5Ktg9JAW','Aw5JBhvKzxm','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','x2LUAxrdB25MAwC','mtqZm3DVsffivq','x3n0CMf0zwD5','ywnXDwLYzvDYAxrLtg9JAW','D3jPDgvFBg9JA19LCNjVCG','D2fYBG','zgvJCG','x3jLDhj5q291BNq','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','C2v0zxG','x2rLzMf1BhruveW','CMy6Bg9JAZO','Dhj1zq','mJC3mJyZA0jjt1jb','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','Bg9JA19JB25MAwDFAw5PDa','zgvS','z2vUzxjHDgvmB2nRvMfSDwu','vwTPt0m','lcbZDhjHDgvNEtOG','ywnXDwLYzvjLywrmB2nR','D3jPDgvFBg9JA190Aw1LB3v0','zxjYB3i','x2LUAxrPywXPEMvK','uKvbrcbSB2nRihjLBgvHC2vK','yNvPBgrmB2nRs2v5','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','D29YA2vYlq','rw5jwKG','x2vUywjSzwq'];a0_0x3df4=function(){return _0x2d087e;};return a0_0x3df4();}const redisClient=require(a0_0x8a01d0(0xec)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x304e4b=a0_0x8a01d0,_0x4a594d=_0x304e4b(0x11c)['split']('|');let _0x38d605=0x0;while(!![]){switch(_0x4a594d[_0x38d605++]){case'0':this['_strategy']=null;continue;case'1':this[_0x304e4b(0xfd)]=null;continue;case'2':this[_0x304e4b(0x112)]=null;continue;case'3':this[_0x304e4b(0x111)]=null;continue;case'4':this[_0x304e4b(0xef)]=null;continue;case'5':this['_enabled']=null;continue;case'6':this['_initialized']=![];continue;case'7':this['_retryCount']=null;continue;}break;}}[a0_0x8a01d0(0xf3)](){const _0x142ca3=a0_0x8a01d0,_0x49c3de={'SMftK':_0x142ca3(0xfe),'mXCfU':function(_0x42f49f,_0x349dc9,_0x1e68db){return _0x42f49f(_0x349dc9,_0x1e68db);},'kHlKe':_0x142ca3(0x102)};this[_0x142ca3(0x111)]=_0x49c3de[_0x142ca3(0xe7)],this['_enabled']=process[_0x142ca3(0xe6)]['LOCK_DISTRIBUTED_ENABLED']===_0x142ca3(0xff),this['_defaultTTL']=parseInt(process[_0x142ca3(0xe6)][_0x142ca3(0xea)],0xa)||0xa,this['_retryCount']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x142ca3(0x112)]=_0x49c3de['mXCfU'](parseInt,process['env'][_0x142ca3(0xf2)],0xa)||0x64,this['_strategy']=process[_0x142ca3(0xe6)]['LOCK_DISTRIBUTED_STRATEGY']||'retry',this['_workerId']=_0x142ca3(0x10e)+process[_0x142ca3(0xd8)],this['_initialized']=!![],logger['info']({'event':_0x49c3de[_0x142ca3(0xcf)],'enabled':this[_0x142ca3(0x110)],'strategy':this[_0x142ca3(0xf5)],'ttl':this['_defaultTTL'],'retryCount':this[_0x142ca3(0xfa)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x142ca3(0xd1)+this[_0x142ca3(0x110)]+_0x142ca3(0x106)+this['_strategy']);}[a0_0x8a01d0(0xd7)](){const _0x58eb5f=a0_0x8a01d0;!this[_0x58eb5f(0x10a)]&&this[_0x58eb5f(0xf3)]();}get['prefix'](){const _0x3c75eb=a0_0x8a01d0;return this[_0x3c75eb(0xd7)](),this[_0x3c75eb(0x111)];}get[a0_0x8a01d0(0x117)](){const _0x363196=a0_0x8a01d0;return this[_0x363196(0xd7)](),this[_0x363196(0x110)];}get['defaultTTL'](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){const _0x5572df=a0_0x8a01d0;return this[_0x5572df(0xd7)](),this['_retryCount'];}get[a0_0x8a01d0(0xe8)](){return this['_ensureInitialized'](),this['_retryDelay'];}get['strategy'](){const _0x272b7f=a0_0x8a01d0;return this['_ensureInitialized'](),this[_0x272b7f(0xf5)];}get['workerId'](){const _0x4b7086=a0_0x8a01d0;return this[_0x4b7086(0xd7)](),this[_0x4b7086(0xef)];}['buildLockKey'](_0x2e2ae5){const _0x55f168=a0_0x8a01d0,{module:_0x13f601,endpoint:_0x594b4d,lockType:_0x1ce4cd,recordId:_0x47d017}=_0x2e2ae5;if(_0x47d017)return''+this['prefix']+_0x13f601+':'+_0x594b4d+':'+_0x47d017+':'+_0x1ce4cd;return''+this[_0x55f168(0x116)]+_0x13f601+':'+_0x594b4d+':'+_0x1ce4cd;}[a0_0x8a01d0(0x104)](){const _0x5e6580={'uTlsK':function(_0x2c53e4){return _0x2c53e4();}};return this['workerId']+':'+_0x5e6580['uTlsK'](uuidv4)+':'+Date['now']();}async[a0_0x8a01d0(0x107)](_0x2dfd6c){const _0x4f5829=a0_0x8a01d0,_0x567b1f={'pRkZT':_0x4f5829(0x113),'UkiOC':_0x4f5829(0xdc),'zbTxh':function(_0x51a134,_0x58d687){return _0x51a134<_0x58d687;},'NEUOJ':'READ\x20lock\x20acquired','VawCw':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','qHtUo':function(_0x40ac89,_0x339e44){return _0x40ac89*_0x339e44;},'EnIZH':'read_lock_error'};if(!this[_0x4f5829(0x117)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x47ab0f=this[_0x4f5829(0x10c)]({..._0x2dfd6c,'lockType':_0x567b1f['pRkZT']}),_0x41149f=this['buildLockKey']({..._0x2dfd6c,'lockType':_0x567b1f[_0x4f5829(0x105)]}),_0x548b2b=this['generateLockValue']();try{const _0x20f2a3=redisClient['getClient']();for(let _0x241412=0x0;_0x567b1f['zbTxh'](_0x241412,this['retryCount']);_0x241412++){const _0x4601db=await _0x20f2a3['get'](_0x47ab0f);if(!_0x4601db){await _0x20f2a3['incr'](_0x41149f),await _0x20f2a3['expire'](_0x41149f,this[_0x4f5829(0xe0)]);const _0x1c6047=_0x41149f+':'+_0x548b2b;return await _0x20f2a3[_0x4f5829(0xfc)](_0x1c6047,this[_0x4f5829(0xe0)],_0x548b2b),logger[_0x4f5829(0xce)]({'event':_0x4f5829(0xe4),'key':_0x41149f,'value':_0x548b2b},_0x567b1f[_0x4f5829(0xed)]),{'success':!![],'lockValue':_0x548b2b,'lockKey':_0x1c6047};}logger[_0x4f5829(0xce)]({'event':_0x4f5829(0xd2),'writeKey':_0x47ab0f,'attempt':_0x241412},_0x567b1f[_0x4f5829(0x118)]),await this[_0x4f5829(0xe1)](_0x567b1f[_0x4f5829(0xcb)](this['retryDelay'],Math['pow'](0x2,_0x241412)));}return logger[_0x4f5829(0xf8)]({'event':'read_lock_timeout','key':_0x41149f},_0x4f5829(0xda)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x155d9f){return logger[_0x4f5829(0x109)]({'event':_0x567b1f[_0x4f5829(0x10f)],'error':_0x155d9f['message']},_0x4f5829(0x11d)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x8a01d0(0xf6)](_0x1ff95f){const _0x21b8d9=a0_0x8a01d0,_0x3e109f={'OepyW':'write','vscFT':'reject','XcusJ':function(_0x1ea844,_0x1b8016){return _0x1ea844===_0x1b8016;},'mDaQl':_0x21b8d9(0x11b),'gtTZP':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','HhNjs':'write_lock_rejected','yMRAG':'retry','LOoLq':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','cmCSL':_0x21b8d9(0xdf),'mNGvF':'Waiting\x20for\x20locks\x20to\x20release','bfxjG':function(_0x1274e4,_0x25ef07){return _0x1274e4*_0x25ef07;}};if(!this[_0x21b8d9(0x117)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x496f0d=this['buildLockKey']({..._0x1ff95f,'lockType':_0x3e109f['OepyW']}),_0x475970=this[_0x21b8d9(0x10c)]({..._0x1ff95f,'lockType':'read'}),_0x5c2724=this[_0x21b8d9(0x104)]();try{const _0x246602=redisClient[_0x21b8d9(0xe3)]();if(this['strategy']===_0x3e109f[_0x21b8d9(0xd5)]){const _0x2535c9=await _0x246602[_0x21b8d9(0x11a)](_0x496f0d,_0x5c2724,'EX',this[_0x21b8d9(0xe0)],'NX');if(_0x3e109f[_0x21b8d9(0xee)](_0x2535c9,'OK'))return logger[_0x21b8d9(0xce)]({'event':_0x3e109f['mDaQl'],'key':_0x496f0d,'value':_0x5c2724,'strategy':_0x3e109f[_0x21b8d9(0xd5)]},_0x3e109f['gtTZP']),{'success':!![],'lockValue':_0x5c2724,'lockKey':_0x496f0d};return logger[_0x21b8d9(0xce)]({'event':_0x3e109f[_0x21b8d9(0xdd)],'key':_0x496f0d},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x15f9dc=0x0;_0x15f9dc<this['retryCount'];_0x15f9dc++){const [_0x135b64,_0x25706b]=await Promise['all']([_0x246602[_0x21b8d9(0xde)](_0x475970),_0x246602[_0x21b8d9(0xde)](_0x496f0d)]);if(!_0x25706b&&(!_0x135b64||parseInt(_0x135b64)===0x0)){const _0x277add=await _0x246602[_0x21b8d9(0x11a)](_0x496f0d,_0x5c2724,'EX',this['defaultTTL'],'NX');if(_0x277add==='OK')return logger[_0x21b8d9(0xce)]({'event':'write_lock_acquired','key':_0x496f0d,'value':_0x5c2724,'strategy':_0x3e109f['yMRAG']},_0x3e109f[_0x21b8d9(0xd3)]),{'success':!![],'lockValue':_0x5c2724,'lockKey':_0x496f0d};}logger['debug']({'event':_0x3e109f['cmCSL'],'writeKey':_0x496f0d,'readCount':_0x135b64,'attempt':_0x15f9dc},_0x3e109f['mNGvF']),await this[_0x21b8d9(0xe1)](_0x3e109f['bfxjG'](this['retryDelay'],Math['pow'](0x2,_0x15f9dc)));}return logger[_0x21b8d9(0xf8)]({'event':_0x21b8d9(0x108),'key':_0x496f0d},_0x21b8d9(0xfb)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x29275e){return logger[_0x21b8d9(0x109)]({'event':_0x21b8d9(0xf7),'error':_0x29275e['message']},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x4544af,_0x2de8ef){const _0x1ea3e3=a0_0x8a01d0,_0x43e59a={'wGhEA':':read:','hnIEA':'Cannot\x20release\x20lock\x20-\x20not\x20owner','ocIcW':'lock_release_error'};if(!this['enabled']||!_0x4544af)return!![];try{const _0x2e5023=redisClient['getClient']();if(_0x4544af[_0x1ea3e3(0xf1)](_0x43e59a['wGhEA'])){await _0x2e5023[_0x1ea3e3(0x103)](_0x4544af);const _0x20f8bc=_0x4544af['substring'](0x0,_0x4544af[_0x1ea3e3(0x120)](':')),_0x1c8475=await _0x2e5023[_0x1ea3e3(0xde)](_0x20f8bc);return _0x1c8475&&parseInt(_0x1c8475)>0x0&&await _0x2e5023[_0x1ea3e3(0xf9)](_0x20f8bc),logger['debug']({'event':_0x1ea3e3(0xd9),'key':_0x4544af},_0x1ea3e3(0x10b)),!![];}const _0x51bf6b=_0x1ea3e3(0x101),_0x184660=await _0x2e5023['eval'](_0x51bf6b,0x1,_0x4544af,_0x2de8ef);if(_0x184660===0x1)return logger[_0x1ea3e3(0xce)]({'event':_0x1ea3e3(0xe5),'key':_0x4544af},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':_0x1ea3e3(0x10d),'key':_0x4544af},_0x43e59a['hnIEA']),![];}catch(_0x140271){return logger[_0x1ea3e3(0x109)]({'event':_0x43e59a['ocIcW'],'key':_0x4544af,'error':_0x140271['message']},_0x1ea3e3(0xd4)),![];}}async[a0_0x8a01d0(0xf0)](_0xa359ca,_0x27285a,_0x3303ff=null){const _0x2b4810=a0_0x8a01d0,_0x166d8c={'LMuPO':function(_0xe72d9a,_0x2bc4df){return _0xe72d9a===_0x2bc4df;},'uIcHd':_0x2b4810(0xeb),'WoRSC':'Lock\x20extend\x20error'};if(!this[_0x2b4810(0x117)]||!_0xa359ca)return!![];try{const _0x4d33ce=redisClient['getClient'](),_0xe65295='\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',_0x14fd12=await _0x4d33ce['eval'](_0xe65295,0x1,_0xa359ca,_0x27285a,_0x3303ff||this['defaultTTL']);if(_0x166d8c[_0x2b4810(0x115)](_0x14fd12,0x1))return logger[_0x2b4810(0xce)]({'event':_0x166d8c[_0x2b4810(0xe2)],'key':_0xa359ca,'ttl':_0x3303ff||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x43197f){return logger['error']({'event':'lock_extend_error','key':_0xa359ca,'error':_0x43197f['message']},_0x166d8c['WoRSC']),![];}}[a0_0x8a01d0(0xdb)](){return this['enabled'];}['sleep'](_0x3e63c6){return new Promise(_0x2e7f32=>setTimeout(_0x2e7f32,_0x3e63c6));}async['getLockInfo'](_0x4c5413){const _0x51b73b=a0_0x8a01d0,_0x4d7dae={'IVzep':function(_0xc3a984,_0x4b3f41){return _0xc3a984||_0x4b3f41;}};if(!this['enabled'])return{'enabled':![]};try{const _0x593788=redisClient['getClient'](),_0x1c4b23=this[_0x51b73b(0x10c)]({..._0x4c5413,'lockType':_0x51b73b(0x113)}),_0x5bfcc3=this[_0x51b73b(0x10c)]({..._0x4c5413,'lockType':'read'}),[_0x25920a,_0x4d97ee]=await Promise['all']([_0x593788['get'](_0x1c4b23),_0x593788[_0x51b73b(0xde)](_0x5bfcc3)]);return{'enabled':!![],'writeLock':_0x4d7dae[_0x51b73b(0x11e)](_0x25920a,null),'readCount':parseInt(_0x4d97ee)||0x0,'writeKey':_0x1c4b23,'readKey':_0x5bfcc3};}catch(_0x1f903b){return{'enabled':!![],'error':_0x1f903b['message']};}}}module['exports']=new LockManager();
@@ -1 +1 @@
1
- const a0_0x86cace=a0_0x42d9;(function(_0x507672,_0x584223){const _0x4f16cd=a0_0x42d9,_0x265e6a=_0x507672();while(!![]){try{const _0x39d828=-parseInt(_0x4f16cd(0x24a))/0x1+-parseInt(_0x4f16cd(0x1bf))/0x2*(parseInt(_0x4f16cd(0x261))/0x3)+-parseInt(_0x4f16cd(0x1ba))/0x4+parseInt(_0x4f16cd(0x1d0))/0x5*(parseInt(_0x4f16cd(0x228))/0x6)+parseInt(_0x4f16cd(0x22c))/0x7*(parseInt(_0x4f16cd(0x25c))/0x8)+-parseInt(_0x4f16cd(0x262))/0x9+parseInt(_0x4f16cd(0x230))/0xa*(parseInt(_0x4f16cd(0x216))/0xb);if(_0x39d828===_0x584223)break;else _0x265e6a['push'](_0x265e6a['shift']());}catch(_0x466c14){_0x265e6a['push'](_0x265e6a['shift']());}}}(a0_0x28e2,0x8dad3));const pino=require(a0_0x86cace(0x241)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x86cace(0x1bb),sqlLogEnabled=![],sqlLogLevel=a0_0x86cace(0x244),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x86cace(0x1ed),'ignore':a0_0x86cace(0x1e7),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x86cace(0x26d),'customColors':a0_0x86cace(0x205),'hideObject':!![]},isDevelopment=process['env'][a0_0x86cace(0x218)]!=='production',logLevel=process['env'][a0_0x86cace(0x1d5)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x86cace(0x1bb),'version':process[a0_0x86cace(0x225)]['APP_VERSION']||a0_0x86cace(0x234),'env':process[a0_0x86cace(0x225)][a0_0x86cace(0x218)]||'development'},'timestamp':pino[a0_0x86cace(0x1db)]['isoTime'],'redact':{'paths':[a0_0x86cace(0x26e),a0_0x86cace(0x1f8),a0_0x86cace(0x268),'token','apiKey','DB_PASSWORD',a0_0x86cace(0x1f1)],'censor':'[REDACTED]'},'serializers':{'req':_0x1e32d8=>({'id':_0x1e32d8['id'],'method':_0x1e32d8[a0_0x86cace(0x276)],'url':_0x1e32d8[a0_0x86cace(0x1f4)],'path':_0x1e32d8[a0_0x86cace(0x217)],'remoteAddress':_0x1e32d8['ip']||_0x1e32d8[a0_0x86cace(0x245)]?.['remoteAddress']}),'res':_0x199f40=>({'statusCode':_0x199f40[a0_0x86cace(0x26a)],'headers':_0x199f40['getHeaders']?.()}),'err':pino[a0_0x86cace(0x21f)][a0_0x86cace(0x1b7)]}});function a0_0x28e2(){const _0xc26817=['EK5gAfu','Ahr0Cf9Yzxf1zxn0','y3z2','oeP1s2PNyG','te9hx0rjuG','rermx0rst1a','y3jLzgL0x2nHCMq','wLjVquG','mJq4odC2ngrws0nWyG','mti4ntq4ogDIu0PPua','yxbPA2v5','ywnJzxnZx3rVA2vU','D1LfzeK','A2rnzKm','DevJBxG','CgfZC3DVCMq','ANnVBG','C3rHDhvZq29Kzq','D3jPDgu','rKvfy1i','E21Zz30','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','tMTHAwC','C2vYDMvYx3n0yxj0Aw5N','y3jLzgvUDgLHBhm','u0vsvKLdrv9oqu1f','q1jjveLdquW','vfjbtLnbq1rjt05FuK9mtejbq0S','u0vmrunu','Bwv0Ag9K','rgnQAMu','BwvZC2fNzq','BgvUz3rO','zxjY','C29Tzq','DxnLCG','odmYotzuvwTIwK4','CMvZDgzVCMDL','vfjXAfq','CMvWBgfJzq','CMvZB2X2zq','mMreCgLMqW','u1fmx0Xpr19ftKfcteve','AgvHzgvYCW','q3b5r3G','Bg9N','uLb6tue','BxmP','AwX5seS','Dw5JyxvNAhrfEgnLChrPB24','ic0G','C3rHCNrZv2L0Aa','B2jQzwn0','C3nU','D3H2Ceu','CgfKrw5K','Cg9YDa','CxvLCNK','otviEgXpwKu','rermx0fmvevs','DhjPBq','zw52AxjVBM1LBNq','yMfZzvvYBa','te9hx0XfvKvm','icbjBMzVoIaGia','q09ntuLu','Aw5JBhvKzxm','EwLgCuu','DgXlDuu','C3rKvgLTzuz1BMn0Aw9UCW','w1jfrefdvevexq','Ag9ZDa','yxbWlMXVzW','Ahj0Aw1L','qKPcu0i','Dg9ju09tDhjPBMC','zuLvy3O','Dxb0Aw1L','icbvuKW6icaGia','oI8V','tfHVANe','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','vvbeqvrf','Bvrkv3C','lI9SB2DZlW','rfjpua','zxHWB3j0CW','u1LtoKHioK1noNnZ','Bw9KDwXL','ChjPDMf0zv9RzxK','yuTPu1q','sLDux1nfq1jfva','EMfZEem','yM9KEq','DxjS','CM93C0fMzMvJDgvK','B3jPz2LUywXvCMW','CMvMCMvZAf90B2TLBG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','t0T2DMO','y3jLzgL0y2fYza','rKX3t0e','DgvZDa','C3rYAw5NAwz5','ig9UihbVCNqG','y29Kzq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','qLreD0C','CMvWzwf0','AgvHBhrOq2HLy2S','C2HzqxC','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','ChjVAMvJDa','Dg9mB3DLCKnHC2u','D2Pfvwy','zxHPC3rZu3LUyW','C3rHy2S','y3nzwxe','ywjMwNi','ALDgu1i','uwT0qMS','Dejpz0i','zgjFCxvLCNK','D2fYBG','CMvTB3rLqwrKCMvZCW','rxjYB3i','wwnHC1q','Cg9ZDgDYzxnXBa','nZDrqMzYtNm','Cgf0Aa','tK9erv9ftLy','C3rYAw5N','rgvMyxvSDa','B1z3CeS','Ec1Yzxf1zxn0lwLK','BMLwyNG','zMf0ywW','C3rKu2vYAwfSAxPLCNm','vKfpzxe','vfjbtLnbq1rjt05Fq09ntuLu','Efr3ufe','Aw5MBW','wMvkrNC','zw52','C2vJCMv0','y3jLyxrLv3jPDgvtDhjLyw0','mJKYodeYv3nUterl','u1rbuLqGvfjbtLnbq1rjt04','uhjVy2vZCYbxyxjUAw5NoIa','D2DTDge','ndC2oti0tuzUtxzx','C2vYDMLJzuLUzM8','zxjYB3i','Dg9vChbLCKnHC2u','mJeYmdi2mgrquMXpqG','vMzLDwy','zMXVB3i','yxv0Ag9YAxPHDgLVBG','ms4WlJu','zgf0ywjHC2u','zhvYyxrPB25nCW','zxHPDa','iokvKqRILzeGienVBMzPzYaGicaGidOG','vvPsCMe','A2v5CW','z2Xwueu','BwfW','ChjPDMf0zwTLEq','DhLWzq','u1fmx0Xpr19qqvjbtvm','vfjbtLnbq1rjt05FqKvhsu4','CgLUBW','BeneBuO','zxjYB3iUBg9N','zgvIDwC','y29UBMvJDgLVBG','su5trvju','u3v1tgS','zgjFDhjHBNnHy3rPB24','ChjVy2vZC193yxjUAw5N','ota2mdaXCxzAAgD3','Bwf0y2G','icdIHPiG','Dhj1zq','CgLK','CMfJvwC','zMLSzv9SB2DNAw5Nx2vUywjSzwq','s0nnC0u','sunrqKO','C3rHDhvZ','BM9bB1G','te9hx1rpx0zjteu','CgfZC3DK','icbizwfSDgG6ia','C3vIC3rYAw5N'];a0_0x28e2=function(){return _0xc26817;};return a0_0x28e2();}function initFileLogging(){const _0x5eb635=a0_0x86cace,_0x4a25af={'lCDmJ':'restforge','ZeJFw':function(_0x376f14,_0x42ca65){return _0x376f14===_0x42ca65;},'lriiU':'debug','jWFSR':function(_0x51d20c,_0x2f1db6){return _0x51d20c!==_0x2f1db6;},'swBhx':'false','txvoe':function(_0x23d4d5,_0x333a39){return _0x23d4d5(_0x333a39);},'UZRra':'app.log','zasxC':'error.log'};if(fileLoggingInitialized)return;logToFile=process['env'][_0x5eb635(0x255)]===_0x5eb635(0x24d);const _0x2d4cb0=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process[_0x5eb635(0x225)][_0x5eb635(0x25d)]||_0x5eb635(0x1ea)+_0x2d4cb0,serviceName=process[_0x5eb635(0x225)][_0x5eb635(0x272)]||_0x4a25af[_0x5eb635(0x242)],sqlLogEnabled=_0x4a25af[_0x5eb635(0x224)](process[_0x5eb635(0x225)][_0x5eb635(0x1c0)],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x4a25af['lriiU'],sqlLogParams=_0x4a25af[_0x5eb635(0x20d)](process['env'][_0x5eb635(0x23f)],_0x4a25af['swBhx']),sqlLogSlowThreshold=_0x4a25af['txvoe'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x5289c8=path[_0x5eb635(0x1be)](process['cwd'](),logDir);try{!fs[_0x5eb635(0x209)](_0x5289c8)&&fs['mkdirSync'](_0x5289c8,{'recursive':!![]});}catch(_0x4170ac){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x5289c8+':',_0x4170ac[_0x5eb635(0x1b5)]),fileLoggingInitialized=!![];return;}const _0x2e6089=path['join'](_0x5289c8,_0x4a25af[_0x5eb635(0x239)]),_0x8ed7c1=path['join'](_0x5289c8,_0x4a25af[_0x5eb635(0x1f2)]);try{appLogStream=fs['createWriteStream'](_0x2e6089,{'flags':'a'}),errorLogStream=fs[_0x5eb635(0x227)](_0x8ed7c1,{'flags':'a'}),fileLoggingInitialized=!![];const _0x37c9a8={'event':_0x5eb635(0x250),'logDir':_0x5289c8,'files':[_0x5eb635(0x1de),_0x5eb635(0x243)]},_0x21858e='File\x20logging\x20enabled:\x20'+_0x5289c8;logger[_0x5eb635(0x223)](_0x37c9a8,_0x21858e),writeToFileLog({..._0x37c9a8,'level':'info','msg':_0x21858e,'time':new Date()[_0x5eb635(0x1e1)]()},'info');}catch(_0x6a1988){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x6a1988['message']),fileLoggingInitialized=!![];}}function a0_0x42d9(_0x2e9dff,_0x40e8ff){_0x2e9dff=_0x2e9dff-0x1b4;const _0x28e2e4=a0_0x28e2();let _0x42d928=_0x28e2e4[_0x2e9dff];if(a0_0x42d9['OtaJvR']===undefined){var _0x587075=function(_0x34ad21){const _0x5cdfd7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb6df5='',_0x324fea='';for(let _0x1c32d1=0x0,_0xf066c4,_0x14e6a5,_0x53c5b0=0x0;_0x14e6a5=_0x34ad21['charAt'](_0x53c5b0++);~_0x14e6a5&&(_0xf066c4=_0x1c32d1%0x4?_0xf066c4*0x40+_0x14e6a5:_0x14e6a5,_0x1c32d1++%0x4)?_0xb6df5+=String['fromCharCode'](0xff&_0xf066c4>>(-0x2*_0x1c32d1&0x6)):0x0){_0x14e6a5=_0x5cdfd7['indexOf'](_0x14e6a5);}for(let _0x5cd27c=0x0,_0x3f72b4=_0xb6df5['length'];_0x5cd27c<_0x3f72b4;_0x5cd27c++){_0x324fea+='%'+('00'+_0xb6df5['charCodeAt'](_0x5cd27c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x324fea);};a0_0x42d9['afKnHn']=_0x587075,a0_0x42d9['CorQuP']={},a0_0x42d9['OtaJvR']=!![];}const _0x5e3b43=_0x28e2e4[0x0],_0x4ca433=_0x2e9dff+_0x5e3b43,_0x23889b=a0_0x42d9['CorQuP'][_0x4ca433];return!_0x23889b?(_0x42d928=a0_0x42d9['afKnHn'](_0x42d928),a0_0x42d9['CorQuP'][_0x4ca433]=_0x42d928):_0x42d928=_0x23889b,_0x42d928;}function writeToFileLog(_0x4143c6,_0x3b7747){const _0x7e7714=a0_0x86cace,_0x276498={'wYEdI':function(_0x1738d5,_0x4d431b){return _0x1738d5||_0x4d431b;},'yFcMj':_0x7e7714(0x22e)};if(_0x276498[_0x7e7714(0x265)](!logToFile,!appLogStream))return;const _0x4784fe={'service':serviceName,..._0x4143c6},_0x1ef26b=JSON[_0x7e7714(0x1fd)](_0x4784fe)+'\x0a';appLogStream[_0x7e7714(0x26b)](_0x1ef26b),(_0x3b7747===_0x276498['yFcMj']||_0x3b7747===_0x7e7714(0x21e))&&(errorLogStream&&errorLogStream[_0x7e7714(0x26b)](_0x1ef26b));}const createRequestLogger=(_0x2b57d8={})=>{return logger['child'](_0x2b57d8);},logServerStart=_0x19461c=>{const _0x94b92d=a0_0x86cace,_0x4b1e68={'tzpmA':'RESTFORGE\x20RUNTIME\x20SERVER','KbDkL':function(_0x1338bc,_0x3ea3fa){return _0x1338bc-_0x3ea3fa;},'RGkaj':function(_0x203bcf,_0x4bf77a){return _0x203bcf-_0x4bf77a;},'nHnRE':'Node.js','qMdBA':'N/A','LXojq':_0x94b92d(0x21a),'yVqfd':'ACTIVE','niVbx':'NOT\x20ACTIVE','wjEUf':_0x94b92d(0x270),'VAOeq':function(_0x5e9f23,_0x621c79,_0xeab2dc){return _0x5e9f23(_0x621c79,_0xeab2dc);},'QNcxG':_0x94b92d(0x223)},_0xed38a4=_0x4b1e68['tzpmA'],_0x39faf6=Math['max'](0x0,_0x4b1e68['KbDkL'](0x37,_0xed38a4['length'])),_0x5a2a94=Math[_0x94b92d(0x232)](_0x39faf6/0x2),_0xc45ee=_0x4b1e68['RGkaj'](_0x39faf6,_0x5a2a94),_0x19c84d='║'+'\x20'[_0x94b92d(0x202)](_0x5a2a94)+_0xed38a4+'\x20'[_0x94b92d(0x202)](_0xc45ee)+'║',_0x20d48e='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x19c84d+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x19461c[_0x94b92d(0x1d3)]||_0x4b1e68['nHnRE'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x19461c[_0x94b92d(0x206)]||_0x4b1e68['qMdBA'])[_0x94b92d(0x1cd)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x19461c['port']||0xbb8)[_0x94b92d(0x1cd)](0x26)+_0x94b92d(0x238)+(_0x19461c['configFile']||_0x4b1e68[_0x94b92d(0x1e6)])[_0x94b92d(0x1cd)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x19461c['apiKey']?_0x4b1e68['yVqfd']:_0x4b1e68[_0x94b92d(0x21d)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x94b92d(0x1c3)](_0x20d48e);const _0x4bd219={'event':_0x4b1e68[_0x94b92d(0x208)],'project':_0x19461c['project'],'port':_0x19461c['port'],'config':_0x19461c['configFile'],'apiKeyEnabled':!!_0x19461c['apiKey']};logger[_0x94b92d(0x223)](_0x4bd219),_0x4b1e68[_0x94b92d(0x220)](writeToFileLog,{..._0x4bd219,'level':_0x94b92d(0x223),'msg':'Server\x20starting:\x20'+_0x19461c['project']+_0x94b92d(0x1fe)+_0x19461c['port'],'time':new Date()['toISOString']()},_0x4b1e68['QNcxG']);},logServerReady=_0x2cd003=>{const _0x33c06a=a0_0x86cace,_0x15aa9c={'HOgby':'server_ready'},_0x424e36={'event':_0x15aa9c['HOgby'],'port':_0x2cd003[_0x33c06a(0x1ce)],'module':_0x2cd003[_0x33c06a(0x1ee)],'healthCheck':_0x2cd003['healthCheck'],'serviceInfo':_0x2cd003[_0x33c06a(0x22d)],'baseUrl':_0x2cd003['baseUrl']},_0x34a5a6=_0x33c06a(0x200)+_0x2cd003[_0x33c06a(0x1ce)];logger['info'](_0x424e36,_0x34a5a6),writeToFileLog({..._0x424e36,'level':'info','msg':_0x34a5a6,'time':new Date()[_0x33c06a(0x1e1)]()},_0x33c06a(0x223)),_0x2cd003[_0x33c06a(0x203)]&&logger[_0x33c06a(0x223)](_0x33c06a(0x257)+_0x2cd003[_0x33c06a(0x203)]),_0x2cd003[_0x33c06a(0x22d)]&&logger['info'](_0x33c06a(0x1d6)+_0x2cd003['serviceInfo']),_0x2cd003[_0x33c06a(0x1d4)]&&logger[_0x33c06a(0x223)](_0x33c06a(0x1e4)+_0x2cd003['baseUrl']);},logProjectLoaded=(_0xefad2b,_0x3389e9)=>{const _0x1b4b68=a0_0x86cace,_0xe21c42={'Vfeuf':'project_loaded','BTDwG':_0x1b4b68(0x223)},_0x51738f={'event':_0xe21c42[_0x1b4b68(0x231)],'project':_0xefad2b,'path':_0x3389e9},_0x278c06='[OK]\x20Project\x20loaded:\x20'+_0xefad2b;logger[_0x1b4b68(0x223)](_0x51738f,_0x278c06),writeToFileLog({..._0x51738f,'level':_0xe21c42[_0x1b4b68(0x201)],'msg':_0x278c06,'time':new Date()['toISOString']()},_0xe21c42[_0x1b4b68(0x201)]);},logEndpointRegistered=(_0x23ae3b,_0x2bf9ec)=>{const _0xa7c45a=a0_0x86cace,_0x1803cc={'lAlyX':function(_0x5347e8,_0x42b5c1,_0x833db4){return _0x5347e8(_0x42b5c1,_0x833db4);},'CpyGx':_0xa7c45a(0x244)},_0x3f0d75={'event':'endpoint_registered','endpoint':_0x23ae3b,'route':_0x2bf9ec},_0x8f4103=_0xa7c45a(0x24c)+_0x23ae3b+':\x20'+_0x2bf9ec;logger['debug'](_0x3f0d75,_0x8f4103),_0x1803cc['lAlyX'](writeToFileLog,{..._0x3f0d75,'level':_0x1803cc[_0xa7c45a(0x1c2)],'msg':_0x8f4103,'time':new Date()['toISOString']()},_0xa7c45a(0x244));},logDatabaseConfig=_0x4b331d=>{const _0x240bfd=a0_0x86cace,_0x4f65cf={'PmBcr':'database_config','YcasT':_0x240bfd(0x244)},_0x447297={'event':_0x4f65cf['PmBcr'],'host':_0x4b331d[_0x240bfd(0x1dd)],'port':_0x4b331d['port'],'database':_0x4b331d[_0x240bfd(0x235)],'type':_0x4b331d[_0x240bfd(0x23e)],'user':_0x4b331d[_0x240bfd(0x1b9)]},_0x5b6c8d='Database:\x20'+_0x4b331d['type']+_0x240bfd(0x1e5)+_0x4b331d[_0x240bfd(0x1dd)]+':'+_0x4b331d['port']+'/'+_0x4b331d['database'];logger['debug'](_0x447297,_0x5b6c8d),writeToFileLog({..._0x447297,'level':_0x4f65cf[_0x240bfd(0x214)],'msg':_0x5b6c8d,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x32f33d,_0x4f4b5e,_0x3e4814)=>{const _0x209a7c=a0_0x86cace,_0x6879f1={'dwlew':_0x209a7c(0x25a),'FYZOj':'info','RPzMA':_0x209a7c(0x22e),'csYYq':function(_0x234245,_0x589833){return _0x234245>=_0x589833;},'oVwpK':function(_0x39136b,_0xa70530,_0x1c7209){return _0x39136b(_0xa70530,_0x1c7209);}},_0x21cbe1={'event':_0x6879f1['dwlew'],'method':_0x32f33d['method'],'path':_0x32f33d[_0x209a7c(0x217)],'statusCode':_0x4f4b5e[_0x209a7c(0x26a)],'durationMs':_0x3e4814,'ip':_0x32f33d['ip']},_0x50a132=_0x32f33d[_0x209a7c(0x276)]+'\x20'+_0x32f33d['path']+_0x209a7c(0x1c8)+_0x4f4b5e['statusCode']+'\x20('+_0x3e4814+'ms)';let _0x4256ca=_0x6879f1['FYZOj'];if(_0x4f4b5e['statusCode']>=0x1f4)_0x4256ca=_0x6879f1[_0x209a7c(0x1c4)],logger['error'](_0x21cbe1,_0x50a132);else _0x6879f1[_0x209a7c(0x20b)](_0x4f4b5e[_0x209a7c(0x26a)],0x190)?(_0x4256ca='warn',logger['warn'](_0x21cbe1,_0x50a132)):logger[_0x209a7c(0x223)](_0x21cbe1,_0x50a132);_0x6879f1[_0x209a7c(0x21b)](writeToFileLog,{..._0x21cbe1,'level':_0x4256ca,'msg':_0x50a132,'time':new Date()[_0x209a7c(0x1e1)]()},_0x4256ca);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x86cace(0x256),'pwd','token',a0_0x86cace(0x264),a0_0x86cace(0x1f7),'secret','api_secret','apikey','api_key','credential',a0_0x86cace(0x271),'pin','otp',a0_0x86cace(0x1ef),'privatekey'],redactSensitiveParams=(_0xded374,_0x23789c)=>{const _0x1e9cd9=a0_0x86cace,_0x278840={'shYAw':_0x1e9cd9(0x219),'xTwPQ':function(_0xc3abcf,_0x1a2791){return _0xc3abcf===_0x1a2791;}};if(!_0xded374||_0x278840[_0x1e9cd9(0x222)](_0xded374['length'],0x0))return _0xded374;const _0xcc4460=_0x23789c['toLowerCase'](),_0x205d79=_0xcc4460[_0x1e9cd9(0x24b)](/\(([^)]+)\)\s*values/i);let _0x2b3c91=[];_0x205d79&&(_0x2b3c91=_0x205d79[0x1]['split'](',')['map'](_0x216338=>_0x216338['trim']()[_0x1e9cd9(0x207)]()));const _0x43f25f=_0xcc4460['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x43f25f){const _0x16f4a1=_0x43f25f[0x1],_0x5ea6b6=_0x16f4a1['match'](/(\w+)\s*=/g);_0x5ea6b6&&(_0x2b3c91=_0x5ea6b6[_0x1e9cd9(0x23c)](_0xf37132=>_0xf37132[_0x1e9cd9(0x1bd)](/\s*=/,'')[_0x1e9cd9(0x1d2)]()[_0x1e9cd9(0x207)]()));}return _0xded374['map']((_0x4eda40,_0x160037)=>{const _0xd2283a=_0x1e9cd9;if(_0x2b3c91[_0x160037]){const _0x3accbc=_0x2b3c91[_0x160037],_0x5f2850=SENSITIVE_PARAM_PATTERNS[_0xd2283a(0x1b8)](_0x5bc6ee=>_0x3accbc['includes'](_0x5bc6ee));if(_0x5f2850)return'[REDACTED]';}if(typeof _0x4eda40===_0x278840[_0xd2283a(0x204)]&&_0x4eda40['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0xd2283a(0x1fc)](_0x4eda40)&&_0x4eda40[_0xd2283a(0x1d8)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x4eda40))return'[REDACTED:hash]';}return _0x4eda40;});},parseQueryMetadata=_0x3eeb9d=>{const _0xea5428=a0_0x86cace,_0x7d92da={'MRezL':_0xea5428(0x275),'yjJgW':_0xea5428(0x246),'JygBf':'DELETE','qBbMn':_0xea5428(0x221),'racUg':'ROLLBACK','noAoX':_0xea5428(0x274),'ZRoAH':'ALTER'},_0x484314=_0x3eeb9d[_0xea5428(0x1d2)](),_0x5c49be=_0x484314[_0xea5428(0x22f)]();let _0x2a1994='UNKNOWN',_0x3eae6c=null;if(_0x5c49be[_0xea5428(0x1c9)]('SELECT')){_0x2a1994=_0x7d92da['MRezL'];const _0xb6f52a=_0x484314['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0xb6f52a?_0xb6f52a[0x1]:null;}else{if(_0x5c49be['startsWith'](_0xea5428(0x246))){_0x2a1994=_0x7d92da['yjJgW'];const _0x2b646f=_0x484314[_0xea5428(0x24b)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0x2b646f?_0x2b646f[0x1]:null;}else{if(_0x5c49be[_0xea5428(0x1c9)](_0xea5428(0x1e8))){_0x2a1994=_0xea5428(0x1e8);const _0x31a4bf=_0x484314['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0x31a4bf?_0x31a4bf[0x1]:null;}else{if(_0x5c49be['startsWith'](_0x7d92da['JygBf'])){_0x2a1994=_0x7d92da['JygBf'];const _0x3f3a95=_0x484314['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0x3f3a95?_0x3f3a95[0x1]:null;}else{if(_0x5c49be['startsWith']('BEGIN')||_0x5c49be['startsWith'](_0xea5428(0x229)))_0x2a1994=_0xea5428(0x240);else{if(_0x5c49be[_0xea5428(0x1c9)](_0xea5428(0x1d7)))_0x2a1994=_0x7d92da['qBbMn'];else{if(_0x5c49be['startsWith'](_0x7d92da[_0xea5428(0x24f)]))_0x2a1994=_0x7d92da[_0xea5428(0x254)];else{if(_0x5c49be[_0xea5428(0x1c9)]('CREATE'))_0x2a1994='DDL_CREATE';else{if(_0x5c49be[_0xea5428(0x1c9)](_0x7d92da[_0xea5428(0x260)]))_0x2a1994=_0xea5428(0x1d1);else _0x5c49be['startsWith'](_0xea5428(0x1eb))&&(_0x2a1994=_0xea5428(0x25e));}}}}}}}}return{'type':_0x2a1994,'table':_0x3eae6c};},startQueryTimer=()=>{const _0x9313e=a0_0x86cace,_0x15c1f2={'kYSFb':function(_0x419945,_0x5cd3d0){return _0x419945/_0x5cd3d0;}},_0x1406f6=process[_0x9313e(0x1df)]();return()=>{const _0x53dfb8=_0x9313e,[_0x1bbd48,_0x469ecd]=process[_0x53dfb8(0x1df)](_0x1406f6);return parseFloat((_0x1bbd48*0x3e8+_0x15c1f2['kYSFb'](_0x469ecd,0xf4240))['toFixed'](0x2));};},logQuery=(_0x28f84b,_0x1e7e40=[],_0x51d783={})=>{const _0x55998c=a0_0x86cace,_0x22bc43={'BZPIn':_0x55998c(0x210),'wgmta':'DB\x20Query','KCMsE':_0x55998c(0x215),'OKvvj':function(_0x41a327,_0x921636){return _0x41a327(_0x921636);},'QktBk':'sql_query','kdMfC':function(_0x23f9fa,_0x3739c0,_0x4c6171){return _0x23f9fa(_0x3739c0,_0x4c6171);},'glVPE':function(_0x3d4ace,_0x3f19d5){return _0x3d4ace!==_0x3f19d5;},'Nkaig':'unknown','ICQBJ':function(_0x1a1738,_0x1d54f8){return _0x1a1738!==_0x1d54f8;},'BLCmq':function(_0x39a33a,_0x1e96fc){return _0x39a33a>_0x1e96fc;},'dLqit':_0x55998c(0x244),'zBSKa':'\x20[SLOW]'};if(!sqlLogEnabled){logger['debug']({'event':_0x22bc43['BZPIn'],'query':_0x28f84b[_0x55998c(0x258)](0x0,0xc8),'paramCount':_0x1e7e40[_0x55998c(0x1b6)]},_0x22bc43[_0x55998c(0x22b)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x22bc43[_0x55998c(0x251)]}=_0x51d783,{type:_0x4c3159,table:_0x246854}=_0x22bc43[_0x55998c(0x1f9)](parseQueryMetadata,_0x28f84b),_0x5a4d77={'event':_0x22bc43[_0x55998c(0x20e)],'queryType':_0x4c3159,'table':_0x246854,'query':_0x28f84b,'paramCount':_0x1e7e40[_0x55998c(0x1b6)],'dbType':dbType};sqlLogParams&&_0x1e7e40['length']>0x0&&(_0x5a4d77['params']=_0x22bc43[_0x55998c(0x266)](redactSensitiveParams,_0x1e7e40,_0x28f84b));_0x22bc43[_0x55998c(0x23b)](duration,null)&&(_0x5a4d77[_0x55998c(0x236)]=duration,_0x5a4d77['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x5a4d77[_0x55998c(0x1f5)]=rowsAffected);const _0x562289=_0x246854||_0x22bc43[_0x55998c(0x26f)];let _0x4a0b26='['+_0x4c3159+']\x20'+_0x562289;_0x22bc43[_0x55998c(0x252)](duration,null)&&(_0x4a0b26+='\x20('+duration+_0x55998c(0x1c5));const _0x2a0dd7=duration!==null&&_0x22bc43['BLCmq'](duration,sqlLogSlowThreshold);let _0x408315=_0x22bc43['dLqit'];if(_0x2a0dd7)_0x4a0b26+=_0x22bc43['zBSKa'],_0x408315='warn',logger[_0x55998c(0x211)](_0x5a4d77,_0x4a0b26);else sqlLogLevel===_0x55998c(0x223)?(_0x408315='info',logger['info'](_0x5a4d77,_0x4a0b26)):logger['debug'](_0x5a4d77,_0x4a0b26);writeToFileLog({..._0x5a4d77,'level':_0x408315,'msg':_0x4a0b26,'time':new Date()[_0x55998c(0x1e1)]()},_0x408315);},logTransaction=(_0x4950ca,_0x5c383d)=>{const _0xef560=a0_0x86cace,_0x33422d={'SUwNk':_0xef560(0x248),'SuuLk':function(_0x537a92,_0x5c784b,_0x1f4957){return _0x537a92(_0x5c784b,_0x1f4957);},'abfZr':_0xef560(0x244)},_0x605d20={'event':_0x33422d['SUwNk'],'status':_0x4950ca,'queryCount':_0x5c383d},_0x591bcd='Transaction\x20'+_0x4950ca;logger[_0xef560(0x244)](_0x605d20,_0x591bcd),_0x33422d[_0xef560(0x247)](writeToFileLog,{..._0x605d20,'level':_0x33422d[_0xef560(0x20c)],'msg':_0x591bcd,'time':new Date()['toISOString']()},_0x33422d['abfZr']);},redactObject=_0x40f650=>{const _0x332317=a0_0x86cace,_0x46e3f3={'DeOkL':'passwd','wlFXP':_0x332317(0x263),'eIUcz':_0x332317(0x25f),'aKiST':_0x332317(0x25b),'FEEcR':'pin','tKCrl':_0x332317(0x23d),'TdFaN':'access_token','tlKuE':_0x332317(0x1dc),'mTJWw':function(_0x24ce26,_0x44eae4){return _0x24ce26!==_0x44eae4;},'NDEYK':function(_0x45ea8d,_0xd60477){return _0x45ea8d(_0xd60477);}};if(!_0x40f650||typeof _0x40f650!==_0x332317(0x1ca))return _0x40f650;const _0x1a7e12=['password',_0x46e3f3['DeOkL'],'pwd','token',_0x332317(0x226),_0x46e3f3['wlFXP'],'api_key',_0x332317(0x233),_0x332317(0x1fa),_0x46e3f3[_0x332317(0x1e2)],_0x46e3f3[_0x332317(0x1f0)],_0x332317(0x1cb),_0x46e3f3[_0x332317(0x26c)],'private_key',_0x46e3f3['tKCrl'],'refresh_token',_0x46e3f3['TdFaN']],_0x14a3b1=Array['isArray'](_0x40f650)?[..._0x40f650]:{..._0x40f650};for(const _0x15da56 of Object[_0x332317(0x23a)](_0x14a3b1)){const _0x460a27=_0x15da56[_0x332317(0x207)]();if(_0x1a7e12[_0x332317(0x1b8)](_0x9a84cf=>_0x460a27['includes'](_0x9a84cf)))_0x14a3b1[_0x15da56]=_0x46e3f3[_0x332317(0x1da)];else typeof _0x14a3b1[_0x15da56]===_0x332317(0x1ca)&&_0x46e3f3[_0x332317(0x1e9)](_0x14a3b1[_0x15da56],null)&&(_0x14a3b1[_0x15da56]=_0x46e3f3['NDEYK'](redactObject,_0x14a3b1[_0x15da56]));}return _0x14a3b1;},logError=(_0x5f4d03,_0x5771d4={},_0x257cd7=null)=>{const _0x52ad01=a0_0x86cace,_0xea70f8={'yiFqE':'Error','fMgEE':function(_0x1965c8,_0x2936a7,_0x12b60f){return _0x1965c8(_0x2936a7,_0x12b60f);},'AhwcX':_0x52ad01(0x22e)},_0xdd51b4={'event':_0x52ad01(0x22e),'errorName':_0x5f4d03['name']||_0xea70f8[_0x52ad01(0x1d9)],'errorMessage':_0x5f4d03[_0x52ad01(0x1b5)],'errorCode':_0x5f4d03[_0x52ad01(0x1ff)]||null,'stack':_0x5f4d03['stack'],..._0x5771d4},_0x484b1a=_0x257cd7||'Error:\x20'+_0x5f4d03['message'];logger['error'](_0xdd51b4,_0x484b1a),_0xea70f8['fMgEE'](writeToFileLog,{..._0xdd51b4,'level':'error','msg':_0x484b1a,'time':new Date()[_0x52ad01(0x1e1)]()},_0xea70f8['AhwcX']);},logFatalError=(_0x4c5767,_0x487d42={},_0x26935e=null)=>{const _0x2c16a7=a0_0x86cace,_0x4a3b6a={'yFJiX':_0x2c16a7(0x213),'TRqhT':'fatal','tEcmx':_0x2c16a7(0x22e)},_0x8a921e={'event':'fatal_error','errorName':_0x4c5767['name']||_0x4a3b6a['yFJiX'],'errorMessage':_0x4c5767['message'],'errorCode':_0x4c5767[_0x2c16a7(0x1ff)]||null,'stack':_0x4c5767[_0x2c16a7(0x20a)],'severity':_0x2c16a7(0x273),..._0x487d42},_0x1dd0aa=_0x26935e||'FATAL:\x20'+_0x4c5767[_0x2c16a7(0x1b5)];logger['fatal'](_0x8a921e,_0x1dd0aa),writeToFileLog({..._0x8a921e,'level':_0x4a3b6a[_0x2c16a7(0x1bc)],'msg':_0x1dd0aa,'time':new Date()[_0x2c16a7(0x1e1)]()},_0x4a3b6a[_0x2c16a7(0x267)]);},logHttpError=(_0x13d321,_0x1bdb29,_0xe47c2c={})=>{const _0x5f0d15=a0_0x86cace,_0x5b1cb9={'tBOgB':'Error','xYPXX':'x-request-id','BJBSB':function(_0x537238,_0xa2979d){return _0x537238>=_0xa2979d;},'wxvpE':'error'},_0x377830={'event':'http_error','errorName':_0x13d321['name']||_0x5b1cb9[_0x5f0d15(0x20f)],'errorMessage':_0x13d321['message'],'errorCode':_0x13d321[_0x5f0d15(0x1ff)]||_0x13d321[_0x5f0d15(0x26a)]||0x1f4,'stack':_0x13d321[_0x5f0d15(0x20a)],'method':_0x1bdb29?.[_0x5f0d15(0x276)],'url':_0x1bdb29?.[_0x5f0d15(0x1f4)]||_0x1bdb29?.[_0x5f0d15(0x1f6)],'path':_0x1bdb29?.['path'],'ip':_0x1bdb29?.['ip']||_0x1bdb29?.[_0x5f0d15(0x245)]?.[_0x5f0d15(0x212)],'userAgent':_0x1bdb29?.['get']?.('user-agent'),'requestId':_0x1bdb29?.['id']||_0x1bdb29?.[_0x5f0d15(0x1c1)]?.[_0x5b1cb9['xYPXX']],'body':_0x1bdb29?.[_0x5f0d15(0x1f3)]?redactObject(_0x1bdb29[_0x5f0d15(0x1f3)]):undefined,'query':_0x1bdb29?.[_0x5f0d15(0x1cf)],..._0xe47c2c},_0x2d9364=_0x13d321[_0x5f0d15(0x26a)]||_0x13d321[_0x5f0d15(0x253)]||0x1f4,_0x4b876a='HTTP\x20'+_0x2d9364+':\x20'+_0x13d321['message'];_0x5b1cb9['BJBSB'](_0x2d9364,0x1f4)?logger[_0x5f0d15(0x22e)](_0x377830,_0x4b876a):logger['warn'](_0x377830,_0x4b876a),writeToFileLog({..._0x377830,'level':_0x5b1cb9[_0x5f0d15(0x1e0)](_0x2d9364,0x1f4)?_0x5b1cb9[_0x5f0d15(0x1cc)]:'warn','msg':_0x4b876a,'time':new Date()[_0x5f0d15(0x1e1)]()},_0x2d9364>=0x1f4?_0x5b1cb9['wxvpE']:_0x5f0d15(0x211));},logUncaughtError=(_0x4f5dcb,_0x608a00)=>{const _0xea6f96=a0_0x86cace,_0x2e0541={'SpXpn':function(_0x3c5a4d,_0x1d8d20){return _0x3c5a4d(_0x1d8d20);}},_0x288578={'event':_0x4f5dcb,'errorName':_0x608a00?.['name']||'Error','errorMessage':_0x608a00?.[_0xea6f96(0x1b5)]||_0x2e0541['SpXpn'](String,_0x608a00),'errorCode':_0x608a00?.[_0xea6f96(0x1ff)]||null,'stack':_0x608a00?.['stack'],'severity':_0xea6f96(0x273),'processId':process[_0xea6f96(0x24e)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0xea6f96(0x1e3)]()},_0x3c98e0='['+_0x4f5dcb[_0xea6f96(0x22f)]()+']\x20'+(_0x608a00?.[_0xea6f96(0x1b5)]||_0x608a00);logger[_0xea6f96(0x21e)](_0x288578,_0x3c98e0),writeToFileLog({..._0x288578,'level':_0xea6f96(0x21e),'msg':_0x3c98e0,'time':new Date()[_0xea6f96(0x1e1)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x7df931=a0_0x86cace,_0x16eb8e={'GPbuy':function(_0x1ad111,_0x31396d){return _0x1ad111(_0x31396d);},'kFAZq':'unhandledRejection','zNFhU':_0x7df931(0x249),'kYQio':'warning','ilyHK':'global_error_handlers_setup','FLwOA':'Global\x20error\x20handlers\x20initialized'};process['on'](_0x7df931(0x1c7),_0xc6c773=>{logUncaughtError('uncaughtException',_0xc6c773),setTimeout(()=>{const _0x5c2467=a0_0x42d9;process[_0x5c2467(0x237)](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0xd04575,_0x5b2676)=>{const _0x94e7e0=_0xd04575 instanceof Error?_0xd04575:new Error(_0x16eb8e['GPbuy'](String,_0xd04575));logUncaughtError(_0x16eb8e['kFAZq'],_0x94e7e0);}),process['on'](_0x16eb8e['kYQio'],_0xaf934a=>{const _0x15c73a=_0x7df931;logger['warn']({'event':_0x16eb8e[_0x15c73a(0x259)],'name':_0xaf934a['name'],'message':_0xaf934a['message'],'stack':_0xaf934a[_0x15c73a(0x20a)]},_0x15c73a(0x22a)+_0xaf934a[_0x15c73a(0x1b5)]);});const _0x2e9cce={'event':_0x16eb8e[_0x7df931(0x1c6)]},_0x52c57e=_0x16eb8e[_0x7df931(0x1fb)];logger['info'](_0x2e9cce,_0x52c57e),writeToFileLog({..._0x2e9cce,'level':_0x7df931(0x223),'msg':_0x52c57e,'time':new Date()['toISOString']()},_0x7df931(0x223));},createErrorHandlerMiddleware=()=>{const _0x42af1d=a0_0x86cace,_0x154fe9={'vZgWE':function(_0x28a2e6,_0x10836a,_0x4991ca){return _0x28a2e6(_0x10836a,_0x4991ca);},'ISyxt':function(_0x2accf7,_0x3466ee){return _0x2accf7>=_0x3466ee;},'Dcjje':'Internal\x20server\x20error','waMrL':_0x42af1d(0x21c)};return(_0x2d4e73,_0x5d1748,_0x5124eb,_0x7f3341)=>{const _0x5dc5f9=_0x42af1d;_0x154fe9['vZgWE'](logHttpError,_0x2d4e73,_0x5d1748);const _0x33690f=_0x2d4e73['statusCode']||_0x2d4e73[_0x5dc5f9(0x253)]||0x1f4;_0x5124eb[_0x5dc5f9(0x253)](_0x33690f)[_0x5dc5f9(0x269)]({'success':![],'error':_0x154fe9['ISyxt'](_0x33690f,0x1f4)?_0x154fe9[_0x5dc5f9(0x1b4)]:_0x2d4e73['message'],'requestId':_0x5d1748['id']||_0x5d1748['headers']?.[_0x154fe9['waMrL']]||null});};};module[a0_0x86cace(0x1ec)]={'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
+ function a0_0x261a(_0xc60f06,_0x29e58e){_0xc60f06=_0xc60f06-0x106;const _0x47ba85=a0_0x47ba();let _0x261ac5=_0x47ba85[_0xc60f06];if(a0_0x261a['zDUWSS']===undefined){var _0x315e4f=function(_0x4121e0){const _0xd9e40d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e7ac1='',_0x43e40d='';for(let _0x520304=0x0,_0x4db0e1,_0x5b6431,_0x977010=0x0;_0x5b6431=_0x4121e0['charAt'](_0x977010++);~_0x5b6431&&(_0x4db0e1=_0x520304%0x4?_0x4db0e1*0x40+_0x5b6431:_0x5b6431,_0x520304++%0x4)?_0x1e7ac1+=String['fromCharCode'](0xff&_0x4db0e1>>(-0x2*_0x520304&0x6)):0x0){_0x5b6431=_0xd9e40d['indexOf'](_0x5b6431);}for(let _0x58a6ec=0x0,_0x1a2bf2=_0x1e7ac1['length'];_0x58a6ec<_0x1a2bf2;_0x58a6ec++){_0x43e40d+='%'+('00'+_0x1e7ac1['charCodeAt'](_0x58a6ec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43e40d);};a0_0x261a['mGxLag']=_0x315e4f,a0_0x261a['HAFHqK']={},a0_0x261a['zDUWSS']=!![];}const _0x179cd5=_0x47ba85[0x0],_0x40804a=_0xc60f06+_0x179cd5,_0x2c5fa9=a0_0x261a['HAFHqK'][_0x40804a];return!_0x2c5fa9?(_0x261ac5=a0_0x261a['mGxLag'](_0x261ac5),a0_0x261a['HAFHqK'][_0x40804a]=_0x261ac5):_0x261ac5=_0x2c5fa9,_0x261ac5;}const a0_0x3096f5=a0_0x261a;(function(_0x12a533,_0x59421d){const _0x4cd962=a0_0x261a,_0x2f5c13=_0x12a533();while(!![]){try{const _0x2ec9e6=-parseInt(_0x4cd962(0x177))/0x1+parseInt(_0x4cd962(0x140))/0x2+parseInt(_0x4cd962(0x189))/0x3+-parseInt(_0x4cd962(0x1b1))/0x4+-parseInt(_0x4cd962(0x1b6))/0x5+parseInt(_0x4cd962(0x142))/0x6+parseInt(_0x4cd962(0x172))/0x7;if(_0x2ec9e6===_0x59421d)break;else _0x2f5c13['push'](_0x2f5c13['shift']());}catch(_0x3310a4){_0x2f5c13['push'](_0x2f5c13['shift']());}}}(a0_0x47ba,0x8b0fc));const pino=require('pino'),fs=require('fs'),path=require(a0_0x3096f5(0x17d));let logToFile=![],logDir=a0_0x3096f5(0x187),serviceName=a0_0x3096f5(0x136),sqlLogEnabled=![],sqlLogLevel=a0_0x3096f5(0x12d),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x3096f5(0x12e),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x3096f5(0x18e),'hideObject':!![]},isDevelopment=process[a0_0x3096f5(0x110)][a0_0x3096f5(0x1ca)]!==a0_0x3096f5(0x128),logLevel=process[a0_0x3096f5(0x110)]['LOG_LEVEL']||a0_0x3096f5(0x1b9);function a0_0x47ba(){const _0x49e4af=['CgLK','otu0odK2sKfuA2LY','AgvHBhrOq2HLy2S','mtK1mZCYmezSqwfQuq','rxjYB3i','Eu9KwMW','rxfNqxe','qKvhsu4','rermx0nsrufurq','C2vYDMvYx3jLywr5','DhLWzq','DenOzKm','C3rHy2S','u0vsvKLdrv9oqu1f','C3bSAxq','u1fmx0Xpr19qqvjbtvm','Bwv0Ag9K','zw5KCg9PBNrFCMvNAxn0zxjLza','D2fYBMLUzW','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Ce9rDLa','rLLqrwG','uKHsC3K','Dg9mB3DLCKnHC2u','C3rKu2vYAwfSAxPLCNm','zxHPDa','uhjVy2vZCYbxyxjUAw5NoIa','BMfbz2W','te9hx0rjuG','ig9UihbVCNqG','C2rkAMW','zxjYB3i','u0vmrunu','ChjVAMvJDa','rermx0fmvevs','Bwf0y2G','y3jLzgvUDgLHBa','icbvuKW6icaGia','CgTgtNG','BwTKAxjtEw5J','q09ntuLu','zxHWB3j0CW','CwLYq3a','EwrJCgO','q2vIu3G','ANnVBG','Ag9ZDa','C3vIC3rYAw5N','zxjY','qunusvzf','Dg9ju09tDhjPBMC','nZCXnZu2m3z5sKLuwa','CxvrtMm','D2fYBG','C3rYAw5N','qMrcDva','odK1nJa5t09oCvPl','Cg9YDa','zgjFDhjHBNnHy3rPB24','CgfKrw5K','w1jfrefdvevexq','AxntBg93','Cgf0Aa','vMHswKq','AuTWufe','BejiBvG','u3HWBge','CujjtwS','C3rKvgLTzuz1BMn0Aw9UCW','zgv2zwXVCg1LBNq','qvbqx1zfuLnjt04','u2vYDMvYihn0yxj0Aw5NoIa','lI9SB2DZ','AKTPDeG','mJe0mZuWovfRwu9Yrq','BgvUz3rO','txPzCgm','vxfWB1G','tu9xyM0','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','yxbWlMXVzW','AuXZBNi','t3nkDg4','Dw5Oyw5KBgvKuMvQzwn0Aw9U','zLvOBfy','DhjPBq','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','DxnLCG','Dhj1zq','iokvKqRILzeGienVBMzPzYaGicaGidOG','CgLU','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','sMjxs1i','Dw5JyxvNAhrfEgnLChrPB24','oI8V','zMfSC2u','z2v0sgvHzgvYCW','rLbzDum','C2vYDMLJzuLUzM8','rejFueftu1DpuKq','C2vYDMvYx3n0yxj0Aw5N','Aw5JBhvKzxm','wKDxyMi','zxjYB3iUBg9N','C3rHDhvZ','yM9KEq','yLP5vfG','yxbPA2v5','revmrvrf','Bg9N','BuDhqKC','C3nU','BMfTzq','C3rHDhvZq29Kzq','mJe3odq5mMjTvxfxDG','AMrJwK0','CgfZC3DK','Dxb0Aw1L','yxbPx3nLy3jLDa','mZa1mti2merowxjUsW','y29Kzq','ChDK','Aw5MBW','Awj0BKO','ChjPDMf0zwTLEq','ic0G','u0vXrey','zMf0ywW','AxPUzve','zKjYr3u','DKnsz3i','q1jfqvrf','uLvmvLu','BwvZC2fNzq','zgf0ywjHC2vFy29UzMLN','C3rHCNrZv2L0Aa','q1jjveLdquW','w1jfrefdveveoMHHC2HD','D3bSBNe','tK9erv9ftLy','Bgvpzuq','Ahj0Aw1L','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','zvLyBuG','y3DK','rgT5DeK','vNjQCNy','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','C29Tzq','iokvKqRILzeGifbYB2PLy3qGicaGidOG','wLDxD3C','zw52','B2jQzwn0','uNLJrva','su5trvju','rfjpua','CMvTB3rLqwrKCMvZCW','ms4WlJu','B0jKvue','vfjbtLnbq1rjt05Fq09ntuLu','CKf3C3K','Dg9vChbLCKnHC2u','qKXOCMq','vfjbtLnbq1rjt05FuK9mtejbq0S','C3fSx3f1zxj5','rNHIu20','y3z2','DgvZDa','zgf0ywjHC2u','y29UzMLNrMLSzq','q1votKC','wfH5yue','tI9b','ifTtte9xxq','iokvKqRILzeGifbVCNqGicaGicaGidOG','ChjVzhvJDgLVBG','zMf0ywXFzxjYB3i','AM9PBG','q29HBg4','yvPKz0e','zgvIDwC','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','yMfZzvvYBa','AxnbCNjHEq','vKzczLe','u1fmx0Xpr19ftKfcteve','w1jfrefdveveoNrVA2vUxq','C0jJvKO','y3jLyxrLv3jPDgvtDhjLyw0','CMvZDgzVCMDL','Ahr0Cf9Yzxf1zxn0','y0rJzMO','DxjS','te9hx1rpx0zjteu','vvbeqvrf','ExnqDuq','u1fmx0Xpr19mrvzfta','ChjPDMf0zv9RzxK'];a0_0x47ba=function(){return _0x49e4af;};return a0_0x47ba();}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0x3096f5(0x185)]||a0_0x3096f5(0x116),'env':process['env'][a0_0x3096f5(0x1ca)]||a0_0x3096f5(0x184)},'timestamp':pino[a0_0x3096f5(0x183)]['isoTime'],'redact':{'paths':[a0_0x3096f5(0x19a),'req.headers[\x22x-api-key\x22]','password','token','apiKey',a0_0x3096f5(0x1a2),'JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0xec587c=>({'id':_0xec587c['id'],'method':_0xec587c[a0_0x3096f5(0x14f)],'url':_0xec587c[a0_0x3096f5(0x139)],'path':_0xec587c[a0_0x3096f5(0x17d)],'remoteAddress':_0xec587c['ip']||_0xec587c['connection']?.['remoteAddress']}),'res':_0xe9d4c5=>({'statusCode':_0xe9d4c5['statusCode'],'headers':_0xe9d4c5[a0_0x3096f5(0x19f)]?.()}),'err':pino[a0_0x3096f5(0x157)][a0_0x3096f5(0x16f)]}});function initFileLogging(){const _0x44ebe4=a0_0x3096f5,_0x25fb1b={'sBcVJ':function(_0x435f73,_0x2806fb){return _0x435f73===_0x2806fb;},'DCBaW':'default','gHFJV':function(_0x412b89,_0x390a14){return _0x412b89===_0x390a14;},'RpIHP':_0x44ebe4(0x197),'VFBfQ':function(_0x555a66,_0x24fb17){return _0x555a66!==_0x24fb17;},'quQNc':function(_0x8f466,_0x41bcda){return _0x8f466(_0x41bcda);},'rAwsy':'error.log','xeQMc':function(_0xededeb,_0x5876b5,_0x5a9ad4){return _0xededeb(_0x5876b5,_0x5a9ad4);},'qirCp':_0x44ebe4(0x1b9)};if(fileLoggingInitialized)return;logToFile=_0x25fb1b[_0x44ebe4(0x134)](process['env'][_0x44ebe4(0x13a)],_0x44ebe4(0x197));const _0x32e056=process['env']['RESTFORGE_PROJECT_NAME']||_0x25fb1b['DCBaW'];logDir=process['env'][_0x44ebe4(0x15b)]||'./logs/'+_0x32e056,serviceName=process[_0x44ebe4(0x110)][_0x44ebe4(0x14c)]||'restforge',sqlLogEnabled=_0x25fb1b['gHFJV'](process['env'][_0x44ebe4(0x132)],_0x25fb1b['RpIHP']),sqlLogLevel=process['env'][_0x44ebe4(0x13d)]||_0x44ebe4(0x12d),sqlLogParams=_0x25fb1b[_0x44ebe4(0x131)](process['env'][_0x44ebe4(0x14e)],_0x44ebe4(0x19e)),sqlLogSlowThreshold=_0x25fb1b[_0x44ebe4(0x173)](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x523b7b=path['resolve'](process[_0x44ebe4(0x109)](),logDir);try{!fs['existsSync'](_0x523b7b)&&fs[_0x44ebe4(0x166)](_0x523b7b,{'recursive':!![]});}catch(_0x10db7b){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x523b7b+':',_0x10db7b[_0x44ebe4(0x1c4)]),fileLoggingInitialized=!![];return;}const _0xcab749=path[_0x44ebe4(0x12a)](_0x523b7b,_0x44ebe4(0x18f)),_0x5d6ceb=path['join'](_0x523b7b,_0x25fb1b[_0x44ebe4(0x119)]);try{appLogStream=fs[_0x44ebe4(0x135)](_0xcab749,{'flags':'a'}),errorLogStream=fs[_0x44ebe4(0x135)](_0x5d6ceb,{'flags':'a'}),fileLoggingInitialized=!![];const _0x2bd96d={'event':'file_logging_enabled','logDir':_0x523b7b,'files':[_0x44ebe4(0x18f),_0x44ebe4(0x1a6)]},_0x3c4b72='File\x20logging\x20enabled:\x20'+_0x523b7b;logger[_0x44ebe4(0x1b9)](_0x2bd96d,_0x3c4b72),_0x25fb1b['xeQMc'](writeToFileLog,{..._0x2bd96d,'level':'info','msg':_0x3c4b72,'time':new Date()['toISOString']()},_0x25fb1b[_0x44ebe4(0x169)]);}catch(_0x6b632a){console['error'](_0x44ebe4(0x195),_0x6b632a[_0x44ebe4(0x1c4)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x20d8e4,_0x359d62){const _0x1dced1=a0_0x3096f5,_0xd4452a={'oBdUA':function(_0x19ab8f,_0x3da419){return _0x19ab8f===_0x3da419;},'mGGBG':_0x1dced1(0x1be)};if(!logToFile||!appLogStream)return;const _0x8d866f={'service':serviceName,..._0x20d8e4},_0x12a280=JSON['stringify'](_0x8d866f)+'\x0a';appLogStream['write'](_0x12a280),(_0xd4452a[_0x1dced1(0x117)](_0x359d62,_0x1dced1(0x15e))||_0xd4452a['oBdUA'](_0x359d62,_0xd4452a[_0x1dced1(0x1ad)]))&&(errorLogStream&&errorLogStream['write'](_0x12a280));}const createRequestLogger=(_0x21217b={})=>{return logger['child'](_0x21217b);},logServerStart=_0x586edc=>{const _0x76b0c8=a0_0x3096f5,_0x1aa491={'JYiOI':'RESTFORGE\x20RUNTIME\x20SERVER','jdcZM':function(_0x1fa2e7,_0x4fa0aa){return _0x1fa2e7-_0x4fa0aa;},'wllER':'Node.js','cSRcY':'NOT\x20ACTIVE','aZdgA':function(_0x3c77d1,_0x356d2a,_0x2cf1c8){return _0x3c77d1(_0x356d2a,_0x2cf1c8);},'BdBuP':_0x76b0c8(0x1b9)},_0x170d0d=_0x1aa491['JYiOI'],_0x133b23=Math['max'](0x0,_0x1aa491[_0x76b0c8(0x1b2)](0x37,_0x170d0d['length'])),_0x162dc5=Math['floor'](_0x133b23/0x2),_0x58291b=_0x133b23-_0x162dc5,_0x3554d0='║'+'\x20'['repeat'](_0x162dc5)+_0x170d0d+'\x20'['repeat'](_0x58291b)+'║',_0x37f747='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x3554d0+_0x76b0c8(0x152)+(_0x586edc['environment']||_0x1aa491['wllER'])['padEnd'](0x26)+_0x76b0c8(0x10e)+(_0x586edc[_0x76b0c8(0x160)]||_0x76b0c8(0x125))[_0x76b0c8(0x17a)](0x26)+_0x76b0c8(0x127)+String(_0x586edc[_0x76b0c8(0x178)]||0xbb8)['padEnd'](0x26)+_0x76b0c8(0x198)+(_0x586edc[_0x76b0c8(0x122)]||'Default')['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x586edc['apiKey']?_0x76b0c8(0x170):_0x1aa491['cSRcY'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x76b0c8(0x1ac)](_0x37f747);const _0x37015a={'event':_0x76b0c8(0x1a3),'project':_0x586edc['project'],'port':_0x586edc['port'],'config':_0x586edc[_0x76b0c8(0x122)],'apiKeyEnabled':!!_0x586edc['apiKey']};logger[_0x76b0c8(0x1b9)](_0x37015a),_0x1aa491[_0x76b0c8(0x12c)](writeToFileLog,{..._0x37015a,'level':_0x1aa491[_0x76b0c8(0x176)],'msg':_0x76b0c8(0x186)+_0x586edc['project']+_0x76b0c8(0x15c)+_0x586edc['port'],'time':new Date()[_0x76b0c8(0x171)]()},'info');},logServerReady=_0x517c69=>{const _0xce8764=a0_0x3096f5,_0x5d502c={'IaKpV':_0xce8764(0x1b9)},_0x441a8d={'event':_0xce8764(0x148),'port':_0x517c69['port'],'module':_0x517c69['module'],'healthCheck':_0x517c69['healthCheck'],'serviceInfo':_0x517c69['serviceInfo'],'baseUrl':_0x517c69[_0xce8764(0x12f)]},_0x63930b=_0xce8764(0x107)+_0x517c69['port'];logger['info'](_0x441a8d,_0x63930b),writeToFileLog({..._0x441a8d,'level':_0x5d502c['IaKpV'],'msg':_0x63930b,'time':new Date()['toISOString']()},_0x5d502c['IaKpV']),_0x517c69[_0xce8764(0x141)]&&logger['info']('\x20\x20Health:\x20'+_0x517c69['healthCheck']),_0x517c69['serviceInfo']&&logger[_0xce8764(0x1b9)]('\x20\x20Info:\x20\x20\x20'+_0x517c69[_0xce8764(0x1a1)]),_0x517c69['baseUrl']&&logger['info'](_0xce8764(0x164)+_0x517c69['baseUrl']);},logProjectLoaded=(_0x2b6fe8,_0x3c54be)=>{const _0x116be3=a0_0x3096f5,_0x4f9fef={'event':'project_loaded','project':_0x2b6fe8,'path':_0x3c54be},_0x38b196='[OK]\x20Project\x20loaded:\x20'+_0x2b6fe8;logger[_0x116be3(0x1b9)](_0x4f9fef,_0x38b196),writeToFileLog({..._0x4f9fef,'level':'info','msg':_0x38b196,'time':new Date()[_0x116be3(0x171)]()},'info');},logEndpointRegistered=(_0x31a4e1,_0x38be89)=>{const _0x5b1201=a0_0x3096f5,_0x5cd434={'eYXmH':_0x5b1201(0x150),'fBrGu':_0x5b1201(0x12d)},_0x3dd3cc={'event':_0x5cd434[_0x5b1201(0x108)],'endpoint':_0x31a4e1,'route':_0x38be89},_0x6c9787='\x20\x20→\x20'+_0x31a4e1+':\x20'+_0x38be89;logger[_0x5b1201(0x12d)](_0x3dd3cc,_0x6c9787),writeToFileLog({..._0x3dd3cc,'level':'debug','msg':_0x6c9787,'time':new Date()['toISOString']()},_0x5cd434[_0x5b1201(0x1c0)]);},logDatabaseConfig=_0x151a19=>{const _0x5d479d=a0_0x3096f5,_0x3f0ef0={'qBIMk':function(_0x50e5e3,_0x2d0381,_0xa69bf8){return _0x50e5e3(_0x2d0381,_0xa69bf8);},'FduMh':'debug'},_0x348019={'event':_0x5d479d(0x1c5),'host':_0x151a19['host'],'port':_0x151a19[_0x5d479d(0x178)],'database':_0x151a19[_0x5d479d(0x121)],'type':_0x151a19['type'],'user':_0x151a19[_0x5d479d(0x196)]},_0x565833='Database:\x20'+_0x151a19[_0x5d479d(0x149)]+_0x5d479d(0x19d)+_0x151a19[_0x5d479d(0x16d)]+':'+_0x151a19[_0x5d479d(0x178)]+'/'+_0x151a19['database'];logger['debug'](_0x348019,_0x565833),_0x3f0ef0[_0x5d479d(0x182)](writeToFileLog,{..._0x348019,'level':_0x5d479d(0x12d),'msg':_0x565833,'time':new Date()[_0x5d479d(0x171)]()},_0x3f0ef0['FduMh']);},logRequest=(_0x30e74c,_0x41f10b,_0x230b39)=>{const _0x37d731=a0_0x3096f5,_0x2c98aa={'leOeD':_0x37d731(0x137),'KcJcl':'info','MFnVw':function(_0x5dec24,_0x154daa){return _0x5dec24>=_0x154daa;},'RHRsy':'error','jTZjW':function(_0xb748a6,_0x2dabf0){return _0xb748a6>=_0x2dabf0;},'Sxpla':'warn'},_0x48d63b={'event':_0x2c98aa[_0x37d731(0x1cb)],'method':_0x30e74c[_0x37d731(0x14f)],'path':_0x30e74c['path'],'statusCode':_0x41f10b['statusCode'],'durationMs':_0x230b39,'ip':_0x30e74c['ip']},_0x10442b=_0x30e74c[_0x37d731(0x14f)]+'\x20'+_0x30e74c['path']+_0x37d731(0x1bc)+_0x41f10b['statusCode']+'\x20('+_0x230b39+'ms)';let _0x63ad16=_0x2c98aa['KcJcl'];if(_0x2c98aa['MFnVw'](_0x41f10b[_0x37d731(0x1b0)],0x1f4))_0x63ad16=_0x2c98aa[_0x37d731(0x155)],logger['error'](_0x48d63b,_0x10442b);else _0x2c98aa['jTZjW'](_0x41f10b[_0x37d731(0x1b0)],0x190)?(_0x63ad16=_0x2c98aa[_0x37d731(0x181)],logger['warn'](_0x48d63b,_0x10442b)):logger['info'](_0x48d63b,_0x10442b);writeToFileLog({..._0x48d63b,'level':_0x63ad16,'msg':_0x10442b,'time':new Date()['toISOString']()},_0x63ad16);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x3096f5(0x1b3),a0_0x3096f5(0x1b8),'token','access_token','refresh_token','secret',a0_0x3096f5(0x1b5),'apikey','api_key',a0_0x3096f5(0x163),'credentials',a0_0x3096f5(0x199),'otp',a0_0x3096f5(0x13e),a0_0x3096f5(0x1bb)],redactSensitiveParams=(_0x58d113,_0x4d55fe)=>{const _0x70dc8=a0_0x3096f5,_0x2774b1={'qFvGx':_0x70dc8(0x17b),'cOyjc':_0x70dc8(0x175),'DmqGV':function(_0x38ad15,_0x296068){return _0x38ad15>_0x296068;},'qmIiA':function(_0x1cd5af,_0xe188d3){return _0x1cd5af===_0xe188d3;}};if(!_0x58d113||_0x2774b1['qmIiA'](_0x58d113['length'],0x0))return _0x58d113;const _0xb5e12e=_0x4d55fe['toLowerCase'](),_0x226061=_0xb5e12e['match'](/\(([^)]+)\)\s*values/i);let _0x4eeae6=[];_0x226061&&(_0x4eeae6=_0x226061[0x1][_0x70dc8(0x14d)](',')['map'](_0x574ef9=>_0x574ef9[_0x70dc8(0x194)]()[_0x70dc8(0x156)]()));const _0x4dc73f=_0xb5e12e['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x4dc73f){const _0xcbc4cd=_0x4dc73f[0x1],_0x1e4f08=_0xcbc4cd[_0x70dc8(0x162)](/(\w+)\s*=/g);_0x1e4f08&&(_0x4eeae6=_0x1e4f08['map'](_0x34741a=>_0x34741a['replace'](/\s*=/,'')['trim']()[_0x70dc8(0x156)]()));}return _0x58d113['map']((_0x2b9938,_0x37a737)=>{const _0x17ecb1=_0x70dc8;if(_0x4eeae6[_0x37a737]){const _0x40b3d1=_0x4eeae6[_0x37a737],_0x1793a4=SENSITIVE_PARAM_PATTERNS[_0x17ecb1(0x10d)](_0x1094bc=>_0x40b3d1['includes'](_0x1094bc));if(_0x1793a4)return _0x2774b1['qFvGx'];}if(typeof _0x2b9938===_0x2774b1['cOyjc']&&_0x2774b1['DmqGV'](_0x2b9938[_0x17ecb1(0x18a)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x2b9938)&&_0x2b9938['includes']('.'))return _0x17ecb1(0x133);if(/^[a-fA-F0-9]{32,}$/[_0x17ecb1(0x120)](_0x2b9938))return _0x17ecb1(0x1c8);}return _0x2b9938;});},parseQueryMetadata=_0x3f0756=>{const _0x43a7de=a0_0x3096f5,_0x147e49={'xVsyS':'UNKNOWN','JbWKR':_0x43a7de(0x15f),'RycEP':_0x43a7de(0x113),'QgmwO':_0x43a7de(0x13b),'sdJjl':_0x43a7de(0x1ab),'WcNMO':_0x43a7de(0x167),'jSaWv':'ROLLBACK','MOWbm':_0x43a7de(0x11c),'LreWo':_0x43a7de(0x1c2),'CebSx':_0x43a7de(0x147),'jKitH':'ALTER','tChfC':'DDL_DROP'},_0xbbacf4=_0x3f0756[_0x43a7de(0x194)](),_0x5d136e=_0xbbacf4[_0x43a7de(0x11a)]();let _0x83ee93=_0x147e49['xVsyS'],_0x25d5fa=null;if(_0x5d136e['startsWith']('SELECT')){_0x83ee93=_0x147e49[_0x43a7de(0x19b)];const _0x335dba=_0xbbacf4['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x25d5fa=_0x335dba?_0x335dba[0x1]:null;}else{if(_0x5d136e['startsWith'](_0x147e49['RycEP'])){_0x83ee93=_0x147e49[_0x43a7de(0x112)];const _0x545a8d=_0xbbacf4[_0x43a7de(0x162)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x25d5fa=_0x545a8d?_0x545a8d[0x1]:null;}else{if(_0x5d136e[_0x43a7de(0x1c6)](_0x43a7de(0x13b))){_0x83ee93=_0x147e49['QgmwO'];const _0x2f74a1=_0xbbacf4['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x25d5fa=_0x2f74a1?_0x2f74a1[0x1]:null;}else{if(_0x5d136e['startsWith'](_0x147e49[_0x43a7de(0x15d)])){_0x83ee93=_0x147e49[_0x43a7de(0x15d)];const _0x1af80c=_0xbbacf4['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x25d5fa=_0x1af80c?_0x1af80c[0x1]:null;}else{if(_0x5d136e['startsWith'](_0x43a7de(0x146))||_0x5d136e[_0x43a7de(0x1c6)]('START\x20TRANSACTION'))_0x83ee93='TRANSACTION_BEGIN';else{if(_0x5d136e[_0x43a7de(0x1c6)](_0x147e49['WcNMO']))_0x83ee93=_0x43a7de(0x118);else{if(_0x5d136e['startsWith'](_0x147e49['jSaWv']))_0x83ee93=_0x147e49[_0x43a7de(0x18d)];else{if(_0x5d136e['startsWith'](_0x147e49['LreWo']))_0x83ee93=_0x147e49[_0x43a7de(0x16b)];else{if(_0x5d136e[_0x43a7de(0x1c6)](_0x147e49[_0x43a7de(0x188)]))_0x83ee93=_0x43a7de(0x161);else _0x5d136e['startsWith'](_0x43a7de(0x114))&&(_0x83ee93=_0x147e49[_0x43a7de(0x14a)]);}}}}}}}}return{'type':_0x83ee93,'table':_0x25d5fa};},startQueryTimer=()=>{const _0x27f74b=a0_0x3096f5,_0x4bd05a={'iLsnr':function(_0x50a37a,_0x176e95){return _0x50a37a(_0x176e95);},'naAgl':function(_0x45f96b,_0x22bba9){return _0x45f96b+_0x22bba9;},'DkytI':function(_0x2e0c67,_0x39d891){return _0x2e0c67/_0x39d891;}},_0x6c673a=process[_0x27f74b(0x106)]();return()=>{const _0x4ce5a5=_0x27f74b,[_0x33e83c,_0x1cd647]=process[_0x4ce5a5(0x106)](_0x6c673a);return _0x4bd05a[_0x4ce5a5(0x190)](parseFloat,_0x4bd05a[_0x4ce5a5(0x15a)](_0x33e83c*0x3e8,_0x4bd05a[_0x4ce5a5(0x10a)](_0x1cd647,0xf4240))['toFixed'](0x2));};},logQuery=(_0x483ea2,_0x46d34c=[],_0x126c65={})=>{const _0x36a089=a0_0x3096f5,_0x4e1b03={'iKpPQ':function(_0x48c77a,_0x4b6975){return _0x48c77a>_0x4b6975;},'UqpoX':function(_0x5589d9,_0x4522e4){return _0x5589d9!==_0x4522e4;},'biPix':function(_0x39c4ff,_0x1468c6){return _0x39c4ff>_0x1468c6;},'wplnq':'unknown','caLIL':_0x36a089(0x12d),'dTWrk':_0x36a089(0x126),'OiBnQ':_0x36a089(0x174),'ysPuD':function(_0x1223e8,_0x43faa9){return _0x1223e8===_0x43faa9;},'ibtnJ':_0x36a089(0x1b9)};if(!sqlLogEnabled){logger[_0x36a089(0x12d)]({'event':'db_query','query':_0x483ea2[_0x36a089(0x16e)](0x0,0xc8),'paramCount':_0x46d34c['length']},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x126c65,{type:_0x122878,table:_0x5c61bd}=parseQueryMetadata(_0x483ea2),_0x4eb92f={'event':_0x36a089(0x11d),'queryType':_0x122878,'table':_0x5c61bd,'query':_0x483ea2,'paramCount':_0x46d34c[_0x36a089(0x18a)],'dbType':dbType};sqlLogParams&&_0x4e1b03[_0x36a089(0x17f)](_0x46d34c['length'],0x0)&&(_0x4eb92f['params']=redactSensitiveParams(_0x46d34c,_0x483ea2));_0x4e1b03[_0x36a089(0x18c)](duration,null)&&(_0x4eb92f['durationMs']=duration,_0x4eb92f[_0x36a089(0x17c)]=_0x4e1b03['biPix'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x4eb92f['rowsAffected']=rowsAffected);const _0x8a32a5=_0x5c61bd||_0x4e1b03[_0x36a089(0x1c9)];let _0x238950='['+_0x122878+']\x20'+_0x8a32a5;_0x4e1b03[_0x36a089(0x18c)](duration,null)&&(_0x238950+='\x20('+duration+'ms)');const _0xb19098=duration!==null&&_0x4e1b03['biPix'](duration,sqlLogSlowThreshold);let _0x1817be=_0x4e1b03['caLIL'];if(_0xb19098)_0x238950+=_0x4e1b03['dTWrk'],_0x1817be=_0x4e1b03['OiBnQ'],logger['warn'](_0x4eb92f,_0x238950);else _0x4e1b03[_0x36a089(0x13c)](sqlLogLevel,_0x4e1b03[_0x36a089(0x1ba)])?(_0x1817be='info',logger[_0x36a089(0x1b9)](_0x4eb92f,_0x238950)):logger['debug'](_0x4eb92f,_0x238950);writeToFileLog({..._0x4eb92f,'level':_0x1817be,'msg':_0x238950,'time':new Date()['toISOString']()},_0x1817be);},logTransaction=(_0x11c026,_0x5adf5c)=>{const _0xbb7ecc=a0_0x3096f5,_0x50f679={'ydcpj':_0xbb7ecc(0x179),'lnYcv':'debug'},_0x31ee5d={'event':_0x50f679[_0xbb7ecc(0x16a)],'status':_0x11c026,'queryCount':_0x5adf5c},_0x3a0486='Transaction\x20'+_0x11c026;logger[_0xbb7ecc(0x12d)](_0x31ee5d,_0x3a0486),writeToFileLog({..._0x31ee5d,'level':_0x50f679['lnYcv'],'msg':_0x3a0486,'time':new Date()['toISOString']()},_0x50f679['lnYcv']);},redactObject=_0xded90d=>{const _0x34bb0d=a0_0x3096f5,_0x1818e0={'AUFgn':'password','hCdaz':'passwd','ZGWbb':'token','yOdZl':'secret','BLhrd':_0x34bb0d(0x1aa),'FYPEh':'authorization','VQJNe':_0x34bb0d(0x199),'cDcfj':'private_key','fUhlV':'refresh_token','twbUp':'[REDACTED]','SEqDF':'object'};if(!_0xded90d||typeof _0xded90d!==_0x34bb0d(0x111))return _0xded90d;const _0x4517c2=[_0x1818e0['AUFgn'],_0x1818e0['hCdaz'],'pwd',_0x1818e0[_0x34bb0d(0x1a5)],_0x1818e0[_0x34bb0d(0x144)],_0x1818e0[_0x34bb0d(0x11b)],'api_key',_0x1818e0[_0x34bb0d(0x154)],'creditcard','credit_card',_0x34bb0d(0x11f),_0x34bb0d(0x1ae),_0x1818e0['VQJNe'],_0x1818e0[_0x34bb0d(0x138)],'privatekey',_0x1818e0[_0x34bb0d(0x193)],'access_token'],_0x5e5fe3=Array[_0x34bb0d(0x130)](_0xded90d)?[..._0xded90d]:{..._0xded90d};for(const _0x297264 of Object['keys'](_0x5e5fe3)){const _0x38305f=_0x297264[_0x34bb0d(0x156)]();if(_0x4517c2['some'](_0x268c1b=>_0x38305f[_0x34bb0d(0x1a4)](_0x268c1b)))_0x5e5fe3[_0x297264]=_0x1818e0['twbUp'];else typeof _0x5e5fe3[_0x297264]===_0x1818e0[_0x34bb0d(0x1bd)]&&_0x5e5fe3[_0x297264]!==null&&(_0x5e5fe3[_0x297264]=redactObject(_0x5e5fe3[_0x297264]));}return _0x5e5fe3;},logError=(_0xc92ee0,_0x5595dd={},_0x26833e=null)=>{const _0x329959=a0_0x3096f5,_0x4c109a={'bZyTX':_0x329959(0x15e),'vCRgr':'Error'},_0x236eab={'event':_0x4c109a[_0x329959(0x1a9)],'errorName':_0xc92ee0[_0x329959(0x1af)]||_0x4c109a[_0x329959(0x1c1)],'errorMessage':_0xc92ee0['message'],'errorCode':_0xc92ee0['code']||null,'stack':_0xc92ee0['stack'],..._0x5595dd},_0x20fb9=_0x26833e||'Error:\x20'+_0xc92ee0['message'];logger['error'](_0x236eab,_0x20fb9),writeToFileLog({..._0x236eab,'level':'error','msg':_0x20fb9,'time':new Date()[_0x329959(0x171)]()},_0x4c109a[_0x329959(0x1a9)]);},logFatalError=(_0x27bcf0,_0x35628f={},_0x419a85=null)=>{const _0x55aaa6=a0_0x3096f5,_0x5ea884={'olAOl':_0x55aaa6(0x1c7),'zfCZs':function(_0x44b327,_0x26c31a,_0xe60448){return _0x44b327(_0x26c31a,_0xe60448);},'EqgAq':'error'},_0x4134c5={'event':_0x55aaa6(0x129),'errorName':_0x27bcf0['name']||'Error','errorMessage':_0x27bcf0['message'],'errorCode':_0x27bcf0[_0x55aaa6(0x1b7)]||null,'stack':_0x27bcf0[_0x55aaa6(0x14b)],'severity':_0x5ea884['olAOl'],..._0x35628f},_0x4b9d42=_0x419a85||'FATAL:\x20'+_0x27bcf0['message'];logger[_0x55aaa6(0x1be)](_0x4134c5,_0x4b9d42),_0x5ea884['zfCZs'](writeToFileLog,{..._0x4134c5,'level':'fatal','msg':_0x4b9d42,'time':new Date()[_0x55aaa6(0x171)]()},_0x5ea884[_0x55aaa6(0x145)]);},logHttpError=(_0x2fe8e4,_0x4a7814,_0x63d2e8={})=>{const _0x37a8a2=a0_0x3096f5,_0x4a7f2e={'MzYpc':'http_error','CUNNG':_0x37a8a2(0x143),'rYWSA':'user-agent','lBHmX':'x-request-id','RULVU':function(_0x24c6dc,_0x625cb0){return _0x24c6dc(_0x625cb0);},'Vrjrv':function(_0x3ef969,_0x340e93,_0x5b689b){return _0x3ef969(_0x340e93,_0x5b689b);},'XXyaA':'error','FPYuC':'warn'},_0x1f3793={'event':_0x4a7f2e[_0x37a8a2(0x18b)],'errorName':_0x2fe8e4['name']||_0x4a7f2e[_0x37a8a2(0x123)],'errorMessage':_0x2fe8e4[_0x37a8a2(0x1c4)],'errorCode':_0x2fe8e4[_0x37a8a2(0x1b7)]||_0x2fe8e4['statusCode']||0x1f4,'stack':_0x2fe8e4[_0x37a8a2(0x14b)],'method':_0x4a7814?.[_0x37a8a2(0x14f)],'url':_0x4a7814?.[_0x37a8a2(0x139)]||_0x4a7814?.['originalUrl'],'path':_0x4a7814?.[_0x37a8a2(0x17d)],'ip':_0x4a7814?.['ip']||_0x4a7814?.['connection']?.[_0x37a8a2(0x115)],'userAgent':_0x4a7814?.['get']?.(_0x4a7f2e['rYWSA']),'requestId':_0x4a7814?.['id']||_0x4a7814?.['headers']?.[_0x4a7f2e[_0x37a8a2(0x180)]],'body':_0x4a7814?.[_0x37a8a2(0x1a8)]?_0x4a7f2e[_0x37a8a2(0x1c3)](redactObject,_0x4a7814[_0x37a8a2(0x1a8)]):undefined,'query':_0x4a7814?.['query'],..._0x63d2e8},_0x15d856=_0x2fe8e4[_0x37a8a2(0x1b0)]||_0x2fe8e4[_0x37a8a2(0x1a7)]||0x1f4,_0x21246a='HTTP\x20'+_0x15d856+':\x20'+_0x2fe8e4['message'];_0x15d856>=0x1f4?logger['error'](_0x1f3793,_0x21246a):logger[_0x37a8a2(0x174)](_0x1f3793,_0x21246a),_0x4a7f2e[_0x37a8a2(0x10b)](writeToFileLog,{..._0x1f3793,'level':_0x15d856>=0x1f4?_0x4a7f2e['XXyaA']:_0x4a7f2e[_0x37a8a2(0x1a0)],'msg':_0x21246a,'time':new Date()['toISOString']()},_0x15d856>=0x1f4?_0x4a7f2e[_0x37a8a2(0x124)]:'warn');},logUncaughtError=(_0x2c0918,_0x53d56e)=>{const _0x456df9=a0_0x3096f5,_0x5767a8={'yEnrQ':function(_0x10d449,_0x2d4292){return _0x10d449(_0x2d4292);},'AIguf':_0x456df9(0x1c7),'cdwaI':function(_0x458117,_0xc75cdb,_0x4a1b96){return _0x458117(_0xc75cdb,_0x4a1b96);},'FxbSm':_0x456df9(0x15e)},_0xcab78f={'event':_0x2c0918,'errorName':_0x53d56e?.['name']||'Error','errorMessage':_0x53d56e?.['message']||_0x5767a8['yEnrQ'](String,_0x53d56e),'errorCode':_0x53d56e?.['code']||null,'stack':_0x53d56e?.[_0x456df9(0x14b)],'severity':_0x5767a8['AIguf'],'processId':process[_0x456df9(0x13f)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x456df9(0x1b4)]()},_0x3c67f8='['+_0x2c0918['toUpperCase']()+']\x20'+(_0x53d56e?.['message']||_0x53d56e);logger[_0x456df9(0x1be)](_0xcab78f,_0x3c67f8),_0x5767a8['cdwaI'](writeToFileLog,{..._0xcab78f,'level':_0x456df9(0x1be),'msg':_0x3c67f8,'time':new Date()['toISOString']()},_0x5767a8[_0x456df9(0x11e)]);},setupGlobalErrorHandlers=()=>{const _0x59bf8c=a0_0x3096f5,_0x2d1b80={'OsJtn':function(_0x4c0f0e,_0x42ea58,_0x35143e){return _0x4c0f0e(_0x42ea58,_0x35143e);},'eMEHm':function(_0x1c3a95,_0x1ca2a3){return _0x1c3a95 instanceof _0x1ca2a3;},'NYTIm':function(_0x198059,_0x1a5f1f){return _0x198059(_0x1a5f1f);},'izneQ':_0x59bf8c(0x192),'dhYYb':'process_warning','uJrwL':'uncaughtException','pkFNx':_0x59bf8c(0x151),'ZWWww':'global_error_handlers_setup','UugAr':function(_0x546e34,_0x49fe3a,_0x18c3e0){return _0x546e34(_0x49fe3a,_0x18c3e0);},'VhRZD':'info'};process['on'](_0x2d1b80['uJrwL'],_0x3aca06=>{const _0x2058ac=_0x59bf8c;logUncaughtError(_0x2058ac(0x19c),_0x3aca06),_0x2d1b80['OsJtn'](setTimeout,()=>{const _0x4b9578=_0x2058ac;process[_0x4b9578(0x158)](0x1);},0x3e8);}),process['on'](_0x2d1b80[_0x59bf8c(0x1bf)],(_0x5df95f,_0xaa07ea)=>{const _0x1112d0=_0x59bf8c,_0x4b71b5=_0x2d1b80['eMEHm'](_0x5df95f,Error)?_0x5df95f:new Error(_0x2d1b80['NYTIm'](String,_0x5df95f));_0x2d1b80[_0x1112d0(0x191)](logUncaughtError,_0x2d1b80['izneQ'],_0x4b71b5);}),process['on'](_0x2d1b80[_0x59bf8c(0x165)],_0x4b8389=>{const _0x2626f1=_0x59bf8c;logger['warn']({'event':_0x2d1b80['dhYYb'],'name':_0x4b8389['name'],'message':_0x4b8389['message'],'stack':_0x4b8389['stack']},_0x2626f1(0x159)+_0x4b8389['message']);});const _0x46834c={'event':_0x2d1b80[_0x59bf8c(0x10f)]},_0x1a3a77=_0x59bf8c(0x10c);logger[_0x59bf8c(0x1b9)](_0x46834c,_0x1a3a77),_0x2d1b80['UugAr'](writeToFileLog,{..._0x46834c,'level':_0x59bf8c(0x1b9),'msg':_0x1a3a77,'time':new Date()[_0x59bf8c(0x171)]()},_0x2d1b80[_0x59bf8c(0x17e)]);},createErrorHandlerMiddleware=()=>{const _0x205a40={'Coaln':function(_0x26d837,_0x3d2f6c,_0x45e3af){return _0x26d837(_0x3d2f6c,_0x45e3af);},'pOQvP':function(_0x707909,_0x23d4fe){return _0x707909>=_0x23d4fe;}};return(_0x5d8be8,_0x19305f,_0x177a0b,_0x3bab63)=>{const _0x478e69=a0_0x261a;_0x205a40[_0x478e69(0x12b)](logHttpError,_0x5d8be8,_0x19305f);const _0x53f6da=_0x5d8be8['statusCode']||_0x5d8be8['status']||0x1f4;_0x177a0b['status'](_0x53f6da)[_0x478e69(0x16c)]({'success':![],'error':_0x205a40[_0x478e69(0x153)](_0x53f6da,0x1f4)?'Internal\x20server\x20error':_0x5d8be8['message'],'requestId':_0x19305f['id']||_0x19305f['headers']?.['x-request-id']||null});};};module[a0_0x3096f5(0x168)]={'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_0x489caa=a0_0x4ba9;(function(_0x56bc74,_0x1e45ca){const _0x2f18eb=a0_0x4ba9,_0x676515=_0x56bc74();while(!![]){try{const _0x4ae9e0=-parseInt(_0x2f18eb(0x18a))/0x1+parseInt(_0x2f18eb(0x19a))/0x2*(parseInt(_0x2f18eb(0x18e))/0x3)+-parseInt(_0x2f18eb(0x1a5))/0x4*(parseInt(_0x2f18eb(0x193))/0x5)+-parseInt(_0x2f18eb(0x19c))/0x6+-parseInt(_0x2f18eb(0x198))/0x7*(parseInt(_0x2f18eb(0x19b))/0x8)+parseInt(_0x2f18eb(0x1a1))/0x9+parseInt(_0x2f18eb(0x1a0))/0xa;if(_0x4ae9e0===_0x1e45ca)break;else _0x676515['push'](_0x676515['shift']());}catch(_0x234983){_0x676515['push'](_0x676515['shift']());}}}(a0_0x14ff,0xb6c01));const dbType=(process['env']['DB_TYPE']||a0_0x489caa(0x186))[a0_0x489caa(0x188)]();let executeQuery;if(dbType===a0_0x489caa(0x185)){const oracleDb=require('./db-oracle');executeQuery=(_0x42f68d,_0x347035)=>oracleDb[a0_0x489caa(0x1a6)](_0x42f68d,_0x347035);}else{if(dbType===a0_0x489caa(0x195)){const mysqlDb=require('./db-mysql');executeQuery=(_0x371393,_0x140119)=>mysqlDb[a0_0x489caa(0x1a6)](_0x371393,_0x140119);}else executeQuery=require('./db')['executeQuery'];}function a0_0x14ff(){const _0x524d11=['ChvZAa','BgvUz3rO','B3jHy2XL','Cg9ZDgDYzxnXBa','A2v5CW','Dg9mB3DLCKnHC2u','tg9VA3vWihrHyMXLigXVywrLzdOG','ndaYnte0uxnMwwrj','C1ngEg4','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','Bg9VA3vWx3rHyMXLx2XVywrLza','mtKYwvv2EfnM','Bg9HzeXVB2T1CfrHyMXL','BwvZC2fNzq','lI9SB2DNzxi','Aw5MBW','mtaXmgvjq29tua','CfPduhm','BxLZCwW','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','Dg9vChbLCKnHC2u','mZG5mJbLzuLRExy','vMfSDwuGiG','oteYnKTHsePQsW','mJu2rvvHr25x','mtG1ndaXmK10DhfmuW','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','zw50CMLLCW','y2XLyxi','mteYnJi3ntb1sun1zeK','nJe5mZaWoeXxvLH6ta','zxHWB3j0CW','z2v0rgLZDgLUy3rwywX1zxm','EuPSvuG','oti3nMPps3LguG','zxHLy3v0zvf1zxj5','DhjPBq','BwfW','C2v0','y2XLyxjdywnOzq','zgvIDwC','z2v0','zM9YrwfJAa','Du5qy0S','CMvZB2X2zuXVB2T1CfzHBhvL','we5wrLG','DMfSAwrHDgvmB29RDxbwywX1zxm','u0vmrunuia','iIbUB3qGzM91BMqGAw4G','AgfZ','zxjYB3i','A0T1u0q','Bg9VA3vWq2fJAgu','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq'];a0_0x14ff=function(){return _0x524d11;};return a0_0x14ff();}const {logger}=require(a0_0x489caa(0x191));class LookupResolver{constructor(){const _0x4f5b43=a0_0x489caa;this[_0x4f5b43(0x181)]=new Map();}[a0_0x489caa(0x1aa)](){const _0x2dde10=a0_0x489caa;this[_0x2dde10(0x181)][_0x2dde10(0x19f)](),logger[_0x2dde10(0x1ab)]({'event':'lookup_cache_cleared'},'Lookup\x20cache\x20cleared');}async[a0_0x489caa(0x18f)](_0x7c210,_0x17d1fe,_0x30b932){const _0x4ce529=a0_0x489caa,_0x232974={'FiVcf':function(_0xbc4fed,_0x15e398){return _0xbc4fed!==_0x15e398;},'kKuSD':function(_0x3457fd,_0x39cc14){return _0x3457fd!==_0x39cc14;},'meDNI':function(_0x3670b9,_0x45b4d8){return _0x3670b9(_0x45b4d8);},'frYIa':_0x4ce529(0x18d)},_0x3cd1c3=_0x7c210+':'+_0x17d1fe+':'+_0x30b932;if(this[_0x4ce529(0x181)][_0x4ce529(0x1b4)](_0x3cd1c3))return this['lookupCache'][_0x4ce529(0x1ac)](_0x3cd1c3);try{const _0x15636c=_0x4ce529(0x1b2)+_0x30b932+',\x20'+_0x17d1fe+'\x20FROM\x20'+_0x7c210,_0x4df713=await executeQuery(_0x15636c),_0x47648a=new Map();return _0x4df713['forEach'](_0x5432f8=>{const _0x41fe6e=_0x4ce529,_0x473e4f=_0x232974['FiVcf'](_0x5432f8[_0x17d1fe],undefined)?_0x5432f8[_0x17d1fe]:_0x5432f8[_0x17d1fe[_0x41fe6e(0x197)]()],_0x93cfb5=_0x232974[_0x41fe6e(0x180)](_0x5432f8[_0x30b932],undefined)?_0x5432f8[_0x30b932]:_0x5432f8[_0x30b932['toUpperCase']()];_0x473e4f!==null&&_0x473e4f!==undefined&&(_0x47648a['set'](String(_0x473e4f)[_0x41fe6e(0x188)]()['trim'](),_0x93cfb5),_0x47648a[_0x41fe6e(0x1a9)](_0x232974['meDNI'](String,_0x473e4f)['trim'](),_0x93cfb5));}),this['lookupCache'][_0x4ce529(0x1a9)](_0x3cd1c3,_0x47648a),logger[_0x4ce529(0x192)]({'event':_0x232974['frYIa'],'table':_0x7c210,'column':_0x17d1fe,'count':_0x4df713['length']},_0x4ce529(0x189)+_0x7c210),_0x47648a;}catch(_0x12f6dd){logger[_0x4ce529(0x17f)]({'event':'lookup_table_load_error','table':_0x7c210,'error':_0x12f6dd[_0x4ce529(0x190)]},_0x4ce529(0x18c)+_0x7c210);throw _0x12f6dd;}}['resolveLookupValue'](_0x17b884,_0x5033bc){const _0x4ca39d=a0_0x489caa,_0x1a8fe4={'uNPcK':function(_0x3b49e1,_0xa06726){return _0x3b49e1===_0xa06726;},'qfjeE':function(_0x5ca71e,_0x352fa0){return _0x5ca71e===_0x352fa0;}};if(_0x17b884===null||_0x1a8fe4[_0x4ca39d(0x1ae)](_0x17b884,undefined)||_0x1a8fe4['qfjeE'](_0x17b884,''))return null;const _0x345ad6=String(_0x17b884)['trim']();if(_0x5033bc[_0x4ca39d(0x1b4)](_0x345ad6))return _0x5033bc['get'](_0x345ad6);const _0x55808e=_0x345ad6[_0x4ca39d(0x188)]();if(_0x5033bc['has'](_0x55808e))return _0x5033bc[_0x4ca39d(0x1ac)](_0x55808e);return null;}async['processLookupFields'](_0x225b05,_0x11b6a4){const _0x2d2e1d=a0_0x489caa,_0xbaf5da={'wWYtm':function(_0x23b762,_0x3290ff){return _0x23b762===_0x3290ff;},'pZCPs':function(_0x48b11a,_0x18d7da){return _0x48b11a===_0x18d7da;},'vBDQe':_0x2d2e1d(0x19d)};if(!_0x11b6a4||_0xbaf5da['pZCPs'](Object[_0x2d2e1d(0x187)](_0x11b6a4)['length'],0x0))return{'processedRows':_0x225b05,'errors':[]};const _0x199d79=[],_0x265ccd=new Map();for(const [_0x3a096a,_0x588e20]of Object[_0x2d2e1d(0x19e)](_0x11b6a4)){const {lookupTable:_0x54d7f3,lookupColumn:_0x2e3bba,lookupIdColumn:_0xaa8a9c}=_0x588e20,_0x140632=_0x54d7f3+':'+_0x2e3bba+':'+_0xaa8a9c;if(!_0x265ccd[_0x2d2e1d(0x1b4)](_0x140632)){const _0x13f94e=await this[_0x2d2e1d(0x18f)](_0x54d7f3,_0x2e3bba,_0xaa8a9c);_0x265ccd['set'](_0x140632,_0x13f94e);}}const _0x3f5955=_0x225b05[_0x2d2e1d(0x1a8)]((_0x2ac054,_0x2cfed6)=>{const _0x290ef9=_0x2d2e1d,_0x19b872={..._0x2ac054};for(const [_0x4e4638,_0x534b4b]of Object[_0x290ef9(0x19e)](_0x11b6a4)){const {lookupTable:_0x3decac,lookupColumn:_0xf3b9dc,lookupIdColumn:_0xbd4b5f,targetField:_0x432d74,required:_0x338895}=_0x534b4b,_0x17f730=_0x3decac+':'+_0xf3b9dc+':'+_0xbd4b5f,_0x36c18a=_0x265ccd[_0x290ef9(0x1ac)](_0x17f730),_0x4e03dd=_0x2ac054[_0x4e4638];if((_0xbaf5da['wWYtm'](_0x4e03dd,null)||_0xbaf5da[_0x290ef9(0x194)](_0x4e03dd,undefined)||_0x4e03dd==='')&&!_0x338895){_0x19b872[_0x432d74]=null;continue;}const _0x14c8b4=this['resolveLookupValue'](_0x4e03dd,_0x36c18a);_0x14c8b4!==null?_0x19b872[_0x432d74]=_0x14c8b4:(_0x338895&&_0x199d79[_0x290ef9(0x183)]({'rowIndex':_0x2cfed6,'field':_0x4e4638,'value':_0x4e03dd,'targetField':_0x432d74,'lookupTable':_0x3decac,'message':_0x290ef9(0x199)+_0x4e03dd+_0x290ef9(0x1b3)+_0x3decac}),_0x19b872[_0x432d74]=null);}return _0x19b872;});return logger[_0x2d2e1d(0x192)]({'event':_0xbaf5da['vBDQe'],'totalRows':_0x225b05[_0x2d2e1d(0x184)],'errorCount':_0x199d79[_0x2d2e1d(0x184)],'lookupFieldCount':Object[_0x2d2e1d(0x187)](_0x11b6a4)['length']},_0x2d2e1d(0x182)),{'processedRows':_0x3f5955,'errors':_0x199d79};}[a0_0x489caa(0x1a3)](_0xdd2f88,_0x43790e){const _0x7e5f07=a0_0x489caa,_0x4cc992={'qJPpg':function(_0x1f3f95,_0xe3a364){return _0x1f3f95!==_0xe3a364;},'yJlUH':function(_0xc8d836,_0x5871b5){return _0xc8d836(_0x5871b5);}},_0x1acb64=new Set();return _0xdd2f88[_0x7e5f07(0x1ad)](_0x163a9d=>{const _0xb37f4c=_0x7e5f07,_0x5b3395=_0x163a9d[_0x43790e];_0x5b3395!==null&&_0x4cc992['qJPpg'](_0x5b3395,undefined)&&_0x5b3395!==''&&_0x1acb64['add'](_0x4cc992[_0xb37f4c(0x1a4)](String,_0x5b3395)[_0xb37f4c(0x1a7)]());}),Array['from'](_0x1acb64);}async[a0_0x489caa(0x1b1)](_0x3c97e6,_0x1baeea){const _0x27698d=a0_0x489caa,_0x35d431={'HGRFR':function(_0x4e1a4c,_0x44148c){return _0x4e1a4c!==_0x44148c;},'XNVFX':function(_0x36b80f,_0x183163){return _0x36b80f===_0x183163;},'sSFxn':function(_0x404884,_0x2cd140){return _0x404884>_0x2cd140;}};if(!_0x1baeea||Object[_0x27698d(0x187)](_0x1baeea)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x4bfa49=[],_0x10976c={};for(const [_0x442d0b,_0x3a66db]of Object[_0x27698d(0x19e)](_0x1baeea)){const {lookupTable:_0x3476d1,lookupColumn:_0x541197,lookupIdColumn:_0x1a5809,required:_0x35adee}=_0x3a66db,_0x4da96f=this[_0x27698d(0x1a3)](_0x3c97e6,_0x442d0b),_0x2944fc=await this[_0x27698d(0x18f)](_0x3476d1,_0x541197,_0x1a5809),_0x2fb053=[],_0x92aa6d=[];_0x4da96f[_0x27698d(0x1ad)](_0xef3dcb=>{const _0x5a431f=_0x27698d,_0xa2a1af=this[_0x5a431f(0x1af)](_0xef3dcb,_0x2944fc);_0x35d431['HGRFR'](_0xa2a1af,null)?_0x92aa6d['push'](_0xef3dcb):_0x2fb053[_0x5a431f(0x183)](_0xef3dcb);});if(_0x35d431[_0x27698d(0x18b)](_0x2fb053[_0x27698d(0x184)],0x0)&&_0x35adee){_0x4bfa49['push']({'field':_0x442d0b,'lookupTable':_0x3476d1,'invalidValues':_0x2fb053,'message':_0x2fb053[_0x27698d(0x184)]+_0x27698d(0x196)+_0x3476d1});const _0x375937=[];_0x2944fc[_0x27698d(0x1ad)]((_0x4c908d,_0x7144e4)=>{const _0x2d2bd1=_0x27698d;if(_0x35d431[_0x2d2bd1(0x1b0)](_0x7144e4,_0x7144e4[_0x2d2bd1(0x188)]()))return;_0x375937['push'](_0x7144e4);}),_0x10976c[_0x442d0b]={'invalidValues':_0x2fb053,'availableValues':_0x375937['slice'](0x0,0x32)};}}return{'valid':_0x35d431['XNVFX'](_0x4bfa49[_0x27698d(0x184)],0x0),'errors':_0x4bfa49,'suggestions':_0x10976c};}}function a0_0x4ba9(_0x4f30a8,_0x456d4f){_0x4f30a8=_0x4f30a8-0x17f;const _0x14ff03=a0_0x14ff();let _0x4ba95b=_0x14ff03[_0x4f30a8];if(a0_0x4ba9['FKBsER']===undefined){var _0x1ce741=function(_0x181bfc){const _0x697539='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4425a3='',_0x5afad0='';for(let _0x372f0d=0x0,_0x134334,_0x2b9d80,_0x4ecba0=0x0;_0x2b9d80=_0x181bfc['charAt'](_0x4ecba0++);~_0x2b9d80&&(_0x134334=_0x372f0d%0x4?_0x134334*0x40+_0x2b9d80:_0x2b9d80,_0x372f0d++%0x4)?_0x4425a3+=String['fromCharCode'](0xff&_0x134334>>(-0x2*_0x372f0d&0x6)):0x0){_0x2b9d80=_0x697539['indexOf'](_0x2b9d80);}for(let _0x26413e=0x0,_0x264857=_0x4425a3['length'];_0x26413e<_0x264857;_0x26413e++){_0x5afad0+='%'+('00'+_0x4425a3['charCodeAt'](_0x26413e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5afad0);};a0_0x4ba9['lxweOf']=_0x1ce741,a0_0x4ba9['RmTMaA']={},a0_0x4ba9['FKBsER']=!![];}const _0x15d788=_0x14ff03[0x0],_0x36543b=_0x4f30a8+_0x15d788,_0x2f7ba7=a0_0x4ba9['RmTMaA'][_0x36543b];return!_0x2f7ba7?(_0x4ba95b=a0_0x4ba9['lxweOf'](_0x4ba95b),a0_0x4ba9['RmTMaA'][_0x36543b]=_0x4ba95b):_0x4ba95b=_0x2f7ba7,_0x4ba95b;}module[a0_0x489caa(0x1a2)]=new LookupResolver();
1
+ const a0_0x398dd7=a0_0x2d54;(function(_0x47650f,_0x592fa1){const _0x10f363=a0_0x2d54,_0x442617=_0x47650f();while(!![]){try{const _0xba9a99=parseInt(_0x10f363(0x123))/0x1*(-parseInt(_0x10f363(0x12e))/0x2)+-parseInt(_0x10f363(0x122))/0x3+-parseInt(_0x10f363(0x134))/0x4+-parseInt(_0x10f363(0x13a))/0x5*(-parseInt(_0x10f363(0x11e))/0x6)+parseInt(_0x10f363(0x120))/0x7*(parseInt(_0x10f363(0x137))/0x8)+parseInt(_0x10f363(0x145))/0x9*(-parseInt(_0x10f363(0x135))/0xa)+parseInt(_0x10f363(0x12f))/0xb;if(_0xba9a99===_0x592fa1)break;else _0x442617['push'](_0x442617['shift']());}catch(_0x524fcf){_0x442617['push'](_0x442617['shift']());}}}(a0_0x480c,0x6042c));function a0_0x480c(){const _0x152628=['BwfW','ywrK','Aw5MBW','zfzOrKi','mZa5mte0q0nRsMzZ','ChvZAa','ndu2nZK5EuHxEwrs','A2v5CW','mtyXmtmYn3b2zwvzrW','mK1nAgfQtG','zgvIDwC','iezst00G','BgvUz3rO','y2XLyxjdywnOzq','zM9YrwfJAa','v1DZCKq','DMfSAwrHDgvmB29RDxbwywX1zxm','BxLZCwW','zeP6B3G','C2v0','ntK3ndC0rfzrAhbN','mtKZnZC2mJjeBMHgtKW','yM1ir3O','Dg9vChbLCKnHC2u','lI9KyG','iIbUB3qGzM91BMqGAw4G','mJqXnZeZmNrzvxfHqq','mta5mJK0mhzQshPdBa','z2v0','ndbXDhbADgW','Bg9VA3vWx3rHyMXLx2XVywrLza','C2XPy2u','mtvwvwrZseK','Dg9mB3DLCKnHC2u','zw50CMLLCW','Bg9VA3vWq2fJAgu','AgfZ','CMvZB2X2zuXVB2T1CfzHBhvL','zxHLy3v0zvf1zxj5','qvHyv0C','DhjPBq','z2v0rgLZDgLUy3rwywX1zxm','ChjVy2vZC0XVB2T1CezPzwXKCW','ovLWy2DXsW','B3jHy2XL','DwXLsM0'];a0_0x480c=function(){return _0x152628;};return a0_0x480c();}const dbType=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery;if(dbType===a0_0x398dd7(0x146)){const oracleDb=require('./db-oracle');executeQuery=(_0x1c3cd6,_0x480d51)=>oracleDb[a0_0x398dd7(0x140)](_0x1c3cd6,_0x480d51);}else{if(dbType===a0_0x398dd7(0x12b)){const mysqlDb=require('./db-mysql');executeQuery=(_0x427561,_0x9b8072)=>mysqlDb['executeQuery'](_0x427561,_0x9b8072);}else executeQuery=require(a0_0x398dd7(0x132))['executeQuery'];}function a0_0x2d54(_0x5af3d4,_0x4b0ba6){_0x5af3d4=_0x5af3d4-0x119;const _0x480cc2=a0_0x480c();let _0x2d54c4=_0x480cc2[_0x5af3d4];if(a0_0x2d54['ObBAzt']===undefined){var _0x5cea07=function(_0x12f1ab){const _0x4df29e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x408423='',_0x1e6ed8='';for(let _0x168650=0x0,_0x59bca6,_0x32534a,_0x9bceae=0x0;_0x32534a=_0x12f1ab['charAt'](_0x9bceae++);~_0x32534a&&(_0x59bca6=_0x168650%0x4?_0x59bca6*0x40+_0x32534a:_0x32534a,_0x168650++%0x4)?_0x408423+=String['fromCharCode'](0xff&_0x59bca6>>(-0x2*_0x168650&0x6)):0x0){_0x32534a=_0x4df29e['indexOf'](_0x32534a);}for(let _0x26897a=0x0,_0x1ddfe3=_0x408423['length'];_0x26897a<_0x1ddfe3;_0x26897a++){_0x1e6ed8+='%'+('00'+_0x408423['charCodeAt'](_0x26897a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e6ed8);};a0_0x2d54['SYOrlR']=_0x5cea07,a0_0x2d54['lLEiVF']={},a0_0x2d54['ObBAzt']=!![];}const _0x565d42=_0x480cc2[0x0],_0x34b20a=_0x5af3d4+_0x565d42,_0x5777c2=a0_0x2d54['lLEiVF'][_0x34b20a];return!_0x5777c2?(_0x2d54c4=a0_0x2d54['SYOrlR'](_0x2d54c4),a0_0x2d54['lLEiVF'][_0x34b20a]=_0x2d54c4):_0x2d54c4=_0x5777c2,_0x2d54c4;}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x398dd7(0x127)](){const _0x11a0fd=a0_0x398dd7,_0x1ad264={'Xpusp':'lookup_cache_cleared','bmHGz':'Lookup\x20cache\x20cleared'};this[_0x11a0fd(0x13d)]['clear'](),logger[_0x11a0fd(0x124)]({'event':_0x1ad264['Xpusp']},_0x1ad264[_0x11a0fd(0x130)]);}async['loadLookupTable'](_0x2d9812,_0x2093d2,_0x57f452){const _0xcc4937=a0_0x398dd7,_0x5f5aed={'NdUrE':function(_0x30c646,_0x125de6){return _0x30c646(_0x125de6);}},_0x58d328=_0x2d9812+':'+_0x2093d2+':'+_0x57f452;if(this[_0xcc4937(0x13d)]['has'](_0x58d328))return this[_0xcc4937(0x13d)][_0xcc4937(0x136)](_0x58d328);try{const _0x196bce='SELECT\x20'+_0x57f452+',\x20'+_0x2093d2+_0xcc4937(0x125)+_0x2d9812,_0x23d9a4=await executeQuery(_0x196bce),_0x642b61=new Map();return _0x23d9a4[_0xcc4937(0x128)](_0x5c5c41=>{const _0xccbfe5=_0xcc4937,_0x3b8596=_0x5c5c41[_0x2093d2]!==undefined?_0x5c5c41[_0x2093d2]:_0x5c5c41[_0x2093d2[_0xccbfe5(0x131)]()],_0x4c508f=_0x5c5c41[_0x57f452]!==undefined?_0x5c5c41[_0x57f452]:_0x5c5c41[_0x57f452[_0xccbfe5(0x131)]()];_0x3b8596!==null&&_0x3b8596!==undefined&&(_0x642b61[_0xccbfe5(0x12d)](_0x5f5aed['NdUrE'](String,_0x3b8596)[_0xccbfe5(0x13b)]()[_0xccbfe5(0x142)](),_0x4c508f),_0x642b61[_0xccbfe5(0x12d)](String(_0x3b8596)[_0xccbfe5(0x142)](),_0x4c508f));}),this['lookupCache'][_0xcc4937(0x12d)](_0x58d328,_0x642b61),logger[_0xcc4937(0x11c)]({'event':_0xcc4937(0x138),'table':_0x2d9812,'column':_0x2093d2,'count':_0x23d9a4['length']},'Lookup\x20table\x20loaded:\x20'+_0x2d9812),_0x642b61;}catch(_0x651684){logger['error']({'event':'lookup_table_load_error','table':_0x2d9812,'error':_0x651684['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x2d9812);throw _0x651684;}}['resolveLookupValue'](_0x19d5b5,_0x150b5b){const _0x1f5c85=a0_0x398dd7,_0x4de534={'BPJZj':function(_0x275fe9,_0x13a2d4){return _0x275fe9===_0x13a2d4;}};if(_0x4de534['BPJZj'](_0x19d5b5,null)||_0x19d5b5===undefined||_0x4de534['BPJZj'](_0x19d5b5,''))return null;const _0x47f159=String(_0x19d5b5)[_0x1f5c85(0x142)]();if(_0x150b5b[_0x1f5c85(0x13e)](_0x47f159))return _0x150b5b['get'](_0x47f159);const _0x389b5d=_0x47f159['toLowerCase']();if(_0x150b5b['has'](_0x389b5d))return _0x150b5b[_0x1f5c85(0x136)](_0x389b5d);return null;}async[a0_0x398dd7(0x144)](_0x4aa06e,_0x3090e7){const _0x2481af=a0_0x398dd7,_0x13e4f1={'dJzox':function(_0x5c6c22,_0x5e0ae8){return _0x5c6c22===_0x5e0ae8;},'ZBLfr':'lookup_fields_processed','dVhFB':'Lookup\x20fields\x20processed'};if(!_0x3090e7||Object['keys'](_0x3090e7)[_0x2481af(0x126)]===0x0)return{'processedRows':_0x4aa06e,'errors':[]};const _0x37856d=[],_0x5ee0de=new Map();for(const [_0x389d35,_0x5c773d]of Object['entries'](_0x3090e7)){const {lookupTable:_0x361bbd,lookupColumn:_0x5b7ac2,lookupIdColumn:_0x2337bd}=_0x5c773d,_0x2e2be9=_0x361bbd+':'+_0x5b7ac2+':'+_0x2337bd;if(!_0x5ee0de['has'](_0x2e2be9)){const _0x2392b8=await this['loadLookupTable'](_0x361bbd,_0x5b7ac2,_0x2337bd);_0x5ee0de[_0x2481af(0x12d)](_0x2e2be9,_0x2392b8);}}const _0x38f8b1=_0x4aa06e[_0x2481af(0x11a)]((_0x1d6284,_0x2dd6e7)=>{const _0x3e523e=_0x2481af,_0x1b46ae={..._0x1d6284};for(const [_0x3061bc,_0x30362c]of Object[_0x3e523e(0x13c)](_0x3090e7)){const {lookupTable:_0x28527e,lookupColumn:_0x194699,lookupIdColumn:_0x51b6c8,targetField:_0x4300e0,required:_0x216d4c}=_0x30362c,_0x233499=_0x28527e+':'+_0x194699+':'+_0x51b6c8,_0x4276bd=_0x5ee0de['get'](_0x233499),_0x251813=_0x1d6284[_0x3061bc];if((_0x251813===null||_0x13e4f1[_0x3e523e(0x12c)](_0x251813,undefined)||_0x13e4f1['dJzox'](_0x251813,''))&&!_0x216d4c){_0x1b46ae[_0x4300e0]=null;continue;}const _0x25d047=this[_0x3e523e(0x13f)](_0x251813,_0x4276bd);_0x25d047!==null?_0x1b46ae[_0x4300e0]=_0x25d047:(_0x216d4c&&_0x37856d[_0x3e523e(0x11f)]({'rowIndex':_0x2dd6e7,'field':_0x3061bc,'value':_0x251813,'targetField':_0x4300e0,'lookupTable':_0x28527e,'message':'Value\x20\x22'+_0x251813+_0x3e523e(0x133)+_0x28527e}),_0x1b46ae[_0x4300e0]=null);}return _0x1b46ae;});return logger[_0x2481af(0x11c)]({'event':_0x13e4f1['ZBLfr'],'totalRows':_0x4aa06e['length'],'errorCount':_0x37856d['length'],'lookupFieldCount':Object[_0x2481af(0x121)](_0x3090e7)[_0x2481af(0x126)]},_0x13e4f1[_0x2481af(0x11d)]),{'processedRows':_0x38f8b1,'errors':_0x37856d};}[a0_0x398dd7(0x143)](_0x24d369,_0x5136f7){const _0x43b63f={'AXXWG':function(_0x4dcf0e,_0x4bf16b){return _0x4dcf0e!==_0x4bf16b;},'WWsrD':function(_0x2ecf73,_0x397e81){return _0x2ecf73(_0x397e81);}},_0x373f45=new Set();return _0x24d369['forEach'](_0x1cc420=>{const _0x147cc1=a0_0x2d54,_0x570d35=_0x1cc420[_0x5136f7];_0x570d35!==null&&_0x43b63f[_0x147cc1(0x141)](_0x570d35,undefined)&&_0x570d35!==''&&_0x373f45[_0x147cc1(0x11b)](_0x43b63f[_0x147cc1(0x129)](String,_0x570d35)[_0x147cc1(0x142)]());}),Array['from'](_0x373f45);}async[a0_0x398dd7(0x12a)](_0x11750a,_0x4fbba0){const _0x511227=a0_0x398dd7,_0x2a299d={'fBhRo':function(_0xe42210,_0x8e8853){return _0xe42210===_0x8e8853;},'uleJm':function(_0x543773,_0x437297){return _0x543773>_0x437297;}};if(!_0x4fbba0||_0x2a299d['fBhRo'](Object[_0x511227(0x121)](_0x4fbba0)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x322dfc=[],_0x5a7f45={};for(const [_0x2de6dd,_0x413951]of Object['entries'](_0x4fbba0)){const {lookupTable:_0x34d671,lookupColumn:_0x555bc6,lookupIdColumn:_0x1d3adf,required:_0x1c0156}=_0x413951,_0x2ed9c4=this[_0x511227(0x143)](_0x11750a,_0x2de6dd),_0x1813ab=await this['loadLookupTable'](_0x34d671,_0x555bc6,_0x1d3adf),_0xe066d7=[],_0x249775=[];_0x2ed9c4['forEach'](_0x12c3a4=>{const _0x53874f=_0x511227,_0x5437cf=this['resolveLookupValue'](_0x12c3a4,_0x1813ab);_0x5437cf!==null?_0x249775[_0x53874f(0x11f)](_0x12c3a4):_0xe066d7[_0x53874f(0x11f)](_0x12c3a4);});if(_0x2a299d[_0x511227(0x119)](_0xe066d7[_0x511227(0x126)],0x0)&&_0x1c0156){_0x322dfc[_0x511227(0x11f)]({'field':_0x2de6dd,'lookupTable':_0x34d671,'invalidValues':_0xe066d7,'message':_0xe066d7['length']+'\x20value(s)\x20not\x20found\x20in\x20'+_0x34d671});const _0xb69cc9=[];_0x1813ab['forEach']((_0x1e3db2,_0x13bd7e)=>{const _0x1a57a2=_0x511227;if(_0x13bd7e===_0x13bd7e[_0x1a57a2(0x13b)]())return;_0xb69cc9['push'](_0x13bd7e);}),_0x5a7f45[_0x2de6dd]={'invalidValues':_0xe066d7,'availableValues':_0xb69cc9[_0x511227(0x139)](0x0,0x32)};}}return{'valid':_0x322dfc['length']===0x0,'errors':_0x322dfc,'suggestions':_0x5a7f45};}}module['exports']=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0x1fcf7a=a0_0x36d3;(function(_0x135cd3,_0x360c2a){const _0x1a658e=a0_0x36d3,_0xd7df1e=_0x135cd3();while(!![]){try{const _0x3de520=parseInt(_0x1a658e(0xb7))/0x1+parseInt(_0x1a658e(0xb9))/0x2*(parseInt(_0x1a658e(0xa9))/0x3)+-parseInt(_0x1a658e(0xbb))/0x4+-parseInt(_0x1a658e(0xb0))/0x5*(parseInt(_0x1a658e(0xa1))/0x6)+-parseInt(_0x1a658e(0xba))/0x7*(-parseInt(_0x1a658e(0xb5))/0x8)+-parseInt(_0x1a658e(0xa6))/0x9+-parseInt(_0x1a658e(0xb1))/0xa*(-parseInt(_0x1a658e(0x9f))/0xb);if(_0x3de520===_0x360c2a)break;else _0xd7df1e['push'](_0xd7df1e['shift']());}catch(_0x4ac531){_0xd7df1e['push'](_0xd7df1e['shift']());}}}(a0_0x1d15,0xd53c1));const fs=require('fs')[a0_0x1fcf7a(0x9d)],path=require(a0_0x1fcf7a(0xa2)),{logger}=require('./logger');function a0_0x36d3(_0x165484,_0xb05781){_0x165484=_0x165484-0x9d;const _0x1d1599=a0_0x1d15();let _0x36d3b8=_0x1d1599[_0x165484];if(a0_0x36d3['qTWnke']===undefined){var _0x3b406d=function(_0x5ae1ba){const _0x464f01='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x251aa8='',_0xe0a267='';for(let _0x4a9823=0x0,_0x3ce7fc,_0x30189d,_0xbf73f9=0x0;_0x30189d=_0x5ae1ba['charAt'](_0xbf73f9++);~_0x30189d&&(_0x3ce7fc=_0x4a9823%0x4?_0x3ce7fc*0x40+_0x30189d:_0x30189d,_0x4a9823++%0x4)?_0x251aa8+=String['fromCharCode'](0xff&_0x3ce7fc>>(-0x2*_0x4a9823&0x6)):0x0){_0x30189d=_0x464f01['indexOf'](_0x30189d);}for(let _0x4c9f6f=0x0,_0x33eed6=_0x251aa8['length'];_0x4c9f6f<_0x33eed6;_0x4c9f6f++){_0xe0a267+='%'+('00'+_0x251aa8['charCodeAt'](_0x4c9f6f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe0a267);};a0_0x36d3['jLGcky']=_0x3b406d,a0_0x36d3['oAwjfw']={},a0_0x36d3['qTWnke']=!![];}const _0x47db76=_0x1d1599[0x0],_0x1f77bc=_0x165484+_0x47db76,_0x5a324e=a0_0x36d3['oAwjfw'][_0x1f77bc];return!_0x5a324e?(_0x36d3b8=a0_0x36d3['jLGcky'](_0x36d3b8),a0_0x36d3['oAwjfw'][_0x1f77bc]=_0x36d3b8):_0x36d3b8=_0x5a324e,_0x36d3b8;}function a0_0x1d15(){const _0x44b5d5=['zMLLBgrmywjLBhm','mtq3mZiZmdD6ruzjBLO','z2v0rxHWB3j0q29UzMLN','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mtC0vMTmsM1J','BwvZC2fNzq','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','ugf5Bg9HzcbUB3qGzM91BMq6ia','q3jstMq','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','lMPZB24','mtyWmdu5me1IrM92Dq','nJqXmJmWywXzz3Lc','CvLrENC','DxrMoa','CgfYC2u','mZCWntK3nKPPwM9Yyq','Cgf5Bg9HzerPCG','mZq1mJi0CMPQyKj6','CMvWBgfJzq','mJC0mdbTAwDfwe0','mtrZzvvfreS','nZKWoduYAM9eufbA','lI4VlI4VCgf5Bg9Hza','ChjVBwLZzxm','zMLLBgroyw1L','mty1A0LNCMrT','y2XLyxi','nM1yzfneEG','Cgf0Aa','y2fJAgu','CMvHzezPBgu'];a0_0x1d15=function(){return _0x44b5d5;};return a0_0x1d15();}class PayloadLoader{constructor(){const _0x181a14=a0_0x1fcf7a,_0x262d98={'tqtgC':_0x181a14(0xbc)};this[_0x181a14(0xb6)]=path['join'](__dirname,_0x262d98['tqtgC']),this[_0x181a14(0xa3)]=new Map();}async['loadPayload'](_0x44ab42,_0x3de348){const _0x410712=a0_0x1fcf7a,_0x2a2b51={'qYQzw':_0x410712(0xae),'yriTF':'payload_load_error'},_0x3e15b4=_0x44ab42+':'+_0x3de348;if(this['cache']['has'](_0x3e15b4))return this['cache']['get'](_0x3e15b4);const _0x377dfc=path['join'](this['payloadDir'],_0x44ab42+'_'+_0x3de348+'.json');try{const _0x3859e5=await fs[_0x410712(0xa4)](_0x377dfc,_0x410712(0xb3)),_0x1d1b13=JSON[_0x410712(0xb4)](_0x3859e5);return this[_0x410712(0xa3)]['set'](_0x3e15b4,_0x1d1b13),logger['debug']({'event':'payload_loaded','project':_0x44ab42,'resource':_0x3de348},_0x2a2b51[_0x410712(0xb2)]),_0x1d1b13;}catch(_0x5d5004){logger['error']({'event':_0x2a2b51['yriTF'],'project':_0x44ab42,'resource':_0x3de348,'error':_0x5d5004['message']},_0x410712(0xa8));throw new Error(_0x410712(0xac)+_0x44ab42+'_'+_0x3de348);}}async['loadPayloadByName'](_0x2daae6){const _0x53d707=a0_0x1fcf7a,_0x4233a9={'CrRNd':'payload_load_error'},_0x3c87d3='payload:'+_0x2daae6;if(this[_0x53d707(0xa3)]['has'](_0x3c87d3))return this[_0x53d707(0xa3)]['get'](_0x3c87d3);const _0x53c714=path['join'](this['payloadDir'],_0x2daae6+_0x53d707(0xaf));try{const _0x454358=await fs['readFile'](_0x53c714,_0x53d707(0xb3)),_0x1b2469=JSON[_0x53d707(0xb4)](_0x454358);return this['cache']['set'](_0x3c87d3,_0x1b2469),logger['debug']({'event':'payload_loaded','payloadName':_0x2daae6},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x1b2469;}catch(_0x3b0153){logger['error']({'event':_0x4233a9[_0x53d707(0xad)],'payloadName':_0x2daae6,'error':_0x3b0153[_0x53d707(0xaa)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x53d707(0xac)+_0x2daae6);}}['isActionEnabled'](_0x47d641,_0x405a2c){return _0x47d641['action']&&_0x47d641['action'][_0x405a2c]===!![];}[a0_0x1fcf7a(0xa7)](_0x5dcbfb){const _0x380faa=a0_0x1fcf7a;return{'columns':_0x5dcbfb[_0x380faa(0x9e)]||[],'filename':_0x5dcbfb['tableName'][_0x380faa(0xb8)]('.','-')+'-export','datatablesQuery':_0x5dcbfb['datatablesQuery']||null,'columnFormats':_0x5dcbfb['columnFormats']||null,'fieldLabels':_0x5dcbfb[_0x380faa(0xa5)]||null};}['clearCache'](){const _0x208f74=a0_0x1fcf7a;this[_0x208f74(0xa3)][_0x208f74(0xa0)](),logger['info']({'event':'payload_cache_cleared'},_0x208f74(0xab));}}module['exports']=new PayloadLoader();
1
+ function a0_0x4c3a(_0x480426,_0x36cdc9){_0x480426=_0x480426-0x1e6;const _0xd5a7f8=a0_0xd5a7();let _0x4c3abf=_0xd5a7f8[_0x480426];if(a0_0x4c3a['wQKcRj']===undefined){var _0xe39724=function(_0x309813){const _0x38257a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x79854='',_0x17107e='';for(let _0x2f36e9=0x0,_0x4ba9c1,_0x397cf4,_0x51d99e=0x0;_0x397cf4=_0x309813['charAt'](_0x51d99e++);~_0x397cf4&&(_0x4ba9c1=_0x2f36e9%0x4?_0x4ba9c1*0x40+_0x397cf4:_0x397cf4,_0x2f36e9++%0x4)?_0x79854+=String['fromCharCode'](0xff&_0x4ba9c1>>(-0x2*_0x2f36e9&0x6)):0x0){_0x397cf4=_0x38257a['indexOf'](_0x397cf4);}for(let _0x332d84=0x0,_0x3e6fc0=_0x79854['length'];_0x332d84<_0x3e6fc0;_0x332d84++){_0x17107e+='%'+('00'+_0x79854['charCodeAt'](_0x332d84)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17107e);};a0_0x4c3a['CtnmEo']=_0xe39724,a0_0x4c3a['IhrhOA']={},a0_0x4c3a['wQKcRj']=!![];}const _0x559c3b=_0xd5a7f8[0x0],_0x305a4d=_0x480426+_0x559c3b,_0x490282=a0_0x4c3a['IhrhOA'][_0x305a4d];return!_0x490282?(_0x4c3abf=a0_0x4c3a['CtnmEo'](_0x4c3abf),a0_0x4c3a['IhrhOA'][_0x305a4d]=_0x4c3abf):_0x4c3abf=_0x490282,_0x4c3abf;}const a0_0x59e42e=a0_0x4c3a;(function(_0x1ce0a2,_0x52f7d1){const _0x2fff43=a0_0x4c3a,_0x515792=_0x1ce0a2();while(!![]){try{const _0x452cc2=parseInt(_0x2fff43(0x208))/0x1+-parseInt(_0x2fff43(0x20a))/0x2+-parseInt(_0x2fff43(0x210))/0x3*(-parseInt(_0x2fff43(0x1fc))/0x4)+parseInt(_0x2fff43(0x1f5))/0x5+parseInt(_0x2fff43(0x1f8))/0x6*(parseInt(_0x2fff43(0x20b))/0x7)+-parseInt(_0x2fff43(0x206))/0x8+-parseInt(_0x2fff43(0x1ff))/0x9;if(_0x452cc2===_0x52f7d1)break;else _0x515792['push'](_0x515792['shift']());}catch(_0x55fda5){_0x515792['push'](_0x515792['shift']());}}}(a0_0xd5a7,0x95a91));const fs=require('fs')[a0_0x59e42e(0x1f3)],path=require(a0_0x59e42e(0x1ed)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x1e8f21=a0_0x59e42e;this['payloadDir']=path[_0x1e8f21(0x1f6)](__dirname,'../../payload'),this['cache']=new Map();}async[a0_0x59e42e(0x209)](_0x18b746,_0x29cc39){const _0x512bd3=a0_0x59e42e,_0x3c192f={'lOxQR':_0x512bd3(0x1ef),'eiRxK':_0x512bd3(0x1e6),'FIMDY':'payload_load_error','wWwMI':'Failed\x20to\x20load\x20payload'},_0x2f968a=_0x18b746+':'+_0x29cc39;if(this[_0x512bd3(0x207)]['has'](_0x2f968a))return this['cache']['get'](_0x2f968a);const _0x5bf3e9=path['join'](this['payloadDir'],_0x18b746+'_'+_0x29cc39+_0x512bd3(0x205));try{const _0x31d5f8=await fs[_0x512bd3(0x1fa)](_0x5bf3e9,_0x3c192f[_0x512bd3(0x211)]),_0x5a9319=JSON[_0x512bd3(0x1f1)](_0x31d5f8);return this['cache']['set'](_0x2f968a,_0x5a9319),logger['debug']({'event':_0x3c192f['eiRxK'],'project':_0x18b746,'resource':_0x29cc39},_0x512bd3(0x1fe)),_0x5a9319;}catch(_0x49a4c3){logger['error']({'event':_0x3c192f['FIMDY'],'project':_0x18b746,'resource':_0x29cc39,'error':_0x49a4c3[_0x512bd3(0x20e)]},_0x3c192f[_0x512bd3(0x1ee)]);throw new Error('Payload\x20not\x20found:\x20'+_0x18b746+'_'+_0x29cc39);}}async[a0_0x59e42e(0x201)](_0x592c48){const _0x17741c=a0_0x59e42e,_0x35344c={'Knjgv':'Payload\x20loaded\x20successfully\x20by\x20name','NzQIB':_0x17741c(0x1e9)},_0x568bf8=_0x17741c(0x1e8)+_0x592c48;if(this[_0x17741c(0x207)][_0x17741c(0x202)](_0x568bf8))return this[_0x17741c(0x207)][_0x17741c(0x1ec)](_0x568bf8);const _0x216478=path['join'](this['payloadDir'],_0x592c48+'.json');try{const _0x246dfb=await fs['readFile'](_0x216478,_0x17741c(0x1ef)),_0x53cd57=JSON['parse'](_0x246dfb);return this['cache'][_0x17741c(0x1f4)](_0x568bf8,_0x53cd57),logger[_0x17741c(0x1f2)]({'event':'payload_loaded','payloadName':_0x592c48},_0x35344c['Knjgv']),_0x53cd57;}catch(_0x22cd3a){logger['error']({'event':_0x17741c(0x20f),'payloadName':_0x592c48,'error':_0x22cd3a['message']},_0x35344c['NzQIB']);throw new Error(_0x17741c(0x1eb)+_0x592c48);}}[a0_0x59e42e(0x1fb)](_0x3b278c,_0x37f981){const _0x1df400=a0_0x59e42e;return _0x3b278c[_0x1df400(0x1ea)]&&_0x3b278c['action'][_0x37f981]===!![];}[a0_0x59e42e(0x1f7)](_0x36b3e6){const _0x32ab86=a0_0x59e42e;return{'columns':_0x36b3e6[_0x32ab86(0x1f9)]||[],'filename':_0x36b3e6['tableName'][_0x32ab86(0x20d)]('.','-')+_0x32ab86(0x200),'datatablesQuery':_0x36b3e6['datatablesQuery']||null,'columnFormats':_0x36b3e6['columnFormats']||null,'fieldLabels':_0x36b3e6['fieldLabels']||null};}[a0_0x59e42e(0x1fd)](){const _0xcc2f56=a0_0x59e42e,_0x1c5035={'xhIZL':_0xcc2f56(0x20c)};this['cache'][_0xcc2f56(0x1f0)](),logger['info']({'event':_0xcc2f56(0x1e7)},_0x1c5035[_0xcc2f56(0x204)]);}}function a0_0xd5a7(){const _0x3aa4d2=['nde2nZbMtLPhz3e','zMLLBgroyw1L','CMvHzezPBgu','Axnby3rPB25fBMfIBgvK','ntm2BgniCunj','y2XLyxjdywnOzq','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','mtu1ota0m2Xtyxr4Dq','lwv4Cg9YDa','Bg9HzfbHEwXVywrcEu5HBwu','AgfZ','zxHWB3j0CW','EgHjwKW','lMPZB24','ndyZndK0ng5iyw9MwG','y2fJAgu','nZKZmde2v1bpuMnq','Bg9HzfbHEwXVywq','mtK5mJe4ohbWuNDItW','nJaYvw9ts25R','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','CMvWBgfJzq','BwvZC2fNzq','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mtCWntHdEgTyEMG','Be94uvi','Cgf5Bg9Hzf9SB2fKzwq','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','Cgf5Bg9HzdO','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','ywn0Aw9U','ugf5Bg9HzcbUB3qGzM91BMq6ia','z2v0','Cgf0Aa','D1D3tuK','DxrMoa','y2XLyxi','CgfYC2u','zgvIDwC','ChjVBwLZzxm','C2v0','mta0nZq0mhPpAhnksq','AM9PBG','z2v0rxHWB3j0q29UzMLN'];a0_0xd5a7=function(){return _0x3aa4d2;};return a0_0xd5a7();}module[a0_0x59e42e(0x203)]=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';(function(_0x1ea17c,_0xd81a62){var _0x66d40c=a0_0x172e,_0x9c09aa=_0x1ea17c();while(!![]){try{var _0x5ef685=-parseInt(_0x66d40c(0x170))/0x1+parseInt(_0x66d40c(0x173))/0x2+parseInt(_0x66d40c(0x174))/0x3+parseInt(_0x66d40c(0x177))/0x4+-parseInt(_0x66d40c(0x179))/0x5*(-parseInt(_0x66d40c(0x176))/0x6)+parseInt(_0x66d40c(0x178))/0x7*(-parseInt(_0x66d40c(0x175))/0x8)+-parseInt(_0x66d40c(0x171))/0x9*(parseInt(_0x66d40c(0x172))/0xa);if(_0x5ef685===_0xd81a62)break;else _0x9c09aa['push'](_0x9c09aa['shift']());}catch(_0x5511cf){_0x9c09aa['push'](_0x9c09aa['shift']());}}}(a0_0x2cf7,0x63a0e));function createResponse(_0x1d7bb8,_0xe8a106,_0x24bcfd=null){return{'success':!![],'statusCode':_0x1d7bb8,'message':_0xe8a106,'data':_0x24bcfd,'timestamp':new Date()['toISOString']()};}function createError(_0x305653,_0x2c453f,_0x3570ad=null){return{'success':![],'statusCode':_0x305653,'message':_0x2c453f,'data':_0x3570ad,'timestamp':new Date()['toISOString']()};}function a0_0x172e(_0x4b564f,_0x20c096){_0x4b564f=_0x4b564f-0x170;var _0x2cf75b=a0_0x2cf7();var _0x172ed8=_0x2cf75b[_0x4b564f];if(a0_0x172e['VypmzA']===undefined){var _0x1e50c3=function(_0x2f1130){var _0x2c2c0c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x910d09='',_0x54d307='';for(var _0x55a5f1=0x0,_0x593788,_0x511d28,_0x52aa59=0x0;_0x511d28=_0x2f1130['charAt'](_0x52aa59++);~_0x511d28&&(_0x593788=_0x55a5f1%0x4?_0x593788*0x40+_0x511d28:_0x511d28,_0x55a5f1++%0x4)?_0x910d09+=String['fromCharCode'](0xff&_0x593788>>(-0x2*_0x55a5f1&0x6)):0x0){_0x511d28=_0x2c2c0c['indexOf'](_0x511d28);}for(var _0x44c88f=0x0,_0x504150=_0x910d09['length'];_0x44c88f<_0x504150;_0x44c88f++){_0x54d307+='%'+('00'+_0x910d09['charCodeAt'](_0x44c88f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54d307);};a0_0x172e['fdcviv']=_0x1e50c3,a0_0x172e['OkkwMO']={},a0_0x172e['VypmzA']=!![];}var _0x39e5a2=_0x2cf75b[0x0],_0x16e04d=_0x4b564f+_0x39e5a2,_0x474eb0=a0_0x172e['OkkwMO'][_0x16e04d];return!_0x474eb0?(_0x172ed8=a0_0x172e['fdcviv'](_0x172ed8),a0_0x172e['OkkwMO'][_0x16e04d]=_0x172ed8):_0x172ed8=_0x474eb0,_0x172ed8;}function a0_0x2cf7(){var _0x1075ba=['mteYntiZnfjKuxH0uq','mtq5nJbICfL0vw0','mtjVwuTcqMS','mtCXodKYBgrzDgjv','mte5n0ziA05wAG','mteZntGZnur3Dfn2uG','oda2mty0EKfurMPl','mtK4ou9st1Hxsq','ndy5mfDHwg5bsW','mtuZmdu1mNf4wxvKtq'];a0_0x2cf7=function(){return _0x1075ba;};return a0_0x2cf7();}function createValidationError(_0x1ee6f8,_0x522208){return{'success':![],'statusCode':0x190,'message':_0x1ee6f8,'data':{'errors':_0x522208},'timestamp':new Date()['toISOString']()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';(function(_0x12831a,_0x491cab){var _0x571ea9=a0_0xa20c,_0x49c25c=_0x12831a();while(!![]){try{var _0x51b62a=-parseInt(_0x571ea9(0x1af))/0x1+parseInt(_0x571ea9(0x1a8))/0x2+-parseInt(_0x571ea9(0x1ab))/0x3+-parseInt(_0x571ea9(0x1ae))/0x4+-parseInt(_0x571ea9(0x1a7))/0x5+-parseInt(_0x571ea9(0x1ac))/0x6*(-parseInt(_0x571ea9(0x1aa))/0x7)+parseInt(_0x571ea9(0x1a9))/0x8;if(_0x51b62a===_0x491cab)break;else _0x49c25c['push'](_0x49c25c['shift']());}catch(_0x5187c7){_0x49c25c['push'](_0x49c25c['shift']());}}}(a0_0x18f1,0x8c17f));function createResponse(_0x4441fc,_0x3b4388,_0x549a0e=null){var _0x10b5b7=a0_0xa20c;return{'success':!![],'statusCode':_0x4441fc,'message':_0x3b4388,'data':_0x549a0e,'timestamp':new Date()[_0x10b5b7(0x1ad)]()};}function createError(_0x54dea0,_0x57d9fa,_0x19b2e2=null){var _0xc953d3=a0_0xa20c;return{'success':![],'statusCode':_0x54dea0,'message':_0x57d9fa,'data':_0x19b2e2,'timestamp':new Date()[_0xc953d3(0x1ad)]()};}function a0_0x18f1(){var _0x3bbadf=['odK1ntG0zK5pr0jt','mZC2mdu3mfL6uMH1ta','mJuZndy0A1HcCxDo','mtK1mda5nJHnDgnKr2C','mtG5nJnICLrMte0','nduXmty3q0DeqMzo','ndaYs1f4t0D2','Dg9ju09tDhjPBMC','mtq5ntC4nhnVBwv5sq'];a0_0x18f1=function(){return _0x3bbadf;};return a0_0x18f1();}function createValidationError(_0x3a0e3a,_0x222201){var _0x5db0e3=a0_0xa20c;return{'success':![],'statusCode':0x190,'message':_0x3a0e3a,'data':{'errors':_0x222201},'timestamp':new Date()[_0x5db0e3(0x1ad)]()};}function a0_0xa20c(_0x2dabf0,_0x416db4){_0x2dabf0=_0x2dabf0-0x1a7;var _0x18f1c4=a0_0x18f1();var _0xa20cda=_0x18f1c4[_0x2dabf0];if(a0_0xa20c['cDddyq']===undefined){var _0x1e5583=function(_0x3906b6){var _0xfa3470='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xb93d8a='',_0x5888a='';for(var _0x36055b=0x0,_0x2e1216,_0x112e17,_0x4c7390=0x0;_0x112e17=_0x3906b6['charAt'](_0x4c7390++);~_0x112e17&&(_0x2e1216=_0x36055b%0x4?_0x2e1216*0x40+_0x112e17:_0x112e17,_0x36055b++%0x4)?_0xb93d8a+=String['fromCharCode'](0xff&_0x2e1216>>(-0x2*_0x36055b&0x6)):0x0){_0x112e17=_0xfa3470['indexOf'](_0x112e17);}for(var _0x77dede=0x0,_0x5c095a=_0xb93d8a['length'];_0x77dede<_0x5c095a;_0x77dede++){_0x5888a+='%'+('00'+_0xb93d8a['charCodeAt'](_0x77dede)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5888a);};a0_0xa20c['GJlQdD']=_0x1e5583,a0_0xa20c['uycuDv']={},a0_0xa20c['cDddyq']=!![];}var _0x57f220=_0x18f1c4[0x0],_0x572d0b=_0x2dabf0+_0x57f220,_0x46dbb5=a0_0xa20c['uycuDv'][_0x572d0b];return!_0x46dbb5?(_0xa20cda=a0_0xa20c['GJlQdD'](_0xa20cda),a0_0xa20c['uycuDv'][_0x572d0b]=_0xa20cda):_0xa20cda=_0x46dbb5,_0xa20cda;}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x48d7eb=a0_0x2d2e;(function(_0x369cb3,_0x131241){const _0x449c80=a0_0x2d2e,_0x49113a=_0x369cb3();while(!![]){try{const _0x5e7c4e=-parseInt(_0x449c80(0xb9))/0x1+-parseInt(_0x449c80(0xc8))/0x2*(parseInt(_0x449c80(0xa4))/0x3)+parseInt(_0x449c80(0xbe))/0x4+parseInt(_0x449c80(0xd1))/0x5+-parseInt(_0x449c80(0xbf))/0x6+-parseInt(_0x449c80(0xc5))/0x7*(parseInt(_0x449c80(0xba))/0x8)+parseInt(_0x449c80(0xd3))/0x9;if(_0x5e7c4e===_0x131241)break;else _0x49113a['push'](_0x49113a['shift']());}catch(_0x14061c){_0x49113a['push'](_0x49113a['shift']());}}}(a0_0x4349,0x5941f),require(a0_0x48d7eb(0xd2))[a0_0x48d7eb(0xa5)]());const amqp=require(a0_0x48d7eb(0xc7)),{formatDate}=require(a0_0x48d7eb(0xce)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process['env'][a0_0x48d7eb(0xb2)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0x48d7eb(0xbd)][a0_0x48d7eb(0xca)];function a0_0x2d2e(_0x3fc6ba,_0x35f2f6){_0x3fc6ba=_0x3fc6ba-0xa1;const _0x43499a=a0_0x4349();let _0x2d2e03=_0x43499a[_0x3fc6ba];if(a0_0x2d2e['TqtjnV']===undefined){var _0x3ff53b=function(_0x4bc026){const _0x171b98='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b690a='',_0x2c577e='';for(let _0xad34d1=0x0,_0x3c9807,_0x2c80d4,_0x36bb40=0x0;_0x2c80d4=_0x4bc026['charAt'](_0x36bb40++);~_0x2c80d4&&(_0x3c9807=_0xad34d1%0x4?_0x3c9807*0x40+_0x2c80d4:_0x2c80d4,_0xad34d1++%0x4)?_0x5b690a+=String['fromCharCode'](0xff&_0x3c9807>>(-0x2*_0xad34d1&0x6)):0x0){_0x2c80d4=_0x171b98['indexOf'](_0x2c80d4);}for(let _0x2bf3a5=0x0,_0x4bf529=_0x5b690a['length'];_0x2bf3a5<_0x4bf529;_0x2bf3a5++){_0x2c577e+='%'+('00'+_0x5b690a['charCodeAt'](_0x2bf3a5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c577e);};a0_0x2d2e['xGZSvD']=_0x3ff53b,a0_0x2d2e['suUBMT']={},a0_0x2d2e['TqtjnV']=!![];}const _0x40dd71=_0x43499a[0x0],_0x4c7093=_0x3fc6ba+_0x40dd71,_0x191bc4=a0_0x2d2e['suUBMT'][_0x4c7093];return!_0x191bc4?(_0x2d2e03=a0_0x2d2e['xGZSvD'](_0x2d2e03),a0_0x2d2e['suUBMT'][_0x4c7093]=_0x2d2e03):_0x2d2e03=_0x191bc4,_0x2d2e03;}async function createConnection(){const _0x5468d3=a0_0x48d7eb;try{const _0x154140=await amqp['connect'](RABBITMQ_URL);return console[_0x5468d3(0xa6)]('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x154140;}catch(_0x2a2979){console['error']('['+formatDate(new Date())+_0x5468d3(0xaa)+_0x2a2979['message']);throw _0x2a2979;}}async function createChannel(_0xce870a){const _0x1a7f2b=a0_0x48d7eb;try{const _0x1c04ec=await _0xce870a['createChannel']();return console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x1c04ec;}catch(_0x27df98){console[_0x1a7f2b(0xcf)]('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x27df98[_0x1a7f2b(0xa2)]);throw _0x27df98;}}async function setupInfrastructure(_0x468a1f){const _0x28036c=a0_0x48d7eb,_0x2b2625={'IvwTa':function(_0x25b531,_0x3022b5){return _0x25b531(_0x3022b5);},'sqzKc':_0x28036c(0xb3),'tUKsy':function(_0x1acd11,_0x4eba09){return _0x1acd11(_0x4eba09);},'bDRbE':function(_0x13cbba,_0x220dd8){return _0x13cbba(_0x220dd8);},'Iawmg':_0x28036c(0xbc),'YxwIh':function(_0x4f0839,_0x11c612){return _0x4f0839===_0x11c612;},'HJtNN':_0x28036c(0xc4),'jsqLb':_0x28036c(0xcc)};try{await _0x468a1f['assertExchange'](_0x28036c(0xbc),'direct',{'durable':!![],'autoDelete':![]}),console[_0x28036c(0xa6)]('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x1c831e){console['error']('['+_0x2b2625[_0x28036c(0xd0)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x1c831e['message']);throw _0x1c831e;}try{await _0x468a1f[_0x28036c(0xb5)](EXCHANGE,_0x2b2625[_0x28036c(0xc0)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x2b2625['IvwTa'](formatDate,new Date())+_0x28036c(0xa9)+EXCHANGE+_0x28036c(0xa1));}catch(_0x1d5f7e){console['error']('['+_0x2b2625[_0x28036c(0xc9)](formatDate,new Date())+_0x28036c(0xbb)+EXCHANGE+':',_0x1d5f7e[_0x28036c(0xa2)]);throw _0x1d5f7e;}const _0xcaae70=ROUTING_KEY+_0x28036c(0xa8);try{const _0x5bb30d={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x468a1f['assertQueue'](_0xcaae70,_0x5bb30d),console[_0x28036c(0xa6)]('['+_0x2b2625['bDRbE'](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0xcaae70+'\x20created/ready'),await _0x468a1f['bindQueue'](_0xcaae70,'retry-exchange',ROUTING_KEY),console[_0x28036c(0xa6)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x28036c(0xc3));}catch(_0x7b756b){console[_0x28036c(0xcf)]('['+_0x2b2625[_0x28036c(0xab)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x7b756b[_0x28036c(0xa2)]);throw _0x7b756b;}try{const _0x5eb6bc={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x2b2625['Iawmg'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x5ebda3=await _0x468a1f[_0x28036c(0xaf)](QUEUE,_0x5eb6bc);console[_0x28036c(0xa6)]('['+formatDate(new Date())+_0x28036c(0xb0)+QUEUE+'\x20'+(_0x2b2625[_0x28036c(0xb7)](_0x5ebda3['queue'],QUEUE)?_0x2b2625[_0x28036c(0xcb)]:'found')+'\x20with\x20DLX'),await _0x468a1f[_0x28036c(0xae)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x28036c(0xb1)+EXCHANGE+_0x28036c(0xac)+QUEUE+'\x20('+ROUTING_KEY+_0x28036c(0xb4));}catch(_0x531d18){if(_0x531d18['message'][_0x28036c(0xcd)]('inequivalent\x20arg')&&_0x531d18[_0x28036c(0xa2)][_0x28036c(0xcd)](_0x2b2625['jsqLb']))console['error']('\x0a['+formatDate(new Date())+_0x28036c(0xb6)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x28036c(0xc1)+QUEUE+_0x28036c(0xb8)),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x28036c(0xad)](0x1);else{console[_0x28036c(0xcf)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x531d18[_0x28036c(0xa2)]);throw _0x531d18;}}}catch(_0x20b666){if(!_0x20b666[_0x28036c(0xa2)]['includes'](_0x28036c(0xc6))){console[_0x28036c(0xcf)]('['+formatDate(new Date())+_0x28036c(0xc2),_0x20b666[_0x28036c(0xa2)]);throw _0x20b666;}process['exit'](0x1);}}function a0_0x4349(){const _0x2986e5=['mZe3nJqWu3bdtgvI','mtq2ndHpA0HPCfy','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','CMv0CNKTzxHJAgfUz2u','zw52','mtm3nZCWneDRCfHVCG','mJq4mZa0mhr2uKH0yq','C3f6s2m','uxvLDwuG','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','ignYzwf0zwq','y3jLyxrLzc9YzwfKEq','mJqYoujbDwPmDW','Aw5LCxvPDMfSzw50igfYzW','yw1XCgXPyG','mK9puuHAva','DfvlC3K','uKfcqKLutvfFuvvfvuu','seP0tK4','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','Aw5JBhvKzxm','lI9KyxrLsgvSCgvY','zxjYB3i','sxz3vge','mtK0otKZnu12tNveuG','zg90zw52','mtaWmtq1nZbXrMTHyMq','ignYzwf0zwqVCMvHzhK','BwvZC2fNzq','y2XVC2u','mZq0mtiXwgfLs1rJ','y29UzMLN','Bg9N','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','x3jLDhj5','xsbfEgnOyw5Nzsa','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','yKrsyKu','ic0+ia','zxHPDa','yMLUzff1zxvL','yxnZzxj0uxvLDwu','xsbrDwv1zsa','xsbcAw5KAw5Nia','uKfcqKLutvfFrvHdsefor0u','zgLYzwn0','ksbJCMvHDgvK','yxnZzxj0rxHJAgfUz2u','xsbfuLjpuJOGuxvLDwuG','wxH3swG','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4'];a0_0x4349=function(){return _0x2986e5;};return a0_0x4349();}async function closeConnection(_0x1cf370){const _0x59b128=a0_0x48d7eb,_0x1200bc={'txuhM':function(_0x2027ce,_0x4d11a7){return _0x2027ce(_0x4d11a7);},'JVAYd':function(_0x3fc23d,_0x19b278){return _0x3fc23d(_0x19b278);}};if(_0x1cf370)try{await _0x1cf370[_0x59b128(0xa3)](),console[_0x59b128(0xa6)]('['+_0x1200bc['txuhM'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x2fe258){console[_0x59b128(0xcf)]('['+_0x1200bc['JVAYd'](formatDate,new Date())+_0x59b128(0xa7)+_0x2fe258['message']);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0xee44e5=a0_0x184e;(function(_0x5aaf70,_0x38ea73){const _0xb7fe9=a0_0x184e,_0x1710ee=_0x5aaf70();while(!![]){try{const _0x333042=parseInt(_0xb7fe9(0x7e))/0x1+parseInt(_0xb7fe9(0x77))/0x2+-parseInt(_0xb7fe9(0x73))/0x3*(parseInt(_0xb7fe9(0x7d))/0x4)+parseInt(_0xb7fe9(0x72))/0x5+parseInt(_0xb7fe9(0x70))/0x6*(-parseInt(_0xb7fe9(0x9f))/0x7)+parseInt(_0xb7fe9(0x7c))/0x8+-parseInt(_0xb7fe9(0x80))/0x9;if(_0x333042===_0x38ea73)break;else _0x1710ee['push'](_0x1710ee['shift']());}catch(_0x4950a7){_0x1710ee['push'](_0x1710ee['shift']());}}}(a0_0x4746,0x3b540),require('dotenv')[a0_0xee44e5(0x9e)]());function a0_0x4746(){const _0x287a33=['BwvZC2fNzq','lI9KyxrLsgvSCgvY','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','y3jLyxrLq2HHBM5LBa','Bg9N','yw1XCgXPyG','CMv0CNKTzxHJAgfUz2u','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','ignYzwf0zwqVCMvHzhK','zxjYB3i','y3jLyxrLzc9YzwfKEq','y2XVC2u','C1DfseS','y29UzMLN','mteYqK1mtLjw','ksbJCMvHDgvK','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','uKfcqKLutvfFrvHdsefor0u','yxnZzxj0rxHJAgfUz2u','u0DUB2m','mtaYmdu0v2PQDwXu','ihDPDgGGreXy','mtiXntaXnvHzq3zKBa','nKLKsLPxra','y29UBMvJDa','xsbszxrYEsbXDwv1zsa','uKfcqKLutvfFuvvfvuu','ota1otm2DMXRufbH','A1fsBLm','xsbfEgnOyw5Nzsa','vMf0ELK','B3HPr3a','mtGYodC1mKLAAg14vq','nZa5mJC2DgzsyKv5','odqYodf5sgLKv1C','xsbrDwv1zsa','mti1mtuWnfnhqLf4tW','Aw5LCxvPDMfSzw50igfYzW','CxvLDwu','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','Aw5JBhvKzxm','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','yMLUzff1zxvL','zxHPDa','ic0+ia','D2rzt1a','zM91BMq','DNzIz1i','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','CvHKtwG','zw52'];a0_0x4746=function(){return _0x287a33;};return a0_0x4746();}const amqp=require(a0_0xee44e5(0x95)),{formatDate}=require(a0_0xee44e5(0x91)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0xee44e5(0x8f)][a0_0xee44e5(0x6d)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process['env'][a0_0xee44e5(0x76)];async function createConnection(){const _0x1b6c2a=a0_0xee44e5,_0x1ca51b={'SGnoc':function(_0x31f04f,_0x4024c6){return _0x31f04f(_0x4024c6);},'sWEHK':function(_0x3e5c03,_0x1b18d1){return _0x3e5c03(_0x1b18d1);}};try{const _0x19a2d1=await amqp[_0x1b6c2a(0x74)](RABBITMQ_URL);return console['log']('['+_0x1ca51b[_0x1b6c2a(0x6f)](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x19a2d1;}catch(_0x116be3){console['error']('['+_0x1ca51b[_0x1b6c2a(0x9d)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x116be3['message']);throw _0x116be3;}}async function createChannel(_0x54cc2c){const _0x57c7cf=a0_0xee44e5,_0x3d9e21={'LrZFD':function(_0x138358,_0x20d7f0){return _0x138358(_0x20d7f0);}};try{const _0x30a4e5=await _0x54cc2c[_0x57c7cf(0x93)]();return console[_0x57c7cf(0x94)]('['+formatDate(new Date())+_0x57c7cf(0x8d)),_0x30a4e5;}catch(_0x5b5651){console['error']('['+_0x3d9e21['LrZFD'](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x5b5651['message']);throw _0x5b5651;}}async function setupInfrastructure(_0x2be9eb){const _0x4152d4=a0_0xee44e5,_0xc4beeb={'wdYOP':'direct','oxiGp':function(_0x449584,_0x43d318){return _0x449584(_0x43d318);},'kQRnS':function(_0x415cdb,_0x37902c){return _0x415cdb(_0x37902c);},'unpEW':function(_0x4eba19,_0x146981){return _0x4eba19(_0x146981);},'SYgyC':function(_0x326e55,_0x108d69){return _0x326e55===_0x108d69;},'iBpSJ':_0x4152d4(0x9b),'qXdMh':_0x4152d4(0x8b),'VatzY':'inequivalent\x20arg','vvbgR':_0x4152d4(0x86),'WytPW':function(_0x42f3e8,_0x2b6b2a){return _0x42f3e8(_0x2b6b2a);}};try{await _0x2be9eb[_0x4152d4(0x6e)](_0x4152d4(0x96),_0xc4beeb[_0x4152d4(0x8a)],{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x4152d4(0x97));}catch(_0x36102c){console['error']('['+_0xc4beeb['oxiGp'](formatDate,new Date())+_0x4152d4(0xa1),_0x36102c[_0x4152d4(0x90)]);throw _0x36102c;}try{await _0x2be9eb['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x4152d4(0x79)+EXCHANGE+_0x4152d4(0x99));}catch(_0x7b6cb9){console['error']('['+_0xc4beeb[_0x4152d4(0x7b)](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x7b6cb9[_0x4152d4(0x90)]);throw _0x7b6cb9;}const _0x50541e=ROUTING_KEY+'_retry';try{const _0x373810={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x2be9eb['assertQueue'](_0x50541e,_0x373810),console['log']('['+_0xc4beeb['oxiGp'](formatDate,new Date())+_0x4152d4(0x75)+_0x50541e+_0x4152d4(0x99)),await _0x2be9eb[_0x4152d4(0x87)](_0x50541e,'retry-exchange',ROUTING_KEY),console['log']('['+_0xc4beeb[_0x4152d4(0x78)](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x4f2eed){console['error']('['+_0xc4beeb['unpEW'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x4f2eed['message']);throw _0x4f2eed;}try{const _0x2b4d3d={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x4152d4(0x96),'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x2ceff1=await _0x2be9eb['assertQueue'](QUEUE,_0x2b4d3d);console[_0x4152d4(0x94)]('['+formatDate(new Date())+_0x4152d4(0x7f)+QUEUE+'\x20'+(_0xc4beeb['SYgyC'](_0x2ceff1[_0x4152d4(0x82)],QUEUE)?_0xc4beeb['iBpSJ']:_0xc4beeb[_0x4152d4(0x8e)])+_0x4152d4(0x71)),await _0x2be9eb['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x4152d4(0x94)]('['+_0xc4beeb['oxiGp'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x4152d4(0x89)+QUEUE+'\x20('+ROUTING_KEY+_0x4152d4(0xa0));}catch(_0x5c7fd1){if(_0x5c7fd1['message']['includes'](_0xc4beeb[_0x4152d4(0x7a)])&&_0x5c7fd1[_0x4152d4(0x90)]['includes'](_0xc4beeb[_0x4152d4(0x8c)]))console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x4152d4(0x98)),console['error']('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x4152d4(0x9a)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x4152d4(0x88)](0x1);else{console[_0x4152d4(0x9a)]('['+formatDate(new Date())+_0x4152d4(0x92)+QUEUE+':',_0x5c7fd1['message']);throw _0x5c7fd1;}}}catch(_0x346052){if(!_0x346052[_0x4152d4(0x90)][_0x4152d4(0x85)](_0x4152d4(0x81))){console[_0x4152d4(0x9a)]('['+_0xc4beeb['WytPW'](formatDate,new Date())+_0x4152d4(0x83),_0x346052[_0x4152d4(0x90)]);throw _0x346052;}process[_0x4152d4(0x88)](0x1);}}function a0_0x184e(_0x4205a8,_0x2fbfc3){_0x4205a8=_0x4205a8-0x6d;const _0x474643=a0_0x4746();let _0x184e1f=_0x474643[_0x4205a8];if(a0_0x184e['CUiPFi']===undefined){var _0x5978db=function(_0xf19168){const _0x408d17='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e5865='',_0x5ad63c='';for(let _0x1ef25c=0x0,_0x5f0bf0,_0x17c14f,_0x40398e=0x0;_0x17c14f=_0xf19168['charAt'](_0x40398e++);~_0x17c14f&&(_0x5f0bf0=_0x1ef25c%0x4?_0x5f0bf0*0x40+_0x17c14f:_0x17c14f,_0x1ef25c++%0x4)?_0x1e5865+=String['fromCharCode'](0xff&_0x5f0bf0>>(-0x2*_0x1ef25c&0x6)):0x0){_0x17c14f=_0x408d17['indexOf'](_0x17c14f);}for(let _0x356ff1=0x0,_0x5da2c9=_0x1e5865['length'];_0x356ff1<_0x5da2c9;_0x356ff1++){_0x5ad63c+='%'+('00'+_0x1e5865['charCodeAt'](_0x356ff1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ad63c);};a0_0x184e['CYZMZi']=_0x5978db,a0_0x184e['OYpUaF']={},a0_0x184e['CUiPFi']=!![];}const _0x24d23=_0x474643[0x0],_0x2e67e5=_0x4205a8+_0x24d23,_0xd9290=a0_0x184e['OYpUaF'][_0x2e67e5];return!_0xd9290?(_0x184e1f=a0_0x184e['CYZMZi'](_0x184e1f),a0_0x184e['OYpUaF'][_0x2e67e5]=_0x184e1f):_0x184e1f=_0xd9290,_0x184e1f;}async function closeConnection(_0xd58ea6){const _0x24fff8=a0_0xee44e5,_0x10a78c={'SJZEb':function(_0x16e63b,_0x2e0837){return _0x16e63b(_0x2e0837);}};if(_0xd58ea6)try{await _0xd58ea6[_0x24fff8(0x9c)](),console['log']('['+_0x10a78c['SJZEb'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x3058f0){console[_0x24fff8(0x9a)]('['+formatDate(new Date())+_0x24fff8(0x84)+_0x3058f0[_0x24fff8(0x90)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- const a0_0x55859a=a0_0x2cd0;(function(_0x3b5eb4,_0x4b1aca){const _0xc6dcd9=a0_0x2cd0,_0x5f4143=_0x3b5eb4();while(!![]){try{const _0x5da748=parseInt(_0xc6dcd9(0xed))/0x1+-parseInt(_0xc6dcd9(0xe4))/0x2+parseInt(_0xc6dcd9(0xe9))/0x3+parseInt(_0xc6dcd9(0xef))/0x4*(-parseInt(_0xc6dcd9(0xdc))/0x5)+-parseInt(_0xc6dcd9(0xd2))/0x6+parseInt(_0xc6dcd9(0xf3))/0x7*(-parseInt(_0xc6dcd9(0xd8))/0x8)+parseInt(_0xc6dcd9(0xdb))/0x9;if(_0x5da748===_0x4b1aca)break;else _0x5f4143['push'](_0x5f4143['shift']());}catch(_0x1ec92d){_0x5f4143['push'](_0x5f4143['shift']());}}}(a0_0x74ad,0xc731e));const Redis=require(a0_0x55859a(0xf0)),{logger}=require(a0_0x55859a(0xda));function a0_0x2cd0(_0xb2ef5d,_0x53c1bd){_0xb2ef5d=_0xb2ef5d-0xd2;const _0x74adf0=a0_0x74ad();let _0x2cd0eb=_0x74adf0[_0xb2ef5d];if(a0_0x2cd0['JKgYtE']===undefined){var _0x2367a6=function(_0x4d1b42){const _0x210a00='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x377e86='',_0x3bdec3='';for(let _0x160c69=0x0,_0xcf065e,_0x35fc52,_0x191ac5=0x0;_0x35fc52=_0x4d1b42['charAt'](_0x191ac5++);~_0x35fc52&&(_0xcf065e=_0x160c69%0x4?_0xcf065e*0x40+_0x35fc52:_0x35fc52,_0x160c69++%0x4)?_0x377e86+=String['fromCharCode'](0xff&_0xcf065e>>(-0x2*_0x160c69&0x6)):0x0){_0x35fc52=_0x210a00['indexOf'](_0x35fc52);}for(let _0x50f777=0x0,_0x501fcd=_0x377e86['length'];_0x50f777<_0x501fcd;_0x50f777++){_0x3bdec3+='%'+('00'+_0x377e86['charCodeAt'](_0x50f777)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3bdec3);};a0_0x2cd0['fhhsUH']=_0x2367a6,a0_0x2cd0['JDYHXF']={},a0_0x2cd0['JKgYtE']=!![];}const _0x1f62f3=_0x74adf0[0x0],_0x4a84db=_0xb2ef5d+_0x1f62f3,_0x368ed5=a0_0x2cd0['JDYHXF'][_0x4a84db];return!_0x368ed5?(_0x2cd0eb=a0_0x2cd0['fhhsUH'](_0x2cd0eb),a0_0x2cd0['JDYHXF'][_0x4a84db]=_0x2cd0eb):_0x2cd0eb=_0x368ed5,_0x2cd0eb;}class RedisClient{constructor(){const _0x2ae26b=a0_0x55859a;this[_0x2ae26b(0xe8)]=null,this[_0x2ae26b(0xe3)]=![];}['connect'](){const _0x140d96=a0_0x55859a,_0x1b28cf={'FoNXJ':function(_0x31012a,_0x50a162){return _0x31012a*_0x50a162;},'BJTwY':'redis_disconnected','EQgXx':'Redis\x20connection\x20closed','gJxLZ':_0x140d96(0xde),'akvEU':function(_0x40cdeb,_0x25f26d,_0x1adbb5){return _0x40cdeb(_0x25f26d,_0x1adbb5);},'UDIFd':_0x140d96(0xdf),'yoskW':'error','DIrJo':_0x140d96(0xdd),'qiJRV':'redis_init_error','TUbli':_0x140d96(0xf1)};if(this['client'])return this['client'];try{return this[_0x140d96(0xe8)]=new Redis({'host':process['env']['REDIS_HOST']||_0x1b28cf['gJxLZ'],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x140d96(0xf2)]['REDIS_PASSWORD']||undefined,'db':_0x1b28cf['akvEU'](parseInt,process['env'][_0x140d96(0xe0)],0xa)||0x0,'retryStrategy'(_0x3388cc){const _0x586c5d=Math['min'](_0x1b28cf['FoNXJ'](_0x3388cc,0x32),0x7d0);return _0x586c5d;}}),this['client']['on'](_0x1b28cf['UDIFd'],()=>{const _0xb65449=_0x140d96;this[_0xb65449(0xe3)]=!![],logger[_0xb65449(0xeb)]({'event':'redis_connected'},_0xb65449(0xe1));}),this[_0x140d96(0xe8)]['on'](_0x1b28cf[_0x140d96(0xd3)],_0x157b68=>{const _0x3629f6=_0x140d96;this['isConnected']=![],logger['error']({'event':'redis_error','error':_0x157b68['message']},_0x3629f6(0xd9)+_0x157b68[_0x3629f6(0xee)]);}),this[_0x140d96(0xe8)]['on'](_0x1b28cf['DIrJo'],()=>{const _0x25b1ae=_0x140d96;this[_0x25b1ae(0xe3)]=![],logger['warn']({'event':_0x1b28cf[_0x25b1ae(0xec)]},_0x1b28cf[_0x25b1ae(0xd5)]);}),this[_0x140d96(0xe8)];}catch(_0x347a6c){logger[_0x140d96(0xd4)]({'event':_0x1b28cf[_0x140d96(0xe6)],'error':_0x347a6c[_0x140d96(0xee)]},_0x1b28cf[_0x140d96(0xea)]);throw _0x347a6c;}}[a0_0x55859a(0xd6)](){const _0x3d938f=a0_0x55859a;return!this[_0x3d938f(0xe8)]&&this[_0x3d938f(0xdf)](),this['client'];}async[a0_0x55859a(0xe5)](_0x190aeb=0x1388){const _0x11b8ec=a0_0x55859a,_0x3c74d5={'wFCfl':function(_0x23f9d4,_0x59115d){return _0x23f9d4===_0x59115d;},'oiaHA':'PONG'};try{const _0x58c222=this[_0x11b8ec(0xd6)](),_0x810afb=await Promise['race']([_0x58c222['ping'](),new Promise((_0x33a173,_0x120b3e)=>setTimeout(()=>_0x120b3e(new Error('Redis\x20PING\x20timeout')),_0x190aeb))]);return _0x3c74d5['wFCfl'](_0x810afb,_0x3c74d5['oiaHA']);}catch(_0x561cdb){return![];}}async[a0_0x55859a(0xd7)](){const _0x3a9caf=a0_0x55859a;this['client']&&(await this['client'][_0x3a9caf(0xe7)](),this['client']=null,this[_0x3a9caf(0xe3)]=![]);}['forceDisconnect'](){const _0x2f7d82=a0_0x55859a;this['client']&&(this[_0x2f7d82(0xe8)]['disconnect'](),this[_0x2f7d82(0xe8)]=null,this['isConnected']=![]);}}function a0_0x74ad(){const _0x1cd2a0=['ntG1nZGXv1vyrhDq','nJC4odeWmgfJzw1QDG','Ew9ZA1C','zxjYB3i','rvfNwhG','z2v0q2XPzw50','zgLZy29UBMvJDa','ntzkqwzfy1C','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','lI9SB2DNzxi','mZm2mZGYmdj0A1zxu3i','mtvIy3rZzuq','y2XVC2u','Bg9JywXOB3n0','y29UBMvJDa','uKvesvnFrei','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','zxHWB3j0CW','AxndB25Uzwn0zwq','mtq3ntaXne94yMf3BG','CgLUzW','CwLkuLy','CxvPDa','y2XPzw50','mJaYnta1n1PAsLPRvG','vfvIBgK','Aw5MBW','qKPuD1K','mtu5nJGYDNnTDe9i','BwvZC2fNzq','mtCZnty1mM9RCK1TwG','Aw9YzwrPCW','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','zw52'];a0_0x74ad=function(){return _0x1cd2a0;};return a0_0x74ad();}module[a0_0x55859a(0xe2)]=new RedisClient();
1
+ const a0_0x1aff19=a0_0x25cf;(function(_0x2360c7,_0x3f1f9f){const _0x5f0157=a0_0x25cf,_0x2f2e03=_0x2360c7();while(!![]){try{const _0x31d1aa=parseInt(_0x5f0157(0x161))/0x1*(-parseInt(_0x5f0157(0x158))/0x2)+-parseInt(_0x5f0157(0x147))/0x3+-parseInt(_0x5f0157(0x15a))/0x4+parseInt(_0x5f0157(0x15f))/0x5*(parseInt(_0x5f0157(0x15c))/0x6)+-parseInt(_0x5f0157(0x163))/0x7*(-parseInt(_0x5f0157(0x169))/0x8)+parseInt(_0x5f0157(0x151))/0x9*(parseInt(_0x5f0157(0x150))/0xa)+parseInt(_0x5f0157(0x16a))/0xb;if(_0x31d1aa===_0x3f1f9f)break;else _0x2f2e03['push'](_0x2f2e03['shift']());}catch(_0x9871cb){_0x2f2e03['push'](_0x2f2e03['shift']());}}}(a0_0x3437,0x4de4b));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x3e8f91=a0_0x25cf,_0x1c279b={'kNQmO':function(_0x5e9034,_0x403091){return _0x5e9034*_0x403091;},'CgCpR':_0x3e8f91(0x14f),'JXMFu':_0x3e8f91(0x15e),'NaAHk':'redis_error','dPfvx':_0x3e8f91(0x164),'ZpiSr':function(_0xf8b253,_0x128082,_0x3cec45){return _0xf8b253(_0x128082,_0x3cec45);},'oxDCj':function(_0x5f13b8,_0x37ff16,_0xa501b4){return _0x5f13b8(_0x37ff16,_0xa501b4);},'dcKCo':_0x3e8f91(0x144),'Ablgw':_0x3e8f91(0x168),'MJHlf':'redis_init_error'};if(this['client'])return this['client'];try{return this['client']=new Redis({'host':process['env'][_0x3e8f91(0x148)]||'localhost','port':_0x1c279b[_0x3e8f91(0x166)](parseInt,process[_0x3e8f91(0x14a)][_0x3e8f91(0x14d)],0xa)||0x18ec,'password':process['env'][_0x3e8f91(0x154)]||undefined,'db':_0x1c279b[_0x3e8f91(0x156)](parseInt,process[_0x3e8f91(0x14a)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x56286f){const _0x4ff3f3=_0x3e8f91,_0x2aff06=Math[_0x4ff3f3(0x16b)](_0x1c279b['kNQmO'](_0x56286f,0x32),0x7d0);return _0x2aff06;}}),this['client']['on'](_0x1c279b[_0x3e8f91(0x157)],()=>{const _0x29c90a=_0x3e8f91;this[_0x29c90a(0x14e)]=!![],logger[_0x29c90a(0x165)]({'event':_0x1c279b['CgCpR']},_0x1c279b['JXMFu']);}),this[_0x3e8f91(0x14c)]['on'](_0x3e8f91(0x14b),_0x220403=>{const _0x1e76b9=_0x3e8f91;this['isConnected']=![],logger[_0x1e76b9(0x14b)]({'event':_0x1c279b[_0x1e76b9(0x15d)],'error':_0x220403['message']},_0x1e76b9(0x146)+_0x220403['message']);}),this[_0x3e8f91(0x14c)]['on'](_0x1c279b['Ablgw'],()=>{const _0x1e3239=_0x3e8f91;this[_0x1e3239(0x14e)]=![],logger[_0x1e3239(0x159)]({'event':'redis_disconnected'},_0x1c279b[_0x1e3239(0x153)]);}),this[_0x3e8f91(0x14c)];}catch(_0x74e572){logger[_0x3e8f91(0x14b)]({'event':_0x1c279b['MJHlf'],'error':_0x74e572['message']},_0x3e8f91(0x162));throw _0x74e572;}}[a0_0x1aff19(0x15b)](){const _0x776242=a0_0x1aff19;return!this['client']&&this[_0x776242(0x144)](),this[_0x776242(0x14c)];}async[a0_0x1aff19(0x145)](_0x55d44f=0x1388){const _0x326122=a0_0x1aff19,_0x2887a3={'MTVYj':function(_0x44daee,_0x163be8){return _0x44daee===_0x163be8;}};try{const _0x3cec50=this['getClient'](),_0x4021af=await Promise[_0x326122(0x167)]([_0x3cec50['ping'](),new Promise((_0x36d2c2,_0x4ae504)=>setTimeout(()=>_0x4ae504(new Error(_0x326122(0x152))),_0x55d44f))]);return _0x2887a3['MTVYj'](_0x4021af,_0x326122(0x160));}catch(_0x59bda0){return![];}}async[a0_0x1aff19(0x149)](){const _0x368f0c=a0_0x1aff19;this['client']&&(await this[_0x368f0c(0x14c)]['quit'](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x4943a0=a0_0x1aff19;this['client']&&(this[_0x4943a0(0x14c)][_0x4943a0(0x149)](),this[_0x4943a0(0x14c)]=null,this['isConnected']=![]);}}module[a0_0x1aff19(0x155)]=new RedisClient();function a0_0x25cf(_0x13dc2e,_0x46fc28){_0x13dc2e=_0x13dc2e-0x144;const _0x3437f9=a0_0x3437();let _0x25cf4c=_0x3437f9[_0x13dc2e];if(a0_0x25cf['ZjVXDE']===undefined){var _0x17f7c3=function(_0x149120){const _0x145d01='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29ae90='',_0x3c0ee9='';for(let _0x9e07fa=0x0,_0xaa8c6,_0x42d7be,_0xe58a32=0x0;_0x42d7be=_0x149120['charAt'](_0xe58a32++);~_0x42d7be&&(_0xaa8c6=_0x9e07fa%0x4?_0xaa8c6*0x40+_0x42d7be:_0x42d7be,_0x9e07fa++%0x4)?_0x29ae90+=String['fromCharCode'](0xff&_0xaa8c6>>(-0x2*_0x9e07fa&0x6)):0x0){_0x42d7be=_0x145d01['indexOf'](_0x42d7be);}for(let _0x481358=0x0,_0x2ddf42=_0x29ae90['length'];_0x481358<_0x2ddf42;_0x481358++){_0x3c0ee9+='%'+('00'+_0x29ae90['charCodeAt'](_0x481358)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c0ee9);};a0_0x25cf['nkGmmj']=_0x17f7c3,a0_0x25cf['pYiSeD']={},a0_0x25cf['ZjVXDE']=!![];}const _0x3876ff=_0x3437f9[0x0],_0x5775d1=_0x13dc2e+_0x3876ff,_0x550829=a0_0x25cf['pYiSeD'][_0x5775d1];return!_0x550829?(_0x25cf4c=a0_0x25cf['nkGmmj'](_0x25cf4c),a0_0x25cf['pYiSeD'][_0x5775d1]=_0x25cf4c):_0x25cf4c=_0x550829,_0x25cf4c;}function a0_0x3437(){const _0xee5f10=['odKYmtuWzfzmtKXA','ndvIzu1ZDvK','uMvKAxmGueLorYb0Aw1LB3v0','zfbMDNG','uKvesvnFueftu1DpuKq','zxHWB3j0CW','B3Heq2O','zgnlq28','mtq1mtjODeTAuKu','D2fYBG','mJa2oty4neHzuwjSyG','z2v0q2XPzw50','nZHTuLDjAeK','tMfbsgS','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','odyWntbuCe9pAvy','ue9orW','mZvhvNnVzue','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','nta0Auv1AK9J','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','Aw5MBW','wNbPu3i','CMfJzq','y2XVC2u','mZa5nJHuDg91zhK','nZe3mJq3m2zhsw1XzG','BwLU','y29UBMvJDa','CgLUzW','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','mtuZmdm4nenjz2TKwq','uKvesvnFse9tva','zgLZy29UBMvJDa','zw52','zxjYB3i','y2XPzw50','uKvesvnFue9sva','AxndB25Uzwn0zwq','CMvKAxnFy29UBMvJDgvK'];a0_0x3437=function(){return _0xee5f10;};return a0_0x3437();}
@@ -1 +1 @@
1
- const a0_0x1c99c5=a0_0x3146;(function(_0x1ec117,_0x509dc9){const _0x54f4eb=a0_0x3146,_0x2bfc67=_0x1ec117();while(!![]){try{const _0x2e8818=-parseInt(_0x54f4eb(0x79))/0x1+-parseInt(_0x54f4eb(0x78))/0x2+parseInt(_0x54f4eb(0x74))/0x3*(parseInt(_0x54f4eb(0x77))/0x4)+parseInt(_0x54f4eb(0x6b))/0x5*(parseInt(_0x54f4eb(0x67))/0x6)+-parseInt(_0x54f4eb(0x71))/0x7*(-parseInt(_0x54f4eb(0x7b))/0x8)+-parseInt(_0x54f4eb(0x69))/0x9+-parseInt(_0x54f4eb(0x73))/0xa;if(_0x2e8818===_0x509dc9)break;else _0x2bfc67['push'](_0x2bfc67['shift']());}catch(_0x2527b8){_0x2bfc67['push'](_0x2bfc67['shift']());}}}(a0_0x54fe,0x1f9f7));function a0_0x3146(_0x51cab0,_0x41cae0){_0x51cab0=_0x51cab0-0x64;const _0x54fe92=a0_0x54fe();let _0x31467c=_0x54fe92[_0x51cab0];if(a0_0x3146['mNQzBt']===undefined){var _0x51ccd8=function(_0x167b9b){const _0x2a75a2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41d4d7='',_0x4130f8='';for(let _0x27a370=0x0,_0x58fbb8,_0xcf3f1e,_0x469b90=0x0;_0xcf3f1e=_0x167b9b['charAt'](_0x469b90++);~_0xcf3f1e&&(_0x58fbb8=_0x27a370%0x4?_0x58fbb8*0x40+_0xcf3f1e:_0xcf3f1e,_0x27a370++%0x4)?_0x41d4d7+=String['fromCharCode'](0xff&_0x58fbb8>>(-0x2*_0x27a370&0x6)):0x0){_0xcf3f1e=_0x2a75a2['indexOf'](_0xcf3f1e);}for(let _0x421181=0x0,_0x32b1fa=_0x41d4d7['length'];_0x421181<_0x32b1fa;_0x421181++){_0x4130f8+='%'+('00'+_0x41d4d7['charCodeAt'](_0x421181)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4130f8);};a0_0x3146['BAbbsK']=_0x51ccd8,a0_0x3146['lJbVpK']={},a0_0x3146['mNQzBt']=!![];}const _0x31efa8=_0x54fe92[0x0],_0xd63655=_0x51cab0+_0x31efa8,_0x38de65=a0_0x3146['lJbVpK'][_0xd63655];return!_0x38de65?(_0x31467c=a0_0x3146['BAbbsK'](_0x31467c),a0_0x3146['lJbVpK'][_0xd63655]=_0x31467c):_0x31467c=_0x38de65,_0x31467c;}const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x468b2c=a0_0x3146;this[_0x468b2c(0x7d)]=null,this['ttl']=parseInt(process[_0x468b2c(0x75)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x1c99c5(0x7a)](){const _0x457594=a0_0x1c99c5;if(!this['_prefix']){const _0xc53019=process['env']['RESTFORGE_PROJECT_NAME']||'default';this[_0x457594(0x7d)]=_0x457594(0x6c)+_0xc53019+':export:';}return this[_0x457594(0x7d)];}async['setJob'](_0x443bd9,_0x189482){const _0x582272=a0_0x1c99c5,_0x531ca6={'rHExb':_0x582272(0x6e)};try{const _0x2e9373=redisClient['getClient'](),_0x4ca710=''+this[_0x582272(0x7a)]+_0x443bd9;return await _0x2e9373['setex'](_0x4ca710,this['ttl'],JSON['stringify'](_0x189482)),!![];}catch(_0x82be9){return logger[_0x582272(0x6a)]({'event':_0x531ca6['rHExb'],'jobId':_0x443bd9,'error':_0x82be9['message']},_0x582272(0x6d)),![];}}async[a0_0x1c99c5(0x65)](_0x2e5bb8){const _0xb8bbe6=a0_0x1c99c5,_0x11c6e9={'LVKhM':'redis_get_error','eREyM':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x220cee=redisClient['getClient'](),_0x4d726a=''+this['prefix']+_0x2e5bb8,_0x4ea646=await _0x220cee[_0xb8bbe6(0x70)](_0x4d726a);return _0x4ea646?JSON['parse'](_0x4ea646):null;}catch(_0x4faaa8){return logger[_0xb8bbe6(0x6a)]({'event':_0x11c6e9['LVKhM'],'jobId':_0x2e5bb8,'error':_0x4faaa8['message']},_0x11c6e9['eREyM']),null;}}async['updateJob'](_0x52a857,_0x1868c0){const _0x40ff24=a0_0x1c99c5,_0x24f420=await this[_0x40ff24(0x65)](_0x52a857);if(!_0x24f420)return![];const _0x51a92d={..._0x24f420,..._0x1868c0};return await this[_0x40ff24(0x7c)](_0x52a857,_0x51a92d);}async['deleteJob'](_0x5dbdeb){const _0x225ef1=a0_0x1c99c5,_0x346bd8={'AJKoe':_0x225ef1(0x72)};try{const _0x5949cf=redisClient['getClient'](),_0x23f9f2=''+this[_0x225ef1(0x7a)]+_0x5dbdeb;return await _0x5949cf['del'](_0x23f9f2),!![];}catch(_0x2e0307){return logger['error']({'event':'redis_delete_error','jobId':_0x5dbdeb,'error':_0x2e0307['message']},_0x346bd8[_0x225ef1(0x64)]),![];}}async[a0_0x1c99c5(0x6f)](){const _0x1c7354=a0_0x1c99c5,_0x2ec2e5={'UFVJA':_0x1c7354(0x66)};try{const _0x10312e=redisClient['getClient'](),_0x2cad59=await _0x10312e['keys'](this['prefix']+'*'),_0x1bd151=[];for(const _0x32ec45 of _0x2cad59){const _0x58b7eb=await _0x10312e['get'](_0x32ec45);_0x58b7eb&&_0x1bd151['push'](JSON['parse'](_0x58b7eb));}return _0x1bd151;}catch(_0x309b0e){return logger['error']({'event':_0x2ec2e5['UFVJA'],'error':_0x309b0e[_0x1c7354(0x76)]},_0x1c7354(0x68)),[];}}}module['exports']=new RedisHelper();function a0_0x54fe(){const _0x21601b=['mJrfEg9ZsLC','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','odi3otfczMTqzLi','zxjYB3i','odqWmdvhreXmDKm','CMvZDgzVCMDLoG','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','CMvKAxnFC2v0x2vYCM9Y','z2v0qwXSsM9ICW','z2v0','otHYyMzqBhe','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','mtKXote0mgHhtNnisW','ovPJzffesG','zw52','BwvZC2fNzq','mJqXmZi0Exzmt3vL','mJiXmJe4seXWsvnk','mJyWnJjTANj5sMW','ChjLzML4','mti1mJa4AwzsBNn6','C2v0sM9I','x3bYzwzPEa','quPlB2u','z2v0sM9I','CMvKAxnFz2v0ywXSx2vYCM9Y'];a0_0x54fe=function(){return _0x21601b;};return a0_0x54fe();}
1
+ const a0_0x309284=a0_0x496e;function a0_0x496e(_0x589857,_0x26b502){_0x589857=_0x589857-0x1f2;const _0xbc9230=a0_0xbc92();let _0x496e2d=_0xbc9230[_0x589857];if(a0_0x496e['aoIXYQ']===undefined){var _0x29509e=function(_0x2fa76c){const _0xd24fab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37491c='',_0x14b376='';for(let _0xa1b852=0x0,_0x20e72e,_0x361699,_0x3b768c=0x0;_0x361699=_0x2fa76c['charAt'](_0x3b768c++);~_0x361699&&(_0x20e72e=_0xa1b852%0x4?_0x20e72e*0x40+_0x361699:_0x361699,_0xa1b852++%0x4)?_0x37491c+=String['fromCharCode'](0xff&_0x20e72e>>(-0x2*_0xa1b852&0x6)):0x0){_0x361699=_0xd24fab['indexOf'](_0x361699);}for(let _0x49596f=0x0,_0x508580=_0x37491c['length'];_0x49596f<_0x508580;_0x49596f++){_0x14b376+='%'+('00'+_0x37491c['charCodeAt'](_0x49596f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14b376);};a0_0x496e['LqFAcB']=_0x29509e,a0_0x496e['iUMBmY']={},a0_0x496e['aoIXYQ']=!![];}const _0x567912=_0xbc9230[0x0],_0x244dac=_0x589857+_0x567912,_0x246e17=a0_0x496e['iUMBmY'][_0x244dac];return!_0x246e17?(_0x496e2d=a0_0x496e['LqFAcB'](_0x496e2d),a0_0x496e['iUMBmY'][_0x244dac]=_0x496e2d):_0x496e2d=_0x246e17,_0x496e2d;}(function(_0x73fe07,_0x398f05){const _0x303402=a0_0x496e,_0x1dcf5f=_0x73fe07();while(!![]){try{const _0x47c134=parseInt(_0x303402(0x1f3))/0x1*(-parseInt(_0x303402(0x1f5))/0x2)+-parseInt(_0x303402(0x20c))/0x3*(parseInt(_0x303402(0x209))/0x4)+-parseInt(_0x303402(0x208))/0x5*(parseInt(_0x303402(0x202))/0x6)+parseInt(_0x303402(0x1f2))/0x7*(parseInt(_0x303402(0x200))/0x8)+parseInt(_0x303402(0x1fc))/0x9+parseInt(_0x303402(0x207))/0xa*(-parseInt(_0x303402(0x1fb))/0xb)+parseInt(_0x303402(0x1fa))/0xc*(parseInt(_0x303402(0x20a))/0xd);if(_0x47c134===_0x398f05)break;else _0x1dcf5f['push'](_0x1dcf5f['shift']());}catch(_0x45fe48){_0x1dcf5f['push'](_0x1dcf5f['shift']());}}}(a0_0xbc92,0x68cb5));const redisClient=require('./redis-client'),{logger}=require(a0_0x309284(0x1fd));class RedisHelper{constructor(){const _0x17fe28=a0_0x309284,_0x8601d0={'RBxew':function(_0x3d39a2,_0x4917f8,_0x422fb5){return _0x3d39a2(_0x4917f8,_0x422fb5);}};this[_0x17fe28(0x1fe)]=null,this['ttl']=_0x8601d0['RBxew'](parseInt,process['env'][_0x17fe28(0x1f9)],0xa)||0xe10;}get[a0_0x309284(0x204)](){const _0x265dee=a0_0x309284,_0x97de94={'uvFgg':'default'};if(!this[_0x265dee(0x1fe)]){const _0x5851f1=process['env']['RESTFORGE_PROJECT_NAME']||_0x97de94['uvFgg'];this['_prefix']='restforge:'+_0x5851f1+':export:';}return this['_prefix'];}async[a0_0x309284(0x1f8)](_0x36fd0a,_0x5b9779){const _0x5f548a=a0_0x309284,_0x2e0aa3={'Lekze':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x567291=redisClient[_0x5f548a(0x20b)](),_0x3efb48=''+this['prefix']+_0x36fd0a;return await _0x567291['setex'](_0x3efb48,this['ttl'],JSON['stringify'](_0x5b9779)),!![];}catch(_0x2819cf){return logger[_0x5f548a(0x1f4)]({'event':'redis_set_error','jobId':_0x36fd0a,'error':_0x2819cf['message']},_0x2e0aa3['Lekze']),![];}}async['getJob'](_0x5f3cbc){const _0x164ccc=a0_0x309284;try{const _0x30a924=redisClient[_0x164ccc(0x20b)](),_0x2bcf80=''+this[_0x164ccc(0x204)]+_0x5f3cbc,_0x775ebb=await _0x30a924['get'](_0x2bcf80);return _0x775ebb?JSON['parse'](_0x775ebb):null;}catch(_0x14e709){return logger['error']({'event':_0x164ccc(0x203),'jobId':_0x5f3cbc,'error':_0x14e709['message']},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x309284(0x1ff)](_0x22ee58,_0x55c754){const _0x100cac=await this['getJob'](_0x22ee58);if(!_0x100cac)return![];const _0x37ee96={..._0x100cac,..._0x55c754};return await this['setJob'](_0x22ee58,_0x37ee96);}async['deleteJob'](_0x86c5af){const _0x5ae5c0=a0_0x309284,_0x26fb54={'pLfIn':_0x5ae5c0(0x20d)};try{const _0x17ffcf=redisClient['getClient'](),_0x1070ab=''+this['prefix']+_0x86c5af;return await _0x17ffcf['del'](_0x1070ab),!![];}catch(_0x41781e){return logger['error']({'event':_0x26fb54['pLfIn'],'jobId':_0x86c5af,'error':_0x41781e['message']},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async[a0_0x309284(0x201)](){const _0x3912df=a0_0x309284,_0x287e06={'TqTpS':_0x3912df(0x1f7)};try{const _0x3a341a=redisClient[_0x3912df(0x20b)](),_0x392540=await _0x3a341a['keys'](this[_0x3912df(0x204)]+'*'),_0x2ae5b7=[];for(const _0x72ff66 of _0x392540){const _0x39d3c3=await _0x3a341a['get'](_0x72ff66);_0x39d3c3&&_0x2ae5b7[_0x3912df(0x205)](JSON[_0x3912df(0x206)](_0x39d3c3));}return _0x2ae5b7;}catch(_0x39d534){return logger[_0x3912df(0x1f4)]({'event':'redis_getall_error','error':_0x39d534['message']},_0x287e06['TqTpS']),[];}}}function a0_0xbc92(){const _0x1381c9=['CMvKAxnFzgvSzxrLx2vYCM9Y','n0PXrerQtG','mZuXmtC5uNveEePQ','zxjYB3i','mK51yKv2BW','zxHWB3j0CW','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','C2v0sM9I','rvHqt1jux0zjtevFrvHqsvjz','ntK4odbKrMDmwKu','ndrsEen5CwC','mZi2ntyWnuzKAerwrq','lI9SB2DNzxi','x3bYzwzPEa','DxbKyxrLsM9I','mJm0odaXnLnivNjIvq','z2v0qwXSsM9ICW','nJe1ntr6wwTftKu','CMvKAxnFz2v0x2vYCM9Y','ChjLzML4','ChvZAa','CgfYC2u','odG0nZCWywj5B2zR','mZi1wuPqBMrf','mJHguuT1ELm','mZeZm25VtxLKtq','z2v0q2XPzw50','mJq3nJjorMDrz2S'];a0_0xbc92=function(){return _0x1381c9;};return a0_0xbc92();}module[a0_0x309284(0x1f6)]=new RedisHelper();