@restforgejs/platform 4.3.4 → 4.3.8

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 (178) 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/payload/migrate.js +96 -0
  5. package/generators/lib/migrate/backend-payload-migrator.js +221 -0
  6. package/generators/lib/migrate/field-type-resolver.js +319 -0
  7. package/generators/lib/migrate/label-generator.js +38 -0
  8. package/generators/lib/migrate/migrate-runner.js +187 -0
  9. package/generators/lib/migrate/naming.js +43 -0
  10. package/generators/lib/migrate/sql-parser.js +124 -0
  11. package/generators/lib/payload/endpoint-schema-validator.js +181 -181
  12. package/generators/lib/payload/payload-runner.js +1313 -1218
  13. package/generators/lib/payload/schema-diff.js +460 -460
  14. package/generators/lib/templates/dashboard-catalog.js +1 -1
  15. package/generators/lib/templates/db-connection-env.js +1 -1
  16. package/generators/lib/templates/dbschema-catalog.js +1 -1
  17. package/generators/lib/templates/field-validation-catalog.js +1 -1
  18. package/generators/lib/templates/mysql-template.js +1 -1
  19. package/generators/lib/templates/oracle-template.js +1 -1
  20. package/generators/lib/templates/postgres-template.js +1 -1
  21. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  22. package/generators/lib/templates/sqlite-template.js +1 -1
  23. package/integrity-manifest.json +18 -18
  24. package/node_modules/readdir-glob/node_modules/brace-expansion/index.js +1 -1
  25. package/node_modules/readdir-glob/node_modules/brace-expansion/package.json +1 -1
  26. package/package.json +1 -1
  27. package/scripts/verify-integrity.js +1 -1
  28. package/server.js +1 -1
  29. package/src/components/handlers/adjust_handler.js +1 -1
  30. package/src/components/handlers/audit_handler.js +1 -1
  31. package/src/components/handlers/delete_handler.js +1 -1
  32. package/src/components/handlers/export_handler.js +1 -1
  33. package/src/components/handlers/import_handler.js +1 -1
  34. package/src/components/handlers/insert_handler.js +1 -1
  35. package/src/components/handlers/update_handler.js +1 -1
  36. package/src/components/handlers/upload_handler.js +1 -1
  37. package/src/components/handlers/workflow_handler.js +1 -1
  38. package/src/components/integrations/webhook.js +1 -1
  39. package/src/consumers/baseConsumer.js +1 -1
  40. package/src/consumers/declarativeMapper.js +1 -1
  41. package/src/consumers/handlers/apiHandler.js +1 -1
  42. package/src/consumers/handlers/consoleHandler.js +1 -1
  43. package/src/consumers/handlers/databaseHandler.js +1 -1
  44. package/src/consumers/handlers/index.js +1 -1
  45. package/src/consumers/handlers/kafkaHandler.js +1 -1
  46. package/src/consumers/index.js +1 -1
  47. package/src/consumers/messageTransformer.js +1 -1
  48. package/src/consumers/validator.js +1 -1
  49. package/src/core/db/dialect/base-dialect.js +1 -1
  50. package/src/core/db/dialect/index.js +1 -1
  51. package/src/core/db/dialect/mysql-dialect.js +1 -1
  52. package/src/core/db/dialect/oracle-dialect.js +1 -1
  53. package/src/core/db/dialect/postgres-dialect.js +1 -1
  54. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  55. package/src/core/db/flatten-helper.js +1 -1
  56. package/src/core/db/query-builder-error.js +1 -1
  57. package/src/core/db/query-builder.js +1 -1
  58. package/src/core/db/relation-helper.js +1 -1
  59. package/src/core/handlers/delete_handler.js +1 -1
  60. package/src/core/handlers/insert_handler.js +1 -1
  61. package/src/core/handlers/update_handler.js +1 -1
  62. package/src/core/models/base-model.js +1 -1
  63. package/src/core/utils/cache-manager.js +1 -1
  64. package/src/core/utils/component-engine.js +1 -1
  65. package/src/core/utils/context-builder.js +1 -1
  66. package/src/core/utils/datetime-formatter.js +1 -1
  67. package/src/core/utils/datetime-parser.js +1 -1
  68. package/src/core/utils/db.js +1 -1
  69. package/src/core/utils/logger.js +1 -1
  70. package/src/core/utils/payload-loader.js +1 -1
  71. package/src/core/utils/security-checks.js +1 -1
  72. package/src/middleware/body-options.js +1 -1
  73. package/src/middleware/cors.js +1 -1
  74. package/src/middleware/idempotency.js +1 -1
  75. package/src/middleware/rate-limiter.js +1 -1
  76. package/src/middleware/request-logger.js +1 -1
  77. package/src/middleware/security-headers.js +1 -1
  78. package/src/models/base-model-mysql.js +1 -1
  79. package/src/models/base-model-oracle.js +1 -1
  80. package/src/models/base-model-sqlite.js +1 -1
  81. package/src/models/base-model.js +1 -1
  82. package/src/pro/caching/redis-client.js +1 -1
  83. package/src/pro/caching/redis-helper.js +1 -1
  84. package/src/pro/consumers/baseConsumer.js +1 -1
  85. package/src/pro/consumers/declarativeMapper.js +1 -1
  86. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  87. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  88. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  89. package/src/pro/consumers/handlers/index.js +1 -1
  90. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  91. package/src/pro/consumers/index.js +1 -1
  92. package/src/pro/consumers/messageTransformer.js +1 -1
  93. package/src/pro/consumers/validator.js +1 -1
  94. package/src/pro/database/base-model-mysql.js +1 -1
  95. package/src/pro/database/base-model-oracle.js +1 -1
  96. package/src/pro/database/base-model-sqlite.js +1 -1
  97. package/src/pro/database/db-mysql.js +1 -1
  98. package/src/pro/database/db-oracle.js +1 -1
  99. package/src/pro/database/db-sqlite.js +1 -1
  100. package/src/pro/excel/excel-generator.js +1 -1
  101. package/src/pro/excel/excel-parser.js +1 -1
  102. package/src/pro/excel/export-service.js +1 -1
  103. package/src/pro/excel/export_handler.js +1 -1
  104. package/src/pro/excel/import-service.js +1 -1
  105. package/src/pro/excel/import-validator.js +1 -1
  106. package/src/pro/excel/import_handler.js +1 -1
  107. package/src/pro/excel/upsert-builder.js +1 -1
  108. package/src/pro/idgen/idgen-routes.js +1 -1
  109. package/src/pro/integrations/lookup-resolver.js +1 -1
  110. package/src/pro/integrations/upload-handler-v2.js +1 -1
  111. package/src/pro/integrations/upload-handler.js +1 -1
  112. package/src/pro/integrations/webhook.js +1 -1
  113. package/src/pro/locking/lock-routes.js +1 -1
  114. package/src/pro/locking/resource-lock-manager.js +1 -1
  115. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  116. package/src/pro/messaging/kafkaService.js +1 -1
  117. package/src/pro/messaging/messagehubService.js +1 -1
  118. package/src/pro/messaging/rabbitmqService.js +1 -1
  119. package/src/pro/scheduler/job-manager.js +1 -1
  120. package/src/pro/scheduler/job-routes.js +1 -1
  121. package/src/pro/scheduler/job-validator.js +1 -1
  122. package/src/pro/storage/base-storage-provider.js +1 -1
  123. package/src/pro/storage/file-metadata-helper.js +1 -1
  124. package/src/pro/storage/index.js +1 -1
  125. package/src/pro/storage/local-storage-provider.js +1 -1
  126. package/src/pro/storage/s3-storage-provider.js +1 -1
  127. package/src/pro/storage/upload-cleanup-job.js +1 -1
  128. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  129. package/src/pro/storage/upload-pending-tracker.js +1 -1
  130. package/src/pro/websocket/broadcast-helper.js +1 -1
  131. package/src/pro/websocket/index.js +1 -1
  132. package/src/pro/websocket/livesync-server.js +1 -1
  133. package/src/pro/websocket/ws-broadcaster.js +1 -1
  134. package/src/services/export-service.js +1 -1
  135. package/src/services/import-service.js +1 -1
  136. package/src/services/kafkaConsumerService.js +1 -1
  137. package/src/services/kafkaService.js +1 -1
  138. package/src/services/messagehubService.js +1 -1
  139. package/src/services/rabbitmqService.js +1 -1
  140. package/src/utils/cache-invalidation-registry.js +1 -1
  141. package/src/utils/cache-manager.js +1 -1
  142. package/src/utils/component-engine.js +1 -1
  143. package/src/utils/config-extractor.js +1 -1
  144. package/src/utils/consumerLogger.js +1 -1
  145. package/src/utils/context-builder.js +1 -1
  146. package/src/utils/dashboard-helpers.js +1 -1
  147. package/src/utils/dateHelper.js +1 -1
  148. package/src/utils/datetime-formatter.js +1 -1
  149. package/src/utils/datetime-parser.js +1 -1
  150. package/src/utils/db-bootstrap.js +1 -1
  151. package/src/utils/db-mysql.js +1 -1
  152. package/src/utils/db-oracle.js +1 -1
  153. package/src/utils/db-sqlite.js +1 -1
  154. package/src/utils/db.js +1 -1
  155. package/src/utils/demo-generator.js +1 -1
  156. package/src/utils/excel-generator.js +1 -1
  157. package/src/utils/excel-parser.js +1 -1
  158. package/src/utils/file-watcher.js +1 -1
  159. package/src/utils/id-generator.js +1 -1
  160. package/src/utils/idempotency-manager.js +1 -1
  161. package/src/utils/import-validator.js +1 -1
  162. package/src/utils/license-client.js +1 -1
  163. package/src/utils/lock-manager.js +1 -1
  164. package/src/utils/logger.js +1 -1
  165. package/src/utils/lookup-resolver.js +1 -1
  166. package/src/utils/payload-loader.js +1 -1
  167. package/src/utils/processor-response.js +1 -1
  168. package/src/utils/rabbitmq.js +1 -1
  169. package/src/utils/redis-client.js +1 -1
  170. package/src/utils/redis-helper.js +1 -1
  171. package/src/utils/request-scope.js +1 -1
  172. package/src/utils/security-checks.js +1 -1
  173. package/src/utils/service-resolver.js +1 -1
  174. package/src/utils/shutdown-coordinator.js +1 -1
  175. package/src/utils/trusted-keys.js +1 -1
  176. package/src/utils/upload-handler.js +1 -1
  177. package/src/utils/upsert-builder.js +1 -1
  178. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0x13d6(){const _0x131543=['CMv0CNK','ufrWs2u','zxjYB3i','D3jPDgvFBg9JA19LCNjVCG','x3jLDhj5q291BNq','r2HqALa','D2fYBG','CMv0CNLdB3vUDa','nJe3mZK4uNfJwu5P','D29YA2vYlq','CMvHzf9SB2nRx3DHAxrPBMC','v1blAxa','CMvHzf9SB2nRx3jLBgvHC2vK','v3HIBvK','mJa2ndC1mgrUAeTuva','BunnrKO','D3jPDgvFBg9JA19YzwXLyxnLza','BK1xqMG','mtjRDuDVDfy','tgTfChy','tg9JAYbuveWGzxH0zw5Kzwq','te9ds19esvnuuKLcvvrfrf9srvrswq','CMv0CNLezwXHEq','zfHKsvu','zxHWB3j0CW','C3vIC3rYAw5N','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','zxzHBa','x2LUAxrdB25MAwC','v1jjveuGBg9JAYbLCNjVCG','mZnfqMv6q3m','D3jPDgu','C2XeDeK','ndi0nZG2nw9cs1L5sW','CMvHza','x3jLDhj5rgvSyxK','q1PRtxe','Bg5dweO','z2v0','EeHzExi','zgvMyxvSDfruta','uKvbrcbSB2nRigvYCM9Y','x2vUC3vYzuLUAxrPywXPEMvK','zgvS','Bg9JA19LEhrLBMrLza','wNnntui','z2v0q2XPzw50','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','mJCYodC5nuDgz2TSCq','x2LUAxrPywXPEMvK','ywXS','AeDWshC','Cg93','ywnXDwLYzvDYAxrLtg9JAW','BgfZDeLUzgv4t2y','CMy6Bg9JAZO','tLrnDMO','uKvbrcbSB2nRihjLBgvHC2vK','AxnfBMfIBgvK','DK5UwMq','x2rLzMf1BhruveW','x2vUywjSzwq','v1jjveuGBg9JAYbYzwXLyxnLza','yNvPBgrmB2nRs2v5','z2vUzxjHDgvmB2nRvMfSDwu','x3DVCMTLCKLK','ug1hz0i','tg9JAYbLEhrLBMqGzxjYB3i','ndm2mtK4z0jQzvHd','Ae9qBMq','zgvIDwC','x3bYzwzPEa','zxH0zw5Ktg9JAW','twjuruy','Dhj1zq','odmYmZi4mfzdq1zhta','z2v0tg9JA0LUzM8','BwvZC2fNzq','zw5HyMXLza','mZKZmZzhwefktLy','x3n0CMf0zwD5','CMvQzwn0','D3jPDgvFBg9JA19Hy3f1AxjLza','zwXer3u','C2XLzxa','tg9JAYbYzwXLyxnLigvYCM9Y','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','og9hr3DABq','zw52'];a0_0x13d6=function(){return _0x131543;};return a0_0x13d6();}const a0_0x558805=a0_0x31bc;function a0_0x31bc(_0x213086,_0x858827){_0x213086=_0x213086-0xd9;const _0x13d672=a0_0x13d6();let _0x31bc11=_0x13d672[_0x213086];if(a0_0x31bc['uvuGHt']===undefined){var _0x68f8b0=function(_0x2d000a){const _0x5c62ee='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x16c1ad='',_0x445d02='';for(let _0x544b02=0x0,_0xeaf48b,_0x1d953e,_0x2eb80a=0x0;_0x1d953e=_0x2d000a['charAt'](_0x2eb80a++);~_0x1d953e&&(_0xeaf48b=_0x544b02%0x4?_0xeaf48b*0x40+_0x1d953e:_0x1d953e,_0x544b02++%0x4)?_0x16c1ad+=String['fromCharCode'](0xff&_0xeaf48b>>(-0x2*_0x544b02&0x6)):0x0){_0x1d953e=_0x5c62ee['indexOf'](_0x1d953e);}for(let _0x306df9=0x0,_0x47bad5=_0x16c1ad['length'];_0x306df9<_0x47bad5;_0x306df9++){_0x445d02+='%'+('00'+_0x16c1ad['charCodeAt'](_0x306df9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x445d02);};a0_0x31bc['YLKalO']=_0x68f8b0,a0_0x31bc['WcOUwD']={},a0_0x31bc['uvuGHt']=!![];}const _0x46a239=_0x13d672[0x0],_0xdce2ed=_0x213086+_0x46a239,_0x14b4a9=a0_0x31bc['WcOUwD'][_0xdce2ed];return!_0x14b4a9?(_0x31bc11=a0_0x31bc['YLKalO'](_0x31bc11),a0_0x31bc['WcOUwD'][_0xdce2ed]=_0x31bc11):_0x31bc11=_0x14b4a9,_0x31bc11;}(function(_0x429c47,_0x17036a){const _0x45e75a=a0_0x31bc,_0x15fee4=_0x429c47();while(!![]){try{const _0x437462=parseInt(_0x45e75a(0xe1))/0x1+parseInt(_0x45e75a(0xe7))/0x2+parseInt(_0x45e75a(0xf8))/0x3*(-parseInt(_0x45e75a(0x129))/0x4)+-parseInt(_0x45e75a(0x10a))/0x5*(parseInt(_0x45e75a(0xeb))/0x6)+-parseInt(_0x45e75a(0x11e))/0x7*(parseInt(_0x45e75a(0x131))/0x8)+-parseInt(_0x45e75a(0xfb))/0x9+parseInt(_0x45e75a(0x125))/0xa;if(_0x437462===_0x17036a)break;else _0x15fee4['push'](_0x15fee4['shift']());}catch(_0x3d4d2a){_0x15fee4['push'](_0x15fee4['shift']());}}}(a0_0x13d6,0xb6a4e));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x586a5f=a0_0x31bc,_0x51e425='5|4|1|2|3|7|6|0'['split']('|');let _0x33183c=0x0;while(!![]){switch(_0x51e425[_0x33183c++]){case'0':this[_0x586a5f(0x10b)]=![];continue;case'1':this['_defaultTTL']=null;continue;case'2':this['_retryCount']=null;continue;case'3':this['_retryDelay']=null;continue;case'4':this[_0x586a5f(0x117)]=null;continue;case'5':this[_0x586a5f(0x121)]=null;continue;case'6':this[_0x586a5f(0x11b)]=null;continue;case'7':this[_0x586a5f(0x12a)]=null;continue;}break;}}[a0_0x558805(0xf6)](){const _0x3fdce0=a0_0x558805,_0x409343={'MqhYv':'lock_config_init','ZsMMB':_0x3fdce0(0x111),'slDtI':function(_0x4f58e6,_0x441c72,_0x417206){return _0x4f58e6(_0x441c72,_0x417206);}},_0x46dabf='1|6|3|7|8|4|2|5|0'['split']('|');let _0x3c16c2=0x0;while(!![]){switch(_0x46dabf[_0x3c16c2++]){case'0':logger['info']({'event':_0x409343['MqhYv'],'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x3fdce0(0x116)],'retryCount':this['_retryCount'],'retryDelay':this[_0x3fdce0(0xfd)],'workerId':this['_workerId']},_0x3fdce0(0xf4)+this['_enabled']+',\x20strategy:\x20'+this[_0x3fdce0(0x12a)]);continue;case'1':this['_prefix']=_0x409343[_0x3fdce0(0x107)];continue;case'2':this[_0x3fdce0(0x11b)]=_0x3fdce0(0xe2)+process['pid'];continue;case'3':this[_0x3fdce0(0x116)]=_0x409343[_0x3fdce0(0xfa)](parseInt,process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'4':this['_strategy']=process[_0x3fdce0(0x132)][_0x3fdce0(0xf3)]||'retry';continue;case'5':this['_initialized']=!![];continue;case'6':this['_enabled']=process[_0x3fdce0(0x132)]['LOCK_DISTRIBUTED_ENABLED']===_0x3fdce0(0x124);continue;case'7':this[_0x3fdce0(0xdd)]=parseInt(process['env'][_0x3fdce0(0xee)],0xa)||0x3;continue;case'8':this['_retryDelay']=_0x409343[_0x3fdce0(0xfa)](parseInt,process[_0x3fdce0(0x132)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;}break;}}[a0_0x558805(0x104)](){const _0x1b9ebd=a0_0x558805;!this[_0x1b9ebd(0x10b)]&&this[_0x1b9ebd(0xf6)]();}get['prefix'](){return this['_ensureInitialized'](),this['_prefix'];}get[a0_0x558805(0x128)](){const _0x1f993c=a0_0x558805;return this['_ensureInitialized'](),this[_0x1f993c(0x117)];}get[a0_0x558805(0x102)](){return this['_ensureInitialized'](),this['_defaultTTL'];}get[a0_0x558805(0xe0)](){const _0x981760=a0_0x558805;return this[_0x981760(0x104)](),this['_retryCount'];}get['retryDelay'](){return this['_ensureInitialized'](),this['_retryDelay'];}get['strategy'](){const _0x240a97=a0_0x558805;return this[_0x240a97(0x104)](),this[_0x240a97(0x12a)];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}[a0_0x558805(0x119)](_0x3b2389){const {module:_0xcb9479,endpoint:_0x1e9686,lockType:_0x311e60,recordId:_0x586e49}=_0x3b2389;if(_0x586e49)return''+this['prefix']+_0xcb9479+':'+_0x1e9686+':'+_0x586e49+':'+_0x311e60;return''+this['prefix']+_0xcb9479+':'+_0x1e9686+':'+_0x311e60;}[a0_0x558805(0x11a)](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x3f2b9e){const _0x5e2724=a0_0x558805,_0x12c7ac={'hGpHw':function(_0x2d4498,_0x31151e){return _0x2d4498<_0x31151e;},'MbTEF':'read_lock_acquired','NTMvj':_0x5e2724(0xe3),'CVXOw':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','JUORJ':function(_0x291468,_0x550ecd){return _0x291468*_0x550ecd;},'PmGgB':_0x5e2724(0x103)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x53a4cc=this['buildLockKey']({..._0x3f2b9e,'lockType':_0x5e2724(0xf9)}),_0x1554aa=this['buildLockKey']({..._0x3f2b9e,'lockType':_0x5e2724(0xfc)}),_0xf56b60=this[_0x5e2724(0x11a)]();try{const _0x278484=redisClient['getClient']();for(let _0xb6dd9a=0x0;_0x12c7ac[_0x5e2724(0x10d)](_0xb6dd9a,this['retryCount']);_0xb6dd9a++){const _0x1e555f=await _0x278484['get'](_0x53a4cc);if(!_0x1e555f){await _0x278484['incr'](_0x1554aa),await _0x278484['expire'](_0x1554aa,this['defaultTTL']);const _0x21a398=_0x1554aa+':'+_0xf56b60;return await _0x278484['setex'](_0x21a398,this[_0x5e2724(0x102)],_0xf56b60),logger['debug']({'event':_0x12c7ac[_0x5e2724(0x123)],'key':_0x1554aa,'value':_0xf56b60},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0xf56b60,'lockKey':_0x21a398};}logger[_0x5e2724(0x120)]({'event':_0x12c7ac[_0x5e2724(0x112)],'writeKey':_0x53a4cc,'attempt':_0xb6dd9a},_0x12c7ac['CVXOw']),await this[_0x5e2724(0x12e)](_0x12c7ac['JUORJ'](this['retryDelay'],Math[_0x5e2724(0x10e)](0x2,_0xb6dd9a)));}return logger[_0x5e2724(0xdf)]({'event':'read_lock_timeout','key':_0x1554aa},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x43908d){return logger[_0x5e2724(0xdb)]({'event':'read_lock_error','error':_0x43908d['message']},_0x12c7ac[_0x5e2724(0x11c)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x558805(0x10f)](_0x7c76a2){const _0x2d5fcc=a0_0x558805,_0x5e03a7={'GhPjP':'write','OLwcn':_0x2d5fcc(0xfc),'nMWBh':_0x2d5fcc(0x12b),'ajzpP':function(_0x30a24a,_0x54e8f1){return _0x30a24a===_0x54e8f1;},'WxbmY':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','xHYyr':function(_0x4bddf4,_0x3161d0){return _0x4bddf4<_0x3161d0;},'Jjdyf':_0x2d5fcc(0x12c),'CZkMq':_0x2d5fcc(0xd9),'mCMFJ':'write_lock_waiting','dXdIU':'write_lock_timeout','WPKip':_0x2d5fcc(0x130),'FXzVF':_0x2d5fcc(0xf7)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5dd711=this['buildLockKey']({..._0x7c76a2,'lockType':_0x5e03a7[_0x2d5fcc(0xde)]}),_0x426276=this[_0x2d5fcc(0x119)]({..._0x7c76a2,'lockType':_0x5e03a7['OLwcn']}),_0x415aec=this['generateLockValue']();try{const _0x437d5a=redisClient[_0x2d5fcc(0x108)]();if(this['strategy']===_0x5e03a7['nMWBh']){const _0xd441b5=await _0x437d5a['set'](_0x5dd711,_0x415aec,'EX',this[_0x2d5fcc(0x102)],'NX');if(_0x5e03a7['ajzpP'](_0xd441b5,'OK'))return logger['debug']({'event':_0x2d5fcc(0x12c),'key':_0x5dd711,'value':_0x415aec,'strategy':_0x5e03a7[_0x2d5fcc(0xea)]},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0x415aec,'lockKey':_0x5dd711};return logger['debug']({'event':'write_lock_rejected','key':_0x5dd711},_0x5e03a7[_0x2d5fcc(0xe6)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x50161a=0x0;_0x5e03a7[_0x2d5fcc(0x101)](_0x50161a,this['retryCount']);_0x50161a++){const [_0x89ea74,_0x189d0b]=await Promise[_0x2d5fcc(0x10c)]([_0x437d5a[_0x2d5fcc(0x100)](_0x426276),_0x437d5a[_0x2d5fcc(0x100)](_0x5dd711)]);if(!_0x189d0b&&(!_0x89ea74||parseInt(_0x89ea74)===0x0)){const _0x46f22f=await _0x437d5a['set'](_0x5dd711,_0x415aec,'EX',this[_0x2d5fcc(0x102)],'NX');if(_0x46f22f==='OK')return logger[_0x2d5fcc(0x120)]({'event':_0x5e03a7['Jjdyf'],'key':_0x5dd711,'value':_0x415aec,'strategy':_0x5e03a7[_0x2d5fcc(0xfe)]},_0x2d5fcc(0x109)),{'success':!![],'lockValue':_0x415aec,'lockKey':_0x5dd711};}logger[_0x2d5fcc(0x120)]({'event':_0x5e03a7[_0x2d5fcc(0xe8)],'writeKey':_0x5dd711,'readCount':_0x89ea74,'attempt':_0x50161a},'Waiting\x20for\x20locks\x20to\x20release'),await this['sleep'](this[_0x2d5fcc(0xef)]*Math['pow'](0x2,_0x50161a));}return logger['warn']({'event':_0x5e03a7[_0x2d5fcc(0xf0)],'key':_0x5dd711},_0x5e03a7[_0x2d5fcc(0xe4)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x201ef8){return logger['error']({'event':_0x2d5fcc(0xdc),'error':_0x201ef8[_0x2d5fcc(0x127)]},_0x5e03a7['FXzVF']),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x5e2882,_0x516b75){const _0x414be1=a0_0x558805,_0x1d7b72={'urKzV':function(_0x5fad8b,_0x156bde){return _0x5fad8b(_0x156bde);},'pcCSQ':_0x414be1(0xe5),'LcjzG':function(_0x6a92b,_0x1f0ea5){return _0x6a92b===_0x1f0ea5;},'OhrCT':_0x414be1(0xe9),'LkEpv':'lock_release_error','lnCXJ':_0x414be1(0x12f)};if(!this[_0x414be1(0x128)]||!_0x5e2882)return!![];try{const _0x4b1d46=redisClient[_0x414be1(0x108)]();if(_0x5e2882['includes'](':read:')){await _0x4b1d46[_0x414be1(0x105)](_0x5e2882);const _0x1b3004=_0x5e2882[_0x414be1(0xf2)](0x0,_0x5e2882[_0x414be1(0x110)](':')),_0x174ce7=await _0x4b1d46[_0x414be1(0x100)](_0x1b3004);return _0x174ce7&&_0x1d7b72['urKzV'](parseInt,_0x174ce7)>0x0&&await _0x4b1d46['decr'](_0x1b3004),logger['debug']({'event':_0x1d7b72['pcCSQ'],'key':_0x5e2882},_0x414be1(0x113)),!![];}const _0x56ff7e='\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',_0x3af3dd=await _0x4b1d46[_0x414be1(0xf5)](_0x56ff7e,0x1,_0x5e2882,_0x516b75);if(_0x1d7b72['LcjzG'](_0x3af3dd,0x1))return logger[_0x414be1(0x120)]({'event':_0x1d7b72['OhrCT'],'key':_0x5e2882},_0x414be1(0x118)),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x5e2882},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0xc133bf){return logger[_0x414be1(0xdb)]({'event':_0x1d7b72[_0x414be1(0xec)],'key':_0x5e2882,'error':_0xc133bf['message']},_0x1d7b72[_0x414be1(0xff)]),![];}}async[a0_0x558805(0x122)](_0x107f17,_0x5282b2,_0x5ef832=null){const _0x148eb6=a0_0x558805,_0x639561={'vNnZd':_0x148eb6(0xed),'elDGu':'lock_extend_error'};if(!this['enabled']||!_0x107f17)return!![];try{const _0x5a73db=redisClient['getClient'](),_0x6080e7='\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',_0x483421=await _0x5a73db[_0x148eb6(0xf5)](_0x6080e7,0x1,_0x107f17,_0x5282b2,_0x5ef832||this['defaultTTL']);if(_0x483421===0x1)return logger[_0x148eb6(0x120)]({'event':_0x148eb6(0x106),'key':_0x107f17,'ttl':_0x5ef832||this[_0x148eb6(0x102)]},_0x639561[_0x148eb6(0x115)]),!![];return![];}catch(_0x59523b){return logger[_0x148eb6(0xdb)]({'event':_0x639561[_0x148eb6(0x12d)],'key':_0x107f17,'error':_0x59523b[_0x148eb6(0x127)]},_0x148eb6(0x11d)),![];}}[a0_0x558805(0x114)](){const _0x483a58=a0_0x558805;return this[_0x483a58(0x128)];}[a0_0x558805(0x12e)](_0xa10923){return new Promise(_0x4986ed=>setTimeout(_0x4986ed,_0xa10923));}async[a0_0x558805(0x126)](_0x53e18b){const _0x1b5f2d=a0_0x558805,_0x367431={'PTpKe':'write','hOPnd':function(_0x3f64ba,_0x5995df){return _0x3f64ba||_0x5995df;}};if(!this['enabled'])return{'enabled':![]};try{const _0x10f0a4=redisClient[_0x1b5f2d(0x108)](),_0x3194ea=this[_0x1b5f2d(0x119)]({..._0x53e18b,'lockType':_0x367431[_0x1b5f2d(0xda)]}),_0x185c55=this['buildLockKey']({..._0x53e18b,'lockType':_0x1b5f2d(0xfc)}),[_0x21250f,_0x197016]=await Promise[_0x1b5f2d(0x10c)]([_0x10f0a4[_0x1b5f2d(0x100)](_0x3194ea),_0x10f0a4['get'](_0x185c55)]);return{'enabled':!![],'writeLock':_0x367431[_0x1b5f2d(0x11f)](_0x21250f,null),'readCount':parseInt(_0x197016)||0x0,'writeKey':_0x3194ea,'readKey':_0x185c55};}catch(_0x2066c2){return{'enabled':!![],'error':_0x2066c2['message']};}}}module[a0_0x558805(0xf1)]=new LockManager();
1
+ function a0_0x4fdb(){const _0x2fafc5=['vhnrz1a','Dhj1zq','x2vUC3vYzuLUAxrPywXPEMvK','nhW2Fdn8ohW3Fdf8mNW1Fda','zw52','Aw5JCG','BwvZC2fNzq','D2fYBG','x2rLzMf1BhruveW','AhvhAuu','D29YA2vYswq','lI9YzwrPCY1JBgLLBNq','CMv0CNK','offAvMPAAq','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','Aw5JBhvKzxm','z2v0tg9JA0LUzM8','z2vUzxjHDgvmB2nRvMfSDwu','zgvMyxvSDfruta','zKPiu2O','DM5Xrgq','ywnXDwLYzvDYAxrLtg9JAW','mZzIChr6swW','CMvHzf9SB2nRx3DHAxrPBMC','x2LUAxrdB25MAwC','CMLvv2C','x3jLDhj5q291BNq','x3jLDhj5rgvSyxK','whrmvfm','ntG0mxvAyvrVAq','CMvHza','rfv1DNa','zgvJCG','CMv0CNLezwXHEq','ywXS','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','Bg9JA19JB25MAwDFAw5PDa','mZuYmty3ovzVyvbYEa','D3jPDgvFBg9JA19YzwXLyxnLza','z2v0','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','mtmZmZaWrw9zvfjo','CMv0CNLdB3vUDa','oti0ndvLyKXjseq','yNvPBgrmB2nRs2v5','nKfeCNjXAW','CMvHzf9SB2nRx2fJCxvPCMvK','x3bYzwzPEa','C3bSAxq','BhPIC00','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','z2v0q2XPzw50','m2P1ANDnBa','zw5HyMXLza','BM93','x3DVCMTLCKLK','CMvQzwn0','zxjYB3i','x2vUywjSzwq','tg9JAYbLEhrLBMqGzxjYB3i','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','x3n0CMf0zwD5','CMvHzf9SB2nRx2vYCM9Y','x2LUAxrPywXPEMvK','teXwDMO','mJDMy3b4Dwm','nJaXmtbWDxfQv1u','CMy6Bg9JAZO','Aw5MBW','tg9JAYbuveWGzxH0zw5Kzwq','CMvHzf9SB2nRx3jLBgvHC2vK','zgvS','C2XLzxa','Bg9JA19LEhrLBMrFzxjYB3i','D3jPDgu','rxjoEhC','wLHev1K','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','wgPlteS','Cg93','mtq4nZaYnZfoALHfCgG','C2v0zxG','C2v0','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','mZaXoduYngToAKPbBG','mZyWCKrstxrn','C3rYyxrLz3K','EhjgtK0','AeXyuvO','D2vywvO','zgvIDwC','oNjLywq6'];a0_0x4fdb=function(){return _0x2fafc5;};return a0_0x4fdb();}const a0_0x4fab55=a0_0x1af2;(function(_0xc59847,_0x330bf8){const _0x13dc3a=a0_0x1af2,_0xdd4028=_0xc59847();while(!![]){try{const _0x1d28c9=parseInt(_0x13dc3a(0x125))/0x1*(parseInt(_0x13dc3a(0x129))/0x2)+-parseInt(_0x13dc3a(0x130))/0x3*(parseInt(_0x13dc3a(0x150))/0x4)+parseInt(_0x13dc3a(0x127))/0x5*(parseInt(_0x13dc3a(0x111))/0x6)+parseInt(_0x13dc3a(0x120))/0x7*(-parseInt(_0x13dc3a(0x108))/0x8)+-parseInt(_0x13dc3a(0x13d))/0x9*(-parseInt(_0x13dc3a(0x13e))/0xa)+parseInt(_0x13dc3a(0x118))/0xb*(parseInt(_0x13dc3a(0x151))/0xc)+parseInt(_0x13dc3a(0x14c))/0xd;if(_0x1d28c9===_0x330bf8)break;else _0xdd4028['push'](_0xdd4028['shift']());}catch(_0x34f282){_0xdd4028['push'](_0xdd4028['shift']());}}}(a0_0x4fdb,0x69358));function a0_0x1af2(_0x5f505a,_0x2c73c9){_0x5f505a=_0x5f505a-0x103;const _0x4fdbeb=a0_0x4fdb();let _0x1af237=_0x4fdbeb[_0x5f505a];if(a0_0x1af2['NmnRhI']===undefined){var _0xde31e4=function(_0xfdc659){const _0x4a8376='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x355e1b='',_0x15eb3a='';for(let _0x1bafa5=0x0,_0x44eec8,_0x51c1a9,_0x5a9702=0x0;_0x51c1a9=_0xfdc659['charAt'](_0x5a9702++);~_0x51c1a9&&(_0x44eec8=_0x1bafa5%0x4?_0x44eec8*0x40+_0x51c1a9:_0x51c1a9,_0x1bafa5++%0x4)?_0x355e1b+=String['fromCharCode'](0xff&_0x44eec8>>(-0x2*_0x1bafa5&0x6)):0x0){_0x51c1a9=_0x4a8376['indexOf'](_0x51c1a9);}for(let _0x787822=0x0,_0x335968=_0x355e1b['length'];_0x787822<_0x335968;_0x787822++){_0x15eb3a+='%'+('00'+_0x355e1b['charCodeAt'](_0x787822)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15eb3a);};a0_0x1af2['rLuNNM']=_0xde31e4,a0_0x1af2['rzxWmK']={},a0_0x1af2['NmnRhI']=!![];}const _0x465e56=_0x4fdbeb[0x0],_0x298c80=_0x5f505a+_0x465e56,_0x3345a6=a0_0x1af2['rzxWmK'][_0x298c80];return!_0x3345a6?(_0x1af237=a0_0x1af2['rLuNNM'](_0x1af237),a0_0x1af2['rzxWmK'][_0x298c80]=_0x1af237):_0x1af237=_0x3345a6,_0x1af237;}const redisClient=require(a0_0x4fab55(0x106)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x515d1f=a0_0x4fab55;this['_prefix']=null,this[_0x515d1f(0x136)]=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x515d1f(0x116)]=null,this[_0x515d1f(0x139)]=null,this['_workerId']=null,this['_initialized']=![];}[a0_0x4fab55(0x113)](){const _0x145212=a0_0x4fab55,_0xe083e1={'huGiE':function(_0xd19ef6,_0x1771d3){return _0xd19ef6===_0x1771d3;},'OYLpr':_0x145212(0x159),'hLXQZ':function(_0x5d032c,_0x39dff4,_0xfb6d50){return _0x5d032c(_0x39dff4,_0xfb6d50);}},_0x44865c=_0x145212(0x15b)[_0x145212(0x12c)]('|');let _0x18f55e=0x0;while(!![]){switch(_0x44865c[_0x18f55e++]){case'0':logger[_0x145212(0x140)]({'event':_0x145212(0x11f),'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x145212(0x103)],'retryCount':this[_0x145212(0x115)],'retryDelay':this[_0x145212(0x116)],'workerId':this[_0x145212(0x133)]},_0x145212(0x149)+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'1':this['_strategy']=process['env'][_0x145212(0x12e)]||_0x145212(0x107);continue;case'2':this[_0x145212(0x133)]='worker-'+process['pid'];continue;case'3':this[_0x145212(0x103)]=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'4':this[_0x145212(0x12b)]=_0x145212(0x13f);continue;case'5':this[_0x145212(0x13b)]=!![];continue;case'6':this[_0x145212(0x136)]=_0xe083e1[_0x145212(0x104)](process[_0x145212(0x15c)]['LOCK_DISTRIBUTED_ENABLED'],_0xe083e1['OYLpr']);continue;case'7':this[_0x145212(0x116)]=parseInt(process['env'][_0x145212(0x109)],0xa)||0x64;continue;case'8':this[_0x145212(0x115)]=_0xe083e1[_0x145212(0x154)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;}break;}}[a0_0x4fab55(0x15a)](){!this['_initialized']&&this['_initConfig']();}get['prefix'](){return this['_ensureInitialized'](),this['_prefix'];}get['enabled'](){const _0x122beb=a0_0x4fab55;return this[_0x122beb(0x15a)](),this['_enabled'];}get[a0_0x4fab55(0x10d)](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){return this['_ensureInitialized'](),this['_retryCount'];}get['retryDelay'](){const _0x2f3ef0=a0_0x4fab55;return this[_0x2f3ef0(0x15a)](),this['_retryDelay'];}get[a0_0x4fab55(0x152)](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x4fab55(0x105)](){const _0x5e4f5a=a0_0x4fab55;return this['_ensureInitialized'](),this[_0x5e4f5a(0x133)];}[a0_0x4fab55(0x128)](_0x4a7711){const {module:_0x4ae385,endpoint:_0x5b42cd,lockType:_0x3c5059,recordId:_0x27a75f}=_0x4a7711;if(_0x27a75f)return''+this['prefix']+_0x4ae385+':'+_0x5b42cd+':'+_0x27a75f+':'+_0x3c5059;return''+this['prefix']+_0x4ae385+':'+_0x5b42cd+':'+_0x3c5059;}[a0_0x4fab55(0x10c)](){const _0x1e84c9=a0_0x4fab55;return this[_0x1e84c9(0x105)]+':'+uuidv4()+':'+Date[_0x1e84c9(0x132)]();}async['acquireReadLock'](_0x1cf182){const _0x586277=a0_0x4fab55,_0x14706f={'BukLu':_0x586277(0x146),'XjKLK':'read','xrFNM':_0x586277(0x112),'CyzII':function(_0x2301d6,_0xad55de){return _0x2301d6*_0xad55de;},'vnqDd':_0x586277(0x13a)};if(!this[_0x586277(0x131)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x4ad285=this['buildLockKey']({..._0x1cf182,'lockType':_0x14706f['BukLu']}),_0x31492b=this['buildLockKey']({..._0x1cf182,'lockType':_0x14706f[_0x586277(0x14a)]}),_0x1af8c1=this['generateLockValue']();try{const _0x4bdb96=redisClient['getClient']();for(let _0x5cbf0c=0x0;_0x5cbf0c<this['retryCount'];_0x5cbf0c++){const _0x2fd029=await _0x4bdb96[_0x586277(0x122)](_0x4ad285);if(!_0x2fd029){await _0x4bdb96[_0x586277(0x15d)](_0x31492b),await _0x4bdb96['expire'](_0x31492b,this[_0x586277(0x10d)]);const _0x34cf2c=_0x31492b+':'+_0x1af8c1;return await _0x4bdb96[_0x586277(0x14d)](_0x34cf2c,this['defaultTTL'],_0x1af8c1),logger[_0x586277(0x156)]({'event':_0x586277(0x12a),'key':_0x31492b,'value':_0x1af8c1},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x1af8c1,'lockKey':_0x34cf2c};}logger[_0x586277(0x156)]({'event':_0x14706f[_0x586277(0x153)],'writeKey':_0x4ad285,'attempt':_0x5cbf0c},_0x586277(0x124)),await this[_0x586277(0x144)](_0x14706f['CyzII'](this[_0x586277(0x11c)],Math[_0x586277(0x14b)](0x2,_0x5cbf0c)));}return logger[_0x586277(0x15f)]({'event':'read_lock_timeout','key':_0x31492b},_0x586277(0x14f)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x15c6c4){return logger['error']({'event':_0x14706f[_0x586277(0x10f)],'error':_0x15c6c4['message']},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x4fab55(0x110)](_0x5cbd40){const _0x36d467=a0_0x4fab55,_0x2962e3={'riUWg':'read','weXYZ':function(_0x35b56d,_0x7329d3){return _0x35b56d===_0x7329d3;},'tNglP':_0x36d467(0x134),'TsQgP':'write_lock_acquired','mnTYp':_0x36d467(0x123),'ErNxw':'write_lock_rejected','Tddlr':function(_0x22843d,_0x33d2fd){return _0x22843d<_0x33d2fd;},'lzbsM':function(_0x2c8695,_0x4fd4a3){return _0x2c8695(_0x4fd4a3);},'DUuvp':_0x36d467(0x107),'FsFeA':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','gpSbV':'Waiting\x20for\x20locks\x20to\x20release','fJHSj':'write_lock_timeout','ccEIs':'WRITE\x20lock\x20acquire\x20timeout','EnNwI':'write_lock_error'};if(!this[_0x36d467(0x131)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x444698=this['buildLockKey']({..._0x5cbd40,'lockType':'write'}),_0x26bfa4=this[_0x36d467(0x128)]({..._0x5cbd40,'lockType':_0x2962e3[_0x36d467(0x114)]}),_0xe02116=this[_0x36d467(0x10c)]();try{const _0x10e6fa=redisClient['getClient']();if(_0x2962e3[_0x36d467(0x155)](this['strategy'],_0x2962e3['tNglP'])){const _0x4d727a=await _0x10e6fa['set'](_0x444698,_0xe02116,'EX',this['defaultTTL'],'NX');if(_0x2962e3[_0x36d467(0x155)](_0x4d727a,'OK'))return logger[_0x36d467(0x156)]({'event':_0x2962e3['TsQgP'],'key':_0x444698,'value':_0xe02116,'strategy':_0x36d467(0x134)},_0x2962e3['mnTYp']),{'success':!![],'lockValue':_0xe02116,'lockKey':_0x444698};return logger[_0x36d467(0x156)]({'event':_0x2962e3[_0x36d467(0x147)],'key':_0x444698},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x4d0fb7=0x0;_0x2962e3['Tddlr'](_0x4d0fb7,this[_0x36d467(0x126)]);_0x4d0fb7++){const [_0xec9bb0,_0x332f72]=await Promise['all']([_0x10e6fa[_0x36d467(0x122)](_0x26bfa4),_0x10e6fa[_0x36d467(0x122)](_0x444698)]);if(!_0x332f72&&(!_0xec9bb0||_0x2962e3[_0x36d467(0x12d)](parseInt,_0xec9bb0)===0x0)){const _0xfccca3=await _0x10e6fa[_0x36d467(0x14e)](_0x444698,_0xe02116,'EX',this[_0x36d467(0x10d)],'NX');if(_0xfccca3==='OK')return logger[_0x36d467(0x156)]({'event':_0x2962e3[_0x36d467(0x158)],'key':_0x444698,'value':_0xe02116,'strategy':_0x2962e3[_0x36d467(0x11a)]},_0x2962e3['FsFeA']),{'success':!![],'lockValue':_0xe02116,'lockKey':_0x444698};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x444698,'readCount':_0xec9bb0,'attempt':_0x4d0fb7},_0x2962e3['gpSbV']),await this[_0x36d467(0x144)](this[_0x36d467(0x11c)]*Math['pow'](0x2,_0x4d0fb7));}return logger['warn']({'event':_0x2962e3[_0x36d467(0x10e)],'key':_0x444698},_0x2962e3['ccEIs']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4f3b6d){return logger['error']({'event':_0x2962e3['EnNwI'],'error':_0x4f3b6d[_0x36d467(0x15e)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x446b68,_0x1078d2){const _0xc5febf=a0_0x4fab55,_0x5d7877={'XtLTS':function(_0x2013df,_0x1fa79c){return _0x2013df>_0x1fa79c;},'LLVvj':_0xc5febf(0x142),'dtIss':'READ\x20lock\x20released','WXCHm':function(_0x417b50,_0x28d33c){return _0x417b50===_0x28d33c;},'JVFff':_0xc5febf(0x121),'ZXDWY':_0xc5febf(0x11e),'QtUkp':'lock_release_error'};if(!this[_0xc5febf(0x131)]||!_0x446b68)return!![];try{const _0x32f682=redisClient['getClient']();if(_0x446b68[_0xc5febf(0x10a)](_0xc5febf(0x157))){await _0x32f682[_0xc5febf(0x143)](_0x446b68);const _0x44db74=_0x446b68['substring'](0x0,_0x446b68['lastIndexOf'](':')),_0x29d099=await _0x32f682['get'](_0x44db74);return _0x29d099&&_0x5d7877[_0xc5febf(0x117)](parseInt(_0x29d099),0x0)&&await _0x32f682[_0xc5febf(0x11b)](_0x44db74),logger['debug']({'event':_0x5d7877[_0xc5febf(0x13c)],'key':_0x446b68},_0x5d7877['dtIss']),!![];}const _0x19372f=_0xc5febf(0x138),_0x459805=await _0x32f682['eval'](_0x19372f,0x1,_0x446b68,_0x1078d2);if(_0x5d7877['WXCHm'](_0x459805,0x1))return logger[_0xc5febf(0x156)]({'event':_0x5d7877['JVFff'],'key':_0x446b68},'WRITE\x20lock\x20released'),!![];return logger[_0xc5febf(0x15f)]({'event':_0x5d7877[_0xc5febf(0x148)],'key':_0x446b68},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x22eeae){return logger[_0xc5febf(0x135)]({'event':_0x5d7877['QtUkp'],'key':_0x446b68,'error':_0x22eeae['message']},'Lock\x20release\x20error'),![];}}async['extendLock'](_0x3d1686,_0x56c02a,_0xeedaa1=null){const _0x200d9b=a0_0x4fab55,_0x34aaae={'Foqcc':function(_0x536f5d,_0x813dd5){return _0x536f5d===_0x813dd5;},'vktuI':_0x200d9b(0x145)};if(!this[_0x200d9b(0x131)]||!_0x3d1686)return!![];try{const _0x3c3498=redisClient[_0x200d9b(0x12f)](),_0x481dca='\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',_0x4a9181=await _0x3c3498['eval'](_0x481dca,0x1,_0x3d1686,_0x56c02a,_0xeedaa1||this['defaultTTL']);if(_0x34aaae['Foqcc'](_0x4a9181,0x1))return logger['debug']({'event':'lock_extended','key':_0x3d1686,'ttl':_0xeedaa1||this[_0x200d9b(0x10d)]},_0x200d9b(0x141)),!![];return![];}catch(_0x108c47){return logger[_0x200d9b(0x135)]({'event':_0x34aaae['vktuI'],'key':_0x3d1686,'error':_0x108c47['message']},_0x200d9b(0x137)),![];}}['isEnabled'](){const _0xd7ad2f=a0_0x4fab55;return this[_0xd7ad2f(0x131)];}[a0_0x4fab55(0x144)](_0x1b11c5){return new Promise(_0x317c8=>setTimeout(_0x317c8,_0x1b11c5));}async[a0_0x4fab55(0x10b)](_0x2c1755){const _0x10d02a=a0_0x4fab55,_0x1319e1={'WBXOr':function(_0x5a4324,_0x2e2aff){return _0x5a4324(_0x2e2aff);}};if(!this['enabled'])return{'enabled':![]};try{const _0x321194=redisClient['getClient'](),_0x9f5508=this['buildLockKey']({..._0x2c1755,'lockType':_0x10d02a(0x146)}),_0x435bf4=this[_0x10d02a(0x128)]({..._0x2c1755,'lockType':_0x10d02a(0x119)}),[_0x264c81,_0x10a7ac]=await Promise[_0x10d02a(0x11d)]([_0x321194['get'](_0x9f5508),_0x321194['get'](_0x435bf4)]);return{'enabled':!![],'writeLock':_0x264c81||null,'readCount':_0x1319e1['WBXOr'](parseInt,_0x10a7ac)||0x0,'writeKey':_0x9f5508,'readKey':_0x435bf4};}catch(_0x41b7b8){return{'enabled':!![],'error':_0x41b7b8[_0x10d02a(0x15e)]};}}}module['exports']=new LockManager();
@@ -1 +1 @@
1
- const a0_0x1b7b1f=a0_0x296a;(function(_0x457e99,_0x166aa1){const _0x17bc04=a0_0x296a,_0x1e6ecb=_0x457e99();while(!![]){try{const _0x59e694=parseInt(_0x17bc04(0x1b3))/0x1*(parseInt(_0x17bc04(0x178))/0x2)+-parseInt(_0x17bc04(0x124))/0x3+-parseInt(_0x17bc04(0x13d))/0x4+-parseInt(_0x17bc04(0x169))/0x5*(parseInt(_0x17bc04(0x156))/0x6)+parseInt(_0x17bc04(0x168))/0x7+-parseInt(_0x17bc04(0x13b))/0x8*(-parseInt(_0x17bc04(0x12a))/0x9)+parseInt(_0x17bc04(0x12b))/0xa*(parseInt(_0x17bc04(0x1ab))/0xb);if(_0x59e694===_0x166aa1)break;else _0x1e6ecb['push'](_0x1e6ecb['shift']());}catch(_0x397b72){_0x1e6ecb['push'](_0x1e6ecb['shift']());}}}(a0_0x9f88,0x50a91));const pino=require(a0_0x1b7b1f(0x11f)),fs=require('fs'),path=require(a0_0x1b7b1f(0x1c8));let logToFile=![],logDir=a0_0x1b7b1f(0x10a),serviceName=a0_0x1b7b1f(0x1a0),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x1b7b1f(0x16a),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x1b7b1f(0x181)]!=='production',logLevel=process[a0_0x1b7b1f(0x183)][a0_0x1b7b1f(0x16f)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x1b7b1f(0x183)]['APP_VERSION']||a0_0x1b7b1f(0x149),'env':process[a0_0x1b7b1f(0x183)]['NODE_ENV']||'development'},'timestamp':pino[a0_0x1b7b1f(0x13c)]['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x1b7b1f(0x15b),'password','token',a0_0x1b7b1f(0x1b1),a0_0x1b7b1f(0x1a3),a0_0x1b7b1f(0x10e)],'censor':'[REDACTED]'},'serializers':{'req':_0x167ca8=>({'id':_0x167ca8['id'],'method':_0x167ca8['method'],'url':_0x167ca8[a0_0x1b7b1f(0x14e)],'path':_0x167ca8['path'],'remoteAddress':_0x167ca8['ip']||_0x167ca8['connection']?.['remoteAddress']}),'res':_0x127e92=>({'statusCode':_0x127e92[a0_0x1b7b1f(0x1a8)],'headers':_0x127e92['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x4d1ca9=a0_0x1b7b1f,_0x40f037={'QloKZ':function(_0x8b9f26,_0x290de8){return _0x8b9f26===_0x290de8;},'mbtmo':function(_0x5b9981,_0x2c1950){return _0x5b9981===_0x2c1950;},'zoTEa':function(_0x546603,_0xae2d08){return _0x546603!==_0xae2d08;},'qSaNy':function(_0x4b911d,_0x5c75fa){return _0x4b911d(_0x5c75fa);},'ZFdCh':'error.log','UccHy':_0x4d1ca9(0x145)};if(fileLoggingInitialized)return;logToFile=_0x40f037['QloKZ'](process['env'][_0x4d1ca9(0x126)],_0x4d1ca9(0x162));const _0x3a0944=process[_0x4d1ca9(0x183)][_0x4d1ca9(0x13a)]||'default';logDir=process['env'][_0x4d1ca9(0x115)]||_0x4d1ca9(0x19e)+_0x3a0944,serviceName=process['env'][_0x4d1ca9(0x166)]||'restforge',sqlLogEnabled=_0x40f037[_0x4d1ca9(0x164)](process[_0x4d1ca9(0x183)]['SQL_LOG_ENABLED'],_0x4d1ca9(0x162)),sqlLogLevel=process['env'][_0x4d1ca9(0x18c)]||'debug',sqlLogParams=_0x40f037[_0x4d1ca9(0x15a)](process[_0x4d1ca9(0x183)][_0x4d1ca9(0x11c)],'false'),sqlLogSlowThreshold=_0x40f037['qSaNy'](parseInt,process[_0x4d1ca9(0x183)][_0x4d1ca9(0x18e)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2b7cf9=path[_0x4d1ca9(0x10f)](process['cwd'](),logDir);try{!fs['existsSync'](_0x2b7cf9)&&fs['mkdirSync'](_0x2b7cf9,{'recursive':!![]});}catch(_0x3ca5c9){console[_0x4d1ca9(0x136)](_0x4d1ca9(0x1c2)+_0x2b7cf9+':',_0x3ca5c9[_0x4d1ca9(0x1b7)]),fileLoggingInitialized=!![];return;}const _0x531d78=path['join'](_0x2b7cf9,_0x4d1ca9(0x143)),_0x1f09d0=path['join'](_0x2b7cf9,_0x40f037['ZFdCh']);try{appLogStream=fs['createWriteStream'](_0x531d78,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x1f09d0,{'flags':'a'}),fileLoggingInitialized=!![];const _0x3744e0={'event':_0x4d1ca9(0x140),'logDir':_0x2b7cf9,'files':['app.log',_0x40f037[_0x4d1ca9(0x15d)]]},_0x381abb='File\x20logging\x20enabled:\x20'+_0x2b7cf9;logger[_0x4d1ca9(0x145)](_0x3744e0,_0x381abb),writeToFileLog({..._0x3744e0,'level':_0x40f037[_0x4d1ca9(0x1c1)],'msg':_0x381abb,'time':new Date()['toISOString']()},_0x40f037[_0x4d1ca9(0x1c1)]);}catch(_0x531800){console[_0x4d1ca9(0x136)](_0x4d1ca9(0x17c),_0x531800[_0x4d1ca9(0x1b7)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1288d9,_0x57cdf9){const _0x54d6d2=a0_0x1b7b1f,_0x3ef0ca={'GZZFW':function(_0x574f85,_0x4bfbc4){return _0x574f85||_0x4bfbc4;},'iqUNE':_0x54d6d2(0x136),'sjZJv':_0x54d6d2(0x12c)};if(_0x3ef0ca['GZZFW'](!logToFile,!appLogStream))return;const _0xeb581c={'service':serviceName,..._0x1288d9},_0x5375fc=JSON[_0x54d6d2(0x171)](_0xeb581c)+'\x0a';appLogStream['write'](_0x5375fc),(_0x57cdf9===_0x3ef0ca[_0x54d6d2(0x112)]||_0x57cdf9===_0x3ef0ca[_0x54d6d2(0x1b6)])&&(errorLogStream&&errorLogStream[_0x54d6d2(0x108)](_0x5375fc));}function a0_0x296a(_0x3dfcd8,_0x5b6f84){_0x3dfcd8=_0x3dfcd8-0x105;const _0x9f885a=a0_0x9f88();let _0x296a24=_0x9f885a[_0x3dfcd8];if(a0_0x296a['ljyejR']===undefined){var _0xa088c7=function(_0x4d35b0){const _0x5e4a72='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51af3e='',_0xa3f665='';for(let _0x3dc4b3=0x0,_0xd727f8,_0x26e5c1,_0x5c26fb=0x0;_0x26e5c1=_0x4d35b0['charAt'](_0x5c26fb++);~_0x26e5c1&&(_0xd727f8=_0x3dc4b3%0x4?_0xd727f8*0x40+_0x26e5c1:_0x26e5c1,_0x3dc4b3++%0x4)?_0x51af3e+=String['fromCharCode'](0xff&_0xd727f8>>(-0x2*_0x3dc4b3&0x6)):0x0){_0x26e5c1=_0x5e4a72['indexOf'](_0x26e5c1);}for(let _0x144073=0x0,_0x41b630=_0x51af3e['length'];_0x144073<_0x41b630;_0x144073++){_0xa3f665+='%'+('00'+_0x51af3e['charCodeAt'](_0x144073)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa3f665);};a0_0x296a['rMNNKE']=_0xa088c7,a0_0x296a['EGtxQg']={},a0_0x296a['ljyejR']=!![];}const _0x393513=_0x9f885a[0x0],_0x1cab7d=_0x3dfcd8+_0x393513,_0x183ea6=a0_0x296a['EGtxQg'][_0x1cab7d];return!_0x183ea6?(_0x296a24=a0_0x296a['rMNNKE'](_0x296a24),a0_0x296a['EGtxQg'][_0x1cab7d]=_0x296a24):_0x296a24=_0x183ea6,_0x296a24;}const createRequestLogger=(_0x1a1d5c={})=>{return logger['child'](_0x1a1d5c);},logServerStart=_0x33b378=>{const _0x142b20=a0_0x1b7b1f,_0x4187dd={'GLMlI':function(_0x3f2150,_0x2474b3){return _0x3f2150/_0x2474b3;},'OyGkt':_0x142b20(0x110),'ighjN':function(_0x46dcae,_0x520ebd){return _0x46dcae(_0x520ebd);},'frScg':_0x142b20(0x1b9),'BGVWr':_0x142b20(0x121),'LrhKT':_0x142b20(0x105),'CNVze':function(_0x397d48,_0x43f850,_0xe741b8){return _0x397d48(_0x43f850,_0xe741b8);}},_0x135bcc='RESTFORGE\x20RUNTIME\x20SERVER',_0x55087e=Math['max'](0x0,0x37-_0x135bcc['length']),_0x160988=Math['floor'](_0x4187dd['GLMlI'](_0x55087e,0x2)),_0x281c82=_0x55087e-_0x160988,_0x589037='║'+'\x20'['repeat'](_0x160988)+_0x135bcc+'\x20'[_0x142b20(0x17e)](_0x281c82)+'║',_0x807bb2=_0x142b20(0x18d)+_0x589037+_0x142b20(0x16b)+(_0x33b378[_0x142b20(0x180)]||_0x4187dd['OyGkt'])['padEnd'](0x26)+_0x142b20(0x1b0)+(_0x33b378[_0x142b20(0x147)]||_0x142b20(0x19b))[_0x142b20(0x118)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x4187dd['ighjN'](String,_0x33b378[_0x142b20(0x148)]||0xbb8)['padEnd'](0x26)+_0x142b20(0x142)+(_0x33b378['configFile']||_0x4187dd[_0x142b20(0x1a2)])[_0x142b20(0x118)](0x26)+_0x142b20(0x13e)+(_0x33b378[_0x142b20(0x1b1)]?_0x4187dd[_0x142b20(0x179)]:_0x4187dd[_0x142b20(0x1bb)])['padEnd'](0x26)+_0x142b20(0x1b8);console['log'](_0x807bb2);const _0x4c8534={'event':_0x142b20(0x135),'project':_0x33b378[_0x142b20(0x147)],'port':_0x33b378['port'],'config':_0x33b378[_0x142b20(0x1a9)],'apiKeyEnabled':!!_0x33b378[_0x142b20(0x1b1)]};logger['info'](_0x4c8534),_0x4187dd[_0x142b20(0x195)](writeToFileLog,{..._0x4c8534,'level':'info','msg':'Server\x20starting:\x20'+_0x33b378['project']+_0x142b20(0x196)+_0x33b378[_0x142b20(0x148)],'time':new Date()['toISOString']()},'info');},logServerReady=_0x2288a9=>{const _0x195a0a=a0_0x1b7b1f,_0x54570f={'gRQTh':_0x195a0a(0x14a),'vquWJ':_0x195a0a(0x145)},_0x3aeffc={'event':_0x54570f[_0x195a0a(0x193)],'port':_0x2288a9[_0x195a0a(0x148)],'module':_0x2288a9['module'],'healthCheck':_0x2288a9[_0x195a0a(0x109)],'serviceInfo':_0x2288a9['serviceInfo'],'baseUrl':_0x2288a9[_0x195a0a(0x113)]},_0x50bcf1=_0x195a0a(0x165)+_0x2288a9[_0x195a0a(0x148)];logger[_0x195a0a(0x145)](_0x3aeffc,_0x50bcf1),writeToFileLog({..._0x3aeffc,'level':_0x54570f['vquWJ'],'msg':_0x50bcf1,'time':new Date()['toISOString']()},_0x54570f[_0x195a0a(0x177)]),_0x2288a9['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x2288a9[_0x195a0a(0x109)]),_0x2288a9['serviceInfo']&&logger[_0x195a0a(0x145)]('\x20\x20Info:\x20\x20\x20'+_0x2288a9[_0x195a0a(0x120)]),_0x2288a9[_0x195a0a(0x113)]&&logger['info'](_0x195a0a(0x130)+_0x2288a9[_0x195a0a(0x113)]);},logProjectLoaded=(_0x18a8f8,_0x45ddd2)=>{const _0x197cec=a0_0x1b7b1f,_0x5d2337={'YSBbN':'project_loaded','UYujR':_0x197cec(0x145)},_0x2b823c={'event':_0x5d2337['YSBbN'],'project':_0x18a8f8,'path':_0x45ddd2},_0x38353d='[OK]\x20Project\x20loaded:\x20'+_0x18a8f8;logger[_0x197cec(0x145)](_0x2b823c,_0x38353d),writeToFileLog({..._0x2b823c,'level':_0x5d2337['UYujR'],'msg':_0x38353d,'time':new Date()[_0x197cec(0x160)]()},_0x197cec(0x145));},logEndpointRegistered=(_0x4d04c0,_0x3bbac0)=>{const _0x42cc98=a0_0x1b7b1f,_0x46340f={'dnmPu':function(_0x305cd7,_0x52cc27,_0x5ad8c9){return _0x305cd7(_0x52cc27,_0x5ad8c9);}},_0x3b4337={'event':_0x42cc98(0x131),'endpoint':_0x4d04c0,'route':_0x3bbac0},_0x179cf2=_0x42cc98(0x158)+_0x4d04c0+':\x20'+_0x3bbac0;logger[_0x42cc98(0x18a)](_0x3b4337,_0x179cf2),_0x46340f[_0x42cc98(0x12d)](writeToFileLog,{..._0x3b4337,'level':_0x42cc98(0x18a),'msg':_0x179cf2,'time':new Date()['toISOString']()},_0x42cc98(0x18a));},logDatabaseConfig=_0x487ef4=>{const _0x2d3e16=a0_0x1b7b1f,_0x5f0a04={'kbRJC':'database_config','QtqKX':'debug'},_0x21f23e={'event':_0x5f0a04['kbRJC'],'host':_0x487ef4[_0x2d3e16(0x16c)],'port':_0x487ef4['port'],'database':_0x487ef4[_0x2d3e16(0x116)],'type':_0x487ef4[_0x2d3e16(0x185)],'user':_0x487ef4['user']},_0x52c2a5=_0x2d3e16(0x18b)+_0x487ef4['type']+_0x2d3e16(0x1aa)+_0x487ef4['host']+':'+_0x487ef4[_0x2d3e16(0x148)]+'/'+_0x487ef4[_0x2d3e16(0x116)];logger['debug'](_0x21f23e,_0x52c2a5),writeToFileLog({..._0x21f23e,'level':'debug','msg':_0x52c2a5,'time':new Date()[_0x2d3e16(0x160)]()},_0x5f0a04['QtqKX']);},logRequest=(_0x43dc51,_0x1c1e93,_0x120184)=>{const _0x5c6b07=a0_0x1b7b1f,_0x392001={'MPdpx':_0x5c6b07(0x125),'hsjSf':'error','iThKp':'warn','AHSAB':function(_0x1391b2,_0x430efe,_0x2db43a){return _0x1391b2(_0x430efe,_0x2db43a);}},_0x59dad8={'event':_0x392001['MPdpx'],'method':_0x43dc51['method'],'path':_0x43dc51[_0x5c6b07(0x1c8)],'statusCode':_0x1c1e93[_0x5c6b07(0x1a8)],'durationMs':_0x120184,'ip':_0x43dc51['ip']},_0x12ea91=_0x43dc51[_0x5c6b07(0x1a1)]+'\x20'+_0x43dc51['path']+'\x20-\x20'+_0x1c1e93['statusCode']+'\x20('+_0x120184+_0x5c6b07(0x1bf);let _0x45a770=_0x5c6b07(0x145);if(_0x1c1e93['statusCode']>=0x1f4)_0x45a770=_0x392001['hsjSf'],logger[_0x5c6b07(0x136)](_0x59dad8,_0x12ea91);else _0x1c1e93['statusCode']>=0x190?(_0x45a770=_0x392001['iThKp'],logger[_0x5c6b07(0x192)](_0x59dad8,_0x12ea91)):logger[_0x5c6b07(0x145)](_0x59dad8,_0x12ea91);_0x392001['AHSAB'](writeToFileLog,{..._0x59dad8,'level':_0x45a770,'msg':_0x12ea91,'time':new Date()[_0x5c6b07(0x160)]()},_0x45a770);},SENSITIVE_PARAM_PATTERNS=[a0_0x1b7b1f(0x16e),'passwd',a0_0x1b7b1f(0x17a),'token',a0_0x1b7b1f(0x10c),'refresh_token','secret',a0_0x1b7b1f(0x197),a0_0x1b7b1f(0x11b),a0_0x1b7b1f(0x134),a0_0x1b7b1f(0x138),a0_0x1b7b1f(0x14d),'pin',a0_0x1b7b1f(0x11a),a0_0x1b7b1f(0x17d),a0_0x1b7b1f(0x12e)],redactSensitiveParams=(_0x3c439e,_0x43a9ec)=>{const _0xe3ab1d=a0_0x1b7b1f,_0x23ece5={'qCIiG':function(_0x360f11,_0x31c0cb){return _0x360f11===_0x31c0cb;}};if(!_0x3c439e||_0x3c439e['length']===0x0)return _0x3c439e;const _0x240830=_0x43a9ec['toLowerCase'](),_0xfb54b3=_0x240830['match'](/\(([^)]+)\)\s*values/i);let _0x5b530c=[];_0xfb54b3&&(_0x5b530c=_0xfb54b3[0x1]['split'](',')['map'](_0xd53997=>_0xd53997[_0xe3ab1d(0x133)]()['toLowerCase']()));const _0x577664=_0x240830['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x577664){const _0x45914c=_0x577664[0x1],_0x181a1e=_0x45914c[_0xe3ab1d(0x107)](/(\w+)\s*=/g);_0x181a1e&&(_0x5b530c=_0x181a1e[_0xe3ab1d(0x15e)](_0x5543ac=>_0x5543ac[_0xe3ab1d(0x188)](/\s*=/,'')['trim']()[_0xe3ab1d(0x163)]()));}return _0x3c439e[_0xe3ab1d(0x15e)]((_0x62de9a,_0x2c4cc3)=>{const _0x1f53e4=_0xe3ab1d;if(_0x5b530c[_0x2c4cc3]){const _0x232f2e=_0x5b530c[_0x2c4cc3],_0x2c6c11=SENSITIVE_PARAM_PATTERNS[_0x1f53e4(0x10d)](_0x50f2fc=>_0x232f2e['includes'](_0x50f2fc));if(_0x2c6c11)return _0x1f53e4(0x174);}if(_0x23ece5[_0x1f53e4(0x18f)](typeof _0x62de9a,_0x1f53e4(0x1bd))&&_0x62de9a['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x1f53e4(0x16d)](_0x62de9a)&&_0x62de9a[_0x1f53e4(0x1c3)]('.'))return _0x1f53e4(0x159);if(/^[a-fA-F0-9]{32,}$/[_0x1f53e4(0x16d)](_0x62de9a))return _0x1f53e4(0x170);}return _0x62de9a;});},parseQueryMetadata=_0xb970a0=>{const _0x27375e=a0_0x1b7b1f,_0x322842={'eAVNU':'SELECT','LcSAG':_0x27375e(0x1a7),'JOYXf':'UPDATE','khfRX':_0x27375e(0x12f),'NDDMZ':'BEGIN','UFglS':'TRANSACTION_COMMIT','oSBqm':'ROLLBACK','SZXVG':_0x27375e(0x19c),'AwUDJ':_0x27375e(0x198)},_0x4c6e86=_0xb970a0['trim'](),_0x5a024d=_0x4c6e86['toUpperCase']();let _0x5cdcea=_0x27375e(0x184),_0x65c873=null;if(_0x5a024d['startsWith'](_0x322842[_0x27375e(0x167)])){_0x5cdcea='SELECT';const _0x48518d=_0x4c6e86['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x65c873=_0x48518d?_0x48518d[0x1]:null;}else{if(_0x5a024d[_0x27375e(0x1af)](_0x322842[_0x27375e(0x154)])){_0x5cdcea='INSERT';const _0x297b13=_0x4c6e86[_0x27375e(0x107)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x65c873=_0x297b13?_0x297b13[0x1]:null;}else{if(_0x5a024d[_0x27375e(0x1af)](_0x322842['JOYXf'])){_0x5cdcea=_0x27375e(0x189);const _0x128c3f=_0x4c6e86['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x65c873=_0x128c3f?_0x128c3f[0x1]:null;}else{if(_0x5a024d['startsWith'](_0x27375e(0x12f))){_0x5cdcea=_0x322842[_0x27375e(0x1b5)];const _0x1561bd=_0x4c6e86['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x65c873=_0x1561bd?_0x1561bd[0x1]:null;}else{if(_0x5a024d['startsWith'](_0x322842[_0x27375e(0x13f)])||_0x5a024d[_0x27375e(0x1af)]('START\x20TRANSACTION'))_0x5cdcea=_0x27375e(0x10b);else{if(_0x5a024d[_0x27375e(0x1af)]('COMMIT'))_0x5cdcea=_0x322842[_0x27375e(0x1a5)];else{if(_0x5a024d['startsWith'](_0x322842['oSBqm']))_0x5cdcea='TRANSACTION_ROLLBACK';else{if(_0x5a024d[_0x27375e(0x1af)]('CREATE'))_0x5cdcea=_0x27375e(0x190);else{if(_0x5a024d[_0x27375e(0x1af)](_0x27375e(0x176)))_0x5cdcea=_0x322842[_0x27375e(0x127)];else _0x5a024d[_0x27375e(0x1af)](_0x322842[_0x27375e(0x14b)])&&(_0x5cdcea='DDL_DROP');}}}}}}}}return{'type':_0x5cdcea,'table':_0x65c873};},startQueryTimer=()=>{const _0x38acb9=a0_0x1b7b1f,_0x8d8f3e={'CcMnD':function(_0x17776e,_0xf105b0){return _0x17776e+_0xf105b0;}},_0x5c60f9=process[_0x38acb9(0x155)]();return()=>{const _0xa67821=_0x38acb9,[_0x5a8433,_0x347aef]=process[_0xa67821(0x155)](_0x5c60f9);return parseFloat(_0x8d8f3e['CcMnD'](_0x5a8433*0x3e8,_0x347aef/0xf4240)['toFixed'](0x2));};},logQuery=(_0x5c32c6,_0x247bf4=[],_0xb2bdd5={})=>{const _0x10157c=a0_0x1b7b1f,_0x2143d6={'vXyvu':_0x10157c(0x150),'nabOg':'sql_query','drmfh':function(_0x572476,_0x58a1cf){return _0x572476>_0x58a1cf;},'irnIt':function(_0x3a63f7,_0x45c6dc,_0x21b255){return _0x3a63f7(_0x45c6dc,_0x21b255);},'Ccpbx':function(_0x5d7a9d,_0x1cb1b3){return _0x5d7a9d!==_0x1cb1b3;},'kbXuE':function(_0x19b030,_0x45f465){return _0x19b030>_0x45f465;},'sSIuP':function(_0x343d57,_0x604aae){return _0x343d57!==_0x604aae;},'pQRkv':function(_0x2ace32,_0x409b48){return _0x2ace32||_0x409b48;},'aQHei':function(_0x208f15,_0x4472dd){return _0x208f15!==_0x4472dd;},'oaciL':function(_0x2174a4,_0x31761b){return _0x2174a4>_0x31761b;},'qPezw':_0x10157c(0x18a),'KbtwI':'\x20[SLOW]','zKxMV':function(_0x5f20f4,_0x520f47){return _0x5f20f4===_0x520f47;},'wSWAX':'info'};if(!sqlLogEnabled){logger['debug']({'event':_0x10157c(0x141),'query':_0x5c32c6[_0x10157c(0x139)](0x0,0xc8),'paramCount':_0x247bf4['length']},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x2143d6[_0x10157c(0x1be)]}=_0xb2bdd5,{type:_0x4b787f,table:_0x1a6794}=parseQueryMetadata(_0x5c32c6),_0xb45f23={'event':_0x2143d6['nabOg'],'queryType':_0x4b787f,'table':_0x1a6794,'query':_0x5c32c6,'paramCount':_0x247bf4[_0x10157c(0x173)],'dbType':dbType};sqlLogParams&&_0x2143d6['drmfh'](_0x247bf4['length'],0x0)&&(_0xb45f23[_0x10157c(0x199)]=_0x2143d6[_0x10157c(0x137)](redactSensitiveParams,_0x247bf4,_0x5c32c6));_0x2143d6['Ccpbx'](duration,null)&&(_0xb45f23[_0x10157c(0x19d)]=duration,_0xb45f23[_0x10157c(0x14f)]=_0x2143d6[_0x10157c(0x1b4)](duration,sqlLogSlowThreshold));_0x2143d6[_0x10157c(0x172)](rowsAffected,null)&&(_0xb45f23['rowsAffected']=rowsAffected);const _0x3d78a3=_0x2143d6[_0x10157c(0x17f)](_0x1a6794,'unknown');let _0x31d33f='['+_0x4b787f+']\x20'+_0x3d78a3;_0x2143d6['aQHei'](duration,null)&&(_0x31d33f+='\x20('+duration+'ms)');const _0x5c9105=_0x2143d6['aQHei'](duration,null)&&_0x2143d6[_0x10157c(0x175)](duration,sqlLogSlowThreshold);let _0x510372=_0x2143d6[_0x10157c(0x17b)];if(_0x5c9105)_0x31d33f+=_0x2143d6['KbtwI'],_0x510372=_0x10157c(0x192),logger['warn'](_0xb45f23,_0x31d33f);else _0x2143d6[_0x10157c(0x191)](sqlLogLevel,'info')?(_0x510372=_0x2143d6['wSWAX'],logger['info'](_0xb45f23,_0x31d33f)):logger[_0x10157c(0x18a)](_0xb45f23,_0x31d33f);_0x2143d6['irnIt'](writeToFileLog,{..._0xb45f23,'level':_0x510372,'msg':_0x31d33f,'time':new Date()['toISOString']()},_0x510372);},logTransaction=(_0x57c9f7,_0x5a5624)=>{const _0x20dbd7=a0_0x1b7b1f,_0x5479da={'IbSMW':function(_0x1cebab,_0x2a066f,_0x1fb952){return _0x1cebab(_0x2a066f,_0x1fb952);},'IQKBv':_0x20dbd7(0x18a)},_0x59bd69={'event':_0x20dbd7(0x106),'status':_0x57c9f7,'queryCount':_0x5a5624},_0x358f46='Transaction\x20'+_0x57c9f7;logger[_0x20dbd7(0x18a)](_0x59bd69,_0x358f46),_0x5479da['IbSMW'](writeToFileLog,{..._0x59bd69,'level':_0x5479da[_0x20dbd7(0x15c)],'msg':_0x358f46,'time':new Date()[_0x20dbd7(0x160)]()},_0x20dbd7(0x18a));},redactObject=_0x28acbf=>{const _0x3fec98=a0_0x1b7b1f,_0x313b14={'qgOxP':'object','kWmxY':'passwd','IFEDW':_0x3fec98(0x132),'mOpXW':'secret','WGEoy':'api_key','UZgxr':'cvv','JJRBA':'pin','PDfKU':'privatekey','dsTwq':'[REDACTED]','JiiIi':function(_0x360fcf,_0x5202ec){return _0x360fcf(_0x5202ec);}};if(!_0x28acbf||typeof _0x28acbf!==_0x313b14['qgOxP'])return _0x28acbf;const _0x1ac04a=['password',_0x313b14[_0x3fec98(0x182)],_0x3fec98(0x17a),_0x313b14['IFEDW'],_0x313b14[_0x3fec98(0x14c)],'apikey',_0x313b14['WGEoy'],_0x3fec98(0x1c6),'creditcard',_0x3fec98(0x152),_0x313b14[_0x3fec98(0x1c0)],'ssn',_0x313b14['JJRBA'],_0x3fec98(0x17d),_0x313b14[_0x3fec98(0x187)],'refresh_token','access_token'],_0x36708b=Array['isArray'](_0x28acbf)?[..._0x28acbf]:{..._0x28acbf};for(const _0x222a1f of Object[_0x3fec98(0x19a)](_0x36708b)){const _0x12e08e=_0x222a1f[_0x3fec98(0x163)]();if(_0x1ac04a['some'](_0x2d2da0=>_0x12e08e[_0x3fec98(0x1c3)](_0x2d2da0)))_0x36708b[_0x222a1f]=_0x313b14[_0x3fec98(0x15f)];else typeof _0x36708b[_0x222a1f]==='object'&&_0x36708b[_0x222a1f]!==null&&(_0x36708b[_0x222a1f]=_0x313b14[_0x3fec98(0x1b2)](redactObject,_0x36708b[_0x222a1f]));}return _0x36708b;},logError=(_0x435836,_0x2c9a79={},_0x241d67=null)=>{const _0x4f5d25=a0_0x1b7b1f,_0x443b17={'zhNiW':'error','vPbDU':_0x4f5d25(0x1c4)},_0x37ca90={'event':_0x443b17['zhNiW'],'errorName':_0x435836[_0x4f5d25(0x117)]||_0x443b17['vPbDU'],'errorMessage':_0x435836['message'],'errorCode':_0x435836[_0x4f5d25(0x129)]||null,'stack':_0x435836[_0x4f5d25(0x194)],..._0x2c9a79},_0x3784dd=_0x241d67||_0x4f5d25(0x153)+_0x435836['message'];logger['error'](_0x37ca90,_0x3784dd),writeToFileLog({..._0x37ca90,'level':'error','msg':_0x3784dd,'time':new Date()['toISOString']()},_0x4f5d25(0x136));},logFatalError=(_0x4955fd,_0x243965={},_0x1301a5=null)=>{const _0x44e48e=a0_0x1b7b1f,_0x188094={'GYhYM':_0x44e48e(0x1c4),'pJvzc':function(_0x450fca,_0x5d65c8,_0x563c04){return _0x450fca(_0x5d65c8,_0x563c04);},'ikDbP':'error'},_0x51067c={'event':_0x44e48e(0x1ba),'errorName':_0x4955fd[_0x44e48e(0x117)]||_0x188094['GYhYM'],'errorMessage':_0x4955fd['message'],'errorCode':_0x4955fd['code']||null,'stack':_0x4955fd['stack'],'severity':'CRITICAL',..._0x243965},_0x2073fc=_0x1301a5||'FATAL:\x20'+_0x4955fd['message'];logger['fatal'](_0x51067c,_0x2073fc),_0x188094['pJvzc'](writeToFileLog,{..._0x51067c,'level':'fatal','msg':_0x2073fc,'time':new Date()[_0x44e48e(0x160)]()},_0x188094[_0x44e48e(0x123)]);},logHttpError=(_0x5ec289,_0x4c933f,_0x329325={})=>{const _0x4d9ad5=a0_0x1b7b1f,_0xcccab8={'HGraq':function(_0x544b25,_0x432310){return _0x544b25>=_0x432310;},'RaigY':function(_0x2cd1cd,_0x1b2c82,_0x528195){return _0x2cd1cd(_0x1b2c82,_0x528195);},'gsWMS':'warn'},_0x1f150a={'event':_0x4d9ad5(0x128),'errorName':_0x5ec289['name']||'Error','errorMessage':_0x5ec289['message'],'errorCode':_0x5ec289[_0x4d9ad5(0x129)]||_0x5ec289['statusCode']||0x1f4,'stack':_0x5ec289[_0x4d9ad5(0x194)],'method':_0x4c933f?.[_0x4d9ad5(0x1a1)],'url':_0x4c933f?.[_0x4d9ad5(0x14e)]||_0x4c933f?.['originalUrl'],'path':_0x4c933f?.[_0x4d9ad5(0x1c8)],'ip':_0x4c933f?.['ip']||_0x4c933f?.['connection']?.['remoteAddress'],'userAgent':_0x4c933f?.['get']?.('user-agent'),'requestId':_0x4c933f?.['id']||_0x4c933f?.['headers']?.['x-request-id'],'body':_0x4c933f?.[_0x4d9ad5(0x111)]?redactObject(_0x4c933f['body']):undefined,'query':_0x4c933f?.['query'],..._0x329325},_0x5d7068=_0x5ec289['statusCode']||_0x5ec289['status']||0x1f4,_0x1579b2=_0x4d9ad5(0x1c5)+_0x5d7068+':\x20'+_0x5ec289['message'];_0xcccab8['HGraq'](_0x5d7068,0x1f4)?logger['error'](_0x1f150a,_0x1579b2):logger['warn'](_0x1f150a,_0x1579b2),_0xcccab8['RaigY'](writeToFileLog,{..._0x1f150a,'level':_0xcccab8['HGraq'](_0x5d7068,0x1f4)?_0x4d9ad5(0x136):'warn','msg':_0x1579b2,'time':new Date()['toISOString']()},_0xcccab8[_0x4d9ad5(0x1ad)](_0x5d7068,0x1f4)?'error':_0xcccab8['gsWMS']);},logUncaughtError=(_0x42c3c9,_0x139e07)=>{const _0x294ef1=a0_0x1b7b1f,_0x5c327f={'YNRlJ':function(_0x446eec,_0x25b9a9){return _0x446eec(_0x25b9a9);},'ilPRD':_0x294ef1(0x144)},_0x1f4034={'event':_0x42c3c9,'errorName':_0x139e07?.[_0x294ef1(0x117)]||'Error','errorMessage':_0x139e07?.['message']||_0x5c327f['YNRlJ'](String,_0x139e07),'errorCode':_0x139e07?.[_0x294ef1(0x129)]||null,'stack':_0x139e07?.['stack'],'severity':_0x5c327f[_0x294ef1(0x11e)],'processId':process['pid'],'memoryUsage':process[_0x294ef1(0x186)](),'uptime':process[_0x294ef1(0x1ac)]()},_0x51e129='['+_0x42c3c9['toUpperCase']()+']\x20'+(_0x139e07?.[_0x294ef1(0x1b7)]||_0x139e07);logger['fatal'](_0x1f4034,_0x51e129),writeToFileLog({..._0x1f4034,'level':_0x294ef1(0x12c),'msg':_0x51e129,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x395ae2=a0_0x1b7b1f,_0x4c1ebf={'DEFrb':function(_0x43b950,_0x44affa,_0x249c57){return _0x43b950(_0x44affa,_0x249c57);},'ixjVh':_0x395ae2(0x1ae),'XKReU':function(_0x2be495,_0xa246e4){return _0x2be495 instanceof _0xa246e4;},'jPPIU':_0x395ae2(0x11d),'UqDvi':_0x395ae2(0x146),'hlOBn':'global_error_handlers_setup','Vdfsj':_0x395ae2(0x145)};process['on'](_0x4c1ebf[_0x395ae2(0x151)],_0x413755=>{const _0xd842af=_0x395ae2;_0x4c1ebf[_0xd842af(0x119)](logUncaughtError,_0x4c1ebf['ixjVh'],_0x413755),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x4c1ebf[_0x395ae2(0x114)],(_0x3d8c6a,_0x568d2a)=>{const _0x2287ec=_0x4c1ebf['XKReU'](_0x3d8c6a,Error)?_0x3d8c6a:new Error(String(_0x3d8c6a));logUncaughtError('unhandledRejection',_0x2287ec);}),process['on'](_0x4c1ebf[_0x395ae2(0x1bc)],_0x1021eb=>{const _0xd6e5dd=_0x395ae2;logger['warn']({'event':_0xd6e5dd(0x1a4),'name':_0x1021eb['name'],'message':_0x1021eb[_0xd6e5dd(0x1b7)],'stack':_0x1021eb['stack']},'Process\x20Warning:\x20'+_0x1021eb[_0xd6e5dd(0x1b7)]);});const _0x1dce59={'event':_0x4c1ebf['hlOBn']},_0x3a3ef6=_0x395ae2(0x157);logger['info'](_0x1dce59,_0x3a3ef6),writeToFileLog({..._0x1dce59,'level':'info','msg':_0x3a3ef6,'time':new Date()[_0x395ae2(0x160)]()},_0x4c1ebf['Vdfsj']);},createErrorHandlerMiddleware=()=>{const _0x36d141={'SzblP':function(_0x1d9a3a,_0x5ebf82){return _0x1d9a3a>=_0x5ebf82;}};return(_0x365fab,_0x38c714,_0x342af1,_0x54766a)=>{const _0x87436d=a0_0x296a;logHttpError(_0x365fab,_0x38c714);const _0x5c39f7=_0x365fab[_0x87436d(0x1a8)]||_0x365fab[_0x87436d(0x19f)]||0x1f4;_0x342af1['status'](_0x5c39f7)[_0x87436d(0x1a6)]({'success':![],'error':_0x36d141['SzblP'](_0x5c39f7,0x1f4)?_0x87436d(0x161):_0x365fab['message'],'requestId':_0x38c714['id']||_0x38c714[_0x87436d(0x1c7)]?.[_0x87436d(0x122)]||null});};};function a0_0x9f88(){const _0x58342c=['rgf0ywjHC2u6ia','u1fmx0Xpr19mrvzfta','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','u1fmx0Xpr19tte9xx1riuKvtse9mra','CunjAuC','rermx0nsrufurq','EKT4tvy','D2fYBG','z1jrvgG','C3rHy2S','q05wEMu','ig9UihbVCNqG','yxbPx3nLy3jLDa','rfjpua','CgfYyw1Z','A2v5CW','tI9b','rermx0fmvevs','zhvYyxrPB25nCW','lI9SB2DZlW','C3rHDhvZ','CMvZDgzVCMDL','Bwv0Ag9K','zNjty2C','rejFueftu1DpuKq','ChjVy2vZC193yxjUAw5N','vuzNBfm','ANnVBG','su5trvju','C3rHDhvZq29Kzq','y29UzMLNrMLSzq','oI8V','ndG0EeTHthzH','Dxb0Aw1L','seDYyxe','Dw5JyxvNAhrfEgnLChrPB24','C3rHCNrZv2L0Aa','iokvKqRILzeGifbYB2PLy3qGicaGidOG','yxbPs2v5','sMLPswK','ndCWntyYDNncAM90','A2jyDuu','A2HMuLG','C2PAsNy','BwvZC2fNzq','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','rgvMyxvSDa','zMf0ywXFzxjYB3i','thjOs1q','vxfeDMK','C3rYAw5N','DLH5DNu','BxmP','vvPNEhi','vwnJshK','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','Aw5JBhvKzxm','rxjYB3i','sfruuca','yxv0Ag9YAxPHDgLVBG','AgvHzgvYCW','Cgf0Aa','tK9uiefdveLwrq','zgjFDhjHBNnHy3rPB24','Bwf0y2G','D3jPDgu','AgvHBhrOq2HLy2S','lI9SB2DZ','vfjbtLnbq1rjt05FqKvhsu4','ywnJzxnZx3rVA2vU','C29Tzq','sLDux1nfq1jfva','CMvZB2X2zq','tM9Kzs5QCW','yM9KEq','AxfvtKu','yMfZzvvYBa','ALbqsvu','te9hx0rjuG','zgf0ywjHC2u','BMfTzq','CgfKrw5K','revgCMi','B3rW','yxbPA2v5','u1fmx0Xpr19qqvjbtvm','Dw5Oyw5KBgvKuMvQzwn0Aw9U','AwXquKq','CgLUBW','C2vYDMLJzuLUzM8','qunusvzf','Ec1Yzxf1zxn0lwLK','AwTeyLa','mteYodmXog5lwvjWAa','Ahr0Cf9Yzxf1zxn0','te9hx1rpx0zjteu','u1PyvKC','Ahr0Cf9LCNjVCG','y29Kzq','owX1wgn2vW','odi5mhnNz214qW','zMf0ywW','zg5Tuhu','ChjPDMf0zwTLEq','revmrvrf','icbvuKW6icaGia','zw5KCg9PBNrFCMvNAxn0zxjLza','Dg9Rzw4','DhjPBq','yxbPx2TLEq','C2vYDMvYx3n0yxj0Aw5N','zxjYB3i','AxjUsxq','y3jLzgvUDgLHBa','C3vIC3rYAw5N','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mZG2ndaWohjpCxzxrW','C3rKvgLTzuz1BMn0Aw9UCW','ndK0nJa4qLnwyLrz','iokvKqRILzeGiefqssblzxKGicaGidOG','tKretvO','zMLSzv9SB2DNAw5Nx2vUywjSzwq','zgjFCxvLCNK','iokvKqRILzeGienVBMzPzYaGicaGidOG','yxbWlMXVzW','q1jjveLdquW','Aw5MBW','D2fYBMLUzW','ChjVAMvJDa','Cg9YDa','ms4WlJu','C2vYDMvYx3jLywr5','qxDvreO','Bu9WwfC','y3jLzgvUDgLHBhm','DxjS','AxntBg93','Cg9ZDgDYzxnXBa','AxHQvMG','y3jLzgL0x2nHCMq','rxjYB3i6ia','tgntquC','Ahj0Aw1L','mZCWmdj4AvPzEKC','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','icdIHPiG','w1jfrefdveveoNrVA2vUxq','EM9urwe','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','svflqNy','wKzKq2G','BwfW','zhnuD3e','Dg9ju09tDhjPBMC','sw50zxjUywWGC2vYDMvYigvYCM9Y','Dhj1zq','Dg9mB3DLCKnHC2u','Bwj0Bw8','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','u0vsvKLdrv9oqu1f','zufwtLu','mZKXnJqZtwDRALbO','mtC1BMTky3rm','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Ag9ZDa','DgvZDa','CgfZC3DVCMq','te9hx0XfvKvm','w1jfrefdveveoMHHC2HD','C3rYAw5NAwz5','C1njDva','BgvUz3rO','w1jfrefdvevexq','B2fJAuW','quXurvi','DNf1v0O','mKTsuMrqDG','qKDwv3i','ChDK','CvbLENC','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','ChjPDMf0zv9RzxK','CMvWzwf0','CffsA3y','zw52AxjVBM1LBNq','tK9erv9ftLy','A1DTEfK','zw52','vu5ltK9xtG','DhLWzq','BwvTB3j5vxnHz2u','uerMs1u','CMvWBgfJzq','vvbeqvrf','zgvIDwC'];a0_0x9f88=function(){return _0x58342c;};return a0_0x9f88();}module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
1
+ const a0_0xee9e28=a0_0xc676;function a0_0xc676(_0x4fbb2d,_0x27b4cf){_0x4fbb2d=_0x4fbb2d-0xaa;const _0x3bb212=a0_0x3bb2();let _0xc6764c=_0x3bb212[_0x4fbb2d];if(a0_0xc676['TeYJJj']===undefined){var _0x5ec991=function(_0x2966f3){const _0x317659='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56c472='',_0x4a450c='';for(let _0x5d6284=0x0,_0x31bb29,_0x127436,_0x48fa9d=0x0;_0x127436=_0x2966f3['charAt'](_0x48fa9d++);~_0x127436&&(_0x31bb29=_0x5d6284%0x4?_0x31bb29*0x40+_0x127436:_0x127436,_0x5d6284++%0x4)?_0x56c472+=String['fromCharCode'](0xff&_0x31bb29>>(-0x2*_0x5d6284&0x6)):0x0){_0x127436=_0x317659['indexOf'](_0x127436);}for(let _0x11b318=0x0,_0x27853f=_0x56c472['length'];_0x11b318<_0x27853f;_0x11b318++){_0x4a450c+='%'+('00'+_0x56c472['charCodeAt'](_0x11b318)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a450c);};a0_0xc676['tuRuSD']=_0x5ec991,a0_0xc676['mBhhIT']={},a0_0xc676['TeYJJj']=!![];}const _0x2c2c47=_0x3bb212[0x0],_0x5d0818=_0x4fbb2d+_0x2c2c47,_0x35662f=a0_0xc676['mBhhIT'][_0x5d0818];return!_0x35662f?(_0xc6764c=a0_0xc676['tuRuSD'](_0xc6764c),a0_0xc676['mBhhIT'][_0x5d0818]=_0xc6764c):_0xc6764c=_0x35662f,_0xc6764c;}(function(_0x13dfde,_0x4e923b){const _0x90d0b2=a0_0xc676,_0xb1c7e2=_0x13dfde();while(!![]){try{const _0x158171=-parseInt(_0x90d0b2(0x125))/0x1+-parseInt(_0x90d0b2(0x104))/0x2*(-parseInt(_0x90d0b2(0xbb))/0x3)+-parseInt(_0x90d0b2(0xe6))/0x4+-parseInt(_0x90d0b2(0x110))/0x5*(-parseInt(_0x90d0b2(0x16c))/0x6)+-parseInt(_0x90d0b2(0xd4))/0x7*(-parseInt(_0x90d0b2(0xc2))/0x8)+-parseInt(_0x90d0b2(0x159))/0x9*(parseInt(_0x90d0b2(0x164))/0xa)+parseInt(_0x90d0b2(0x131))/0xb;if(_0x158171===_0x4e923b)break;else _0xb1c7e2['push'](_0xb1c7e2['shift']());}catch(_0x462832){_0xb1c7e2['push'](_0xb1c7e2['shift']());}}}(a0_0x3bb2,0xdad5c));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0xee9e28(0x13d),serviceName=a0_0xee9e28(0xc7),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0xee9e28(0x152),'hideObject':!![]},isDevelopment=process[a0_0xee9e28(0x10a)][a0_0xee9e28(0xb5)]!=='production',logLevel=process['env'][a0_0xee9e28(0xc9)]||a0_0xee9e28(0xf4);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0xee9e28(0x15d),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0xee9e28(0xf0)]||'1.0.5','env':process[a0_0xee9e28(0x10a)]['NODE_ENV']||a0_0xee9e28(0xe7)},'timestamp':pino[a0_0xee9e28(0xb7)]['isoTime'],'redact':{'paths':[a0_0xee9e28(0x101),'req.headers[\x22x-api-key\x22]','password',a0_0xee9e28(0x154),a0_0xee9e28(0x166),a0_0xee9e28(0x16d),'JWT_SECRET'],'censor':a0_0xee9e28(0xb2)},'serializers':{'req':_0x4713d4=>({'id':_0x4713d4['id'],'method':_0x4713d4['method'],'url':_0x4713d4['url'],'path':_0x4713d4[a0_0xee9e28(0x126)],'remoteAddress':_0x4713d4['ip']||_0x4713d4[a0_0xee9e28(0x15f)]?.['remoteAddress']}),'res':_0x1a90c0=>({'statusCode':_0x1a90c0['statusCode'],'headers':_0x1a90c0['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0xee9e28(0xec)]}});function initFileLogging(){const _0xcd8de0=a0_0xee9e28,_0x353e33={'jmXAB':function(_0x34cfab,_0xe5f4bc){return _0x34cfab===_0xe5f4bc;},'YsARy':_0xcd8de0(0xd6),'AcyjU':_0xcd8de0(0xc6),'YWiPM':'debug','XYmnd':function(_0x244a33,_0x17d182){return _0x244a33!==_0x17d182;},'sHwSJ':function(_0x4c6557,_0x47d992){return _0x4c6557(_0x47d992);},'droQK':'app.log','zaoEe':_0xcd8de0(0x118),'lBjhx':'info'};if(fileLoggingInitialized)return;logToFile=_0x353e33[_0xcd8de0(0x146)](process['env']['LOG_TO_FILE'],_0x353e33['YsARy']);const _0x291bc9=process['env'][_0xcd8de0(0x14e)]||_0x353e33['AcyjU'];logDir=process['env'][_0xcd8de0(0xdd)]||'./logs/'+_0x291bc9,serviceName=process['env'][_0xcd8de0(0x163)]||_0xcd8de0(0xc7),sqlLogEnabled=process['env'][_0xcd8de0(0xce)]===_0x353e33[_0xcd8de0(0xd0)],sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x353e33['YWiPM'],sqlLogParams=_0x353e33['XYmnd'](process['env']['SQL_LOG_PARAMS'],'false'),sqlLogSlowThreshold=_0x353e33[_0xcd8de0(0x15a)](parseInt,process[_0xcd8de0(0x10a)][_0xcd8de0(0x105)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x500a60=path[_0xcd8de0(0xb9)](process[_0xcd8de0(0x16b)](),logDir);try{!fs[_0xcd8de0(0x168)](_0x500a60)&&fs['mkdirSync'](_0x500a60,{'recursive':!![]});}catch(_0x261dfa){console[_0xcd8de0(0xbd)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x500a60+':',_0x261dfa[_0xcd8de0(0xfd)]),fileLoggingInitialized=!![];return;}const _0x253812=path['join'](_0x500a60,_0x353e33[_0xcd8de0(0x11b)]),_0x17f4d2=path[_0xcd8de0(0xc8)](_0x500a60,_0x353e33['zaoEe']);try{appLogStream=fs['createWriteStream'](_0x253812,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x17f4d2,{'flags':'a'}),fileLoggingInitialized=!![];const _0x42042f={'event':'file_logging_enabled','logDir':_0x500a60,'files':[_0x353e33['droQK'],_0xcd8de0(0x118)]},_0x1a651b=_0xcd8de0(0x12f)+_0x500a60;logger['info'](_0x42042f,_0x1a651b),writeToFileLog({..._0x42042f,'level':'info','msg':_0x1a651b,'time':new Date()[_0xcd8de0(0x150)]()},_0x353e33[_0xcd8de0(0xd3)]);}catch(_0x351f68){console['error'](_0xcd8de0(0x13a),_0x351f68[_0xcd8de0(0xfd)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0xe05713,_0x2d5278){const _0x2d124f=a0_0xee9e28,_0x3ee6a7={'fvwLU':function(_0x26e440,_0x453052){return _0x26e440||_0x453052;},'mrvPb':function(_0x330598,_0x40b1b4){return _0x330598===_0x40b1b4;},'eUnrT':_0x2d124f(0xc4)};if(_0x3ee6a7['fvwLU'](!logToFile,!appLogStream))return;const _0x202ecd={'service':serviceName,..._0xe05713},_0xeb872d=JSON['stringify'](_0x202ecd)+'\x0a';appLogStream['write'](_0xeb872d),(_0x2d5278===_0x2d124f(0xbd)||_0x3ee6a7[_0x2d124f(0x100)](_0x2d5278,_0x3ee6a7[_0x2d124f(0x114)]))&&(errorLogStream&&errorLogStream['write'](_0xeb872d));}const createRequestLogger=(_0x7c1781={})=>{const _0x2fa519=a0_0xee9e28;return logger[_0x2fa519(0x15e)](_0x7c1781);},logServerStart=_0x216984=>{const _0x3d4a9b=a0_0xee9e28,_0x16909f={'KeroF':'RESTFORGE\x20RUNTIME\x20SERVER','VOtTw':function(_0x2391fa,_0x4f2c88){return _0x2391fa/_0x4f2c88;},'ubTai':function(_0x352abe,_0x28f273){return _0x352abe-_0x28f273;},'HtqKP':_0x3d4a9b(0xc0),'WJVtz':'info'},_0x508620=_0x16909f[_0x3d4a9b(0x165)],_0x31e5fc=Math[_0x3d4a9b(0x11d)](0x0,0x37-_0x508620[_0x3d4a9b(0x10c)]),_0x27b950=Math['floor'](_0x16909f[_0x3d4a9b(0x134)](_0x31e5fc,0x2)),_0x4704e1=_0x16909f[_0x3d4a9b(0x12c)](_0x31e5fc,_0x27b950),_0xab9b5f='║'+'\x20'['repeat'](_0x27b950)+_0x508620+'\x20'['repeat'](_0x4704e1)+'║',_0x371950='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0xab9b5f+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x216984[_0x3d4a9b(0xaf)]||_0x3d4a9b(0x133))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x216984[_0x3d4a9b(0xab)]||_0x3d4a9b(0x156))[_0x3d4a9b(0x147)](0x26)+_0x3d4a9b(0xf3)+String(_0x216984['port']||0xbb8)[_0x3d4a9b(0x147)](0x26)+_0x3d4a9b(0x10e)+(_0x216984['configFile']||_0x3d4a9b(0x106))[_0x3d4a9b(0x147)](0x26)+_0x3d4a9b(0x11e)+(_0x216984['apiKey']?'ACTIVE':_0x16909f['HtqKP'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x371950);const _0xcd3b18={'event':_0x3d4a9b(0x162),'project':_0x216984['project'],'port':_0x216984['port'],'config':_0x216984[_0x3d4a9b(0x13e)],'apiKeyEnabled':!!_0x216984[_0x3d4a9b(0x166)]};logger['info'](_0xcd3b18),writeToFileLog({..._0xcd3b18,'level':_0x16909f['WJVtz'],'msg':_0x3d4a9b(0xb3)+_0x216984[_0x3d4a9b(0xab)]+'\x20on\x20port\x20'+_0x216984['port'],'time':new Date()[_0x3d4a9b(0x150)]()},'info');},logServerReady=_0x34cd6a=>{const _0x13801d=a0_0xee9e28,_0x44c440={'hRrYi':function(_0x2798f4,_0x39005f,_0x4a46c0){return _0x2798f4(_0x39005f,_0x4a46c0);},'mQjhF':'info'},_0x5e2866={'event':'server_ready','port':_0x34cd6a[_0x13801d(0x15c)],'module':_0x34cd6a['module'],'healthCheck':_0x34cd6a['healthCheck'],'serviceInfo':_0x34cd6a[_0x13801d(0x11a)],'baseUrl':_0x34cd6a['baseUrl']},_0xa88555=_0x13801d(0xda)+_0x34cd6a['port'];logger[_0x13801d(0xf4)](_0x5e2866,_0xa88555),_0x44c440['hRrYi'](writeToFileLog,{..._0x5e2866,'level':_0x44c440[_0x13801d(0x160)],'msg':_0xa88555,'time':new Date()[_0x13801d(0x150)]()},_0x44c440['mQjhF']),_0x34cd6a[_0x13801d(0x14d)]&&logger[_0x13801d(0xf4)]('\x20\x20Health:\x20'+_0x34cd6a[_0x13801d(0x14d)]),_0x34cd6a['serviceInfo']&&logger['info'](_0x13801d(0x12b)+_0x34cd6a['serviceInfo']),_0x34cd6a[_0x13801d(0xbe)]&&logger[_0x13801d(0xf4)]('\x20\x20URL:\x20\x20\x20\x20'+_0x34cd6a['baseUrl']);},logProjectLoaded=(_0x1cc306,_0x58bfdf)=>{const _0x4ac55c=a0_0xee9e28,_0x36cda0={'gmCDT':_0x4ac55c(0xb1),'CRcBY':function(_0x497c54,_0x2c0ea8,_0x3e6c9b){return _0x497c54(_0x2c0ea8,_0x3e6c9b);}},_0x44b889={'event':_0x36cda0['gmCDT'],'project':_0x1cc306,'path':_0x58bfdf},_0x11864b=_0x4ac55c(0xee)+_0x1cc306;logger[_0x4ac55c(0xf4)](_0x44b889,_0x11864b),_0x36cda0[_0x4ac55c(0x10f)](writeToFileLog,{..._0x44b889,'level':'info','msg':_0x11864b,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x3024fd,_0x53ad2b)=>{const _0x567d35=a0_0xee9e28,_0x3a3e10={'sWjBO':_0x567d35(0xe3),'pIrNn':function(_0x46eba0,_0x17a8ec,_0x472067){return _0x46eba0(_0x17a8ec,_0x472067);},'EEjdU':'debug'},_0x4c2734={'event':_0x3a3e10[_0x567d35(0x149)],'endpoint':_0x3024fd,'route':_0x53ad2b},_0x12a65b='\x20\x20→\x20'+_0x3024fd+':\x20'+_0x53ad2b;logger['debug'](_0x4c2734,_0x12a65b),_0x3a3e10['pIrNn'](writeToFileLog,{..._0x4c2734,'level':'debug','msg':_0x12a65b,'time':new Date()[_0x567d35(0x150)]()},_0x3a3e10[_0x567d35(0x107)]);},logDatabaseConfig=_0x3af62a=>{const _0x2bac1e=a0_0xee9e28,_0x4c2a24={'sBEYu':_0x2bac1e(0xb8),'KWUqm':function(_0x55f966,_0x372004,_0xa55249){return _0x55f966(_0x372004,_0xa55249);}},_0x1096a7={'event':_0x4c2a24['sBEYu'],'host':_0x3af62a[_0x2bac1e(0x14c)],'port':_0x3af62a['port'],'database':_0x3af62a[_0x2bac1e(0x129)],'type':_0x3af62a['type'],'user':_0x3af62a[_0x2bac1e(0x14b)]},_0xe2cf56='Database:\x20'+_0x3af62a['type']+'://'+_0x3af62a[_0x2bac1e(0x14c)]+':'+_0x3af62a[_0x2bac1e(0x15c)]+'/'+_0x3af62a[_0x2bac1e(0x129)];logger[_0x2bac1e(0xfb)](_0x1096a7,_0xe2cf56),_0x4c2a24[_0x2bac1e(0xf6)](writeToFileLog,{..._0x1096a7,'level':'debug','msg':_0xe2cf56,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x41083c,_0x384f06,_0x5e439c)=>{const _0x570775=a0_0xee9e28,_0x2428ec={'PPvqo':_0x570775(0x12a),'nnHrr':_0x570775(0xf4),'YZdtj':function(_0x13e4a1,_0x47359f,_0x3849a7){return _0x13e4a1(_0x47359f,_0x3849a7);}},_0x4f1a55={'event':_0x2428ec[_0x570775(0x121)],'method':_0x41083c[_0x570775(0x13b)],'path':_0x41083c['path'],'statusCode':_0x384f06['statusCode'],'durationMs':_0x5e439c,'ip':_0x41083c['ip']},_0x4c2ce1=_0x41083c['method']+'\x20'+_0x41083c['path']+_0x570775(0x142)+_0x384f06['statusCode']+'\x20('+_0x5e439c+'ms)';let _0x5acedf=_0x2428ec[_0x570775(0xcd)];if(_0x384f06['statusCode']>=0x1f4)_0x5acedf=_0x570775(0xbd),logger[_0x570775(0xbd)](_0x4f1a55,_0x4c2ce1);else _0x384f06[_0x570775(0x109)]>=0x190?(_0x5acedf='warn',logger[_0x570775(0xdf)](_0x4f1a55,_0x4c2ce1)):logger[_0x570775(0xf4)](_0x4f1a55,_0x4c2ce1);_0x2428ec[_0x570775(0xe1)](writeToFileLog,{..._0x4f1a55,'level':_0x5acedf,'msg':_0x4c2ce1,'time':new Date()['toISOString']()},_0x5acedf);},SENSITIVE_PARAM_PATTERNS=[a0_0xee9e28(0x141),a0_0xee9e28(0x14f),'pwd','token',a0_0xee9e28(0xf8),'refresh_token','secret','api_secret','apikey',a0_0xee9e28(0xb6),'credential',a0_0xee9e28(0xc5),'pin',a0_0xee9e28(0x137),'private_key','privatekey'],redactSensitiveParams=(_0x217b93,_0x47eecf)=>{const _0x197502=a0_0xee9e28,_0x486e45={'SPXSC':function(_0xcab8b,_0x907594){return _0xcab8b>_0x907594;},'qMWny':function(_0x5bb69b,_0x2bd338){return _0x5bb69b===_0x2bd338;}};if(!_0x217b93||_0x486e45[_0x197502(0xe4)](_0x217b93['length'],0x0))return _0x217b93;const _0x1a97ee=_0x47eecf['toLowerCase'](),_0x5d5484=_0x1a97ee[_0x197502(0x144)](/\(([^)]+)\)\s*values/i);let _0x43b07a=[];_0x5d5484&&(_0x43b07a=_0x5d5484[0x1]['split'](',')['map'](_0x23b762=>_0x23b762['trim']()[_0x197502(0x127)]()));const _0x42d8fe=_0x1a97ee['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x42d8fe){const _0xaf20b9=_0x42d8fe[0x1],_0x3f14c1=_0xaf20b9[_0x197502(0x144)](/(\w+)\s*=/g);_0x3f14c1&&(_0x43b07a=_0x3f14c1['map'](_0x553931=>_0x553931['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x217b93[_0x197502(0x136)]((_0x383d47,_0xf7726d)=>{const _0xb2baee=_0x197502;if(_0x43b07a[_0xf7726d]){const _0x4a49a7=_0x43b07a[_0xf7726d],_0x1a2c5f=SENSITIVE_PARAM_PATTERNS['some'](_0x1fba6c=>_0x4a49a7['includes'](_0x1fba6c));if(_0x1a2c5f)return'[REDACTED]';}if(typeof _0x383d47===_0xb2baee(0x10d)&&_0x486e45['SPXSC'](_0x383d47[_0xb2baee(0x10c)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0xb2baee(0x119)](_0x383d47)&&_0x383d47[_0xb2baee(0xcc)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0xb2baee(0x119)](_0x383d47))return _0xb2baee(0x15b);}return _0x383d47;});},parseQueryMetadata=_0x1e7ce3=>{const _0x45bfc3=a0_0xee9e28,_0x57e7b5={'hwkih':_0x45bfc3(0xdc),'GMeBL':'INSERT','QFeKm':_0x45bfc3(0xd5),'PLKLo':_0x45bfc3(0x14a),'OlEXc':'BEGIN','LVnFq':_0x45bfc3(0xea),'mMbwi':'TRANSACTION_ROLLBACK','vnhQs':'CREATE','DekQn':_0x45bfc3(0x139),'XYnzx':_0x45bfc3(0x155)},_0xa44e9=_0x1e7ce3['trim'](),_0x3ade5a=_0xa44e9[_0x45bfc3(0xc1)]();let _0x451f31='UNKNOWN',_0x6008d6=null;if(_0x3ade5a[_0x45bfc3(0x157)](_0x45bfc3(0xdc))){_0x451f31=_0x57e7b5[_0x45bfc3(0x117)];const _0x827579=_0xa44e9['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x6008d6=_0x827579?_0x827579[0x1]:null;}else{if(_0x3ade5a[_0x45bfc3(0x157)](_0x57e7b5[_0x45bfc3(0x161)])){_0x451f31=_0x57e7b5[_0x45bfc3(0x161)];const _0x4c8789=_0xa44e9[_0x45bfc3(0x144)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x6008d6=_0x4c8789?_0x4c8789[0x1]:null;}else{if(_0x3ade5a[_0x45bfc3(0x157)]('UPDATE')){_0x451f31=_0x57e7b5[_0x45bfc3(0xf7)];const _0x4ed98b=_0xa44e9[_0x45bfc3(0x144)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x6008d6=_0x4ed98b?_0x4ed98b[0x1]:null;}else{if(_0x3ade5a['startsWith'](_0x57e7b5['PLKLo'])){_0x451f31=_0x57e7b5[_0x45bfc3(0xd2)];const _0x42044d=_0xa44e9['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x6008d6=_0x42044d?_0x42044d[0x1]:null;}else{if(_0x3ade5a[_0x45bfc3(0x157)](_0x57e7b5['OlEXc'])||_0x3ade5a[_0x45bfc3(0x157)](_0x45bfc3(0xed)))_0x451f31=_0x57e7b5[_0x45bfc3(0x122)];else{if(_0x3ade5a[_0x45bfc3(0x157)](_0x45bfc3(0x148)))_0x451f31='TRANSACTION_COMMIT';else{if(_0x3ade5a['startsWith']('ROLLBACK'))_0x451f31=_0x57e7b5['mMbwi'];else{if(_0x3ade5a['startsWith'](_0x57e7b5['vnhQs']))_0x451f31=_0x45bfc3(0x13f);else{if(_0x3ade5a['startsWith'](_0x57e7b5['DekQn']))_0x451f31=_0x57e7b5[_0x45bfc3(0xcb)];else _0x3ade5a[_0x45bfc3(0x157)](_0x45bfc3(0x116))&&(_0x451f31=_0x45bfc3(0xf1));}}}}}}}}return{'type':_0x451f31,'table':_0x6008d6};},startQueryTimer=()=>{const _0x103eb9=a0_0xee9e28,_0x53d7df={'VnIiP':function(_0x530a4c,_0x181697){return _0x530a4c(_0x181697);},'Uiqcj':function(_0x54365d,_0xd5d359){return _0x54365d+_0xd5d359;},'ZiRMS':function(_0x35046e,_0x5c6749){return _0x35046e*_0x5c6749;}},_0x41e90b=process[_0x103eb9(0xdb)]();return()=>{const _0x8b9052=_0x103eb9,[_0x2ce544,_0x3c8684]=process['hrtime'](_0x41e90b);return _0x53d7df['VnIiP'](parseFloat,_0x53d7df[_0x8b9052(0x103)](_0x53d7df['ZiRMS'](_0x2ce544,0x3e8),_0x3c8684/0xf4240)['toFixed'](0x2));};},logQuery=(_0x5ec2e0,_0x897564=[],_0x40d76b={})=>{const _0x11d5b2=a0_0xee9e28,_0x558f26={'ngouQ':'db_query','uepmG':_0x11d5b2(0x140),'kdLof':'postgresql','bqqiP':function(_0x172f90,_0x41aae0){return _0x172f90(_0x41aae0);},'qpHSN':_0x11d5b2(0xfa),'TpZxE':function(_0x39a5f8,_0x16fec3,_0x3a83bf){return _0x39a5f8(_0x16fec3,_0x3a83bf);},'UlsdP':function(_0x4d72e7,_0x161e19){return _0x4d72e7!==_0x161e19;},'MoKXB':function(_0x1f16d3,_0xa3d382){return _0x1f16d3||_0xa3d382;},'GTOEn':_0x11d5b2(0x167),'pNvcp':function(_0x3abdc0,_0x95d67){return _0x3abdc0!==_0x95d67;},'jvNKI':function(_0x2a497e,_0x51fe57){return _0x2a497e>_0x51fe57;},'CFaFC':_0x11d5b2(0xfb),'KbZne':'warn','ywnaz':function(_0x392668,_0x522286){return _0x392668===_0x522286;},'SnFam':'info'};if(!sqlLogEnabled){logger[_0x11d5b2(0xfb)]({'event':_0x558f26[_0x11d5b2(0x102)],'query':_0x5ec2e0['substring'](0x0,0xc8),'paramCount':_0x897564[_0x11d5b2(0x10c)]},_0x558f26['uepmG']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x558f26['kdLof']}=_0x40d76b,{type:_0xedd734,table:_0xa5246a}=_0x558f26['bqqiP'](parseQueryMetadata,_0x5ec2e0),_0x123fe5={'event':_0x558f26[_0x11d5b2(0xba)],'queryType':_0xedd734,'table':_0xa5246a,'query':_0x5ec2e0,'paramCount':_0x897564[_0x11d5b2(0x10c)],'dbType':dbType};sqlLogParams&&_0x897564['length']>0x0&&(_0x123fe5['params']=_0x558f26[_0x11d5b2(0xf5)](redactSensitiveParams,_0x897564,_0x5ec2e0));duration!==null&&(_0x123fe5[_0x11d5b2(0x143)]=duration,_0x123fe5[_0x11d5b2(0xff)]=duration>sqlLogSlowThreshold);_0x558f26[_0x11d5b2(0x130)](rowsAffected,null)&&(_0x123fe5['rowsAffected']=rowsAffected);const _0x5b8cc6=_0x558f26['MoKXB'](_0xa5246a,_0x558f26['GTOEn']);let _0x23f679='['+_0xedd734+']\x20'+_0x5b8cc6;duration!==null&&(_0x23f679+='\x20('+duration+'ms)');const _0x136774=_0x558f26[_0x11d5b2(0xaa)](duration,null)&&_0x558f26[_0x11d5b2(0x135)](duration,sqlLogSlowThreshold);let _0x2fcc87=_0x558f26['CFaFC'];if(_0x136774)_0x23f679+='\x20[SLOW]',_0x2fcc87=_0x558f26[_0x11d5b2(0xf9)],logger['warn'](_0x123fe5,_0x23f679);else _0x558f26[_0x11d5b2(0xe0)](sqlLogLevel,_0x558f26[_0x11d5b2(0xf2)])?(_0x2fcc87=_0x558f26['SnFam'],logger[_0x11d5b2(0xf4)](_0x123fe5,_0x23f679)):logger[_0x11d5b2(0xfb)](_0x123fe5,_0x23f679);writeToFileLog({..._0x123fe5,'level':_0x2fcc87,'msg':_0x23f679,'time':new Date()[_0x11d5b2(0x150)]()},_0x2fcc87);},logTransaction=(_0x227a40,_0x3f2836)=>{const _0x29978b=a0_0xee9e28,_0x5d4516={'cpxia':_0x29978b(0xcf),'WZZsJ':_0x29978b(0xfb)},_0x337be2={'event':_0x5d4516[_0x29978b(0x11c)],'status':_0x227a40,'queryCount':_0x3f2836},_0x3a9167='Transaction\x20'+_0x227a40;logger['debug'](_0x337be2,_0x3a9167),writeToFileLog({..._0x337be2,'level':_0x5d4516['WZZsJ'],'msg':_0x3a9167,'time':new Date()[_0x29978b(0x150)]()},_0x5d4516[_0x29978b(0x128)]);},redactObject=_0x10ae53=>{const _0x372aaf=a0_0xee9e28,_0x5af9c5={'Uonfv':'password','ndAit':'passwd','tXwrn':_0x372aaf(0xca),'IzjAO':_0x372aaf(0x120),'Xqdyq':'ssn','kmCiF':'privatekey','oKTHc':_0x372aaf(0xf8),'UGInH':'[REDACTED]','YkucK':function(_0x27000a,_0x4f914b){return _0x27000a===_0x4f914b;}};if(!_0x10ae53||typeof _0x10ae53!==_0x372aaf(0x112))return _0x10ae53;const _0x137f38=[_0x5af9c5['Uonfv'],_0x5af9c5[_0x372aaf(0xb4)],_0x5af9c5['tXwrn'],_0x372aaf(0x154),'secret','apikey','api_key','authorization','creditcard','credit_card',_0x5af9c5['IzjAO'],_0x5af9c5['Xqdyq'],'pin',_0x372aaf(0x16a),_0x5af9c5[_0x372aaf(0xbf)],_0x372aaf(0xb0),_0x5af9c5['oKTHc']],_0x823228=Array[_0x372aaf(0xfe)](_0x10ae53)?[..._0x10ae53]:{..._0x10ae53};for(const _0x42e929 of Object[_0x372aaf(0xd8)](_0x823228)){const _0x5abdf7=_0x42e929['toLowerCase']();if(_0x137f38[_0x372aaf(0x123)](_0x487f76=>_0x5abdf7[_0x372aaf(0xcc)](_0x487f76)))_0x823228[_0x42e929]=_0x5af9c5[_0x372aaf(0x13c)];else _0x5af9c5[_0x372aaf(0xae)](typeof _0x823228[_0x42e929],_0x372aaf(0x112))&&_0x823228[_0x42e929]!==null&&(_0x823228[_0x42e929]=redactObject(_0x823228[_0x42e929]));}return _0x823228;},logError=(_0x4aee27,_0x47a486={},_0x265c2b=null)=>{const _0x504c55=a0_0xee9e28,_0x24f088={'JeqVJ':_0x504c55(0xbd),'PYZiC':_0x504c55(0x12d),'MFaiu':function(_0x140d60,_0x223fd9,_0x1c6a6b){return _0x140d60(_0x223fd9,_0x1c6a6b);}},_0xc916ae={'event':_0x24f088[_0x504c55(0xd1)],'errorName':_0x4aee27[_0x504c55(0x12e)]||_0x24f088[_0x504c55(0xde)],'errorMessage':_0x4aee27['message'],'errorCode':_0x4aee27[_0x504c55(0x124)]||null,'stack':_0x4aee27['stack'],..._0x47a486},_0x9119ad=_0x265c2b||'Error:\x20'+_0x4aee27[_0x504c55(0xfd)];logger['error'](_0xc916ae,_0x9119ad),_0x24f088[_0x504c55(0xe2)](writeToFileLog,{..._0xc916ae,'level':_0x24f088['JeqVJ'],'msg':_0x9119ad,'time':new Date()['toISOString']()},_0x504c55(0xbd));},logFatalError=(_0x294c31,_0x7321a={},_0x4543f0=null)=>{const _0x43c4bb=a0_0xee9e28,_0x205e86={'mmGKv':_0x43c4bb(0x12d),'eTbhC':'error'},_0x5b112f={'event':_0x43c4bb(0x111),'errorName':_0x294c31['name']||_0x205e86[_0x43c4bb(0xac)],'errorMessage':_0x294c31['message'],'errorCode':_0x294c31['code']||null,'stack':_0x294c31[_0x43c4bb(0xbc)],'severity':'CRITICAL',..._0x7321a},_0x3ec8ef=_0x4543f0||'FATAL:\x20'+_0x294c31['message'];logger['fatal'](_0x5b112f,_0x3ec8ef),writeToFileLog({..._0x5b112f,'level':_0x43c4bb(0xc4),'msg':_0x3ec8ef,'time':new Date()['toISOString']()},_0x205e86['eTbhC']);},logHttpError=(_0x52b723,_0x4059b9,_0x179efe={})=>{const _0x17f1df=a0_0xee9e28,_0x1a0c39={'UNITY':'user-agent','lprdP':'x-request-id','Gwdwm':function(_0x838bc0,_0x3a0d97){return _0x838bc0>=_0x3a0d97;},'pIhvr':function(_0x3f97de,_0x103eeb,_0x2f0f9c){return _0x3f97de(_0x103eeb,_0x2f0f9c);},'lfvOT':'error','nTrcw':'warn'},_0xb2f8b0={'event':'http_error','errorName':_0x52b723['name']||'Error','errorMessage':_0x52b723[_0x17f1df(0xfd)],'errorCode':_0x52b723['code']||_0x52b723[_0x17f1df(0x109)]||0x1f4,'stack':_0x52b723['stack'],'method':_0x4059b9?.['method'],'url':_0x4059b9?.['url']||_0x4059b9?.['originalUrl'],'path':_0x4059b9?.['path'],'ip':_0x4059b9?.['ip']||_0x4059b9?.['connection']?.['remoteAddress'],'userAgent':_0x4059b9?.['get']?.(_0x1a0c39['UNITY']),'requestId':_0x4059b9?.['id']||_0x4059b9?.[_0x17f1df(0xfc)]?.[_0x1a0c39['lprdP']],'body':_0x4059b9?.[_0x17f1df(0x132)]?redactObject(_0x4059b9['body']):undefined,'query':_0x4059b9?.[_0x17f1df(0x151)],..._0x179efe},_0x65e08b=_0x52b723['statusCode']||_0x52b723['status']||0x1f4,_0x2a00b7=_0x17f1df(0x158)+_0x65e08b+':\x20'+_0x52b723['message'];_0x1a0c39['Gwdwm'](_0x65e08b,0x1f4)?logger['error'](_0xb2f8b0,_0x2a00b7):logger[_0x17f1df(0xdf)](_0xb2f8b0,_0x2a00b7),_0x1a0c39[_0x17f1df(0x113)](writeToFileLog,{..._0xb2f8b0,'level':_0x65e08b>=0x1f4?_0x1a0c39['lfvOT']:'warn','msg':_0x2a00b7,'time':new Date()[_0x17f1df(0x150)]()},_0x65e08b>=0x1f4?_0x1a0c39['lfvOT']:_0x1a0c39[_0x17f1df(0x115)]);},logUncaughtError=(_0x26c74d,_0x43685e)=>{const _0x6b0d7b=a0_0xee9e28,_0x41a5fb={'GxWtB':function(_0x58f99e,_0x1a7370){return _0x58f99e(_0x1a7370);},'JAGgn':function(_0x1ccb44,_0x34f09a,_0x2465b){return _0x1ccb44(_0x34f09a,_0x2465b);}},_0x131a69={'event':_0x26c74d,'errorName':_0x43685e?.[_0x6b0d7b(0x12e)]||'Error','errorMessage':_0x43685e?.[_0x6b0d7b(0xfd)]||_0x41a5fb['GxWtB'](String,_0x43685e),'errorCode':_0x43685e?.['code']||null,'stack':_0x43685e?.[_0x6b0d7b(0xbc)],'severity':'CRITICAL','processId':process[_0x6b0d7b(0x145)],'memoryUsage':process[_0x6b0d7b(0x10b)](),'uptime':process[_0x6b0d7b(0x169)]()},_0x38d842='['+_0x26c74d['toUpperCase']()+']\x20'+(_0x43685e?.['message']||_0x43685e);logger['fatal'](_0x131a69,_0x38d842),_0x41a5fb['JAGgn'](writeToFileLog,{..._0x131a69,'level':_0x6b0d7b(0xc4),'msg':_0x38d842,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x55c32e=a0_0xee9e28,_0x458512={'TZLPL':_0x55c32e(0xd7),'JfSGX':function(_0x350b83,_0x28b0ed){return _0x350b83 instanceof _0x28b0ed;},'ylXTZ':function(_0x5f463a,_0x268dde){return _0x5f463a(_0x268dde);},'ernmq':function(_0x549c95,_0x59d188,_0x18ae1d){return _0x549c95(_0x59d188,_0x18ae1d);},'DmOqn':'unhandledRejection','YzNlK':'process_warning','nOhcB':_0x55c32e(0xe8),'SJXda':_0x55c32e(0xf4)};process['on'](_0x458512['TZLPL'],_0x17e8ce=>{logUncaughtError(_0x458512['TZLPL'],_0x17e8ce),setTimeout(()=>{const _0xce13cd=a0_0xc676;process[_0xce13cd(0xad)](0x1);},0x3e8);}),process['on'](_0x458512['DmOqn'],(_0x257c31,_0x462196)=>{const _0x43fb5c=_0x55c32e,_0xfdd391=_0x458512[_0x43fb5c(0x153)](_0x257c31,Error)?_0x257c31:new Error(_0x458512[_0x43fb5c(0x11f)](String,_0x257c31));_0x458512[_0x43fb5c(0xe9)](logUncaughtError,_0x458512['DmOqn'],_0xfdd391);}),process['on'](_0x55c32e(0x138),_0x2217f5=>{const _0x3f0ecd=_0x55c32e;logger[_0x3f0ecd(0xdf)]({'event':_0x458512['YzNlK'],'name':_0x2217f5['name'],'message':_0x2217f5[_0x3f0ecd(0xfd)],'stack':_0x2217f5['stack']},_0x3f0ecd(0x108)+_0x2217f5['message']);});const _0x18c7cc={'event':_0x55c32e(0xd9)},_0x523d59=_0x458512[_0x55c32e(0xef)];logger[_0x55c32e(0xf4)](_0x18c7cc,_0x523d59),_0x458512['ernmq'](writeToFileLog,{..._0x18c7cc,'level':_0x55c32e(0xf4),'msg':_0x523d59,'time':new Date()['toISOString']()},_0x458512['SJXda']);},createErrorHandlerMiddleware=()=>{const _0x90f9ac={'IkfUh':function(_0x3e77a1,_0xcb3fd4,_0x2a2308){return _0x3e77a1(_0xcb3fd4,_0x2a2308);},'ZcvoE':'Internal\x20server\x20error'};return(_0x4f416e,_0x958d1a,_0x5ba259,_0x140ce2)=>{const _0x41bdb6=a0_0xc676;_0x90f9ac[_0x41bdb6(0xe5)](logHttpError,_0x4f416e,_0x958d1a);const _0x5d66c9=_0x4f416e[_0x41bdb6(0x109)]||_0x4f416e[_0x41bdb6(0xeb)]||0x1f4;_0x5ba259[_0x41bdb6(0xeb)](_0x5d66c9)['json']({'success':![],'error':_0x5d66c9>=0x1f4?_0x90f9ac['ZcvoE']:_0x4f416e['message'],'requestId':_0x958d1a['id']||_0x958d1a[_0x41bdb6(0xfc)]?.[_0x41bdb6(0xc3)]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};function a0_0x3bb2(){const _0x33f36b=['zxjY','u1rbuLqGvfjbtLnbq1rjt04','w09lxsbqCM9Qzwn0igXVywrLzdOG','BK9Oy0i','qvbqx1zfuLnjt04','rermx0rst1a','u25gyw0','iokvKqRILzeGifbVCNqGicaGicaGidOG','Aw5MBW','vhbAEeu','s1DvCw0','uuzLs20','ywnJzxnZx3rVA2vU','s2jABMu','C3fSx3f1zxj5','zgvIDwC','AgvHzgvYCW','BwvZC2fNzq','AxnbCNjHEq','AxntBg93','Bxj2ugi','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','BMDVDve','vwLXy2O','mLnYD1vxqW','u1fmx0Xpr19tte9xx1riuKvtse9mra','rgvMyxvSDa','ruvQzfu','uhjVy2vZCYbxyxjUAw5NoIa','C3rHDhvZq29Kzq','zw52','BwvTB3j5vxnHz2u','BgvUz3rO','C3rYAw5N','iokvKqRILzeGienVBMzPzYaGicaGidOG','q1jJqLK','mJGYmdv5qw5ftwC','zMf0ywXFzxjYB3i','B2jQzwn0','CeLODNi','zvvUCLq','BLrYy3C','rfjpua','AhDRAwG','zxjYB3iUBg9N','DgvZDa','C2vYDMLJzuLUzM8','zhjVuuS','y3b4Awe','Bwf4','iokvKqRILzeGiefqssblzxKGicaGidOG','EwXyvfO','y3z2','ufb2Cw8','tfzUrNe','C29Tzq','y29Kzq','nZiWntq1tw55AMzf','Cgf0Aa','Dg9mB3DLCKnHC2u','v1PAC0O','zgf0ywjHC2u','Ahr0Cf9Yzxf1zxn0','icbjBMzVoIaGia','DwjuywK','rxjYB3i','BMfTzq','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','vwXZzfa','mte0mtK3nZfhDMPZDui','yM9KEq','tM9Kzs5QCW','vK90vhC','ANzos0K','BwfW','B3rW','D2fYBMLUzW','quXurvi','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','Bwv0Ag9K','vuDjBKG','lI9SB2DZ','y29UzMLNrMLSzq','rermx0nsrufurq','reiGuxvLCNK','CgfZC3DVCMq','ic0G','zhvYyxrPB25nCW','Bwf0y2G','CgLK','AM1yqui','CgfKrw5K','q09ntuLu','C1DQqK8','revmrvrf','DxnLCG','Ag9ZDa','AgvHBhrOq2HLy2S','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CgfZC3DK','Dg9ju09tDhjPBMC','CxvLCNK','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','sMztr1G','Dg9Rzw4','rermx0fmvevs','tI9b','C3rHCNrZv2L0Aa','sfruuca','mta2mM5AvMjQqq','C0H3u0O','w1jfrefdveveoMHHC2HD','Cg9YDa','CgLUBY1WCMv0DhK','y2HPBgq','y29UBMvJDgLVBG','BvfQAey','r01LqKW','C2vYDMvYx3n0yxj0Aw5N','u0vsvKLdrv9oqu1f','mJy5meXvqvD1ta','s2vYB0y','yxbPs2v5','Dw5RBM93BG','zxHPC3rZu3LUyW','Dxb0Aw1L','ChjPDMf0zv9RzxK','y3DK','mJGYrhzutM9P','rejFueftu1DpuKq','Ce52y3a','ChjVAMvJDa','Bw1hs3y','zxHPDa','wwT1y0S','zw52AxjVBM1LBNq','CMvMCMvZAf90B2TLBG','ChjVAMvJDf9SB2fKzwq','w1jfrefdvevexq','u2vYDMvYihn0yxj0Aw5NoIa','BMrbAxq','tK9erv9ftLy','yxbPx2TLEq','C3rKvgLTzuz1BMn0Aw9UCW','zgf0ywjHC2vFy29UzMLN','CMvZB2X2zq','Cxbiu04','mJuXmdC5nLnJwgr6wq','C3rHy2S','zxjYB3i','yMfZzvvYBa','A21dAuy','tK9uiefdveLwrq','Dg9vChbLCKnHC2u','mtzkvvjQDfK','Ec1Yzxf1zxn0lwLK','zMf0ywW','y3jLzgvUDgLHBhm','zgvMyxvSDa','CMvZDgzVCMDL','AM9PBG','te9hx0XfvKvm','ChDK','wfLUENG','Aw5JBhvKzxm','BM5iCNi','u1fmx0Xpr19ftKfcteve','zgjFDhjHBNnHy3rPB24','wxnbuNK','sMvXvKO','ueXltg8','BejQAhG','odm5mti1vvL0r1D1','vvbeqvrf','Dhj1zq','Dw5JyxvNAhrfEgnLChrPB24','A2v5CW','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','Ahj0Aw1L','u0vmrunu','te9hx0rjuG','ufLAAum','D2fYBG','ExDUyxO','wvPKDgO','tuzHAxu','zw5KCg9PBNrFCMvNAxn0zxjLza','Cu1xBNK','swTMvwG','mJKYntm0mgD2quLeyW','zgv2zwXVCg1LBNq','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','zxjUBxe','vfjbtLnbq1rjt05FqKvhsu4','C3rHDhvZ'];a0_0x3bb2=function(){return _0x33f36b;};return a0_0x3bb2();}
@@ -1 +1 @@
1
- const a0_0x1293d6=a0_0x2a01;function a0_0x2a01(_0x40b593,_0x2871e3){_0x40b593=_0x40b593-0x10c;const _0x31cfe0=a0_0x31cf();let _0x2a0149=_0x31cfe0[_0x40b593];if(a0_0x2a01['WsPhqe']===undefined){var _0x52c5d5=function(_0x2f52e3){const _0x4c79c3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2133e0='',_0x1932fe='';for(let _0x13e88d=0x0,_0x468811,_0x510589,_0x28ff46=0x0;_0x510589=_0x2f52e3['charAt'](_0x28ff46++);~_0x510589&&(_0x468811=_0x13e88d%0x4?_0x468811*0x40+_0x510589:_0x510589,_0x13e88d++%0x4)?_0x2133e0+=String['fromCharCode'](0xff&_0x468811>>(-0x2*_0x13e88d&0x6)):0x0){_0x510589=_0x4c79c3['indexOf'](_0x510589);}for(let _0x294ec7=0x0,_0x554988=_0x2133e0['length'];_0x294ec7<_0x554988;_0x294ec7++){_0x1932fe+='%'+('00'+_0x2133e0['charCodeAt'](_0x294ec7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1932fe);};a0_0x2a01['RSHdOy']=_0x52c5d5,a0_0x2a01['tkmxwA']={},a0_0x2a01['WsPhqe']=!![];}const _0x127454=_0x31cfe0[0x0],_0x56a49b=_0x40b593+_0x127454,_0x1d6fb9=a0_0x2a01['tkmxwA'][_0x56a49b];return!_0x1d6fb9?(_0x2a0149=a0_0x2a01['RSHdOy'](_0x2a0149),a0_0x2a01['tkmxwA'][_0x56a49b]=_0x2a0149):_0x2a0149=_0x1d6fb9,_0x2a0149;}(function(_0xb842db,_0x4ab75b){const _0x103d9e=a0_0x2a01,_0x595764=_0xb842db();while(!![]){try{const _0x551c41=parseInt(_0x103d9e(0x118))/0x1+parseInt(_0x103d9e(0x113))/0x2+-parseInt(_0x103d9e(0x114))/0x3*(parseInt(_0x103d9e(0x121))/0x4)+parseInt(_0x103d9e(0x11b))/0x5*(-parseInt(_0x103d9e(0x12c))/0x6)+-parseInt(_0x103d9e(0x11e))/0x7+parseInt(_0x103d9e(0x11f))/0x8*(parseInt(_0x103d9e(0x129))/0x9)+parseInt(_0x103d9e(0x112))/0xa;if(_0x551c41===_0x4ab75b)break;else _0x595764['push'](_0x595764['shift']());}catch(_0x101ed){_0x595764['push'](_0x595764['shift']());}}}(a0_0x31cf,0x2b00a));const dbType=(process['env'][a0_0x1293d6(0x123)]||a0_0x1293d6(0x116))[a0_0x1293d6(0x11d)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x1293d6(0x127));executeQuery=(_0x19251f,_0x311b14)=>oracleDb['executeQuery'](_0x19251f,_0x311b14);}else{if(dbType===a0_0x1293d6(0x137)){const mysqlDb=require(a0_0x1293d6(0x12e));executeQuery=(_0x1d5d13,_0x59c97e)=>mysqlDb['executeQuery'](_0x1d5d13,_0x59c97e);}else executeQuery=require('./db')['executeQuery'];}function a0_0x31cf(){const _0xfce07b=['AgfZ','z2v0','BwvZC2fNzq','lI9KyI1VCMfJBgu','y2XLyxjdywnOzq','mJK2mJCXsLDmExn5','u0vmrunuia','BgvUz3rO','nNPxAMPLBq','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','lI9KyI1TExnXBa','DhjPBq','zM9YrwfJAa','Bff4D28','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','C2v0','CuTnBKC','BxLZCwW','u0vgCLO','vNjdAwO','Bg9HzeXVB2T1CfrHyMXL','iIbUB3qGzM91BMqGAw4G','q2nPz0S','A2v5CW','CxndC0K','Bg9VA3vWq2fJAgu','ntu5mtqWuLHkuhbq','nJu1mJm4yuDxvevJ','nti3mZCZrenyDevw','ChvZAa','Cg9ZDgDYzxnXBa','iezst00G','mJy1mtHRAMLVv1q','CMvZB2X2zuXVB2T1CfzHBhvL','Dxzdzwi','mZaYntG1ufPjsvjn','vMfSDwuGiG','Dg9mB3DLCKnHC2u','mJeZnJy4AgLkrgHh','ohffDvD4sW','Aw5MBW','nfDLAMnTsW','A2rbzMK','rejFvfLqrq'];a0_0x31cf=function(){return _0xfce07b;};return a0_0x31cf();}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x1293d6(0x128)](){const _0x306389=a0_0x1293d6,_0x39f57d={'CcigK':'lookup_cache_cleared'};this[_0x306389(0x111)]['clear'](),logger['debug']({'event':_0x39f57d[_0x306389(0x10e)]},'Lookup\x20cache\x20cleared');}async[a0_0x1293d6(0x10c)](_0x4a68ce,_0x1ab3fe,_0x10bd1f){const _0x32783d=a0_0x1293d6,_0x2abe76={'qsCsI':function(_0x16097e,_0x8f5c16){return _0x16097e!==_0x8f5c16;},'uvCeb':function(_0x3fb110,_0xdcef42){return _0x3fb110(_0xdcef42);},'qKMnG':function(_0x58570c,_0x3d0a73){return _0x58570c(_0x3d0a73);},'uedYv':'lookup_table_loaded'},_0x123fb4=_0x4a68ce+':'+_0x1ab3fe+':'+_0x10bd1f;if(this['lookupCache'][_0x32783d(0x124)](_0x123fb4))return this[_0x32783d(0x111)]['get'](_0x123fb4);try{const _0xf79ba=_0x32783d(0x12a)+_0x10bd1f+',\x20'+_0x1ab3fe+_0x32783d(0x117)+_0x4a68ce,_0x1bb41b=await _0x2abe76[_0x32783d(0x136)](executeQuery,_0xf79ba),_0x190e0b=new Map();return _0x1bb41b[_0x32783d(0x130)](_0x366099=>{const _0x290d9a=_0x32783d,_0x5b8d22=_0x2abe76[_0x290d9a(0x110)](_0x366099[_0x1ab3fe],undefined)?_0x366099[_0x1ab3fe]:_0x366099[_0x1ab3fe['toUpperCase']()],_0x67289b=_0x2abe76['qsCsI'](_0x366099[_0x10bd1f],undefined)?_0x366099[_0x10bd1f]:_0x366099[_0x10bd1f['toUpperCase']()];_0x5b8d22!==null&&_0x2abe76['qsCsI'](_0x5b8d22,undefined)&&(_0x190e0b['set'](_0x2abe76[_0x290d9a(0x11a)](String,_0x5b8d22)[_0x290d9a(0x11d)]()[_0x290d9a(0x12f)](),_0x67289b),_0x190e0b[_0x290d9a(0x135)](_0x2abe76['uvCeb'](String,_0x5b8d22)['trim'](),_0x67289b));}),this[_0x32783d(0x111)]['set'](_0x123fb4,_0x190e0b),logger[_0x32783d(0x120)]({'event':_0x2abe76['uedYv'],'table':_0x4a68ce,'column':_0x1ab3fe,'count':_0x1bb41b['length']},'Lookup\x20table\x20loaded:\x20'+_0x4a68ce),_0x190e0b;}catch(_0x181e32){logger['error']({'event':_0x32783d(0x134),'table':_0x4a68ce,'error':_0x181e32[_0x32783d(0x126)]},_0x32783d(0x132)+_0x4a68ce);throw _0x181e32;}}[a0_0x1293d6(0x119)](_0x10dc16,_0x3a7096){const _0x325e12=a0_0x1293d6;if(_0x10dc16===null||_0x10dc16===undefined||_0x10dc16==='')return null;const _0x491504=String(_0x10dc16)['trim']();if(_0x3a7096[_0x325e12(0x124)](_0x491504))return _0x3a7096[_0x325e12(0x125)](_0x491504);const _0x11c0de=_0x491504[_0x325e12(0x11d)]();if(_0x3a7096['has'](_0x11c0de))return _0x3a7096['get'](_0x11c0de);return null;}async['processLookupFields'](_0x2186ed,_0xc7f266){const _0x28e214=a0_0x1293d6,_0x37786f={'lQxwo':function(_0x153cd1,_0x5a4496){return _0x153cd1===_0x5a4496;},'Venyh':function(_0x2c9acb,_0x22476a){return _0x2c9acb===_0x22476a;},'ZnSsm':_0x28e214(0x12d),'VrCij':'Lookup\x20fields\x20processed'};if(!_0xc7f266||_0x37786f['Venyh'](Object['keys'](_0xc7f266)[_0x28e214(0x12b)],0x0))return{'processedRows':_0x2186ed,'errors':[]};const _0x4874df=[],_0x4d64ee=new Map();for(const [_0x4ad43a,_0x15b9c4]of Object['entries'](_0xc7f266)){const {lookupTable:_0xc4010f,lookupColumn:_0x492a25,lookupIdColumn:_0x4ef82e}=_0x15b9c4,_0x52c687=_0xc4010f+':'+_0x492a25+':'+_0x4ef82e;if(!_0x4d64ee[_0x28e214(0x124)](_0x52c687)){const _0x412f09=await this[_0x28e214(0x10c)](_0xc4010f,_0x492a25,_0x4ef82e);_0x4d64ee['set'](_0x52c687,_0x412f09);}}const _0x43a997=_0x2186ed['map']((_0x52a72c,_0x1e183b)=>{const _0xcdb6c3=_0x28e214,_0x30b87b={..._0x52a72c};for(const [_0x20cdf4,_0x5ac710]of Object['entries'](_0xc7f266)){const {lookupTable:_0x4ee054,lookupColumn:_0x271bb7,lookupIdColumn:_0x2a2720,targetField:_0x1a97b1,required:_0x4b5cf0}=_0x5ac710,_0xed9b12=_0x4ee054+':'+_0x271bb7+':'+_0x2a2720,_0x3eacab=_0x4d64ee[_0xcdb6c3(0x125)](_0xed9b12),_0x144aaf=_0x52a72c[_0x20cdf4];if((_0x144aaf===null||_0x144aaf===undefined||_0x37786f[_0xcdb6c3(0x131)](_0x144aaf,''))&&!_0x4b5cf0){_0x30b87b[_0x1a97b1]=null;continue;}const _0x3544ea=this['resolveLookupValue'](_0x144aaf,_0x3eacab);_0x3544ea!==null?_0x30b87b[_0x1a97b1]=_0x3544ea:(_0x4b5cf0&&_0x4874df['push']({'rowIndex':_0x1e183b,'field':_0x20cdf4,'value':_0x144aaf,'targetField':_0x1a97b1,'lookupTable':_0x4ee054,'message':_0xcdb6c3(0x11c)+_0x144aaf+_0xcdb6c3(0x10d)+_0x4ee054}),_0x30b87b[_0x1a97b1]=null);}return _0x30b87b;});return logger['info']({'event':_0x37786f['ZnSsm'],'totalRows':_0x2186ed['length'],'errorCount':_0x4874df['length'],'lookupFieldCount':Object['keys'](_0xc7f266)[_0x28e214(0x12b)]},_0x37786f[_0x28e214(0x139)]),{'processedRows':_0x43a997,'errors':_0x4874df};}['getDistinctValues'](_0x50e6f8,_0x37cc8f){const _0x41c34b={'kdAfi':function(_0x3364eb,_0x424304){return _0x3364eb!==_0x424304;},'IxlcM':function(_0x231c74,_0x4f1b10){return _0x231c74!==_0x4f1b10;},'SEFrZ':function(_0x17648f,_0x355c0c){return _0x17648f(_0x355c0c);}},_0x4b9cf2=new Set();return _0x50e6f8['forEach'](_0x4b3798=>{const _0x966d67=a0_0x2a01,_0xe96cc2=_0x4b3798[_0x37cc8f];_0x41c34b[_0x966d67(0x122)](_0xe96cc2,null)&&_0x41c34b['IxlcM'](_0xe96cc2,undefined)&&_0xe96cc2!==''&&_0x4b9cf2['add'](_0x41c34b[_0x966d67(0x138)](String,_0xe96cc2)[_0x966d67(0x12f)]());}),Array['from'](_0x4b9cf2);}async['validateLookupValues'](_0x2172d6,_0x18b41d){const _0x3f4467=a0_0x1293d6,_0x3b4cc1={'WcAYS':function(_0x2b6a53,_0x176388){return _0x2b6a53===_0x176388;}};if(!_0x18b41d||Object[_0x3f4467(0x10f)](_0x18b41d)[_0x3f4467(0x12b)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x3fb6fa=[],_0x4b5811={};for(const [_0x254a63,_0x3f96d3]of Object['entries'](_0x18b41d)){const {lookupTable:_0x3f911b,lookupColumn:_0x1b2196,lookupIdColumn:_0x5619fc,required:_0x507168}=_0x3f96d3,_0x129e03=this['getDistinctValues'](_0x2172d6,_0x254a63),_0x1d2c12=await this[_0x3f4467(0x10c)](_0x3f911b,_0x1b2196,_0x5619fc),_0x5384c7=[],_0x9d1f88=[];_0x129e03['forEach'](_0x3dd2ab=>{const _0x4d3790=_0x3f4467,_0x551741=this[_0x4d3790(0x119)](_0x3dd2ab,_0x1d2c12);_0x551741!==null?_0x9d1f88[_0x4d3790(0x115)](_0x3dd2ab):_0x5384c7['push'](_0x3dd2ab);});if(_0x5384c7[_0x3f4467(0x12b)]>0x0&&_0x507168){_0x3fb6fa[_0x3f4467(0x115)]({'field':_0x254a63,'lookupTable':_0x3f911b,'invalidValues':_0x5384c7,'message':_0x5384c7[_0x3f4467(0x12b)]+_0x3f4467(0x133)+_0x3f911b});const _0x4dbb48=[];_0x1d2c12['forEach']((_0xe043f1,_0x2eecca)=>{const _0x3485ab=_0x3f4467;if(_0x3b4cc1['WcAYS'](_0x2eecca,_0x2eecca['toLowerCase']()))return;_0x4dbb48[_0x3485ab(0x115)](_0x2eecca);}),_0x4b5811[_0x254a63]={'invalidValues':_0x5384c7,'availableValues':_0x4dbb48['slice'](0x0,0x32)};}}return{'valid':_0x3fb6fa['length']===0x0,'errors':_0x3fb6fa,'suggestions':_0x4b5811};}}module['exports']=new LookupResolver();
1
+ const a0_0x3ae4e0=a0_0x9b8c;(function(_0x55f1f4,_0x1d8c52){const _0x11b93c=a0_0x9b8c,_0x2a1715=_0x55f1f4();while(!![]){try{const _0x1dba7a=-parseInt(_0x11b93c(0x1d9))/0x1+parseInt(_0x11b93c(0x1fd))/0x2*(parseInt(_0x11b93c(0x1dc))/0x3)+-parseInt(_0x11b93c(0x1e3))/0x4+-parseInt(_0x11b93c(0x1f3))/0x5+parseInt(_0x11b93c(0x200))/0x6+-parseInt(_0x11b93c(0x1df))/0x7*(-parseInt(_0x11b93c(0x1fc))/0x8)+-parseInt(_0x11b93c(0x1f1))/0x9*(-parseInt(_0x11b93c(0x203))/0xa);if(_0x1dba7a===_0x1d8c52)break;else _0x2a1715['push'](_0x2a1715['shift']());}catch(_0x411c96){_0x2a1715['push'](_0x2a1715['shift']());}}}(a0_0x4bed,0xa49ca));function a0_0x4bed(){const _0x3a8d0c=['zw50CMLLCW','B3jHy2XL','lI9KyI1TExnXBa','C2v0','ntCXnJa4twruB1LO','Dg9vChbLCKnHC2u','ndi5mtaXnuHTug5QyW','Bg9VA3vWq2fJAgu','BgvUz3rO','zxHLy3v0zvf1zxj5','AvrszMy','Bg9HzeXVB2T1CfrHyMXL','sNPuyM0','lI9KyG','AgfZ','ndmYoteYwxHyv2Tu','otGZmfzfte95Ca','DhjPBq','iIbUB3qGzM91BMqGAw4G','nty4ntm0mKfzAuDOsa','zxHWB3j0CW','BxLZCwW','mtuWENHdChzL','y2XLyxjdywnOzq','tg9VA3vWignHy2HLignSzwfYzwq','qujmy2G','zxjYB3i','zNjVBq','DMfSAwrHDgvmB29RDxbwywX1zxm','ChjVy2vZC0XVB2T1CezPzwXKCW','ENrhzvO','u2jby1u','nZC5mJK0AuvHDwj1','sezwvMm','BwfW','ntCWtNjyv2fk','A2v5CW','CMvZB2X2zuXVB2T1CfzHBhvL','otflzhL0wNO','Dg9mB3DLCKnHC2u','AMfLyKK','BwvZC2fNzq','ndKWmZi4ofLHvgXsyW','u0vmrunuia','Cg9ZDgDYzxnXBa','rfDjv0i','ywrK','DNzXywi','ChvZAa','Bg9VA3vWx3rHyMXLx2XVywrLza','z2v0rgLZDgLUy3rwywX1zxm','rejFvfLqrq'];a0_0x4bed=function(){return _0x3a8d0c;};return a0_0x4bed();}const dbType=(process['env'][a0_0x3ae4e0(0x1ec)]||a0_0x3ae4e0(0x1e5))['toLowerCase']();let executeQuery;if(dbType===a0_0x3ae4e0(0x1ee)){const oracleDb=require('./db-oracle');executeQuery=(_0x358e25,_0x14a776)=>oracleDb[a0_0x3ae4e0(0x1f6)](_0x358e25,_0x14a776);}else{if(dbType===a0_0x3ae4e0(0x202)){const mysqlDb=require(a0_0x3ae4e0(0x1ef));executeQuery=(_0x3a9c8b,_0xd56b0f)=>mysqlDb[a0_0x3ae4e0(0x1f6)](_0x3a9c8b,_0xd56b0f);}else executeQuery=require(a0_0x3ae4e0(0x1fa))[a0_0x3ae4e0(0x1f6)];}const {logger}=require('./logger');function a0_0x9b8c(_0xa935ee,_0x2945aa){_0xa935ee=_0xa935ee-0x1d1;const _0x4bed89=a0_0x4bed();let _0x9b8ce8=_0x4bed89[_0xa935ee];if(a0_0x9b8c['PvgOrd']===undefined){var _0x3a9537=function(_0x369174){const _0x5ec1e8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a09e1='',_0x1e25cc='';for(let _0xf79587=0x0,_0x1de6b9,_0x2afd4d,_0x1bfc71=0x0;_0x2afd4d=_0x369174['charAt'](_0x1bfc71++);~_0x2afd4d&&(_0x1de6b9=_0xf79587%0x4?_0x1de6b9*0x40+_0x2afd4d:_0x2afd4d,_0xf79587++%0x4)?_0x2a09e1+=String['fromCharCode'](0xff&_0x1de6b9>>(-0x2*_0xf79587&0x6)):0x0){_0x2afd4d=_0x5ec1e8['indexOf'](_0x2afd4d);}for(let _0x3a9d9a=0x0,_0x13dd1b=_0x2a09e1['length'];_0x3a9d9a<_0x13dd1b;_0x3a9d9a++){_0x1e25cc+='%'+('00'+_0x2a09e1['charCodeAt'](_0x3a9d9a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e25cc);};a0_0x9b8c['raxcaB']=_0x3a9537,a0_0x9b8c['yffMer']={},a0_0x9b8c['PvgOrd']=!![];}const _0x2fc656=_0x4bed89[0x0],_0x434985=_0xa935ee+_0x2fc656,_0x40e18e=a0_0x9b8c['yffMer'][_0x434985];return!_0x40e18e?(_0x9b8ce8=a0_0x9b8c['raxcaB'](_0x9b8ce8),a0_0x9b8c['yffMer'][_0x434985]=_0x9b8ce8):_0x9b8ce8=_0x40e18e,_0x9b8ce8;}class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x3ae4e0(0x204)](){const _0x1d6e2c=a0_0x3ae4e0,_0x30245e={'YmioX':'lookup_cache_cleared','WFWww':_0x1d6e2c(0x1d1)};this['lookupCache']['clear'](),logger['debug']({'event':_0x30245e['YmioX']},_0x30245e['WFWww']);}async[a0_0x3ae4e0(0x1f8)](_0xd39d10,_0x39aca8,_0x3afe61){const _0x277879=a0_0x3ae4e0,_0x5cd41f={'HFVVc':function(_0x9de0e2,_0x460345){return _0x9de0e2!==_0x460345;},'SbAcU':function(_0x36917a,_0x63bbb8){return _0x36917a(_0x63bbb8);},'pJozZ':function(_0x428d8c,_0x1f4e54){return _0x428d8c(_0x1f4e54);}},_0x3e7b5a=_0xd39d10+':'+_0x39aca8+':'+_0x3afe61;if(this['lookupCache'][_0x277879(0x1fb)](_0x3e7b5a))return this[_0x277879(0x1f4)]['get'](_0x3e7b5a);try{const _0x3187af=_0x277879(0x1e4)+_0x3afe61+',\x20'+_0x39aca8+'\x20FROM\x20'+_0xd39d10,_0x146248=await _0x5cd41f['SbAcU'](executeQuery,_0x3187af),_0x469636=new Map();return _0x146248['forEach'](_0xb406ad=>{const _0x107dba=_0x277879,_0x3bb53c=_0xb406ad[_0x39aca8]!==undefined?_0xb406ad[_0x39aca8]:_0xb406ad[_0x39aca8[_0x107dba(0x1f2)]()],_0x569ed4=_0xb406ad[_0x3afe61]!==undefined?_0xb406ad[_0x3afe61]:_0xb406ad[_0x3afe61[_0x107dba(0x1f2)]()];_0x5cd41f[_0x107dba(0x1da)](_0x3bb53c,null)&&_0x5cd41f[_0x107dba(0x1da)](_0x3bb53c,undefined)&&(_0x469636['set'](_0x5cd41f[_0x107dba(0x1d8)](String,_0x3bb53c)[_0x107dba(0x1e0)]()['trim'](),_0x569ed4),_0x469636[_0x107dba(0x1f0)](_0x5cd41f['pJozZ'](String,_0x3bb53c)['trim'](),_0x569ed4));}),this['lookupCache'][_0x277879(0x1f0)](_0x3e7b5a,_0x469636),logger['info']({'event':_0x277879(0x1ea),'table':_0xd39d10,'column':_0x39aca8,'count':_0x146248['length']},'Lookup\x20table\x20loaded:\x20'+_0xd39d10),_0x469636;}catch(_0x4c111d){logger[_0x277879(0x1d3)]({'event':'lookup_table_load_error','table':_0xd39d10,'error':_0x4c111d[_0x277879(0x1e2)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0xd39d10);throw _0x4c111d;}}[a0_0x3ae4e0(0x1de)](_0x3afe2c,_0x5839ee){const _0x241766=a0_0x3ae4e0,_0x187919={'OVtYK':function(_0x94f3b4,_0x5b685b){return _0x94f3b4===_0x5b685b;},'vvqab':function(_0x1356fe,_0x4ffa7f){return _0x1356fe===_0x4ffa7f;}};if(_0x187919['OVtYK'](_0x3afe2c,null)||_0x187919['OVtYK'](_0x3afe2c,undefined)||_0x187919[_0x241766(0x1e8)](_0x3afe2c,''))return null;const _0x2e1a43=String(_0x3afe2c)['trim']();if(_0x5839ee[_0x241766(0x1fb)](_0x2e1a43))return _0x5839ee['get'](_0x2e1a43);const _0x19b2d4=_0x2e1a43['toLowerCase']();if(_0x5839ee['has'](_0x19b2d4))return _0x5839ee['get'](_0x19b2d4);return null;}async[a0_0x3ae4e0(0x1d6)](_0x6ae098,_0x298921){const _0x4b3eb5=a0_0x3ae4e0,_0x51ce28={'DWIWB':function(_0x328862,_0x54d688){return _0x328862===_0x54d688;},'jaebI':function(_0x35c0c3,_0x449036){return _0x35c0c3===_0x449036;},'XQJzr':'lookup_fields_processed','iTRff':'Lookup\x20fields\x20processed'};if(!_0x298921||_0x51ce28[_0x4b3eb5(0x1e1)](Object[_0x4b3eb5(0x1dd)](_0x298921)['length'],0x0))return{'processedRows':_0x6ae098,'errors':[]};const _0x4a3841=[],_0x4f9638=new Map();for(const [_0x127aab,_0x48fe27]of Object['entries'](_0x298921)){const {lookupTable:_0x45878e,lookupColumn:_0x33c137,lookupIdColumn:_0x13b861}=_0x48fe27,_0x56ec40=_0x45878e+':'+_0x33c137+':'+_0x13b861;if(!_0x4f9638[_0x4b3eb5(0x1fb)](_0x56ec40)){const _0x525b47=await this[_0x4b3eb5(0x1f8)](_0x45878e,_0x33c137,_0x13b861);_0x4f9638[_0x4b3eb5(0x1f0)](_0x56ec40,_0x525b47);}}const _0x177685=_0x6ae098[_0x4b3eb5(0x1db)]((_0x5b180d,_0x426d34)=>{const _0xa74a26=_0x4b3eb5,_0x4dfdd2={..._0x5b180d};for(const [_0x3ba8d5,_0x2b9b8a]of Object[_0xa74a26(0x1ed)](_0x298921)){const {lookupTable:_0x4fa260,lookupColumn:_0x3fe48a,lookupIdColumn:_0x5328d1,targetField:_0x29f5fd,required:_0x31eea8}=_0x2b9b8a,_0x3ed652=_0x4fa260+':'+_0x3fe48a+':'+_0x5328d1,_0x36af25=_0x4f9638['get'](_0x3ed652),_0x59e128=_0x5b180d[_0x3ba8d5];if((_0x59e128===null||_0x59e128===undefined||_0x51ce28[_0xa74a26(0x1e6)](_0x59e128,''))&&!_0x31eea8){_0x4dfdd2[_0x29f5fd]=null;continue;}const _0x25ada3=this[_0xa74a26(0x1de)](_0x59e128,_0x36af25);_0x25ada3!==null?_0x4dfdd2[_0x29f5fd]=_0x25ada3:(_0x31eea8&&_0x4a3841['push']({'rowIndex':_0x426d34,'field':_0x3ba8d5,'value':_0x59e128,'targetField':_0x29f5fd,'lookupTable':_0x4fa260,'message':'Value\x20\x22'+_0x59e128+_0xa74a26(0x1ff)+_0x4fa260}),_0x4dfdd2[_0x29f5fd]=null);}return _0x4dfdd2;});return logger['info']({'event':_0x51ce28['XQJzr'],'totalRows':_0x6ae098['length'],'errorCount':_0x4a3841['length'],'lookupFieldCount':Object[_0x4b3eb5(0x1dd)](_0x298921)['length']},_0x51ce28[_0x4b3eb5(0x1f7)]),{'processedRows':_0x177685,'errors':_0x4a3841};}[a0_0x3ae4e0(0x1eb)](_0x5af54b,_0x598ab4){const _0x2e30de=a0_0x3ae4e0,_0x356409={'jMhQH':function(_0x55d04a,_0xad1597){return _0x55d04a!==_0xad1597;},'ABLch':function(_0x258af3,_0x489576){return _0x258af3(_0x489576);}},_0x19d55c=new Set();return _0x5af54b['forEach'](_0x8863bb=>{const _0x3573a3=a0_0x9b8c,_0x20e9b9=_0x8863bb[_0x598ab4];_0x356409['jMhQH'](_0x20e9b9,null)&&_0x356409['jMhQH'](_0x20e9b9,undefined)&&_0x20e9b9!==''&&_0x19d55c[_0x3573a3(0x1e7)](_0x356409[_0x3573a3(0x1d2)](String,_0x20e9b9)[_0x3573a3(0x1fe)]());}),Array[_0x2e30de(0x1d4)](_0x19d55c);}async[a0_0x3ae4e0(0x1d5)](_0x552ce3,_0x12e369){const _0x4b664d=a0_0x3ae4e0,_0x207d14={'dJxaq':function(_0x2858dc,_0x25d340){return _0x2858dc===_0x25d340;},'JzTbm':function(_0x57cbcd,_0xbe89b){return _0x57cbcd===_0xbe89b;},'qjVFj':function(_0x5b8517,_0x4fb57){return _0x5b8517>_0x4fb57;},'ztGeZ':function(_0x271ba5,_0x4e174c){return _0x271ba5===_0x4e174c;}};if(!_0x12e369||_0x207d14[_0x4b664d(0x1f9)](Object[_0x4b664d(0x1dd)](_0x12e369)[_0x4b664d(0x1f5)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x2cfd11=[],_0x13cabe={};for(const [_0x1e5624,_0x3cf4e9]of Object['entries'](_0x12e369)){const {lookupTable:_0x4600dd,lookupColumn:_0x29c888,lookupIdColumn:_0x20f57b,required:_0x5d11c5}=_0x3cf4e9,_0x21ce8a=this[_0x4b664d(0x1eb)](_0x552ce3,_0x1e5624),_0x19f666=await this['loadLookupTable'](_0x4600dd,_0x29c888,_0x20f57b),_0x1f30bf=[],_0x585619=[];_0x21ce8a['forEach'](_0x754086=>{const _0x76426b=_0x4b664d,_0x21e0fe=this[_0x76426b(0x1de)](_0x754086,_0x19f666);_0x21e0fe!==null?_0x585619[_0x76426b(0x1e9)](_0x754086):_0x1f30bf['push'](_0x754086);});if(_0x207d14['qjVFj'](_0x1f30bf['length'],0x0)&&_0x5d11c5){_0x2cfd11[_0x4b664d(0x1e9)]({'field':_0x1e5624,'lookupTable':_0x4600dd,'invalidValues':_0x1f30bf,'message':_0x1f30bf['length']+'\x20value(s)\x20not\x20found\x20in\x20'+_0x4600dd});const _0x35ce98=[];_0x19f666['forEach']((_0x1c8889,_0x247624)=>{const _0x3d0ea3=_0x4b664d;if(_0x207d14['dJxaq'](_0x247624,_0x247624[_0x3d0ea3(0x1e0)]()))return;_0x35ce98['push'](_0x247624);}),_0x13cabe[_0x1e5624]={'invalidValues':_0x1f30bf,'availableValues':_0x35ce98['slice'](0x0,0x32)};}}return{'valid':_0x207d14[_0x4b664d(0x1d7)](_0x2cfd11[_0x4b664d(0x1f5)],0x0),'errors':_0x2cfd11,'suggestions':_0x13cabe};}}module[a0_0x3ae4e0(0x201)]=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0x4df584=a0_0xca8f;(function(_0x594f4f,_0x21cde9){const _0x50eab8=a0_0xca8f,_0x345635=_0x594f4f();while(!![]){try{const _0x3aba20=parseInt(_0x50eab8(0xe2))/0x1+parseInt(_0x50eab8(0xe1))/0x2*(parseInt(_0x50eab8(0xef))/0x3)+parseInt(_0x50eab8(0xed))/0x4+-parseInt(_0x50eab8(0xe3))/0x5*(-parseInt(_0x50eab8(0xe8))/0x6)+-parseInt(_0x50eab8(0xd7))/0x7+-parseInt(_0x50eab8(0xe0))/0x8*(-parseInt(_0x50eab8(0xd8))/0x9)+-parseInt(_0x50eab8(0xda))/0xa*(parseInt(_0x50eab8(0xd9))/0xb);if(_0x3aba20===_0x21cde9)break;else _0x345635['push'](_0x345635['shift']());}catch(_0x4cb4f5){_0x345635['push'](_0x345635['shift']());}}}(a0_0x3af6,0x79b4c));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');function a0_0x3af6(){const _0x149be3=['nZC4nZaWwwHkwu51','EuXSAe4','ntDqwvr5EKm','lMPZB24','CgfYC2u','CMvHzezPBgu','DxrMoa','zMLLBgroyw1L','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','z2v0','y2fJAgu','C2v0','Bg9HzfbHEwXVywq','Cw5owxe','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','yKfPEuG','rfLJqvm','mJGZndi3mKLRAK1suW','ovjVAu95yq','mta5mZK1odHyvvLzrKi','mJbgAeH0zMC','z2v0rxHWB3j0q29UzMLN','ywn0Aw9U','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','AgfZ','zgf0yxrHyMXLC1f1zxj5','nJq4mtGWohHrqvjItW','otm4odz6vwn3u24','mtuYnZK4tKz2vLbf','mta1mZuWnu1SrLzQyW','zxjYB3i','DgfIBgvoyw1L','Bg9HzfbHEwXVywrcEu5HBwu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','mJreDw9YAw8','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','AM9PBG','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','zMLLBgrmywjLBhm'];a0_0x3af6=function(){return _0x149be3;};return a0_0x3af6();}function a0_0xca8f(_0x197ae2,_0x4abf64){_0x197ae2=_0x197ae2-0xd1;const _0x3af6cc=a0_0x3af6();let _0xca8fe9=_0x3af6cc[_0x197ae2];if(a0_0xca8f['HEUaQe']===undefined){var _0x370d95=function(_0x24ad94){const _0x3ee88e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29ec46='',_0x38dd14='';for(let _0x185a81=0x0,_0x14a7b8,_0x11dd1d,_0x5863ab=0x0;_0x11dd1d=_0x24ad94['charAt'](_0x5863ab++);~_0x11dd1d&&(_0x14a7b8=_0x185a81%0x4?_0x14a7b8*0x40+_0x11dd1d:_0x11dd1d,_0x185a81++%0x4)?_0x29ec46+=String['fromCharCode'](0xff&_0x14a7b8>>(-0x2*_0x185a81&0x6)):0x0){_0x11dd1d=_0x3ee88e['indexOf'](_0x11dd1d);}for(let _0x19ff2f=0x0,_0x4cfb0d=_0x29ec46['length'];_0x19ff2f<_0x4cfb0d;_0x19ff2f++){_0x38dd14+='%'+('00'+_0x29ec46['charCodeAt'](_0x19ff2f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x38dd14);};a0_0xca8f['PlImtn']=_0x370d95,a0_0xca8f['eQltFG']={},a0_0xca8f['HEUaQe']=!![];}const _0x9ac11a=_0x3af6cc[0x0],_0x254abf=_0x197ae2+_0x9ac11a,_0x3b839f=a0_0xca8f['eQltFG'][_0x254abf];return!_0x3b839f?(_0xca8fe9=a0_0xca8f['PlImtn'](_0xca8fe9),a0_0xca8f['eQltFG'][_0x254abf]=_0xca8fe9):_0xca8fe9=_0x3b839f,_0xca8fe9;}class PayloadLoader{constructor(){const _0x2e0f27=a0_0xca8f,_0x3f5c45={'yLlhN':'../../payload'};this['payloadDir']=path[_0x2e0f27(0xea)](__dirname,_0x3f5c45[_0x2e0f27(0xee)]),this[_0x2e0f27(0xf7)]=new Map();}async[a0_0x4df584(0xd2)](_0x3dddcc,_0x57903e){const _0x4ec802=a0_0x4df584,_0x519824={'qnNYq':'payload_loaded','EZCVd':_0x4ec802(0xeb)},_0x4ec9e2=_0x3dddcc+':'+_0x57903e;if(this[_0x4ec802(0xf7)][_0x4ec802(0xde)](_0x4ec9e2))return this[_0x4ec802(0xf7)]['get'](_0x4ec9e2);const _0x2c5432=path['join'](this['payloadDir'],_0x3dddcc+'_'+_0x57903e+_0x4ec802(0xf0));try{const _0x7b103=await fs['readFile'](_0x2c5432,'utf8'),_0x3f2046=JSON[_0x4ec802(0xf1)](_0x7b103);return this[_0x4ec802(0xf7)]['set'](_0x4ec9e2,_0x3f2046),logger['debug']({'event':_0x519824[_0x4ec802(0xd3)],'project':_0x3dddcc,'resource':_0x57903e},_0x4ec802(0xd4)),_0x3f2046;}catch(_0x48d564){logger[_0x4ec802(0xe4)]({'event':_0x519824['EZCVd'],'project':_0x3dddcc,'resource':_0x57903e,'error':_0x48d564['message']},_0x4ec802(0xdd));throw new Error('Payload\x20not\x20found:\x20'+_0x3dddcc+'_'+_0x57903e);}}async[a0_0x4df584(0xe6)](_0x260f3a){const _0x2ff1d7=a0_0x4df584,_0x4d1992={'cMVXU':_0x2ff1d7(0xe7)},_0x55153d='payload:'+_0x260f3a;if(this['cache'][_0x2ff1d7(0xde)](_0x55153d))return this['cache'][_0x2ff1d7(0xf6)](_0x55153d);const _0x50aaff=path[_0x2ff1d7(0xea)](this['payloadDir'],_0x260f3a+'.json');try{const _0x2b8df5=await fs[_0x2ff1d7(0xf2)](_0x50aaff,_0x2ff1d7(0xf3)),_0x5ec4c9=JSON['parse'](_0x2b8df5);return this[_0x2ff1d7(0xf7)][_0x2ff1d7(0xd1)](_0x55153d,_0x5ec4c9),logger['debug']({'event':'payload_loaded','payloadName':_0x260f3a},_0x4d1992['cMVXU']),_0x5ec4c9;}catch(_0x189712){logger[_0x2ff1d7(0xe4)]({'event':_0x2ff1d7(0xeb),'payloadName':_0x260f3a,'error':_0x189712['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x260f3a);}}['isActionEnabled'](_0x2a7ddc,_0x2c8fca){const _0x12b196=a0_0x4df584,_0x5cf383={'DYcAS':function(_0xc99240,_0x253c43){return _0xc99240===_0x253c43;}};return _0x2a7ddc['action']&&_0x5cf383[_0x12b196(0xd6)](_0x2a7ddc[_0x12b196(0xdc)][_0x2c8fca],!![]);}[a0_0x4df584(0xdb)](_0x2812ec){const _0x5217d1=a0_0x4df584;return{'columns':_0x2812ec[_0x5217d1(0xf4)]||[],'filename':_0x2812ec[_0x5217d1(0xe5)]['replace']('.','-')+'-export','datatablesQuery':_0x2812ec[_0x5217d1(0xdf)]||null,'columnFormats':_0x2812ec['columnFormats']||null,'fieldLabels':_0x2812ec[_0x5217d1(0xec)]||null};}['clearCache'](){const _0x9cd597=a0_0x4df584,_0x52e0a2={'bAiyH':_0x9cd597(0xe9),'ORqfV':_0x9cd597(0xf5)};this['cache']['clear'](),logger['info']({'event':_0x52e0a2[_0x9cd597(0xd5)]},_0x52e0a2['ORqfV']);}}module['exports']=new PayloadLoader();
1
+ function a0_0x308e(_0xaa78f7,_0x9dad4){_0xaa78f7=_0xaa78f7-0x1a9;const _0x5125bd=a0_0x5125();let _0x308e1b=_0x5125bd[_0xaa78f7];if(a0_0x308e['GMSIba']===undefined){var _0x55da7b=function(_0x53b244){const _0x6258b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a23f8='',_0x5d14dc='';for(let _0x3e1443=0x0,_0x55abeb,_0x3eed70,_0x487314=0x0;_0x3eed70=_0x53b244['charAt'](_0x487314++);~_0x3eed70&&(_0x55abeb=_0x3e1443%0x4?_0x55abeb*0x40+_0x3eed70:_0x3eed70,_0x3e1443++%0x4)?_0x5a23f8+=String['fromCharCode'](0xff&_0x55abeb>>(-0x2*_0x3e1443&0x6)):0x0){_0x3eed70=_0x6258b['indexOf'](_0x3eed70);}for(let _0x2b4cd5=0x0,_0x2962a0=_0x5a23f8['length'];_0x2b4cd5<_0x2962a0;_0x2b4cd5++){_0x5d14dc+='%'+('00'+_0x5a23f8['charCodeAt'](_0x2b4cd5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d14dc);};a0_0x308e['MHKjmC']=_0x55da7b,a0_0x308e['YPeXel']={},a0_0x308e['GMSIba']=!![];}const _0x538770=_0x5125bd[0x0],_0x13f70b=_0xaa78f7+_0x538770,_0x26b349=a0_0x308e['YPeXel'][_0x13f70b];return!_0x26b349?(_0x308e1b=a0_0x308e['MHKjmC'](_0x308e1b),a0_0x308e['YPeXel'][_0x13f70b]=_0x308e1b):_0x308e1b=_0x26b349,_0x308e1b;}const a0_0x2b3fae=a0_0x308e;(function(_0x19769a,_0x417530){const _0x2bf419=a0_0x308e,_0x5377e5=_0x19769a();while(!![]){try{const _0x2350f0=-parseInt(_0x2bf419(0x1b3))/0x1+parseInt(_0x2bf419(0x1b1))/0x2+parseInt(_0x2bf419(0x1ad))/0x3*(parseInt(_0x2bf419(0x1a9))/0x4)+-parseInt(_0x2bf419(0x1cd))/0x5+parseInt(_0x2bf419(0x1c2))/0x6+parseInt(_0x2bf419(0x1bf))/0x7*(-parseInt(_0x2bf419(0x1b2))/0x8)+parseInt(_0x2bf419(0x1aa))/0x9;if(_0x2350f0===_0x417530)break;else _0x5377e5['push'](_0x5377e5['shift']());}catch(_0x39c012){_0x5377e5['push'](_0x5377e5['shift']());}}}(a0_0x5125,0x4e583));function a0_0x5125(){const _0x5653fb=['y2XLyxjdywnOzq','Axnby3rPB25fBMfIBgvK','mJe2oezAyK9Lrq','mta5mduXmtf2v3borhG','ywn0Aw9U','Cgf5Bg9HzerPCG','mtmYnLjMtw1uCa','vfLnDxC','CgfYC2u','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mJC0nZrHywDVr1u','mJy5nLLTyxbIvG','ntGXmdqXBwrYD2P2','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','lMPZB24','BKnptLK','CwDiBgW','Aw5MBW','Cgf5Bg9Hzf9SB2fKzwq','z2v0rxHWB3j0q29UzMLN','CMvHzezPBgu','zxHWB3j0CW','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','mti1mJnLCxHzuge','y2fJAgu','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mtKYmdGXmefJBuP4sG','CMvWBgfJzq','zxjYB3i','vLnADMq','C2v0','lI4VlI4VCgf5Bg9Hza','DxrMoa','r3LOtfO','DgfIBgvoyw1L','ugf5Bg9HzcbUB3qGzM91BMq6ia','BwvZC2fNzq','mtqWmtqXmfDpwhLiyW','zgvIDwC','AM9PBG'];a0_0x5125=function(){return _0x5653fb;};return a0_0x5125();}const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x24c9a3=a0_0x308e;this[_0x24c9a3(0x1ac)]=path[_0x24c9a3(0x1cf)](__dirname,_0x24c9a3(0x1c7)),this[_0x24c9a3(0x1c0)]=new Map();}async['loadPayload'](_0x483cca,_0x4498d9){const _0x9c0ba6=a0_0x308e,_0x1bc018={'VSZvd':'payload_loaded','wOEiO':'payload_load_error','TYMuw':_0x9c0ba6(0x1b5)},_0x29d0f4=_0x483cca+':'+_0x4498d9;if(this[_0x9c0ba6(0x1c0)]['has'](_0x29d0f4))return this['cache']['get'](_0x29d0f4);const _0x877fe3=path['join'](this[_0x9c0ba6(0x1ac)],_0x483cca+'_'+_0x4498d9+'.json');try{const _0x3d014c=await fs['readFile'](_0x877fe3,_0x9c0ba6(0x1c8)),_0x1b054e=JSON[_0x9c0ba6(0x1af)](_0x3d014c);return this['cache'][_0x9c0ba6(0x1c6)](_0x29d0f4,_0x1b054e),logger['debug']({'event':_0x1bc018[_0x9c0ba6(0x1c5)],'project':_0x483cca,'resource':_0x4498d9},_0x9c0ba6(0x1be)),_0x1b054e;}catch(_0x1d46f5){logger[_0x9c0ba6(0x1c4)]({'event':_0x1bc018['wOEiO'],'project':_0x483cca,'resource':_0x4498d9,'error':_0x1d46f5[_0x9c0ba6(0x1cc)]},_0x1bc018[_0x9c0ba6(0x1ae)]);throw new Error('Payload\x20not\x20found:\x20'+_0x483cca+'_'+_0x4498d9);}}async['loadPayloadByName'](_0x25090e){const _0xa725e8=a0_0x308e,_0x3ad77b={'nCONY':'utf8','RNxZH':_0xa725e8(0x1ba)},_0x11b1d1='payload:'+_0x25090e;if(this['cache']['has'](_0x11b1d1))return this[_0xa725e8(0x1c0)]['get'](_0x11b1d1);const _0x1bc1f3=path[_0xa725e8(0x1cf)](this[_0xa725e8(0x1ac)],_0x25090e+_0xa725e8(0x1b6));try{const _0x3cab4b=await fs[_0xa725e8(0x1bc)](_0x1bc1f3,_0x3ad77b[_0xa725e8(0x1b7)]),_0x1d4b2c=JSON['parse'](_0x3cab4b);return this['cache'][_0xa725e8(0x1c6)](_0x11b1d1,_0x1d4b2c),logger[_0xa725e8(0x1ce)]({'event':_0x3ad77b['RNxZH'],'payloadName':_0x25090e},_0xa725e8(0x1b4)),_0x1d4b2c;}catch(_0x5d5cd2){logger[_0xa725e8(0x1c4)]({'event':_0xa725e8(0x1b0),'payloadName':_0x25090e,'error':_0x5d5cd2['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0xa725e8(0x1cb)+_0x25090e);}}[a0_0x2b3fae(0x1d1)](_0x467c20,_0x487b8d){const _0x2cc35e=a0_0x2b3fae,_0x437706={'qgHll':function(_0x1fc5e9,_0x5ea13b){return _0x1fc5e9===_0x5ea13b;}};return _0x467c20['action']&&_0x437706[_0x2cc35e(0x1b8)](_0x467c20[_0x2cc35e(0x1ab)][_0x487b8d],!![]);}[a0_0x2b3fae(0x1bb)](_0x16da0c){const _0x399cfe=a0_0x2b3fae;return{'columns':_0x16da0c['fieldName']||[],'filename':_0x16da0c[_0x399cfe(0x1ca)][_0x399cfe(0x1c3)]('.','-')+'-export','datatablesQuery':_0x16da0c['datatablesQuery']||null,'columnFormats':_0x16da0c['columnFormats']||null,'fieldLabels':_0x16da0c['fieldLabels']||null};}[a0_0x2b3fae(0x1d0)](){const _0x57919a=a0_0x2b3fae,_0x8e512c={'GyhLZ':'payload_cache_cleared','BcgrG':_0x57919a(0x1c1)};this[_0x57919a(0x1c0)]['clear'](),logger[_0x57919a(0x1b9)]({'event':_0x8e512c[_0x57919a(0x1c9)]},_0x8e512c['BcgrG']);}}module[a0_0x2b3fae(0x1bd)]=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';var a0_0x17bc74=a0_0x3571;(function(_0x20d37c,_0x405941){var _0x3221d2=a0_0x3571,_0x2bf9e0=_0x20d37c();while(!![]){try{var _0x22062f=parseInt(_0x3221d2(0x19a))/0x1*(-parseInt(_0x3221d2(0x19e))/0x2)+parseInt(_0x3221d2(0x19b))/0x3*(parseInt(_0x3221d2(0x19c))/0x4)+parseInt(_0x3221d2(0x1a4))/0x5*(parseInt(_0x3221d2(0x1a2))/0x6)+-parseInt(_0x3221d2(0x19d))/0x7+-parseInt(_0x3221d2(0x199))/0x8*(parseInt(_0x3221d2(0x198))/0x9)+parseInt(_0x3221d2(0x19f))/0xa+parseInt(_0x3221d2(0x1a1))/0xb;if(_0x22062f===_0x405941)break;else _0x2bf9e0['push'](_0x2bf9e0['shift']());}catch(_0x294c50){_0x2bf9e0['push'](_0x2bf9e0['shift']());}}}(a0_0x2611,0xdd837));function a0_0x3571(_0x383511,_0x1632ed){_0x383511=_0x383511-0x198;var _0x2611c9=a0_0x2611();var _0x3571aa=_0x2611c9[_0x383511];if(a0_0x3571['tXexLI']===undefined){var _0xf9485=function(_0x3c0d38){var _0x42eaed='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3681b4='',_0x38c015='';for(var _0x31fdbe=0x0,_0x331d73,_0x4e6206,_0x516a7d=0x0;_0x4e6206=_0x3c0d38['charAt'](_0x516a7d++);~_0x4e6206&&(_0x331d73=_0x31fdbe%0x4?_0x331d73*0x40+_0x4e6206:_0x4e6206,_0x31fdbe++%0x4)?_0x3681b4+=String['fromCharCode'](0xff&_0x331d73>>(-0x2*_0x31fdbe&0x6)):0x0){_0x4e6206=_0x42eaed['indexOf'](_0x4e6206);}for(var _0xce3ee3=0x0,_0x5682d6=_0x3681b4['length'];_0xce3ee3<_0x5682d6;_0xce3ee3++){_0x38c015+='%'+('00'+_0x3681b4['charCodeAt'](_0xce3ee3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x38c015);};a0_0x3571['SAAxSb']=_0xf9485,a0_0x3571['VJeShM']={},a0_0x3571['tXexLI']=!![];}var _0x53bad9=_0x2611c9[0x0],_0x4fbc70=_0x383511+_0x53bad9,_0xd5bb7f=a0_0x3571['VJeShM'][_0x4fbc70];return!_0xd5bb7f?(_0x3571aa=a0_0x3571['SAAxSb'](_0x3571aa),a0_0x3571['VJeShM'][_0x4fbc70]=_0x3571aa):_0x3571aa=_0xd5bb7f,_0x3571aa;}function createResponse(_0xe5e6df,_0x23efb0,_0x45500d=null){var _0x55d2c1=a0_0x3571;return{'success':!![],'statusCode':_0xe5e6df,'message':_0x23efb0,'data':_0x45500d,'timestamp':new Date()[_0x55d2c1(0x1a3)]()};}function createError(_0x1aaabd,_0x51e252,_0x4e107d=null){var _0x3ddd07=a0_0x3571;return{'success':![],'statusCode':_0x1aaabd,'message':_0x51e252,'data':_0x4e107d,'timestamp':new Date()[_0x3ddd07(0x1a3)]()};}function createValidationError(_0x124c10,_0x56dfe8){return{'success':![],'statusCode':0x190,'message':_0x124c10,'data':{'errors':_0x56dfe8},'timestamp':new Date()['toISOString']()};}function a0_0x2611(){var _0x556cfe=['nJqXne1bEenyuG','Dg9ju09tDhjPBMC','nduWnuvRwgPIzG','nZq5ndy2BeHhuxvh','oenKzNvWDW','mti3mJqYn2PTrgzIAq','ntu3odeXAwTVAuLr','mtj5BeTQt1G','otq0nZyWnKLltNPRCq','mKTcD0fLsq','mtu2odC0mhj3B3njzq','zxHWB3j0CW','mJeYodmWnJrbr2TrzNm'];a0_0x2611=function(){return _0x556cfe;};return a0_0x2611();}module[a0_0x17bc74(0x1a0)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';var a0_0x1210d3=a0_0x4e95;(function(_0x4af298,_0x1d317b){var _0x31adc7=a0_0x4e95,_0x5282ec=_0x4af298();while(!![]){try{var _0x4f3566=-parseInt(_0x31adc7(0x19a))/0x1*(-parseInt(_0x31adc7(0x191))/0x2)+parseInt(_0x31adc7(0x193))/0x3+-parseInt(_0x31adc7(0x194))/0x4*(parseInt(_0x31adc7(0x197))/0x5)+-parseInt(_0x31adc7(0x192))/0x6*(-parseInt(_0x31adc7(0x190))/0x7)+parseInt(_0x31adc7(0x196))/0x8*(parseInt(_0x31adc7(0x19b))/0x9)+-parseInt(_0x31adc7(0x199))/0xa*(-parseInt(_0x31adc7(0x18f))/0xb)+-parseInt(_0x31adc7(0x19c))/0xc;if(_0x4f3566===_0x1d317b)break;else _0x5282ec['push'](_0x5282ec['shift']());}catch(_0x4e8017){_0x5282ec['push'](_0x5282ec['shift']());}}}(a0_0xdf1c,0xefb6f));function a0_0x4e95(_0x1cdf2c,_0x329877){_0x1cdf2c=_0x1cdf2c-0x18f;var _0xdf1c00=a0_0xdf1c();var _0x4e958e=_0xdf1c00[_0x1cdf2c];if(a0_0x4e95['hbxmNe']===undefined){var _0x177ad9=function(_0x25b060){var _0x1dfc92='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x51b8be='',_0x532895='';for(var _0x3f401e=0x0,_0x5c7db7,_0x15620b,_0x13b976=0x0;_0x15620b=_0x25b060['charAt'](_0x13b976++);~_0x15620b&&(_0x5c7db7=_0x3f401e%0x4?_0x5c7db7*0x40+_0x15620b:_0x15620b,_0x3f401e++%0x4)?_0x51b8be+=String['fromCharCode'](0xff&_0x5c7db7>>(-0x2*_0x3f401e&0x6)):0x0){_0x15620b=_0x1dfc92['indexOf'](_0x15620b);}for(var _0x96d0b8=0x0,_0x5c57cc=_0x51b8be['length'];_0x96d0b8<_0x5c57cc;_0x96d0b8++){_0x532895+='%'+('00'+_0x51b8be['charCodeAt'](_0x96d0b8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x532895);};a0_0x4e95['KorgOs']=_0x177ad9,a0_0x4e95['GsijMO']={},a0_0x4e95['hbxmNe']=!![];}var _0x108aef=_0xdf1c00[0x0],_0x25618f=_0x1cdf2c+_0x108aef,_0x31bb44=a0_0x4e95['GsijMO'][_0x25618f];return!_0x31bb44?(_0x4e958e=a0_0x4e95['KorgOs'](_0x4e958e),a0_0x4e95['GsijMO'][_0x25618f]=_0x4e958e):_0x4e958e=_0x31bb44,_0x4e958e;}function createResponse(_0x415292,_0x6b98da,_0x1a9326=null){var _0x3b3f02=a0_0x4e95;return{'success':!![],'statusCode':_0x415292,'message':_0x6b98da,'data':_0x1a9326,'timestamp':new Date()[_0x3b3f02(0x198)]()};}function createError(_0x34d577,_0x5b0353,_0x4769cc=null){var _0x5d0b04=a0_0x4e95;return{'success':![],'statusCode':_0x34d577,'message':_0x5b0353,'data':_0x4769cc,'timestamp':new Date()[_0x5d0b04(0x198)]()};}function createValidationError(_0x1b5843,_0x142b89){return{'success':![],'statusCode':0x190,'message':_0x1b5843,'data':{'errors':_0x142b89},'timestamp':new Date()['toISOString']()};}function a0_0xdf1c(){var _0x2ada99=['ntaXm3zTqLbQEG','nde0otuWnZzgrevAteS','mZqXota3nuTVDgHYra','nJCWotq0neXoruzmwq','nda0ELDJEfjX','nLvXA1nXDa','ndu0nZuWnwrtzwDdCW','ngrKyKTXra','zxHWB3j0CW','mtG3ntjjrwHLywu','mZKXndyWnxbmvhvquG','Dg9ju09tDhjPBMC','mJbswKL3C3e','nda2nuDby1rJua'];a0_0xdf1c=function(){return _0x2ada99;};return a0_0xdf1c();}module[a0_0x1210d3(0x195)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x5962f1=a0_0x13d3;function a0_0x3b07(){const _0x18fcd7=['nZe0mJC4B3vkzfnH','odm3nti0oej2C1bKEa','BwvZC2fNzq','BLvYy0G','mtm2nZu0mJrZEufKEg4','zw52','zgLYzwn0','xsbszxrYEsbXDwv1zsa','xsbrDwv1zsa','zg90zw52','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','zxHWB3j0CW','CxvLDwu','uKfcqKLutvfFuK9vveLor19lrvK','xsbcAw5KAw5Nia','Aw5LCxvPDMfSzw50igfYzW','mZu0nZuYmxvSu1ntrW','mtbWse1zAhm','zxjYB3i','ndvHrKDUzeW','rxnXv1e','zM91BMq','Bg9N','yw1XCgXPyG','yMLUzff1zxvL','uKfcqKLutvfFvvjm','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','ndy0mdm2oe5nzvresW','wLvOrhC','Aw5JBhvKzxm','m0nLCuHwwa','x3jLDhj5','uKfcqKLutvfFuvvfvuu','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','ndmYmZK2yK9XCwnw','yNPRBeq','mJq4mtmYofrSsKP5Ea','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','zxHPDa','xsbfEgnOyw5Nzsa','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','xsbszxrYEsbIAw5KAw5NigzVCIa'];a0_0x3b07=function(){return _0x18fcd7;};return a0_0x3b07();}(function(_0x9ac943,_0x27561d){const _0xea6799=a0_0x13d3,_0xc7beb7=_0x9ac943();while(!![]){try{const _0x2abf4e=parseInt(_0xea6799(0xe4))/0x1+-parseInt(_0xea6799(0xde))/0x2+-parseInt(_0xea6799(0xd7))/0x3*(parseInt(_0xea6799(0xd4))/0x4)+parseInt(_0xea6799(0xcc))/0x5*(-parseInt(_0xea6799(0xdc))/0x6)+parseInt(_0xea6799(0xe5))/0x7+parseInt(_0xea6799(0xbd))/0x8+-parseInt(_0xea6799(0xc9))/0x9*(-parseInt(_0xea6799(0xca))/0xa);if(_0x2abf4e===_0x27561d)break;else _0xc7beb7['push'](_0xc7beb7['shift']());}catch(_0x24715f){_0xc7beb7['push'](_0xc7beb7['shift']());}}}(a0_0x3b07,0xeb97d),require(a0_0x5962f1(0xc2))['config']());const amqp=require(a0_0x5962f1(0xd0)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x5962f1(0xd2)],EXCHANGE=process[a0_0x5962f1(0xbe)]['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x5962f1(0xbe)][a0_0x5962f1(0xc6)],QUEUE=process['env'][a0_0x5962f1(0xd9)];async function createConnection(){const _0x215fb2=a0_0x5962f1,_0x280cdc={'bzklD':function(_0x7dde92,_0x1f0c1b){return _0x7dde92(_0x1f0c1b);}};try{const _0x2d0fd2=await amqp['connect'](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+_0x215fb2(0xc3)),_0x2d0fd2;}catch(_0x5a69e3){console[_0x215fb2(0xcb)]('['+_0x280cdc[_0x215fb2(0xdd)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x5a69e3[_0x215fb2(0xe6)]);throw _0x5a69e3;}}function a0_0x13d3(_0x3ece01,_0x427cb4){_0x3ece01=_0x3ece01-0xbd;const _0x3b0742=a0_0x3b07();let _0x13d32d=_0x3b0742[_0x3ece01];if(a0_0x13d3['YRFdhb']===undefined){var _0x3ded85=function(_0x509340){const _0x1e787a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19d18c='',_0x257b78='';for(let _0x52dc71=0x0,_0x1702b8,_0x455859,_0x2eb082=0x0;_0x455859=_0x509340['charAt'](_0x2eb082++);~_0x455859&&(_0x1702b8=_0x52dc71%0x4?_0x1702b8*0x40+_0x455859:_0x455859,_0x52dc71++%0x4)?_0x19d18c+=String['fromCharCode'](0xff&_0x1702b8>>(-0x2*_0x52dc71&0x6)):0x0){_0x455859=_0x1e787a['indexOf'](_0x455859);}for(let _0x39a453=0x0,_0x375b31=_0x19d18c['length'];_0x39a453<_0x375b31;_0x39a453++){_0x257b78+='%'+('00'+_0x19d18c['charCodeAt'](_0x39a453)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x257b78);};a0_0x13d3['exPUBf']=_0x3ded85,a0_0x13d3['TaEyep']={},a0_0x13d3['YRFdhb']=!![];}const _0x23b0aa=_0x3b0742[0x0],_0x4a9a43=_0x3ece01+_0x23b0aa,_0x5521b6=a0_0x13d3['TaEyep'][_0x4a9a43];return!_0x5521b6?(_0x13d32d=a0_0x13d3['exPUBf'](_0x13d32d),a0_0x13d3['TaEyep'][_0x4a9a43]=_0x13d32d):_0x13d32d=_0x5521b6,_0x13d32d;}async function createChannel(_0x2269d7){const _0x22bf39=a0_0x5962f1,_0xdc8b48={'ZUhDw':function(_0x4ef092,_0x2802ab){return _0x4ef092(_0x2802ab);}};try{const _0x18ca80=await _0x2269d7['createChannel']();return console[_0x22bf39(0xcf)]('['+formatDate(new Date())+_0x22bf39(0xd3)),_0x18ca80;}catch(_0x5baf38){console['error']('['+_0xdc8b48[_0x22bf39(0xd5)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x5baf38[_0x22bf39(0xe6)]);throw _0x5baf38;}}async function setupInfrastructure(_0x3d0a4a){const _0x589188=a0_0x5962f1,_0x13fa3c={'nUrcH':function(_0x5346b2,_0x492a1f){return _0x5346b2(_0x492a1f);},'EsqWQ':'retry-exchange'};try{await _0x3d0a4a['assertExchange']('retry-exchange','direct',{'durable':!![],'autoDelete':![]}),console[_0x589188(0xcf)]('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x1f8dc0){console[_0x589188(0xcb)]('['+_0x13fa3c[_0x589188(0xe7)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x1f8dc0[_0x589188(0xe6)]);throw _0x1f8dc0;}try{await _0x3d0a4a['assertExchange'](EXCHANGE,_0x589188(0xbf),{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x589188(0xe1)+EXCHANGE+'\x20created/ready');}catch(_0x34016d){console[_0x589188(0xcb)]('['+formatDate(new Date())+_0x589188(0xdf)+EXCHANGE+':',_0x34016d[_0x589188(0xe6)]);throw _0x34016d;}const _0x591845=ROUTING_KEY+_0x589188(0xd8);try{const _0x363cbe={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x3d0a4a['assertQueue'](_0x591845,_0x363cbe),console[_0x589188(0xcf)]('['+_0x13fa3c[_0x589188(0xe7)](formatDate,new Date())+_0x589188(0xc0)+_0x591845+'\x20created/ready'),await _0x3d0a4a[_0x589188(0xd1)](_0x591845,_0x13fa3c['EsqWQ'],ROUTING_KEY),console[_0x589188(0xcf)]('['+formatDate(new Date())+_0x589188(0xe3)+ROUTING_KEY+'\x20created');}catch(_0x5d6611){console[_0x589188(0xcb)]('['+_0x13fa3c['nUrcH'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x5d6611['message']);throw _0x5d6611;}try{const _0x37e033={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x13fa3c[_0x589188(0xcd)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x288be8=await _0x3d0a4a['assertQueue'](QUEUE,_0x37e033);console[_0x589188(0xcf)]('['+formatDate(new Date())+_0x589188(0xc1)+QUEUE+'\x20'+(_0x288be8[_0x589188(0xc5)]===QUEUE?'created/ready':_0x589188(0xce))+'\x20with\x20DLX'),await _0x3d0a4a['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x589188(0xcf)]('['+_0x13fa3c['nUrcH'](formatDate,new Date())+_0x589188(0xc7)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x49a028){if(_0x49a028['message']['includes']('inequivalent\x20arg')&&_0x49a028['message'][_0x589188(0xd6)](_0x589188(0xdb)))console[_0x589188(0xcb)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x589188(0xcb)]('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x589188(0xcb)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x589188(0xe0)](0x1);else{console[_0x589188(0xcb)]('['+formatDate(new Date())+_0x589188(0xda)+QUEUE+':',_0x49a028[_0x589188(0xe6)]);throw _0x49a028;}}}catch(_0x5eab9d){if(!_0x5eab9d['message']['includes'](_0x589188(0xc8))){console[_0x589188(0xcb)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x5eab9d[_0x589188(0xe6)]);throw _0x5eab9d;}process['exit'](0x1);}}async function closeConnection(_0xd80f04){const _0x326328=a0_0x5962f1;if(_0xd80f04)try{await _0xd80f04['close'](),console[_0x326328(0xcf)]('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x12f334){console[_0x326328(0xcb)]('['+formatDate(new Date())+_0x326328(0xe2)+_0x12f334['message']);}}module[a0_0x5962f1(0xc4)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x2bebf1=a0_0x560d;(function(_0x183efd,_0x3a062a){const _0x4e1748=a0_0x560d,_0x54a394=_0x183efd();while(!![]){try{const _0x28309f=parseInt(_0x4e1748(0x8e))/0x1*(-parseInt(_0x4e1748(0x80))/0x2)+parseInt(_0x4e1748(0x74))/0x3*(-parseInt(_0x4e1748(0x9d))/0x4)+-parseInt(_0x4e1748(0x77))/0x5*(parseInt(_0x4e1748(0x94))/0x6)+-parseInt(_0x4e1748(0x75))/0x7+-parseInt(_0x4e1748(0x8c))/0x8*(parseInt(_0x4e1748(0x8f))/0x9)+parseInt(_0x4e1748(0x99))/0xa+-parseInt(_0x4e1748(0x9b))/0xb*(-parseInt(_0x4e1748(0x87))/0xc);if(_0x28309f===_0x3a062a)break;else _0x54a394['push'](_0x54a394['shift']());}catch(_0x483744){_0x54a394['push'](_0x54a394['shift']());}}}(a0_0x4c4e,0x65bdd),require('dotenv')['config']());function a0_0x560d(_0x31c24e,_0xc53de4){_0x31c24e=_0x31c24e-0x70;const _0x4c4e00=a0_0x4c4e();let _0x560dbc=_0x4c4e00[_0x31c24e];if(a0_0x560d['WEhdUr']===undefined){var _0x4b24f1=function(_0x32ea1b){const _0x31c6c3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc3c16c='',_0x49a7b0='';for(let _0x216755=0x0,_0x49f339,_0x1f3e81,_0x15f891=0x0;_0x1f3e81=_0x32ea1b['charAt'](_0x15f891++);~_0x1f3e81&&(_0x49f339=_0x216755%0x4?_0x49f339*0x40+_0x1f3e81:_0x1f3e81,_0x216755++%0x4)?_0xc3c16c+=String['fromCharCode'](0xff&_0x49f339>>(-0x2*_0x216755&0x6)):0x0){_0x1f3e81=_0x31c6c3['indexOf'](_0x1f3e81);}for(let _0x507b5b=0x0,_0x3d07bf=_0xc3c16c['length'];_0x507b5b<_0x3d07bf;_0x507b5b++){_0x49a7b0+='%'+('00'+_0xc3c16c['charCodeAt'](_0x507b5b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49a7b0);};a0_0x560d['DwUAcd']=_0x4b24f1,a0_0x560d['oOOhVG']={},a0_0x560d['WEhdUr']=!![];}const _0x53de94=_0x4c4e00[0x0],_0x404bc8=_0x31c24e+_0x53de94,_0x1d402e=a0_0x560d['oOOhVG'][_0x404bc8];return!_0x1d402e?(_0x560dbc=a0_0x560d['DwUAcd'](_0x560dbc),a0_0x560d['oOOhVG'][_0x404bc8]=_0x560dbc):_0x560dbc=_0x1d402e,_0x560dbc;}const amqp=require(a0_0x2bebf1(0x9a)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process['env'][a0_0x2bebf1(0x90)],ROUTING_KEY=process['env'][a0_0x2bebf1(0x89)],QUEUE=process[a0_0x2bebf1(0x92)][a0_0x2bebf1(0x86)];async function createConnection(){const _0x4668b7=a0_0x2bebf1,_0x15ba87={'qZCYV':function(_0x119c22,_0x20903f){return _0x119c22(_0x20903f);}};try{const _0x155363=await amqp['connect'](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x155363;}catch(_0x478ea1){console[_0x4668b7(0x98)]('['+_0x15ba87['qZCYV'](formatDate,new Date())+_0x4668b7(0x91)+_0x478ea1[_0x4668b7(0x83)]);throw _0x478ea1;}}async function createChannel(_0x1904e1){const _0x5873ea=a0_0x2bebf1,_0x1de60d={'ORWtA':function(_0x287776,_0x1f1859){return _0x287776(_0x1f1859);}};try{const _0x95d8a9=await _0x1904e1[_0x5873ea(0x81)]();return console[_0x5873ea(0x9f)]('['+formatDate(new Date())+_0x5873ea(0x82)),_0x95d8a9;}catch(_0x433966){console[_0x5873ea(0x98)]('['+_0x1de60d[_0x5873ea(0x7b)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x433966['message']);throw _0x433966;}}function a0_0x4c4e(){const _0x387f8e=['nZa0mhvgshrJBq','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','mJi4EuDjrKPN','zgLYzwn0','Bg9N','D3bgswy','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','wg1sCxO','x3jLDhj5','mtuXnZfdsvfLAgu','mZu2otiZn3nLte9uyW','Aw5JBhvKzxm','nufsEKHvEa','CMv0CNKTzxHJAgfUz2u','zxHWB3j0CW','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','t1jxDee','yxnZzxj0rxHJAgfUz2u','yMLUzff1zxvL','ywPVyuK','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','mLPRvLjzva','y3jLyxrLq2HHBM5LBa','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','BwvZC2fNzq','yxnZzxj0uxvLDwu','zfrlAgy','uKfcqKLutvfFuvvfvuu','ndu4mtzJzfryt1G','ic0+ia','uKfcqKLutvfFuK9vveLor19lrvK','xsbszxrYEsbXDwv1zsa','Aw5LCxvPDMfSzw50igfYzW','ofPkuwzQAq','wgLKtLu','nta4ntyXqKfLsujc','nte4ntKZnxD6y3zJAq','uKfcqKLutvfFrvHdsefor0u','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','zw52','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','mti1odu5mfzUwwzpBW','zxHPDa','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','ihDPDgGGreXy','zxjYB3i','nJu4otqWu0zTsNn2','yw1XCgXPyG'];a0_0x4c4e=function(){return _0x387f8e;};return a0_0x4c4e();}async function setupInfrastructure(_0x401d06){const _0x3ad27f=a0_0x2bebf1,_0xddbc9c={'XidNU':'retry-exchange','wpFIf':'direct','XmRqz':function(_0x53ef32,_0x2525dd){return _0x53ef32(_0x2525dd);},'ajoaI':function(_0x44c078,_0x572c0f){return _0x44c078(_0x572c0f);},'qdcqr':'created/ready','dTKhf':'found','ZpASO':function(_0x24d42c,_0x35060b){return _0x24d42c(_0x35060b);},'TdzMM':'inequivalent\x20arg','vyDje':_0x3ad27f(0x96),'UdsDN':function(_0xe59d10,_0x58a0c6){return _0xe59d10(_0x58a0c6);}};try{await _0x401d06[_0x3ad27f(0x7c)](_0xddbc9c[_0x3ad27f(0x8d)],_0x3ad27f(0x9e),{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x313aac){console[_0x3ad27f(0x98)]('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x313aac['message']);throw _0x313aac;}try{await _0x401d06['assertExchange'](EXCHANGE,_0xddbc9c[_0x3ad27f(0x70)],{'durable':!![],'autoDelete':![]}),console[_0x3ad27f(0x9f)]('['+_0xddbc9c[_0x3ad27f(0x72)](formatDate,new Date())+']\x20Exchange\x20'+EXCHANGE+'\x20created/ready');}catch(_0x4bdf35){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x4bdf35[_0x3ad27f(0x83)]);throw _0x4bdf35;}const _0x4f2c37=ROUTING_KEY+_0x3ad27f(0x73);try{const _0x2ab07a={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x401d06['assertQueue'](_0x4f2c37,_0x2ab07a),console['log']('['+formatDate(new Date())+_0x3ad27f(0x8a)+_0x4f2c37+'\x20created/ready'),await _0x401d06[_0x3ad27f(0x7d)](_0x4f2c37,_0x3ad27f(0x78),ROUTING_KEY),console[_0x3ad27f(0x9f)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x1f5f5e){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x1f5f5e['message']);throw _0x1f5f5e;}try{const _0x1a31b1={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x533a69=await _0x401d06[_0x3ad27f(0x84)](QUEUE,_0x1a31b1);console['log']('['+_0xddbc9c['ajoaI'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x533a69['queue']===QUEUE?_0xddbc9c['qdcqr']:_0xddbc9c[_0x3ad27f(0x85)])+_0x3ad27f(0x97)),await _0x401d06['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x3ad27f(0x9f)]('['+_0xddbc9c['ZpASO'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x3ad27f(0x88)+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x966046){if(_0x966046['message']['includes'](_0xddbc9c['TdzMM'])&&_0x966046['message'][_0x3ad27f(0x76)](_0xddbc9c['vyDje']))console[_0x3ad27f(0x98)]('\x0a['+_0xddbc9c[_0x3ad27f(0x7e)](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x3ad27f(0x93)),console['error']('Queue\x20'+QUEUE+_0x3ad27f(0x71)),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x3ad27f(0x95)](0x1);else{console[_0x3ad27f(0x98)]('['+formatDate(new Date())+_0x3ad27f(0x7a)+QUEUE+':',_0x966046['message']);throw _0x966046;}}}catch(_0x596dd6){if(!_0x596dd6[_0x3ad27f(0x83)]['includes'](_0x3ad27f(0x8b))){console[_0x3ad27f(0x98)]('['+_0xddbc9c['UdsDN'](formatDate,new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x596dd6['message']);throw _0x596dd6;}process['exit'](0x1);}}async function closeConnection(_0x3742f1){const _0x5e3c3f=a0_0x2bebf1;if(_0x3742f1)try{await _0x3742f1['close'](),console[_0x5e3c3f(0x9f)]('['+formatDate(new Date())+_0x5e3c3f(0x7f));}catch(_0x17aeb8){console[_0x5e3c3f(0x98)]('['+formatDate(new Date())+_0x5e3c3f(0x9c)+_0x17aeb8['message']);}}module[a0_0x2bebf1(0x79)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- const a0_0x35b808=a0_0xef60;function a0_0xef60(_0x1548f9,_0x4e47c8){_0x1548f9=_0x1548f9-0x191;const _0x3a67bd=a0_0x3a67();let _0xef6043=_0x3a67bd[_0x1548f9];if(a0_0xef60['ZYDDEE']===undefined){var _0x1a1d70=function(_0x57d9a5){const _0xbad079='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53ccc2='',_0x436693='';for(let _0x3ab1ae=0x0,_0x4c6393,_0x828218,_0x2d4b73=0x0;_0x828218=_0x57d9a5['charAt'](_0x2d4b73++);~_0x828218&&(_0x4c6393=_0x3ab1ae%0x4?_0x4c6393*0x40+_0x828218:_0x828218,_0x3ab1ae++%0x4)?_0x53ccc2+=String['fromCharCode'](0xff&_0x4c6393>>(-0x2*_0x3ab1ae&0x6)):0x0){_0x828218=_0xbad079['indexOf'](_0x828218);}for(let _0x4f04cc=0x0,_0x30e300=_0x53ccc2['length'];_0x4f04cc<_0x30e300;_0x4f04cc++){_0x436693+='%'+('00'+_0x53ccc2['charCodeAt'](_0x4f04cc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x436693);};a0_0xef60['UqpjHv']=_0x1a1d70,a0_0xef60['qwlIeq']={},a0_0xef60['ZYDDEE']=!![];}const _0x59e522=_0x3a67bd[0x0],_0x5a4fb6=_0x1548f9+_0x59e522,_0x27070e=a0_0xef60['qwlIeq'][_0x5a4fb6];return!_0x27070e?(_0xef6043=a0_0xef60['UqpjHv'](_0xef6043),a0_0xef60['qwlIeq'][_0x5a4fb6]=_0xef6043):_0xef6043=_0x27070e,_0xef6043;}function a0_0x3a67(){const _0x585ece=['r1Dyt0S','ndm3nJG4CvbNDujT','zw52','uMvKAxmGueLorYb0Aw1LB3v0','CMvKAxnFy29UBMvJDgvK','BwLU','zM9Yy2veAxnJB25Uzwn0','mte3nJK4mxjkEeHODa','CMvKAxnFAw5PDf9LCNjVCG','mte3mZeYnKDnt3fpuW','CMfJzq','uKvesvnFrei','wejvA20','mtGWntiWnvLhwNz5yG','mJiWndmYmgHkEM1qwq','Aw5MBW','z2v0q2XPzw50','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','reXLC1y','y2XPzw50','Bg9JywXOB3n0','BwvZC2fNzq','mtGWBLLTCKv0','mtaZmLP0t2nZvG','y29UBMvJDa','AxndB25Uzwn0zwq','ntC3nZHwBLnbD1m','Aw9YzwrPCW','D2fYBG','CMvKAxnFzxjYB3i','zxjYB3i','ndD0BwTWr2G','mtq5mZHWvMP3BMS','zxHWB3j0CW'];a0_0x3a67=function(){return _0x585ece;};return a0_0x3a67();}(function(_0x115545,_0x4f49d5){const _0x825b41=a0_0xef60,_0xc9659=_0x115545();while(!![]){try{const _0x51bfd7=-parseInt(_0x825b41(0x1ab))/0x1*(parseInt(_0x825b41(0x1ac))/0x2)+parseInt(_0x825b41(0x193))/0x3+parseInt(_0x825b41(0x19a))/0x4+parseInt(_0x825b41(0x199))/0x5+-parseInt(_0x825b41(0x195))/0x6+-parseInt(_0x825b41(0x1a6))/0x7*(parseInt(_0x825b41(0x1a3))/0x8)+parseInt(_0x825b41(0x1af))/0x9*(parseInt(_0x825b41(0x1a2))/0xa);if(_0x51bfd7===_0x4f49d5)break;else _0xc9659['push'](_0xc9659['shift']());}catch(_0x3eff14){_0xc9659['push'](_0xc9659['shift']());}}}(a0_0x3a67,0x8acae));const Redis=require(a0_0x35b808(0x1a7)),{logger}=require('./logger');class RedisClient{constructor(){const _0x31ad7d=a0_0x35b808;this['client']=null,this[_0x31ad7d(0x1a5)]=![];}[a0_0x35b808(0x1a4)](){const _0x19518b=a0_0x35b808,_0x2a3a32={'QqlWM':'Redis\x20connected\x20successfully','zmfkF':_0x19518b(0x1a9),'GWXOK':'redis_disconnected','DLesV':'Redis\x20connection\x20closed','kbSVo':_0x19518b(0x1a0),'QTSBW':_0x19518b(0x1a4),'bOGRq':'error','syaIk':'close','XBUkm':'Failed\x20to\x20initialize\x20Redis'};if(this[_0x19518b(0x19f)])return this['client'];try{return this['client']=new Redis({'host':process['env']['REDIS_HOST']||_0x2a3a32['kbSVo'],'port':parseInt(process[_0x19518b(0x1b0)]['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x19518b(0x1b0)]['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x19518b(0x1b0)][_0x19518b(0x197)],0xa)||0x0,'retryStrategy'(_0x76b221){const _0x4f5c4d=_0x19518b,_0x1b55bb=Math[_0x4f5c4d(0x191)](_0x76b221*0x32,0x7d0);return _0x1b55bb;}}),this[_0x19518b(0x19f)]['on'](_0x2a3a32['QTSBW'],()=>{const _0x26632c=_0x19518b;this['isConnected']=!![],logger[_0x26632c(0x19b)]({'event':_0x26632c(0x1b2)},_0x2a3a32['QqlWM']);}),this['client']['on'](_0x2a3a32['bOGRq'],_0x4c44b0=>{const _0x1ee92f=_0x19518b;this['isConnected']=![],logger['error']({'event':_0x2a3a32['zmfkF'],'error':_0x4c44b0[_0x1ee92f(0x1a1)]},_0x1ee92f(0x19d)+_0x4c44b0[_0x1ee92f(0x1a1)]);}),this['client']['on'](_0x2a3a32['syaIk'],()=>{const _0x2a58e5=_0x19518b;this['isConnected']=![],logger[_0x2a58e5(0x1a8)]({'event':_0x2a3a32[_0x2a58e5(0x1ae)]},_0x2a3a32[_0x2a58e5(0x19e)]);}),this[_0x19518b(0x19f)];}catch(_0x4a73ad){logger[_0x19518b(0x1aa)]({'event':_0x19518b(0x194),'error':_0x4a73ad[_0x19518b(0x1a1)]},_0x2a3a32[_0x19518b(0x198)]);throw _0x4a73ad;}}[a0_0x35b808(0x19c)](){return!this['client']&&this['connect'](),this['client'];}async['ping'](_0x4a6467=0x1388){const _0x23a91f=a0_0x35b808,_0x50a075={'EsJGd':function(_0x5cc7b2,_0x1789b3){return _0x5cc7b2===_0x1789b3;},'EzkRu':'PONG'};try{const _0x41fb33=this[_0x23a91f(0x19c)](),_0x443235=await Promise[_0x23a91f(0x196)]([_0x41fb33['ping'](),new Promise((_0x3d5922,_0x842cc8)=>setTimeout(()=>_0x842cc8(new Error(_0x23a91f(0x1b1))),_0x4a6467))]);return _0x50a075['EsJGd'](_0x443235,_0x50a075['EzkRu']);}catch(_0xeb44b1){return![];}}async['disconnect'](){const _0x21e574=a0_0x35b808;this[_0x21e574(0x19f)]&&(await this['client']['quit'](),this['client']=null,this[_0x21e574(0x1a5)]=![]);}[a0_0x35b808(0x192)](){const _0x208838=a0_0x35b808;this[_0x208838(0x19f)]&&(this[_0x208838(0x19f)]['disconnect'](),this[_0x208838(0x19f)]=null,this['isConnected']=![]);}}module[a0_0x35b808(0x1ad)]=new RedisClient();
1
+ const a0_0x3c1b96=a0_0x1373;(function(_0x21a755,_0x30015d){const _0x18e6c7=a0_0x1373,_0x22422c=_0x21a755();while(!![]){try{const _0x1ce0ac=-parseInt(_0x18e6c7(0x15d))/0x1*(-parseInt(_0x18e6c7(0x155))/0x2)+-parseInt(_0x18e6c7(0x14e))/0x3*(parseInt(_0x18e6c7(0x158))/0x4)+parseInt(_0x18e6c7(0x150))/0x5+-parseInt(_0x18e6c7(0x156))/0x6+parseInt(_0x18e6c7(0x15c))/0x7+parseInt(_0x18e6c7(0x166))/0x8+-parseInt(_0x18e6c7(0x16d))/0x9*(parseInt(_0x18e6c7(0x167))/0xa);if(_0x1ce0ac===_0x30015d)break;else _0x22422c['push'](_0x22422c['shift']());}catch(_0x70fd1b){_0x22422c['push'](_0x22422c['shift']());}}}(a0_0x5e21,0x6456f));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0xc9bd82=a0_0x1373,_0x17a926={'DqgVP':function(_0xca3e41,_0x444e23){return _0xca3e41*_0x444e23;},'dJloT':_0xc9bd82(0x164),'CIzeN':_0xc9bd82(0x159),'rOffF':'localhost','YrtMG':_0xc9bd82(0x16c)};if(this[_0xc9bd82(0x16b)])return this['client'];try{return this[_0xc9bd82(0x16b)]=new Redis({'host':process[_0xc9bd82(0x169)]['REDIS_HOST']||_0x17a926['rOffF'],'port':parseInt(process[_0xc9bd82(0x169)]['REDIS_PORT'],0xa)||0x18ec,'password':process[_0xc9bd82(0x169)][_0xc9bd82(0x153)]||undefined,'db':parseInt(process[_0xc9bd82(0x169)][_0xc9bd82(0x15e)],0xa)||0x0,'retryStrategy'(_0x59c023){const _0x4027be=_0xc9bd82,_0x49c891=Math[_0x4027be(0x14f)](_0x17a926[_0x4027be(0x154)](_0x59c023,0x32),0x7d0);return _0x49c891;}}),this['client']['on']('connect',()=>{const _0x69fffa=_0xc9bd82;this['isConnected']=!![],logger[_0x69fffa(0x168)]({'event':_0x17a926['dJloT']},_0x69fffa(0x163));}),this['client']['on'](_0x17a926[_0xc9bd82(0x160)],_0x189a30=>{const _0x29ac82=_0xc9bd82;this[_0x29ac82(0x15f)]=![],logger[_0x29ac82(0x16c)]({'event':_0x29ac82(0x151),'error':_0x189a30[_0x29ac82(0x157)]},'Redis\x20connection\x20error:\x20'+_0x189a30[_0x29ac82(0x157)]);}),this[_0xc9bd82(0x16b)]['on']('close',()=>{const _0x144ddc=_0xc9bd82;this['isConnected']=![],logger[_0x144ddc(0x16a)]({'event':_0x144ddc(0x165)},_0x17a926[_0x144ddc(0x15b)]);}),this['client'];}catch(_0x3e8c59){logger['error']({'event':_0xc9bd82(0x15a),'error':_0x3e8c59[_0xc9bd82(0x157)]},'Failed\x20to\x20initialize\x20Redis');throw _0x3e8c59;}}['getClient'](){const _0x3aab37=a0_0x1373;return!this[_0x3aab37(0x16b)]&&this[_0x3aab37(0x170)](),this['client'];}async['ping'](_0x1ab6c8=0x1388){const _0x32408a=a0_0x1373,_0x4c8e2f={'FUQvj':function(_0x34a2a9,_0x31fe8f){return _0x34a2a9===_0x31fe8f;},'pGlSe':'PONG'};try{const _0x141606=this[_0x32408a(0x152)](),_0x5b0a3f=await Promise['race']([_0x141606['ping'](),new Promise((_0x2b5a67,_0x87f3ec)=>setTimeout(()=>_0x87f3ec(new Error(_0x32408a(0x16e))),_0x1ab6c8))]);return _0x4c8e2f['FUQvj'](_0x5b0a3f,_0x4c8e2f['pGlSe']);}catch(_0x15f1c1){return![];}}async[a0_0x3c1b96(0x14d)](){const _0x49bdff=a0_0x3c1b96;this['client']&&(await this[_0x49bdff(0x16b)][_0x49bdff(0x161)](),this[_0x49bdff(0x16b)]=null,this['isConnected']=![]);}[a0_0x3c1b96(0x162)](){const _0xbdf6bb=a0_0x3c1b96;this[_0xbdf6bb(0x16b)]&&(this['client']['disconnect'](),this['client']=null,this[_0xbdf6bb(0x15f)]=![]);}}function a0_0x5e21(){const _0x4c1f5a=['mJeXmtfut0PuC3K','BwLU','nteXndyWt3H4AM9r','CMvKAxnFzxjYB3i','z2v0q2XPzw50','uKvesvnFueftu1DpuKq','rhfNvLa','nZK3nZHAwvPwyNq','mZi0mdGZngPfz3f3wa','BwvZC2fNzq','mZG4BuzWshzu','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','CMvKAxnFAw5PDf9LCNjVCG','q0L6zu4','ntu5ode3m1nVufvYuW','mJb2tM1hs3G','uKvesvnFrei','AxndB25Uzwn0zwq','wxj0tuC','CxvPDa','zM9Yy2veAxnJB25Uzwn0','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','CMvKAxnFy29UBMvJDgvK','CMvKAxnFzgLZy29UBMvJDgvK','mtG1nZy0mhPLDNjeCa','mZe3mgPiCLfqAq','Aw5MBW','zw52','D2fYBG','y2XPzw50','zxjYB3i','odq2oxPICuPWrW','uMvKAxmGueLorYb0Aw1LB3v0','zxHWB3j0CW','y29UBMvJDa','zgLZy29UBMvJDa'];a0_0x5e21=function(){return _0x4c1f5a;};return a0_0x5e21();}function a0_0x1373(_0x2c1cd1,_0x5b6d6a){_0x2c1cd1=_0x2c1cd1-0x14d;const _0x5e21e9=a0_0x5e21();let _0x137373=_0x5e21e9[_0x2c1cd1];if(a0_0x1373['ftzfyw']===undefined){var _0x4d89ff=function(_0x40e1bd){const _0x2696db='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c3e93='',_0x1ece3f='';for(let _0x354d8b=0x0,_0x39468f,_0x360b2a,_0x20e519=0x0;_0x360b2a=_0x40e1bd['charAt'](_0x20e519++);~_0x360b2a&&(_0x39468f=_0x354d8b%0x4?_0x39468f*0x40+_0x360b2a:_0x360b2a,_0x354d8b++%0x4)?_0x3c3e93+=String['fromCharCode'](0xff&_0x39468f>>(-0x2*_0x354d8b&0x6)):0x0){_0x360b2a=_0x2696db['indexOf'](_0x360b2a);}for(let _0x12a4e6=0x0,_0x53869a=_0x3c3e93['length'];_0x12a4e6<_0x53869a;_0x12a4e6++){_0x1ece3f+='%'+('00'+_0x3c3e93['charCodeAt'](_0x12a4e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ece3f);};a0_0x1373['tucweg']=_0x4d89ff,a0_0x1373['vvMzUv']={},a0_0x1373['ftzfyw']=!![];}const _0x2671e9=_0x5e21e9[0x0],_0x3a298a=_0x2c1cd1+_0x2671e9,_0x1533ce=a0_0x1373['vvMzUv'][_0x3a298a];return!_0x1533ce?(_0x137373=a0_0x1373['tucweg'](_0x137373),a0_0x1373['vvMzUv'][_0x3a298a]=_0x137373):_0x137373=_0x1533ce,_0x137373;}module[a0_0x3c1b96(0x16f)]=new RedisClient();
@@ -1 +1 @@
1
- const a0_0x3c32d3=a0_0x2a8a;function a0_0x2a8a(_0x51c189,_0x21e39b){_0x51c189=_0x51c189-0xfe;const _0xa7d33b=a0_0xa7d3();let _0x2a8a73=_0xa7d33b[_0x51c189];if(a0_0x2a8a['GeDvNB']===undefined){var _0x3005af=function(_0x60b173){const _0x2db3b2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4dcacf='',_0x1ee2f8='';for(let _0x459b48=0x0,_0x85acd3,_0x35d4c4,_0x48b0e9=0x0;_0x35d4c4=_0x60b173['charAt'](_0x48b0e9++);~_0x35d4c4&&(_0x85acd3=_0x459b48%0x4?_0x85acd3*0x40+_0x35d4c4:_0x35d4c4,_0x459b48++%0x4)?_0x4dcacf+=String['fromCharCode'](0xff&_0x85acd3>>(-0x2*_0x459b48&0x6)):0x0){_0x35d4c4=_0x2db3b2['indexOf'](_0x35d4c4);}for(let _0x22a3a1=0x0,_0x3aee2c=_0x4dcacf['length'];_0x22a3a1<_0x3aee2c;_0x22a3a1++){_0x1ee2f8+='%'+('00'+_0x4dcacf['charCodeAt'](_0x22a3a1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ee2f8);};a0_0x2a8a['rmuiRi']=_0x3005af,a0_0x2a8a['FVoZOi']={},a0_0x2a8a['GeDvNB']=!![];}const _0x3a0ab8=_0xa7d33b[0x0],_0x3508b3=_0x51c189+_0x3a0ab8,_0x314c34=a0_0x2a8a['FVoZOi'][_0x3508b3];return!_0x314c34?(_0x2a8a73=a0_0x2a8a['rmuiRi'](_0x2a8a73),a0_0x2a8a['FVoZOi'][_0x3508b3]=_0x2a8a73):_0x2a8a73=_0x314c34,_0x2a8a73;}(function(_0x3f9825,_0x5c833a){const _0x4800b6=a0_0x2a8a,_0x85928e=_0x3f9825();while(!![]){try{const _0xeafb0c=parseInt(_0x4800b6(0x10f))/0x1*(-parseInt(_0x4800b6(0x111))/0x2)+parseInt(_0x4800b6(0x109))/0x3*(parseInt(_0x4800b6(0x11c))/0x4)+-parseInt(_0x4800b6(0x101))/0x5*(-parseInt(_0x4800b6(0x10d))/0x6)+parseInt(_0x4800b6(0xfe))/0x7+-parseInt(_0x4800b6(0xff))/0x8*(-parseInt(_0x4800b6(0x114))/0x9)+-parseInt(_0x4800b6(0x105))/0xa+-parseInt(_0x4800b6(0x102))/0xb;if(_0xeafb0c===_0x5c833a)break;else _0x85928e['push'](_0x85928e['shift']());}catch(_0xf55827){_0x85928e['push'](_0x85928e['shift']());}}}(a0_0xa7d3,0xd98c3));const redisClient=require(a0_0x3c32d3(0x100)),{logger}=require(a0_0x3c32d3(0x106));function a0_0xa7d3(){const _0x2fc435=['CgfYC2u','oMv4Cg9YDdO','zxHWB3j0CW','mtG3ognQvMz2Ea','zxjYB3i','mte3otrsyMPhBwu','zgvSzxrLsM9I','mJjuEej1Bwi','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','DxbKyxrLsM9I','mtqWmty1mu5qqKfNAW','DhrS','ChvZAa','z2v0q2XPzw50','x3bYzwzPEa','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','ChjLzML4','wgrorvC','nJe1ndaYofnHAeLmAa','zw52','ntG4ntG4n3znsgj1tW','ntzPEeHZu3q','lI9YzwrPCY1JBgLLBNq','mty5ndvADNrrr1G','mJa4ntK2mZbZt3LJDg4','z2v0sM9I','z2v0qwXSsM9ICW','mtyXmZeZotbxtLv0wM8','lI9SB2DNzxi','C3rYAw5NAwz5','BwvZC2fNzq','m1rzww9Wrq'];a0_0xa7d3=function(){return _0x2fc435;};return a0_0xa7d3();}class RedisHelper{constructor(){const _0x4b710c=a0_0x3c32d3;this[_0x4b710c(0x118)]=null,this[_0x4b710c(0x115)]=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x3c32d3(0x11a)](){const _0x5545e9=a0_0x3c32d3,_0x99b123={'vGqFK':'default'};if(!this['_prefix']){const _0x30b45f=process[_0x5545e9(0x11d)][_0x5545e9(0x112)]||_0x99b123['vGqFK'];this[_0x5545e9(0x118)]='restforge:'+_0x30b45f+_0x5545e9(0x10b);}return this['_prefix'];}async['setJob'](_0x3067e2,_0x17c582){const _0x3fa5eb=a0_0x3c32d3,_0x101c5f={'GTtPb':'redis_set_error'};try{const _0x3ccb86=redisClient['getClient'](),_0x1a554f=''+this['prefix']+_0x3067e2;return await _0x3ccb86['setex'](_0x1a554f,this[_0x3fa5eb(0x115)],JSON[_0x3fa5eb(0x107)](_0x17c582)),!![];}catch(_0x470d52){return logger[_0x3fa5eb(0x10e)]({'event':_0x101c5f['GTtPb'],'jobId':_0x3067e2,'error':_0x470d52[_0x3fa5eb(0x108)]},_0x3fa5eb(0x119)),![];}}async[a0_0x3c32d3(0x103)](_0x4a4cb5){const _0x36e9d4=a0_0x3c32d3;try{const _0x40319f=redisClient[_0x36e9d4(0x117)](),_0xde9978=''+this['prefix']+_0x4a4cb5,_0x160afc=await _0x40319f['get'](_0xde9978);return _0x160afc?JSON[_0x36e9d4(0x10a)](_0x160afc):null;}catch(_0x5509da){return logger['error']({'event':'redis_get_error','jobId':_0x4a4cb5,'error':_0x5509da['message']},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x3c32d3(0x113)](_0x4d39fb,_0x3fdf75){const _0x31bb87=await this['getJob'](_0x4d39fb);if(!_0x31bb87)return![];const _0x411850={..._0x31bb87,..._0x3fdf75};return await this['setJob'](_0x4d39fb,_0x411850);}async[a0_0x3c32d3(0x110)](_0x2d00ac){const _0x2105ae=a0_0x3c32d3,_0x1121c1={'ekSyR':'redis_delete_error','wJIbN':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x150751=redisClient['getClient'](),_0x538d25=''+this['prefix']+_0x2d00ac;return await _0x150751['del'](_0x538d25),!![];}catch(_0x148539){return logger['error']({'event':_0x1121c1['ekSyR'],'jobId':_0x2d00ac,'error':_0x148539[_0x2105ae(0x108)]},_0x1121c1['wJIbN']),![];}}async[a0_0x3c32d3(0x104)](){const _0x163fb3=a0_0x3c32d3,_0x52c446={'mCMLr':'redis_getall_error','XdNEW':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x3b7e3e=redisClient['getClient'](),_0x34af44=await _0x3b7e3e['keys'](this[_0x163fb3(0x11a)]+'*'),_0x56b789=[];for(const _0x451d8f of _0x34af44){const _0x2ea6cc=await _0x3b7e3e['get'](_0x451d8f);_0x2ea6cc&&_0x56b789[_0x163fb3(0x116)](JSON[_0x163fb3(0x10a)](_0x2ea6cc));}return _0x56b789;}catch(_0x2a7a8a){return logger['error']({'event':_0x52c446['mCMLr'],'error':_0x2a7a8a['message']},_0x52c446[_0x163fb3(0x11b)]),[];}}}module[a0_0x3c32d3(0x10c)]=new RedisHelper();
1
+ const a0_0xeff9fe=a0_0x5323;(function(_0x5c50a5,_0x5c0ecc){const _0xe14ece=a0_0x5323,_0x8e2635=_0x5c50a5();while(!![]){try{const _0x5846c1=parseInt(_0xe14ece(0x11d))/0x1+parseInt(_0xe14ece(0x10c))/0x2*(parseInt(_0xe14ece(0x107))/0x3)+parseInt(_0xe14ece(0x101))/0x4+parseInt(_0xe14ece(0x10a))/0x5*(parseInt(_0xe14ece(0x10e))/0x6)+-parseInt(_0xe14ece(0x110))/0x7+parseInt(_0xe14ece(0x118))/0x8*(-parseInt(_0xe14ece(0x122))/0x9)+parseInt(_0xe14ece(0x121))/0xa*(-parseInt(_0xe14ece(0x104))/0xb);if(_0x5846c1===_0x5c0ecc)break;else _0x8e2635['push'](_0x8e2635['shift']());}catch(_0x310198){_0x8e2635['push'](_0x8e2635['shift']());}}}(a0_0x3a02,0xab398));const redisClient=require(a0_0xeff9fe(0x115)),{logger}=require(a0_0xeff9fe(0x119));function a0_0x5323(_0x33d669,_0x55f9d1){_0x33d669=_0x33d669-0x100;const _0x3a02f3=a0_0x3a02();let _0x532322=_0x3a02f3[_0x33d669];if(a0_0x5323['RfVZql']===undefined){var _0x3b411e=function(_0x3bab87){const _0x38ce06='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55ad4e='',_0x679e7b='';for(let _0x198882=0x0,_0x17220a,_0x3f7359,_0x2b261b=0x0;_0x3f7359=_0x3bab87['charAt'](_0x2b261b++);~_0x3f7359&&(_0x17220a=_0x198882%0x4?_0x17220a*0x40+_0x3f7359:_0x3f7359,_0x198882++%0x4)?_0x55ad4e+=String['fromCharCode'](0xff&_0x17220a>>(-0x2*_0x198882&0x6)):0x0){_0x3f7359=_0x38ce06['indexOf'](_0x3f7359);}for(let _0x44acd2=0x0,_0xbefb85=_0x55ad4e['length'];_0x44acd2<_0xbefb85;_0x44acd2++){_0x679e7b+='%'+('00'+_0x55ad4e['charCodeAt'](_0x44acd2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x679e7b);};a0_0x5323['fRYquF']=_0x3b411e,a0_0x5323['vUvlhn']={},a0_0x5323['RfVZql']=!![];}const _0x154321=_0x3a02f3[0x0],_0x521551=_0x33d669+_0x154321,_0x480daf=a0_0x5323['vUvlhn'][_0x521551];return!_0x480daf?(_0x532322=a0_0x5323['fRYquF'](_0x532322),a0_0x5323['vUvlhn'][_0x521551]=_0x532322):_0x532322=_0x480daf,_0x532322;}class RedisHelper{constructor(){const _0x29a3de=a0_0xeff9fe;this['_prefix']=null,this[_0x29a3de(0x102)]=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x58ade0=a0_0xeff9fe,_0x40b223={'rkViI':_0x58ade0(0x117)};if(!this['_prefix']){const _0x22cc17=process[_0x58ade0(0x120)]['RESTFORGE_PROJECT_NAME']||_0x40b223['rkViI'];this['_prefix']=_0x58ade0(0x11a)+_0x22cc17+':export:';}return this['_prefix'];}async[a0_0xeff9fe(0x111)](_0xd459a9,_0x5551a0){const _0x4a5013=a0_0xeff9fe,_0x567c1b={'ndIuR':_0x4a5013(0x10f),'EPZLS':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x5172b3=redisClient[_0x4a5013(0x106)](),_0x432c59=''+this[_0x4a5013(0x112)]+_0xd459a9;return await _0x5172b3['setex'](_0x432c59,this['ttl'],JSON['stringify'](_0x5551a0)),!![];}catch(_0x4f52b7){return logger['error']({'event':_0x567c1b['ndIuR'],'jobId':_0xd459a9,'error':_0x4f52b7[_0x4a5013(0x114)]},_0x567c1b[_0x4a5013(0x103)]),![];}}async['getJob'](_0x5e86fe){const _0x478630=a0_0xeff9fe,_0x317b39={'rEuZp':'redis_get_error','Wdqah':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x4e6d0a=redisClient['getClient'](),_0x1dfcde=''+this[_0x478630(0x112)]+_0x5e86fe,_0x539a8e=await _0x4e6d0a['get'](_0x1dfcde);return _0x539a8e?JSON[_0x478630(0x113)](_0x539a8e):null;}catch(_0x211b70){return logger[_0x478630(0x10d)]({'event':_0x317b39[_0x478630(0x11e)],'jobId':_0x5e86fe,'error':_0x211b70['message']},_0x317b39['Wdqah']),null;}}async[a0_0xeff9fe(0x116)](_0x49d331,_0x1bf3c1){const _0x23df0d=a0_0xeff9fe,_0x3e68e2=await this[_0x23df0d(0x100)](_0x49d331);if(!_0x3e68e2)return![];const _0x57a5a9={..._0x3e68e2,..._0x1bf3c1};return await this[_0x23df0d(0x111)](_0x49d331,_0x57a5a9);}async['deleteJob'](_0x551795){const _0x2cfa9e=a0_0xeff9fe,_0x271c15={'CXUaS':'redis_delete_error','ulLam':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0xd21f64=redisClient['getClient'](),_0x156493=''+this['prefix']+_0x551795;return await _0xd21f64[_0x2cfa9e(0x109)](_0x156493),!![];}catch(_0x57643a){return logger['error']({'event':_0x271c15[_0x2cfa9e(0x11f)],'jobId':_0x551795,'error':_0x57643a[_0x2cfa9e(0x114)]},_0x271c15['ulLam']),![];}}async[a0_0xeff9fe(0x108)](){const _0x6030ab=a0_0xeff9fe;try{const _0x291efd=redisClient[_0x6030ab(0x106)](),_0x387169=await _0x291efd['keys'](this['prefix']+'*'),_0x5da9a9=[];for(const _0x5331f0 of _0x387169){const _0x3d01bb=await _0x291efd[_0x6030ab(0x105)](_0x5331f0);_0x3d01bb&&_0x5da9a9[_0x6030ab(0x11c)](JSON['parse'](_0x3d01bb));}return _0x5da9a9;}catch(_0x3376b1){return logger['error']({'event':_0x6030ab(0x10b),'error':_0x3376b1['message']},_0x6030ab(0x11b)),[];}}}function a0_0x3a02(){const _0x2ce790=['mZG3mZa0BMfRAfDr','lI9SB2DNzxi','CMvZDgzVCMDLoG','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','ChvZAa','mte0mZmXnMTvrgTlzW','CKv1wNa','q1Hvyvm','zw52','otyYnZm1mg9dv2XSwG','mZzAzfD1r3i','z2v0sM9I','ntu1mtiYmgrUALLRza','DhrS','rvbAtfm','mZn4wLvuvee','z2v0','z2v0q2XPzw50','otCWmJC4wgrOsxfu','z2v0qwXSsM9ICW','zgvS','ntbPyLjtCfy','CMvKAxnFz2v0ywXSx2vYCM9Y','nKDHz0LVEG','zxjYB3i','ntq4mJiWBMrqrxzZ','CMvKAxnFC2v0x2vYCM9Y','ndqYmZm0mNrWu3rVqq','C2v0sM9I','ChjLzML4','CgfYC2u','BwvZC2fNzq','lI9YzwrPCY1JBgLLBNq','DxbKyxrLsM9I','zgvMyxvSDa'];a0_0x3a02=function(){return _0x2ce790;};return a0_0x3a02();}module['exports']=new RedisHelper();