@restforgejs/platform 5.2.16 → 5.3.5

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 (199) 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/endpoint/create.js +69 -6
  5. package/generators/cli/payload/sync.js +16 -6
  6. package/generators/cli/project/auth.js +2 -2
  7. package/generators/cli/project/sdk.js +112 -0
  8. package/generators/lib/arg-parser.js +6 -0
  9. package/generators/lib/auth/processor-generator.js +5 -3
  10. package/generators/lib/auth/templates/processor/google.js.tmpl +178 -0
  11. package/generators/lib/auth/templates/processor/login.js.tmpl +8 -8
  12. package/generators/lib/auth/templates/processor/logout.js.tmpl +2 -2
  13. package/generators/lib/auth/templates/processor/me.js.tmpl +2 -2
  14. package/generators/lib/auth/templates/processor/refresh.js.tmpl +6 -6
  15. package/generators/lib/auth/templates/processor/register.js.tmpl +4 -4
  16. package/generators/lib/auth/templates/processor/reset-password.js.tmpl +7 -7
  17. package/generators/lib/auth/templates/rfx_auth.js.tmpl +3 -0
  18. package/generators/lib/generators/model-generator.js +46 -59
  19. package/generators/lib/help-generator.js +41 -3
  20. package/generators/lib/payload/endpoint-schema-validator.js +8 -3
  21. package/generators/lib/payload/field-projections.js +116 -0
  22. package/generators/lib/payload/payload-runner.js +164 -48
  23. package/generators/lib/payload/schema-diff.js +108 -0
  24. package/generators/lib/sdk/generator.js +719 -0
  25. package/generators/lib/sdk/naming.js +48 -0
  26. package/generators/lib/sdk/runtime/README.md.tmpl +207 -0
  27. package/generators/lib/sdk/runtime/auth-client.js +186 -0
  28. package/generators/lib/sdk/runtime/deploy.mjs.tmpl +85 -0
  29. package/generators/lib/sdk/runtime/http-client.js +81 -0
  30. package/generators/lib/sdk/runtime/resource-client.js +59 -0
  31. package/generators/lib/sdk/runtime/storage.js +31 -0
  32. package/generators/lib/templates/dashboard-catalog.js +1 -1
  33. package/generators/lib/templates/db-connection-env.js +1 -1
  34. package/generators/lib/templates/dbschema-catalog.js +1 -1
  35. package/generators/lib/templates/field-validation-catalog.js +1 -1
  36. package/generators/lib/templates/mysql-template.js +1 -1
  37. package/generators/lib/templates/oracle-template.js +1 -1
  38. package/generators/lib/templates/postgres-template.js +1 -1
  39. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  40. package/generators/lib/templates/sqlite-template.js +1 -1
  41. package/generators/lib/utils/cli-output.js +40 -0
  42. package/generators/lib/utils/config-resolver.js +61 -0
  43. package/generators/lib/utils/database-introspector.js +28 -5
  44. package/integrity-manifest.json +18 -18
  45. package/package.json +1 -1
  46. package/scripts/verify-integrity.js +1 -1
  47. package/server.js +1 -1
  48. package/src/components/handlers/adjust_handler.js +1 -1
  49. package/src/components/handlers/audit_handler.js +1 -1
  50. package/src/components/handlers/delete_handler.js +1 -1
  51. package/src/components/handlers/export_handler.js +1 -1
  52. package/src/components/handlers/import_handler.js +1 -1
  53. package/src/components/handlers/insert_handler.js +1 -1
  54. package/src/components/handlers/update_handler.js +1 -1
  55. package/src/components/handlers/upload_handler.js +1 -1
  56. package/src/components/handlers/workflow_handler.js +1 -1
  57. package/src/components/integrations/webhook.js +1 -1
  58. package/src/consumers/baseConsumer.js +1 -1
  59. package/src/consumers/declarativeMapper.js +1 -1
  60. package/src/consumers/handlers/apiHandler.js +1 -1
  61. package/src/consumers/handlers/consoleHandler.js +1 -1
  62. package/src/consumers/handlers/databaseHandler.js +1 -1
  63. package/src/consumers/handlers/index.js +1 -1
  64. package/src/consumers/handlers/kafkaHandler.js +1 -1
  65. package/src/consumers/index.js +1 -1
  66. package/src/consumers/messageTransformer.js +1 -1
  67. package/src/consumers/validator.js +1 -1
  68. package/src/core/db/dialect/base-dialect.js +1 -1
  69. package/src/core/db/dialect/index.js +1 -1
  70. package/src/core/db/dialect/mysql-dialect.js +1 -1
  71. package/src/core/db/dialect/oracle-dialect.js +1 -1
  72. package/src/core/db/dialect/postgres-dialect.js +1 -1
  73. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  74. package/src/core/db/flatten-helper.js +1 -1
  75. package/src/core/db/query-builder-error.js +1 -1
  76. package/src/core/db/query-builder.js +1 -1
  77. package/src/core/db/relation-helper.js +1 -1
  78. package/src/core/handlers/delete_handler.js +1 -1
  79. package/src/core/handlers/insert_handler.js +1 -1
  80. package/src/core/handlers/update_handler.js +1 -1
  81. package/src/core/models/base-model.js +1 -1
  82. package/src/core/utils/cache-manager.js +1 -1
  83. package/src/core/utils/component-engine.js +1 -1
  84. package/src/core/utils/context-builder.js +1 -1
  85. package/src/core/utils/datetime-formatter.js +1 -1
  86. package/src/core/utils/datetime-parser.js +1 -1
  87. package/src/core/utils/db.js +1 -1
  88. package/src/core/utils/logger.js +1 -1
  89. package/src/core/utils/payload-loader.js +1 -1
  90. package/src/core/utils/security-checks.js +1 -1
  91. package/src/middleware/body-options.js +1 -1
  92. package/src/middleware/cors.js +1 -1
  93. package/src/middleware/idempotency.js +1 -1
  94. package/src/middleware/rate-limiter.js +1 -1
  95. package/src/middleware/request-logger.js +1 -1
  96. package/src/middleware/security-headers.js +1 -1
  97. package/src/models/base-model-mysql.js +1 -1
  98. package/src/models/base-model-oracle.js +1 -1
  99. package/src/models/base-model-sqlite.js +1 -1
  100. package/src/models/base-model.js +1 -1
  101. package/src/pro/caching/redis-client.js +1 -1
  102. package/src/pro/caching/redis-helper.js +1 -1
  103. package/src/pro/consumers/baseConsumer.js +1 -1
  104. package/src/pro/consumers/declarativeMapper.js +1 -1
  105. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  106. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  107. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  108. package/src/pro/consumers/handlers/index.js +1 -1
  109. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  110. package/src/pro/consumers/index.js +1 -1
  111. package/src/pro/consumers/messageTransformer.js +1 -1
  112. package/src/pro/consumers/validator.js +1 -1
  113. package/src/pro/database/base-model-mysql.js +1 -1
  114. package/src/pro/database/base-model-oracle.js +1 -1
  115. package/src/pro/database/base-model-sqlite.js +1 -1
  116. package/src/pro/database/db-mysql.js +1 -1
  117. package/src/pro/database/db-oracle.js +1 -1
  118. package/src/pro/database/db-sqlite.js +1 -1
  119. package/src/pro/excel/excel-generator.js +1 -1
  120. package/src/pro/excel/excel-parser.js +1 -1
  121. package/src/pro/excel/export-service.js +1 -1
  122. package/src/pro/excel/export_handler.js +1 -1
  123. package/src/pro/excel/import-service.js +1 -1
  124. package/src/pro/excel/import-validator.js +1 -1
  125. package/src/pro/excel/import_handler.js +1 -1
  126. package/src/pro/excel/upsert-builder.js +1 -1
  127. package/src/pro/idgen/idgen-routes.js +1 -1
  128. package/src/pro/integrations/lookup-resolver.js +1 -1
  129. package/src/pro/integrations/upload-handler-v2.js +1 -1
  130. package/src/pro/integrations/upload-handler.js +1 -1
  131. package/src/pro/integrations/webhook.js +1 -1
  132. package/src/pro/locking/lock-routes.js +1 -1
  133. package/src/pro/locking/resource-lock-manager.js +1 -1
  134. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  135. package/src/pro/messaging/kafkaService.js +1 -1
  136. package/src/pro/messaging/messagehubService.js +1 -1
  137. package/src/pro/messaging/rabbitmqService.js +1 -1
  138. package/src/pro/scheduler/job-manager.js +1 -1
  139. package/src/pro/scheduler/job-routes.js +1 -1
  140. package/src/pro/scheduler/job-validator.js +1 -1
  141. package/src/pro/storage/base-storage-provider.js +1 -1
  142. package/src/pro/storage/file-metadata-helper.js +1 -1
  143. package/src/pro/storage/index.js +1 -1
  144. package/src/pro/storage/local-storage-provider.js +1 -1
  145. package/src/pro/storage/s3-storage-provider.js +1 -1
  146. package/src/pro/storage/upload-cleanup-job.js +1 -1
  147. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  148. package/src/pro/storage/upload-pending-tracker.js +1 -1
  149. package/src/pro/websocket/broadcast-helper.js +1 -1
  150. package/src/pro/websocket/index.js +1 -1
  151. package/src/pro/websocket/livesync-server.js +1 -1
  152. package/src/pro/websocket/ws-broadcaster.js +1 -1
  153. package/src/services/export-service.js +1 -1
  154. package/src/services/import-service.js +1 -1
  155. package/src/services/kafkaConsumerService.js +1 -1
  156. package/src/services/kafkaService.js +1 -1
  157. package/src/services/messagehubService.js +1 -1
  158. package/src/services/rabbitmqService.js +1 -1
  159. package/src/utils/cache-invalidation-registry.js +1 -1
  160. package/src/utils/cache-manager.js +1 -1
  161. package/src/utils/component-engine.js +1 -1
  162. package/src/utils/config-extractor.js +1 -1
  163. package/src/utils/consumerLogger.js +1 -1
  164. package/src/utils/context-builder.js +1 -1
  165. package/src/utils/dashboard-helpers.js +1 -1
  166. package/src/utils/dateHelper.js +1 -1
  167. package/src/utils/datetime-formatter.js +1 -1
  168. package/src/utils/datetime-parser.js +1 -1
  169. package/src/utils/db-bootstrap.js +1 -1
  170. package/src/utils/db-mysql.js +1 -1
  171. package/src/utils/db-oracle.js +1 -1
  172. package/src/utils/db-sqlite.js +1 -1
  173. package/src/utils/db.js +1 -1
  174. package/src/utils/demo-generator.js +1 -1
  175. package/src/utils/excel-generator.js +1 -1
  176. package/src/utils/excel-parser.js +1 -1
  177. package/src/utils/file-watcher.js +1 -1
  178. package/src/utils/id-generator.js +1 -1
  179. package/src/utils/idempotency-manager.js +1 -1
  180. package/src/utils/import-validator.js +1 -1
  181. package/src/utils/license-client.js +1 -1
  182. package/src/utils/lock-manager.js +1 -1
  183. package/src/utils/logger.js +1 -1
  184. package/src/utils/lookup-resolver.js +1 -1
  185. package/src/utils/payload-loader.js +1 -1
  186. package/src/utils/processor-response.js +1 -1
  187. package/src/utils/rabbitmq.js +1 -1
  188. package/src/utils/redis-client.js +1 -1
  189. package/src/utils/redis-helper.js +1 -1
  190. package/src/utils/request-scope.js +1 -1
  191. package/src/utils/security-checks.js +1 -1
  192. package/src/utils/service-resolver.js +1 -1
  193. package/src/utils/shutdown-coordinator.js +1 -1
  194. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  195. package/src/utils/sql-table-extractor.js +1 -1
  196. package/src/utils/trusted-keys.js +1 -1
  197. package/src/utils/upload-handler.js +1 -1
  198. package/src/utils/upsert-builder.js +1 -1
  199. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0xa73d(_0x3f84f1,_0x142ca1){_0x3f84f1=_0x3f84f1-0x66;const _0x15908a=a0_0x1590();let _0xa73d19=_0x15908a[_0x3f84f1];if(a0_0xa73d['JmIsiz']===undefined){var _0x312773=function(_0x42eff0){const _0x1b4ab8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x593b23='',_0x345447='';for(let _0x2b1c28=0x0,_0x5eef65,_0x1942a0,_0x59e2ff=0x0;_0x1942a0=_0x42eff0['charAt'](_0x59e2ff++);~_0x1942a0&&(_0x5eef65=_0x2b1c28%0x4?_0x5eef65*0x40+_0x1942a0:_0x1942a0,_0x2b1c28++%0x4)?_0x593b23+=String['fromCharCode'](0xff&_0x5eef65>>(-0x2*_0x2b1c28&0x6)):0x0){_0x1942a0=_0x1b4ab8['indexOf'](_0x1942a0);}for(let _0x2cb08a=0x0,_0x3c7f89=_0x593b23['length'];_0x2cb08a<_0x3c7f89;_0x2cb08a++){_0x345447+='%'+('00'+_0x593b23['charCodeAt'](_0x2cb08a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x345447);};a0_0xa73d['ZdsUSa']=_0x312773,a0_0xa73d['LTZVWa']={},a0_0xa73d['JmIsiz']=!![];}const _0x56f2bf=_0x15908a[0x0],_0x2cc7da=_0x3f84f1+_0x56f2bf,_0x594f29=a0_0xa73d['LTZVWa'][_0x2cc7da];return!_0x594f29?(_0xa73d19=a0_0xa73d['ZdsUSa'](_0xa73d19),a0_0xa73d['LTZVWa'][_0x2cc7da]=_0xa73d19):_0xa73d19=_0x594f29,_0xa73d19;}const a0_0x4d6783=a0_0xa73d;(function(_0x2ea2c6,_0x4ec4e1){const _0x47a3ff=a0_0xa73d,_0x439b51=_0x2ea2c6();while(!![]){try{const _0x504144=-parseInt(_0x47a3ff(0xa5))/0x1+-parseInt(_0x47a3ff(0x7b))/0x2*(-parseInt(_0x47a3ff(0xb5))/0x3)+-parseInt(_0x47a3ff(0x69))/0x4*(-parseInt(_0x47a3ff(0x6c))/0x5)+parseInt(_0x47a3ff(0x72))/0x6+parseInt(_0x47a3ff(0x7a))/0x7*(parseInt(_0x47a3ff(0x74))/0x8)+parseInt(_0x47a3ff(0xb7))/0x9*(-parseInt(_0x47a3ff(0x87))/0xa)+parseInt(_0x47a3ff(0x68))/0xb;if(_0x504144===_0x4ec4e1)break;else _0x439b51['push'](_0x439b51['shift']());}catch(_0x44f544){_0x439b51['push'](_0x439b51['shift']());}}}(a0_0x1590,0x9ef7b));function a0_0x1590(){const _0x3754c5=['Bg9JA19LEhrLBMrLza','mJG3mdCZzfviDfbp','zgvMyxvSDfruta','z2v0tg9JA0LUzM8','mte1ntm0mw9vswLVrW','mJm3odq3mNbLtLnkCa','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','zxzHBa','mtbpDgTRvuG','yvvPrgy','AfHLEeK','x3DVCMTLCKLK','A0feC0W','t1DQzwS','ndKXmteYuhryAKro','D3jPDgvFBg9JA193ywL0Aw5N','mtu4mdbyzeDUA3C','ChjLzML4','B1bPsLa','BwvZC2fNzq','EMjvrfy','x3bYzwzPEa','mJy1m2nYEfbSrW','mtHYsLnxAe8','D3jPDgvFBg9JA190Aw1LB3v0','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','x2LUAxrPywXPEMvK','CMvSzwfZzuXVy2S','yxnyAw0','svDeteC','D29YA2vYswq','lcbZDhjHDgvNEtOG','Cg93','zgvIDwC','zufNwLy','mJKWy3Dbq3PJ','BM93','zxjYB3i','tg9JAYbYzwXLyxnLigvYCM9Y','ywXS','EKPWAge','yNvPBgrmB2nRs2v5','x2rLzMf1BhruveW','CMv0CNLdB3vUDa','C2v0','CMvHzf9SB2nRx3jLBgvHC2vK','lI9YzwrPCY1JBgLLBNq','x3jLDhj5rgvSyxK','zxHWAxjL','D3jPDgu','D29YA2vYlq','D3jPDgvFBg9JA19Hy3f1AxjLza','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','D3zLtMC','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','sNnjEwq','CMv0CNK','x2vUywjSzwq','x3jLDhj5q291BNq','zw5HyMXLza','AK1vswC','ze1TDLq','x2vUC3vYzuLUAxrPywXPEMvK','z2v0q2XPzw50','CMvHza','ody0mZCZrMTQzeLZ','CMv0CNLezwXHEq','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','te9ds19esvnuuKLcvvrfrf9uveW','zw52','CMvQzwn0','CMvHzf9SB2nRx2fJCxvPCMvK','x3n0CMf0zwD5','z2v0','y3nvBK8','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','CxrmtgO','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','zxHWB3j0CW','z2f1AK8','uKvbrcbSB2nRigfJCxvPCMvK','mta1mJKXEw9ovxr5'];a0_0x1590=function(){return _0x3754c5;};return a0_0x1590();}const redisClient=require(a0_0x4d6783(0x92)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x11bf75=a0_0x4d6783;this[_0x11bf75(0x79)]=null,this['_enabled']=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x11bf75(0x93)]=null,this[_0x11bf75(0xac)]=null,this[_0x11bf75(0x6f)]=null,this[_0x11bf75(0x7e)]=![];}['_initConfig'](){const _0x4fa8c9=a0_0x4d6783,_0x2f0101={'gaujO':'lock_config_init','QWVwg':function(_0x59daee,_0x2d337a,_0x37408d){return _0x59daee(_0x2d337a,_0x37408d);},'IWDLG':'true','VSfRy':'rf:lock:'},_0x2fff5e='8|5|3|6|4|7|1|0|2'['split']('|');let _0x2dadac=0x0;while(!![]){switch(_0x2fff5e[_0x2dadac++]){case'0':this[_0x4fa8c9(0x7e)]=!![];continue;case'1':this['_workerId']=_0x4fa8c9(0x96)+process['pid'];continue;case'2':logger['info']({'event':_0x2f0101[_0x4fa8c9(0xb3)],'enabled':this[_0x4fa8c9(0x9d)],'strategy':this['_strategy'],'ttl':this[_0x4fa8c9(0x8e)],'retryCount':this[_0x4fa8c9(0x9e)],'retryDelay':this['_retryDelay'],'workerId':this[_0x4fa8c9(0x6f)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x4fa8c9(0x83)+this['_strategy']);continue;case'3':this['_defaultTTL']=parseInt(process['env'][_0x4fa8c9(0xa8)],0xa)||0xa;continue;case'4':this[_0x4fa8c9(0x93)]=_0x2f0101['QWVwg'](parseInt,process['env'][_0x4fa8c9(0xaf)],0xa)||0x64;continue;case'5':this['_enabled']=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x2f0101[_0x4fa8c9(0x81)];continue;case'6':this[_0x4fa8c9(0x9e)]=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'7':this[_0x4fa8c9(0xac)]=process[_0x4fa8c9(0xa9)][_0x4fa8c9(0x9a)]||'retry';continue;case'8':this[_0x4fa8c9(0x79)]=_0x2f0101['VSfRy'];continue;}break;}}[a0_0x4d6783(0xa2)](){const _0x476112=a0_0x4d6783;!this[_0x476112(0x7e)]&&this['_initConfig']();}get[a0_0x4d6783(0x75)](){return this['_ensureInitialized'](),this['_prefix'];}get[a0_0x4d6783(0x9f)](){return this['_ensureInitialized'](),this['_enabled'];}get['defaultTTL'](){const _0x176004=a0_0x4d6783;return this['_ensureInitialized'](),this[_0x176004(0x8e)];}get[a0_0x4d6783(0x8f)](){const _0x51e766=a0_0x4d6783;return this[_0x51e766(0xa2)](),this['_retryCount'];}get[a0_0x4d6783(0xa6)](){const _0x2e36e6=a0_0x4d6783;return this['_ensureInitialized'](),this[_0x2e36e6(0x93)];}get['strategy'](){const _0x55b286=a0_0x4d6783;return this['_ensureInitialized'](),this[_0x55b286(0xac)];}get['workerId'](){const _0x13fd4c=a0_0x4d6783;return this[_0x13fd4c(0xa2)](),this[_0x13fd4c(0x6f)];}[a0_0x4d6783(0x8d)](_0xb32ebc){const {module:_0x37e299,endpoint:_0x270f7f,lockType:_0x27a7cb,recordId:_0x16297c}=_0xb32ebc;if(_0x16297c)return''+this['prefix']+_0x37e299+':'+_0x270f7f+':'+_0x16297c+':'+_0x27a7cb;return''+this['prefix']+_0x37e299+':'+_0x270f7f+':'+_0x27a7cb;}['generateLockValue'](){const _0x5a3ec3=a0_0x4d6783,_0x31d520={'oPiJP':function(_0x24514f){return _0x24514f();}};return this[_0x5a3ec3(0x82)]+':'+_0x31d520[_0x5a3ec3(0x76)](uuidv4)+':'+Date[_0x5a3ec3(0x88)]();}async['acquireReadLock'](_0x613e01){const _0x1513d4=a0_0x4d6783,_0x5f2591={'dqrfd':_0x1513d4(0x95),'eAgZV':_0x1513d4(0xa4),'LVPgr':function(_0x61edb1,_0x26809f){return _0x61edb1<_0x26809f;},'wveNg':_0x1513d4(0xb4),'jMUIg':_0x1513d4(0xb1),'uOUUu':function(_0x4730c7,_0x3df17c){return _0x4730c7*_0x3df17c;},'rcCXo':_0x1513d4(0x98),'aUiDf':'read_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x3c3b98=this['buildLockKey']({..._0x613e01,'lockType':_0x5f2591['dqrfd']}),_0x2fdea2=this[_0x1513d4(0x8d)]({..._0x613e01,'lockType':_0x5f2591[_0x1513d4(0x86)]}),_0x21351=this['generateLockValue']();try{const _0x2921b8=redisClient[_0x1513d4(0xa3)]();for(let _0x3e1c3a=0x0;_0x5f2591['LVPgr'](_0x3e1c3a,this['retryCount']);_0x3e1c3a++){const _0x22c9f6=await _0x2921b8['get'](_0x3c3b98);if(!_0x22c9f6){await _0x2921b8['incr'](_0x2fdea2),await _0x2921b8[_0x1513d4(0x94)](_0x2fdea2,this['defaultTTL']);const _0x5f4828=_0x2fdea2+':'+_0x21351;return await _0x2921b8['setex'](_0x5f4828,this['defaultTTL'],_0x21351),logger[_0x1513d4(0x85)]({'event':_0x1513d4(0xab),'key':_0x2fdea2,'value':_0x21351},_0x5f2591[_0x1513d4(0x99)]),{'success':!![],'lockValue':_0x21351,'lockKey':_0x5f4828};}logger[_0x1513d4(0x85)]({'event':'read_lock_waiting','writeKey':_0x3c3b98,'attempt':_0x3e1c3a},_0x5f2591[_0x1513d4(0xa0)]),await this['sleep'](_0x5f2591['uOUUu'](this[_0x1513d4(0xa6)],Math[_0x1513d4(0x84)](0x2,_0x3e1c3a)));}return logger['warn']({'event':'read_lock_timeout','key':_0x2fdea2},_0x5f2591['rcCXo']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x5b4218){return logger['error']({'event':_0x5f2591[_0x1513d4(0x6d)],'error':_0x5b4218[_0x1513d4(0x77)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x1c7fbb){const _0x1a7e2e=a0_0x4d6783,_0x18e3ca={'kADsL':_0x1a7e2e(0x95),'zbUDV':'reject','zJpha':function(_0x435485,_0x1592da){return _0x435485===_0x1592da;},'asXim':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','qtLLj':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','urJol':function(_0x31dd17,_0x238ab7){return _0x31dd17(_0x238ab7);},'dMmvT':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','hXexI':_0x1a7e2e(0xa7),'VjAak':'write_lock_error'};if(!this[_0x1a7e2e(0x9f)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x1574e4=this[_0x1a7e2e(0x8d)]({..._0x1c7fbb,'lockType':_0x18e3ca[_0x1a7e2e(0x70)]}),_0x35042f=this['buildLockKey']({..._0x1c7fbb,'lockType':_0x1a7e2e(0xa4)}),_0x4e1907=this['generateLockValue']();try{const _0x56cc8a=redisClient[_0x1a7e2e(0xa3)]();if(this['strategy']===_0x18e3ca[_0x1a7e2e(0x78)]){const _0x31ae81=await _0x56cc8a[_0x1a7e2e(0x90)](_0x1574e4,_0x4e1907,'EX',this['defaultTTL'],'NX');if(_0x18e3ca[_0x1a7e2e(0x8c)](_0x31ae81,'OK'))return logger[_0x1a7e2e(0x85)]({'event':_0x1a7e2e(0x97),'key':_0x1574e4,'value':_0x4e1907,'strategy':_0x1a7e2e(0xaa)},_0x18e3ca[_0x1a7e2e(0x80)]),{'success':!![],'lockValue':_0x4e1907,'lockKey':_0x1574e4};return logger['debug']({'event':'write_lock_rejected','key':_0x1574e4},_0x18e3ca[_0x1a7e2e(0xb0)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x4e428b=0x0;_0x4e428b<this[_0x1a7e2e(0x8f)];_0x4e428b++){const [_0x16fbfc,_0x3398ba]=await Promise[_0x1a7e2e(0x8b)]([_0x56cc8a[_0x1a7e2e(0xad)](_0x35042f),_0x56cc8a['get'](_0x1574e4)]);if(!_0x3398ba&&(!_0x16fbfc||_0x18e3ca['urJol'](parseInt,_0x16fbfc)===0x0)){const _0x4dba46=await _0x56cc8a['set'](_0x1574e4,_0x4e1907,'EX',this['defaultTTL'],'NX');if(_0x18e3ca[_0x1a7e2e(0x8c)](_0x4dba46,'OK'))return logger['debug']({'event':'write_lock_acquired','key':_0x1574e4,'value':_0x4e1907,'strategy':_0x1a7e2e(0x9c)},_0x18e3ca[_0x1a7e2e(0xa1)]),{'success':!![],'lockValue':_0x4e1907,'lockKey':_0x1574e4};}logger['debug']({'event':_0x1a7e2e(0x73),'writeKey':_0x1574e4,'readCount':_0x16fbfc,'attempt':_0x4e428b},_0x1a7e2e(0x6a)),await this['sleep'](this['retryDelay']*Math['pow'](0x2,_0x4e428b));}return logger['warn']({'event':_0x1a7e2e(0x7c),'key':_0x1574e4},_0x18e3ca[_0x1a7e2e(0x6e)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x41832b){return logger[_0x1a7e2e(0x89)]({'event':_0x18e3ca['VjAak'],'error':_0x41832b[_0x1a7e2e(0x77)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x4d6783(0x7f)](_0x5e3ac1,_0x4be6b7){const _0x21fea0=a0_0x4d6783,_0x1c9dd3={'yRaAY':function(_0x318797,_0x5007e5){return _0x318797(_0x5007e5);},'zMCNb':_0x21fea0(0x91),'OWjek':'READ\x20lock\x20released','DeeUP':'WRITE\x20lock\x20released','rLSSr':'lock_release_not_owner'};if(!this['enabled']||!_0x5e3ac1)return!![];try{const _0xb79db9=redisClient['getClient']();if(_0x5e3ac1['includes'](':read:')){await _0xb79db9['del'](_0x5e3ac1);const _0x272f10=_0x5e3ac1['substring'](0x0,_0x5e3ac1['lastIndexOf'](':')),_0x2504d4=await _0xb79db9['get'](_0x272f10);return _0x2504d4&&_0x1c9dd3['yRaAY'](parseInt,_0x2504d4)>0x0&&await _0xb79db9['decr'](_0x272f10),logger[_0x21fea0(0x85)]({'event':_0x1c9dd3['zMCNb'],'key':_0x5e3ac1},_0x1c9dd3[_0x21fea0(0x71)]),!![];}const _0x215c9b='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x35b1d8=await _0xb79db9[_0x21fea0(0x6b)](_0x215c9b,0x1,_0x5e3ac1,_0x4be6b7);if(_0x35b1d8===0x1)return logger['debug']({'event':'write_lock_released','key':_0x5e3ac1},_0x1c9dd3['DeeUP']),!![];return logger['warn']({'event':_0x1c9dd3['rLSSr'],'key':_0x5e3ac1},_0x21fea0(0x7d)),![];}catch(_0x3920ac){return logger[_0x21fea0(0x89)]({'event':'lock_release_error','key':_0x5e3ac1,'error':_0x3920ac[_0x21fea0(0x77)]},_0x21fea0(0x8a)),![];}}async['extendLock'](_0xa1fc20,_0x2a3feb,_0x34a3c3=null){const _0x4402ec=a0_0x4d6783,_0x39f21d={'cvnYy':'Lock\x20TTL\x20extended'};if(!this[_0x4402ec(0x9f)]||!_0xa1fc20)return!![];try{const _0x32c312=redisClient['getClient'](),_0x346502='\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',_0x38ba35=await _0x32c312[_0x4402ec(0x6b)](_0x346502,0x1,_0xa1fc20,_0x2a3feb,_0x34a3c3||this[_0x4402ec(0x66)]);if(_0x38ba35===0x1)return logger[_0x4402ec(0x85)]({'event':_0x4402ec(0xb6),'key':_0xa1fc20,'ttl':_0x34a3c3||this['defaultTTL']},_0x39f21d['cvnYy']),!![];return![];}catch(_0x4ff8dd){return logger['error']({'event':'lock_extend_error','key':_0xa1fc20,'error':_0x4ff8dd[_0x4402ec(0x77)]},'Lock\x20extend\x20error'),![];}}['isEnabled'](){const _0x371c88=a0_0x4d6783;return this[_0x371c88(0x9f)];}['sleep'](_0x220f52){return new Promise(_0x5b85ff=>setTimeout(_0x5b85ff,_0x220f52));}async[a0_0x4d6783(0x67)](_0x7d65de){const _0x5065b9=a0_0x4d6783,_0x247f9d={'YjZJI':'read','csUnO':function(_0x211782,_0x153ff6){return _0x211782||_0x153ff6;},'JsIyd':function(_0x5c3508,_0x4f878b){return _0x5c3508(_0x4f878b);}};if(!this[_0x5065b9(0x9f)])return{'enabled':![]};try{const _0x1d5fa4=redisClient[_0x5065b9(0xa3)](),_0x3974db=this['buildLockKey']({..._0x7d65de,'lockType':'write'}),_0x37b72d=this[_0x5065b9(0x8d)]({..._0x7d65de,'lockType':_0x247f9d['YjZJI']}),[_0x520b3f,_0x483fa6]=await Promise[_0x5065b9(0x8b)]([_0x1d5fa4[_0x5065b9(0xad)](_0x3974db),_0x1d5fa4[_0x5065b9(0xad)](_0x37b72d)]);return{'enabled':!![],'writeLock':_0x247f9d[_0x5065b9(0xae)](_0x520b3f,null),'readCount':_0x247f9d[_0x5065b9(0x9b)](parseInt,_0x483fa6)||0x0,'writeKey':_0x3974db,'readKey':_0x37b72d};}catch(_0x242768){return{'enabled':!![],'error':_0x242768[_0x5065b9(0x77)]};}}}module[a0_0x4d6783(0xb2)]=new LockManager();
1
+ const a0_0x4a5439=a0_0x4df1;(function(_0x37ee56,_0x2d4eb8){const _0x5ed142=a0_0x4df1,_0x43908e=_0x37ee56();while(!![]){try{const _0x470b56=-parseInt(_0x5ed142(0xcd))/0x1+parseInt(_0x5ed142(0xe3))/0x2*(parseInt(_0x5ed142(0xb7))/0x3)+-parseInt(_0x5ed142(0xac))/0x4*(-parseInt(_0x5ed142(0xaa))/0x5)+parseInt(_0x5ed142(0xe8))/0x6*(parseInt(_0x5ed142(0xc7))/0x7)+parseInt(_0x5ed142(0xe0))/0x8+parseInt(_0x5ed142(0xab))/0x9*(parseInt(_0x5ed142(0xb9))/0xa)+-parseInt(_0x5ed142(0xd2))/0xb*(parseInt(_0x5ed142(0x98))/0xc);if(_0x470b56===_0x2d4eb8)break;else _0x43908e['push'](_0x43908e['shift']());}catch(_0x7b11e1){_0x43908e['push'](_0x43908e['shift']());}}}(a0_0x17b1,0x534ad));function a0_0x17b1(){const _0x5cf029=['zurmu2m','mtK1nZeYmM14thvvwa','zgvIDwC','yNvPBgrmB2nRs2v5','tg9JAYbuveWGzxH0zw5Kzwq','v1jjveuGBg9JAYbYzwXLyxnLza','BgfZDeLUzgv4t2y','D29YA2vYswq','ChjLzML4','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','CgLK','uKvbrcbSB2nRigvYCM9Y','C2XLzxa','mJyXnLP3B1rdEq','v1jjveuGBg9JAYbLCNjVCG','zNrVAuO','z2v0','zxHWAxjL','zgvMyxvSDfruta','A01hEgy','tNPTDwi','ALzHyuG','x2rLzMf1BhruveW','Aw5JBhvKzxm','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','De1pv3y','s0TAAw4','Bg9JA19JB25MAwDFAw5PDa','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','zw52','ywnXDwLYzvDYAxrLtg9JAW','mJi0nZGZnunZBhLQEq','mtuYotCWm0fzzgjdzW','nfHQt0LLqG','D3jPDgu','x3n0CMf0zwD5','Bg9JA19LEhrLBMrLza','AxnfBMfIBgvK','te9ds19esvnuuKLcvvrfrf9srvrswq','zgvJCG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','D3jPDgvFBg9JA190Aw1LB3v0','CMy6Bg9JAZO','A0ncq3G','mtGYmuDQvKzVDq','D2fYBG','mtbjwLrKDvi','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMvHzf9SB2nRx2vYCM9Y','z2v0q2XPzw50','sKXpBLC','u1zNC2q','uKvbrcbSB2nRigfJCxvPCMvK','D3jPDgvFBg9JA193ywL0Aw5N','x3bYzwzPEa','zxH0zw5Ktg9JAW','CMvHzf9SB2nRx3jLBgvHC2vK','Aw5MBW','x3jLDhj5q291BNq','CMvQzwn0','n1jADKHlAq','BwvZC2fNzq','DMnerxy','te9ds19esvnuuKLcvvrfrf9uveW','x2LUAxrdB25MAwC','x3jLDhj5rgvSyxK','mJy0odCYBfbLsM9L','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','qw1SzxK','Cg93','zw5HyMXLza','nty0nZrYwMzcDgi','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','CMvHzf9SB2nRx2fJCxvPCMvK','C3vIC3rYAw5N','D3jPDgvFBg9JA19YzwXLyxnLza','x2vUywjSzwq','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','z2v0tg9JA0LUzM8','CMv0CNLezwXHEq','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','x3DVCMTLCKLK','zxzHBa','CMvHza','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','mJC0ndC2mgXwwgHMBG','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','x2vUC3vYzuLUAxrPywXPEMvK','mtqZohnrB1vfAq','zxjYB3i','BM93','t2nYzxO'];a0_0x17b1=function(){return _0x5cf029;};return a0_0x17b1();}function a0_0x4df1(_0x3d384c,_0x1ab866){_0x3d384c=_0x3d384c-0x8e;const _0x17b17e=a0_0x17b1();let _0x4df1ce=_0x17b17e[_0x3d384c];if(a0_0x4df1['UUaDSo']===undefined){var _0x269948=function(_0x1e64d6){const _0x376ea7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3295b7='',_0x2ac974='';for(let _0x2d7818=0x0,_0x3e8b42,_0x514c72,_0x2c92a7=0x0;_0x514c72=_0x1e64d6['charAt'](_0x2c92a7++);~_0x514c72&&(_0x3e8b42=_0x2d7818%0x4?_0x3e8b42*0x40+_0x514c72:_0x514c72,_0x2d7818++%0x4)?_0x3295b7+=String['fromCharCode'](0xff&_0x3e8b42>>(-0x2*_0x2d7818&0x6)):0x0){_0x514c72=_0x376ea7['indexOf'](_0x514c72);}for(let _0x1e2f81=0x0,_0x470118=_0x3295b7['length'];_0x1e2f81<_0x470118;_0x1e2f81++){_0x2ac974+='%'+('00'+_0x3295b7['charCodeAt'](_0x1e2f81)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ac974);};a0_0x4df1['hiTLDU']=_0x269948,a0_0x4df1['kLUhYA']={},a0_0x4df1['UUaDSo']=!![];}const _0x2a08ea=_0x17b17e[0x0],_0x4036c4=_0x3d384c+_0x2a08ea,_0x30e259=a0_0x4df1['kLUhYA'][_0x4036c4];return!_0x30e259?(_0x4df1ce=a0_0x4df1['hiTLDU'](_0x4df1ce),a0_0x4df1['kLUhYA'][_0x4036c4]=_0x4df1ce):_0x4df1ce=_0x30e259,_0x4df1ce;}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x28fd18=a0_0x4df1;this['_prefix']=null,this[_0x28fd18(0xd7)]=null,this[_0x28fd18(0xa1)]=null,this['_retryCount']=null,this['_retryDelay']=null,this[_0x28fd18(0xae)]=null,this['_workerId']=null,this['_initialized']=![];}['_initConfig'](){const _0x37237d=a0_0x4df1,_0x490ab6={'Nzmub':'true'};this['_prefix']=_0x37237d(0xb5),this[_0x37237d(0xd7)]=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x490ab6[_0x37237d(0x9f)],this['_defaultTTL']=parseInt(process['env'][_0x37237d(0xca)],0xa)||0xa,this[_0x37237d(0xc5)]=parseInt(process[_0x37237d(0xa8)][_0x37237d(0xb1)],0xa)||0x3,this[_0x37237d(0xcc)]=parseInt(process[_0x37237d(0xa8)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this['_strategy']=process[_0x37237d(0xa8)]['LOCK_DISTRIBUTED_STRATEGY']||'retry',this['_workerId']='worker-'+process[_0x37237d(0x95)],this['_initialized']=!![],logger[_0x37237d(0xc4)]({'event':_0x37237d(0xa6),'enabled':this[_0x37237d(0xd7)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this[_0x37237d(0xc5)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x37237d(0xdf)+this['_enabled']+',\x20strategy:\x20'+this[_0x37237d(0xae)]);}['_ensureInitialized'](){const _0x3c8c86=a0_0x4df1;!this['_initialized']&&this[_0x3c8c86(0xcb)]();}get['prefix'](){const _0x3d34fb=a0_0x4df1;return this[_0x3d34fb(0xe2)](),this[_0x3d34fb(0xc1)];}get['enabled'](){const _0x59413b=a0_0x4df1;return this['_ensureInitialized'](),this[_0x59413b(0xd7)];}get['defaultTTL'](){const _0x261c88=a0_0x4df1;return this[_0x261c88(0xe2)](),this['_defaultTTL'];}get['retryCount'](){const _0x48d63f=a0_0x4df1;return this[_0x48d63f(0xe2)](),this[_0x48d63f(0xc5)];}get[a0_0x4a5439(0xda)](){return this['_ensureInitialized'](),this['_retryDelay'];}get['strategy'](){const _0xdaf72d=a0_0x4a5439;return this[_0xdaf72d(0xe2)](),this['_strategy'];}get[a0_0x4a5439(0x92)](){const _0x171c38=a0_0x4a5439;return this['_ensureInitialized'](),this[_0x171c38(0xdc)];}[a0_0x4a5439(0x8e)](_0x142cf2){const _0x2cb1d7=a0_0x4a5439,{module:_0x4e59e9,endpoint:_0x1aeaf2,lockType:_0x2463da,recordId:_0x2a5489}=_0x142cf2;if(_0x2a5489)return''+this[_0x2cb1d7(0x93)]+_0x4e59e9+':'+_0x1aeaf2+':'+_0x2a5489+':'+_0x2463da;return''+this['prefix']+_0x4e59e9+':'+_0x1aeaf2+':'+_0x2463da;}['generateLockValue'](){const _0x5edc69=a0_0x4a5439;return this['workerId']+':'+uuidv4()+':'+Date[_0x5edc69(0xe5)]();}async['acquireReadLock'](_0x411f25){const _0x579f7a=a0_0x4a5439,_0x380b9e={'SVgsd':_0x579f7a(0xbf),'ftoiJ':_0x579f7a(0xdb),'KKZin':function(_0x4c0170,_0x5d240c){return _0x4c0170*_0x5d240c;},'jVaaH':'READ\x20lock\x20acquire\x20timeout'};if(!this[_0x579f7a(0xd1)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2ca665=this[_0x579f7a(0x8e)]({..._0x411f25,'lockType':_0x579f7a(0xad)}),_0x2f017e=this[_0x579f7a(0x8e)]({..._0x411f25,'lockType':_0x579f7a(0xde)}),_0x19751e=this['generateLockValue']();try{const _0x12e6ca=redisClient[_0x579f7a(0xbc)]();for(let _0x121981=0x0;_0x121981<this['retryCount'];_0x121981++){const _0xdd7bf6=await _0x12e6ca['get'](_0x2ca665);if(!_0xdd7bf6){await _0x12e6ca['incr'](_0x2f017e),await _0x12e6ca[_0x579f7a(0x9c)](_0x2f017e,this['defaultTTL']);const _0x46134c=_0x2f017e+':'+_0x19751e;return await _0x12e6ca['setex'](_0x46134c,this[_0x579f7a(0x9d)],_0x19751e),logger['debug']({'event':_0x579f7a(0xd4),'key':_0x2f017e,'value':_0x19751e},_0x380b9e[_0x579f7a(0xbe)]),{'success':!![],'lockValue':_0x19751e,'lockKey':_0x46134c};}logger['debug']({'event':'read_lock_waiting','writeKey':_0x2ca665,'attempt':_0x121981},_0x380b9e[_0x579f7a(0x9a)]),await this[_0x579f7a(0x97)](_0x380b9e[_0x579f7a(0xa5)](this[_0x579f7a(0xda)],Math[_0x579f7a(0xd0)](0x2,_0x121981)));}return logger['warn']({'event':'read_lock_timeout','key':_0x2f017e},_0x380b9e[_0x579f7a(0xa0)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0xd7c14f){return logger['error']({'event':_0x579f7a(0xbb),'error':_0xd7c14f['message']},_0x579f7a(0x96)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x4a5439(0xa9)](_0x7c8fea){const _0x3e798a=a0_0x4a5439,_0x4cf4ed={'bjwEf':'write','ZLCEI':_0x3e798a(0xc6),'phPsx':_0x3e798a(0xa3),'NeRDI':_0x3e798a(0x94),'Amley':function(_0x3abfa6,_0x286aa4){return _0x3abfa6(_0x286aa4);},'kCBCx':function(_0x5bb272,_0x3d9c24){return _0x5bb272===_0x3d9c24;},'kMGxf':'write_lock_acquired','vcDEv':'retry','jcmwT':_0x3e798a(0xd8),'pDGGK':function(_0x44285e,_0x5c0093){return _0x44285e*_0x5c0093;},'Ocrez':_0x3e798a(0x99)};if(!this[_0x3e798a(0xd1)])return{'success':!![],'lockValue':null,'lockKey':null};const _0xf09275=this['buildLockKey']({..._0x7c8fea,'lockType':_0x4cf4ed['bjwEf']}),_0x159049=this[_0x3e798a(0x8e)]({..._0x7c8fea,'lockType':_0x3e798a(0xde)}),_0x1cee7a=this['generateLockValue']();try{const _0x18a1ee=redisClient[_0x3e798a(0xbc)]();if(this['strategy']===_0x3e798a(0xc6)){const _0xee3bec=await _0x18a1ee['set'](_0xf09275,_0x1cee7a,'EX',this[_0x3e798a(0x9d)],'NX');if(_0xee3bec==='OK')return logger[_0x3e798a(0xe9)]({'event':'write_lock_acquired','key':_0xf09275,'value':_0x1cee7a,'strategy':_0x4cf4ed['ZLCEI']},_0x4cf4ed['phPsx']),{'success':!![],'lockValue':_0x1cee7a,'lockKey':_0xf09275};return logger[_0x3e798a(0xe9)]({'event':'write_lock_rejected','key':_0xf09275},_0x4cf4ed['NeRDI']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x519582=0x0;_0x519582<this['retryCount'];_0x519582++){const [_0x558911,_0x224386]=await Promise['all']([_0x18a1ee[_0x3e798a(0x9b)](_0x159049),_0x18a1ee[_0x3e798a(0x9b)](_0xf09275)]);if(!_0x224386&&(!_0x558911||_0x4cf4ed[_0x3e798a(0xcf)](parseInt,_0x558911)===0x0)){const _0x5ca96f=await _0x18a1ee['set'](_0xf09275,_0x1cee7a,'EX',this[_0x3e798a(0x9d)],'NX');if(_0x4cf4ed[_0x3e798a(0xb6)](_0x5ca96f,'OK'))return logger['debug']({'event':_0x4cf4ed[_0x3e798a(0x9e)],'key':_0xf09275,'value':_0x1cee7a,'strategy':_0x4cf4ed[_0x3e798a(0xc9)]},_0x3e798a(0xa7)),{'success':!![],'lockValue':_0x1cee7a,'lockKey':_0xf09275};}logger[_0x3e798a(0xe9)]({'event':_0x3e798a(0xc0),'writeKey':_0xf09275,'readCount':_0x558911,'attempt':_0x519582},_0x4cf4ed['jcmwT']),await this[_0x3e798a(0x97)](_0x4cf4ed['pDGGK'](this['retryDelay'],Math['pow'](0x2,_0x519582)));}return logger[_0x3e798a(0xb8)]({'event':_0x3e798a(0xb4),'key':_0xf09275},_0x3e798a(0xe1)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x5df93d){return logger['error']({'event':'write_lock_error','error':_0x5df93d[_0x3e798a(0xc8)]},_0x4cf4ed[_0x3e798a(0xe6)]),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x16b111,_0x263918){const _0x853a39=a0_0x4a5439,_0x4dc32b={'QmEsp':function(_0x411905,_0x57a0a5){return _0x411905>_0x57a0a5;},'tMOWv':'READ\x20lock\x20released','DhCjf':function(_0x37fca4,_0x13596d){return _0x37fca4===_0x13596d;},'FCLIt':_0x853a39(0x90),'JLOnW':'lock_release_error'};if(!this[_0x853a39(0xd1)]||!_0x16b111)return!![];try{const _0x5d19a0=redisClient[_0x853a39(0xbc)]();if(_0x16b111[_0x853a39(0xa2)](':read:')){await _0x5d19a0['del'](_0x16b111);const _0x107c32=_0x16b111[_0x853a39(0xd5)](0x0,_0x16b111[_0x853a39(0x91)](':')),_0xb1e9e=await _0x5d19a0[_0x853a39(0x9b)](_0x107c32);return _0xb1e9e&&_0x4dc32b['QmEsp'](parseInt(_0xb1e9e),0x0)&&await _0x5d19a0[_0x853a39(0xb2)](_0x107c32),logger[_0x853a39(0xe9)]({'event':_0x853a39(0xc3),'key':_0x16b111},_0x4dc32b[_0x853a39(0xa4)]),!![];}const _0x2a03fc=_0x853a39(0xba),_0x4220b1=await _0x5d19a0[_0x853a39(0xdd)](_0x2a03fc,0x1,_0x16b111,_0x263918);if(_0x4dc32b['DhCjf'](_0x4220b1,0x1))return logger['debug']({'event':_0x853a39(0xd6),'key':_0x16b111},_0x4dc32b['FCLIt']),!![];return logger['warn']({'event':_0x853a39(0xce),'key':_0x16b111},_0x853a39(0xd3)),![];}catch(_0x3a5e4d){return logger[_0x853a39(0xe4)]({'event':_0x4dc32b[_0x853a39(0xbd)],'key':_0x16b111,'error':_0x3a5e4d['message']},'Lock\x20release\x20error'),![];}}async[a0_0x4a5439(0xc2)](_0x7e0b91,_0xd3148d,_0x3745a2=null){const _0x528a4e=a0_0x4a5439,_0x1044c9={'RHJnF':function(_0x2a9bdc,_0x47994e){return _0x2a9bdc===_0x47994e;},'BDAGS':_0x528a4e(0xaf),'eDLSc':_0x528a4e(0x8f),'UddCx':'lock_extend_error','YSNSH':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x7e0b91)return!![];try{const _0x1060a7=redisClient['getClient'](),_0x3a997e=_0x528a4e(0xb3),_0x5a9286=await _0x1060a7[_0x528a4e(0xdd)](_0x3a997e,0x1,_0x7e0b91,_0xd3148d,_0x3745a2||this[_0x528a4e(0x9d)]);if(_0x1044c9['RHJnF'](_0x5a9286,0x1))return logger['debug']({'event':_0x1044c9['BDAGS'],'key':_0x7e0b91,'ttl':_0x3745a2||this[_0x528a4e(0x9d)]},_0x1044c9[_0x528a4e(0xe7)]),!![];return![];}catch(_0xb663d1){return logger[_0x528a4e(0xe4)]({'event':_0x1044c9['UddCx'],'key':_0x7e0b91,'error':_0xb663d1['message']},_0x1044c9['YSNSH']),![];}}[a0_0x4a5439(0xb0)](){const _0x33f265=a0_0x4a5439;return this[_0x33f265(0xd1)];}[a0_0x4a5439(0x97)](_0x559660){return new Promise(_0x359fab=>setTimeout(_0x359fab,_0x559660));}async[a0_0x4a5439(0xd9)](_0x5a6616){const _0x53117b=a0_0x4a5439,_0x4ecd5b={'RNeAP':'write','JlOaf':function(_0x7149b2,_0x2f8eda){return _0x7149b2||_0x2f8eda;},'BQSEm':function(_0x4fe5e0,_0x29eab4){return _0x4fe5e0(_0x29eab4);}};if(!this[_0x53117b(0xd1)])return{'enabled':![]};try{const _0x5a9c5d=redisClient[_0x53117b(0xbc)](),_0x2fbfb3=this[_0x53117b(0x8e)]({..._0x5a6616,'lockType':_0x4ecd5b['RNeAP']}),_0x2bb243=this['buildLockKey']({..._0x5a6616,'lockType':'read'}),[_0x4fa790,_0x2adcf0]=await Promise['all']([_0x5a9c5d[_0x53117b(0x9b)](_0x2fbfb3),_0x5a9c5d[_0x53117b(0x9b)](_0x2bb243)]);return{'enabled':!![],'writeLock':_0x4ecd5b['JlOaf'](_0x4fa790,null),'readCount':_0x4ecd5b['BQSEm'](parseInt,_0x2adcf0)||0x0,'writeKey':_0x2fbfb3,'readKey':_0x2bb243};}catch(_0x20261a){return{'enabled':!![],'error':_0x20261a['message']};}}}module['exports']=new LockManager();
@@ -1 +1 @@
1
- function a0_0x22ad(){const _0x473924=['CfvTzhG','u3nJq1C','rvnmuNy','AxnbCNjHEq','zxHPDa','z2v0','ChDK','D25rv0C','AgvHBhrOq2HLy2S','AM9PBG','zgjFDhjHBNnHy3rPB24','EeziuwG','yxbPA2v5','q1jjveLdquW','C3rHDhvZq29Kzq','mtmWBeHsCenx','wwXiEwy','y29UzMLNrMLSzq','A01hz1e','vvbeqvrf','thHZrhC','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','DurIA2C','zMf0ywW','q09ntuLu','suvMtLe','iokvKqRILzeGienVBMzPzYaGicaGidOG','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','AgvHzgvYCW','t0jTv1e','C29Tzq','DxjS','tLnvALa','ywnJzxnZx3rVA2vU','Ag9ZDa','DwHoA3O','wKXrCMe','u1fmx0Xpr19ftKfcteve','quvltxu','sw50zxjUywWGC2vYDMvYigvYCM9Y','icbizwfSDgG6ia','DhjPBq','C3rYAw5NAwz5','te9hx0rjuG','C3rKvgLTzuz1BMn0Aw9UCW','CgfZC3DVCMq','uxjRuKe','BwvZC2fNzq','CLLiEfm','nZyXmtzUre5HAvi','ChjPDMf0zv9RzxK','y2HPBgq','uwr6sNq','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','yxbWlMXVzW','ChjVAMvJDf9SB2fKzwq','zurmuhy','yMfZzvvYBa','tK9erv9ftLy','revmrvrf','zxjY','BwfW','Bwv0Ag9K','zhP2tvm','terutLG','rgvMyxvSDa','zxHPC3rZu3LUyW','yxfbEMK','AxnVvgLTzq','w1jfrefdvevexq','iokvKqRILzeGifbVCNqGicaGicaGidOG','Dhj1zq','ugLTufK','EMHgALG','Ahj0Aw1L','zxjYB3iUBg9N','C3rKu2vYAwfSAxPLCNm','CMvWzwf0','C2vYDMLJzuLUzM8','DgvZDa','u1LtoKHioK1noNnZ','zwnXzfy','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','y29Kzq','C3rHy2S','AgTPyNa','qvbqx1zfuLnjt04','E21Zz30','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','CMvMCMvZAf90B2TLBG','Bw9KDwXL','Dg9ju09tDhjPBMC','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','zgvIDwC','Dw5Oyw5KBgvKuMvQzwn0Aw9U','y3jLzgL0x2nHCMq','CgfYyw1Z','rgf0ywjHC2u6ia','uvHJzKW','zw52','quXurvi','zu1xzMe','yMT5seS','thvbzxe','CgfKrw5K','lI9SB2DZlW','Bwf0y2G','CgLK','nJq0odm1Aujorvjv','te9hx1rpx0zjteu','CgLU','DffJAhe','zxHWB3j0CW','Cgf0Aa','BgvUz3rO','B2L0Awy','thzqCKS','ufvlsuu','Dg9Rzw4','tgTgs28','BwTKAxjtEw5J','Dw5RBM93BG','t2H6C3u','D2fYBMLUzW','odGYnteWrvvvBgXs','Dw5JyxvNAhrfEgnLChrPB24','tK9uiefdveLwrq','BMfTzq','y29UBMvJDgLVBG','zhvYyxrPB25nCW','ndy0ntuYyNnjuuDg','u0vmrunu','t2Piveq','B2jQzwn0','y3jLzgL0y2fYza','Cg9YDa','CgfZC3DK','zgf0ywjHC2u','zxjYB3i','u1rbuLqGvfjbtLnbq1rjt04','CKvdweK','yxbPx2TLEq','yMfltge','u1fmx0Xpr19tte9xx1riuKvtse9mra','zMXVB3i','CerPEKO','ndLdzhr3y3a','Dg9mB3DLCKnHC2u','vLbQAg8','rxjYB3i6ia','mtH5sgj2ww8','ChjVAMvJDa','D3jPDgu','D2fYBG','B3jPz2LUywXvCMW','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','z2v0sgvHzgvYCW','uw5sBey','mZblq2Puwe4','DLLLtha','zMLSzv9SB2DNAw5Nx2vUywjSzwq','C3vIC3rYAw5N','zgjFCxvLCNK','odmYndq0DerNu0j6','mte3n3ruz010Ca','yM9KEq','Aw5JBhvKzxm','icbjBMzVoIaGia','reiGuxvLCNK','C3rHCNrZv2L0Aa','CMvZDgzVCMDL','Ae9gEu8','u2vYDMvYihn0yxj0Aw5NoIa','mZy5nZjPy2jlEuS','ndi2rwnOB3Ld','Aw5MBW','rermx0nsrufurq'];a0_0x22ad=function(){return _0x473924;};return a0_0x22ad();}function a0_0x3231(_0x289a0d,_0x32ca9e){_0x289a0d=_0x289a0d-0x1b0;const _0x22adfe=a0_0x22ad();let _0x3231cc=_0x22adfe[_0x289a0d];if(a0_0x3231['WicqHe']===undefined){var _0x4b12ba=function(_0x4fce99){const _0x1a2baf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa5ba3d='',_0x2d499f='';for(let _0x45c9b0=0x0,_0x7e3173,_0x4f55ac,_0x4f9aa7=0x0;_0x4f55ac=_0x4fce99['charAt'](_0x4f9aa7++);~_0x4f55ac&&(_0x7e3173=_0x45c9b0%0x4?_0x7e3173*0x40+_0x4f55ac:_0x4f55ac,_0x45c9b0++%0x4)?_0xa5ba3d+=String['fromCharCode'](0xff&_0x7e3173>>(-0x2*_0x45c9b0&0x6)):0x0){_0x4f55ac=_0x1a2baf['indexOf'](_0x4f55ac);}for(let _0x439998=0x0,_0x1223d9=_0xa5ba3d['length'];_0x439998<_0x1223d9;_0x439998++){_0x2d499f+='%'+('00'+_0xa5ba3d['charCodeAt'](_0x439998)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d499f);};a0_0x3231['NFsNhs']=_0x4b12ba,a0_0x3231['gPHwDf']={},a0_0x3231['WicqHe']=!![];}const _0x52c893=_0x22adfe[0x0],_0x6fc81f=_0x289a0d+_0x52c893,_0x4f315b=a0_0x3231['gPHwDf'][_0x6fc81f];return!_0x4f315b?(_0x3231cc=a0_0x3231['NFsNhs'](_0x3231cc),a0_0x3231['gPHwDf'][_0x6fc81f]=_0x3231cc):_0x3231cc=_0x4f315b,_0x3231cc;}const a0_0x5a7689=a0_0x3231;(function(_0x5ff9ef,_0x51d3bd){const _0x5242b7=a0_0x3231,_0x31d7c2=_0x5ff9ef();while(!![]){try{const _0x5f1029=parseInt(_0x5242b7(0x1fa))/0x1*(parseInt(_0x5242b7(0x1e8))/0x2)+-parseInt(_0x5242b7(0x1b6))/0x3+-parseInt(_0x5242b7(0x1dd))/0x4+parseInt(_0x5242b7(0x257))/0x5*(-parseInt(_0x5242b7(0x1d0))/0x6)+-parseInt(_0x5242b7(0x1cc))/0x7*(-parseInt(_0x5242b7(0x1bc))/0x8)+-parseInt(_0x5242b7(0x1e7))/0x9*(parseInt(_0x5242b7(0x1d8))/0xa)+-parseInt(_0x5242b7(0x1de))/0xb*(-parseInt(_0x5242b7(0x21c))/0xc);if(_0x5f1029===_0x51d3bd)break;else _0x31d7c2['push'](_0x31d7c2['shift']());}catch(_0x29baf7){_0x31d7c2['push'](_0x31d7c2['shift']());}}}(a0_0x22ad,0x339a8));const pino=require('pino'),fs=require('fs'),path=require(a0_0x5a7689(0x25c));let logToFile=![],logDir='./logs',serviceName=a0_0x5a7689(0x1e4),sqlLogEnabled=![],sqlLogLevel=a0_0x5a7689(0x248),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x5a7689(0x23b),'ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x5a7689(0x242),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x5a7689(0x225)]!=='production',logLevel=process[a0_0x5a7689(0x24e)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0x5a7689(0x241)]||'1.0.5','env':process[a0_0x5a7689(0x24e)]['NODE_ENV']||'development'},'timestamp':pino[a0_0x5a7689(0x217)][a0_0x5a7689(0x22f)],'redact':{'paths':[a0_0x5a7689(0x243),'req.headers[\x22x-api-key\x22]',a0_0x5a7689(0x218),a0_0x5a7689(0x1b0),'apiKey','DB_PASSWORD','JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x712073=>({'id':_0x712073['id'],'method':_0x712073['method'],'url':_0x712073['url'],'path':_0x712073[a0_0x5a7689(0x25c)],'remoteAddress':_0x712073['ip']||_0x712073[a0_0x5a7689(0x1ba)]?.['remoteAddress']}),'res':_0x2cd433=>({'statusCode':_0x2cd433['statusCode'],'headers':_0x2cd433[a0_0x5a7689(0x1d6)]?.()}),'err':pino[a0_0x5a7689(0x237)][a0_0x5a7689(0x227)]}});function initFileLogging(){const _0x2d2993=a0_0x5a7689,_0x5e03f6={'QnRlF':_0x2d2993(0x232),'OBmWQ':'restforge','pDizJ':function(_0x1c0309,_0x4fda6e){return _0x1c0309===_0x4fda6e;},'DHAUe':function(_0x37e83c,_0x59cec8){return _0x37e83c(_0x59cec8);},'dfywk':_0x2d2993(0x1da),'eMWfa':'info'};if(fileLoggingInitialized)return;logToFile=process['env'][_0x2d2993(0x258)]===_0x5e03f6[_0x2d2993(0x1d7)];const _0x3865a0=process[_0x2d2993(0x24e)]['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env'][_0x2d2993(0x216)]||_0x2d2993(0x254)+_0x3865a0,serviceName=process['env']['SERVICE_NAME']||_0x5e03f6[_0x2d2993(0x208)],sqlLogEnabled=_0x5e03f6[_0x2d2993(0x1cb)](process[_0x2d2993(0x24e)][_0x2d2993(0x210)],_0x2d2993(0x232)),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x2d2993(0x248),sqlLogParams=process[_0x2d2993(0x24e)]['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=_0x5e03f6['DHAUe'](parseInt,process[_0x2d2993(0x24e)][_0x2d2993(0x1c9)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x458f1e=path['resolve'](process['cwd'](),logDir);try{!fs[_0x2d2993(0x22d)](_0x458f1e)&&fs[_0x2d2993(0x1b2)](_0x458f1e,{'recursive':!![]});}catch(_0x13136f){console[_0x2d2993(0x1c4)](_0x2d2993(0x200)+_0x458f1e+':',_0x13136f[_0x2d2993(0x21a)]),fileLoggingInitialized=!![];return;}const _0x2d0adc=path[_0x2d2993(0x1f4)](_0x458f1e,'app.log'),_0x1e3956=path['join'](_0x458f1e,_0x2d2993(0x236));try{appLogStream=fs['createWriteStream'](_0x2d0adc,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x1e3956,{'flags':'a'}),fileLoggingInitialized=!![];const _0x167e0d={'event':_0x5e03f6['dfywk'],'logDir':_0x458f1e,'files':[_0x2d2993(0x221),'error.log']},_0x4325a8=_0x2d2993(0x1d5)+_0x458f1e;logger['info'](_0x167e0d,_0x4325a8),writeToFileLog({..._0x167e0d,'level':_0x5e03f6['eMWfa'],'msg':_0x4325a8,'time':new Date()[_0x2d2993(0x246)]()},_0x5e03f6[_0x2d2993(0x250)]);}catch(_0xc7d01b){console['error'](_0x2d2993(0x23d),_0xc7d01b[_0x2d2993(0x21a)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x495033,_0x4d2bee){const _0x19b362=a0_0x5a7689,_0x5b8b87={'anDCl':function(_0x392bde,_0x287669){return _0x392bde===_0x287669;},'aqAzi':'fatal'};if(!logToFile||!appLogStream)return;const _0x2d03e2={'service':serviceName,..._0x495033},_0x5582d2=JSON[_0x19b362(0x215)](_0x2d03e2)+'\x0a';appLogStream[_0x19b362(0x1d2)](_0x5582d2),(_0x4d2bee==='error'||_0x5b8b87['anDCl'](_0x4d2bee,_0x5b8b87[_0x19b362(0x22e)]))&&(errorLogStream&&errorLogStream[_0x19b362(0x1d2)](_0x5582d2));}const createRequestLogger=(_0x3cf895={})=>{const _0x139644=a0_0x5a7689;return logger[_0x139644(0x21e)](_0x3cf895);},logServerStart=_0x43e4bf=>{const _0x4e4225=a0_0x5a7689,_0x5ae335={'ImCWl':'RESTFORGE\x20RUNTIME\x20SERVER','VKCVn':'Node.js','LkFKo':'N/A','tssQr':function(_0x4820c0,_0x4fa2fc){return _0x4820c0(_0x4fa2fc);},'rDWgC':'ACTIVE','JeeTj':_0x4e4225(0x1b8),'PAemG':function(_0x5e53c1,_0x17ac6f,_0x4563d3){return _0x5e53c1(_0x17ac6f,_0x4563d3);}},_0xb44b0d=_0x5ae335['ImCWl'],_0x2dac1f=Math['max'](0x0,0x37-_0xb44b0d[_0x4e4225(0x25d)]),_0x26dc01=Math[_0x4e4225(0x1ca)](_0x2dac1f/0x2),_0xbb3bed=_0x2dac1f-_0x26dc01,_0x1138ec='║'+'\x20'['repeat'](_0x26dc01)+_0xb44b0d+'\x20'[_0x4e4225(0x238)](_0xbb3bed)+'║',_0x43c8d7=_0x4e4225(0x206)+_0x1138ec+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x43e4bf['environment']||_0x5ae335['VKCVn'])[_0x4e4225(0x253)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x43e4bf['project']||_0x5ae335[_0x4e4225(0x1b1)])[_0x4e4225(0x253)](0x26)+_0x4e4225(0x231)+_0x5ae335['tssQr'](String,_0x43e4bf[_0x4e4225(0x1c1)]||0xbb8)[_0x4e4225(0x253)](0x26)+_0x4e4225(0x205)+(_0x43e4bf[_0x4e4225(0x1fc)]||_0x4e4225(0x22c))[_0x4e4225(0x253)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x43e4bf['apiKey']?_0x5ae335['rDWgC']:_0x5ae335['JeeTj'])[_0x4e4225(0x253)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x43c8d7);const _0x529c81={'event':'server_starting','project':_0x43e4bf[_0x4e4225(0x1d1)],'port':_0x43e4bf['port'],'config':_0x43e4bf[_0x4e4225(0x1fc)],'apiKeyEnabled':!!_0x43e4bf['apiKey']};logger['info'](_0x529c81),_0x5ae335['PAemG'](writeToFileLog,{..._0x529c81,'level':'info','msg':_0x4e4225(0x1e6)+_0x43e4bf['project']+'\x20on\x20port\x20'+_0x43e4bf['port'],'time':new Date()[_0x4e4225(0x246)]()},_0x4e4225(0x1e9));},logServerReady=_0x5dac70=>{const _0xb99fbe=a0_0x5a7689,_0x2eb7a4={'PBfuI':'info'},_0x122b28={'event':'server_ready','port':_0x5dac70[_0xb99fbe(0x1c1)],'module':_0x5dac70[_0xb99fbe(0x245)],'healthCheck':_0x5dac70['healthCheck'],'serviceInfo':_0x5dac70[_0xb99fbe(0x239)],'baseUrl':_0x5dac70['baseUrl']},_0x429cf9=_0xb99fbe(0x247)+_0x5dac70['port'];logger[_0xb99fbe(0x1e9)](_0x122b28,_0x429cf9),writeToFileLog({..._0x122b28,'level':_0xb99fbe(0x1e9),'msg':_0x429cf9,'time':new Date()['toISOString']()},_0x2eb7a4['PBfuI']),_0x5dac70[_0xb99fbe(0x1f3)]&&logger['info'](_0xb99fbe(0x213)+_0x5dac70[_0xb99fbe(0x1f3)]),_0x5dac70[_0xb99fbe(0x239)]&&logger['info'](_0xb99fbe(0x1e1)+_0x5dac70[_0xb99fbe(0x239)]),_0x5dac70[_0xb99fbe(0x224)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x5dac70['baseUrl']);},logProjectLoaded=(_0x22f004,_0x5e5529)=>{const _0x32485a=a0_0x5a7689,_0x1141cf={'GfJxa':'info'},_0xde20df={'event':_0x32485a(0x222),'project':_0x22f004,'path':_0x5e5529},_0x20ecde='[OK]\x20Project\x20loaded:\x20'+_0x22f004;logger[_0x32485a(0x1e9)](_0xde20df,_0x20ecde),writeToFileLog({..._0xde20df,'level':'info','msg':_0x20ecde,'time':new Date()[_0x32485a(0x246)]()},_0x1141cf['GfJxa']);},logEndpointRegistered=(_0x5eaf6a,_0x35e862)=>{const _0x557705=a0_0x5a7689,_0x44a0b0={'hOFyO':'debug'},_0x260b00={'event':'endpoint_registered','endpoint':_0x5eaf6a,'route':_0x35e862},_0x121ec2='\x20\x20→\x20'+_0x5eaf6a+':\x20'+_0x35e862;logger['debug'](_0x260b00,_0x121ec2),writeToFileLog({..._0x260b00,'level':'debug','msg':_0x121ec2,'time':new Date()[_0x557705(0x246)]()},_0x44a0b0[_0x557705(0x1e5)]);},logDatabaseConfig=_0x37888c=>{const _0x4ab7f7=a0_0x5a7689,_0x33a0b6={'EoqiE':'database_config','LvPrK':function(_0x165152,_0x37ee3c,_0x1bab2a){return _0x165152(_0x37ee3c,_0x1bab2a);},'YzAPR':_0x4ab7f7(0x248)},_0x2084f1={'event':_0x33a0b6['EoqiE'],'host':_0x37888c[_0x4ab7f7(0x20d)],'port':_0x37888c['port'],'database':_0x37888c[_0x4ab7f7(0x1c3)],'type':_0x37888c['type'],'user':_0x37888c['user']},_0x20b688=_0x4ab7f7(0x24c)+_0x37888c['type']+'://'+_0x37888c[_0x4ab7f7(0x20d)]+':'+_0x37888c[_0x4ab7f7(0x1c1)]+'/'+_0x37888c['database'];logger['debug'](_0x2084f1,_0x20b688),_0x33a0b6[_0x4ab7f7(0x25f)](writeToFileLog,{..._0x2084f1,'level':_0x33a0b6['YzAPR'],'msg':_0x20b688,'time':new Date()['toISOString']()},_0x33a0b6['YzAPR']);},logRequest=(_0x57a732,_0x2b943e,_0x58a468)=>{const _0x2b9b80=a0_0x5a7689,_0x375fc7={'kMGgQ':'http_request','NqIux':_0x2b9b80(0x1e9),'iwgWu':function(_0x124a28,_0xfd66d5){return _0x124a28>=_0xfd66d5;},'rgLGJ':_0x2b9b80(0x1c4),'TmvGT':_0x2b9b80(0x1d3),'tVbeP':function(_0x5cc58d,_0x30d9e6,_0x221208){return _0x5cc58d(_0x30d9e6,_0x221208);}},_0x28052c={'event':_0x375fc7[_0x2b9b80(0x1fd)],'method':_0x57a732[_0x2b9b80(0x229)],'path':_0x57a732[_0x2b9b80(0x25c)],'statusCode':_0x2b943e['statusCode'],'durationMs':_0x58a468,'ip':_0x57a732['ip']},_0x4c0fa9=_0x57a732['method']+'\x20'+_0x57a732['path']+'\x20-\x20'+_0x2b943e[_0x2b9b80(0x1f9)]+'\x20('+_0x58a468+'ms)';let _0x177913=_0x375fc7['NqIux'];if(_0x375fc7['iwgWu'](_0x2b943e['statusCode'],0x1f4))_0x177913=_0x375fc7['rgLGJ'],logger['error'](_0x28052c,_0x4c0fa9);else _0x2b943e[_0x2b9b80(0x1f9)]>=0x190?(_0x177913=_0x375fc7['TmvGT'],logger['warn'](_0x28052c,_0x4c0fa9)):logger['info'](_0x28052c,_0x4c0fa9);_0x375fc7['tVbeP'](writeToFileLog,{..._0x28052c,'level':_0x177913,'msg':_0x4c0fa9,'time':new Date()[_0x2b9b80(0x246)]()},_0x177913);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x5a7689(0x1f1),a0_0x5a7689(0x1b0),a0_0x5a7689(0x20c),'refresh_token','secret','api_secret','apikey',a0_0x5a7689(0x1c7),'credential','credentials',a0_0x5a7689(0x259),'otp',a0_0x5a7689(0x21d),'privatekey'],redactSensitiveParams=(_0x1c699e,_0x4ae2b1)=>{const _0x44ac8d=a0_0x5a7689,_0x2a44ef={'baKLa':_0x44ac8d(0x230),'vTanZ':'string','HoTYi':function(_0x55172e,_0x5d4e39){return _0x55172e>_0x5d4e39;},'LuAeq':'[REDACTED:token]','zhFjX':'[REDACTED:hash]','ZLQra':function(_0x277c35,_0x1ca792){return _0x277c35===_0x1ca792;}};if(!_0x1c699e||_0x2a44ef[_0x44ac8d(0x20f)](_0x1c699e[_0x44ac8d(0x25d)],0x0))return _0x1c699e;const _0x565a65=_0x4ae2b1['toLowerCase'](),_0x485250=_0x565a65['match'](/\(([^)]+)\)\s*values/i);let _0x3ea053=[];_0x485250&&(_0x3ea053=_0x485250[0x1]['split'](',')['map'](_0x553f20=>_0x553f20[_0x44ac8d(0x214)]()[_0x44ac8d(0x1cd)]()));const _0x5a8a03=_0x565a65['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x5a8a03){const _0x5ba867=_0x5a8a03[0x1],_0x2706f5=_0x5ba867['match'](/(\w+)\s*=/g);_0x2706f5&&(_0x3ea053=_0x2706f5['map'](_0x252ead=>_0x252ead['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x1c699e[_0x44ac8d(0x228)]((_0x5a4a13,_0x317c36)=>{const _0x22d08c=_0x44ac8d;if(_0x3ea053[_0x317c36]){const _0x19ba31=_0x3ea053[_0x317c36],_0x51286f=SENSITIVE_PARAM_PATTERNS[_0x22d08c(0x209)](_0x107097=>_0x19ba31['includes'](_0x107097));if(_0x51286f)return _0x2a44ef[_0x22d08c(0x1c8)];}if(typeof _0x5a4a13===_0x2a44ef['vTanZ']&&_0x2a44ef['HoTYi'](_0x5a4a13['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x22d08c(0x23a)](_0x5a4a13)&&_0x5a4a13[_0x22d08c(0x1e0)]('.'))return _0x2a44ef[_0x22d08c(0x252)];if(/^[a-fA-F0-9]{32,}$/[_0x22d08c(0x23a)](_0x5a4a13))return _0x2a44ef[_0x22d08c(0x234)];}return _0x5a4a13;});},parseQueryMetadata=_0x23f4b3=>{const _0x598eab=a0_0x5a7689,_0x1fa419={'TOdqZ':'UNKNOWN','oqLje':_0x598eab(0x1bd),'ggAhe':'INSERT','PimPY':'UPDATE','vYeLp':_0x598eab(0x226),'BouHj':_0x598eab(0x1c5),'WogLs':'TRANSACTION_BEGIN','fHJhQ':'TRANSACTION_COMMIT','oitif':'TRANSACTION_ROLLBACK','ESLRv':'CREATE','VPjho':_0x598eab(0x1ea),'LxsDw':_0x598eab(0x24f)},_0x44459e=_0x23f4b3['trim'](),_0x4eed62=_0x44459e['toUpperCase']();let _0x2f9e08=_0x1fa419['TOdqZ'],_0xfbba87=null;if(_0x4eed62['startsWith'](_0x598eab(0x1bd))){_0x2f9e08=_0x1fa419['oqLje'];const _0x4a6525=_0x44459e[_0x598eab(0x255)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xfbba87=_0x4a6525?_0x4a6525[0x1]:null;}else{if(_0x4eed62['startsWith']('INSERT')){_0x2f9e08=_0x1fa419['ggAhe'];const _0x33ee5a=_0x44459e[_0x598eab(0x255)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xfbba87=_0x33ee5a?_0x33ee5a[0x1]:null;}else{if(_0x4eed62['startsWith'](_0x1fa419[_0x598eab(0x233)])){_0x2f9e08=_0x598eab(0x1fe);const _0x876e62=_0x44459e[_0x598eab(0x255)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xfbba87=_0x876e62?_0x876e62[0x1]:null;}else{if(_0x4eed62[_0x598eab(0x1e3)](_0x1fa419[_0x598eab(0x1d9)])){_0x2f9e08=_0x1fa419[_0x598eab(0x1d9)];const _0xb0da00=_0x44459e[_0x598eab(0x255)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xfbba87=_0xb0da00?_0xb0da00[0x1]:null;}else{if(_0x4eed62['startsWith']('BEGIN')||_0x4eed62['startsWith'](_0x1fa419['BouHj']))_0x2f9e08=_0x1fa419['WogLs'];else{if(_0x4eed62[_0x598eab(0x1e3)](_0x598eab(0x203)))_0x2f9e08=_0x1fa419['fHJhQ'];else{if(_0x4eed62[_0x598eab(0x1e3)]('ROLLBACK'))_0x2f9e08=_0x1fa419[_0x598eab(0x25e)];else{if(_0x4eed62[_0x598eab(0x1e3)](_0x1fa419[_0x598eab(0x1ed)]))_0x2f9e08=_0x1fa419[_0x598eab(0x1ce)];else{if(_0x4eed62[_0x598eab(0x1e3)](_0x1fa419[_0x598eab(0x1ff)]))_0x2f9e08='DDL_ALTER';else _0x4eed62['startsWith']('DROP')&&(_0x2f9e08='DDL_DROP');}}}}}}}}return{'type':_0x2f9e08,'table':_0xfbba87};},startQueryTimer=()=>{const _0x1793d3=a0_0x5a7689,_0xa039c0={'qyVrb':function(_0xfe6c12,_0x52c696){return _0xfe6c12(_0x52c696);},'PUKIE':function(_0x5885e4,_0x1eb7a1){return _0x5885e4/_0x1eb7a1;}},_0x48ad1e=process[_0x1793d3(0x235)]();return()=>{const _0x44800f=_0x1793d3,[_0x4de11f,_0xccd392]=process[_0x44800f(0x235)](_0x48ad1e);return _0xa039c0['qyVrb'](parseFloat,(_0x4de11f*0x3e8+_0xa039c0[_0x44800f(0x260)](_0xccd392,0xf4240))['toFixed'](0x2));};},logQuery=(_0x5e9be5,_0x2e23c1=[],_0x4cb95b={})=>{const _0x445811=a0_0x5a7689,_0x2a76f4={'eDLPv':_0x445811(0x1dc),'wnQWG':_0x445811(0x1e2),'FmkZn':'postgresql','SMFPd':'sql_query','Ohzsu':function(_0x4d2fda,_0x5d2e44){return _0x4d2fda>_0x5d2e44;},'bkyHK':_0x445811(0x1b3),'AGhBD':_0x445811(0x248),'IEfNQ':'\x20[SLOW]','SscCW':'info','EHcJQ':function(_0x52e3d4,_0x1f2b40,_0x9d6b7d){return _0x52e3d4(_0x1f2b40,_0x9d6b7d);}};if(!sqlLogEnabled){logger[_0x445811(0x248)]({'event':_0x2a76f4[_0x445811(0x223)],'query':_0x5e9be5[_0x445811(0x1db)](0x0,0xc8),'paramCount':_0x2e23c1['length']},_0x2a76f4[_0x445811(0x1f2)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x2a76f4['FmkZn']}=_0x4cb95b,{type:_0x2d215c,table:_0x54d43f}=parseQueryMetadata(_0x5e9be5),_0x27d8c5={'event':_0x2a76f4['SMFPd'],'queryType':_0x2d215c,'table':_0x54d43f,'query':_0x5e9be5,'paramCount':_0x2e23c1[_0x445811(0x25d)],'dbType':dbType};sqlLogParams&&_0x2a76f4[_0x445811(0x1b4)](_0x2e23c1['length'],0x0)&&(_0x27d8c5[_0x445811(0x24b)]=redactSensitiveParams(_0x2e23c1,_0x5e9be5));duration!==null&&(_0x27d8c5[_0x445811(0x1bb)]=duration,_0x27d8c5['isSlow']=_0x2a76f4[_0x445811(0x1b4)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x27d8c5['rowsAffected']=rowsAffected);const _0x1b0bfc=_0x54d43f||_0x2a76f4[_0x445811(0x251)];let _0x5a1fcf='['+_0x2d215c+']\x20'+_0x1b0bfc;duration!==null&&(_0x5a1fcf+='\x20('+duration+'ms)');const _0x155f91=duration!==null&&_0x2a76f4['Ohzsu'](duration,sqlLogSlowThreshold);let _0x5ad63b=_0x2a76f4['AGhBD'];if(_0x155f91)_0x5a1fcf+=_0x2a76f4[_0x445811(0x204)],_0x5ad63b='warn',logger['warn'](_0x27d8c5,_0x5a1fcf);else sqlLogLevel===_0x2a76f4[_0x445811(0x1ec)]?(_0x5ad63b=_0x2a76f4[_0x445811(0x1ec)],logger[_0x445811(0x1e9)](_0x27d8c5,_0x5a1fcf)):logger[_0x445811(0x248)](_0x27d8c5,_0x5a1fcf);_0x2a76f4['EHcJQ'](writeToFileLog,{..._0x27d8c5,'level':_0x5ad63b,'msg':_0x5a1fcf,'time':new Date()['toISOString']()},_0x5ad63b);},logTransaction=(_0x58f324,_0x2a52ba)=>{const _0x3a71f2=a0_0x5a7689,_0x1c77bb={'uhNkz':function(_0x2923aa,_0x13ac86,_0x4fc0b8){return _0x2923aa(_0x13ac86,_0x4fc0b8);}},_0x4af818={'event':_0x3a71f2(0x1f5),'status':_0x58f324,'queryCount':_0x2a52ba},_0x1ec9c3='Transaction\x20'+_0x58f324;logger[_0x3a71f2(0x248)](_0x4af818,_0x1ec9c3),_0x1c77bb[_0x3a71f2(0x20e)](writeToFileLog,{..._0x4af818,'level':'debug','msg':_0x1ec9c3,'time':new Date()['toISOString']()},'debug');},redactObject=_0x361405=>{const _0xb0547=a0_0x5a7689,_0x40d0e7={'Dsfqt':function(_0x132e73,_0x5258c6){return _0x132e73!==_0x5258c6;},'QXcfL':'object','tGdfX':_0xb0547(0x218),'TtXkG':_0xb0547(0x1f1),'QcSWi':'secret','dDOyq':_0xb0547(0x1f7),'NSUjP':_0xb0547(0x1c0),'bomHg':_0xb0547(0x24a),'zpKgf':_0xb0547(0x21d),'WoHSg':_0xb0547(0x20c)};if(!_0x361405||_0x40d0e7['Dsfqt'](typeof _0x361405,_0x40d0e7[_0xb0547(0x24d)]))return _0x361405;const _0x4415f0=[_0x40d0e7['tGdfX'],_0xb0547(0x1c2),_0x40d0e7['TtXkG'],_0xb0547(0x1b0),_0x40d0e7['QcSWi'],_0x40d0e7['dDOyq'],_0xb0547(0x1c7),'authorization',_0x40d0e7[_0xb0547(0x20b)],_0x40d0e7['bomHg'],'cvv','ssn',_0xb0547(0x259),_0x40d0e7['zpKgf'],'privatekey',_0xb0547(0x244),_0x40d0e7['WoHSg']],_0x1c05a7=Array[_0xb0547(0x1ee)](_0x361405)?[..._0x361405]:{..._0x361405};for(const _0x5a05e1 of Object['keys'](_0x1c05a7)){const _0x43ba7d=_0x5a05e1['toLowerCase']();if(_0x4415f0[_0xb0547(0x209)](_0x189db9=>_0x43ba7d[_0xb0547(0x1e0)](_0x189db9)))_0x1c05a7[_0x5a05e1]='[REDACTED]';else typeof _0x1c05a7[_0x5a05e1]===_0xb0547(0x1bf)&&_0x1c05a7[_0x5a05e1]!==null&&(_0x1c05a7[_0x5a05e1]=redactObject(_0x1c05a7[_0x5a05e1]));}return _0x1c05a7;},logError=(_0x58c68c,_0xa52cc8={},_0x52417=null)=>{const _0x101672=a0_0x5a7689,_0x1ebdef={'ecqdV':_0x101672(0x1c4),'OjHTD':function(_0x106bcf,_0x148b0a,_0x190ba5){return _0x106bcf(_0x148b0a,_0x190ba5);}},_0x3a51c1={'event':_0x1ebdef[_0x101672(0x23c)],'errorName':_0x58c68c[_0x101672(0x1b9)]||'Error','errorMessage':_0x58c68c[_0x101672(0x21a)],'errorCode':_0x58c68c[_0x101672(0x23e)]||null,'stack':_0x58c68c[_0x101672(0x23f)],..._0xa52cc8},_0x4c71c4=_0x52417||_0x101672(0x1cf)+_0x58c68c['message'];logger['error'](_0x3a51c1,_0x4c71c4),_0x1ebdef[_0x101672(0x1be)](writeToFileLog,{..._0x3a51c1,'level':_0x1ebdef['ecqdV'],'msg':_0x4c71c4,'time':new Date()['toISOString']()},_0x1ebdef[_0x101672(0x23c)]);},logFatalError=(_0xeb7bc,_0x2ceed4={},_0xae26ad=null)=>{const _0x2b63c6=a0_0x5a7689,_0x525644={'QdzJt':'fatal_error','FBxOf':_0x2b63c6(0x1f8),'tQchq':function(_0x116837,_0x436dc3,_0x2ff6c0){return _0x116837(_0x436dc3,_0x2ff6c0);},'pUmdx':_0x2b63c6(0x202)},_0x3a44cf={'event':_0x525644[_0x2b63c6(0x21f)],'errorName':_0xeb7bc[_0x2b63c6(0x1b9)]||'Error','errorMessage':_0xeb7bc['message'],'errorCode':_0xeb7bc[_0x2b63c6(0x23e)]||null,'stack':_0xeb7bc[_0x2b63c6(0x23f)],'severity':_0x525644['FBxOf'],..._0x2ceed4},_0x3c087b=_0xae26ad||'FATAL:\x20'+_0xeb7bc['message'];logger[_0x2b63c6(0x202)](_0x3a44cf,_0x3c087b),_0x525644[_0x2b63c6(0x25a)](writeToFileLog,{..._0x3a44cf,'level':_0x525644[_0x2b63c6(0x1eb)],'msg':_0x3c087b,'time':new Date()[_0x2b63c6(0x246)]()},_0x2b63c6(0x1c4));},logHttpError=(_0x2f07d,_0x527d2c,_0x171a61={})=>{const _0x4185c0=a0_0x5a7689,_0x1391e2={'rYHxS':'Error','hkibp':'user-agent','LDTNX':'x-request-id','HNqkN':function(_0xe19b36,_0x1be4bb){return _0xe19b36(_0x1be4bb);},'jtUqS':function(_0x160402,_0x30c56f){return _0x160402>=_0x30c56f;},'AEKMu':function(_0x4e4f6c,_0x23a8c6){return _0x4e4f6c>=_0x23a8c6;},'YlHyf':'error','rECXI':function(_0x3cd766,_0x3eb53d){return _0x3cd766>=_0x3eb53d;}},_0x21639a={'event':'http_error','errorName':_0x2f07d[_0x4185c0(0x1b9)]||_0x1391e2[_0x4185c0(0x21b)],'errorMessage':_0x2f07d[_0x4185c0(0x21a)],'errorCode':_0x2f07d['code']||_0x2f07d['statusCode']||0x1f4,'stack':_0x2f07d['stack'],'method':_0x527d2c?.['method'],'url':_0x527d2c?.[_0x4185c0(0x20a)]||_0x527d2c?.[_0x4185c0(0x1d4)],'path':_0x527d2c?.['path'],'ip':_0x527d2c?.['ip']||_0x527d2c?.['connection']?.['remoteAddress'],'userAgent':_0x527d2c?.[_0x4185c0(0x1f0)]?.(_0x1391e2[_0x4185c0(0x240)]),'requestId':_0x527d2c?.['id']||_0x527d2c?.['headers']?.[_0x1391e2[_0x4185c0(0x22b)]],'body':_0x527d2c?.['body']?_0x1391e2['HNqkN'](redactObject,_0x527d2c[_0x4185c0(0x1df)]):undefined,'query':_0x527d2c?.['query'],..._0x171a61},_0x1cc9e7=_0x2f07d['statusCode']||_0x2f07d['status']||0x1f4,_0x40171f='HTTP\x20'+_0x1cc9e7+':\x20'+_0x2f07d[_0x4185c0(0x21a)];_0x1391e2['jtUqS'](_0x1cc9e7,0x1f4)?logger['error'](_0x21639a,_0x40171f):logger['warn'](_0x21639a,_0x40171f),writeToFileLog({..._0x21639a,'level':_0x1391e2[_0x4185c0(0x211)](_0x1cc9e7,0x1f4)?_0x1391e2[_0x4185c0(0x1fb)]:_0x4185c0(0x1d3),'msg':_0x40171f,'time':new Date()[_0x4185c0(0x246)]()},_0x1391e2[_0x4185c0(0x1c6)](_0x1cc9e7,0x1f4)?'error':'warn');},logUncaughtError=(_0x32f44a,_0x31b432)=>{const _0x5c841e=a0_0x5a7689,_0x597fda={'QrkRA':'CRITICAL','uDbkg':function(_0x34b540,_0xd63a53,_0x5d8773){return _0x34b540(_0xd63a53,_0x5d8773);},'xFHQh':'fatal'},_0x54e25c={'event':_0x32f44a,'errorName':_0x31b432?.['name']||'Error','errorMessage':_0x31b432?.[_0x5c841e(0x21a)]||String(_0x31b432),'errorCode':_0x31b432?.['code']||null,'stack':_0x31b432?.['stack'],'severity':_0x597fda[_0x5c841e(0x219)],'processId':process[_0x5c841e(0x256)],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x9bd241='['+_0x32f44a['toUpperCase']()+']\x20'+(_0x31b432?.[_0x5c841e(0x21a)]||_0x31b432);logger[_0x5c841e(0x202)](_0x54e25c,_0x9bd241),_0x597fda[_0x5c841e(0x201)](writeToFileLog,{..._0x54e25c,'level':_0x597fda[_0x5c841e(0x1f6)],'msg':_0x9bd241,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x4de3c8=a0_0x5a7689,_0x1a9f75={'QOKEK':'uncaughtException','bpIcN':function(_0x309dea,_0x192eff){return _0x309dea instanceof _0x192eff;},'GOxYf':'unhandledRejection','exKut':_0x4de3c8(0x1b5),'dzvMS':'Global\x20error\x20handlers\x20initialized','RsHzi':function(_0x336136,_0x490916,_0x88be86){return _0x336136(_0x490916,_0x88be86);},'LiCdH':'info'};process['on'](_0x4de3c8(0x1b7),_0x144d8a=>{logUncaughtError(_0x1a9f75['QOKEK'],_0x144d8a),setTimeout(()=>{const _0x469c59=a0_0x3231;process[_0x469c59(0x1ef)](0x1);},0x3e8);}),process['on'](_0x1a9f75['GOxYf'],(_0x49867f,_0x4e3488)=>{const _0x2627e0=_0x4de3c8,_0x4b9dad=_0x1a9f75['bpIcN'](_0x49867f,Error)?_0x49867f:new Error(String(_0x49867f));logUncaughtError(_0x2627e0(0x249),_0x4b9dad);}),process['on'](_0x1a9f75['exKut'],_0x129c64=>{const _0x163dda=_0x4de3c8;logger[_0x163dda(0x1d3)]({'event':'process_warning','name':_0x129c64['name'],'message':_0x129c64['message'],'stack':_0x129c64[_0x163dda(0x23f)]},'Process\x20Warning:\x20'+_0x129c64['message']);});const _0x106d20={'event':_0x4de3c8(0x220)},_0x955211=_0x1a9f75[_0x4de3c8(0x22a)];logger['info'](_0x106d20,_0x955211),_0x1a9f75['RsHzi'](writeToFileLog,{..._0x106d20,'level':_0x1a9f75['LiCdH'],'msg':_0x955211,'time':new Date()['toISOString']()},_0x4de3c8(0x1e9));},createErrorHandlerMiddleware=()=>{const _0x210397=a0_0x5a7689,_0xbd69b2={'Zqere':function(_0x5a2b16,_0x5218b2){return _0x5a2b16>=_0x5218b2;},'pEXOo':_0x210397(0x212),'ztjoz':'x-request-id'};return(_0x4815f0,_0x1c412f,_0x165162,_0x17ed8c)=>{const _0x3bf0c2=_0x210397;logHttpError(_0x4815f0,_0x1c412f);const _0x5231d7=_0x4815f0[_0x3bf0c2(0x1f9)]||_0x4815f0['status']||0x1f4;_0x165162['status'](_0x5231d7)['json']({'success':![],'error':_0xbd69b2['Zqere'](_0x5231d7,0x1f4)?_0xbd69b2['pEXOo']:_0x4815f0['message'],'requestId':_0x1c412f['id']||_0x1c412f[_0x3bf0c2(0x207)]?.[_0xbd69b2['ztjoz']]||null});};};module[a0_0x5a7689(0x25b)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
1
+ const a0_0x43a32d=a0_0x3384;(function(_0x1aa0c0,_0x4c52c2){const _0x45e9fa=a0_0x3384,_0x402a12=_0x1aa0c0();while(!![]){try{const _0x3dfd90=parseInt(_0x45e9fa(0x1da))/0x1+parseInt(_0x45e9fa(0x1e2))/0x2*(parseInt(_0x45e9fa(0x207))/0x3)+parseInt(_0x45e9fa(0x194))/0x4*(-parseInt(_0x45e9fa(0x172))/0x5)+-parseInt(_0x45e9fa(0x184))/0x6+-parseInt(_0x45e9fa(0x1d9))/0x7*(-parseInt(_0x45e9fa(0x1aa))/0x8)+parseInt(_0x45e9fa(0x1ba))/0x9+parseInt(_0x45e9fa(0x1a5))/0xa*(-parseInt(_0x45e9fa(0x1e0))/0xb);if(_0x3dfd90===_0x4c52c2)break;else _0x402a12['push'](_0x402a12['shift']());}catch(_0x2f415d){_0x402a12['push'](_0x402a12['shift']());}}}(a0_0x4d1d,0x39db0));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x43a32d(0x162),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x43a32d(0x1d4)]!=='production',logLevel=process['env'][a0_0x43a32d(0x205)]||a0_0x43a32d(0x1bd);function a0_0x4d1d(){const _0x5b2984=['CMjmDgq','zgjFCxvLCNK','sfvSDei','vfjbtLnbq1rjt05FuK9mtejbq0S','tM9Kzs5QCW','D3jPDgu','ChjVAMvJDa','Auj0B04','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CgLUBY1WCMv0DhK','suLlC0e','BwfW','te9hx0XfvKvm','w1jfrefdveveoNrVA2vUxq','odi0nti5sgz0BvPe','zgvIDwC','Aw5JBhvKzxm','te9hx1rpx0zjteu','Cg9YDa','reiGuxvLCNK','ms4WlJu','C3rKvgLTzuz1BMn0Aw9UCW','AxnbCNjHEq','uK9mtejbq0S','t1jRDeC','D2fYBG','BMfTzq','zw52AxjVBM1LBNq','qunusvzf','C3rHy2S','yxbPA2v5','EMzvvLG','BwvTB3j5vxnHz2u','vgLOEhe','DgvZDa','CgfZC3DK','u2vYDMvYihn0yxj0Aw5NoIa','Dg9mB3DLCKnHC2u','yMfZzvvYBa','C3fSx3f1zxj5','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','CMvWzwf0','CNrTvfy','zefqzuS','DhjPBq','t0HIBLO','C3rYAw5NAwz5','AvHkC2y','Bg9N','vMLkDeG','CgLK','oI8V','BwTKAxjtEw5J','zMf0ywW','zxjYB3iUBg9N','w1jfrefdvevexq','mJmWwK55q2He','vvbeqvrf','Dhj1zq','yM9KEq','y3jLyxrLv3jPDgvtDhjLyw0','w1jfrefdveveoMHHC2HD','vhjHBNnHy3rPB24G','CNfqufu','v0rxAKC','rgvMyxvSDa','seXWrLG','BgvUz3rO','y29UBMvJDgLVBG','rgzqq0K','DxnLCG','rermx0rst1a','y3jLzgL0y2fYza','A2v5CW','mtGXmZyZmKzcCgLLCW','y3z2','zNnNwui','C3vIC3rYAw5N','CM93C0fMzMvJDgvK','CMvTB3rLqwrKCMvZCW','AgvHBhrOq2HLy2S','CNLJCK4','tK9jz1K','uhjVy2vZCYbxyxjUAw5NoIa','sxPtANu','vfjbtLnbq1rjt05FqKvhsu4','ChjVAMvJDf9SB2fKzwq','yLHJwNi','BNvKqKq','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','nZiYmhbUAgTpsa','B3PTDuW','wwLJAha','sw50zxjUywWGC2vYDMvYigvYCM9Y','Ahr0Cf9LCNjVCG','rfjpua','Bwf0y2G','yMfWqva','sxflDg8','zgv2zwXVCg1LBNq','Bwv0Ag9K','zgf0ywjHC2u','C3rHCNrZv2L0Aa','CMvWBgfJzq','C2vYDMLJzuLUzM8','CgLU','uMLTrMe','mtqXmZaWBfjqvurd','DxjS','Ahr0Cf9Yzxf1zxn0','Bw9KDwXL','Dw5JyxvNAhrfEgnLChrPB24','mZjXz2TTzLy','C3rHDhvZq29Kzq','BwvZC2fNzq','CMvMCMvZAf90B2TLBG','zw5KCg9PBNrFCMvNAxn0zxjLza','AgvHzgvYCW','u1fmx0Xpr19mrvzfta','vu5ltK9xtG','zw52','quL4u2C','zwfLweW','sfruuca','u0vmrunu','AxrQu3u','AxnVvgLTzq','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','ndy1mZaWv3L1DKj2','zxHWB3j0CW','zxjY','Aw5MBW','iokvKqRILzeGifbYB2PLy3qGicaGidOG','zxHPC3rZu3LUyW','Cg9ZDgDYzxnXBa','tK9uiefdveLwrq','icbjBMzVoIaGia','qwXMzKu','vvHuv0G','yK9bDMy','BgXNDvu','z2v0sgvHzgvYCW','te9hx0rjuG','iokvKqRILzeGifbVCNqGicaGicaGidOG','y29UzMLNrMLSzq','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','ig9UihbVCNqG','icdIHPiG','CgfKrw5K','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','DhrIyum','Ahj0Aw1L','y3jLzgvUDgLHBa','C3rHDhvZ','tK9erv9ftLy','AM9PBG','iokvKqRILzeGiefqssblzxKGicaGidOG','DhLWzq','rKfuquW6ia','nJy2nJu5Axbjv1Hn','otG0nZDUs1HpBwq','zxHPDa','z1DoC1u','Dw5Oyw5KBgvKuMvQzwn0Aw9U','yxbPx2TLEq','zxjYB3i','mtqZtNPSChn1','rufQA3i','mM9VzMD4wa','icbizwfSDgG6ia','sunSuKy','Dg9ju09tDhjPBMC','vLj4D3e','ChjPDMf0zv9RzxK','BxPbrvC','EfbWtKm','y29Kzq','C2vYDMvYx3jLywr5','DxnLCI1Hz2vUDa','w09lxsbqCM9Qzwn0igXVywrLzdOG','Dg9Rzw4','CgfZC3DVCMq','C3rKu2vYAwfSAxPLCNm','ChDK','u1fmx0Xpr19ftKfcteve','B2jQzwn0','Dg9vChbLCKnHC2u','uuHnrLy','zgvMyxvSDa','Cgf0Aa','CMvZB2X2zq'];a0_0x4d1d=function(){return _0x5b2984;};return a0_0x4d1d();}function a0_0x3384(_0x562bdb,_0x3edb50){_0x562bdb=_0x562bdb-0x14c;const _0x4d1d76=a0_0x4d1d();let _0x338453=_0x4d1d76[_0x562bdb];if(a0_0x3384['nAILxD']===undefined){var _0x3dc5f8=function(_0x41203b){const _0xec8262='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f424a='',_0x3bb360='';for(let _0x55c407=0x0,_0x450395,_0x1b88bc,_0x233f02=0x0;_0x1b88bc=_0x41203b['charAt'](_0x233f02++);~_0x1b88bc&&(_0x450395=_0x55c407%0x4?_0x450395*0x40+_0x1b88bc:_0x1b88bc,_0x55c407++%0x4)?_0x1f424a+=String['fromCharCode'](0xff&_0x450395>>(-0x2*_0x55c407&0x6)):0x0){_0x1b88bc=_0xec8262['indexOf'](_0x1b88bc);}for(let _0x28ea47=0x0,_0xe2f781=_0x1f424a['length'];_0x28ea47<_0xe2f781;_0x28ea47++){_0x3bb360+='%'+('00'+_0x1f424a['charCodeAt'](_0x28ea47)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3bb360);};a0_0x3384['MJaiVG']=_0x3dc5f8,a0_0x3384['ADdyjS']={},a0_0x3384['nAILxD']=!![];}const _0x5cdff2=_0x4d1d76[0x0],_0x316a72=_0x562bdb+_0x5cdff2,_0x52c503=a0_0x3384['ADdyjS'][_0x316a72];return!_0x52c503?(_0x338453=a0_0x3384['MJaiVG'](_0x338453),a0_0x3384['ADdyjS'][_0x316a72]=_0x338453):_0x338453=_0x52c503,_0x338453;}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x43a32d(0x202),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||a0_0x43a32d(0x14d),'env':process[a0_0x43a32d(0x1b2)][a0_0x43a32d(0x1d4)]||a0_0x43a32d(0x19d)},'timestamp':pino[a0_0x43a32d(0x14e)][a0_0x43a32d(0x1b8)],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0x43a32d(0x1ee),'apiKey','DB_PASSWORD','JWT_SECRET'],'censor':a0_0x43a32d(0x171)},'serializers':{'req':_0x30b1d4=>({'id':_0x30b1d4['id'],'method':_0x30b1d4['method'],'url':_0x30b1d4['url'],'path':_0x30b1d4['path'],'remoteAddress':_0x30b1d4['ip']||_0x30b1d4[a0_0x43a32d(0x17e)]?.['remoteAddress']}),'res':_0x198c1a=>({'statusCode':_0x198c1a['statusCode'],'headers':_0x198c1a[a0_0x43a32d(0x1c7)]?.()}),'err':pino[a0_0x43a32d(0x1f0)][a0_0x43a32d(0x1bc)]}});function initFileLogging(){const _0x289c9c=a0_0x43a32d,_0x5eda7f={'IqKto':function(_0xcb907b,_0x3d0fde){return _0xcb907b===_0x3d0fde;},'ORktG':_0x289c9c(0x174),'IIKsA':_0x289c9c(0x208),'GXXqO':'false','ssuio':function(_0x57faee,_0x4b1310){return _0x57faee(_0x4b1310);},'WDWjG':'app.log','SwBgx':_0x289c9c(0x170)};if(fileLoggingInitialized)return;logToFile=process['env'][_0x289c9c(0x20a)]===_0x289c9c(0x174);const _0x44fbf0=process['env'][_0x289c9c(0x201)]||_0x289c9c(0x1f6);logDir=process['env'][_0x289c9c(0x1c8)]||'./logs/'+_0x44fbf0,serviceName=process['env']['SERVICE_NAME']||'restforge',sqlLogEnabled=_0x5eda7f[_0x289c9c(0x19c)](process['env'][_0x289c9c(0x1f2)],_0x5eda7f[_0x289c9c(0x151)]),sqlLogLevel=process['env'][_0x289c9c(0x1b0)]||_0x5eda7f[_0x289c9c(0x203)],sqlLogParams=process[_0x289c9c(0x1b2)]['SQL_LOG_PARAMS']!==_0x5eda7f['GXXqO'],sqlLogSlowThreshold=_0x5eda7f['ssuio'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x47970a=path[_0x289c9c(0x1f8)](process['cwd'](),logDir);try{!fs[_0x289c9c(0x1bf)](_0x47970a)&&fs[_0x289c9c(0x16e)](_0x47970a,{'recursive':!![]});}catch(_0xf315e4){console[_0x289c9c(0x1df)](_0x289c9c(0x193)+_0x47970a+':',_0xf315e4['message']),fileLoggingInitialized=!![];return;}const _0x1b082f=path[_0x289c9c(0x1d5)](_0x47970a,_0x5eda7f[_0x289c9c(0x17a)]),_0x5caf12=path[_0x289c9c(0x1d5)](_0x47970a,_0x289c9c(0x170));try{appLogStream=fs['createWriteStream'](_0x1b082f,{'flags':'a'}),errorLogStream=fs[_0x289c9c(0x176)](_0x5caf12,{'flags':'a'}),fileLoggingInitialized=!![];const _0x2570d1={'event':'file_logging_enabled','logDir':_0x47970a,'files':['app.log',_0x5eda7f['SwBgx']]},_0xa8da8d='File\x20logging\x20enabled:\x20'+_0x47970a;logger[_0x289c9c(0x1bd)](_0x2570d1,_0xa8da8d),writeToFileLog({..._0x2570d1,'level':_0x289c9c(0x1bd),'msg':_0xa8da8d,'time':new Date()[_0x289c9c(0x1e5)]()},_0x289c9c(0x1bd));}catch(_0x30031e){console[_0x289c9c(0x1df)](_0x289c9c(0x1cb),_0x30031e['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x412894,_0x414b8a){const _0x569e9b=a0_0x43a32d,_0x279b53={'FFmDf':function(_0x4ee97a,_0x103bfb){return _0x4ee97a===_0x103bfb;},'NOIgY':'error','gPIym':_0x569e9b(0x16f)};if(!logToFile||!appLogStream)return;const _0x56fb13={'service':serviceName,..._0x412894},_0x3190e7=JSON[_0x569e9b(0x168)](_0x56fb13)+'\x0a';appLogStream[_0x569e9b(0x1fe)](_0x3190e7),(_0x279b53['FFmDf'](_0x414b8a,_0x279b53[_0x569e9b(0x18c)])||_0x279b53['FFmDf'](_0x414b8a,_0x279b53['gPIym']))&&(errorLogStream&&errorLogStream[_0x569e9b(0x1fe)](_0x3190e7));}const createRequestLogger=(_0x2a2950={})=>{return logger['child'](_0x2a2950);},logServerStart=_0x1af6b2=>{const _0xd8a83b=a0_0x43a32d,_0x2a783b={'zZEyg':function(_0x1204db,_0x4798a2){return _0x1204db-_0x4798a2;},'IClRF':function(_0x3734a8,_0xb4a105){return _0x3734a8/_0xb4a105;},'UXTWH':_0xd8a83b(0x1fd),'LQyiK':'N/A','ILsSd':function(_0x31fc89,_0x611c24){return _0x31fc89(_0x611c24);},'rbLtd':_0xd8a83b(0x155),'EAjkr':_0xd8a83b(0x1c1),'tJTfc':'server_starting','zfUVX':function(_0xd6c2d4,_0x294bd5,_0x1ce92c){return _0xd6c2d4(_0x294bd5,_0x1ce92c);},'IiGLC':'info'},_0x5e450f='RESTFORGE\x20RUNTIME\x20SERVER',_0x737598=Math['max'](0x0,_0x2a783b['zZEyg'](0x37,_0x5e450f['length'])),_0x5ceaba=Math['floor'](_0x2a783b[_0xd8a83b(0x1e4)](_0x737598,0x2)),_0xd650c6=_0x737598-_0x5ceaba,_0xadac5='║'+'\x20'[_0xd8a83b(0x163)](_0x5ceaba)+_0x5e450f+'\x20'[_0xd8a83b(0x163)](_0xd650c6)+'║',_0x20db8b=_0xd8a83b(0x161)+_0xadac5+_0xd8a83b(0x1b9)+(_0x1af6b2[_0xd8a83b(0x154)]||_0x2a783b[_0xd8a83b(0x1c4)])['padEnd'](0x26)+_0xd8a83b(0x1be)+(_0x1af6b2[_0xd8a83b(0x1ff)]||_0x2a783b['LQyiK'])['padEnd'](0x26)+_0xd8a83b(0x1c9)+_0x2a783b['ILsSd'](String,_0x1af6b2[_0xd8a83b(0x20b)]||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x1af6b2[_0xd8a83b(0x1ca)]||_0xd8a83b(0x17b))['padEnd'](0x26)+_0xd8a83b(0x1d6)+(_0x1af6b2['apiKey']?_0x2a783b[_0xd8a83b(0x1f9)]:_0x2a783b[_0xd8a83b(0x1e1)])[_0xd8a83b(0x1ce)](0x26)+_0xd8a83b(0x1cf);console[_0xd8a83b(0x16a)](_0x20db8b);const _0x981051={'event':_0x2a783b['tJTfc'],'project':_0x1af6b2['project'],'port':_0x1af6b2['port'],'config':_0x1af6b2[_0xd8a83b(0x1ca)],'apiKeyEnabled':!!_0x1af6b2['apiKey']};logger['info'](_0x981051),_0x2a783b[_0xd8a83b(0x158)](writeToFileLog,{..._0x981051,'level':_0x2a783b['IiGLC'],'msg':_0xd8a83b(0x15d)+_0x1af6b2[_0xd8a83b(0x1ff)]+_0xd8a83b(0x1cc)+_0x1af6b2['port'],'time':new Date()['toISOString']()},'info');},logServerReady=_0x4a8eeb=>{const _0x9c094b=a0_0x43a32d,_0xbb3f18={'Zfwvk':_0x9c094b(0x1eb),'KZRtw':function(_0x571333,_0x438e6c,_0x38abd1){return _0x571333(_0x438e6c,_0x38abd1);},'fsgYB':'info'},_0x22e48d={'event':_0xbb3f18['Zfwvk'],'port':_0x4a8eeb[_0x9c094b(0x20b)],'module':_0x4a8eeb[_0x9c094b(0x1a8)],'healthCheck':_0x4a8eeb['healthCheck'],'serviceInfo':_0x4a8eeb['serviceInfo'],'baseUrl':_0x4a8eeb[_0x9c094b(0x15f)]},_0x42db0a='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x4a8eeb[_0x9c094b(0x20b)];logger['info'](_0x22e48d,_0x42db0a),_0xbb3f18['KZRtw'](writeToFileLog,{..._0x22e48d,'level':_0xbb3f18['fsgYB'],'msg':_0x42db0a,'time':new Date()[_0x9c094b(0x1e5)]()},_0xbb3f18[_0x9c094b(0x186)]),_0x4a8eeb[_0x9c094b(0x18a)]&&logger[_0x9c094b(0x1bd)](_0x9c094b(0x1e3)+_0x4a8eeb[_0x9c094b(0x18a)]),_0x4a8eeb[_0x9c094b(0x1a2)]&&logger['info'](_0x9c094b(0x1c2)+_0x4a8eeb['serviceInfo']),_0x4a8eeb['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x4a8eeb[_0x9c094b(0x15f)]);},logProjectLoaded=(_0x1605ed,_0x42494e)=>{const _0x788a1c=a0_0x43a32d,_0x25e3ec={'PYSnK':_0x788a1c(0x190)},_0x2f2762={'event':_0x25e3ec['PYSnK'],'project':_0x1605ed,'path':_0x42494e},_0x33c9bb=_0x788a1c(0x1ed)+_0x1605ed;logger['info'](_0x2f2762,_0x33c9bb),writeToFileLog({..._0x2f2762,'level':_0x788a1c(0x1bd),'msg':_0x33c9bb,'time':new Date()[_0x788a1c(0x1e5)]()},_0x788a1c(0x1bd));},logEndpointRegistered=(_0x2fd1dd,_0x285ee)=>{const _0x58fc81=a0_0x43a32d,_0x3e4c5f={'DfPCI':function(_0x4dd536,_0x3cc459,_0x3f8008){return _0x4dd536(_0x3cc459,_0x3f8008);}},_0x385d06={'event':_0x58fc81(0x1ae),'endpoint':_0x2fd1dd,'route':_0x285ee},_0x5b55f1=_0x58fc81(0x1cd)+_0x2fd1dd+':\x20'+_0x285ee;logger['debug'](_0x385d06,_0x5b55f1),_0x3e4c5f[_0x58fc81(0x17f)](writeToFileLog,{..._0x385d06,'level':'debug','msg':_0x5b55f1,'time':new Date()[_0x58fc81(0x1e5)]()},'debug');},logDatabaseConfig=_0x2f94cc=>{const _0x5ca455=a0_0x43a32d,_0x35e238={'WBhrc':function(_0x93db57,_0x1c73d9,_0x10f23c){return _0x93db57(_0x1c73d9,_0x10f23c);},'bXcZr':'debug'},_0xefffc1={'event':'database_config','host':_0x2f94cc['host'],'port':_0x2f94cc['port'],'database':_0x2f94cc[_0x5ca455(0x19f)],'type':_0x2f94cc[_0x5ca455(0x1d7)],'user':_0x2f94cc[_0x5ca455(0x180)]},_0x51a74d='Database:\x20'+_0x2f94cc['type']+_0x5ca455(0x16d)+_0x2f94cc['host']+':'+_0x2f94cc[_0x5ca455(0x20b)]+'/'+_0x2f94cc['database'];logger['debug'](_0xefffc1,_0x51a74d),_0x35e238['WBhrc'](writeToFileLog,{..._0xefffc1,'level':_0x35e238[_0x5ca455(0x191)],'msg':_0x51a74d,'time':new Date()[_0x5ca455(0x1e5)]()},_0x5ca455(0x208));},logRequest=(_0x4f29ed,_0x32f952,_0x374915)=>{const _0x5f4343=a0_0x43a32d,_0x16806d={'amUQJ':'error','aVmJe':function(_0xbe91ec,_0x52602f,_0x53f5ed){return _0xbe91ec(_0x52602f,_0x53f5ed);}},_0x7d4425={'event':_0x5f4343(0x1a7),'method':_0x4f29ed['method'],'path':_0x4f29ed[_0x5f4343(0x1f7)],'statusCode':_0x32f952[_0x5f4343(0x1ab)],'durationMs':_0x374915,'ip':_0x4f29ed['ip']},_0x17e36a=_0x4f29ed[_0x5f4343(0x19e)]+'\x20'+_0x4f29ed['path']+'\x20-\x20'+_0x32f952['statusCode']+'\x20('+_0x374915+'ms)';let _0x45da37='info';if(_0x32f952[_0x5f4343(0x1ab)]>=0x1f4)_0x45da37=_0x16806d['amUQJ'],logger['error'](_0x7d4425,_0x17e36a);else _0x32f952[_0x5f4343(0x1ab)]>=0x190?(_0x45da37=_0x5f4343(0x152),logger[_0x5f4343(0x152)](_0x7d4425,_0x17e36a)):logger['info'](_0x7d4425,_0x17e36a);_0x16806d['aVmJe'](writeToFileLog,{..._0x7d4425,'level':_0x45da37,'msg':_0x17e36a,'time':new Date()['toISOString']()},_0x45da37);},SENSITIVE_PARAM_PATTERNS=[a0_0x43a32d(0x1ef),a0_0x43a32d(0x15c),'pwd',a0_0x43a32d(0x1ee),'access_token',a0_0x43a32d(0x1ad),'secret','api_secret','apikey',a0_0x43a32d(0x1de),a0_0x43a32d(0x1d2),'credentials','pin','otp',a0_0x43a32d(0x1e7),'privatekey'],redactSensitiveParams=(_0x9f24c1,_0x2b2d14)=>{const _0x4a1024=a0_0x43a32d,_0x51996a={'TUgJu':_0x4a1024(0x171),'IzSju':function(_0x56dc3b,_0x2d3a85){return _0x56dc3b===_0x2d3a85;},'Tihxq':function(_0x115b4d,_0x1fd35d){return _0x115b4d>_0x1fd35d;}};if(!_0x9f24c1||_0x9f24c1['length']===0x0)return _0x9f24c1;const _0x203584=_0x2b2d14[_0x4a1024(0x15e)](),_0x36fda1=_0x203584['match'](/\(([^)]+)\)\s*values/i);let _0x18a52d=[];_0x36fda1&&(_0x18a52d=_0x36fda1[0x1]['split'](',')['map'](_0x722b8c=>_0x722b8c[_0x4a1024(0x166)]()['toLowerCase']()));const _0x437ba5=_0x203584[_0x4a1024(0x19a)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x437ba5){const _0x5efd7d=_0x437ba5[0x1],_0x35705d=_0x5efd7d['match'](/(\w+)\s*=/g);_0x35705d&&(_0x18a52d=_0x35705d[_0x4a1024(0x204)](_0x16b353=>_0x16b353[_0x4a1024(0x1a1)](/\s*=/,'')[_0x4a1024(0x166)]()['toLowerCase']()));}return _0x9f24c1[_0x4a1024(0x204)]((_0x49d742,_0x215019)=>{const _0x237795=_0x4a1024;if(_0x18a52d[_0x215019]){const _0x34f37e=_0x18a52d[_0x215019],_0x592bce=SENSITIVE_PARAM_PATTERNS['some'](_0x4441a5=>_0x34f37e[_0x237795(0x209)](_0x4441a5));if(_0x592bce)return _0x51996a['TUgJu'];}if(_0x51996a[_0x237795(0x18e)](typeof _0x49d742,'string')&&_0x51996a[_0x237795(0x15a)](_0x49d742[_0x237795(0x17d)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x49d742)&&_0x49d742[_0x237795(0x209)]('.'))return _0x237795(0x206);if(/^[a-fA-F0-9]{32,}$/[_0x237795(0x15b)](_0x49d742))return _0x237795(0x177);}return _0x49d742;});},parseQueryMetadata=_0x30636b=>{const _0x75f1ff=a0_0x43a32d,_0x2f21f={'RimFa':_0x75f1ff(0x1b1),'fwHJG':_0x75f1ff(0x1b6),'ZCSAj':'INSERT','bOAvf':'UPDATE','ttbaC':'DELETE','eaeXL':'BEGIN','CRnSB':_0x75f1ff(0x18f),'OHbnZ':'TRANSACTION_COMMIT','TGhar':_0x75f1ff(0x1fc),'lhjaA':'DDL_ALTER','Yichp':_0x75f1ff(0x181)},_0x556c41=_0x30636b[_0x75f1ff(0x166)](),_0x549344=_0x556c41[_0x75f1ff(0x1f4)]();let _0x200200=_0x2f21f[_0x75f1ff(0x1a4)],_0x5bf87b=null;if(_0x549344['startsWith']('SELECT')){_0x200200=_0x2f21f['fwHJG'];const _0x3c3c2c=_0x556c41['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5bf87b=_0x3c3c2c?_0x3c3c2c[0x1]:null;}else{if(_0x549344[_0x75f1ff(0x1a0)](_0x2f21f['ZCSAj'])){_0x200200='INSERT';const _0x504e41=_0x556c41['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5bf87b=_0x504e41?_0x504e41[0x1]:null;}else{if(_0x549344['startsWith'](_0x75f1ff(0x173))){_0x200200=_0x2f21f[_0x75f1ff(0x1c5)];const _0x45193e=_0x556c41['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5bf87b=_0x45193e?_0x45193e[0x1]:null;}else{if(_0x549344['startsWith'](_0x2f21f[_0x75f1ff(0x1d0)])){_0x200200='DELETE';const _0x549f32=_0x556c41['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5bf87b=_0x549f32?_0x549f32[0x1]:null;}else{if(_0x549344['startsWith'](_0x2f21f[_0x75f1ff(0x1b4)])||_0x549344[_0x75f1ff(0x1a0)]('START\x20TRANSACTION'))_0x200200=_0x2f21f['CRnSB'];else{if(_0x549344['startsWith']('COMMIT'))_0x200200=_0x2f21f[_0x75f1ff(0x167)];else{if(_0x549344[_0x75f1ff(0x1a0)](_0x75f1ff(0x150)))_0x200200=_0x2f21f['TGhar'];else{if(_0x549344[_0x75f1ff(0x1a0)]('CREATE'))_0x200200='DDL_CREATE';else{if(_0x549344['startsWith']('ALTER'))_0x200200=_0x2f21f['lhjaA'];else _0x549344['startsWith'](_0x75f1ff(0x199))&&(_0x200200=_0x2f21f[_0x75f1ff(0x196)]);}}}}}}}}return{'type':_0x200200,'table':_0x5bf87b};},startQueryTimer=()=>{const _0x4a18c7={'ViJtH':function(_0x58e0c2,_0x1ee256){return _0x58e0c2*_0x1ee256;},'TTaEh':function(_0x118156,_0xbd433){return _0x118156/_0xbd433;}},_0x5a3009=process['hrtime']();return()=>{const _0x1a346d=a0_0x3384,[_0x2cfaf1,_0x4e1c11]=process[_0x1a346d(0x1d1)](_0x5a3009);return parseFloat((_0x4a18c7[_0x1a346d(0x16b)](_0x2cfaf1,0x3e8)+_0x4a18c7['TTaEh'](_0x4e1c11,0xf4240))['toFixed'](0x2));};},logQuery=(_0x409561,_0x52c180=[],_0x44e32b={})=>{const _0x3774a7=a0_0x43a32d,_0x4d19c2={'FVtBg':_0x3774a7(0x14c),'SQaJU':function(_0x4e629f,_0x48a3b8){return _0x4e629f(_0x48a3b8);},'mzAEW':function(_0x1346c8,_0x2595a2){return _0x1346c8>_0x2595a2;},'wRlLm':function(_0x4401dd,_0x5c55bd,_0x333a42){return _0x4401dd(_0x5c55bd,_0x333a42);},'iXJsf':function(_0x1eb4e9,_0x5d9433){return _0x1eb4e9||_0x5d9433;},'VRxwq':function(_0x35e43a,_0x3a8ae0){return _0x35e43a!==_0x3a8ae0;},'rqPPU':'debug','glJNc':'\x20[SLOW]','hbJha':'warn'};if(!sqlLogEnabled){logger['debug']({'event':_0x3774a7(0x1fa),'query':_0x409561[_0x3774a7(0x187)](0x0,0xc8),'paramCount':_0x52c180[_0x3774a7(0x17d)]},_0x4d19c2['FVtBg']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x3774a7(0x1c0)}=_0x44e32b,{type:_0x105c64,table:_0x2e3733}=_0x4d19c2['SQaJU'](parseQueryMetadata,_0x409561),_0x3c832c={'event':_0x3774a7(0x160),'queryType':_0x105c64,'table':_0x2e3733,'query':_0x409561,'paramCount':_0x52c180['length'],'dbType':dbType};sqlLogParams&&_0x4d19c2[_0x3774a7(0x1e8)](_0x52c180['length'],0x0)&&(_0x3c832c['params']=_0x4d19c2['wRlLm'](redactSensitiveParams,_0x52c180,_0x409561));duration!==null&&(_0x3c832c['durationMs']=duration,_0x3c832c['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x3c832c[_0x3774a7(0x188)]=rowsAffected);const _0x172fda=_0x4d19c2[_0x3774a7(0x169)](_0x2e3733,'unknown');let _0x35ff81='['+_0x105c64+']\x20'+_0x172fda;_0x4d19c2[_0x3774a7(0x1e6)](duration,null)&&(_0x35ff81+='\x20('+duration+'ms)');const _0x266ef7=duration!==null&&_0x4d19c2['mzAEW'](duration,sqlLogSlowThreshold);let _0x10b003=_0x4d19c2[_0x3774a7(0x179)];if(_0x266ef7)_0x35ff81+=_0x4d19c2['glJNc'],_0x10b003=_0x4d19c2['hbJha'],logger['warn'](_0x3c832c,_0x35ff81);else sqlLogLevel==='info'?(_0x10b003='info',logger[_0x3774a7(0x1bd)](_0x3c832c,_0x35ff81)):logger['debug'](_0x3c832c,_0x35ff81);_0x4d19c2['wRlLm'](writeToFileLog,{..._0x3c832c,'level':_0x10b003,'msg':_0x35ff81,'time':new Date()['toISOString']()},_0x10b003);},logTransaction=(_0x2404fd,_0x41d18b)=>{const _0x46eafc=a0_0x43a32d,_0x3960cc={'qXwOz':'db_transaction','dVeOf':function(_0x4f2c3c,_0x15c078,_0x59eb53){return _0x4f2c3c(_0x15c078,_0x59eb53);},'iBtoN':'debug'},_0x4d2660={'event':_0x3960cc['qXwOz'],'status':_0x2404fd,'queryCount':_0x41d18b},_0x38e245=_0x46eafc(0x178)+_0x2404fd;logger[_0x46eafc(0x208)](_0x4d2660,_0x38e245),_0x3960cc['dVeOf'](writeToFileLog,{..._0x4d2660,'level':_0x3960cc[_0x46eafc(0x200)],'msg':_0x38e245,'time':new Date()[_0x46eafc(0x1e5)]()},_0x3960cc[_0x46eafc(0x200)]);},redactObject=_0x3fb9a1=>{const _0x58e666=a0_0x43a32d,_0x54d8eb={'HLpFX':function(_0x38e14a,_0x3d30e4){return _0x38e14a!==_0x3d30e4;},'xPpNC':_0x58e666(0x1ef),'asNZZ':'secret','gWNsU':_0x58e666(0x157),'wnHTR':_0x58e666(0x182),'itjSu':'ssn','XQXjE':_0x58e666(0x1a3),'XChwF':'private_key','rycrN':'privatekey','jeCFg':'access_token','KoeAX':'[REDACTED]','QHMFV':function(_0x5ae7fa,_0x1cbfb7){return _0x5ae7fa===_0x1cbfb7;},'sItkx':_0x58e666(0x1f3),'AIxSg':function(_0x13a3d6,_0x3a0cc9){return _0x13a3d6(_0x3a0cc9);}};if(!_0x3fb9a1||_0x54d8eb[_0x58e666(0x17c)](typeof _0x3fb9a1,'object'))return _0x3fb9a1;const _0x5c5b3a=[_0x54d8eb[_0x58e666(0x1e9)],'passwd',_0x58e666(0x1f1),_0x58e666(0x1ee),_0x54d8eb['asNZZ'],_0x54d8eb[_0x58e666(0x1dc)],_0x58e666(0x1de),'authorization',_0x54d8eb['wnHTR'],'credit_card',_0x58e666(0x185),_0x54d8eb[_0x58e666(0x1b7)],_0x54d8eb['XQXjE'],_0x54d8eb['XChwF'],_0x54d8eb[_0x58e666(0x18b)],_0x58e666(0x1ad),_0x54d8eb['jeCFg']],_0x6a5feb=Array[_0x58e666(0x14f)](_0x3fb9a1)?[..._0x3fb9a1]:{..._0x3fb9a1};for(const _0x53f9f5 of Object[_0x58e666(0x183)](_0x6a5feb)){const _0x15c6b4=_0x53f9f5['toLowerCase']();if(_0x5c5b3a['some'](_0x395ecf=>_0x15c6b4['includes'](_0x395ecf)))_0x6a5feb[_0x53f9f5]=_0x54d8eb['KoeAX'];else _0x54d8eb[_0x58e666(0x1f5)](typeof _0x6a5feb[_0x53f9f5],_0x54d8eb['sItkx'])&&_0x54d8eb[_0x58e666(0x17c)](_0x6a5feb[_0x53f9f5],null)&&(_0x6a5feb[_0x53f9f5]=_0x54d8eb[_0x58e666(0x1b3)](redactObject,_0x6a5feb[_0x53f9f5]));}return _0x6a5feb;},logError=(_0x1dd343,_0x1b3b20={},_0x985e14=null)=>{const _0x3d1546=a0_0x43a32d,_0x57cb96={'JFAsd':_0x3d1546(0x1df),'KLLxX':function(_0x384875,_0x2d9651,_0x9b8cf5){return _0x384875(_0x2d9651,_0x9b8cf5);}},_0x48da70={'event':_0x57cb96['JFAsd'],'errorName':_0x1dd343['name']||'Error','errorMessage':_0x1dd343['message'],'errorCode':_0x1dd343[_0x3d1546(0x1ea)]||null,'stack':_0x1dd343[_0x3d1546(0x156)],..._0x1b3b20},_0x33137f=_0x985e14||'Error:\x20'+_0x1dd343[_0x3d1546(0x1ac)];logger[_0x3d1546(0x1df)](_0x48da70,_0x33137f),_0x57cb96['KLLxX'](writeToFileLog,{..._0x48da70,'level':_0x57cb96['JFAsd'],'msg':_0x33137f,'time':new Date()[_0x3d1546(0x1e5)]()},_0x57cb96['JFAsd']);},logFatalError=(_0x591371,_0x3c3242={},_0x28de2e=null)=>{const _0x2f209e=a0_0x43a32d,_0x2b02b1={'RgvBE':'fatal_error','CaYks':'Error','PHrsA':function(_0x5daeb,_0x108c0f,_0x2016c4){return _0x5daeb(_0x108c0f,_0x2016c4);}},_0x160a34={'event':_0x2b02b1['RgvBE'],'errorName':_0x591371[_0x2f209e(0x153)]||_0x2b02b1['CaYks'],'errorMessage':_0x591371[_0x2f209e(0x1ac)],'errorCode':_0x591371['code']||null,'stack':_0x591371[_0x2f209e(0x156)],'severity':'CRITICAL',..._0x3c3242},_0x3f0b85=_0x28de2e||_0x2f209e(0x1d8)+_0x591371[_0x2f209e(0x1ac)];logger['fatal'](_0x160a34,_0x3f0b85),_0x2b02b1['PHrsA'](writeToFileLog,{..._0x160a34,'level':_0x2f209e(0x16f),'msg':_0x3f0b85,'time':new Date()['toISOString']()},_0x2f209e(0x1df));},logHttpError=(_0x503d62,_0x1c6de9,_0x12d52d={})=>{const _0x32c7e7=a0_0x43a32d,_0x165b9f={'ozmuL':_0x32c7e7(0x198),'xwehq':_0x32c7e7(0x1ec),'BIWIF':'x-request-id','nudBD':function(_0x2df437,_0xa6bc37){return _0x2df437>=_0xa6bc37;},'jrlGS':_0x32c7e7(0x152),'HOnjN':_0x32c7e7(0x1df)},_0x2a847c={'event':_0x165b9f[_0x32c7e7(0x195)],'errorName':_0x503d62['name']||'Error','errorMessage':_0x503d62['message'],'errorCode':_0x503d62[_0x32c7e7(0x1ea)]||_0x503d62[_0x32c7e7(0x1ab)]||0x1f4,'stack':_0x503d62['stack'],'method':_0x1c6de9?.['method'],'url':_0x1c6de9?.[_0x32c7e7(0x1a6)]||_0x1c6de9?.['originalUrl'],'path':_0x1c6de9?.[_0x32c7e7(0x1f7)],'ip':_0x1c6de9?.['ip']||_0x1c6de9?.[_0x32c7e7(0x17e)]?.[_0x32c7e7(0x189)],'userAgent':_0x1c6de9?.['get']?.(_0x165b9f['xwehq']),'requestId':_0x1c6de9?.['id']||_0x1c6de9?.[_0x32c7e7(0x1af)]?.[_0x165b9f['BIWIF']],'body':_0x1c6de9?.[_0x32c7e7(0x175)]?redactObject(_0x1c6de9[_0x32c7e7(0x175)]):undefined,'query':_0x1c6de9?.['query'],..._0x12d52d},_0x30272e=_0x503d62[_0x32c7e7(0x1ab)]||_0x503d62['status']||0x1f4,_0x50de6a=_0x32c7e7(0x1b5)+_0x30272e+':\x20'+_0x503d62['message'];_0x165b9f[_0x32c7e7(0x192)](_0x30272e,0x1f4)?logger['error'](_0x2a847c,_0x50de6a):logger[_0x32c7e7(0x152)](_0x2a847c,_0x50de6a),writeToFileLog({..._0x2a847c,'level':_0x30272e>=0x1f4?_0x32c7e7(0x1df):_0x165b9f['jrlGS'],'msg':_0x50de6a,'time':new Date()['toISOString']()},_0x30272e>=0x1f4?_0x165b9f['HOnjN']:_0x32c7e7(0x152));},logUncaughtError=(_0x3c7cbb,_0x1f5315)=>{const _0x4f477b=a0_0x43a32d,_0x40558a={'fKttp':'Error','rtmTV':function(_0x393234,_0x2502d5){return _0x393234(_0x2502d5);}},_0x3293cb={'event':_0x3c7cbb,'errorName':_0x1f5315?.[_0x4f477b(0x153)]||_0x40558a['fKttp'],'errorMessage':_0x1f5315?.['message']||_0x40558a[_0x4f477b(0x164)](String,_0x1f5315),'errorCode':_0x1f5315?.['code']||null,'stack':_0x1f5315?.['stack'],'severity':'CRITICAL','processId':process[_0x4f477b(0x16c)],'memoryUsage':process[_0x4f477b(0x159)](),'uptime':process['uptime']()},_0x41694d='['+_0x3c7cbb['toUpperCase']()+']\x20'+(_0x1f5315?.['message']||_0x1f5315);logger[_0x4f477b(0x16f)](_0x3293cb,_0x41694d),writeToFileLog({..._0x3293cb,'level':'fatal','msg':_0x41694d,'time':new Date()[_0x4f477b(0x1e5)]()},_0x4f477b(0x1df));},setupGlobalErrorHandlers=()=>{const _0x12d715=a0_0x43a32d,_0x3f5bef={'YWHnr':function(_0x3de7a7,_0x4a7fbb,_0x21befb){return _0x3de7a7(_0x4a7fbb,_0x21befb);},'dAPeK':function(_0xbcc6d3,_0x19d912){return _0xbcc6d3(_0x19d912);},'HUltB':function(_0x496f29,_0xda9b30,_0x5a8068){return _0x496f29(_0xda9b30,_0x5a8068);},'bapAP':_0x12d715(0x1dd),'JDxww':'global_error_handlers_setup','llguU':'Global\x20error\x20handlers\x20initialized','AlffE':_0x12d715(0x1bd)};process['on'](_0x12d715(0x1a9),_0x1c4f10=>{logUncaughtError('uncaughtException',_0x1c4f10),_0x3f5bef['YWHnr'](setTimeout,()=>{const _0x52e5a3=a0_0x3384;process[_0x52e5a3(0x1db)](0x1);},0x3e8);}),process['on'](_0x12d715(0x1dd),(_0x28a4f3,_0x813316)=>{const _0x4b313f=_0x12d715,_0x247adc=_0x28a4f3 instanceof Error?_0x28a4f3:new Error(_0x3f5bef[_0x4b313f(0x165)](String,_0x28a4f3));_0x3f5bef['HUltB'](logUncaughtError,_0x3f5bef[_0x4b313f(0x19b)],_0x247adc);}),process['on']('warning',_0x2db958=>{const _0x505576=_0x12d715;logger['warn']({'event':'process_warning','name':_0x2db958['name'],'message':_0x2db958[_0x505576(0x1ac)],'stack':_0x2db958[_0x505576(0x156)]},_0x505576(0x18d)+_0x2db958['message']);});const _0x26df4d={'event':_0x3f5bef['JDxww']},_0x5a96d9=_0x3f5bef[_0x12d715(0x1c6)];logger[_0x12d715(0x1bd)](_0x26df4d,_0x5a96d9),_0x3f5bef[_0x12d715(0x1fb)](writeToFileLog,{..._0x26df4d,'level':_0x3f5bef[_0x12d715(0x1c3)],'msg':_0x5a96d9,'time':new Date()['toISOString']()},_0x3f5bef[_0x12d715(0x1c3)]);},createErrorHandlerMiddleware=()=>{const _0x41bf8b={'PhawI':function(_0x123aab,_0x248d93,_0x2f68f0){return _0x123aab(_0x248d93,_0x2f68f0);}};return(_0x488e8b,_0xe3318c,_0x2b4b07,_0x4448ee)=>{const _0x263383=a0_0x3384;_0x41bf8b['PhawI'](logHttpError,_0x488e8b,_0xe3318c);const _0x122fd5=_0x488e8b[_0x263383(0x1ab)]||_0x488e8b[_0x263383(0x1d3)]||0x1f4;_0x2b4b07['status'](_0x122fd5)['json']({'success':![],'error':_0x122fd5>=0x1f4?_0x263383(0x197):_0x488e8b['message'],'requestId':_0xe3318c['id']||_0xe3318c[_0x263383(0x1af)]?.['x-request-id']||null});};};module[a0_0x43a32d(0x1bb)]={'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_0x21a2d4=a0_0x289d;(function(_0x2842c5,_0x15da9e){const _0x2e2bd2=a0_0x289d,_0x5c7fce=_0x2842c5();while(!![]){try{const _0x1d01b2=-parseInt(_0x2e2bd2(0xb3))/0x1*(parseInt(_0x2e2bd2(0x9e))/0x2)+-parseInt(_0x2e2bd2(0xa5))/0x3*(parseInt(_0x2e2bd2(0xa7))/0x4)+parseInt(_0x2e2bd2(0xa6))/0x5*(parseInt(_0x2e2bd2(0xbb))/0x6)+parseInt(_0x2e2bd2(0xbe))/0x7*(-parseInt(_0x2e2bd2(0x9a))/0x8)+-parseInt(_0x2e2bd2(0x9f))/0x9+parseInt(_0x2e2bd2(0xc6))/0xa+parseInt(_0x2e2bd2(0xac))/0xb;if(_0x1d01b2===_0x15da9e)break;else _0x5c7fce['push'](_0x5c7fce['shift']());}catch(_0x1d6b2e){_0x5c7fce['push'](_0x5c7fce['shift']());}}}(a0_0x3b32,0x318ef));const dbType=(process['env'][a0_0x21a2d4(0xb4)]||'postgresql')[a0_0x21a2d4(0xa2)]();let executeQuery;function a0_0x3b32(){const _0x329e0a=['CMvZB2X2zuXVB2T1CfzHBhvL','mwfLrxHesW','rejFvfLqrq','s1DTtKW','Bg9VA3vWx3rHyMXLx2XVywrLza','lI9KyI1TExnXBa','lI9KyI1VCMfJBgu','BxLZCwW','zxHLy3v0zvf1zxj5','mZKXnZiYr1zlvNzN','zxHWB3j0CW','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','mtrhu3fsv2S','C2v0','iezst00G','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','ChvZAa','zgvIDwC','BwfW','DhjPBq','odu3oduWBxzhDKn4','DMfSAwrHDgvmB29RDxbwywX1zxm','A2v5CW','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','B3jHy2XL','C2XPy2u','zw50CMLLCW','z2v0rgLZDgLUy3rwywX1zxm','twXTuxq','Bg9VA3vWq2fJAgu','nJq4otq0vgfkCgDR','uLnSrKi','AgfZ','r2nvBNK','ndy3mtiYvvDcyxfw','mZmYmde5mhHIwfnAEa','Aw5MBW','BgvUz3rO','Dg9mB3DLCKnHC2u','y2XLyxjdywnOzq','z2v0','nZi1mwDpq1jNsq','nwvkEgjpBG','ndeYDeDoAKvN','yLP2u00','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','zM9YrwfJAa','CvPzC3a','mte3mJeZndDAC0XbD0e','vMfSDwuGiG','uLvAsva','ChjVy2vZC0XVB2T1CezPzwXKCW','Bg9HzeXVB2T1CfrHyMXL','u0vmrunuia'];a0_0x3b32=function(){return _0x329e0a;};return a0_0x3b32();}if(dbType===a0_0x21a2d4(0x94)){const oracleDb=require(a0_0x21a2d4(0xb8));executeQuery=(_0x4ada61,_0x14d6ac)=>oracleDb['executeQuery'](_0x4ada61,_0x14d6ac);}else{if(dbType===a0_0x21a2d4(0xb9)){const mysqlDb=require(a0_0x21a2d4(0xb7));executeQuery=(_0x517689,_0x54e8be)=>mysqlDb[a0_0x21a2d4(0xba)](_0x517689,_0x54e8be);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x21a2d4(0xa3)](){const _0x56e92b=a0_0x21a2d4,_0x53b1d4={'taeEt':'lookup_cache_cleared'};this['lookupCache']['clear'](),logger[_0x56e92b(0xc3)]({'event':_0x53b1d4['taeEt']},'Lookup\x20cache\x20cleared');}async['loadLookupTable'](_0x15294c,_0x5e9975,_0x5510d3){const _0x42ff37=a0_0x21a2d4,_0x26edd2={'Qbgor':function(_0x5d0bfd,_0x49b859){return _0x5d0bfd!==_0x49b859;},'EAuUo':function(_0x20bf5e,_0x5dcc6c){return _0x20bf5e!==_0x5dcc6c;},'KWmNL':function(_0x18587f,_0x23e6cf){return _0x18587f(_0x23e6cf);},'RUZIP':_0x42ff37(0xb6)},_0x566def=_0x15294c+':'+_0x5e9975+':'+_0x5510d3;if(this[_0x42ff37(0x99)]['has'](_0x566def))return this[_0x42ff37(0x99)][_0x42ff37(0xa4)](_0x566def);try{const _0x494a58=_0x42ff37(0xb1)+_0x5510d3+',\x20'+_0x5e9975+_0x42ff37(0xc0)+_0x15294c,_0x168cb3=await executeQuery(_0x494a58),_0x59c943=new Map();return _0x168cb3['forEach'](_0x4b2da5=>{const _0x4068e3=_0x42ff37,_0x25b54d=_0x26edd2['Qbgor'](_0x4b2da5[_0x5e9975],undefined)?_0x4b2da5[_0x5e9975]:_0x4b2da5[_0x5e9975['toUpperCase']()],_0xaea06b=_0x26edd2['Qbgor'](_0x4b2da5[_0x5510d3],undefined)?_0x4b2da5[_0x5510d3]:_0x4b2da5[_0x5510d3['toUpperCase']()];_0x26edd2['EAuUo'](_0x25b54d,null)&&_0x25b54d!==undefined&&(_0x59c943[_0x4068e3(0xbf)](_0x26edd2[_0x4068e3(0xb5)](String,_0x25b54d)['toLowerCase']()['trim'](),_0xaea06b),_0x59c943[_0x4068e3(0xbf)](_0x26edd2[_0x4068e3(0xb5)](String,_0x25b54d)[_0x4068e3(0xc5)](),_0xaea06b));}),this[_0x42ff37(0x99)][_0x42ff37(0xbf)](_0x566def,_0x59c943),logger[_0x42ff37(0xa0)]({'event':_0x26edd2[_0x42ff37(0xae)],'table':_0x15294c,'column':_0x5e9975,'count':_0x168cb3['length']},'Lookup\x20table\x20loaded:\x20'+_0x15294c),_0x59c943;}catch(_0xb48f3b){logger['error']({'event':_0x42ff37(0xa9),'table':_0x15294c,'error':_0xb48f3b['message']},_0x42ff37(0x93)+_0x15294c);throw _0xb48f3b;}}[a0_0x21a2d4(0xb2)](_0x62c21c,_0x1b5762){const _0x474291=a0_0x21a2d4,_0x5890b2={'RSlFB':function(_0x84f5f7,_0xeb8cfd){return _0x84f5f7===_0xeb8cfd;},'MlmQt':function(_0x2cb340,_0x218927){return _0x2cb340(_0x218927);}};if(_0x5890b2['RSlFB'](_0x62c21c,null)||_0x5890b2[_0x474291(0x9b)](_0x62c21c,undefined)||_0x5890b2[_0x474291(0x9b)](_0x62c21c,''))return null;const _0x55d9b7=_0x5890b2[_0x474291(0x98)](String,_0x62c21c)[_0x474291(0xc5)]();if(_0x1b5762[_0x474291(0x9c)](_0x55d9b7))return _0x1b5762[_0x474291(0xa4)](_0x55d9b7);const _0xc973df=_0x55d9b7[_0x474291(0xa2)]();if(_0x1b5762[_0x474291(0x9c)](_0xc973df))return _0x1b5762['get'](_0xc973df);return null;}async[a0_0x21a2d4(0xaf)](_0x2a73dc,_0x41cddc){const _0x495a5d=a0_0x21a2d4,_0xdd2bb8={'qZYsp':function(_0x32130b,_0x237c1c){return _0x32130b===_0x237c1c;}};if(!_0x41cddc||_0xdd2bb8[_0x495a5d(0xab)](Object[_0x495a5d(0x92)](_0x41cddc)[_0x495a5d(0xa1)],0x0))return{'processedRows':_0x2a73dc,'errors':[]};const _0x2405bf=[],_0x1afedb=new Map();for(const [_0x28a448,_0x5a23ab]of Object[_0x495a5d(0x96)](_0x41cddc)){const {lookupTable:_0x54852a,lookupColumn:_0x2654c8,lookupIdColumn:_0x5f9460}=_0x5a23ab,_0xbdd74d=_0x54852a+':'+_0x2654c8+':'+_0x5f9460;if(!_0x1afedb['has'](_0xbdd74d)){const _0x516cda=await this[_0x495a5d(0xb0)](_0x54852a,_0x2654c8,_0x5f9460);_0x1afedb[_0x495a5d(0xbf)](_0xbdd74d,_0x516cda);}}const _0x23062c=_0x2a73dc[_0x495a5d(0xc4)]((_0x38b3fa,_0x4deadf)=>{const _0x153768=_0x495a5d,_0x14feaa={..._0x38b3fa};for(const [_0x294dfc,_0x1b80b8]of Object['entries'](_0x41cddc)){const {lookupTable:_0x1f2e96,lookupColumn:_0x304dc8,lookupIdColumn:_0x4160e2,targetField:_0x2839b4,required:_0x43c5a6}=_0x1b80b8,_0x5ed7bf=_0x1f2e96+':'+_0x304dc8+':'+_0x4160e2,_0x4a075d=_0x1afedb[_0x153768(0xa4)](_0x5ed7bf),_0x43e0cb=_0x38b3fa[_0x294dfc];if((_0xdd2bb8['qZYsp'](_0x43e0cb,null)||_0x43e0cb===undefined||_0x43e0cb==='')&&!_0x43c5a6){_0x14feaa[_0x2839b4]=null;continue;}const _0x5cba3a=this[_0x153768(0xb2)](_0x43e0cb,_0x4a075d);_0x5cba3a!==null?_0x14feaa[_0x2839b4]=_0x5cba3a:(_0x43c5a6&&_0x2405bf[_0x153768(0xc2)]({'rowIndex':_0x4deadf,'field':_0x294dfc,'value':_0x43e0cb,'targetField':_0x2839b4,'lookupTable':_0x1f2e96,'message':_0x153768(0xad)+_0x43e0cb+'\x22\x20not\x20found\x20in\x20'+_0x1f2e96}),_0x14feaa[_0x2839b4]=null);}return _0x14feaa;});return logger['info']({'event':_0x495a5d(0xc1),'totalRows':_0x2a73dc[_0x495a5d(0xa1)],'errorCount':_0x2405bf['length'],'lookupFieldCount':Object['keys'](_0x41cddc)[_0x495a5d(0xa1)]},_0x495a5d(0xbd)),{'processedRows':_0x23062c,'errors':_0x2405bf};}['getDistinctValues'](_0x5357b3,_0x444ed0){const _0x18b24e=a0_0x21a2d4,_0xec2246={'nYIke':function(_0x587313,_0x39f55d){return _0x587313!==_0x39f55d;},'AhXHX':function(_0x84309b,_0x1287e9){return _0x84309b!==_0x1287e9;}},_0x34e455=new Set();return _0x5357b3[_0x18b24e(0xaa)](_0x117ca3=>{const _0x19a3d1=_0x117ca3[_0x444ed0];_0x19a3d1!==null&&_0xec2246['nYIke'](_0x19a3d1,undefined)&&_0xec2246['AhXHX'](_0x19a3d1,'')&&_0x34e455['add'](String(_0x19a3d1)['trim']());}),Array['from'](_0x34e455);}async[a0_0x21a2d4(0x91)](_0x56525e,_0x498ff7){const _0xb47ebf=a0_0x21a2d4,_0x2d3ade={'bZvSM':function(_0x13713a,_0x34157d){return _0x13713a!==_0x34157d;},'GcUny':function(_0x5e49b4,_0x2087d2){return _0x5e49b4===_0x2087d2;}};if(!_0x498ff7||Object[_0xb47ebf(0x92)](_0x498ff7)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x363ac8=[],_0x4b9746={};for(const [_0x3472a1,_0x3172f0]of Object['entries'](_0x498ff7)){const {lookupTable:_0xcd9402,lookupColumn:_0x5257ef,lookupIdColumn:_0x4da850,required:_0x8ca8ce}=_0x3172f0,_0x1ac390=this[_0xb47ebf(0x97)](_0x56525e,_0x3472a1),_0xdaf11e=await this['loadLookupTable'](_0xcd9402,_0x5257ef,_0x4da850),_0x1741a5=[],_0x348701=[];_0x1ac390[_0xb47ebf(0xaa)](_0x3f09ab=>{const _0x4cf420=_0xb47ebf,_0x471784=this[_0x4cf420(0xb2)](_0x3f09ab,_0xdaf11e);_0x2d3ade[_0x4cf420(0xa8)](_0x471784,null)?_0x348701['push'](_0x3f09ab):_0x1741a5['push'](_0x3f09ab);});if(_0x1741a5['length']>0x0&&_0x8ca8ce){_0x363ac8[_0xb47ebf(0xc2)]({'field':_0x3472a1,'lookupTable':_0xcd9402,'invalidValues':_0x1741a5,'message':_0x1741a5[_0xb47ebf(0xa1)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0xcd9402});const _0x456686=[];_0xdaf11e['forEach']((_0x5d522d,_0x4d68e0)=>{const _0x48c55=_0xb47ebf;if(_0x2d3ade[_0x48c55(0x9d)](_0x4d68e0,_0x4d68e0['toLowerCase']()))return;_0x456686[_0x48c55(0xc2)](_0x4d68e0);}),_0x4b9746[_0x3472a1]={'invalidValues':_0x1741a5,'availableValues':_0x456686[_0xb47ebf(0x95)](0x0,0x32)};}}return{'valid':_0x2d3ade['GcUny'](_0x363ac8['length'],0x0),'errors':_0x363ac8,'suggestions':_0x4b9746};}}function a0_0x289d(_0x1ea9a7,_0x4b9681){_0x1ea9a7=_0x1ea9a7-0x91;const _0x3b323f=a0_0x3b32();let _0x289dff=_0x3b323f[_0x1ea9a7];if(a0_0x289d['PXZQTb']===undefined){var _0x1a30bc=function(_0x48941b){const _0x3a039c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e06ae='',_0x24d86e='';for(let _0x37dce0=0x0,_0x1e1028,_0x4b6b36,_0x39e8e7=0x0;_0x4b6b36=_0x48941b['charAt'](_0x39e8e7++);~_0x4b6b36&&(_0x1e1028=_0x37dce0%0x4?_0x1e1028*0x40+_0x4b6b36:_0x4b6b36,_0x37dce0++%0x4)?_0x2e06ae+=String['fromCharCode'](0xff&_0x1e1028>>(-0x2*_0x37dce0&0x6)):0x0){_0x4b6b36=_0x3a039c['indexOf'](_0x4b6b36);}for(let _0x48ab62=0x0,_0x4640b6=_0x2e06ae['length'];_0x48ab62<_0x4640b6;_0x48ab62++){_0x24d86e+='%'+('00'+_0x2e06ae['charCodeAt'](_0x48ab62)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x24d86e);};a0_0x289d['AIoOqB']=_0x1a30bc,a0_0x289d['EyILHa']={},a0_0x289d['PXZQTb']=!![];}const _0x53709a=_0x3b323f[0x0],_0x1fa56e=_0x1ea9a7+_0x53709a,_0x33ad52=a0_0x289d['EyILHa'][_0x1fa56e];return!_0x33ad52?(_0x289dff=a0_0x289d['AIoOqB'](_0x289dff),a0_0x289d['EyILHa'][_0x1fa56e]=_0x289dff):_0x289dff=_0x33ad52,_0x289dff;}module[a0_0x21a2d4(0xbc)]=new LookupResolver();
1
+ const a0_0xaa84b4=a0_0xe0f8;(function(_0x1910f1,_0x448626){const _0x5cf60c=a0_0xe0f8,_0x44efe8=_0x1910f1();while(!![]){try{const _0xfb506c=parseInt(_0x5cf60c(0x1ad))/0x1*(parseInt(_0x5cf60c(0x1b6))/0x2)+-parseInt(_0x5cf60c(0x1c3))/0x3+-parseInt(_0x5cf60c(0x1bb))/0x4*(parseInt(_0x5cf60c(0x1c2))/0x5)+-parseInt(_0x5cf60c(0x1b9))/0x6*(parseInt(_0x5cf60c(0x1b4))/0x7)+parseInt(_0x5cf60c(0x19c))/0x8*(-parseInt(_0x5cf60c(0x1ac))/0x9)+-parseInt(_0x5cf60c(0x1ae))/0xa+parseInt(_0x5cf60c(0x1b2))/0xb;if(_0xfb506c===_0x448626)break;else _0x44efe8['push'](_0x44efe8['shift']());}catch(_0x4cf397){_0x44efe8['push'](_0x44efe8['shift']());}}}(a0_0x1734,0x4bfe7));const dbType=(process[a0_0xaa84b4(0x1be)]['DB_TYPE']||a0_0xaa84b4(0x1bf))['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x12b6fe,_0x1ecccc)=>oracleDb['executeQuery'](_0x12b6fe,_0x1ecccc);}else{if(dbType===a0_0xaa84b4(0x198)){const mysqlDb=require(a0_0xaa84b4(0x19d));executeQuery=(_0x4dd735,_0x380545)=>mysqlDb[a0_0xaa84b4(0x1ab)](_0x4dd735,_0x380545);}else executeQuery=require(a0_0xaa84b4(0x19b))['executeQuery'];}const {logger}=require(a0_0xaa84b4(0x1c5));function a0_0x1734(){const _0xff47df=['BwfW','otiXmtHODfHLAeC','Aw5MBW','BgvUz3rO','nJa5nMHvv2fzDG','zxjYB3i','mJyYmhnoBwnTDq','ChjVy2vZC0XVB2T1CezPzwXKCW','u0vmrunuia','zw52','Cg9ZDgDYzxnXBa','Dg9mB3DLCKnHC2u','BfnjzKW','ndyXme1wr2D2Cq','nJm1mtKWv0PIqMny','z2v0','lI9SB2DNzxi','zgvIDwC','iIbUB3qGzM91BMqGAw4G','zM9YrwfJAa','qKDlshe','rfzgsLO','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','BxLZCwW','BNHoreu','u2fyB2i','lI9KyG','mJmYodiWmgD3CLnIrq','lI9KyI1TExnXBa','zw50CMLLCW','DMfSAwrHDgvmB29RDxbwywX1zxm','tg9VA3vWignHy2HLignSzwfYzwq','AgfZ','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','Bg9VA3vWq2fJAgu','Bg9HzeXVB2T1CfrHyMXL','z2v0rgLZDgLUy3rwywX1zxm','C2v0','Dg9vChbLCKnHC2u','iezst00G','DhjPBq','ChvZAa','zxHLy3v0zvf1zxj5','mtHyve5ZDgG','n3LPqxHrwq','mJy3nZu4mfDRB3zxBq','vMfSDwuGiG','A2v5CW','BwvZC2fNzq','mJm2otu5ntHOtxbKtKy','Bg9VA3vWx3rHyMXLx2XVywrLza','mZq0nev4wuHjAW'];a0_0x1734=function(){return _0xff47df;};return a0_0x1734();}function a0_0xe0f8(_0x454a94,_0x17409b){_0x454a94=_0x454a94-0x195;const _0x173408=a0_0x1734();let _0xe0f8bf=_0x173408[_0x454a94];if(a0_0xe0f8['jymzvP']===undefined){var _0x687ca8=function(_0x5c75ae){const _0x133364='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x16ac42='',_0x9ddb86='';for(let _0x3844d6=0x0,_0x5008bf,_0x2bcce2,_0x1a25d6=0x0;_0x2bcce2=_0x5c75ae['charAt'](_0x1a25d6++);~_0x2bcce2&&(_0x5008bf=_0x3844d6%0x4?_0x5008bf*0x40+_0x2bcce2:_0x2bcce2,_0x3844d6++%0x4)?_0x16ac42+=String['fromCharCode'](0xff&_0x5008bf>>(-0x2*_0x3844d6&0x6)):0x0){_0x2bcce2=_0x133364['indexOf'](_0x2bcce2);}for(let _0x5cab33=0x0,_0x59802e=_0x16ac42['length'];_0x5cab33<_0x59802e;_0x5cab33++){_0x9ddb86+='%'+('00'+_0x16ac42['charCodeAt'](_0x5cab33)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9ddb86);};a0_0xe0f8['IhmjVU']=_0x687ca8,a0_0xe0f8['giGKJU']={},a0_0xe0f8['jymzvP']=!![];}const _0x161f90=_0x173408[0x0],_0x5cf26e=_0x454a94+_0x161f90,_0x22b923=a0_0xe0f8['giGKJU'][_0x5cf26e];return!_0x22b923?(_0xe0f8bf=a0_0xe0f8['IhmjVU'](_0xe0f8bf),a0_0xe0f8['giGKJU'][_0x5cf26e]=_0xe0f8bf):_0xe0f8bf=_0x22b923,_0xe0f8bf;}class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x113619=a0_0xaa84b4,_0x553b3e={'FQPku':'lookup_cache_cleared','EcBiQ':_0x113619(0x1a0)};this[_0x113619(0x1a3)]['clear'](),logger[_0x113619(0x1c6)]({'event':_0x553b3e['FQPku']},_0x553b3e['EcBiQ']);}async[a0_0xaa84b4(0x1a4)](_0x392e4a,_0x277d65,_0x54493f){const _0x46a169=a0_0xaa84b4,_0x172e64={'sIRGa':function(_0x178df9,_0x313528){return _0x178df9!==_0x313528;},'clfoR':function(_0xf76e0d,_0x5231a8){return _0xf76e0d!==_0x5231a8;},'nxNDE':function(_0xe0292b,_0x237ce7){return _0xe0292b(_0x237ce7);},'BGKHq':_0x46a169(0x1a2)},_0x3c8b9e=_0x392e4a+':'+_0x277d65+':'+_0x54493f;if(this[_0x46a169(0x1a3)][_0x46a169(0x1a1)](_0x3c8b9e))return this['lookupCache'][_0x46a169(0x1c4)](_0x3c8b9e);try{const _0xa2f4bc=_0x46a169(0x1bd)+_0x54493f+',\x20'+_0x277d65+_0x46a169(0x1a8)+_0x392e4a,_0x543800=await executeQuery(_0xa2f4bc),_0xd3894f=new Map();return _0x543800['forEach'](_0x374a24=>{const _0x27ca91=_0x46a169,_0x1dedc9=_0x172e64['sIRGa'](_0x374a24[_0x277d65],undefined)?_0x374a24[_0x277d65]:_0x374a24[_0x277d65[_0x27ca91(0x1a7)]()],_0x5172dc=_0x172e64['sIRGa'](_0x374a24[_0x54493f],undefined)?_0x374a24[_0x54493f]:_0x374a24[_0x54493f[_0x27ca91(0x1a7)]()];_0x1dedc9!==null&&_0x172e64['clfoR'](_0x1dedc9,undefined)&&(_0xd3894f['set'](String(_0x1dedc9)[_0x27ca91(0x1c0)]()['trim'](),_0x5172dc),_0xd3894f[_0x27ca91(0x1a6)](_0x172e64[_0x27ca91(0x199)](String,_0x1dedc9)['trim'](),_0x5172dc));}),this['lookupCache']['set'](_0x3c8b9e,_0xd3894f),logger[_0x46a169(0x1b7)]({'event':_0x46a169(0x1b3),'table':_0x392e4a,'column':_0x277d65,'count':_0x543800['length']},'Lookup\x20table\x20loaded:\x20'+_0x392e4a),_0xd3894f;}catch(_0xc14af2){logger[_0x46a169(0x1ba)]({'event':_0x172e64[_0x46a169(0x195)],'table':_0x392e4a,'error':_0xc14af2[_0x46a169(0x1b1)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x392e4a);throw _0xc14af2;}}['resolveLookupValue'](_0x496777,_0x2ae832){const _0x1d261d=a0_0xaa84b4,_0x469b97={'IBhEM':function(_0xb3ed6f,_0x419fd3){return _0xb3ed6f===_0x419fd3;},'rOaJR':function(_0x474d22,_0x592c15){return _0x474d22(_0x592c15);}};if(_0x469b97['IBhEM'](_0x496777,null)||_0x496777===undefined||_0x496777==='')return null;const _0x504910=_0x469b97['rOaJR'](String,_0x496777)[_0x1d261d(0x1a9)]();if(_0x2ae832[_0x1d261d(0x1a1)](_0x504910))return _0x2ae832[_0x1d261d(0x1c4)](_0x504910);const _0x392e15=_0x504910[_0x1d261d(0x1c0)]();if(_0x2ae832[_0x1d261d(0x1a1)](_0x392e15))return _0x2ae832[_0x1d261d(0x1c4)](_0x392e15);return null;}async[a0_0xaa84b4(0x1bc)](_0x2fd9db,_0x9e8f47){const _0xeccac9=a0_0xaa84b4,_0x5806d3={'SaXob':function(_0x28206f,_0x3f0d93){return _0x28206f===_0x3f0d93;},'lSIfL':function(_0x332494,_0xf07f0c){return _0x332494!==_0xf07f0c;}};if(!_0x9e8f47||Object[_0xeccac9(0x1b0)](_0x9e8f47)['length']===0x0)return{'processedRows':_0x2fd9db,'errors':[]};const _0x5f2eba=[],_0x212b59=new Map();for(const [_0x1ffb22,_0x8a50d4]of Object['entries'](_0x9e8f47)){const {lookupTable:_0x7b5361,lookupColumn:_0x2051ee,lookupIdColumn:_0x428f96}=_0x8a50d4,_0xb1d76a=_0x7b5361+':'+_0x2051ee+':'+_0x428f96;if(!_0x212b59['has'](_0xb1d76a)){const _0x19da62=await this['loadLookupTable'](_0x7b5361,_0x2051ee,_0x428f96);_0x212b59[_0xeccac9(0x1a6)](_0xb1d76a,_0x19da62);}}const _0x5d6f4b=_0x2fd9db[_0xeccac9(0x1b5)]((_0xc8a45e,_0x4cc76c)=>{const _0x1355fe=_0xeccac9,_0x1a11c4={..._0xc8a45e};for(const [_0x3dcff1,_0x4a3541]of Object[_0x1355fe(0x19e)](_0x9e8f47)){const {lookupTable:_0x5eb668,lookupColumn:_0x1f5f5c,lookupIdColumn:_0x1d4af3,targetField:_0x2a01c9,required:_0x14cb6b}=_0x4a3541,_0x2d802e=_0x5eb668+':'+_0x1f5f5c+':'+_0x1d4af3,_0x55657c=_0x212b59[_0x1355fe(0x1c4)](_0x2d802e),_0x2fa97a=_0xc8a45e[_0x3dcff1];if((_0x5806d3[_0x1355fe(0x19a)](_0x2fa97a,null)||_0x2fa97a===undefined||_0x5806d3[_0x1355fe(0x19a)](_0x2fa97a,''))&&!_0x14cb6b){_0x1a11c4[_0x2a01c9]=null;continue;}const _0x2854b8=this['resolveLookupValue'](_0x2fa97a,_0x55657c);_0x5806d3[_0x1355fe(0x1c1)](_0x2854b8,null)?_0x1a11c4[_0x2a01c9]=_0x2854b8:(_0x14cb6b&&_0x5f2eba['push']({'rowIndex':_0x4cc76c,'field':_0x3dcff1,'value':_0x2fa97a,'targetField':_0x2a01c9,'lookupTable':_0x5eb668,'message':_0x1355fe(0x1af)+_0x2fa97a+_0x1355fe(0x1c7)+_0x5eb668}),_0x1a11c4[_0x2a01c9]=null);}return _0x1a11c4;});return logger[_0xeccac9(0x1b7)]({'event':'lookup_fields_processed','totalRows':_0x2fd9db[_0xeccac9(0x1b8)],'errorCount':_0x5f2eba[_0xeccac9(0x1b8)],'lookupFieldCount':Object['keys'](_0x9e8f47)[_0xeccac9(0x1b8)]},_0xeccac9(0x197)),{'processedRows':_0x5d6f4b,'errors':_0x5f2eba};}[a0_0xaa84b4(0x1a5)](_0x11c255,_0x528b9a){const _0x4604fc={'XIkzD':function(_0x5222b6,_0x3c2755){return _0x5222b6(_0x3c2755);}},_0x288ff6=new Set();return _0x11c255['forEach'](_0x457ed8=>{const _0x4c2d7b=_0x457ed8[_0x528b9a];_0x4c2d7b!==null&&_0x4c2d7b!==undefined&&_0x4c2d7b!==''&&_0x288ff6['add'](_0x4604fc['XIkzD'](String,_0x4c2d7b)['trim']());}),Array['from'](_0x288ff6);}async[a0_0xaa84b4(0x19f)](_0x4c22e3,_0x1f3687){const _0x1eb36f=a0_0xaa84b4,_0x471bc4={'DVFJZ':function(_0x45e72a,_0x1d3bdf){return _0x45e72a!==_0x1d3bdf;},'xwzTJ':function(_0x236d02,_0x1a4308){return _0x236d02===_0x1a4308;}};if(!_0x1f3687||Object['keys'](_0x1f3687)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x430130=[],_0x4b5659={};for(const [_0x42d02f,_0x177ed7]of Object['entries'](_0x1f3687)){const {lookupTable:_0x40662d,lookupColumn:_0x49cf40,lookupIdColumn:_0x113da,required:_0x531f11}=_0x177ed7,_0x15947a=this[_0x1eb36f(0x1a5)](_0x4c22e3,_0x42d02f),_0x1e30d9=await this[_0x1eb36f(0x1a4)](_0x40662d,_0x49cf40,_0x113da),_0x1fe03e=[],_0x5a4fc=[];_0x15947a[_0x1eb36f(0x1c8)](_0x54652e=>{const _0xbe5db9=_0x1eb36f,_0x19f5b1=this['resolveLookupValue'](_0x54652e,_0x1e30d9);_0x471bc4[_0xbe5db9(0x196)](_0x19f5b1,null)?_0x5a4fc['push'](_0x54652e):_0x1fe03e[_0xbe5db9(0x1aa)](_0x54652e);});if(_0x1fe03e[_0x1eb36f(0x1b8)]>0x0&&_0x531f11){_0x430130['push']({'field':_0x42d02f,'lookupTable':_0x40662d,'invalidValues':_0x1fe03e,'message':_0x1fe03e[_0x1eb36f(0x1b8)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x40662d});const _0x5ad67a=[];_0x1e30d9[_0x1eb36f(0x1c8)]((_0x1aa604,_0x75b926)=>{const _0x569993=_0x1eb36f;if(_0x75b926===_0x75b926[_0x569993(0x1c0)]())return;_0x5ad67a['push'](_0x75b926);}),_0x4b5659[_0x42d02f]={'invalidValues':_0x1fe03e,'availableValues':_0x5ad67a['slice'](0x0,0x32)};}}return{'valid':_0x471bc4['xwzTJ'](_0x430130['length'],0x0),'errors':_0x430130,'suggestions':_0x4b5659};}}module['exports']=new LookupResolver();
@@ -1 +1 @@
1
- function a0_0x33aa(){const _0x6cbab6=['CMvHzezPBgu','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','AM9PBG','mJe2qwTPq25m','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','mJG4mdj2CuzysvO','mte2nZL2sKHTDgW','Bg9HzfbHEwXVywq','qK1rrMG','lI9SB2DNzxi','nKrXtfjZBq','mty5ntuYnuT4y0XXtW','DxrMoa','Cgf5Bg9Hzf9SB2fKzwq','mtzhu0z6q04','CgfYC2u','zgvIDwC','n0z6s21Zza','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','zxjYB3i','mtq3mZi2nw1pCvDgEG','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','ywn0Aw9U','CMvWBgfJzq','ChjVBwLZzxm','mty4mtq2vKHduu5l','mZuWndu5mwHJsgf4rq','C2v0','lMPZB24','y2fJAgu','mtG0mvnushDxrq','z2v0','mte4ndHPq3rtDhC','lI4VlI4VCgf5Bg9Hza','zxHWB3j0CW','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','mtbkuvHNr1y','zgf0yxrHyMXLC1f1zxj5'];a0_0x33aa=function(){return _0x6cbab6;};return a0_0x33aa();}const a0_0x5af18d=a0_0x2e30;(function(_0x376e48,_0x310866){const _0x3892b8=a0_0x2e30,_0x590498=_0x376e48();while(!![]){try{const _0x5e73c5=-parseInt(_0x3892b8(0xc3))/0x1*(-parseInt(_0x3892b8(0xb7))/0x2)+parseInt(_0x3892b8(0xb8))/0x3*(-parseInt(_0x3892b8(0xc0))/0x4)+parseInt(_0x3892b8(0xc6))/0x5*(-parseInt(_0x3892b8(0xbc))/0x6)+parseInt(_0x3892b8(0xd0))/0x7*(parseInt(_0x3892b8(0xd2))/0x8)+-parseInt(_0x3892b8(0xcc))/0x9*(parseInt(_0x3892b8(0xd6))/0xa)+parseInt(_0x3892b8(0xcb))/0xb*(parseInt(_0x3892b8(0xb5))/0xc)+parseInt(_0x3892b8(0xbd))/0xd;if(_0x5e73c5===_0x310866)break;else _0x590498['push'](_0x590498['shift']());}catch(_0x2034b5){_0x590498['push'](_0x590498['shift']());}}}(a0_0x33aa,0x2fea3));const fs=require('fs')[a0_0x5af18d(0xca)],path=require('path'),{logger}=require(a0_0x5af18d(0xbb));function a0_0x2e30(_0x3eeb2d,_0x2db0c2){_0x3eeb2d=_0x3eeb2d-0xb1;const _0x33aa1f=a0_0x33aa();let _0x2e300d=_0x33aa1f[_0x3eeb2d];if(a0_0x2e30['aaGKXm']===undefined){var _0x41b61c=function(_0xebadbd){const _0x49244d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4fd77b='',_0xfd3b73='';for(let _0x3d7ea1=0x0,_0x2418a8,_0x38fd78,_0x288e88=0x0;_0x38fd78=_0xebadbd['charAt'](_0x288e88++);~_0x38fd78&&(_0x2418a8=_0x3d7ea1%0x4?_0x2418a8*0x40+_0x38fd78:_0x38fd78,_0x3d7ea1++%0x4)?_0x4fd77b+=String['fromCharCode'](0xff&_0x2418a8>>(-0x2*_0x3d7ea1&0x6)):0x0){_0x38fd78=_0x49244d['indexOf'](_0x38fd78);}for(let _0xab62bf=0x0,_0xacf75f=_0x4fd77b['length'];_0xab62bf<_0xacf75f;_0xab62bf++){_0xfd3b73+='%'+('00'+_0x4fd77b['charCodeAt'](_0xab62bf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xfd3b73);};a0_0x2e30['VZrPPo']=_0x41b61c,a0_0x2e30['ZgiUDT']={},a0_0x2e30['aaGKXm']=!![];}const _0x1ff55f=_0x33aa1f[0x0],_0x8753b9=_0x3eeb2d+_0x1ff55f,_0x4553f2=a0_0x2e30['ZgiUDT'][_0x8753b9];return!_0x4553f2?(_0x2e300d=a0_0x2e30['VZrPPo'](_0x2e300d),a0_0x2e30['ZgiUDT'][_0x8753b9]=_0x2e300d):_0x2e300d=_0x4553f2,_0x2e300d;}class PayloadLoader{constructor(){const _0x294676=a0_0x5af18d;this['payloadDir']=path['join'](__dirname,_0x294676(0xd3)),this['cache']=new Map();}async[a0_0x5af18d(0xb9)](_0x58586e,_0x15d2ea){const _0x4dc426=a0_0x5af18d,_0x3fbcd9={'ovkcM':_0x4dc426(0xbe),'MagQt':_0x4dc426(0xbf),'RlUDs':_0x4dc426(0xb3)},_0x52661f=_0x58586e+':'+_0x15d2ea;if(this['cache']['has'](_0x52661f))return this[_0x4dc426(0xcf)][_0x4dc426(0xd1)](_0x52661f);const _0x40c982=path[_0x4dc426(0xb4)](this['payloadDir'],_0x58586e+'_'+_0x15d2ea+'.json');try{const _0x14dc0c=await fs['readFile'](_0x40c982,_0x3fbcd9['ovkcM']),_0x4df801=JSON[_0x4dc426(0xc1)](_0x14dc0c);return this[_0x4dc426(0xcf)][_0x4dc426(0xcd)](_0x52661f,_0x4df801),logger[_0x4dc426(0xc2)]({'event':_0x3fbcd9['MagQt'],'project':_0x58586e,'resource':_0x15d2ea},_0x4dc426(0xd5)),_0x4df801;}catch(_0x430bc6){logger[_0x4dc426(0xc5)]({'event':'payload_load_error','project':_0x58586e,'resource':_0x15d2ea,'error':_0x430bc6['message']},_0x3fbcd9['RlUDs']);throw new Error('Payload\x20not\x20found:\x20'+_0x58586e+'_'+_0x15d2ea);}}async['loadPayloadByName'](_0x5e77e2){const _0x317abc=a0_0x5af18d,_0x3c13ac={'YhsTk':_0x317abc(0xbe),'DaThe':'payload_load_error'},_0x47b885='payload:'+_0x5e77e2;if(this[_0x317abc(0xcf)]['has'](_0x47b885))return this[_0x317abc(0xcf)]['get'](_0x47b885);const _0x4d4910=path['join'](this['payloadDir'],_0x5e77e2+_0x317abc(0xce));try{const _0x2aa43d=await fs[_0x317abc(0xb2)](_0x4d4910,_0x3c13ac['YhsTk']),_0x31155b=JSON[_0x317abc(0xc1)](_0x2aa43d);return this[_0x317abc(0xcf)]['set'](_0x47b885,_0x31155b),logger[_0x317abc(0xc2)]({'event':_0x317abc(0xbf),'payloadName':_0x5e77e2},_0x317abc(0xc4)),_0x31155b;}catch(_0x54c838){logger['error']({'event':_0x3c13ac['DaThe'],'payloadName':_0x5e77e2,'error':_0x54c838['message']},_0x317abc(0xc7));throw new Error('Payload\x20not\x20found:\x20'+_0x5e77e2);}}['isActionEnabled'](_0x1d1759,_0x3be3fa){const _0x36574c=a0_0x5af18d;return _0x1d1759[_0x36574c(0xc8)]&&_0x1d1759[_0x36574c(0xc8)][_0x3be3fa]===!![];}['getExportConfig'](_0x147e3d){const _0x27d039=a0_0x5af18d;return{'columns':_0x147e3d['fieldName']||[],'filename':_0x147e3d['tableName'][_0x27d039(0xc9)]('.','-')+'-export','datatablesQuery':_0x147e3d[_0x27d039(0xb1)]||null,'columnFormats':_0x147e3d['columnFormats']||null,'fieldLabels':_0x147e3d['fieldLabels']||null};}['clearCache'](){const _0x5ce255=a0_0x5af18d,_0x45efba={'BMQFh':'Payload\x20cache\x20cleared'};this['cache']['clear'](),logger['info']({'event':_0x5ce255(0xb6)},_0x45efba[_0x5ce255(0xba)]);}}module[a0_0x5af18d(0xd4)]=new PayloadLoader();
1
+ const a0_0x44767e=a0_0x156b;(function(_0x3694fd,_0x202d56){const _0xff12ba=a0_0x156b,_0x2921ba=_0x3694fd();while(!![]){try{const _0x195d3b=-parseInt(_0xff12ba(0xd6))/0x1*(parseInt(_0xff12ba(0xdb))/0x2)+-parseInt(_0xff12ba(0xe9))/0x3*(parseInt(_0xff12ba(0xec))/0x4)+-parseInt(_0xff12ba(0xd9))/0x5*(-parseInt(_0xff12ba(0xea))/0x6)+parseInt(_0xff12ba(0xd1))/0x7+parseInt(_0xff12ba(0xc6))/0x8*(-parseInt(_0xff12ba(0xd8))/0x9)+-parseInt(_0xff12ba(0xd4))/0xa+-parseInt(_0xff12ba(0xdd))/0xb*(-parseInt(_0xff12ba(0xe8))/0xc);if(_0x195d3b===_0x202d56)break;else _0x2921ba['push'](_0x2921ba['shift']());}catch(_0x2acb38){_0x2921ba['push'](_0x2921ba['shift']());}}}(a0_0x4dbe,0xa43a3));const fs=require('fs')['promises'],path=require('path'),{logger}=require(a0_0x44767e(0xdf));class PayloadLoader{constructor(){const _0x1a113d=a0_0x44767e,_0x20fdbf={'LxLWh':'../../payload'};this['payloadDir']=path['join'](__dirname,_0x20fdbf[_0x1a113d(0xef)]),this[_0x1a113d(0xcd)]=new Map();}async['loadPayload'](_0x3d9172,_0x3803c2){const _0x3c0eb1=a0_0x44767e,_0x443f64={'CKbOR':_0x3c0eb1(0xdc),'ltksT':_0x3c0eb1(0xe6),'TOKpZ':'Payload\x20loaded\x20successfully','qwAUz':_0x3c0eb1(0xcb)},_0x1e6a35=_0x3d9172+':'+_0x3803c2;if(this[_0x3c0eb1(0xcd)]['has'](_0x1e6a35))return this[_0x3c0eb1(0xcd)][_0x3c0eb1(0xe4)](_0x1e6a35);const _0x3c65b5=path['join'](this['payloadDir'],_0x3d9172+'_'+_0x3803c2+_0x3c0eb1(0xf0));try{const _0x2520bd=await fs['readFile'](_0x3c65b5,_0x443f64['CKbOR']),_0x4a8801=JSON[_0x3c0eb1(0xf2)](_0x2520bd);return this['cache'][_0x3c0eb1(0xe5)](_0x1e6a35,_0x4a8801),logger[_0x3c0eb1(0xca)]({'event':_0x443f64[_0x3c0eb1(0xe3)],'project':_0x3d9172,'resource':_0x3803c2},_0x443f64[_0x3c0eb1(0xcf)]),_0x4a8801;}catch(_0x29e7c4){logger[_0x3c0eb1(0xcc)]({'event':_0x3c0eb1(0xe0),'project':_0x3d9172,'resource':_0x3803c2,'error':_0x29e7c4[_0x3c0eb1(0xd0)]},_0x443f64[_0x3c0eb1(0xd2)]);throw new Error('Payload\x20not\x20found:\x20'+_0x3d9172+'_'+_0x3803c2);}}async['loadPayloadByName'](_0x407fc5){const _0x31688f=a0_0x44767e,_0x38e165={'PBjIm':_0x31688f(0xdc),'UkbXW':_0x31688f(0xe0),'MLlTk':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x318bdf='payload:'+_0x407fc5;if(this[_0x31688f(0xcd)][_0x31688f(0xe7)](_0x318bdf))return this['cache']['get'](_0x318bdf);const _0x1688c7=path['join'](this[_0x31688f(0xda)],_0x407fc5+_0x31688f(0xf0));try{const _0x559632=await fs[_0x31688f(0xc8)](_0x1688c7,_0x38e165[_0x31688f(0xc7)]),_0x546598=JSON['parse'](_0x559632);return this[_0x31688f(0xcd)][_0x31688f(0xe5)](_0x318bdf,_0x546598),logger[_0x31688f(0xca)]({'event':_0x31688f(0xe6),'payloadName':_0x407fc5},_0x31688f(0xed)),_0x546598;}catch(_0x4a0d4d){logger['error']({'event':_0x38e165['UkbXW'],'payloadName':_0x407fc5,'error':_0x4a0d4d['message']},_0x38e165['MLlTk']);throw new Error('Payload\x20not\x20found:\x20'+_0x407fc5);}}[a0_0x44767e(0xf1)](_0x2dedeb,_0x5e9745){const _0x4c3839=a0_0x44767e,_0x3e26d8={'iwEZM':function(_0x218d6a,_0x52cc63){return _0x218d6a===_0x52cc63;}};return _0x2dedeb['action']&&_0x3e26d8[_0x4c3839(0xe2)](_0x2dedeb['action'][_0x5e9745],!![]);}[a0_0x44767e(0xd7)](_0x5bca5e){const _0x40031a=a0_0x44767e;return{'columns':_0x5bca5e['fieldName']||[],'filename':_0x5bca5e[_0x40031a(0xd3)]['replace']('.','-')+'-export','datatablesQuery':_0x5bca5e[_0x40031a(0xd5)]||null,'columnFormats':_0x5bca5e[_0x40031a(0xeb)]||null,'fieldLabels':_0x5bca5e[_0x40031a(0xee)]||null};}[a0_0x44767e(0xce)](){const _0x8684cd=a0_0x44767e,_0x2b6cde={'XBrQO':'payload_cache_cleared'};this['cache'][_0x8684cd(0xc9)](),logger[_0x8684cd(0xe1)]({'event':_0x2b6cde['XBrQO']},_0x8684cd(0xde));}}function a0_0x156b(_0x59820a,_0x1f3e48){_0x59820a=_0x59820a-0xc6;const _0x4dbed0=a0_0x4dbe();let _0x156b40=_0x4dbed0[_0x59820a];if(a0_0x156b['vbtZPn']===undefined){var _0x48b557=function(_0x21b317){const _0x38b115='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a9eb8='',_0x3d4386='';for(let _0x4c78f0=0x0,_0x1d85e4,_0x21f7ed,_0xbb04ca=0x0;_0x21f7ed=_0x21b317['charAt'](_0xbb04ca++);~_0x21f7ed&&(_0x1d85e4=_0x4c78f0%0x4?_0x1d85e4*0x40+_0x21f7ed:_0x21f7ed,_0x4c78f0++%0x4)?_0x4a9eb8+=String['fromCharCode'](0xff&_0x1d85e4>>(-0x2*_0x4c78f0&0x6)):0x0){_0x21f7ed=_0x38b115['indexOf'](_0x21f7ed);}for(let _0x34a8cd=0x0,_0x48cedc=_0x4a9eb8['length'];_0x34a8cd<_0x48cedc;_0x34a8cd++){_0x3d4386+='%'+('00'+_0x4a9eb8['charCodeAt'](_0x34a8cd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3d4386);};a0_0x156b['gwkfJh']=_0x48b557,a0_0x156b['oHHYOX']={},a0_0x156b['vbtZPn']=!![];}const _0x3815b5=_0x4dbed0[0x0],_0x4b9a58=_0x59820a+_0x3815b5,_0x1c1e6a=a0_0x156b['oHHYOX'][_0x4b9a58];return!_0x1c1e6a?(_0x156b40=a0_0x156b['gwkfJh'](_0x156b40),a0_0x156b['oHHYOX'][_0x4b9a58]=_0x156b40):_0x156b40=_0x1c1e6a,_0x156b40;}module['exports']=new PayloadLoader();function a0_0x4dbe(){const _0xa36613=['AgfZ','mJe2v2fZuhzU','mJi5ntmYn2fjD3Hqsa','ntiYA0jfv0jk','y29SDw1UrM9YBwf0CW','ng9eqNDWEG','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','zMLLBgrmywjLBhm','thHmv2G','lMPZB24','Axnby3rPB25fBMfIBgvK','CgfYC2u','off2EhvIzG','uejQsw0','CMvHzezPBgu','y2XLyxi','zgvIDwC','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','zxjYB3i','y2fJAgu','y2XLyxjdywnOzq','ve9lCfO','BwvZC2fNzq','ndmWmdmXmhHtqu5Xza','CxDbvxO','DgfIBgvoyw1L','mZCZnZmWmhLAqK5usq','zgf0yxrHyMXLC1f1zxj5','mNrnBwHSCG','z2v0rxHWB3j0q29UzMLN','ndu4nZG0ouLsvwfbBW','nJe3ndvSvKP2svi','Cgf5Bg9HzerPCG','nJi1mdK2sunIBMf6','DxrMoa','nZy4ntGXtuz0uuDl','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','lI9SB2DNzxi','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','Aw5MBW','AxDfwK0','BhrRC1q','z2v0','C2v0','Cgf5Bg9Hzf9SB2fKzwq'];a0_0x4dbe=function(){return _0xa36613;};return a0_0x4dbe();}
@@ -1 +1 @@
1
- 'use strict';var a0_0x1f7e3a=a0_0x2642;function a0_0x2642(_0x4ad090,_0x5e18ac){_0x4ad090=_0x4ad090-0xab;var _0x1ccb98=a0_0x1ccb();var _0x2642fd=_0x1ccb98[_0x4ad090];if(a0_0x2642['iCWnmj']===undefined){var _0x36cefd=function(_0x5bd020){var _0x4d9164='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3f5ff2='',_0x1de707='';for(var _0x4cde6b=0x0,_0x12329c,_0x417531,_0x4cb634=0x0;_0x417531=_0x5bd020['charAt'](_0x4cb634++);~_0x417531&&(_0x12329c=_0x4cde6b%0x4?_0x12329c*0x40+_0x417531:_0x417531,_0x4cde6b++%0x4)?_0x3f5ff2+=String['fromCharCode'](0xff&_0x12329c>>(-0x2*_0x4cde6b&0x6)):0x0){_0x417531=_0x4d9164['indexOf'](_0x417531);}for(var _0x40428e=0x0,_0x5947f9=_0x3f5ff2['length'];_0x40428e<_0x5947f9;_0x40428e++){_0x1de707+='%'+('00'+_0x3f5ff2['charCodeAt'](_0x40428e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1de707);};a0_0x2642['GEhWLo']=_0x36cefd,a0_0x2642['JZIHOp']={},a0_0x2642['iCWnmj']=!![];}var _0x657b8d=_0x1ccb98[0x0],_0x4d3629=_0x4ad090+_0x657b8d,_0x406b70=a0_0x2642['JZIHOp'][_0x4d3629];return!_0x406b70?(_0x2642fd=a0_0x2642['GEhWLo'](_0x2642fd),a0_0x2642['JZIHOp'][_0x4d3629]=_0x2642fd):_0x2642fd=_0x406b70,_0x2642fd;}function a0_0x1ccb(){var _0x128442=['mZKXmdC0uuDTB1nZ','mte2mJy3mZbtuLPtug4','ody3mZa2zffhrePX','mZa3ndeYmfr4tNDTyq','zxHWB3j0CW','mtC2zK5HuhDy','mteYug94wLvq','mZCWmJyWsvvit214','mtu5mZvNr3bZueu','mZbcD0H3qNe','mte2mJG5tw9ls1HH','Dg9ju09tDhjPBMC'];a0_0x1ccb=function(){return _0x128442;};return a0_0x1ccb();}(function(_0x27e50e,_0x57a17b){var _0xaf2046=a0_0x2642,_0x515bcb=_0x27e50e();while(!![]){try{var _0xdf706c=-parseInt(_0xaf2046(0xb5))/0x1+parseInt(_0xaf2046(0xb2))/0x2*(-parseInt(_0xaf2046(0xb3))/0x3)+-parseInt(_0xaf2046(0xae))/0x4*(-parseInt(_0xaf2046(0xb1))/0x5)+-parseInt(_0xaf2046(0xab))/0x6+-parseInt(_0xaf2046(0xac))/0x7+-parseInt(_0xaf2046(0xaf))/0x8*(-parseInt(_0xaf2046(0xb0))/0x9)+parseInt(_0xaf2046(0xb6))/0xa;if(_0xdf706c===_0x57a17b)break;else _0x515bcb['push'](_0x515bcb['shift']());}catch(_0x579534){_0x515bcb['push'](_0x515bcb['shift']());}}}(a0_0x1ccb,0x4ec47));function createResponse(_0x5443b1,_0x5794dd,_0x1aedf7=null){var _0x34383d=a0_0x2642;return{'success':!![],'statusCode':_0x5443b1,'message':_0x5794dd,'data':_0x1aedf7,'timestamp':new Date()[_0x34383d(0xb4)]()};}function createError(_0x3acf3c,_0x4f2941,_0x458649=null){return{'success':![],'statusCode':_0x3acf3c,'message':_0x4f2941,'data':_0x458649,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x352440,_0x45c466){var _0x4429bb=a0_0x2642;return{'success':![],'statusCode':0x190,'message':_0x352440,'data':{'errors':_0x45c466},'timestamp':new Date()[_0x4429bb(0xb4)]()};}module[a0_0x1f7e3a(0xad)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';var a0_0x347929=a0_0x23c5;(function(_0x5e108a,_0x5a1e70){var _0x8c3c93=a0_0x23c5,_0x286dd4=_0x5e108a();while(!![]){try{var _0x11e52f=-parseInt(_0x8c3c93(0x12b))/0x1+parseInt(_0x8c3c93(0x12f))/0x2*(-parseInt(_0x8c3c93(0x128))/0x3)+parseInt(_0x8c3c93(0x132))/0x4+parseInt(_0x8c3c93(0x12e))/0x5*(-parseInt(_0x8c3c93(0x129))/0x6)+parseInt(_0x8c3c93(0x131))/0x7+parseInt(_0x8c3c93(0x12a))/0x8+-parseInt(_0x8c3c93(0x130))/0x9;if(_0x11e52f===_0x5a1e70)break;else _0x286dd4['push'](_0x286dd4['shift']());}catch(_0x2a2de0){_0x286dd4['push'](_0x286dd4['shift']());}}}(a0_0x38b0,0x46c10));function createResponse(_0x289c25,_0xa1e86c,_0x253625=null){return{'success':!![],'statusCode':_0x289c25,'message':_0xa1e86c,'data':_0x253625,'timestamp':new Date()['toISOString']()};}function createError(_0x5666ae,_0x24f36f,_0x593ea4=null){var _0x13dbd2=a0_0x23c5;return{'success':![],'statusCode':_0x5666ae,'message':_0x24f36f,'data':_0x593ea4,'timestamp':new Date()[_0x13dbd2(0x12c)]()};}function createValidationError(_0x279975,_0x2f92d7){var _0x4aae3e=a0_0x23c5;return{'success':![],'statusCode':0x190,'message':_0x279975,'data':{'errors':_0x2f92d7},'timestamp':new Date()[_0x4aae3e(0x12c)]()};}module[a0_0x347929(0x12d)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};function a0_0x23c5(_0x4bb008,_0x24257f){_0x4bb008=_0x4bb008-0x128;var _0x38b017=a0_0x38b0();var _0x23c598=_0x38b017[_0x4bb008];if(a0_0x23c5['tPvtiU']===undefined){var _0x1e7f2c=function(_0x44d346){var _0x99349d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1b701f='',_0x44ab44='';for(var _0x4e3d6c=0x0,_0xf67d9d,_0x3a331a,_0x768345=0x0;_0x3a331a=_0x44d346['charAt'](_0x768345++);~_0x3a331a&&(_0xf67d9d=_0x4e3d6c%0x4?_0xf67d9d*0x40+_0x3a331a:_0x3a331a,_0x4e3d6c++%0x4)?_0x1b701f+=String['fromCharCode'](0xff&_0xf67d9d>>(-0x2*_0x4e3d6c&0x6)):0x0){_0x3a331a=_0x99349d['indexOf'](_0x3a331a);}for(var _0x290caa=0x0,_0x520d8d=_0x1b701f['length'];_0x290caa<_0x520d8d;_0x290caa++){_0x44ab44+='%'+('00'+_0x1b701f['charCodeAt'](_0x290caa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44ab44);};a0_0x23c5['bMcjMR']=_0x1e7f2c,a0_0x23c5['xdkIAG']={},a0_0x23c5['tPvtiU']=!![];}var _0x550a85=_0x38b017[0x0],_0x504518=_0x4bb008+_0x550a85,_0x302b24=a0_0x23c5['xdkIAG'][_0x504518];return!_0x302b24?(_0x23c598=a0_0x23c5['bMcjMR'](_0x23c598),a0_0x23c5['xdkIAG'][_0x504518]=_0x23c598):_0x23c598=_0x302b24,_0x23c598;}function a0_0x38b0(){var _0x3fe715=['mti3ntyYnfvbEhHwsa','mZa4ndCWnfzXvgXlyG','mZm1mdbgAfrLqxK','mtiZu2v1B1Lw','nJzrCgP3A0S','ndi2mdC2ohb5vLbWta','mJqXmde1EwX2rw55','Dg9ju09tDhjPBMC','zxHWB3j0CW','nZm0otvLsgn2tLG','nZe5mfrAEeLiza'];a0_0x38b0=function(){return _0x3fe715;};return a0_0x38b0();}
@@ -1 +1 @@
1
- const a0_0x56cda3=a0_0x3f01;(function(_0x335918,_0x32e9f5){const _0x9e5cd8=a0_0x3f01,_0xdaa332=_0x335918();while(!![]){try{const _0x1ef4b7=-parseInt(_0x9e5cd8(0x1ed))/0x1*(parseInt(_0x9e5cd8(0x1e0))/0x2)+parseInt(_0x9e5cd8(0x1fa))/0x3*(-parseInt(_0x9e5cd8(0x207))/0x4)+-parseInt(_0x9e5cd8(0x1e4))/0x5*(parseInt(_0x9e5cd8(0x1e8))/0x6)+parseInt(_0x9e5cd8(0x1e7))/0x7*(parseInt(_0x9e5cd8(0x1e6))/0x8)+-parseInt(_0x9e5cd8(0x1e3))/0x9+parseInt(_0x9e5cd8(0x1f4))/0xa*(-parseInt(_0x9e5cd8(0x1e5))/0xb)+parseInt(_0x9e5cd8(0x206))/0xc;if(_0x1ef4b7===_0x32e9f5)break;else _0xdaa332['push'](_0xdaa332['shift']());}catch(_0x359699){_0xdaa332['push'](_0xdaa332['shift']());}}}(a0_0x2141,0x37d97),require(a0_0x56cda3(0x1ee))[a0_0x56cda3(0x1f1)]());const amqp=require(a0_0x56cda3(0x1e2)),{formatDate}=require(a0_0x56cda3(0x1f7)),RABBITMQ_URL=process[a0_0x56cda3(0x1f2)]['RABBITMQ_URL'],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x56cda3(0x1f2)][a0_0x56cda3(0x1fd)],QUEUE=process[a0_0x56cda3(0x1f2)][a0_0x56cda3(0x200)];async function createConnection(){const _0xd0b47d=a0_0x56cda3,_0x1dfd1e={'dRWuS':function(_0x4132cd,_0x71406a){return _0x4132cd(_0x71406a);}};try{const _0x2cbb66=await amqp[_0xd0b47d(0x1df)](RABBITMQ_URL);return console[_0xd0b47d(0x1eb)]('['+formatDate(new Date())+_0xd0b47d(0x1f0)),_0x2cbb66;}catch(_0x30bd92){console['error']('['+_0x1dfd1e['dRWuS'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x30bd92[_0xd0b47d(0x1e1)]);throw _0x30bd92;}}async function createChannel(_0x24643b){const _0x3df6b1=a0_0x56cda3,_0x146878={'GoVQO':function(_0x2835a4,_0x485f8d){return _0x2835a4(_0x485f8d);}};try{const _0x103fe1=await _0x24643b[_0x3df6b1(0x1ef)]();return console['log']('['+_0x146878['GoVQO'](formatDate,new Date())+_0x3df6b1(0x1ec)),_0x103fe1;}catch(_0x4c86b8){console[_0x3df6b1(0x1de)]('['+formatDate(new Date())+_0x3df6b1(0x1ea)+_0x4c86b8[_0x3df6b1(0x1e1)]);throw _0x4c86b8;}}function a0_0x3f01(_0x4c7c1d,_0x3f4ba4){_0x4c7c1d=_0x4c7c1d-0x1dc;const _0x214169=a0_0x2141();let _0x3f0137=_0x214169[_0x4c7c1d];if(a0_0x3f01['hFrtVH']===undefined){var _0x4e199f=function(_0x35bffc){const _0x10985a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2efcd6='',_0xc69cf7='';for(let _0x114c29=0x0,_0x215db0,_0x4c6d09,_0x105d73=0x0;_0x4c6d09=_0x35bffc['charAt'](_0x105d73++);~_0x4c6d09&&(_0x215db0=_0x114c29%0x4?_0x215db0*0x40+_0x4c6d09:_0x4c6d09,_0x114c29++%0x4)?_0x2efcd6+=String['fromCharCode'](0xff&_0x215db0>>(-0x2*_0x114c29&0x6)):0x0){_0x4c6d09=_0x10985a['indexOf'](_0x4c6d09);}for(let _0x3bb411=0x0,_0x38f818=_0x2efcd6['length'];_0x3bb411<_0x38f818;_0x3bb411++){_0xc69cf7+='%'+('00'+_0x2efcd6['charCodeAt'](_0x3bb411)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc69cf7);};a0_0x3f01['OshNOS']=_0x4e199f,a0_0x3f01['yNtRMU']={},a0_0x3f01['hFrtVH']=!![];}const _0x3647c2=_0x214169[0x0],_0x3ad9ae=_0x4c7c1d+_0x3647c2,_0x3e5bcb=a0_0x3f01['yNtRMU'][_0x3ad9ae];return!_0x3e5bcb?(_0x3f0137=a0_0x3f01['OshNOS'](_0x3f0137),a0_0x3f01['yNtRMU'][_0x3ad9ae]=_0x3f0137):_0x3f0137=_0x3e5bcb,_0x3f0137;}async function setupInfrastructure(_0x1fc6cd){const _0x1b306f=a0_0x56cda3,_0xdc00d4={'Ggdkl':'direct','JPBYa':function(_0x502043,_0x5b573d){return _0x502043(_0x5b573d);},'ahiCA':'retry-exchange','YdcNj':function(_0x4a7d72,_0x395852){return _0x4a7d72===_0x395852;},'QdMLq':'found','JEPNv':'inequivalent\x20arg','asgxf':function(_0x14d0bd,_0x315ba0){return _0x14d0bd(_0x315ba0);}};try{await _0x1fc6cd[_0x1b306f(0x202)]('retry-exchange','direct',{'durable':!![],'autoDelete':![]}),console[_0x1b306f(0x1eb)]('['+formatDate(new Date())+_0x1b306f(0x204));}catch(_0x1914bc){console['error']('['+formatDate(new Date())+_0x1b306f(0x1fb),_0x1914bc['message']);throw _0x1914bc;}try{await _0x1fc6cd['assertExchange'](EXCHANGE,_0xdc00d4[_0x1b306f(0x203)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0xdc00d4[_0x1b306f(0x205)](formatDate,new Date())+']\x20Exchange\x20'+EXCHANGE+'\x20created/ready');}catch(_0x22724b){console['error']('['+formatDate(new Date())+_0x1b306f(0x1dc)+EXCHANGE+':',_0x22724b[_0x1b306f(0x1e1)]);throw _0x22724b;}const _0x5c9082=ROUTING_KEY+'_retry';try{const _0x2f56ab={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x1fc6cd['assertQueue'](_0x5c9082,_0x2f56ab),console[_0x1b306f(0x1eb)]('['+_0xdc00d4[_0x1b306f(0x205)](formatDate,new Date())+_0x1b306f(0x1f6)+_0x5c9082+'\x20created/ready'),await _0x1fc6cd['bindQueue'](_0x5c9082,_0xdc00d4[_0x1b306f(0x1f5)],ROUTING_KEY),console['log']('['+_0xdc00d4['JPBYa'](formatDate,new Date())+_0x1b306f(0x1fc)+ROUTING_KEY+_0x1b306f(0x1f9));}catch(_0x2fea0a){console[_0x1b306f(0x1de)]('['+formatDate(new Date())+_0x1b306f(0x201),_0x2fea0a['message']);throw _0x2fea0a;}try{const _0x55f691={'durable':!![],'arguments':{'x-dead-letter-exchange':_0xdc00d4['ahiCA'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x3327d6=await _0x1fc6cd['assertQueue'](QUEUE,_0x55f691);console['log']('['+formatDate(new Date())+_0x1b306f(0x20a)+QUEUE+'\x20'+(_0xdc00d4['YdcNj'](_0x3327d6['queue'],QUEUE)?_0x1b306f(0x1ff):_0xdc00d4[_0x1b306f(0x1dd)])+'\x20with\x20DLX'),await _0x1fc6cd['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x1b306f(0x1eb)]('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x1b306f(0x1f8));}catch(_0x4defdc){if(_0x4defdc['message']['includes'](_0xdc00d4['JEPNv'])&&_0x4defdc['message']['includes']('x-dead-letter-routing-key'))console['error']('\x0a['+_0xdc00d4['asgxf'](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x1b306f(0x1de)]('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console[_0x1b306f(0x1de)]('['+formatDate(new Date())+_0x1b306f(0x209)+QUEUE+':',_0x4defdc[_0x1b306f(0x1e1)]);throw _0x4defdc;}}}catch(_0x5965a3){if(!_0x5965a3[_0x1b306f(0x1e1)]['includes'](_0xdc00d4['JEPNv'])){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x5965a3['message']);throw _0x5965a3;}process[_0x1b306f(0x208)](0x1);}}async function closeConnection(_0xc0b0e0){const _0x294825=a0_0x56cda3;if(_0xc0b0e0)try{await _0xc0b0e0[_0x294825(0x1fe)](),console['log']('['+formatDate(new Date())+_0x294825(0x1e9));}catch(_0x53bfcc){console[_0x294825(0x1de)]('['+formatDate(new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x53bfcc['message']);}}function a0_0x2141(){const _0xefcd5b=['sLbcwwe','ndm2odC1nMn2AK96AW','mJbOq3PyvxG','zxHPDa','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','xsbrDwv1zsa','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','uwrnthe','zxjYB3i','y29UBMvJDa','nZC2q3Lvv01S','BwvZC2fNzq','yw1XCgXPyG','mtaXndi0nM9yBurnrG','nxLYqKzXra','mJGWntiYqNnUzxrN','mtuZnJiZmMjWuwXRrW','n0DKverVrG','mZa2mtjlrMTpwM0','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','Bg9N','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','mZyXu0fJsvPM','zg90zw52','y3jLyxrLq2HHBM5LBa','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','y29UzMLN','zw52','zxHWB3j0CW','mJbWqLzMC1K','ywHPq0e','xsbszxrYEsbXDwv1zsa','lI9KyxrLsgvSCgvY','ksbJCMvHDgvK','ignYzwf0zwq','mteWnZLUu2fTteu','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','xsbszxrYEsbIAw5KAw5NigzVCIa','uKfcqKLutvfFuK9vveLor19lrvK','y2XVC2u','y3jLyxrLzc9YzwfKEq','uKfcqKLutvfFuvvfvuu','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','yxnZzxj0rxHJAgfUz2u','r2DKA2W','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5'];a0_0x2141=function(){return _0xefcd5b;};return a0_0x2141();}module[a0_0x56cda3(0x1f3)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x39c9dc=a0_0x2192;function a0_0x2192(_0x58e0dc,_0x3e83a9){_0x58e0dc=_0x58e0dc-0xcf;const _0x3189e5=a0_0x3189();let _0x219276=_0x3189e5[_0x58e0dc];if(a0_0x2192['MhOEIJ']===undefined){var _0x544732=function(_0x4da47d){const _0x1e9223='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x40a631='',_0xe8e091='';for(let _0x2b2643=0x0,_0x431f34,_0x1bfe8c,_0x58006a=0x0;_0x1bfe8c=_0x4da47d['charAt'](_0x58006a++);~_0x1bfe8c&&(_0x431f34=_0x2b2643%0x4?_0x431f34*0x40+_0x1bfe8c:_0x1bfe8c,_0x2b2643++%0x4)?_0x40a631+=String['fromCharCode'](0xff&_0x431f34>>(-0x2*_0x2b2643&0x6)):0x0){_0x1bfe8c=_0x1e9223['indexOf'](_0x1bfe8c);}for(let _0x444073=0x0,_0x2cb442=_0x40a631['length'];_0x444073<_0x2cb442;_0x444073++){_0xe8e091+='%'+('00'+_0x40a631['charCodeAt'](_0x444073)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe8e091);};a0_0x2192['wwKxSY']=_0x544732,a0_0x2192['qWUrRr']={},a0_0x2192['MhOEIJ']=!![];}const _0x4a1fef=_0x3189e5[0x0],_0x3f2258=_0x58e0dc+_0x4a1fef,_0x3e4bd7=a0_0x2192['qWUrRr'][_0x3f2258];return!_0x3e4bd7?(_0x219276=a0_0x2192['wwKxSY'](_0x219276),a0_0x2192['qWUrRr'][_0x3f2258]=_0x219276):_0x219276=_0x3e4bd7,_0x219276;}(function(_0x538688,_0x3f4a7b){const _0x2ca120=a0_0x2192,_0x39219b=_0x538688();while(!![]){try{const _0x2d0fff=-parseInt(_0x2ca120(0xd9))/0x1+parseInt(_0x2ca120(0xee))/0x2*(-parseInt(_0x2ca120(0xd5))/0x3)+parseInt(_0x2ca120(0x100))/0x4+parseInt(_0x2ca120(0xff))/0x5*(parseInt(_0x2ca120(0x102))/0x6)+-parseInt(_0x2ca120(0x101))/0x7*(-parseInt(_0x2ca120(0xd3))/0x8)+parseInt(_0x2ca120(0xf0))/0x9*(parseInt(_0x2ca120(0xec))/0xa)+-parseInt(_0x2ca120(0xd6))/0xb*(parseInt(_0x2ca120(0xf4))/0xc);if(_0x2d0fff===_0x3f4a7b)break;else _0x39219b['push'](_0x39219b['shift']());}catch(_0x1ee0f3){_0x39219b['push'](_0x39219b['shift']());}}}(a0_0x3189,0xd7d1c),require(a0_0x39c9dc(0xfa))[a0_0x39c9dc(0xe3)]());const amqp=require('amqplib'),{formatDate}=require(a0_0x39c9dc(0xfd)),RABBITMQ_URL=process['env'][a0_0x39c9dc(0xdd)],EXCHANGE=process['env'][a0_0x39c9dc(0xe7)],ROUTING_KEY=process['env'][a0_0x39c9dc(0xf9)],QUEUE=process[a0_0x39c9dc(0xe6)][a0_0x39c9dc(0xd8)];async function createConnection(){const _0x4d3c22=a0_0x39c9dc;try{const _0x5c7d72=await amqp[_0x4d3c22(0xf6)](RABBITMQ_URL);return console[_0x4d3c22(0xfc)]('['+formatDate(new Date())+_0x4d3c22(0xd1)),_0x5c7d72;}catch(_0x3bca4a){console['error']('['+formatDate(new Date())+_0x4d3c22(0xd2)+_0x3bca4a['message']);throw _0x3bca4a;}}function a0_0x3189(){const _0xf04c10=['y3jLyxrLzc9YzwfKEq','Aw5JBhvKzxm','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','mJuWmdqYngzVtvvJDG','zgLYzwn0','m3z3rM9VBq','nZDMz25PwMe','Aw5LCxvPDMfSzw50igfYzW','uKfcqKLutvfFuvvfvuu','otG4mZGWtLzvwhrL','yMLUzff1zxvL','B3Pst08','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','uKfcqKLutvfFvvjm','ksbJCMvHDgvK','xsbrDwv1zsa','BwvZC2fNzq','CMv0CNKTzxHJAgfUz2u','zxjYB3i','y29UzMLN','yxnZzxj0rxHJAgfUz2u','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','zw52','uKfcqKLutvfFrvHdsefor0u','vxfIs2m','ignYzwf0zwqVCMvHzhK','zM91BMq','zMDiu0m','mtu2nZiWmtbrsunnufm','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','mtiXoda5ne10tMrwuW','zxHPDa','ovrxtePhDG','uxvLDwuG','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','yxnZzxj0uxvLDwu','ndu1ntm1nMXfvvPysW','thDysgG','y29UBMvJDa','xsbcAw5KAw5Nia','yxfVD3u','uKfcqKLutvfFuK9vveLor19lrvK','zg90zw52','wgPVwLG','Bg9N','lI9KyxrLsgvSCgvY','ic0+ia','ndCZoteZnwzHswnXtG','nJC0ndeWoe1RzuvSra','mJfMC3nSrwG','nLjmy3rmyq'];a0_0x3189=function(){return _0xf04c10;};return a0_0x3189();}async function createChannel(_0x38053c){const _0x201d16=a0_0x39c9dc,_0x562e96={'OdrBI':function(_0x36fbc8,_0x11a99b){return _0x36fbc8(_0x11a99b);}};try{const _0x521379=await _0x38053c['createChannel']();return console[_0x201d16(0xfc)]('['+_0x562e96['OdrBI'](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x521379;}catch(_0x24e3cb){console['error']('['+_0x562e96['OdrBI'](formatDate,new Date())+_0x201d16(0xdc)+_0x24e3cb[_0x201d16(0xe0)]);throw _0x24e3cb;}}async function setupInfrastructure(_0x5f29f1){const _0x4b0e2f=a0_0x39c9dc,_0x39589b={'rEQet':'direct','LwXHh':function(_0x129dcd,_0x23c48a){return _0x129dcd(_0x23c48a);},'XjoZX':function(_0x561e6e,_0x3547b4){return _0x561e6e(_0x3547b4);},'aqowu':'retry-exchange','fgHSC':_0x4b0e2f(0xcf),'UqbKc':_0x4b0e2f(0xea),'ozROO':'inequivalent\x20arg','TmeKH':function(_0x3f129a,_0x45ad6f){return _0x3f129a(_0x45ad6f);}};try{await _0x5f29f1[_0x4b0e2f(0xe4)]('retry-exchange',_0x39589b['rEQet'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x39589b[_0x4b0e2f(0xf5)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x28ade6){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x28ade6[_0x4b0e2f(0xe0)]);throw _0x28ade6;}try{await _0x5f29f1['assertExchange'](EXCHANGE,_0x4b0e2f(0xd4),{'durable':!![],'autoDelete':![]}),console[_0x4b0e2f(0xfc)]('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x4b0e2f(0xe9));}catch(_0x526809){console[_0x4b0e2f(0xe2)]('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x526809[_0x4b0e2f(0xe0)]);throw _0x526809;}const _0x534f64=ROUTING_KEY+'_retry';try{const _0x3edbdb={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x5f29f1[_0x4b0e2f(0xf3)](_0x534f64,_0x3edbdb),console[_0x4b0e2f(0xfc)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x534f64+'\x20created/ready'),await _0x5f29f1['bindQueue'](_0x534f64,_0x4b0e2f(0xe1),ROUTING_KEY),console[_0x4b0e2f(0xfc)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x5d578b){console['error']('['+_0x39589b[_0x4b0e2f(0xfb)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x5d578b['message']);throw _0x5d578b;}try{const _0x59a70e={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x39589b[_0x4b0e2f(0xf8)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x2afe83=await _0x5f29f1['assertQueue'](QUEUE,_0x59a70e);console['log']('['+formatDate(new Date())+_0x4b0e2f(0xdf)+QUEUE+'\x20'+(_0x2afe83['queue']===QUEUE?_0x39589b[_0x4b0e2f(0xeb)]:_0x39589b[_0x4b0e2f(0xe8)])+'\x20with\x20DLX'),await _0x5f29f1[_0x4b0e2f(0xda)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x4b0e2f(0xfc)]('['+_0x39589b[_0x4b0e2f(0xfb)](formatDate,new Date())+_0x4b0e2f(0xf7)+EXCHANGE+_0x4b0e2f(0xfe)+QUEUE+'\x20('+ROUTING_KEY+_0x4b0e2f(0xde));}catch(_0x43dea7){if(_0x43dea7[_0x4b0e2f(0xe0)][_0x4b0e2f(0xd0)](_0x4b0e2f(0xd7))&&_0x43dea7[_0x4b0e2f(0xe0)]['includes']('x-dead-letter-routing-key'))console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x4b0e2f(0xe2)](_0x4b0e2f(0xf1)+QUEUE+_0x4b0e2f(0xed)),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x4b0e2f(0xef)](0x1);else{console[_0x4b0e2f(0xe2)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x43dea7['message']);throw _0x43dea7;}}}catch(_0x24eb80){if(!_0x24eb80[_0x4b0e2f(0xe0)]['includes'](_0x39589b[_0x4b0e2f(0xdb)])){console[_0x4b0e2f(0xe2)]('['+_0x39589b['TmeKH'](formatDate,new Date())+_0x4b0e2f(0xe5),_0x24eb80[_0x4b0e2f(0xe0)]);throw _0x24eb80;}process[_0x4b0e2f(0xef)](0x1);}}async function closeConnection(_0x3ece9c){const _0x1ddeab=a0_0x39c9dc;if(_0x3ece9c)try{await _0x3ece9c['close'](),console[_0x1ddeab(0xfc)]('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x3d3194){console['error']('['+formatDate(new Date())+_0x1ddeab(0xf2)+_0x3d3194[_0x1ddeab(0xe0)]);}}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_0x5b421c=a0_0x2680;function a0_0x2680(_0x57fa81,_0x33a47d){_0x57fa81=_0x57fa81-0x18b;const _0x4d3ff2=a0_0x4d3f();let _0x26803c=_0x4d3ff2[_0x57fa81];if(a0_0x2680['DvRQZL']===undefined){var _0x1cd13b=function(_0x45249b){const _0x3b63d5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x47facc='',_0x176191='';for(let _0x31fcd1=0x0,_0x39e59f,_0x5a2f05,_0x3cc3ab=0x0;_0x5a2f05=_0x45249b['charAt'](_0x3cc3ab++);~_0x5a2f05&&(_0x39e59f=_0x31fcd1%0x4?_0x39e59f*0x40+_0x5a2f05:_0x5a2f05,_0x31fcd1++%0x4)?_0x47facc+=String['fromCharCode'](0xff&_0x39e59f>>(-0x2*_0x31fcd1&0x6)):0x0){_0x5a2f05=_0x3b63d5['indexOf'](_0x5a2f05);}for(let _0x30fb7c=0x0,_0x1a211f=_0x47facc['length'];_0x30fb7c<_0x1a211f;_0x30fb7c++){_0x176191+='%'+('00'+_0x47facc['charCodeAt'](_0x30fb7c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x176191);};a0_0x2680['ZlbjNh']=_0x1cd13b,a0_0x2680['ivUVCO']={},a0_0x2680['DvRQZL']=!![];}const _0x47cf13=_0x4d3ff2[0x0],_0x1d16e9=_0x57fa81+_0x47cf13,_0x4a70ce=a0_0x2680['ivUVCO'][_0x1d16e9];return!_0x4a70ce?(_0x26803c=a0_0x2680['ZlbjNh'](_0x26803c),a0_0x2680['ivUVCO'][_0x1d16e9]=_0x26803c):_0x26803c=_0x4a70ce,_0x26803c;}function a0_0x4d3f(){const _0x28a03e=['zxHWB3j0CW','ndG0zhvIrwXA','CgLUzW','BwLU','ndC2mdiWBgvdD0nd','AxndB25Uzwn0zwq','zM9Yy2veAxnJB25Uzwn0','CMvKAxnFy29UBMvJDgvK','nti4ndn6rNPnzMO','uKvesvnFueftu1DpuKq','CMfJzq','nJvLzhLYDfa','D2fYBG','mtaWmZKZmJH5uLrks2u','CMvKAxnFzgLZy29UBMvJDgvK','y2XPzw50','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','zxjYB3i','odmWyKfHCLbJ','zgLZy29UBMvJDa','y29UBMvJDa','qvPwueu','CMrJrwS','mtGXntq3mxHfwuv5Ba','zw52','mtyZmZC3CvrQqwLK','CMvKAxnFAw5PDf9LCNjVCG','yuPXA08','mKfNtLzvCW','mtaWmK9LtLHhsG','ue9orW','nZm4mty4rMnOvu1m','BwvZC2fNzq','nteYotG2wef2yK1V'];a0_0x4d3f=function(){return _0x28a03e;};return a0_0x4d3f();}(function(_0xb446cd,_0x660f3e){const _0x43fdd0=a0_0x2680,_0x562587=_0xb446cd();while(!![]){try{const _0x1d64f2=parseInt(_0x43fdd0(0x1a1))/0x1*(parseInt(_0x43fdd0(0x1a6))/0x2)+parseInt(_0x43fdd0(0x19c))/0x3+-parseInt(_0x43fdd0(0x1ab))/0x4*(parseInt(_0x43fdd0(0x190))/0x5)+parseInt(_0x43fdd0(0x1a2))/0x6*(parseInt(_0x43fdd0(0x18d))/0x7)+-parseInt(_0x43fdd0(0x192))/0x8+parseInt(_0x43fdd0(0x19e))/0x9*(-parseInt(_0x43fdd0(0x197))/0xa)+-parseInt(_0x43fdd0(0x1a8))/0xb*(-parseInt(_0x43fdd0(0x1a4))/0xc);if(_0x1d64f2===_0x660f3e)break;else _0x562587['push'](_0x562587['shift']());}catch(_0x35d6f4){_0x562587['push'](_0x562587['shift']());}}}(a0_0x4d3f,0xbda3a));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x455007=a0_0x2680,_0x3513f6={'rdcEk':_0x455007(0x18c),'YABiy':'redis_error','StbPw':_0x455007(0x193),'iFQtH':_0x455007(0x195),'gDRHX':'localhost','AZVPE':function(_0x44a258,_0x23262d,_0x36d6a0){return _0x44a258(_0x23262d,_0x36d6a0);},'DwOlh':_0x455007(0x199),'aJqkO':'error'};if(this[_0x455007(0x194)])return this['client'];try{return this['client']=new Redis({'host':process['env']['REDIS_HOST']||_0x3513f6['gDRHX'],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x455007(0x19d)][_0x455007(0x18e)]||undefined,'db':_0x3513f6[_0x455007(0x19a)](parseInt,process[_0x455007(0x19d)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x384147){const _0x172a34=_0x455007,_0x53d210=Math[_0x172a34(0x1aa)](_0x384147*0x32,0x7d0);return _0x53d210;}}),this['client']['on'](_0x3513f6['DwOlh'],()=>{const _0xc22557=_0x455007;this[_0xc22557(0x1ac)]=!![],logger['info']({'event':_0x3513f6[_0xc22557(0x19b)]},'Redis\x20connected\x20successfully');}),this['client']['on'](_0x3513f6[_0x455007(0x1a0)],_0x3dcfb3=>{const _0x1b4e34=_0x455007;this['isConnected']=![],logger[_0x1b4e34(0x196)]({'event':_0x3513f6['YABiy'],'error':_0x3dcfb3['message']},'Redis\x20connection\x20error:\x20'+_0x3dcfb3[_0x1b4e34(0x1a5)]);}),this[_0x455007(0x194)]['on']('close',()=>{const _0x1cb054=_0x455007;this['isConnected']=![],logger[_0x1cb054(0x191)]({'event':_0x3513f6['StbPw']},_0x3513f6['iFQtH']);}),this[_0x455007(0x194)];}catch(_0x1bab11){logger['error']({'event':_0x455007(0x19f),'error':_0x1bab11[_0x455007(0x1a5)]},'Failed\x20to\x20initialize\x20Redis');throw _0x1bab11;}}['getClient'](){const _0xe047b6=a0_0x2680;return!this[_0xe047b6(0x194)]&&this['connect'](),this[_0xe047b6(0x194)];}async['ping'](_0x894f0=0x1388){const _0x4f7228=a0_0x2680,_0x5de1f6={'wMADn':_0x4f7228(0x1a3)};try{const _0x5d2d12=this['getClient'](),_0x29ab29=await Promise[_0x4f7228(0x18f)]([_0x5d2d12[_0x4f7228(0x1a9)](),new Promise((_0x289e2c,_0x1cfd93)=>setTimeout(()=>_0x1cfd93(new Error('Redis\x20PING\x20timeout')),_0x894f0))]);return _0x29ab29===_0x5de1f6['wMADn'];}catch(_0x39f1e0){return![];}}async[a0_0x5b421c(0x198)](){this['client']&&(await this['client']['quit'](),this['client']=null,this['isConnected']=![]);}[a0_0x5b421c(0x18b)](){const _0x5ca67c=a0_0x5b421c;this['client']&&(this['client']['disconnect'](),this[_0x5ca67c(0x194)]=null,this[_0x5ca67c(0x1ac)]=![]);}}module[a0_0x5b421c(0x1a7)]=new RedisClient();
1
+ const a0_0x3d9d9b=a0_0x53b4;(function(_0x1a106f,_0x4c6a54){const _0x172981=a0_0x53b4,_0x4fe11f=_0x1a106f();while(!![]){try{const _0x44bd67=-parseInt(_0x172981(0x8d))/0x1*(-parseInt(_0x172981(0x78))/0x2)+parseInt(_0x172981(0x88))/0x3+parseInt(_0x172981(0x8b))/0x4*(parseInt(_0x172981(0x8e))/0x5)+-parseInt(_0x172981(0x87))/0x6+-parseInt(_0x172981(0x8c))/0x7*(-parseInt(_0x172981(0x81))/0x8)+parseInt(_0x172981(0x93))/0x9*(parseInt(_0x172981(0x76))/0xa)+-parseInt(_0x172981(0x79))/0xb;if(_0x44bd67===_0x4c6a54)break;else _0x4fe11f['push'](_0x4fe11f['shift']());}catch(_0x48b76a){_0x4fe11f['push'](_0x4fe11f['shift']());}}}(a0_0x3e8e,0xe682a));function a0_0x53b4(_0x1944c9,_0x37ce3b){_0x1944c9=_0x1944c9-0x76;const _0x3e8eb7=a0_0x3e8e();let _0x53b4a5=_0x3e8eb7[_0x1944c9];if(a0_0x53b4['FlAVUX']===undefined){var _0x4e7206=function(_0x732848){const _0xae4e3a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb3898b='',_0x44c18d='';for(let _0xf811bb=0x0,_0x3f76f0,_0x4ab371,_0x14d6a7=0x0;_0x4ab371=_0x732848['charAt'](_0x14d6a7++);~_0x4ab371&&(_0x3f76f0=_0xf811bb%0x4?_0x3f76f0*0x40+_0x4ab371:_0x4ab371,_0xf811bb++%0x4)?_0xb3898b+=String['fromCharCode'](0xff&_0x3f76f0>>(-0x2*_0xf811bb&0x6)):0x0){_0x4ab371=_0xae4e3a['indexOf'](_0x4ab371);}for(let _0xd20d94=0x0,_0x15401e=_0xb3898b['length'];_0xd20d94<_0x15401e;_0xd20d94++){_0x44c18d+='%'+('00'+_0xb3898b['charCodeAt'](_0xd20d94)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44c18d);};a0_0x53b4['lJhvGV']=_0x4e7206,a0_0x53b4['vXjtRA']={},a0_0x53b4['FlAVUX']=!![];}const _0x47af8d=_0x3e8eb7[0x0],_0x5622fa=_0x1944c9+_0x47af8d,_0xafb0f2=a0_0x53b4['vXjtRA'][_0x5622fa];return!_0xafb0f2?(_0x53b4a5=a0_0x53b4['lJhvGV'](_0x53b4a5),a0_0x53b4['vXjtRA'][_0x5622fa]=_0x53b4a5):_0x53b4a5=_0xafb0f2,_0x53b4a5;}const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){const _0x130e2d=a0_0x53b4;this[_0x130e2d(0x7b)]=null,this[_0x130e2d(0x94)]=![];}[a0_0x3d9d9b(0x7e)](){const _0x3a35f7=a0_0x3d9d9b,_0x13200d={'CTStL':_0x3a35f7(0x7f),'vwJNE':_0x3a35f7(0x91),'FWunv':'redis_init_error'};if(this['client'])return this['client'];try{return this['client']=new Redis({'host':process['env']['REDIS_HOST']||_0x13200d['CTStL'],'port':parseInt(process['env'][_0x3a35f7(0x85)],0xa)||0x18ec,'password':process[_0x3a35f7(0x7a)]['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x3a35f7(0x7a)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0xb950f7){const _0xb68ec0=_0x3a35f7,_0x40c30b=Math[_0xb68ec0(0x92)](_0xb950f7*0x32,0x7d0);return _0x40c30b;}}),this['client']['on'](_0x3a35f7(0x7e),()=>{const _0x2b097e=_0x3a35f7;this[_0x2b097e(0x94)]=!![],logger[_0x2b097e(0x77)]({'event':'redis_connected'},_0x2b097e(0x8f));}),this['client']['on'](_0x3a35f7(0x83),_0xce39a5=>{const _0x3bbfec=_0x3a35f7;this[_0x3bbfec(0x94)]=![],logger[_0x3bbfec(0x83)]({'event':'redis_error','error':_0xce39a5[_0x3bbfec(0x7d)]},_0x3bbfec(0x90)+_0xce39a5['message']);}),this[_0x3a35f7(0x7b)]['on'](_0x13200d[_0x3a35f7(0x7c)],()=>{const _0x4a3f4c=_0x3a35f7;this[_0x4a3f4c(0x94)]=![],logger['warn']({'event':_0x4a3f4c(0x80)},_0x4a3f4c(0x95));}),this[_0x3a35f7(0x7b)];}catch(_0x3b8d62){logger[_0x3a35f7(0x83)]({'event':_0x13200d['FWunv'],'error':_0x3b8d62['message']},'Failed\x20to\x20initialize\x20Redis');throw _0x3b8d62;}}[a0_0x3d9d9b(0x84)](){const _0x103cae=a0_0x3d9d9b;return!this['client']&&this['connect'](),this[_0x103cae(0x7b)];}async[a0_0x3d9d9b(0x82)](_0x594c69=0x1388){const _0x515142=a0_0x3d9d9b,_0x25b630={'zcPTx':'PONG'};try{const _0x12f60e=this[_0x515142(0x84)](),_0x9d4a62=await Promise['race']([_0x12f60e['ping'](),new Promise((_0x2ea12d,_0x223524)=>setTimeout(()=>_0x223524(new Error('Redis\x20PING\x20timeout')),_0x594c69))]);return _0x9d4a62===_0x25b630[_0x515142(0x89)];}catch(_0x1c8068){return![];}}async[a0_0x3d9d9b(0x86)](){const _0x395418=a0_0x3d9d9b;this['client']&&(await this['client']['quit'](),this[_0x395418(0x7b)]=null,this['isConnected']=![]);}['forceDisconnect'](){this['client']&&(this['client']['disconnect'](),this['client']=null,this['isConnected']=![]);}}function a0_0x3e8e(){const _0x2a3ef0=['nfvSy1L5tq','n2LsC3LQBG','mtuWn0PTAuvdCG','mJG0nty2mg9grun0yq','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','y2XVC2u','BwLU','mtq0CxvzAMnW','AxndB25Uzwn0zwq','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','mZi5mJeWuxDkEwfU','Aw5MBW','ndi4EvPvBxfJ','mtq4ndq0mtjPsNH6yMC','zw52','y2XPzw50','DNDktKu','BwvZC2fNzq','y29UBMvJDa','Bg9JywXOB3n0','CMvKAxnFzgLZy29UBMvJDgvK','nZu3oduWnhL0vwrqua','CgLUzW','zxjYB3i','z2v0q2XPzw50','uKvesvnFue9sva','zgLZy29UBMvJDa','otq5nZG2ohPVrKjQyq','nduZmJG4m3DquhnHvG','EMnqvhG','zxHWB3j0CW'];a0_0x3e8e=function(){return _0x2a3ef0;};return a0_0x3e8e();}module[a0_0x3d9d9b(0x8a)]=new RedisClient();
@@ -1 +1 @@
1
- function a0_0x2cb4(){const _0x5004c4=['CMvKAxnFzgvSzxrLx2vYCM9Y','CMvKAxnFz2v0ywXSx2vYCM9Y','BwvZC2fNzq','mtHZs3HOEuO','nda0mZqXz0PvEK9R','oteYnZyWD0vushHe','z2v0q2XPzw50','DhrS','mJGYvg9Pthf1','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','mtC3mK9ny0DczW','ChjLzML4','mtq0uxPoCNnf','A2v5CW','z2v0sM9I','CgfYC2u','zxjYB3i','ntK0nZnqtKHIAMq','C2v0sM9I','zxHWB3j0CW','zgvMyxvSDa','mJrIuNbQzxy','odyXndi0m3LWt2PVAa','zw52','lI9SB2DNzxi','ChvZAa','CMvKAxnFz2v0x2vYCM9Y','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','x3bYzwzPEa','zgvS','ntm3ndyYnhneDej2sW','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','mJG0ndCWzLLiz3HA','mMDtwwDWwG'];a0_0x2cb4=function(){return _0x5004c4;};return a0_0x2cb4();}const a0_0x5c7e7a=a0_0x30c4;function a0_0x30c4(_0x1265c0,_0x3db93f){_0x1265c0=_0x1265c0-0x72;const _0x2cb4ee=a0_0x2cb4();let _0x30c4c5=_0x2cb4ee[_0x1265c0];if(a0_0x30c4['EWMROy']===undefined){var _0x3d0dec=function(_0x1b84d6){const _0x429d30='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5923c7='',_0x4588d1='';for(let _0x4f5c03=0x0,_0x3f875c,_0x1e9829,_0x44ac4a=0x0;_0x1e9829=_0x1b84d6['charAt'](_0x44ac4a++);~_0x1e9829&&(_0x3f875c=_0x4f5c03%0x4?_0x3f875c*0x40+_0x1e9829:_0x1e9829,_0x4f5c03++%0x4)?_0x5923c7+=String['fromCharCode'](0xff&_0x3f875c>>(-0x2*_0x4f5c03&0x6)):0x0){_0x1e9829=_0x429d30['indexOf'](_0x1e9829);}for(let _0x31f891=0x0,_0x36aaa3=_0x5923c7['length'];_0x31f891<_0x36aaa3;_0x31f891++){_0x4588d1+='%'+('00'+_0x5923c7['charCodeAt'](_0x31f891)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4588d1);};a0_0x30c4['BCPOnC']=_0x3d0dec,a0_0x30c4['UwPfhg']={},a0_0x30c4['EWMROy']=!![];}const _0x34c8e4=_0x2cb4ee[0x0],_0x4f4998=_0x1265c0+_0x34c8e4,_0x5eed86=a0_0x30c4['UwPfhg'][_0x4f4998];return!_0x5eed86?(_0x30c4c5=a0_0x30c4['BCPOnC'](_0x30c4c5),a0_0x30c4['UwPfhg'][_0x4f4998]=_0x30c4c5):_0x30c4c5=_0x5eed86,_0x30c4c5;}(function(_0x37a35d,_0x54874d){const _0xa76e6e=a0_0x30c4,_0x284a5d=_0x37a35d();while(!![]){try{const _0x244e7d=parseInt(_0xa76e6e(0x78))/0x1*(-parseInt(_0xa76e6e(0x88))/0x2)+parseInt(_0xa76e6e(0x91))/0x3*(parseInt(_0xa76e6e(0x93))/0x4)+-parseInt(_0xa76e6e(0x8e))/0x5+-parseInt(_0xa76e6e(0x8c))/0x6*(-parseInt(_0xa76e6e(0x8d))/0x7)+-parseInt(_0xa76e6e(0x85))/0x8+-parseInt(_0xa76e6e(0x73))/0x9*(parseInt(_0xa76e6e(0x87))/0xa)+parseInt(_0xa76e6e(0x7d))/0xb*(parseInt(_0xa76e6e(0x7c))/0xc);if(_0x244e7d===_0x54874d)break;else _0x284a5d['push'](_0x284a5d['shift']());}catch(_0x57b2dc){_0x284a5d['push'](_0x284a5d['shift']());}}}(a0_0x2cb4,0x649f8));const redisClient=require('./redis-client'),{logger}=require(a0_0x5c7e7a(0x7f));class RedisHelper{constructor(){const _0x4b70b4=a0_0x5c7e7a;this[_0x4b70b4(0x83)]=null,this[_0x4b70b4(0x90)]=parseInt(process[_0x4b70b4(0x7e)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x5c7e7a(0x72)](){const _0x5ea72f=a0_0x5c7e7a;if(!this['_prefix']){const _0x572f29=process[_0x5ea72f(0x7e)][_0x5ea72f(0x82)]||_0x5ea72f(0x7b);this['_prefix']='restforge:'+_0x572f29+':export:';}return this['_prefix'];}async[a0_0x5c7e7a(0x79)](_0x266f0d,_0x3a575b){const _0x15980c=a0_0x5c7e7a,_0x1cf006={'MzuQM':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x69c3f8=redisClient[_0x15980c(0x8f)](),_0x7f2964=''+this[_0x15980c(0x72)]+_0x266f0d;return await _0x69c3f8['setex'](_0x7f2964,this[_0x15980c(0x90)],JSON['stringify'](_0x3a575b)),!![];}catch(_0x5ef93e){return logger['error']({'event':'redis_set_error','jobId':_0x266f0d,'error':_0x5ef93e['message']},_0x1cf006['MzuQM']),![];}}async['getJob'](_0xe4e8e9){const _0x3beb34=a0_0x5c7e7a;try{const _0x5191c3=redisClient['getClient'](),_0x45e7db=''+this[_0x3beb34(0x72)]+_0xe4e8e9,_0x1b9048=await _0x5191c3['get'](_0x45e7db);return _0x1b9048?JSON['parse'](_0x1b9048):null;}catch(_0x1fdf26){return logger['error']({'event':_0x3beb34(0x81),'jobId':_0xe4e8e9,'error':_0x1fdf26[_0x3beb34(0x8b)]},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async['updateJob'](_0x1fc6eb,_0x57e811){const _0x47f027=a0_0x5c7e7a,_0x4d5d0b=await this[_0x47f027(0x75)](_0x1fc6eb);if(!_0x4d5d0b)return![];const _0x2a2915={..._0x4d5d0b,..._0x57e811};return await this[_0x47f027(0x79)](_0x1fc6eb,_0x2a2915);}async['deleteJob'](_0x3249bd){const _0x2d7ca9=a0_0x5c7e7a,_0x2ca173={'YlpBg':_0x2d7ca9(0x89)};try{const _0x5819f2=redisClient['getClient'](),_0x16c5df=''+this[_0x2d7ca9(0x72)]+_0x3249bd;return await _0x5819f2[_0x2d7ca9(0x84)](_0x16c5df),!![];}catch(_0x168314){return logger[_0x2d7ca9(0x77)]({'event':_0x2ca173['YlpBg'],'jobId':_0x3249bd,'error':_0x168314['message']},_0x2d7ca9(0x86)),![];}}async['getAllJobs'](){const _0x110dcf=a0_0x5c7e7a;try{const _0x988ec5=redisClient['getClient'](),_0x443ffc=await _0x988ec5[_0x110dcf(0x74)](this['prefix']+'*'),_0x31df1a=[];for(const _0x22a1b3 of _0x443ffc){const _0x14d333=await _0x988ec5['get'](_0x22a1b3);_0x14d333&&_0x31df1a[_0x110dcf(0x80)](JSON[_0x110dcf(0x76)](_0x14d333));}return _0x31df1a;}catch(_0xd52ee5){return logger[_0x110dcf(0x77)]({'event':_0x110dcf(0x8a),'error':_0xd52ee5['message']},_0x110dcf(0x92)),[];}}}module[a0_0x5c7e7a(0x7a)]=new RedisHelper();
1
+ const a0_0x22a1f1=a0_0x38ef;(function(_0x23fcaa,_0x3ef076){const _0x5ece74=a0_0x38ef,_0x281b7c=_0x23fcaa();while(!![]){try{const _0x1accee=parseInt(_0x5ece74(0xe6))/0x1*(parseInt(_0x5ece74(0xd6))/0x2)+parseInt(_0x5ece74(0xe1))/0x3+-parseInt(_0x5ece74(0xd8))/0x4*(-parseInt(_0x5ece74(0xcf))/0x5)+parseInt(_0x5ece74(0xed))/0x6*(parseInt(_0x5ece74(0xe9))/0x7)+parseInt(_0x5ece74(0xe3))/0x8*(-parseInt(_0x5ece74(0xe7))/0x9)+-parseInt(_0x5ece74(0xd3))/0xa*(-parseInt(_0x5ece74(0xd9))/0xb)+-parseInt(_0x5ece74(0xd2))/0xc;if(_0x1accee===_0x3ef076)break;else _0x281b7c['push'](_0x281b7c['shift']());}catch(_0x47756a){_0x281b7c['push'](_0x281b7c['shift']());}}}(a0_0x1697,0xd457a));function a0_0x1697(){const _0x25cddd=['rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','ndvUtuDZqMK','C2v0zxG','z2v0q2XPzw50','mJaZndm0mJb0vKLSswC','mtbmALD0rvm','z2v0qwXSsM9ICW','zxjYB3i','ndeWnZrOEfvZsuq','ChjLzML4','mZmYmZi0rNfYCeTp','mti5odC5ntn0wgfdwhK','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','ChvZAa','oMv4Cg9YDdO','BwvZC2fNzq','CgfYC2u','z2v0sM9I','DhrS','mJG3otaWneTYDvDyqq','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','mJe2nJG4oeTRAwPTvW','zxHWB3j0CW','CMvKAxnFzgvSzxrLx2vYCM9Y','mJfAywLzyMC','ntrtr01cC0C','lI9YzwrPCY1JBgLLBNq','ndC2swDrvenh','CMvKAxnFz2v0ywXSx2vYCM9Y','zgvMyxvSDa','x3bYzwzPEa','nZy4mZzNCM9Zuve','yNrwrvC','CMvKAxnFz2v0x2vYCM9Y','zgvS','rvHqt1jux0zjtevFrvHqsvjz','zw52'];a0_0x1697=function(){return _0x25cddd;};return a0_0x1697();}const redisClient=require(a0_0x22a1f1(0xe8)),{logger}=require('./logger');function a0_0x38ef(_0x32d1d5,_0x5536ba){_0x32d1d5=_0x32d1d5-0xca;const _0x1697c2=a0_0x1697();let _0x38effc=_0x1697c2[_0x32d1d5];if(a0_0x38ef['cSEPOQ']===undefined){var _0x1e7058=function(_0x378a4b){const _0x554c90='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d190b='',_0x5b4e70='';for(let _0x413217=0x0,_0x346697,_0x37e27f,_0x1cd548=0x0;_0x37e27f=_0x378a4b['charAt'](_0x1cd548++);~_0x37e27f&&(_0x346697=_0x413217%0x4?_0x346697*0x40+_0x37e27f:_0x37e27f,_0x413217++%0x4)?_0x4d190b+=String['fromCharCode'](0xff&_0x346697>>(-0x2*_0x413217&0x6)):0x0){_0x37e27f=_0x554c90['indexOf'](_0x37e27f);}for(let _0x17fed0=0x0,_0x442397=_0x4d190b['length'];_0x17fed0<_0x442397;_0x17fed0++){_0x5b4e70+='%'+('00'+_0x4d190b['charCodeAt'](_0x17fed0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b4e70);};a0_0x38ef['pJqHaS']=_0x1e7058,a0_0x38ef['ZZAetL']={},a0_0x38ef['cSEPOQ']=!![];}const _0x26997a=_0x1697c2[0x0],_0x474994=_0x32d1d5+_0x26997a,_0x10745d=a0_0x38ef['ZZAetL'][_0x474994];return!_0x10745d?(_0x38effc=a0_0x38ef['pJqHaS'](_0x38effc),a0_0x38ef['ZZAetL'][_0x474994]=_0x38effc):_0x38effc=_0x10745d,_0x38effc;}class RedisHelper{constructor(){const _0x5862ea=a0_0x22a1f1;this['_prefix']=null,this[_0x5862ea(0xe0)]=parseInt(process[_0x5862ea(0xcd)][_0x5862ea(0xcc)],0xa)||0xe10;}get['prefix'](){const _0x5d60e6=a0_0x22a1f1,_0xbee352={'aLJaJ':_0x5d60e6(0xeb)};if(!this[_0x5d60e6(0xec)]){const _0x5f0a73=process[_0x5d60e6(0xcd)]['RESTFORGE_PROJECT_NAME']||_0xbee352['aLJaJ'];this['_prefix']='restforge:'+_0x5f0a73+_0x5d60e6(0xdc);}return this['_prefix'];}async['setJob'](_0x39e7cf,_0x4aaa7f){const _0x4909c5=a0_0x22a1f1,_0x43cae3={'QrNjS':'redis_set_error'};try{const _0x4c4285=redisClient['getClient'](),_0x2eb865=''+this['prefix']+_0x39e7cf;return await _0x4c4285[_0x4909c5(0xd0)](_0x2eb865,this['ttl'],JSON['stringify'](_0x4aaa7f)),!![];}catch(_0x342177){return logger['error']({'event':_0x43cae3['QrNjS'],'jobId':_0x39e7cf,'error':_0x342177[_0x4909c5(0xdd)]},_0x4909c5(0xce)),![];}}async[a0_0x22a1f1(0xdf)](_0x4188a8){const _0x3da4ec=a0_0x22a1f1,_0x36d14d={'btVEW':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x40a68c=redisClient[_0x3da4ec(0xd1)](),_0x23981d=''+this['prefix']+_0x4188a8,_0x4ed29c=await _0x40a68c['get'](_0x23981d);return _0x4ed29c?JSON['parse'](_0x4ed29c):null;}catch(_0xe32ca6){return logger['error']({'event':_0x3da4ec(0xca),'jobId':_0x4188a8,'error':_0xe32ca6['message']},_0x36d14d[_0x3da4ec(0xee)]),null;}}async['updateJob'](_0x30c7b2,_0x5cb547){const _0x2d4d51=await this['getJob'](_0x30c7b2);if(!_0x2d4d51)return![];const _0x4d34a1={..._0x2d4d51,..._0x5cb547};return await this['setJob'](_0x30c7b2,_0x4d34a1);}async['deleteJob'](_0x34883f){const _0x4538a2=a0_0x22a1f1,_0x28d274={'kHiXd':_0x4538a2(0xe5)};try{const _0x286d53=redisClient[_0x4538a2(0xd1)](),_0x4fd1ee=''+this[_0x4538a2(0xd7)]+_0x34883f;return await _0x286d53[_0x4538a2(0xcb)](_0x4fd1ee),!![];}catch(_0x168eec){return logger['error']({'event':_0x28d274['kHiXd'],'jobId':_0x34883f,'error':_0x168eec[_0x4538a2(0xdd)]},_0x4538a2(0xda)),![];}}async[a0_0x22a1f1(0xd4)](){const _0x36a126=a0_0x22a1f1,_0x1373f1={'jknuc':_0x36a126(0xe2)};try{const _0x3f2e6d=redisClient['getClient'](),_0x2aa7ee=await _0x3f2e6d['keys'](this[_0x36a126(0xd7)]+'*'),_0x445c17=[];for(const _0x2c82ef of _0x2aa7ee){const _0x5db3cf=await _0x3f2e6d['get'](_0x2c82ef);_0x5db3cf&&_0x445c17[_0x36a126(0xdb)](JSON[_0x36a126(0xde)](_0x5db3cf));}return _0x445c17;}catch(_0x3e3d66){return logger[_0x36a126(0xd5)]({'event':_0x36a126(0xea),'error':_0x3e3d66[_0x36a126(0xdd)]},_0x1373f1['jknuc']),[];}}}module[a0_0x22a1f1(0xe4)]=new RedisHelper();